Author: José Carlos
Date: 01:05:19 10/27/02
Go up one level in this thread
On October 26, 2002 at 19:04:33, Nagendra Singh Tomar wrote:
>On October 26, 2002 at 12:27:46, José Carlos wrote:
>
>>On October 26, 2002 at 12:07:16, Antonio Dieguez wrote:
>>
>>>>>score = -alphabeta(board, -alpha-1, -alpha, depth-1);
>>>>>
>>>>>if(score > alpha && score < beta)
>>>> ^^^^^^^^^^^^^^^
>>>>
>>>> Don't use beta there. You just want to know you're above the pv score (which
>>>>is alpha now).
>>>
>>>if I am not mistaken it depends on the exact writing.
>>>
>>>he can write
>>>
>>>make...
>>>score = -alphabeta(board, -alpha-1, -alpha, depth-1);
>>>if(score > alpha && score < beta)
>>>{
>>> unmake & make(depends on the program)
>>> score = -alphabeta(board, -beta, -alpha+1, depth-1);
>>>}
>>>
>>>unmake
>>>
>>>if (score>alpha)
>>>{
>>> blabla
>>> if (score>=beta)
>>> { update killer; update hash; etc. }
>>>}
>>>
>>>-------------------
>>>or he can write something like this?
>>>
>>>make
>>>score = -alphabeta(board, -alpha-1, -alpha, depth-1);
>>>if(score > alpha)
>>>{
>>> if (score>=beta)
>>> { unmake; update killer; update hash; return beta; }
>>> unmake & make(depends on the program)
>>> score = -alphabeta(board, -beta, -alpha+1, depth-1);
>>> unmake
>>> if (score>alpha) // 'cause it could fail low right?
>>> {
>>> if (score>=beta)
>>> { update killer; update hash; return beta; }
>>> etc.
>>> }
>>>}
>>>
>>>I have written the first option, I think I can't make it prettier with the
>>>second option or something else but may be you can write it better off corse.
>>>
>>>Ah if the search always return alpha or beta then that can change things.
>>>
>>>
>>>antonio's usefull post.
>>
>> I don't quite follow. He's talking about the null window searches after the
>>pv. He's searching [alpha,alpha+1] so he might fail high with alpha+1 or
>>alpha+500, and beta isn't useful here at all. All you know if you fail high is
>>"I've found a move that seems to be better than my current pv".
>
>That <beta check is needed because if the score is >beta, then also we are not
>interested in the score because we know that this is too good a score for
>us for the opponent to allow .. so the opponent will not let us lead to
>the board where we can play this move.. thats why we ignore for >alpha and >beta cases.
Wrong. In the root you consider every move. There's no way for your opponent
to avoid any of your root moves ;)
José C.
>So you open the
>>window and research to get a true score (note that you can also forget about the
>>true score and keep searching the other moves with [alpha,alpha+1] hoping no
>>other move fails high and trust your fh and go to the next ply).
>> Beta only matters if you search [alpha,beta], this is, if it is one of the
>>bounds.
>>
>> José C.
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.