其实也不完全是分享这个 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
1
JeffGe 2022-11-22 16:01:16 +08:00 via Android
可以啊,为你点赞
|
2
lookStupiToForce 2022-11-22 16:09:28 +08:00
感谢分享
顺带问一下,有实现残局输入吗? |
3
yuhangch 2022-11-22 16:18:39 +08:00
release 是一个小时之前,帖子 45 分钟之前,看来 OP 写这些字用了 15 分钟🐶
这故事真棒,自己做的东西能帮到别人心里真的很爽 |
5
icybee OP @lookStupiToForce 有呀,你可以在这里 https://github.com/bupticybee/XQPy/blob/main/play_against_ai.py#L18 直接改 fromFen 变成残局的就行啦
|
6
lookStupiToForce 2022-11-22 16:42:08 +08:00
@icybee #5 了解,谢谢
你这一说我才看懂那串字符串😂 |
7
dorothyREN 2022-11-22 16:48:26 +08:00
我想知道 两个 ai 对打会怎么样
|
8
icybee OP @dorothyREN 哈哈大概会和棋吧?
|
9
icybee OP @lookStupiToForce 那个字串是标准的中国象棋 fen 格式,可以在这个网站上排完了复制就行 https://play.xiangqi.com/editor/
|
10
lookStupiToForce 2022-11-22 16:54:23 +08:00
@icybee #9 感谢指北🥰确实第一次了解这个,还以为是 op 你单独的实现
|
11
icybee OP @lookStupiToForce 哈哈那肯定不是
|
12
findex 2022-11-23 06:46:49 +08:00 via iPhone
支持一下
|
14
Usaki 2022-11-24 16:55:57 +08:00
有没有国际象棋的
|
15
icybee OP |
16
beneo 2023-04-23 14:58:21 +08:00
V 友,邮件联系您了,求个联系方式
|