计算机博弈 基本算法 极大极小算法

Posted _刘文凯_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机博弈 基本算法 极大极小算法相关的知识,希望对你有一定的参考价值。

计算机博弈大赛中最基础的算法就是极大极小算法,下面总结MaxMin算法

预备知识:
广度优先搜索(BFS)
深度优先搜索(DFS)

介绍

MaxMin算法在有限深度的范围内进行搜索,假定博弈双方都是聪明的,也就是每次都会选择可能获胜的最大值。那么对于我方来说,对方每次都会选取使我方获胜的最小值MIN;我方会选择使我方获胜的最大值MAX。
“值”的数字,由最后一层状态的评估函数f§确定,评估函数。
定义:
MAX与MIN分别代表博弈双方。
p代表一个棋局状态
f§表示评估函数
过程:
当父状态为MIN时,那么子层将最小值传上去,如果父状态为MAX是,将子层的最大值传上去。

实现

广度优先实现:

深度优先实现:

评估函数:
评估函数的确定根据,博弈的种类不同而不同,以简单的“井字棋”为例,评估函数可以是当前状态p我方胜利的线条数减去对方胜利的线条数:

f(p) = number(max)-number(min)

一般而言最终的状态应当是博弈双方进行了相同的步骤,如深度为3层5层。

以上是关于计算机博弈 基本算法 极大极小算法的主要内容,如果未能解决你的问题,请参考以下文章

计算机博弈 基础算法 阿尔法-贝塔剪枝算法 α-β剪枝算法

五子棋AI算法第二篇-极大极小值搜索算法

CCF201803-4棋局评估,对抗搜索,极大极小算法

[程序设计]-基于人工智能博弈树,极大极小(Minimax)搜索算法并使用Alpha-Beta剪枝算法优化实现的可人机博弈的AI智能五子棋游戏。

MinMax极小极大算法 (The Minimax Algorithm)

ACM之预测赢家