极小化玩家在极小化-极大化算法中是否会最优地进行游戏?

在极小化-极大化算法中,第一位玩家会以最优的方式进行游戏,这意味着它希望最大化自己的得分,而第二位玩家则试图最小化第一位玩家的获胜机会。这是否意味着第二位玩家也会以最优的方式进行游戏以赢得比赛?试图选择某条路径以最小化第一位玩家的获胜机会,是否也意味着在尝试赢得比赛?

我实际上是在尝试解决TopCoder上的一个任务:EllysCandyGame。我想知道我们是否可以在这里应用极小化-极大化算法。那个“双方都以最优方式进行游戏”的陈述真的让我感到困惑,我希望得到一些建议,如何处理这类问题,如果有普遍适用的想法的话。


回答:

是的,你可以在这里使用极小化-极大化算法。

问题陈述中说,游戏的赢家是“在游戏结束时拥有更多糖果的那个女孩。”所以你可以使用的一个合理评分函数是第一位和第二位玩家持有的糖果数量的差异。

这是否意味着第二位玩家也会以最优的方式进行游戏以赢得比赛?

是的。当你评估一个MIN层级时,MIN玩家总是会选择对MAX玩家得分最低的路径。

注意:如果从每一轮中做出移动的玩家的角度来评估每个节点,并在层级之间转换得分,MIN和MAX层级可以使用相同的代码实现。如果得分是糖果数量的差异,你可以在层级之间简单地取反它。

试图选择某条路径以最小化第一位玩家的获胜机会,是否也意味着在尝试赢得比赛?

是的。第二位玩家试图最小化第一位玩家的得分。一个合理的评分函数会让第一位玩家在输掉比赛时得分低于平局。

我想知道我们是否可以在这里应用极小化-极大化算法。

是的。如果我正确理解了这个问题,层级的数量将等于盒子的数量。如果盒子的数量没有限制,你将需要使用n步预判,在极小化-极大化树中评估节点到最大深度。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注