首页 文章

Minimax算法澄清

提问于
浏览 553
0

对不起,这可能是一个糟糕的问题,我正在尝试实现minimax算法,而我对如何创建'得分'感到困惑 . 我是否需要从一个状态一直到一个胜利状态,或者只是一个层,或者根本不需要制作一个包含各种可能组合的树? EX .

X 0 _ #1
0 0 _ #2
X X _ #3

各州会是 (X1),(X2),(X3) 还是 (X2,01,X3),(X1,02,X3),(X3),(X2,03,X1) ?对于得分,我是否需要深入考虑,或者我只是从这个深度确定最大/最小分数?

1 回答

  • 1

    我认为你很有可能遍历整个树,直到 terminal state ,然后给出一个分数:

    • 1 为Max玩家获胜

    • -1 为闵球员获胜

    • 0 平局

    对于遍历所有可能移动的整个树的游戏而言,计算成本太高(如国际象棋),您可以设置 terminal depth (例如,3或4层到树中)并返回该位置的分数 .

    我想你也在询问评估是否需要考虑它的深度 . 答案是不 .

    您可能会想知道,如果您没有完全遍历树,您如何评估位置?

    有不同的方式,最重要的是做一些事情 efficient (为了更快地走到树下) . 对于国际象棋,有时只计算材料(片)的优势就足以产生一个基本的极小极大评分系统 .

    看国际象棋编程维基的一些很好的解释:https://chessprogramming.wikispaces.com/Minimax

相关问题