Re: First post (and FailHigh question!)
Posted: Fri Jun 21, 2013 7:57 pm
Hi Chan,
there is no bug and the engine did not see beyond its horizon. The Mate in 12 was found at general depth 18 but "selected depth" 24. So it extended certain lines up to depth 24 and to see there a Mate in 12 is expected.
I know it is a Mate in 11 and the engine would probably have found it when it was allowed to search deeper. If it has secured a Mate in 12 it will not search beyond depth 24 (The line that involves the Mate in 11 was still to much reduced here).
I know that Bobs method works like mine as long as a single search is performed. But I don't clear the hash table between moves so if you and your opponent have played a move and now you find in the hash table a Mate in X where it should be a Mate in X-1 (because 2 half moves into that direction already have been played). There are ways to deal with it, like looking at the age of the hash entry and correct it if the entry is from an older search. And maybe as Sven wrote alpha-beta auto corrects the longer Mate distance anyway. So I don't say that the way crafty does it does not work. It probably does since Cray Blitz times.
I just have a different design in my engine. My Mate scores are adjusted from the transposition table class because the usage of this class is the reason that any adjustment is needed at all. So it takes care of the problem it creates. If this design requires a few additional CPU cycles that's fine.
Thomas...
there is no bug and the engine did not see beyond its horizon. The Mate in 12 was found at general depth 18 but "selected depth" 24. So it extended certain lines up to depth 24 and to see there a Mate in 12 is expected.
I know it is a Mate in 11 and the engine would probably have found it when it was allowed to search deeper. If it has secured a Mate in 12 it will not search beyond depth 24 (The line that involves the Mate in 11 was still to much reduced here).
I know that Bobs method works like mine as long as a single search is performed. But I don't clear the hash table between moves so if you and your opponent have played a move and now you find in the hash table a Mate in X where it should be a Mate in X-1 (because 2 half moves into that direction already have been played). There are ways to deal with it, like looking at the age of the hash entry and correct it if the entry is from an older search. And maybe as Sven wrote alpha-beta auto corrects the longer Mate distance anyway. So I don't say that the way crafty does it does not work. It probably does since Cray Blitz times.
I just have a different design in my engine. My Mate scores are adjusted from the transposition table class because the usage of this class is the reason that any adjustment is needed at all. So it takes care of the problem it creates. If this design requires a few additional CPU cycles that's fine.
Thomas...