Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: PV length question

Author: Nagendra Singh Tomar

Date: 04:37:32 10/31/02

Go up one level in this thread


On October 31, 2002 at 07:26:50, Severi Salminen wrote:

>>I am afraid its not like that. "pv_length[ply]=ply" clause is there because, if
>>the current node contrbutes to the PV length, it will be only of length 'ply',
>>this will increase if this node gets a PV from some child node (which is done
>>inside UPDATE_PV). So IOW pv_length[ply]=ply has got significance ONLY for leaf
>>nodes. For other nodes anyway it gets ovwewritten inside UPDATE_PV as soon as we
>>get a child with score>alpha. So if we have a way of knowing that a node is a
>>leaf node then we can do "pv_length[ply]=ply"  only for child nodes. For other
>>nodes it will be copied from the child having score>alpha.
>>So in a depth=4 search (after doing depth=1,2,3 searches) the moment we enter
>>the root node (ply==0) we do 'pv_length[ply]=ply' pv_length[0] becomes 0.
>>I hope I am clear this time !!
>
>Everything is correct. When you enter root node in depth==4 search, you _must
>not_ set pv_length[Ply]=Ply (that is pv_length[0]=0). In root node we _allways_
>have a valid PV (expect at the 1st iteration) which we can and must use at the
>next iteration. That is the reason for your problem. So add the next if
>statement.
>
>if(ply)
>  pv_length[ply]=ply;
>
>That prevents pv_length[0] from deleting. Or write a totally separate
>roosearch() function. That is the preferred approach.
>
>Severi

Correct !!

tomar



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.