主要观点:
- 介绍一种新的象棋谜题风格,即给出一个棋局和两个移动选项,一个是失误,一个是最佳移动,以训练识别失误的能力。
- 从 Lichess 游戏数据库中获取真实失误,使用 pgn-reader crate 读取游戏,uciengine crate 用 Stockfish 识别失误。
- 优化 Stockfish 使用以提高识别失误的速度,如减少节点数、提前准备引擎等,还尝试了使用假阳性和调整哈希大小等方法。
- 总结从最初每秒 0.7 个失误到最终每秒 89 个失误的优化过程,虽有些过度优化,但能快速找到 10,000 个棋局中的失误。
- 提出其他潜在优化方法,如放弃优势明显的游戏、根据棋局评估跳过某些移动、使用开局表等。
关键信息和重要细节:
- Lichess 十二月游戏 PGN 文件未压缩时达 223GB,读取 665565 步用 1.79 秒,速度达 370788 步/秒。
- 最初用 Stockfish 识别失误每秒 9.2 步,减少节点数到 10k 后仍约 9.2 步/秒,直接在 Stockfish 中运行约 5ms/步,Rust 侧约 100ms/步。
- 优化后每秒可找到 89 个失误,比最初快 127 倍,还可通过调整哈希大小获得约 15%的提速。
- 提出其他优化方法如放弃优势游戏、根据评估跳过移动、使用开局表等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。