博弈论问题

荒凉一梦 提交于 2019-12-03 06:33:52

对钟长者的课堂总结QwQ

 


 

类型一:一人进行一件事回合制游戏(例如取k样东西,走k步)

解题方法:设dp[i][j][k]...(表示状态)表示在此状态是必胜态还是必败态

然后看这个状态可以转移到那几个状态,如果此状态转移到的所有状态均为必胜态

则此状态为必败态,若此状态的所有转移中有一个为必败态,则此状态为必胜态。

例一:有n件物品,Alice和Bob在进行游戏,Alice为先手,对于每回合,Alice和Bob

可以取走2-5件物品,Alice和Bob均使用最优策略,问Alice是必胜还是必败。

设dp[i]表示到第i件物品时是必胜态(true)还是必败态(false)。

由Alice为先手,每回合可以取走2-5件物品可知,dp[1]=false;

dp[2]=dp[3]=dp[4]=dp[5]=true;

然后遍可以从6-n进行O(4*n)的转移,检验dp[i-2],dp[i-3],dp[i-4],dp[i-5]的值,

如果四个值均为true,则说明无论这个时候怎么取,他的对手在下一轮一定是必胜态,

所以这个时候是必败态,如果四个值里面有大于等于1个false,则证明此时可以用最优策略

转移到对手的那轮是必败态,所以这个时候是必胜态。

例二:

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!