Alpha-Beta
来源:互联网 发布:php 判断整数 编辑:程序博客网 时间:2024/05/16 15:06
人机对弈的程序:
1)某种在机器中表示棋局的方法,能让程序知道博弈的状态
2)产生合法走法的规则,以使博弈公正地进行,并可判断人类对手是否乱走。
3)从所有合法的走法中选择最佳的走法的技术。
4)一种评估局面优劣的方法,用以同上面的技术配合做出只能的选择。
5)一个界面,有了它,这个程序才能用。
Alpha-Beta搜索
在极大极小搜索的过程中,存在一定程度的数据冗余。在象棋博弈的过程中,如果某一个节点轮到甲走棋,而甲向下搜索节点时发现第一个子节点就可以将死乙,则剩下的节点就无需再搜索了,甲的值就是第一个字节点的值。这个过程,就可以将大量冗余的节点抛弃。
int AlphaBeta(nPly,nAlpha,nBeta)
{
if(game over)
return Eveluation; //胜负已分,返回估值
if(nPly==0)
return Eveluation; //叶子节点返回估值
if(Is Min Node)
{
//是取极小值的节点
for(each possible move m)
{
make move m; //生产新节点
score=alphabeta(nPly-1,nAlpha,nBeta) //递归搜索子节点
unmake move m; //撤销搜索过的节点
if(score<nBeta)
{
nBeta=score; //取极小值
if(nAlpha >= nBeta)
return nAlpha;
}
}
return nBeta; //返回最小值
}
Else
{
//取极大值的节点
for(each possible move m)
{
make move m; //生产新节点
score =alphabeta(nPly-1,nAlpha,nBeta)
unmake move m;
if(score>nAlpha)
{ //取极大值
nAlpha =score;
if(nAlpah >= nBeta)
return nBeta; //beta剪枝,抛弃后继节点
}
}
return nAlpha; //返回极大值
}
}
- Alpha-Beta
- Alpha-Beta剪枝(Alpha Beta Pruning)
- Alpha-Beta剪枝算法(Alpha Beta Pruning)
- 什么是beta,alpha测试
- alpha-beta剪枝搜索
- 重读Alpha-Beta算法
- Alpha-Beta搜索
- alpha, beta, RC含义
- Alpha测试Beta测试
- Alpha 与 Beta
- 例析Alpha-Beta剪枝
- Alpha-Beta 剪枝算法
- alpha-beta pruning
- 详解alpha-beta算法
- Alpha-Beta搜索
- alpha-beta pruning
- Alpha-beta Search
- Fail-soft alpha-beta
- 整合SSH时,进行save操作报错Write operations are not allowed in read-only mode 只读模式下(FlushMode.NEVER/MANUAL)写操作
- Linux下Mysql的基本操作
- 静态资源的获取
- The Wall Pushers (UVA
- ssh: connect to host 127.0.0.1 port 2222: Connection refused
- Alpha-Beta
- js 设置css 无效
- java程序运行环境
- [机器学习入门] 李宏毅机器学习笔记-1(Learning Map 课程导览图)
- 数组中最大和的子数组
- windows下安装WGET
- windows设备停用启动杂记
- python安装第三方的包 工具对比
- 织梦实现数字序列表