Stockfish 19 发布:Elo 狂涨 44 分

Stockfish 19 正式发布,这款开源国际象棋引擎在测试中对比 Stockfish 18 实现了高达 44 分的 Elo 提升,胜率更是对手的三倍以上。此次更新引入了 SFNNv16 神经网络架构,通过移除冗余特征并增加兵对特征,在增强棋力的同时减小了二进制文件体积。此外,项目全面转向通用二进制文件,自动适配 CPU 特性,并新增了对 RISC-V、LoongArch 及 WebAssembly 的原生支持。团队还实施了更严格的棋盘位置验证机制,确保引擎在遇到无效指令时能立即报错终止。这一切成就离不开社区贡献者提供的海量算力与代码支持。
无论你能贡献数小时还是数天的 CPU 时间,你的帮助对于 Stockfish 的持续开发都至关重要。
HN 评论区
102- strenholme
一个有趣的 Bug 或性能回退。
让我们来看著名的卡斯帕罗夫对阵托帕洛夫(1999 年维克安泽)的那局棋,观察托帕洛夫接受卡斯帕罗夫弃车后的局面:
https://samboy.github.io/blog/Kasparov.html#RookSacAccepted - https://lichess.org/lwiPq9wB#48 - 白方走棋
FEN: b2r3r/k4p1p/p2q1np1/Np1P4/3p1Q2/P4PPB/1PP4P/1K2R3 w - - 0 25
在 Stockfish 18 中运行该局面,深度设为 25:[1] 结果显示白方领先 3.53 兵——即白方明显胜势。
然而,在 Stockfish 19 中运行同一局面,深度 25 时,Stockfish 19 认为虽然白方占优,但优势仅为 1.2 兵——黑方据称仍有不错的和棋机会。
在深度 35 层时,Stockfish 19 看到了白方明确的胜势(领先 6.79 兵),但与 Stockfish 18 相比,Stockfish 19 需要搜索得更深才能发现胜局。
[1] 运行该局面的命令如下:
position fen b2r3r/k4p1p/p2q1np1/Np1P4/3p1Q2/P4PPB/1PP4P/1K2R3 w - - 0 25
d
go depth 25
我在 Lichess 的 GUI 上也看到了这个问题,访问该 URL 即可:
- nevi-me
为了展示 Stockfish 19 相比 18 强了多少,我以前对 18 是 100% 输,现在对 19 也是 100% 输,而且输得可能更快。是时候启动 En Croissant 看看了 :)
- jan_m_savage
我算是个不错的棋手,但在下了 22000 局棋后,我得出的结论是:国际象棋中的思路和策略高度依赖上下文,很难迁移到现实生活中。
我宁愿把所有时间都用来研读博弈论,或者玩一些有趣的电子游戏,比如《荒野大镖客》。
- RivieraKid
如果我没错的话,几年前版本的 Stockfish 运行在现代 MacBook Air 上,每步棋 1 分钟,只要从初始局面开始,就是无敌的。
即使对手是最新版 Stockfish,每步棋拥有 1000 倍的时间,结果也永远会和棋。
几年前我在 Stockfish 的 Discord 上问过这个问题,如果我没记错的话,当时有人暗示了上述观点。
- haunter
在我看来,GUI 页面有点过时了,或者我不太清楚选择机制是怎么工作的,因为现在有无数的 GUI 选项。总之,一些最好的选项甚至都没被提到,比如:
Nocheto https://nocheto.sallyx.org/(这是我最喜欢的)
ChessMD https://chessmd.org/
PyChess https://pychess.github.io/about/
- stabbles
如果在发布说明里能包含几场“值得注意”的对局就好了。
按理说,应该很容易从基准测试中挑出那些 Stockfish 19 评估值与 18 版差异最显著的对局吧?
- ZiiS
当你需要再多一位小数的精度来决定本该走哪一步,而不是把后送掉的时候,这就派上用场了。
- iamcreasy
不错。
我希望这些引擎能用自然语言解释为什么推荐某步棋,或者某一系列着法,这对学习会非常有用。