负极大值搜索引擎
来源:互联网 发布:盒饭网络销售怎么做 编辑:程序博客网 时间:2024/05/19 23:16
//alphabeta的过程
//depth是当前搜索距离叶子点的层数
//alpha是搜索的上边界
//beta是搜索的下边界
int CAlphaBetaEngine::alphabeta(int depth,int alpha,int beta){
int score;
int Count,i;
BYTE type;
i=IsGameOver(CurPositon,depth);
if(i!=0)
return i;
if(depth<=0) //叶子节点取估值
return m_pEval->Eveluate(CurPosition,(m_nMaxDepth_depth)%2);
//此函数找出当前局面所以可能的走法,然后放进m_pMG->m_MoveList当中
Count=m_pMG->CreatePossibleMove(CurPosition,depth,(m_nMaxDepth-depth)%2);
for(i=0;i<Count;i++) //对所有可能的走法
{
//将当前局面应用此走法,变为子节点的局面
type =MakeMove(&m_pMG->m_MoveList[depth][i];
//递归搜索子节点
score=-alphabeta(depth-1,-beta,-alpha);
//将此节点的局面恢复为当前节点
UnMakeMove(&m_pMG->m_MoveList[depth][i],type);
if(score>alpah)
{
alpha=score; //保留极大值
if(depth ==m_nMaxDepth)
m_cmBestMove= m_pMG->m_MoveList[depth][i];
//靠近根节点时保留最佳走法
}
if(alpha>=beta)
break; //剪枝,放弃搜索剩下的节点
}
return alpha;
}
- 负极大值搜索引擎
- 博弈论 负极大值算法
- 负极大值搜索
- 极小化极大算法与负极大值算法
- 极小化极大算法与负极大值算法
- 极小化极大算法与负极大值算法
- 中国象棋人机对弈搜索算法学习-极大极小值,负极大值,alpha-beta算法
- 极大值原理
- 局部极大值
- 函数极大值
- 局部极大值
- 区域极大值—lhMorpRMax
- H极大值—lhMorpHMax
- 扩展极大值—lhMorpEMax
- 极大值求解算法
- 非极大值抑制
- 非极大值抑制算法
- 线段树----区间极大值
- HDFS 指令(四)find,help,setfatter,truncate,usage
- 【python学习笔记】13:用梯度下降法求解最优值问题
- 负极大值搜索
- C语言中对二叉树的操作(递归算法)
- 我的Maven开发环境
- 负极大值搜索引擎
- 基于ruby语言selenium3安装与环境搭建---菜鸟分享坑爹经验
- hht变换
- 颜色ARGB学习
- js原生学习-初级-练习05
- epoll介绍
- Mac pro使用的那些坑(三)git打开指定文件的窗口
- GIT介绍及常用命令
- AS更新Gradle方法