首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在国际象棋中,如何分配移动的最小值或其他策略?

在国际象棋中,如何分配移动的最小值或其他策略?
EN

Stack Overflow用户
提问于 2016-10-05 20:21:42
回答 3查看 1.4K关注 0票数 1

我试图了解如何分配的价值观,在人工智能国际象棋战略不同的动作。例如,用户有3个选择这些移动有值:移动车+ 3,移动皇后+2,移动典当-3等等。

那么,什么是代表这些数字,移动对手有多少或项目对手可以击败(如果击败一辆车是+2,如果击败一个棋子是0)?

如果我的问题混淆了,很抱歉。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-05 21:59:35

想象你可以玩到最后的每一个位置。在这种情况下,每一个最后的位置要么是白色的胜利,要么是黑色的胜利,或者是平局。使用Minimax算法,您可以计算开始位置上的每一个移动,无论是赢、输还是平局。

例如,如果白色下一步移动,而它的移动之一是获胜,之前的位置必须失去黑色(这里我们假设两个球员都是完美的,只会发挥最好的移动)。如果白色没有获胜的移动,但一些移动平局和一些将松散,它将不会玩松散的移动,所以之前的位置必须绘制为黑色。依此类推,直到你终于到达起点。

然而,这是不可行的,因为可能的移动数量爆炸过快,即使您使用更先进的算法。这就是为什么国际象棋引擎在几步棋之后停下来并调用评价函数的原因。这个函数为每个职位分配一个分数。这些分数是你在问题中描述的数字。

每个引擎都有一个独特的评估功能,但都共享最基本的国际象棋知识:

  • 材质(一卒+100,骑士/主教+300,鲁克+500,女王+900)
  • 机动性(鼓励发动机向中心移动)
  • 国王安全(弱者可以很容易地交配,除非是终局)
  • 过去的典当
  • 典当结构(应避免双卒或孤立卒)

通常,你在输出中看到的分数是四舍五入的。例如,+1.09是大约一个典当的优势。这可能是因为一方在相同的位置上有一个更多的棋子,或者是材料是平等的,但是一方有一些位置优势。

票数 1
EN

Stack Overflow用户

发布于 2016-10-05 20:52:23

我也可以补充说,实际上你评估的是头寸,而不是移动。

位置值可计算为棋子之和(棋子= 1,骑士= 3,主教= 3.2,鲁克= 5,皇后= 9),黑色负值。

复杂的算法还考虑了典当结构、打开文件/对角线的控制、中央方格的控制等。

不管怎样,这个职位有一定的价值。因此,移动值是在板上移动时所达到的位置的值。

我希望这会有所帮助:)

票数 1
EN

Stack Overflow用户

发布于 2016-10-07 03:27:52

要将一个数字分配给国际象棋位置,我们使用

  • 数一数黑板上的白纸黑字
  • 数一数棋子的位置,例如,排名第七位的车是很结实的。
  • 数一数棋子可以攻击的方块数,特别是那些没有防御的方块。
  • 数一数方格数在敌人国王附近攻击。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39883005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档