我有一个关于Minimax算法的简单问题:例如对于井字游戏,我如何确定每个玩家的效用函数?它不会自动完成,是吗?我必须在游戏中硬编码这些值,它不能自己学习,对吗?
我有一个关于Minimax算法的简单问题:例如对于井字游戏,我如何确定每个玩家的效用函数?它不会自动完成,是吗?我必须在游戏中硬编码这些值,它不能自己学习,对吗?
不,MiniMax算法不会学习。它是一种更智能的暴力搜索树的版本。
井字游戏足够简单,可以运行到结束并为胜利分配1,平局分配0,失败分配-1。
否则,您必须提供一个函数来启发式地确定位置的价值。例如,在国际象棋中,一个重要因素是材料的价值,但也包括谁控制中心或棋子如何移动。
至于学习,您可以将不同方面的权重因素添加到位置上,并通过反复玩游戏来优化这些因素。
学习了这样一种酷炫的教授计算机玩游戏的方法后,我们可能对回到MinMax应用于井字棋不太感兴趣了。毕竟,MinMax是修剪决策树的相对简单的方法,而井字棋的游戏空间非常小,几乎不需要这种方法。但是,如果我们必须(回到MinMax)...
我们可以研究与下一个游戏相关的“火柴盒”,并使用与每个方格相关联的珠子百分比作为额外因素。然后,我们可以评估传统树,但仅深入进行2或3步移动(通常以损失或平局结束的浅层前瞻深度),并根据简单的-1(输)、0(平局/未知)和+1(赢)等级对每个下一步进行评分。通过将珠子百分比和简单评分组合(例如通过加法,而不是乘法),我们能够有效地使用MinMax,这种方法更类似于在无法评估游戏树到底部的情况下使用它的方式。