首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Minimax算法澄清

Minimax算法澄清
EN

Stack Overflow用户
提问于 2016-11-27 02:44:31
回答 1查看 201关注 0票数 0

对不起,这可能是一个糟糕的问题,我正在尝试实现一个极小极大算法,我很困惑如何创建‘分数’。我是否需要建立一棵树,将所有可能的组合从一个状态一直到一个胜利的状态,还是只需要一个层,或者根本不需要?例如。

代码语言:javascript
运行
复制
X 0 _ #1
0 0 _ #2
X X _ #3

美国将是(X1),(X2),(X3)还是(X2,01,X3),(X1,02,X3),(X3),(X2,03,X1)?为了得分,我是否需要考虑深度因素,还是仅仅从这一深度来决定最大/分钟得分?

EN

回答 1

Stack Overflow用户

发布于 2016-12-03 17:07:19

我想你要问的是你是否必须遍历整棵树来评估一个位置。Minimax用于零和游戏,这意味着一方将获胜,另一方将输(或平局)。对于像Tac这样的游戏,很有可能遍历整个树,直到终端状态,并给出一个分数:

  • 1为最大玩家赢得比赛
  • -1为Min玩家赢得比赛
  • 抽签的0

对于遍历所有可能的移动的整个树的游戏,在计算上过于昂贵(如国际象棋),您可以设置一个终端深度(例如,3或4层到树中)并返回该位置的得分。

我想你也是在问,评估是否需要考虑到深度。答案是否定的。

然后你可能会想,如果你不完全遍历树,你如何评估一个位置?

有不同的方法,最重要的是做一些高效的(为了更快地深入到树下)。对于国际象棋来说,有时仅仅计算材料(棋子)的优势就足以产生一个基本的最小评分系统。

请参阅国际象棋编程wiki以获得一些很好的解释:https://chessprogramming.wikispaces.com/Minimax

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40825285

复制
相关文章

相似问题

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