Why is Stockfish removing killer moves in move ordering ?

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
shawn
Posts: 95
Joined: Fri Jun 28, 2024 9:24 am
Full name: Wallace Shawn

Re: Why is Stockfish removing killer moves in move ordering ?

Post by shawn »

mar wrote: Wed Jul 24, 2024 7:45 am I wonder since by removing check extensions the engine will be severely crippled tactically
Here's another way to look at this: By removing check extensions, more singular extensions can now happen (since it frees more nodes for search to explore). Singular extensions, unlike check extensions, are found to gain Elo partially through improving resolution of tactical sequences. So it's a win-win situation. :)
mar
Posts: 2628
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Why is Stockfish removing killer moves in move ordering ?

Post by mar »

shawn wrote: Wed Jul 24, 2024 8:28 pm
mar wrote: Wed Jul 24, 2024 7:45 am I wonder since by removing check extensions the engine will be severely crippled tactically
Here's another way to look at this: By removing check extensions, more singular extensions can now happen (since it frees more nodes for search to explore). Singular extensions, unlike check extensions, are found to gain Elo partially through improving resolution of tactical sequences. So it's a win-win situation. :)
I just tried to disable check extensions in my engine and ran a fixed node search
in some random testposition and got ~40% fewer singular extensions without check extensions than I did with check extensions enabled

not enough to extrapolate, of course, but quite the opposite to what you claim is happening

the idea of not wasting time on useless checks is nothing new and you should reach higher average nominal depths in general
on the other hand, scout nodes is how we find better moves

another motivation could've been simplification, but several years ago there was some fuss: viewtopic.php?t=72962

I still stand by my claim that check extensions do improve tactics (definitely holds for my engine - i.e. by solving tactical positions faster)
User avatar
shawn
Posts: 95
Joined: Fri Jun 28, 2024 9:24 am
Full name: Wallace Shawn

Re: Why is Stockfish removing killer moves in move ordering ?

Post by shawn »

How strong is your engine? Check extensions do gain on non-top engines. Also the claim that it allows more singular extensions assumed a search tuning after the simplification. My bad for not making it clear enough.
AndrewGrant
Posts: 1935
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Why is Stockfish removing killer moves in move ordering ?

Post by AndrewGrant »

mar wrote: Wed Jul 24, 2024 3:49 pm
AndrewGrant wrote: Wed Jul 24, 2024 8:03 am nothing you wrote is based in any fact or science, where as the removal of the concept is. So I defer to science.
removing random parts of the engine to see what happens is hardly science (yet it may work)
Randomly committing things that appeal to your human sensibilities is not engine dev ( and it won't work long term )
When you can't win an argument, you censor it.
When you can't win an election, you remove your opponents.
Just because you've been doing something for a long time, does not mean you are any good at it.
syzygy
Posts: 5663
Joined: Tue Feb 28, 2012 11:56 pm

Re: Why is Stockfish removing killer moves in move ordering ?

Post by syzygy »

Viz wrote: Wed Jul 24, 2024 6:23 am
Paul JF wrote: Tue Jul 23, 2024 9:16 pm From this commit https://github.com/official-stockfish/S ... 790ee56176, Stockfish stops using killer moves in move ordering. Why ? I thought it was in important piece of move ordering, am I right ? Even is Stockfish can manage to have few more wins against itself, it is something "usual" to have killer moves, I do not understand why they remove it.
because they don't do anything any longer (strength-wise)? No matter how "usual" smth is if it is useless stockfish will remove it. And it was done before a lot of times.
For example IID was a "usual" thing but completely useless once you get to 3000 CCRL strength. Or check extensions. Or (a lot of other things).
And more than once the removal of an old feature preceded the introduction of a much improved version of the feature.
syzygy
Posts: 5663
Joined: Tue Feb 28, 2012 11:56 pm

Re: Why is Stockfish removing killer moves in move ordering ?

Post by syzygy »

mar wrote: Wed Jul 24, 2024 7:59 am
AndrewGrant wrote: Wed Jul 24, 2024 7:47 am I wonder if <the opposite of the thing that was measured to not happen in order to make the decision> will happen
I still remember a game a couple of years ago where SF lost to Weiss in TCEC exactly due to missing some tactics - so it may happen

also some people use engines for analysis

elo is not the best way to measure tactical blindness since it correllates with that works most of the time
Elo correlates with playing strength. Stockfish's goal is not to be the least tactically blind engine but the engine that plays the strongest chess.
mar
Posts: 2628
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Why is Stockfish removing killer moves in move ordering ?

Post by mar »

shawn wrote: Wed Jul 24, 2024 10:50 pm How strong is your engine? Check extensions do gain on non-top engines. Also the claim that it allows more singular extensions assumed a search tuning after the simplification. My bad for not making it clear enough.
~3400 single core CCRL
mar
Posts: 2628
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Why is Stockfish removing killer moves in move ordering ?

Post by mar »

syzygy wrote: Thu Jul 25, 2024 12:41 am Elo correlates with playing strength. Stockfish's goal is not to be the least tactically blind engine but the engine that plays the strongest chess.
and I have no problem with that. just like some SF derivatives succeed at having a different goal
Viz
Posts: 223
Joined: Tue Apr 09, 2024 6:24 am
Full name: Michael Chaly

Re: Why is Stockfish removing killer moves in move ordering ?

Post by Viz »

Yeah, but somehow they are sf derivatives, aka derivatives of engine that is focused on strength, also they commit all sf changes anyway. :D
LazySMP

Re: Why is Stockfish removing killer moves in move ordering ?

Post by LazySMP »

Hi Paul! If you want to know why killer moves are removed from move ordering, please read this quote by Shawn:
shawn wrote: There is nothing you should or shouldn't do. Every idea gets tested on Fishtest and Elo is the only thing that counts.
https://github.com/official-stockfish/S ... nt-9944705
My friend @AlexandreMasta always said: "With this pace SF will be frozen forever. Nice!"