Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: I am puzzled, any thoughts ?

Author: Heiner Marxen

Date: 10:53:25 04/27/03

Go up one level in this thread


On April 27, 2003 at 10:23:17, Geoff wrote:

>Hi
>
>I had a study of this problem and came to a different conclusion. That test
>position is interesting as in the solution there is an actual board repeat at
>ply 5. It is then black to move and a mate for white in 2. Note if the test
>position had of been black to move first it is mate for white in 2 instead of a
>mate in 5 (A kind of a zugwang position I guess)

Hence, a repetition detection must include the "side to move" with the board.


>I decided the fault in 1.73 was due to the lines in the actual search function
>
>/* if this isn't the root of the search tree (where we have to pick a move and
>can't simply return 0) then check to see if the position is a repeat. if so, we
>can assume that this line is a draw and return 0. */
>
>if (ply && reps())
>    return 0;
>
>To me this seems unsound as it will cause it to miss the mate in this test
>position. I could be wrong but I dont think the problem was in the reps ()
>function at all.
>
>But because version 1.83 has those same 2 lines in but still finds the mate
>correctly, to me this then implies that the new hash version of the reps()
>function is flawed ? I.e it doesnt see the repeat at Ply 5 ?
>
>If anyone is still following me ;-) I would be interested in you agree or
>disagree?

I disagree insofar as the unchanged lines most probably are not the
cause for differing behaviour.  I rather suspect that the reps() function
in V1.83 is more accurate with respect to the "side to move".

Cheers,
Heiner


>         Regards Geoff
>
>
>
>On April 26, 2003 at 17:10:32, Geoff wrote:
>
>>Hello Tom
>>
>>Thanks for putting me out of my misery, I still hadn't spotted the problem ;-)
>>
>>You are correct that was what was causing the problem, I commented out the lines
>>	if (ply && reps())
>>		return 0;
>>
>>just to prove the point and it then finds the correct solution
>>
>>10:   9991   4034   30732760    g5c5 h5g5 c5f5 g5h5 f5g5 h5g5 a5g5 a6a5 g5a5
>>
>>it makes sense that this test position showed up the problem as black has a move
>>sequence g5h5 h5g5 and white has a sequence a5g5 g5a5 even though there isn't an
>>actual board repeat.
>>
>>Looks like that clever algorithm for reps detection was to too smart for its own
>>good. Pity as it looked speedy, guess I will have to put the hash code in now
>>instead, or maybe spot the flaw in the original algorithm
>>
>>Thanks for the help.
>>
>>            Geoff
>>
>>
>>On April 26, 2003 at 15:02:47, Tom Kerrigan wrote:
>>
>>>I wrote you an e-mail about this, but might as well post as well.
>>>
>>>The change between 1.7 and 1.8 in the search code is the repetition detection
>>>method. I know the 1.7 rep detector was buggy, so it must have thought there was
>>>some sort of repetition in the mating line.
>>>
>>>-Tom



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.