Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Draw by 2nd repetition?

Author: Bruce Moreland

Date: 10:11:29 04/01/99

Go up one level in this thread



On April 01, 1999 at 05:51:55, Inmann Werner wrote:

>On March 31, 1999 at 16:11:27, Bruce Moreland wrote:
>
>>
>>On March 31, 1999 at 15:36:02, Will Singleton wrote:
>>
>>>I've seen similar situations.  My opponent makes a mistake, then I move, he then
>>>moves the piece back where it was (unusual), and I now repeat instead of taking
>>>advantage of the better situation.  This can occur only when I want the draw, of
>>>course, and usually it's not harmful.  But it could be.
>>>
>>>Is this worth fooling with?
>>
>>I think it is good to fix, yes.  I forgot to mention I've seen other cases as
>>well, the one that I used is just easiest to describe.
>>
>>bruce
>
>One new thought for this discussion.
>I changed from rep in 3 to rep in 2, and my program got a lot faster!(also the
>cache should recognize the repetition?) If I find repetition, I stop the search
>and return 0. 0 scores, I never put into Hashtables.
>On the other hand, you are true with your irregular examples.
>It is difficult to say, which thing is better.

What I do is make a little table of positions that I don't want to repeat, and
incrementally update this throughout the search.

And position found during the search is in this table (of course it's removed
from the table after the move is unmade).

If I put every position that has actually occurred in the *game* in this table
as well, I would have something that returned on 2x repetition, and which would
exhibit the behavior I mentioned.

But what I do is only include *game* position that have occurred *twice*.  A
position that occurs *once* is not included in this table.

So, my program will repeat moves without going crazy expecting a draw, but will
understand all the appropriate 3x repetition cases, and will find draws in the
search more quickly, because if you repeat twice in the *search* you probably
really should score it as a draw.

Of course, there are other problems now.  My program will repeat positions a
lot, and if it's in an ending where progress is slow, it runs up against the
50-move rule.

It also bugs the hell out of its opponents when it does this, but I'm not sure
if that's a good thing or a bad thing.

bruce



This page took 0.03 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

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