如何解决“博弈论”中属于 Finders 门将类别的问题?
注意- Finders 守门员游戏属于“博弈论”中的“公正游戏”类别。
什么是“公正游戏”?
让两个玩家“A”和“B”之间进行游戏。如果双方的棋步相同,则称他们之间的博弈是“公正的”。在游戏的特定时刻选择哪个移动取决于游戏的状态。
发现者守门员游戏
Let two players A and B playing a game on a pile of coins. Each player has to remove a minimum of ‘a’ coins or maximum of ‘b’ coins from the pile in his turn until there are less than ‘a’ coins left.
Types:
- Finder-Winner -> In this format the player to play the last move wins.
- Keeper-Loser -> In this format the player to play the last move loses.
策略
Note- If there are less than ‘a’ coins available then last player to move must pick all coins.
- FINDER-WINNER: Let ‘A’ be the player to start. For a game of FINDER-WINNER the main strategy is to reduce the present number coins to a multiple (a+b) for ‘A’ to win the game. Else he loses and ‘B’ wins.
- KEEPER-LOSER: Let ‘A’ starts the game. For ‘A’ to win the game the main condition for winning it is to reduce the pile of coins to – (a+b)k + [1, a], i.e. the number of coins can be reduced to more then a multiple of (a+b) by [1 upto a]. If he can do so he wins else ‘B’ wins.
例子:
- 让A和B在一组 20 个硬币上玩一个 FINDER-WINNER 游戏。一个玩家在他的移动中可以移除最少 5 个硬币和最多 7 个硬币。如果 A先开始并且两个玩家都发挥最佳,则预测游戏的获胜者。
Given number of coins = 20.
Minimum coins that can be removed = 5 – Let it be ‘a’.
Maximum coins that can be removed = 7 – Let it be ‘b’.根据 FINDER-WINNER 的给定策略:
A 获胜: A必须将硬币数量移除为 (a + b)的倍数。 20的 (a + b) 的最近倍数是12 。所以A可以从集合中扣除 5或6或7 个硬币,这样他无论如何都不能达到 12 个。因此,对于B采取行动,他将剩下15或14或13 个硬币。现在A 的下一步行动对应的状态是(10, 9, 8) , (9, 8, 7)和(8, 7, 6) 。由于B也在以最佳方式进行游戏,因此他会将A移动的硬币数量保持在 7 以上,这样A 就无法获胜。因此,他将在最后一步移除至少 1 个硬币并获胜。
- 让A和B在一组 20 个硬币上玩一个守门员-输家的游戏。一个玩家在他的移动中可以移除最少 2 个硬币和最多 5 个硬币。如果 A先开始并且两个玩家都发挥最佳,则预测游戏的获胜者。
Given number of coins = 20.
Minimum coins that can be removed = 2 – Let it be ‘a’.
Maximum coins that can be removed = 5 – Let it be ‘b’.根据给定的 KEEPER-LOSER 策略:
A 获胜: A必须将硬币数量移除为(a + b)k + [1, a]的倍数。这里a + b = 7 。
现在,为了发挥最佳效果,让我们看看A在接下来的几轮中会做什么。如果A将一组硬币减少到15 个,其形式为(2 + 5) * 2 + 1,因为它可以通过从一组20 个硬币中移除 5 个硬币来达到。从这里B可以从 [2, 5] 中取出任意数量的硬币,我们将其命名为c 。 A现在的主要策略是在他的动作中去除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 现场工作专业课程和学生竞争性编程现场课程。