why did they destroy stockfish in finding mates

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Madeleine Birchfield
Posts: 512
Joined: Tue Sep 29, 2020 4:29 pm
Location: Dublin, Ireland
Full name: Madeleine Birchfield

Re: why did they destroy stockfish in finding mates

Post by Madeleine Birchfield »

Uri Blass wrote: Tue Dec 01, 2020 2:11 am I used the latest version of stockfish and it was very slow in finding mate....
All alpha-beta programs with selectivity heuristics such as pruning are type-b engines, so could end up inadvertently pruning mating lines out of its search.
mwyoung
Posts: 2727
Joined: Wed May 12, 2010 10:00 pm

Re: why did they destroy stockfish in finding mates

Post by mwyoung »

Madeleine Birchfield wrote: Tue Dec 01, 2020 9:16 pm
Uri Blass wrote: Tue Dec 01, 2020 2:11 am I used the latest version of stockfish and it was very slow in finding mate....
All alpha-beta programs with selectivity heuristics such as pruning are type-b engines, so could end up inadvertently pruning mating lines out of its search.
I totally agree, and have tried to explain this in other threads. Like solving chess, and the members feelings that Stockfish NNUE plays perfect chess. This is not possible with a type B search engine.

Shannon called type B searchers Fast and Dumb for a reason!
"The worst thing that can happen to a forum is a running wild attacking moderator(HGM) who is not corrected by the community." - Ed Schröder
But my words like silent raindrops fell. And echoed in the wells of silence.
Uri Blass
Posts: 10298
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: why did they destroy stockfish in finding mates

Post by Uri Blass »

Madeleine Birchfield wrote: Tue Dec 01, 2020 9:16 pm
Uri Blass wrote: Tue Dec 01, 2020 2:11 am I used the latest version of stockfish and it was very slow in finding mate....
All alpha-beta programs with selectivity heuristics such as pruning are type-b engines, so could end up inadvertently pruning mating lines out of its search.
I did not expect stockfish to find all mates and not to prune but I expected it to become better in finding mates.

I guess that some change that does not change the elo or almost does not change elo caused it to be weaker in finding mates and not in a single position but in many positions that I tried.
I dislike it and I think elo is one thing that developers should care about but not the only thing.
I would like engines to be able to search and find the true value of chess positions(win draw loss).
Of course it is impossible to do it for every chess position but it is possible to do it for more positions.

Engines do not do it for draws and this is one of the things that I dislike about them.
I would like to see also draw score that is different than 0.00 score.
Draw score means that both sides can force a draw.

I think that searching if one side can force a draw can be productive also for elo of chess engines because if you find that you can force a draw with move A and you are not sure if the opponent can force a draw it can be considered better move than move B that you are sure that both side can force a draw after it based on search even if both moves lead to evaluation of 0.00 based on evaluation of engines.

move B you know it is a draw with perfect play.
move A you know that you can get a draw and maybe better than a draw in a line that the engine does not find to be better for you but may find to be better for you if you search deeper.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: why did they destroy stockfish in finding mates

Post by MikeB »

Uri Blass wrote: Tue Dec 01, 2020 10:51 pm
Madeleine Birchfield wrote: Tue Dec 01, 2020 9:16 pm
Uri Blass wrote: Tue Dec 01, 2020 2:11 am I used the latest version of stockfish and it was very slow in finding mate....
All alpha-beta programs with selectivity heuristics such as pruning are type-b engines, so could end up inadvertently pruning mating lines out of its search.
I did not expect stockfish to find all mates and not to prune but I expected it to become better in finding mates.

I guess that some change that does not change the elo or almost does not change elo caused it to be weaker in finding mates and not in a single position but in many positions that I tried.
I dislike it and I think elo is one thing that developers should care about but not the only thing.
I would like engines to be able to search and find the true value of chess positions(win draw loss).
Of course it is impossible to do it for every chess position but it is possible to do it for more positions.

