如何构建一个国际象棋引擎并失败

2024-11-19

本文作者分享了构建国际象棋引擎的经历和教训。作者尝试通过模仿Stockfish引擎的NNUE网络,创建一个简化的评估函数,用遗传算法训练模型。但由于模型过于简化,缺乏上下文信息,导致评估结果不佳。作者最终认识到,Stockfish的NNUE网络通过考虑每个棋子相对于国王位置的关系,提供了必要的上下文信息,而简化模型无法做到这一点。作者还介绍了调试引擎、置换表、静态搜索和搜索扩展等技术,并讨论了时间管理和提前退出的问题。