Author: Stuart Cracraft
Date: 17:14:42 02/19/99
Go up one level in this thread
On February 19, 1999 at 19:14:51, Bruce Moreland wrote: > >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 is what I implemented and it works mostly fine. One does have to be sensitive to the fact that a regular (every second) check for I/O through the keyboard should be performed and if found and process accordingly. I am currently battling a bug where the position ends up at the wrong position with an illegal move it saw as having been input through the keyboard but for which there was no record.
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.