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.
why did they destroy stockfish in finding mates
Moderators: hgm, Rebel, chrisw
-
- Posts: 512
- Joined: Tue Sep 29, 2020 4:29 pm
- Location: Dublin, Ireland
- Full name: Madeleine Birchfield
-
- Posts: 2727
- Joined: Wed May 12, 2010 10:00 pm
Re: why did they destroy stockfish in finding mates
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.Madeleine Birchfield wrote: ↑Tue Dec 01, 2020 9:16 pmAll 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.
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.
But my words like silent raindrops fell. And echoed in the wells of silence.
-
- Posts: 10298
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: why did they destroy stockfish in finding mates
I did not expect stockfish to find all mates and not to prune but I expected it to become better in finding mates.Madeleine Birchfield wrote: ↑Tue Dec 01, 2020 9:16 pmAll 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 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.
-
- Posts: 4889
- Joined: Thu Mar 09, 2006 6:34 am
- Location: Pen Argyl, Pennsylvania
Re: why did they destroy stockfish in finding mates
Try Crystal, it is few (<100) ELo weak and much better with mates.Uri Blass wrote: ↑Tue Dec 01, 2020 10:51 pmI did not expect stockfish to find all mates and not to prune but I expected it to become better in finding mates.Madeleine Birchfield wrote: ↑Tue Dec 01, 2020 9:16 pmAll 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 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.
-
- Posts: 3291
- Joined: Wed Mar 08, 2006 8:15 pm
Re: why did they destroy stockfish in finding mates
Where is a GPU mate solver? 5000 cores just for mate. Should beat SF and Chest .
Jouni
-
- Posts: 1796
- Joined: Thu Sep 18, 2008 10:24 pm
-
- Posts: 1796
- Joined: Thu Sep 18, 2008 10:24 pm
Re: why did they destroy stockfish in finding mates
I’d argue SF is type A, but with moves pruned out of its brute force approach, rather than an intrinsically selective search.Madeleine Birchfield wrote: ↑Tue Dec 01, 2020 9:16 pmAll 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.
-
- Posts: 12541
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: why did they destroy stockfish in finding mates
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
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.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
- Posts: 343
- Joined: Sun Aug 25, 2019 8:33 am
- Full name: .
Re: why did they destroy stockfish in finding mates
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!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
-
- 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
Perhaps as a NN-based solver? So the GPU just does NN math and the nets train to recognize mating patterns.mmt wrote: ↑Thu Dec 03, 2020 3:09 amRight, 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!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
Matthew Hull