Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Rep detection question

Author: Russell Reagan

Date: 17:17:41 04/21/02

Go up one level in this thread


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+

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.

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.