Author: Matthias Gemuh
Date: 08:07:04 05/25/03
Go up one level in this thread
On May 25, 2003 at 10:06:16, JW de Kort wrote: >On May 25, 2003 at 09:54:56, Uri Blass wrote: > >>On May 25, 2003 at 09:39:48, JW de Kort wrote: >> >>>On May 25, 2003 at 08:48:31, Uri Blass wrote: >>> >>>>On May 25, 2003 at 07:53:59, JW de Kort wrote: >>>> >>>>>Hi friends, >>>>> >>>>>My chess engine currently has two search related problems. >>>>> >>>>>1) Sometime a e.g. 8 ply search only returns a pv a say 4 or 5 or sometimes even >>>>>only one move. Can this be a result of using the hashtable? >>>>> >>>>>2) The engine searches until a certain amount of time is spend. >>>> >>>>This is a mistake because if there is a fail low it is better to use more time >>>>aqnd there are cases when it is better not to use time for your move(if there is >>>>a single move). >>>> >>>> If the search >>>>>notices that the time has ran out, the search is stopped an beta is returned. >>>> >>>>Why do you return beta? >>>> >>>> I >>>>>think this is the correct thing to do. >>>> >>>>No >>>>It is not. >>>>Your engine should play the best move that it found and not a move that it >>>>considers. >>>> >>>>I see no reason to return beta when you have no idea about the score. >>>> >>>>Uri >>> >>>Thanks Uri for your reply. I will explain. >>>Suppose the engine has reached a debt of 5 ply and then time has run out. The >>>search must be terminated. Alpha bet is a recursive algorithm so something has >>>to be returned because the iteration has to stop. I use beta because to signal >>>that the move is less in value than all the other moves searched so far. I'am >>>not sure that this is the correct procedure, though. >>> >>>How do you go about? >>> >>>Thanks again >> >>I do not understand what you are talking about. >>I remember the best move in the pv and if the pv is not updated the move in the >>pv is played. >> >>Uri > >I will explain further. In alpha beta a move is analysed by recursively calling >alpha beta. If we are at ply 6, a value will be returned to ply 5 but then the >original position is not restored because the preceeding moves must also be >taken back. To do this ply 5 has to return a score to ply 4 and ply 4 to ply 3 >etc. In my program i do this like this: > >if (Time is up) > return beta > >this proces is repeated until every thing is restored to the original position. > >Jan Willem
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.