博弈问题

一、博弈问题特点

1.1 状态的阐述

必胜状态,必败状态,必和状态

· 对于特定的状态,如果游戏已经结束,则根据结束时的状态决定必胜,必败和必和。

​ · 如果已经分出胜负的话,那么该状态对于获胜方为必胜状态,对于落败方为必败状态

​ · 如果是平局,那么对于该状态对于双方都是必和状态

· 从特定状态开始,如果存在一个操作将状态变成必败状态,则当前玩家可以选择该操作,当对方操作的时候,对方选手的状态就为必败状态,因此该特定状态对于当前玩家为必胜状态

· 从特定状态开始,如果所有的操作都会将状态变成为必胜状态,那么当前玩家不管选择什么操作,当对手操作的时候,对方都为必胜状态,因此该特定状态对于当前玩家为必败状态

· 从特定状态开始,如果任何操作都不能将状态变为必败状态,但是存在一种操作将状态变为必和状态,则当前玩家选择当前操作,将必和状态留给对方,因此该特定状态对于双方玩家都为必和状态

1.2 最优策略

· 争取必胜。

· 在无法达到必胜的状态下,争取必和

二、例题

913. 猫和老鼠 - 力扣(LeetCode) (leetcode-cn.com)

图片

三、解题思路

由于博弈问题通常没有后效性,即只考虑状态,而不在乎该状态是如何来的,因此可以通过动态规划求解,使用三维数组dp表示状态

四、代码实现