讨论一下五子棋AI的搜索和启发算法

清晨曦月 元老
博客专家认证
2013-10-10 10:09:56
加精
先抛砖引玉一下,最近一直在写这个无禁手规则的五子棋AI,但是效果还不是很满意,而且不时发现BUG,还在修正。
http://download.csdn.net/detail/zcsor/6379795

希望能和也在开发五子棋AI或者其他棋类AI的交流一下思想。

这个AI使用了PVS搜索并且进行了VCT/VCF相关变异
整个的棋盘表示、走法生成、局面评价都建立在“冲棋点”(即威胁空间)搜索上
使用的启发技术主要有杀手、PV、置换表、内部迭代加深、选择性延伸只使用了冲棋延伸

没有使用静态搜索,原因是太慢了……有木有好办法?

实现了VCF/VCT搜索,其中VCT有可能不完善
使用了开局库。
...全文
6877 72 打赏 收藏 转发到动态 举报
写回复
用AI写文章
72 条回复
切换为时间正序
请发表友善的回复…
发表回复
Anti心 2015-04-13
  • 打赏
  • 举报
回复
第一次用论坛,怎么找共享代码呢
qq_20596379 2014-10-28
  • 打赏
  • 举报
回复
火蜥蜴 2014-10-19
  • 打赏
  • 举报
回复
楼主的程序我为何走了3步就崩溃了
lizbyu 2014-03-01
  • 打赏
  • 举报
回复
引用 63 楼 cuixiping 的回复:
[quote=引用 62 楼 bond1103 的回复:] [quote=引用 36 楼 aspwebchh 的回复:] http://chhblog.com/upload/1/files/games/gobang-1.1-beta/gobang.html 我这里有个javascript版的五子棋, 用了最简单的极大极小博弈算法、alpha-beta剪枝、历史记录排序
3级是最高级吧,为毛我下的时候是酱紫啊??? [/quote] 确实是这样。这个算法也太囧了吧,而且运算极其慢啊。[/quote] 1级是最难 各种下不赢啊。。。。。而且速度很快啊!
bountiful 2013-11-23
  • 打赏
  • 举报
回复
学些一下了 O(∩_∩)O谢谢
cuixiping 2013-10-26
  • 打赏
  • 举报
回复
关于五子棋估值函数,国内外有很多已发表的优秀论文可供参考,综合参考是很好的。
neil1984121 2013-10-24
  • 打赏
  • 举报
回复
涉及到棋类比较多用到的是树结构,A-B剪枝算法。权值的计算涉及到一些模糊算法例如用到人工神经网络和概率论等方面的知识。
cuixiping 2013-10-22
  • 打赏
  • 举报
回复
引用 45 楼 zcsor 的回复:
[quote=引用 39 楼 nini_2012 的回复:]
知道有一种是以子为中心,向周围减权,每个点的权为所有权的和,电脑就先权最大的那个下子.不过这种电脑算法一般都下不羸.


有点像历史表……不识别棋型的话,应该会有一些麻烦。不过识别的太清楚貌似也不是好事,我以前识别9种组合,包括已经胜利、长连(成5)、43、42、41、33、32……现在增加到十几种,增强了排序但是除了复杂局面多搜索大约1层,其他的效果不明显,估计也是要找一个平衡点…………[/quote]
这个思路可以

推荐一个javascript五子棋: http://slab.sinaapp.com/gomoku/

cuixiping 2013-10-22
  • 打赏
  • 举报
回复
引用 62 楼 bond1103 的回复:
[quote=引用 36 楼 aspwebchh 的回复:] http://chhblog.com/upload/1/files/games/gobang-1.1-beta/gobang.html 我这里有个javascript版的五子棋, 用了最简单的极大极小博弈算法、alpha-beta剪枝、历史记录排序
3级是最高级吧,为毛我下的时候是酱紫啊??? [/quote] 确实是这样。这个算法也太囧了吧,而且运算极其慢啊。
Lonely_neo 2013-10-21
  • 打赏
  • 举报
回复
引用 36 楼 aspwebchh 的回复:
http://chhblog.com/upload/1/files/games/gobang-1.1-beta/gobang.html
我这里有个javascript版的五子棋, 用了最简单的极大极小博弈算法、alpha-beta剪枝、历史记录排序

3级是最高级吧,为毛我下的时候是酱紫啊???
fengxing 2013-10-19
  • 打赏
  • 举报
回复
很不错!很不错!
独行侠007 2013-10-18
  • 打赏
  • 举报
回复
feiyina 2013-10-17
  • 打赏
  • 举报
回复
很不错的,看一下
shuanzia 2013-10-17
  • 打赏
  • 举报
回复
这已经很不错了,学习了,我之前学习时写的一个象棋,只用了负极大值,但后来使用了置换表加别的,结果感觉在android模拟器上反而慢了,哎
llsshh1985 2013-10-16
  • 打赏
  • 举报
回复
不错啊
xsm121 2013-10-16
  • 打赏
  • 举报
回复
very good! thanks!
方振眉 2013-10-15
  • 打赏
  • 举报
回复
不错呀,五子棋我很喜欢
三断笛 2013-10-15
  • 打赏
  • 举报
回复
引用 52 楼 walkuere 的回复:
[quote=引用 3 楼 xxyj6450 的回复:] 无禁手的不是黑必胜吗?已经有软件了
哪有啊,我就不服[/quote] 好像叫五子棋终结者 地毯式枚举出各种走法
walkuere 2013-10-15
  • 打赏
  • 举报
回复
引用 3 楼 xxyj6450 的回复:
无禁手的不是黑必胜吗?已经有软件了
哪有啊,我就不服
YHL27 2013-10-14
  • 打赏
  • 举报
回复
加载更多回复(41)

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