📜  解决Impartial游戏问题的一些技巧

📅  最后修改于: 2021-09-24 05:00:46             🧑  作者: Mango

如何解决“博弈论”中属于 Finders 门将类别的问题?

注意- Finders 守门员游戏属于“博弈论”中的“公正游戏”类别。

什么是“公正游戏”?

让两个玩家“A”和“B”之间进行游戏。如果双方的棋步相同,则称他们之间的博弈是“公正的”。在游戏的特定时刻选择哪个移动取决于游戏的状态。

发现者守门员游戏

策略

例子:

  1. AB在一组 20 个硬币上玩一个 FINDER-WINNER 游戏。一个玩家在他的移动中可以移除最少 5 个硬币最多 7 个硬币如果 A先开始并且两个玩家都发挥最佳,则预测游戏的获胜者。

    根据 FINDER-WINNER 的给定策略:

    A 获胜A必须将硬币数量移除为 (a + b)的倍数。 20的 (a + b) 的最近倍数是12 。所以A可以从集合中扣除 567 个硬币,这样他无论如何都不能达到 12 个。因此,对于B采取行动,他将剩下151413 个硬币。现在A 的下一步行动对应的状态是(10, 9, 8) , (9, 8, 7)(8, 7, 6) 。由于B也在以最佳方式进行游戏,因此他会将A移动的硬币数量保持在 7 以上,这样A 就无法获胜。因此,他将在最后一步移除至少 1 个硬币并获胜。

  2. AB在一组 20 个硬币上玩一个守门员-输家的游戏。一个玩家在他的移动中可以移除最少 2 个硬币最多 5 个硬币如果 A先开始并且两个玩家都发挥最佳,则预测游戏的获胜者。

    根据给定的 KEEPER-LOSER 策略:

    A 获胜A必须将硬币数量移除为(a + b)k + [1, a]的倍数。这里a + b = 7
    现在,为了发挥最佳效果,让我们看看A在接下来的几轮中会做什么。如果A将一组硬币减少到15 个,其形式为(2 + 5) * 2 + 1,因为它可以通过从一组20 个硬币中移除 5 个硬币来达到。从这里B可以从 [2, 5] 中取出任意数量的硬币,我们将其命名为cA现在的主要策略是在他的动作中去除7-c。

    为什么会这样?

    假设在15之后, B通过拿走5 个硬币将集合减少到10。现在 A 的最佳策略是移除2 个硬币。如果他这样做,则该集合减少到8 个硬币。现在从这里B可以通过分别移除(2, 3, 4, 5) 个硬币将集合减少到(6, 5, 4, 3)。再次从这里开始, A的主要想法是拿走7-c 个硬币,这将保留1 个硬币让B移除。因此A获胜。

如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程学生竞争性编程现场课程。