Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Evaluation/search question

Author: Robert Hyatt

Date: 10:14:43 01/12/00

Go up one level in this thread


On January 11, 2000 at 16:48:30, Angrim wrote:

>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.
>

How did you solve the hashing problem?  IE:

1. Nf3 Nf6 Qh5.  Nf3 gets a bonus at the root.
1. Qh5 Nf6 Nf3.  This is a hash table hit.  Score still has the bonus
                 folded in from the search of 1. Nf3.

how do you fix this:

Nf3 Nf6 Ng5 e5 e4  here you get a penalty for Nf3/Ng5
Nf3 Nf6 e4 e5 Ng5  here you get the penalty from the hash table.



>>>
>>>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...



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.