Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Pondering and hashing

Author: Bruce Moreland

Date: 16:14:51 02/19/99

Go up one level in this thread



On February 19, 1999 at 18:10:15, Johanes Suhardjo wrote:

>In the past, my pondering is just like my search, only it's done when the
>opponent is thinking.  Recently, I changed it so that when pondering there's
>no null move, no pruning, nothing risky, just plain alpha-beta.  The idea is
>that maybe I can catch some positions that I miss in the regular search.
>
>After reading some discussions on CCC, I start thinking that my pondering may
>not be a good idea because the resulting hash entries may conflict with the
>hash entries from the regular search.  I don't know how to check if this is a
>good or dumb idea because I have only one computer so I can't play with other
>programs with pondering on.  Yes, I have an account on FICS (parrot), but the
>opponents there are very unpredictable, one day I may get lowly rated
>opponents that play very well, the next day I may get the opposite, not to
>mention that playing styles affect the outcomes of the games.
>
>On a related issue, one idea that I'm trying is to use different alpha-beta
>windows at the start of search when the position is tactical and when it is
>not.  Running this on test positions certainly give better results, but in
>real games I suspect the results are slightly worse.  That may have something
>to do with inconsistencies in hash entries from different stages of a game.
>I keep the hash tables all the time, maybe I should clear the hash tables
>at the beginning of the search.  I definitely have to test this.

A very clear and effective way of doing pondering is as follows:

After you move, you take the second move in your PV, assume the opponent made
it, and start thinking just like normal, although you never time out.

When they move, if they didn't make the move you expected, you are back to
square one and you just start searching.

If they made the move you expected, you figure out how much time you want to
spend on this move, and subtract from that the amount you already spent on it.
You then search for that amount of time, but if the amount of time is <= 0, you
just move instantly.

There are nuances, for instance, you can add the full think-time (without
subtracting the amount of already time spent) to your "oh my god, I'm losing a
pawn" pool.

There are numerous opportunities here for bugs here, but the implementation is
in theory quite safe.

bruce



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.