分享一个 py 写的中国象棋 ai,实力可以爆杀我

2022-11-22 15:32:37 +08:00
 icybee

其实也不完全是分享这个 ai 代码,更多是分享这个故事。当然,这个 ai 代码已经放 github 了:

https://github.com/bupticybee/XQPy

说来也挺有意思,20 年的时候写过一个 py 版本的象棋 ai https://github.com/bupticybee/elephantfish ,全部代码就 100 多行,实现完发现 ai 很弱,就我都能随便爆杀的水平,实现完了之后挺失望的,感觉没整好这个活。

两年多下来项目 issue 区倒是没有多少讨论,star 也不怎么多,我以为这事就这么完了。(唯一比较高质量的讨论是有一个小伙子魔改出了揭棋 ai ,接到线上一打还挺强的)

结果这两天网上冲浪的时候,偶尔就发现,居然有两伙人,都做了非常类似的事情,一伙是

https://devforum.nvidia.cn/forum.php?mod=viewthread&tid=11369

这篇文章里边的,他是把我 20 年写的这个 ai 做了一个象棋机器人,有机械臂的那种,挺有意思,但是我想说小伙子你这个下完棋要手动接一遍电路是不是有点秀。

另一伙人是大学生,也是用我的代码,然后使用了看起来更先进一点的机械臂,也做了一个象棋机器人,居然还得了个什么的一等奖:

http://aijishu.com/a/1060000000361674

看到的时候心情挺复杂的,一方面有人愿意使用我的代码肯定很开心,但是另一方面,这个活我没整好啊,ai 的棋力其实不是很强,连我都下不过,我不知道这两伙人接入这个代码的时候是什么心情。

所以这两天就寻思着能不能整个好点的活,把 python 的象棋 ai 棋力整高一点。于是乎就有了文章开头的项目,思路倒是不复杂,基本就是把象眼的 js 版本整个翻译成了 py ,而且有了之前的象棋 ai 的经验,过程其实蛮顺利的,这回整完了这个活,我和 ai 下了一下,终于是可以稳定下过我了,于是我放心了,感觉这回稳了,之后要是有人想用我的代码整活,我至少能拍胸脯说,这玩意还是有点实力的。

哈哈,全剧终,大家可以打打看,看看能不能打过这个 ai

3082 次点击
所在节点    分享创造
17 条回复
JeffGe
2022-11-22 16:01:16 +08:00
可以啊,为你点赞
lookStupiToForce
2022-11-22 16:09:28 +08:00
感谢分享
顺带问一下,有实现残局输入吗?
yuhangch
2022-11-22 16:18:39 +08:00
release 是一个小时之前,帖子 45 分钟之前,看来 OP 写这些字用了 15 分钟🐶
这故事真棒,自己做的东西能帮到别人心里真的很爽
icybee
2022-11-22 16:33:52 +08:00
@yuhangch 哈哈是的,不过也伴随着责任,感觉自己没写好的时候是真的难受
icybee
2022-11-22 16:34:46 +08:00
@lookStupiToForce 有呀,你可以在这里 https://github.com/bupticybee/XQPy/blob/main/play_against_ai.py#L18 直接改 fromFen 变成残局的就行啦
lookStupiToForce
2022-11-22 16:42:08 +08:00
@icybee #5 了解,谢谢
你这一说我才看懂那串字符串😂
dorothyREN
2022-11-22 16:48:26 +08:00
我想知道 两个 ai 对打会怎么样
icybee
2022-11-22 16:50:14 +08:00
@dorothyREN 哈哈大概会和棋吧?
icybee
2022-11-22 16:52:00 +08:00
@lookStupiToForce 那个字串是标准的中国象棋 fen 格式,可以在这个网站上排完了复制就行 https://play.xiangqi.com/editor/
lookStupiToForce
2022-11-22 16:54:23 +08:00
@icybee #9 感谢指北🥰确实第一次了解这个,还以为是 op 你单独的实现
icybee
2022-11-22 16:57:43 +08:00
@lookStupiToForce 哈哈那肯定不是
findex
2022-11-23 06:46:49 +08:00
支持一下
icybee
2022-11-23 08:13:26 +08:00
@findex thx~
Usaki
2022-11-24 16:55:57 +08:00
有没有国际象棋的
icybee
2022-11-24 17:32:15 +08:00
beneo
2023-04-23 14:58:21 +08:00
V 友,邮件联系您了,求个联系方式
icybee
2023-04-26 16:21:45 +08:00
@beneo 微信吧,892009517

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/897110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX