本文整理汇总了C++中state::utility方法的典型用法代码示例。如果您正苦于以下问题:C++ state::utility方法的具体用法?C++ state::utility怎么用?C++ state::utility使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类state
的用法示例。
在下文中一共展示了state::utility方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: min_Value
action2ValuePair min_Value(int clr,int alpha, int beta){
action2 a2;
if(terminal_Test()){
double util=currentState->utility(count);
int d=currentState->depth;
action2ValuePair a2v(chance[d]*util,a2);
return a2v;
}
double v=10000;
vector<colorNode> cn=generateColors(clr);
vector<action2> actions=chaosActions(cn);
int l=actions.size();
for(int i=0;i<l;i++){
nodecount++;
action2 a=actions.at(i);
chaosMove(a);
double val=max_Value(alpha,beta).value;
chaosDeMove(a);
if(v>val){
v=val;
a2=a;
}
if(v<alpha){
action2ValuePair a2v(v,a2);
return a2v;
}
if(beta>v){
beta=v;
}
}
action2ValuePair a2v(v,a2);
return a2v;
}
示例2: max_Value
actionValuePair max_Value(double alpha, double beta){
action a2;
if(terminal_Test()){
double util=currentState->utility(count);
int d=currentState->depth;
actionValuePair av(chance[d]*util,a2);
return av;
}
double v=-10000;
vector<action> actions=orderActions();
int l=actions.size();
for(int i=0;i<l;i++){
nodecount++;
action a=actions.at(i);
orderMove(a);//depth++
double val=min_Value(-1,alpha,beta).value;
orderDeMove(a);//depth--
if(v<val){
v=val;
a2=a;
}
if(v>beta){
actionValuePair av(v,a2);
return av;
}
if(alpha<v){
alpha=v;
}
}
actionValuePair av(v,a2);
return av;
}