Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Avoiding 3rd Repetition

Author: KarinsDad

Date: 08:25:05 02/07/99

Go up one level in this thread


On February 07, 1999 at 02:22:29, Greg Lazarou wrote:

[snip]
>
>Oof! I'm getting a headache thinking about this... I'm not sure I need it right
>now. As it stands it will see the 3rd move (either for its side or for the
>opponent) that causes the draw and can either avoid it by messing with the board
>or lean towards it depending on the relative value of score=0 vs. its other best
>scores. It will not lean towards or avoid the moves that create the dup though.
>But this is not too detrimental as I'm thinking about it - or am I missing
>something?

Well, one thing you are missing is that you are only preventing the third
repetition. Therefore, if you try to avoid it by making a different move, you
had better eventually make a capture or a pawn push, or that third rep might
just come over the horizon to haunt you again.

>
>BTW do you have your engine working to a point that I can try it in Winboard
>against mine?

I wish I was at the Winboard stage. No, I have to still add null moves, my hash
table, parts of my evaluation, etc. There just isn't enough hours in a day.

> My engine currently looses to almost all other engines that I try
>it against :-)But it usually beats me (if I don't take moves back).
>If you'd like to try mine check at  http://home.att.net/~glazarou/
>
>Greg

BTW, the best way to check for rep is what you are doing PLUS checking the
current stack in addition to checking only moves made against the dup table
(i.e. check moves against each other as they are found and check them against
the dup stack).

The algorithm I mentioned in my last post has a limitation. If used with your
algorithm, it will prevent your opponent from getting a draw by rep if you have
the superior position (and it will find it before your method which just finds
it on the 3rd rep). However, if you have the inferior position, it will not
usually come up with a draw by rep (and neither will your algorithm on it's
own).

So you are basically missing the element that the other engines have of looking
for a draw by rep if it is losing.

To speed up the search, you could put your third rep code in plus code to look
for reps all of the time. If the score is basically even, you could ignore the
heavy duty rep looking code. If the score is lopsided, then you could turn it
on.

KarinsDad



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.