AI象棋是怎么下棋的?

本页的答案复述的是本站开源引擎所实现的规则。该引擎遵循亚洲象棋联合会(WXF)规则,行棋、将死与重复局面的两条判定都已实现:用长将或长捉逼成重复局面的一方判负,不是判和。长捉的判定还没有经过官方判例集的校验。凡是答案提到具体局面的,该局面都在所链接的参考页上,由构建过程在发布之前逐一校验。

直接回答

象棋AI(象棋引擎)的原理可以归结为两件事:搜索和评估。搜索是把双方接下来可能的走法一层层展开,评估是给展开到的每个局面打一个分,表示对谁有利、有利多少。引擎选择的,就是在对方也走出最好应着的前提下,最终分数最高的那一步。

搜索:往后看很多步

每个局面下,双方往往都有几十种合法走法,往后看几步,局面的数量就会迅速膨胀。引擎用各种剪枝方法跳过明显没有希望的分支,把算力集中在关键变化上,所以能在短时间里看得很深。将军、吃子这类强制性的着法,引擎通常会看得更远,因为战术往往就藏在这里。

评估:给局面打分

最传统的评估是数子力:车、马、炮、兵各有分值,再加上位置、将的安全、子力是否活跃等因素。近些年,不少引擎改用神经网络来评估局面,让它从大量对局中学会判断,评估也更接近人类的“形势感”。子力大致值多少,可以参考子力价值。

难度是怎么降下来的

给人练习用的低难度,通常是限制搜索深度或思考时间,或者让它有时不走最好的那步。本站的电脑对手有四档强度,不需要账号就能下,还可以要提示。关于它能强到什么程度,可以看象棋AI有多强。

相关问题

AI会从和我下的棋里学习吗?

一般的对弈引擎在对局中不会“记住”你,它每一步都是当场计算的。

AI的走法一定是最好的吗?

不一定。它给出的是在自己搜索范围和评估方法下的最好着法,高水平引擎在绝大多数局面里非常可靠,但并不等于绝对正确。

上盘走一遍

看懂和下出来是两回事。免费对弈,人机或真人,点开就能下。