Author: Angrim
Date: 13:48:30 01/11/00
Go up one level in this thread
On January 11, 2000 at 15:35:14, Robert Hyatt wrote: >On January 11, 2000 at 15:31:36, Dan Andersson wrote: > >>I am considering giving some kinds of root moves penalties because they do >>nothing to improve a position. For example sometimes my search returns a >>checking move, followd by retracting the piece to a square that it could have >>moved to directly, that only postpones the bad variation and essentially hides >>it from search at the cost of one tempi. Another penalty Im considering is >>against pawn moves at root position, as Nimsowitch said 'All pawn moves, are >>mistakes'. The penalties sould not be to severe I think, in the range of 1/10th >>pawn or so. Anyone tried it before? Any critique and idea are welcome. The >>rationale is that if the move is really good or forced it will be played anyway. I have tried it, currently use it, and find it usefull in some cases. One simple example is a small penalty for moveing the same piece twice in a row. >> >>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
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.