Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Rep detection question

Author: Keith Ian Price

Date: 17:55:28 04/21/02

Go up one level in this thread


On April 21, 2002 at 20:17:41, Russell Reagan wrote:

>On April 21, 2002 at 19:29:39, Will Singleton wrote:
>
>>All,
>>
>>[D]5nk1/2R3p1/r4p2/4P3/p2R2N1/7P/1r4P1/7K b - - 0 42
>>
>>The question is, my prog wants to play a3, and doesn't see the forced repetition
>>until ply 9.  I've just thrown away my old buggy rep code, and replaced it with
>>a dedicated hash table.  The new stuff seems to be debugged and working (maybe),
>>but there must be a trick to getting this position earlier.  An extension,
>>perhaps?
>>
>>Will
>
>I assume that the repetition you speak of is after Nxf6 or Nh6, then after pawn
>takes knight, Rg5+ followed by Rg7 and perpetual check by Rgg7+ and Rh7+,
>correct?
>
>If so, then it seems like the program should be able to search to ply 7, then it
>should be found in the quiescent search. Here's an example:
>
>1... a3 2. Nxf6+ gxf6 3. Rg4+ Kh8 4. Rgg7 a2 5. Rh7+

This doesn't work because of the knight on f8. Instead it must be 4. Rh4+ Kg8 5.
Rg4+, etc. Only Nxf6+ works, due to the knight.


>
>and then white can draw by repitition. It seems that this wouldn't be caught int
>he qsearch originally because of the extra move Rgg7 which is neither a capture
>or a check, and if your qsearch only does captures and check extentions, it
>won't extend to see the draw by repetition.

There is no extra move in the correct variation.


>
>So the problem here is what to do during a forcing sequence where there are
>moves that are not captures or checks, but still forcing, IMO. Perhaps you could
>implement an extention when there has been a long series of forcing moves to
>allow the program to allow one non-capture or non-check to be extended. In other
>words, don't stop qsearch at the first non-capture or non-check, but allow it to
>extend a single non-capture or non-check. When you reach the second non-capture
>or non-check, you could then terminate the qsearch.
>
>That's one idea I thought up off the top of my head and I have no idea if it
>would cause the search to blow up. It seems like it might cause the search to
>blow up at first glance.
>
>Anyway, the problem seems to be what to do when you have a series of forcing
>moves with moves that are at the same time forcing, but also non-captures or
>non-checks. In this position, Rgg7 is still a "forcing" move, but it's not so
>easy for a computer program to see that I guess.
>
>Hope this helps, or at least gets some ideas rolling.
>
>Russell



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.