用python简单画小动物_一个简单但强大的国际象棋引擎,用Python编写

太阳鱼是一个用Python编写的简单而强大的国际象棋引擎,适合教学和实验。它基于MTD-bi搜索算法,具备经典和现代的象棋技巧,支持弃子和晋升。虽然不支持某些高级功能,如小兵晋升和重复局面抽签,但可通过改进其评估功能和实现更多象棋规则来增强其性能。此外,它可以与各种图形界面配合使用,如Pychess和Arena。
摘要由CSDN通过智能技术生成
e53c34cd08ff80f28aaf2b6e143288c2.png

太阳鱼

太阳鱼是一个简单但强大的国际象棋引擎,用Python编写,主要用于教学目的。没有表格和它简单的界面,它只需要111行代码!

因为Sunfish很小,并且力求简单,所以代码为实验提供了一个很好的平台。人们用它来测试并行搜索算法,实验评估功能,开发深入学习的国际象棋程序。今天分叉,看看你能做什么!

截图

My move: g8f6 8 ♖ ♘ ♗ ♕ ♔ ♗ · ♖ 7 ♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙ 6 · · · · · ♘ · · 5 · · · · · · · · 4 · · · · ♟ · · · 3 · · · · · · · · 2 ♟ ♟ ♟ ♟ · ♟ ♟ ♟ 1 ♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜ a b c d e f g hYour move:

快跑!

太阳鱼是自含在sunfish.py存储库中的文件。我建议用pypy或pypy3为了最佳的性能。

还可以使用图形界面运行Sunfish,如皮切 , 竞技场或者你选择的国际象棋界面。太阳鱼可以通过Xboard命令/CECP协议pypy -u xboard.py..鲁西·西尔维卡关于使它在Windows上工作的注意事项 .

这是小编准备的python入门学习资料,关注,转发,私信小编“01”即可免费获取!

723d5bdfceff163de673c09364a4a3c8.png

特征

  1. 建立在简单,但致命有效的MTD-bi搜索算法周围。
  2. 充满了经典的和现代的“象棋引擎技巧”,为更简单和更快的代码。
  3. 易于自适应的评估功能,通过片方表。
  4. 使用标准Python集合和数据结构来提高清晰度和效率。

局限性

太阳鱼支持抛弃,传递和推广。然而,它不做小的推广或抽签通过重复。所有输入都必须用简单的“两个坐标”符号来完成,如屏幕截图所示。

有很多方法可以让太阳鱼更强壮。首先,可以将表示法改为可变数组,并添加一种快速枚举片段的方法。然后,您可以实现专门的捕获生成、检查检测和检查规避。您还可以将所有内容移动到位板,在C中实现部分代码,或者进行并行搜索的实验!

让太阳鱼更强壮的另一个方法是让它更多地了解国际象棋。目前的评估功能只使用片方表-它甚至没有区分游戏中和游戏结束。您还可以尝试更多的剪枝-目前只完成空移动-并且扩展-目前没有使用。最后,太阳鱼可能会受益于更先进的移动订购,MVV/LVA,看到了吗?

为什么是太阳鱼?

“太阳鱼”这个名字实际上指的是侏儒太阳鱼,这是以字母“Py”开头的少数几条鱼之一。使用鱼的精神是伟大的引擎,如斯托克菲什,扎帕和雷布卡。

在遗产方面,太阳鱼借用的更多。格尔特·穆勒(Geert Muller)皮切 .

2bc09828a9e301ebe709d2e79a5f01fc.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值