本文整理汇总了C++中TreeNode::SelectBestReal方法的典型用法代码示例。如果您正苦于以下问题:C++ TreeNode::SelectBestReal方法的具体用法?C++ TreeNode::SelectBestReal怎么用?C++ TreeNode::SelectBestReal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TreeNode
的用法示例。
在下文中一共展示了TreeNode::SelectBestReal方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TreeNode *BStar::GetBestOptPrb(TreeNode *parent)
{
double MaxValue = 0.0;
double PrbD = 0.0;
TreeNode *aux = 0;
TreeNode *Sel = 0;
int DPV = 0; // depth PV
int DOpt = 0;
for(aux = parent->SelectBestReal();aux; aux = aux->SelectBestReal())
{
DPV++;
}
double np = parent->SubtreeSize;
const double Cucb = 2.0; //0.0000001; //2000.0;
for(aux = parent->MoveTo(FIRSTCHILD);
aux; aux = aux->MoveTo(NEXTSIBBLING))
{
PrbD = aux->OptPrb ;
if( PrbD > MaxValue )
{
MaxValue = PrbD;
Sel = aux ;
}
}
// PV can not be shorter than opt path
if(Sel == NULL) Sel = parent->SelectBestReal();
aux = Sel->TraceDown(1);
for(;aux && aux != TreeNode::GetRootNode(); aux = aux->MoveTo(PARENT))
DOpt++;
if(DOpt > DPV)
return parent->SelectBestReal();
return Sel;
}
示例2: PrintPV
void BStar::PrintPV()
{
if(!PrintPVV)return;
int timeUsed;
char Path[1024];
int SelDepth = 0;
TreeNode *aux;
Path[0] = '\0';
for(aux = TreeNode::GetRootNode()->SelectBestReal();aux; aux = aux->SelectBestReal())
{
strcat(Path,aux->MoveStr);
strcat(Path," ");
SelDepth++;
if(SelDepth > 20) break; // avoid buffer overrun on Path
}
timeUsed = TimeElapsed()-ini;
if(timeUsed <=0)
timeUsed = 1;
int nps;
nps = (TotalExpand * 1000)/ timeUsed;
int mate;
int value = BestMoveAtRoot->RealVal;
mate = 0;
if(value >= MATE -50)
{
mate = MATE -value;
}
if(value <= -MATE +50)
{
mate = MATE +value;
mate = -mate;
}
if(!mate)
{
Print("info depth %d seldepth %d pv %s score cp %d nodes %d nps %d hashfull %d time %ld\n",
SelDepth,
SelDepth,
Path,
value,
TotalExpand ,
//TotalNodes, //TotalExpand ,
nps,
0,
timeUsed);
}
else
{
Print("info depth %d seldepth %d pv %s score mate %d nodes %d nps %d hashfull %d time %ld\n",
SelDepth,
SelDepth,
Path,
mate/2,
TotalExpand ,
//TotalNodes, //TotalExpand ,
nps,
0,
timeUsed);
}
}