发展历程:从“深蓝”到“绝艺”
中国象棋AI的发展大致可以分为三个阶段:

(图片来源网络,侵删)
-
早期阶段(20世纪90年代 - 2025年):暴力搜索与评估函数
- 代表引擎: 象棋大师、旋风、Pikafish(早期的Stockfish移植)等。
- 核心技术: 主要依赖于极大极小算法及其优化版本Alpha-Beta剪枝,AI通过深度搜索(例如搜索10-15层)来评估当前局面下所有可能的走法,选择对自己最有利的一步。
- 核心瓶颈: 搜索深度受限于计算能力,评估函数的设计是关键,但人类专家设计的评估函数(如“车马炮兵”的权重、兵种配合、将帅位置等)很难做到尽善尽美,AI的下法常常会显得“机械”和“短视”。
-
革命性突破(2025年 - 2025年):深度学习与蒙特卡洛树搜索的结合
- 标志性事件: 2025年,腾讯的“绝艺”(FineArt)在UEPC(世界象棋引擎锦标赛)上夺冠,标志着新一代AI的崛起。
- 核心技术: 蒙特卡洛树搜索 与 深度神经网络 的结合,这借鉴了AlphaGo的成功经验。
- MCTS 负责高效地探索巨大的可能性空间。
- 神经网络(包含策略网络和价值网络)取代了传统的人工评估函数,策略网络告诉AI“在当前局面下,哪些走法更有可能获胜”,价值网络则直接评估“当前局面的胜率”。
- 核心优势: AI不再需要人类专家来设计复杂的评估规则,而是通过自我对弈进行学习,能够发现更深层次的、反直觉的棋理,下法变得非常“有大局观”和“人性化”。
-
当前主流(2025年至今):纯神经网络与强化学习的胜利
- 代表引擎: 腾讯“绝艺”的后续版本、象棋“猫”(CatShogi,日本将棋,但理念相通)等。
- 核心技术: AlphaZero架构,这是一种更纯粹的强化学习方法。
- 简化搜索: MCTS的搜索过程可以被一个单一的策略网络所模拟,网络可以直接输出一个概率分布,表示所有可能走法的优劣,从而极大地提升了搜索效率。
- 自我对弈学习: AI通过海量自我对弈,从零开始,不断迭代优化其策略网络和价值网络,它自己就是自己的老师,能够探索出人类棋手从未走过的变化。
- 核心优势: 极高的效率和强大的棋力,现代顶尖的象棋AI已经超越了所有人类顶尖棋手,成为“棋神”。
核心技术详解
搜索算法
搜索是AI思考的基础,它模拟了人类“向前看几步”的过程。

(图片来源网络,侵删)
-
极大极小算法:
- 原理: 从当前局面出发,轮流模拟双方的走法,AI(极大方)会选择对自己最有利的局面(分值最高),对手(极小方)会选择对AI最不利的局面(分值最低),算法通过递归地模拟这个过程,找到在对手最优应对的情况下,对自己最有利的走法。
- 比喻: 像是在下棋时,你设想对手会怎么走,你又会怎么应对,一直推演下去。
-
Alpha-Beta剪枝:
- 原理: 这是Minimax的巨大优化,在搜索树中,如果已经发现某个分支的结局比另一个已经搜索过的分支更差,那么这个分支就没有必要继续搜索下去了,可以直接“剪掉”。
- 比喻: 你在比较两套方案,发现A方案无论如何都比B方案差,那么你就可以停止深入分析A方案,节省大量时间,这是所有早期象棋引擎的核心技术。
评估函数
在传统引擎中,评估函数是AI的“棋感”,它负责给当前局面打分。
- 构成:
- 子力价值: 车(9分)、马(4分)、炮(4.5分)、兵(1分)等,这些数值是经验总结,会根据局面动态调整。
- 兵种配合: 马炮配合、车马炮的联合作战能力等。
- 局面因素:
- 兵种位置: 马被蹩腿、炮架子的多少、兵卒过河的价值等。
- 将帅安全: 将帅是否暴露在攻击线下。
- 控制力: 对关键线路(如九宫、肋道)的控制。
- 空间优势: 子力在前中场的部署。
- 棋型识别: 识别一些特定的有利或不利局面模式,如“空头炮”、“铁门栓”等。
深度学习
这是现代AI的灵魂,它让AI具备了“理解”棋局的能力。

