《极大极小值算法实》由会员分享,可在线阅读,更多相关《极大极小值算法实(10页珍藏版)》请在金锄头文库上搜索。
1、极大极小值算法实现井字棋,黄蓥 1252449,1、井字棋2、极大极小值算法3、 -剪枝4、程序演示,井字棋,两个玩家,一个打圈(O),一个打叉(X),轮流在3乘3的格上打自己的符号,最先以横、直、斜连成一线则为胜。如果双方都下得正确无误,将得和局。本次实验一方为玩家,另一方为电脑。,极大极小值算法又名MiniMax算法,是一种找出失败的最大可能性中的最小值的算法。Minimax算法常用于棋类等由两方较量的游戏和程序,这类程序由两个游戏者轮流,每次执行一个步骤。我们众所周知的五子棋、象棋等都属于这类程序,所以说Minimax算法是基于搜索的博弈算法的基础。该算法是一种零总和算法,即一方要在可选
2、的选项中选择将其优势最大化的选择,而另一方则选择令对手优势最小化的方法。,极大极小值算法,我们知道,常用的博弈算法都是基于搜索的博弈算法,所有可能的下棋步骤构成一个树的结构,然后对局面进行价值评估。极大极小值算法是这样做的(假设现在要为A选择最佳走法):如果当前局面是A的局面那么就选择最大值(Value=AValue - BValue),如果当前是B走后形成的局面,那么就选择(Value=BValue - AValue)的最小值,也就是最小化A的利益,其实就是最大化B的利益。,极大极小值算法,极大极小值算法,4,15,9,13,21,30,15,14,15,16,12,16,16,10,17,13,MAX,MIN,MAX,MIN,14 13 15 4 13 9 16 12,14 15 13 16,14 13,14,-剪枝,-剪枝法是对极大极小值方法的优化,它们产生的结果是完全相同的,只不过运行效率不一样。,-剪枝,4,15,9,13,21,30,15,14,15,16,12,16,16,10,17,13,MAX,MIN,MAX,MIN,14,14,13,14,15,15,13 13 13 9,14,程序演示,程序演示,