pythonAI五子棋

6 篇文章 0 订阅
3 篇文章 0 订阅

##pythonAI五子棋

大概一个半月前,突发奇想写一个AI五子棋,顺便熟悉下机器学习的内容。经过一个多月的努力(其实我也没有天天在写,有点想法了就写写),我终于放弃了。是的,我放弃了!!!坚持就是胜利,放屁。还TM有句话:选择大于努力。没错,我选择放弃!原因嘛?方向努力错了,应该是先好好学习机器学习再来写游戏。还有自己太菜,机器学习的内容一个知识点我要花半天来理解,然后再花半天来写代码,最后花半天调试。要是遇上神经网络,还得花半天训练。都是晚上抽空在写的,寂寞的夜,我的泪。所以我决定,先滚去系统学习机器学习,再来说这个。不过虽然放弃了,不过这个半成品还是有点可玩性的。要是各位肯赏个脸,就下载去玩玩咯。我直接打包好了点开就能玩,链接在文末。

###一.五子棋的架构
####1.主程序:gobang.py
这个程序文件包括了两个类Gobang()和Robot()类

Gobang主要实现玩家与电脑交互的界面,如下图:

这里写图片描述

Robot是基于基本规则设计的一个简单的智能程序,主要在对局中对与每一个点价值的判断,然后综合起来后电脑选择最有价值的点来下。
如何判断一个点的价值:
在棋盘上,一个点有四个方向,横竖左斜右斜。但电脑要在这里下棋时候,就会先判断在这四个方向上的总价值是多少。
举个例子,点一在这里可以形成连五,那么价值就是10000,点二只能形成活四,那么这个点的价值就是5000。所以电脑在判断完所有的点后,会选出一个价值最大的点下。比如点一。
附.五子棋的一些术语:连五,活四,活三,活二,眠四,眠三,眠二

####2.SGFfile.py
这个没啥好讲的。当时在网上下载棋谱的时候,只能自己写一个程序来帮忙处理棋谱,让我的读出来,也可以帮助我将棋局生成棋谱。
####3.CNN.py
CNN神经网络。去年很火的alphago就是用这个网络训练出来的,只不过他13层,我的才五层。这个真的也没啥好讲的。属于懂得人自然懂,不懂的人说再多也没用。
好吧,这么水我也过意不去。这篇文章写的还是不错的,想要了解的可以看一下:
技术向:一文读懂卷积神经网络CNN


###二.使用注意
####在使用这个游戏之前需要几点注意的:
1.直接点击那个gobang.exe文件就可以玩了。
2.由于我只训练了黑棋的神经网络(原谅我的懒),所以在使用神经网络下棋的时候请不要让电脑持白棋
3.程序是我在64位win7编写的,不知道在其他系统能不能玩。
4.需要将exe程序和save文件放到一个文件夹中。


改进版本:pythonAI五子棋(二)
五子棋代码下载链接:五子棋代码
训练棋谱:下载链接
希望赏个脸,关注小弟的公众号这里写图片描述

  • 16
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值