Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Evaluation/search question

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.