Author: Robert Hyatt
Date: 11:28:05 01/30/04
Go up one level in this thread
On January 30, 2004 at 13:36:57, Bob Durrett wrote: >On January 30, 2004 at 13:20:47, Robert Hyatt wrote: > >>On January 30, 2004 at 12:05:30, Bob Durrett wrote: >> >>> >>>A friend is playing games against his chess-playing program on his PC and asked >>>this question. I do not know the answer. >>> >>>Suppose the user sets the ply depth to 5 ply. There are several things the >>>engine could do in that case, assuming in the middlegame. >>> >>>If sufficient time were available: >>> >>>The entire tree could be exhaustively analyzed. >> >>I am not sure what that means... > >I guess I was not too clear. Sorry about that. > >I envisioned "un-pruning." In the beginning the engine does not know how much >time the user will allow. Perhaps the programmer can decide this, but surely >the engine must consider the possibility that the user will issue a "move now" >command. Hence, I would expect pruning so that the engine would have a move >available almost immediately. Then, as more time were made available, the >engine could go back and consider previously pruned portions of the tree. Wouldn't help. Alpha/Beta only prunes stuff that it can _prove_ is not useful to search. IE if you went back and did a full minmax search to the same depth, which would take _much_ longer, you would still get the same best move, best score, and PV. That's why alpha/beta is so important... > >> >>> >>>The position evaluation could be done more extensively/thoroughly. >> >> >>Nor that since the normal Evaluation() stuff is done at appropriate points >>inside the tree already. There's no other places where it could be done.. > >Again, I did not make myself clear. Sorry again! > >My thought was that the programmer will give the position evaluation a limited >amount of time to do it's work. This might be accomplished simply by making the >position evaluation code be "fast." > >If more time became available, however, maybe the position evaluations could be >revisited and a more time-consuming [hence, presumably, better] evaluation be >done. I don't know of a program that has two separate evaluations, however. Some do a "quick" eval for ordering or pruning decisions, and a complete eval as needed, but the quick eval is only used to determine if it is worthwhile to do the full evaluation... or if it would be a waste of time to do so. > >> >> >>> >>>Do any engines to the above? Or, do they just stop prematurely? > > >>> >>>Bob D. >> >> >>If "prematurely" means "when you said to stop" then I guess the answer is they >>stop "prematurely". If you say "5 plies" they do 5 plies and that's all... > > >My choice of the word "prematurely" may have been premature. : ) > >The idea was that "haste makes waste" in real life as well as in software. >Software designed to reach an answer, or result, in a very short time may be >compromised in some way. That does not mean that the number of positions >evaluated be reduced [although that could happen with a "move now" command] but >rather that position evaluations would have to be done quicker than what would >be ideal. > >Bob D. I think that all I could do would be to search another ply deeper, but then that would violate your depth limit... Alternatively you could eliminate your depth limit and give it a time limit instead, which lets the program decide how to use the time.
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.