python大作业黑白棋_计算概论大作业——黑白棋AI设计

一周前从学长那得知了北京大学计算概论的大作业黑白棋AI,正好最近从炉石脱坑,去凑了个热闹

网站上有规则和交互方式,在此不再赘述

游戏界面大概长这样,支持bot间或者人机对战

每回合要求程序读入局面信息,输出落子位置

1.一开始熟悉一下给出的样例程序的框架,做一些小测试。

因为之前没怎么接触黑白棋,也不懂有什么策略。样例给出的是随机落子,就把样例修改了一下,比如每次选择能占有最多格子的落子处,结果打不过样例……

2.AI框架

(1)极大极小搜索与AlphaBeta剪枝

一般AI的框架是把局面做一个估价,反应某一方的情况,数值越大代表优势越大,然后构建博弈树通过搜索得到较优策略。

比方说上面就是把占有的格子数当做一方的估价

假设博弈的两方叫做A和B,不妨设当前轮到A

如果A只考虑走一步,那么当然是走到一个对A估价最大的局面

如果A能往后考虑到B的下一步,B要走一个对A估价最小的局面,那A的落子就要使得下一步B落子后局面对A估价尽量大

A往后考虑若干步,以此类推,要使得A若干步后到达的局面对A估价尽量大。

局面之间形成一个树形结构,因为每一方每次有约10种走法,我们将博弈树限制在7-10层。

叶结点局面直接估价,其余结点用上述思路在树上深搜得出估价。

还有一个AlphaBeta剪枝,是说搜索一个结点的一些子节点一定不会改变这个结点的估价,就考虑剪枝

(2)

可以通过

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值