minimax search算法
局面估价函数:给每个局面(state)规定一个估价函数值f,评价它对于己方的有利程度。胜利的局面的估价函数值为,而失败的局面的估价函数为-
Max局面:假设这个局面轮到己方走,有多种决策可以选择,其中每种决策都导致一个子局面(sub-state)。由于决策权在我们手中,当然是选择估价函数值f最大的子局面。因此,该局面的决策函数等于子局面f值的最大值,把这样的局面称为max局面。
Min局面:假设这个局面轮到对方走,它也有多种决策可以选择,其中每种决策都也会导致一种子局面,但由于决策权在对方手中,在最坏的情况下,对手当然选择估价函数值f最小的子局面。因此,该局面的决策函数值等于子局面f值的最小值,把这样的局面称为min局面。
终结局面:如果双方都不能走,显然胜负已分,f值根据规定取值。综上所述,得到了最单纯的极大极小算法。
完全极在极小过程:对于一个局面,递归计算它所有子局面的估价函数值。如果是max层,转移到其中函数值最大的子局面,否则转移到函数值最小的子局面。可以把已经算过估价函数值的局面都记录下来,以免重复工作。
function minmax(State, Player:Integer):integer
begin
if WeWon then minmax:=+
else if WeLost then minmax:=-
else begin
min:=+
max:=-
for Move:=1 to MoveCount do
begin
NewState:= DoMove(State, Move);
Value:= minmax(NewState, Next(Player));
if Value < min then min:=Value
if Value > max then max := Value
end
if Player = MyProgram then minmax:= max
if Player = Oppoent then minmax:=min
end
end
minimax search算法相关推荐
- C语言实现跳转搜索jump search算法(附完整源码)
跳转搜索jump search算法 跳转搜索jump search算法的完整源码(定义,实现,main函数测试) 跳转搜索jump search算法的完整源码(定义,实现,main函数测试) #inc ...
- C语言实现斐波那契搜索Fibonacci search算法(附完整源码)
斐波那契搜索Fibonacci search算法 斐波那契搜索Fibonacci search算法的完整源码(定义,实现,main函数测试) 斐波那契搜索Fibonacci search算法的完整源码 ...
- C语言改造二分法(Modified Binary Search)算法(附完整源码)
改造二分Modified Binary Search算法 改造二分(Modified Binary Search)算法的完整源码(定义,实现,main函数测试) 改造二分(Modified Binar ...
- beam search算法
转载 https://blog.csdn.net/xyz1584172808/article/details/89220906 https://blog.csdn.net/batuwuhanpei/a ...
- selective search算法步骤
selective search算法流程如下: step1:使用"Felzenswalb and Huttenlocher"算法获取原始分割区域R={r1,r2,-,rn} ste ...
- Selective Search算法-候选框生成
Selective Search算法-候选框生成 相比于滑动搜索策略,Selective Search算法采用启发式的方法,过滤掉图像中很多断裂的子区域,候选生成所需的目标区域(Region Prop ...
- 计算机视觉目标检测之selective search算法
关于two stage目标检测算法中的SSD在目标选取阶段的使用的ss算法的一些学习资料 简介 一张图像中包含的信息非常丰富,图像中的物体有不同的形状.尺寸.颜色.纹理,而且物体间还有层次(hiera ...
- Beam search 算法的通俗理解
Beam search 算法在文本生成中用得比较多,用于选择较优的结果(可能并不是最优的).接下来将以seq2seq机器翻译为例来说明这个Beam search的算法思想. 在机器翻译中,beam s ...
- 禁忌搜索(Tabu Search)算法及python实现
禁忌搜索(Tabu Search)算法及python实现 版权声明:本文为博主原创文章,博客地址:https://blog.csdn.net/adkjb,未经博主允许不得转载. 禁忌搜索(Tabu S ...
最新文章
- 以太坊智能合约预言机
- autosize px转dp_Android 屏幕适配以及autoSize的原理.md
- lazada开店平台费用都有哪些,产品如何来做定价?
- entity framework5 sqlserver2005 事务(TransactionScope)报未启用MSDTC错误解决办法
- C和指针之实现可变参数函数编译出现expanded from macro ‘va_arg‘ #define va_arg(ap, type) 解决办法
- java反射的field.get(null)
- 重学TCP协议(4) 三次握手
- Gitlab+Jenkins学习之路(九)之Jenkins的远程管理和集群
- 刚聊完就弹窗推荐,这些 APP 是在偷听吗?
- 虚拟软件VMware workstation安装
- 小D课堂 - 新版本微服务springcloud+Docker教程_5-08 断路器监控仪表参数
- 【Java NIO的深入研究2】RandomAccessFile的使用
- 随机生成一注双色球号码 - - (要求同色号码不重复 )
- 排除美颜相机等第三方相机直接调用系统相机处理方法
- Executable: C:\PhoneYou\roshan-0.6.6\bin\RoshanQuick.exe
- Win10截图快捷键教程
- android gradle lint,Android Lint
- 【分享】ArcGIS 根据DEM生成等高线以及带高程转换为Auto CAD数据
- jmeter配置原件
- Java高级开发0-1项目实战-青鸟商城-Day04