五子棋人机算法的思想

五子棋人机博弈————顾名思义,就是玩家与计算机下棋,首先要考虑一下几个方面:

1,棋盘与棋子的实现
2,玩家下完棋后,计算机要根据当前玩家所下的棋子找出最佳下棋点
3,输赢的判断


棋盘与棋子的实现和输赢的判断问题在五子棋人人博弈中已经解决了,接下来主要是解决计算机在玩家下完棋以后如何找到最佳下棋点。
1,首先需要定义权值,以便电脑根据棋盘上某一点在四个方向上的权值之和来判断最佳下棋点。然后,给出权值算法,用于计算棋盘上某一点的利于电脑而不利于玩家的权值之和,最后,用一个循环来遍历整个棋盘以检测最佳权值点。


a,定义权值(玩家代表黑子)
例如:黑白白空 50
其意义为,黑代表黑子,白代表白子,空代表没有下棋,这一种形式的权值为50,根据所有的情况,定义如下权值赋值
空白空 10
黑白空 20
黑白白空 50
空白白空 100
黑白白白空 500
空白白白空 1000
黑白白白白空 5000
空白白白白空 100000
白白白白白 1000000
b,计算权值
权值定义好以后,就计算棋盘上各个点的权值了,棋盘上某个点权值由四部分构成,即横向,竖向,左斜方和右斜方。求出这四个方向上的权值,然后相加就得到这个点的权值。

c,计算机下棋
在最大权值点下棋
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值