人工智能游戏编程

前几天一直在敲代码。
作为一个本科生,花了将近一个星期的时间,我终于实现了“人机对弈的五子棋游戏”的初级代码。
这里面涉及到的人工智能算法搞得我很头疼。博弈树的问题我看了很久,也在网上找了很多的资料,可是直到现在我还是没有把这个问题搞透彻。
所以,在我的算法里面,仅仅是对双方各进行一次搜索,然后根据每种情况的优先级别的不同,对各种不同的棋局给定不同的权值。再选择权值最大的位置落点。最后把整个算法跟界面结合起来,实现了这个游戏的初步设计。
具体的做法如下:
搜索:在15*15的棋盘上,对每一个空格从四个方向进行搜索。找到这四个方向上的具体棋子分布;(实际上,搜索做了两次,分别是从己方和对方的角度来做搜索。)
估值:根据每种棋局的优先级将各种情况设定一个初始的权值,估值的原则就是使得最终的权值加起来符合优先级的要求;(例如:成5的优先级最高,其次是活4……)
落子:找到权值最大的点。
做完测试时,发现这样的棋力只能打败入门级的棋手。所以一直在找博弈树的相关资料,希望能够尽快实现游戏的升级,不说高手,最起码,智能算法要能应付普通的棋手吧。
但是事与愿违,几天来,几乎是丝毫没有进展。在图书馆里找了一个下午也没有找到博弈树的相关书籍,里面的人工智能算法大多是关于遗传算法的。网上的剪枝算法和博弈树的介绍也看得我很迷茫。哎,相信天道酬勤,但是依然是在郁闷中……
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值