Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: PV length ???

Author: José Carlos

Date: 01:28:07 10/27/02

Go up one level in this thread


On October 27, 2002 at 04:14:25, Nagendra Singh Tomar wrote:

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

  Sorry then. I though you were still asking for root nodes.
  In non root nodes, of course you need beta.

  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.