博弈程序Alpha-Beta搜索算法

来源:互联网 发布:ubuntu 14使用教程 编辑:程序博客网 时间:2024/05/22 06:36

负极大值风格的Alpha-Beta搜索算法

int alphabetaSearch(int depth,int alpha,int beta)//alpha是当前走棋方找到的最优局面的评分,找到更优的就覆盖它,beta是引发剪枝的值

{int value;
move MoveArray[128];
move mv;
int i;


if (depth==0)//返回当前局面的优势
return Eval();
int num=GenAllMove(MoveArray);
for (i=0;i<num;i++)
{
mv=MoveArray[i];
MakeMove(mv);
value=-alphabetaSearch(depth-1,-beta,-alpha);
UnMakeMove();
  if (value>=beta)
 return beta;
  if(value>alpha)
  {
alpha=value;
if(depth==MaxDepth)
BestMove=mv;
  
  }
}
return alpha;

}

0 0
原创粉丝点击