Author: Nagendra Singh Tomar
Date: 01:14:25 10/27/02
Go up one level in this thread
On October 27, 2002 at 04:05:19, José Carlos wrote:
>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.
>
>
You are right .. But I meant the non-root case !!
>>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.