Comments (7)
我最近也在写一个五子棋AI,是用python写的,估值函数用的是Monte Carlo算法。看了你的博客觉得很有启发,我也觉得你的AI执黑已经很厉害了。如果执白也能下赢业余爱好者,就更理想了。
有两个地方我有一点疑问:第一是算杀只对AI而不对玩家,虽然节省了一半计算时间,但这也造成了AI很多时候并不知道玩家5-6步内可以走出的杀棋,是否还是将其加入更合适?第二是估值函数还可以改进?我发现在接近叶节点并且算杀不成功的时候,AI可能会为了自己产生两个活二,而不去封堵对手的活二,而下一步是对手走,他的这个已有的活二的威胁可能会比AI刚创造的两个活二加起来更大。
以上是我跟您的AI下赢了几盘之后得到的感受。
另外还有一个小建议,是否在AI算出自己已经输定了的情况下可以投子认输?
谢谢!
from gobang.
@yudongqiu 过奖了,这个AI水平一般。算杀确实是为了节省时间只做了一半。另外有一些bug没有修复的。
蒙特卡洛应该不太适合五子棋,五子棋很像是一堆解法中找最大值,蒙特卡洛不太适合找最大值,他比较适合像围棋这种输赢不依赖最大值的棋类。现在比较厉害的五子棋AI,奕心,蜗牛等都是用极小化极大值搜索的。
from gobang.
@lihongxun945 哈哈,感谢这么快就回复了!我也用的minimax结合了alpha-beta pruning搜索,但是在末端叶结点估值的时候用了MC估算胜率。(感觉效率确实不高)
from gobang.
@yudongqiu 现在上班忙,以后有空再改进下。
MC你可以探索下,不过我不看好通过统计来找最大值。
from gobang.
hi 您好,
我后来把MC估值换成了分析局面的函数,效率果然高了很多:)
完成了python版本之后感觉在命令行下棋还是不太方便,我就用Flask写了一个网页交互。因为觉得你的网页版的界面很漂亮,就想借用一下,请问可以吗?我会在index.html,main.css和main.js这三个借用的文件开头注明引用。谢谢!
from gobang.
@yudongqiu 好的
from gobang.
轮到ai方下棋,棋手没有冲四的情况,有活四为什么不直接放回第一个,相反是返回眠四第一个
from gobang.
Related Issues (20)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gobang.