博弈论入门-取石子游戏

引导游戏

  1. 玩家:2人

    2. 道具:23张扑克牌

    3. 规则:

  • 游戏双方轮流取牌
  • 每人每次仅限于取1张、2张或3张
  • 扑克牌取光,则游戏结束
  • 最后取牌的一方为赢家。

什么是组合游戏?

  • 有两个玩家
  • 游戏的操作状态是一个有限的集合(比如:限定大小的棋盘)
  • 游戏双方轮流操作
  • 双方的每次操作必须符合游戏规定
  • 当以放不能将游戏继续进行时,游戏结束 ,同时,对方为获胜方
  • 无论如何操作,游戏总能在有限次操作后结束

概念:必胜点N和必败点P

必胜点(N):下一个选手将取胜的位置称为必胜点。

必败点(P):前一个选手将取胜的位置称为必败点。

必胜点N和必败点P属性:

  • 所有终结点时必败点P
  • 从任何必胜点操作,至少有一种方法可以进入必败点
  • 无论如何操作,从必败点都只能进入必胜点

取子游戏算法实现:

  • 步骤一:将所有终结位置标记为必败点
  • 步骤二:将所有一步操作能进入必败点的位置标记为必胜点
  • 步骤三:如果从某个点开始的所有一步操作都只能进入必胜点,则将该店标记为必败点
  • 步骤四:如果在步骤三未能找到新的必败点,则算法终止,否则返回步骤二。

栗子:
set:1 3 4
x:0 1 2 3 4 5 6 7 8 9 10 11 12 13
k:p n p n n n n p n p n n n n

猜你喜欢

转载自www.cnblogs.com/Roni-i/p/9084989.html