Author: Robert Hyatt
Date: 13:38:21 01/13/00
Go up one level in this thread
On January 13, 2000 at 16:13:59, Angrim wrote: >On January 13, 2000 at 09:16:34, Robert Hyatt wrote: > >>On January 12, 2000 at 18:56:38, Nobuhiro Yoshimura wrote: >> >>>>>>>Regards Dan Andersson >>>>>> >>>>>> >>>>>>Note that this is not easy to do. Because if you give the bonus at the root, >>>>>>it affects the score at the tips of the tree below that root move. And thanks >>>>>>to the hash table, you can now play the move at ply=3 at the root, and the >>>>>>root move at ply=3, and the hash table will politely include the original bonus >>>>>>due to the way hashing is about positions, not moves. >>>>> >>>>>I disagree, root move penaties are fairly easy to do right. >>>>>If coded correctly a root move bonus/penalty will not change the values >>>>>stored in the hash except as you would expect from changeing the search window. >>>>>The score at the leaf nodes is not affected since you should >>>>>be adding the bonus after you have searched the move. One thing you might >>>>>have some trouble with is that the alpha-beta bounds have to be adjusted >>>>>to take into account the amount that you will be adding to the score. >>>>> >>>>>For example, with alpha=100 beta=110 and a root bonus of +50 you need >>>>>to search with a window of 50-60 so that the returned score(after bonus) >>>>>will be in the correct range. >>>>>then if it returns <=50 you failed low with <=100 >>>>>if it returns 52 then you have a new best move with score 102 >>>>>if it returns >=60 you failed high with a score of >=110 >>>>> >>>>>Also have to be carefull with this around forced win/loss values, since >>>>>if your window was +win50 to +win1 and you give a 50 point bonus to a >>>>>move you could be searching with a window of +win1 to +win1+50 <bad thing> >>>>>So if alpha or beta is a win/loss value don't adjust it, and if the >>>>>returned score is a win/loss value don't add the bonus. >>>>> >>>>>Hope this helps, >>>>>Angrim >>>> >>>> >>>>That is a known 'fix' but it has its difficulties... >>> >>>What kind of difficulties do you in mind? >> >> >>speed for one. Now you maintain two scores. The score without the root bonus, >>and the root bonus. You have to add them together everywhere you make a >>decision, so that they can be used separately when hashing. > >Bob, you seem to be confused here, the root bonus is only used at >the root, it is not passed into the search at all. Only after the >move has been searched and has returned a value at the root level is >the per-move bonus added. This should have been clear from the >original post, and the description of how to adjust alpha-beta bounds >to account for the bonus. > >>However, I think that scores added because of a move's position at the root >>is probably a wrong idea anyway... unless the search depth is so low that >>you get into tactical trouble by not developing. > >Matter of taste, I'm happy useing them and I use small enough bonuses that >they don't get in the way when a position is tactical. > >Angrim Wait a min with that thought. You are simply shifting the alpha/beta window at the root then. This has been a known idea for a long time, the idea being you trust your root move ordering, so after getting the score back for the first move, you search with an elevated alpha/beta window hoping all the other moves fail low... and requiring that before a move fails high, it has to fail high over some threshold level beyond the _real_ beta value... What do you do about 'learning'? IE permanent stuff carried between games. Use the original score? The modified score? Either will screw up.
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.