Engines do not do it for draws and this is one of the things that I dislike about them.
I would like to see also draw score that is different than 0.00 score.
Draw score means that both sides can force a draw.

I think that searching if one side can force a draw can be productive also for elo of chess engines because if you find that you can force a draw with move A and you are not sure if the opponent can force a draw it can be considered better move than move B that you are sure that both side can force a draw after it based on search even if both moves lead to evaluation of 0.00 based on evaluation of engines.

move B you know it is a draw with perfect play.
move A you know that you can get a draw and maybe better than a draw in a line that the engine does not find to be better for you but may find to be better for you if you search deeper.
Try Crystal, it is few (<100) ELo weak and much better with mates.
Image
Jouni
Posts: 3291
Joined: Wed Mar 08, 2006 8:15 pm

Re: why did they destroy stockfish in finding mates

Post by Jouni »

Where is a GPU mate solver? 5000 cores just for mate. Should beat SF and Chest :) .
Jouni
Werewolf
Posts: 1796
Joined: Thu Sep 18, 2008 10:24 pm

Re: why did they destroy stockfish in finding mates

Post by Werewolf »

Jouni wrote: Wed Dec 02, 2020 3:45 pm Where is a GPU mate solver? 5000 cores just for mate. Should beat SF and Chest :) .
Now you’re talking
😈
Werewolf
Posts: 1796
Joined: Thu Sep 18, 2008 10:24 pm

Re: why did they destroy stockfish in finding mates

Post by Werewolf »

Madeleine Birchfield wrote: Tue Dec 01, 2020 9:16 pm
Uri Blass wrote: Tue Dec 01, 2020 2:11 am I used the latest version of stockfish and it was very slow in finding mate....
All alpha-beta programs with selectivity heuristics such as pruning are type-b engines, so could end up inadvertently pruning mating lines out of its search.
I’d argue SF is type A, but with moves pruned out of its brute force approach, rather than an intrinsically selective search.
Dann Corbit
Posts: 12541
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: why did they destroy stockfish in finding mates

Post by Dann Corbit »

Jouni wrote: Wed Dec 02, 2020 3:45 pm Where is a GPU mate solver? 5000 cores just for mate. Should beat SF and Chest :) .
I think this is actually a very, very good idea.
Ankan's move generator is absurdly fast.
So couple this move generator to and and/or depth-first proof search.
I have a feeling it might be scary good at mate solving.
Scary
Good
:shock:
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
mmt
Posts: 343
Joined: Sun Aug 25, 2019 8:33 am
Full name: .

Re: why did they destroy stockfish in finding mates

Post by mmt »

Dann Corbit wrote: Thu Dec 03, 2020 12:42 am I think this is actually a very, very good idea.
Ankan's move generator is absurdly fast.
So couple this move generator to and and/or depth-first proof search.
I have a feeling it might be scary good at mate solving.
Scary
Good
:shock:
Right, but while basic CUDA programming is not too hard, it takes pretty specialized knowledge to get the full performance out of a GPU and debugging is more annoying. Being an NVDIA engineer certainly helps. I hope somebody takes on this challenge!
User avatar
mhull
Posts: 13447
Joined: Wed Mar 08, 2006 9:02 pm
Location: Dallas, Texas
Full name: Matthew Hull

Re: why did they destroy stockfish in finding mates

Post by mhull »

mmt wrote: Thu Dec 03, 2020 3:09 am
Dann Corbit wrote: Thu Dec 03, 2020 12:42 am I think this is actually a very, very good idea.
Ankan's move generator is absurdly fast.
So couple this move generator to and and/or depth-first proof search.
I have a feeling it might be scary good at mate solving.
Scary
Good
:shock:
Right, but while basic CUDA programming is not too hard, it takes pretty specialized knowledge to get the full performance out of a GPU and debugging is more annoying. Being an NVDIA engineer certainly helps. I hope somebody takes on this challenge!
Perhaps as a NN-based solver? So the GPU just does NN math and the nets train to recognize mating patterns.
Matthew Hull