(图片来源网络,侵删)
-
神经网络架构:
- 输入层: 将棋盘状态编码成一个矩阵,通常是一个
10x9的矩阵,每个格子代表一个棋子或空位,用不同的数字或向量来表示(红方用正数,黑方用负数,炮的向量是[0, 0, 1, 0, ...])。 - 隐藏层: 通常由多个卷积层和残差块组成,卷积层负责提取棋盘的局部特征(如棋子之间的相对位置、连线),残差块帮助网络训练得更深,避免梯度消失问题。
- 输出层:
- 策略网络: 输出一个长度为
k的向量(k是所有合法走法的数量),每个元素代表对应走法的概率,它回答了“该走什么?”的问题。 - 价值网络: 输出一个单一的数值(例如在-1到1之间,1代表必胜,-1代表必败),它回答了“当前局面如何?”的问题。
- 策略网络: 输出一个长度为
- 输入层: 将棋盘状态编码成一个矩阵,通常是一个
-
训练方法:
- 监督学习(早期): 使用人类大师的棋谱数据来训练网络,让网络学习模仿人类走法。
- 强化学习(主流): 这是AlphaZero的核心,AI通过自我对弈生成数据。
- 自我对弈: AI自己和自己下棋,直到分出胜负。
- 数据生成: 每一步走法都形成一个
(局面, 走法, 结果)的三元组。 - 目标函数: 网络的目标有两个:
- 策略损失: 让策略网络预测的走法概率,与对弈中实际走法的概率尽可能接近。
- 价值损失: 让价值网络预测的胜负结果,与对弈的最终结果尽可能接近。
- 迭代优化: 通过反向传播算法,根据损失函数来更新网络权重,然后开始新一轮的自我对弈,如此循环往复,棋力不断提升。
关键挑战与难点
- 状态空间爆炸: 中国象棋的合法状态数约为
10^48,远超宇宙中的原子数量,暴力搜索是完全不可能的,如何高效地搜索和评估是核心挑战。 - 评估函数的复杂性: 人类棋手的“棋感”包含了大量模糊、动态的判断,如“棋形”、“厚薄”、“先手”等,这些都极难用明确的数学公式表达给传统AI。
- 搜索与评估的平衡: 搜索太深会占用大量计算资源,可能导致来不及思考;评估太粗略则可能因为“短视”而走出臭棋,如何平衡两者是传统引擎的关键。
- 长线计算: 有些局面需要几十步甚至上百步才能决出胜负,AI需要有超长的计算能力和战略规划能力,这非常困难。
未来趋势
- 更高效的算法: 继续探索比MCTS和AlphaZero更高效的搜索和决策算法,例如基于Transformer等更强大的网络架构。
- 可解释性AI (XAI): 当前顶尖AI像一个“黑箱”,我们不知道它为什么这么走,未来的研究可能更关注如何让AI解释其决策过程,例如高亮显示它认为最重要的棋子和线路。
- 与人类的协作: AI不再是单纯的对手,而可以成为人类棋手最强大的陪练、教练和分析工具,帮助人类发现新的棋理。
- 多模态融合: 结合语音、视觉(如观察棋手的表情)等信息,让AI的理解更接近人类,但这在纯棋类领域需求不大。
中国象棋AI的演进,是一部从“规则驱动”到“数据驱动”再到“自我进化”的史诗,它从依赖人类专家的智慧和经验,发展到通过深度学习和强化学习,自己成为了棋理的发现者和创造者,顶级象棋AI已经成为一个完美的、近乎神明的棋力存在,其背后的算法思想也正深刻地影响着整个AI领域。
