minimax算法和Alpha-Beta pruning实现英式跳棋

算法作业喜加一。这alpha-Beta剪枝也太绕了
看了Tech With Tim的教程……真的好厉害噢
这个跳棋和中国的三角式还不太一样,棋盘是8*8的
在这里插入图片描述

大概就是两边各执一方,然后正常跳,跳过去的时候会把对手棋子吃掉,跳到对面最后一列就会变成KING,然后可以往回反跳。
最后就是看谁剩下的棋子多谁赢。

所以

算法

他的总和就是比如图上。
白色棋子数减去红色棋子数。
白方希望这个数越大,而红方希望这个数越小。
对于每个棋子,
所有的可能性行为就是一棵搜索树。
所以就成了经典的的最大最小博弈算法。

#伪代码:
function minimax(node, depth, maximizingPlayer)  
if depth ==0 or node is a terminal node then  
return static evaluation of node  
  
if MaximizingPlayer then      // for Maximizer Player  
maxEva= -infinity            
 for each child of node do  
 eva= minimax(child, depth-1, false)  
maxEva= max(maxEva,eva)        //gives Maximum of the values  
return maxEva  
  
else                         // for Minimizer player  
 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值