Author: Uri Blass
Date: 02:08:07 03/28/04
Go up one level in this thread
On March 28, 2004 at 02:21:21, Harald Lüßen wrote: >On March 27, 2004 at 20:34:15, Uri Blass wrote: > >>On March 27, 2004 at 19:51:33, Peter Berger wrote: >> >>>For about a month I have waited for someone to bring this up now. Occasionally I >>>thought I should post about it, but then I thought someone else (a much more >>>knowledgeable guy at best) would do it anyway sooner or later. I decided to just >>>do it now and not bother to do it very well at all. >>> >>>This is about Ruffian 2.1.0 I bought at Lokasoft's ( it probably applies to >>>other Ruffian 2 versions too). >>> >>>Now how does Ruffian 2 ponder? >>> >>>Usually programs assume the second move of the PV as being played, and then >>>think as if it were their own move in the meantime. If the expected move gets >>>played indeed, some (loads of at times ) time has been saved - else the time is >>>lost (despite some potentially useful entries in the hashtable). >>> >>>Another approach ( inferior) is to just think as if you were the opponent during >>>ponder and rely on savings from the hashtable you achieved -you get some useful >>>entries in the hashtable anyway, but this can't be an optimal strategy IMHO. >>> >>>Now Ruffian _does_ think as if it were the opponent during pondering, too, but >>>in case the expected move is played it does the same as the usual strategy does >>>during pondering but one ply further. The second move in the PV is the move to >>>be played in case time has already run out, else some time has been saved of >>>course. Again, if another move has been played, the time is lost. >>> >>>There have been some speculations about a potential Ruffian ponder bug recently, >>>but this one that looks _very much_ like a design decision hasn't been >>>discussed yet afaik. >>> >>>Potential advantages: if the opponent takes an extra long think to find a new >>>move in a tough position and succeeds to do so (fail-low situation) , you are >>>doing the same. If there is something better indeed Ruffian will probably find >>>it too, and then have a good move in response already prepared. >>> >>>The disadvantages are also clear: you just lose one ply of depth at least in >>>case you would have guessed the right ponder move anyway. >>> >>>From a percentage point of view this looks wrong: you will guess the right move >>>clearly more than 50% of the time in comp-comp games. >>> >>>The question is if the importance of the exception cases makes up for it IMHO. >>> >>>I have discussed this one very briefly with Dieter Buerssner whose first >>>reaction was: this way of pondering is even worse than no pondering at all. I >>>hope he doesn't feel offended to see such a spontaneous first reaction posted in >>>case he is wrong, but it might be interesting to know nevertheless. >>> >>>All this is based on my observation of very few Ruffian games and it is possible >>>that my interpretation of the program output is very wrong. But what I have >>>seen clearly goes well with it. If all this is nonsense, it will be embarrassing >>>;) - but why not make a fool of oneself occasionally ?! >>> >>>Btw, if this Ruffian ponder approach is a great idea, you need a completely >>>symetrical evaluation of course , dunno if this is a decided issue. >>> >>>Peter >>> >>>PS: I really hope I managed to post in an understandable way languagewise - as >>>it's 2 AM here ;) >> >>I agree with Dieter. >>It also seems to me better not to ponder and not to ponder in that way. >> >>The demage of loss of one ply in case that you predicted the right >>move(something that happens very often in computer chess) seems to me bigger >>than >>the advantage that you get by pondering. >> >> >>Uri > >I use the described method of pondering in my engine Elephant and >I don't understand your problems. But my engine is weak, I have not >tested other methods, and you can convince me with good arguments. >Here is how I do it. > >After I have made my move and when I am waiting for a response I >switch colors and think for my opponent. Off course the search >starts automatically with the best move and pv line from the hash >table because I always get the pv from there and the move ordering >prefers hash moves. Very fast the iterative deepening comes to the >depth-1 of my last own search. Then the real work begins. The hash >table fills itself with more and deeper information, normally with >a deeper pv but in case of a sudden fail low or fail high at the >root there is a switch to the new pv. This is good because my >opponent will see it too and not follow the old line. In pondering >mode there is no timeout. Like in analyse mode this search goes >on forever. > >When I get an interrupt because of a winboard command (time or >usermove) I stop thinking, do the move, switch sides again and >start my own search. I understood based on Peter's post that Ruffian does not do it and it is the reason that it is worse than no pondering. If my opponent played the predicted move >the hash tables are filled optimal but they have good informations >for other moves. That depends on the time my opponent has used >for his search. The longer the better and the more depth. Again >I reach the last depth-1 very quick and search my moves. When >I reach my time limit I stop my search and play the move. I don't >change my search time in pondering mode. Here is a place for >improvement. The time used for moves sometimes look like this: >me:10s opp:12s me:10s opp:5s me:10s opp:15s me:10s and so on. >I don't play immediately if my pondering predicted the right >move. I understood that Ruffian often plays immediately after predicting the right move. > >I don't see why this is worse than not pondering or worse than >only pondering the predicted move. > >Harald I think that in your case it is better than no pondering but worse than pondering the predicted move. Very often the opponent plays the predicted move and the save you get from pondering only the predicted move is probably bigger than the save that you get when the opponent does not play the predicted move and you have some information in the hash against it. Uri
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.