收益矩阵与非传递机制求解
Payoff Matrices & Solving Intransitive Mechanics
非传递机制没有成本曲线可用,它的"解"是各选项的使用比例。Schreiber 与 Romero 第 25 章(p.603–638)用收益表 → 剔除被占优选项 → 找最优反应循环 → 列方程(同一玩家所有可行选项收益相等,概率之和为 1)→ 化三角矩阵求解的流程,求解了带成本、不完全胜负、非对称、五选项、四选项、Game of Malkav 与三人版的石头剪刀布。本页按原书整理,并用线性规划复核:其中 Game of Malkav 与三人版的结果有误,正确值见文中"原书问题"。
为什么需要非传递机制(p.603–606)
传递机制里"更好"有绝对意义,按成本曲线平衡(见 成本曲线与支撑数学);非传递机制里强弱只是两两之间的相对关系,最简单的例子是石头剪刀布(概念见 传递性与非传递性)。它比单一占优策略("石头-石头-石头")多三倍变化,而且可以嵌进更大的游戏,让玩家根据观察实时调整。原书举的例子:
| 类型 | 非传递关系 |
|---|---|
| 格斗游戏 | 普通攻击被防御挡住,防御被投技惩罚,投技被普通攻击打断 |
| RTS(《魔兽争霸》) | 飞行克步兵,步兵克远程,远程克飞行 |
| 回合策略(《高级战争》) | 重型坦克输给反坦克步兵,反坦克步兵性价比低、打不过普通步兵,普通步兵被坦克屠杀 |
| 带载具的 FPS(《光环》) | 火箭筒克坦克,坦克克轻型载具,轻型载具灵活躲火箭 |
| MMORPG 与桌面 RPG | 某些职业在一对一中特别克制某些职业、又被另一些职业克制 |
| TCG 元游戏 | 强势卡组 → 专门克它的反制卡组 → 输给强势卡组的其他卡组又克反制卡组 |
| 不明显的关系 | 狙击手 → 被隐身刺客克 → 刺客被能看见隐身的重装兵克 → 重装兵被狙击手克 |
| 纯数学的关系 | 《万智牌》中 1/3 生物杀死 2/1 先攻生物而存活,2/1 先攻杀死 3/2,3/2 杀死 1/3——设计时未必有意,但结果就是非传递 |
| 诈唬 | 扑克等不完全信息游戏中根据对手过往行为预测其下一步 |
还有一个理由:非传递关系是失控占优策略的紧急刹车——即使不确定游戏是否平衡,任何策略都注定被至少一种反制克制,元游戏能自我纠正。只依赖它是偷懒,但在发售后难以大改平衡的游戏里,有安全网总比没有好。
"解"是什么(p.606–607)
解是每个选项的选择比例(非对称游戏还包括对手的比例),例如"30% 弓手、50% 步兵、20% 飞行"。设计师可以通过调整成本和可得性来设计最优比例:想让昂贵、华丽的无畏舰在正常对局中少见、出场时才显得壮观,就可以有意设定;测试中某策略过于常用时,这种分析也能解释原因。石头剪刀布的直觉解是 1:1:1,偏离它(如 1:2:1 偏向布)对手就可以全出剪刀获利。原书脚注:Rollings 与 Morris 的《Game Architecture and Design》第 3、5 章最早在游戏设计书中记录这种解法。
基本石头剪刀布(p.607–610)
胜 +1、负 −1、平 0(任何分值都可以,这组最方便)。小写 是对手出各手的概率,大写 是我方出该手的期望收益(博弈论称收益 (payoff)):
| r | p | s | |
|---|---|---|---|
| R | 0 | −1 | +1 |
| P | +1 | 0 | −1 |
| S | −1 | +1 | 0 |
。若对手按 出,则 ,最佳反制是一直出布,每局期望 +0.25;哪怕对手只是 ,一直出布仍是最佳——非传递机制很脆弱,稍有偏差就会出现完全占优的反制。
原书给出三条"定理":
- 机制对称时,双方的解相同;
- 所有值得选的策略收益相等(低于其他的就不值得选,高于其他的就会被独占);
- 对称零和游戏中,所有可行策略的收益为 0。
于是 ,解得 。
但这不等于应该随机出:真随机在锦标赛中胜、负、平各三分之一,净得 0,赢不了比赛。人很难装作随机(见 概率直觉与认知偏差),实战中最好的策略是发现并利用对手的模式、同时掩盖自己的模式;1:1:1 只说明长期比例应接近它,任何偏离都会给对手明确的反制,直到你调整回来。
带成本:石头赢算双倍(p.610–611)
收益表中 R 对 s 为 +2、S 对 r 为 −2。,全部为 0,解得 。反直觉的是多出的是布而不是石头:剪刀风险太大,没人愿意出;既然对手很少出剪刀,布几乎不会输。对应到格斗游戏(攻击克投技、投技克防御、防御克攻击):若成功投技的伤害是攻击或防御的两倍,预计攻击的使用次数是投技或防御的两倍(脚注:把防御理解为成功后可以发动一次无法防御的反击)。
不完全胜负与单位成本(p.612–613)
骑士克弓手、弓手克龙、龙克骑士;同类相遇同归于尽,收益为 0。骑士杀弓手但掉 20% 血,弓手杀龙但掉 40% 血,龙杀骑士毫发无伤;骑士 50 金、弓手 75、龙 100。把损失换算成金币作为收益(零和):骑士对弓手 ,弓手对龙 ,龙对骑士 +50(龙没有损失,造价不计入):
| k | a | d | |
|---|---|---|---|
| K | 0 | +65 | −50 |
| A | −65 | 0 | +70 |
| D | +50 | −70 | 0 |
,解得 ,即 (本 wiki 用线性规划复核无误)。三种单位用得相当平均,骑士略多、弓手略少;想让龙少见就调整成本或伤害。一个对象的小改动会对其他对象产生难以预料的影响,最简单的是放进电子表格手调或用规划求解 (Solver) 自动调。
原书小问题:骑士对弓手的段落写"弓手一方净赚 65 金",按表格和计算应是骑士一方净赚 65 金;方程组最后一行 "k + a + f = 1" 中的 f 应为 d。
非对称收益:高斯消元(p.614–619)
抽到一张卡"Rock On!":只有玩家 A 用石头赢得 2 分。双方收益不再相等,未知数翻倍:A 的所有可行选项收益都等于 ,B 的都等于 (零和)。把方程写成增广矩阵,用三种不改变解的行变换——交换行、整行乘常数、两行相加——化成三角形式(对角线以下为 0、对角线非 0),再从最后一行往上回代:
得 ,即 B 应按 4:5:3 出,同时求出 。对 B 的收益矩阵做同样操作,A 应按 3:5:4 出(两人石头和剪刀的比例互换)。A 的优势只有每局 1/12——12 局只多赢 1 局,比直觉小得多。(本 wiki 线性规划复核:博弈值 1/12,两方策略与原书一致。)矩阵与行变换的基础见 马尔可夫链与状态机概率。
更多选项(p.619–623)
- 石头剪刀布蜥蜴史波克:五个选项各克两个、各被两个克,解为 1:1:1:1:1。
- 加入"炸药":炸药克石头和布、被剪刀克。布与炸药都输给剪刀、都赢石头,而炸药还赢布——布被炸药占优 (dominated),永远不该出。直接按"所有收益相等"去解会得到小于 0 或大于 1 的荒谬概率,因为布的收益严格更低。做法是反复剔除被占优的选项,剔除后就是把布改名为炸药的普通石头剪刀布。
- 加入"电钻":电钻克石头、输给布、与剪刀打平(与剪刀相反)。没有被占优的选项,但消元时出现全 0 行和重复行,不存在唯一解:,概率须在 0–1 之间,所以 。下界是普通 1:1:1(电钻不出),上界是剪刀、电钻各一半(石头和布不出),中间有无穷多个最优策略,例如 。剪刀在所有最优策略中都不可缺少。哪个最好取决于对手是否理性、会不会失误、对彼此了解多少;假设都完美执行,它们一样好。原书脚注认为电钻不是好的扩展:有一个最优策略完全不用它,另一个完全不用石头和布,高水平玩家可能根本见不到这些内容。(原书在两处把电钻的概率 误写为 。)
选项数不同:Game of Malkav(p.624–628)
集换式卡牌游戏《Jyhad》(后更名为《Vampire: The Eternal Struggle》)早期的一张卡:所有玩家秘密选择 1–5 的数,打出者可以选 1–6;亮出后各自获得等于所选数的生命,除非有人选了恰好小 1 的数,此时改为失去那么多生命。两人、按零和简化(脚注:加血与扣血的价值其实随双方血量变化)后的收益表(打出者视角):
| o1 | o2 | o3 | o4 | o5 | |
|---|---|---|---|---|---|
| P1 | 0 | +3 | −2 | −3 | −4 |
| P2 | −3 | 0 | +5 | −2 | −3 |
| P3 | +2 | −5 | 0 | +7 | −2 |
| P4 | +3 | +2 | −7 | 0 | +9 |
| P5 | +4 | +3 | +2 | −9 | 0 |
| P6 | +5 | +4 | +3 | +2 | −11 |
没有明显被占优的行或列。原书的方法是追踪最优反应链:对手知道我出 P1 就出 o5,我知道对手出 o5 就出 P4,对手再出 o3,我再出 P2……找到循环 o5→P4→o3→P2→o1→P6→o5,认为只有 o1、o3、o5、P2、P4、P6 有意义,于是在 3×3 子表上消元,得到对手 (/29)、打出者 (/87),卡的价值 点生命——不到三分之一点,不算强。
原书问题(Game of Malkav 的解):最优反应循环不能用来确定均衡策略的支撑集。用原书自己的混合策略检验:对手按 出 o1/o3/o5 时,打出者改出被剔除的 P5,期望收益为 ,远高于 9/29,所以原书的解不是均衡。本 wiki 对完整的 6×5 表做线性规划并用精确分数验证:博弈值为 ;打出者的一个最优策略是 P2 ≈ 45.0%、P3 ≈ 14.3%、P4 ≈ 32.0%、P6 ≈ 8.8%();对手为 o2 ≈ 25.2%、o3 ≈ 28.1%、o4 ≈ 27.4%、o5 ≈ 19.3%(),o1 不出。验证:对手按此策略时,P2/P3/P4/P6 的收益都正好是 110/399,P1 和 P5 更低;打出者按此策略时,o2–o5 都让打出者得 110/399,o1 让打出者得 1/3 更多。"这张卡价值不到三分之一点生命"的结论不变。另外原书回代时写"o1 = 0X/9",与其后的 o1 = 10/29()不符,应为 。求解零和矩阵博弈的通用方法是线性规划(von Neumann 极小极大定理;例如 Dantzig, Linear Programming and Extensions, 1963, 第 13 章),比找循环更可靠。
三人石头剪刀布(p.628–632)
两队对抗时把每队当作一个玩家即可;混战则要考虑所有对手的组合,复杂度随人数暴涨:三人能手算,四人是多数人能接受的上限,六人各有不同选项和非对称收益时要找电脑和职业博弈论专家(脚注:游戏越复杂,人类越久才收敛到最优策略,此时测试与数据分析比数学证明更实用;另一个方案是简化机制)。
规则:三人出同一手或三手各不相同算平局;只出现两种手势时,每赢一人得 1 分、每输一人扣 1 分(零和)。普通三人版的解显然仍是 1:1:1,所以加上"石头赢算双倍"(等价于剪刀输算双倍)。从一名玩家看,把两个对手合在一起;对手组合有 9 种,rp、rs、ps 各有两种顺序:
| rr | rp | rs | pp | ps | ss | |
|---|---|---|---|---|---|---|
| R | 0 | −1 | +2 | −2 | 0 | +4 |
| P | +2 | +1 | 0 | 0 | −1 | −2 |
| S | −4 | 0 | −2 | +2 | +1 | 0 |
原书列出 、、,代入 后得 ,进而 ,,得 ,解为 ,比两人版的 1:2:1 更接近 1:1:1——原书推测三手各异时算平局,使剪刀在三人局中风险较小。
原书问题(三人版的解):
- P 方程中 ps 项应为 (表中 P 对 ps 为 −1),原书写成了 ;即便按原书的方程,代入 后也应是 ,原书漏掉了 。
- 代入展开也有误:按正确的收益式,代入 后应为 、、,原书的 与 也对不上。
- 检验:把原书的 代回表格(用正确的收益式),,,,三者并不相等,所以不是均衡(出石头严格更好)。
- 正确方程(本 wiki 用 sympy 求解并验证 的零和恒等式)的唯一合法解是 ,。原书的定性结论成立:三人版比两人版的 0.25/0.5/0.25 更接近均分。
流程总结(p.632–633)
下图概括原书的求解流程(加上本 wiki 建议的最后一步复核),文字版见图后。
flowchart TD
A["列收益表"] --> B["反复剔除被占优的行和列"]
B --> C["追踪最优反应循环(原书方法)"]
C --> D["列方程:同一玩家的可行选项收益相等,概率和为 1"]
D --> E["三角化 / 代入 / 电子表格求解"]
E --> F{"概率都在 0 到 1 之间且唯一?"}
F -- "是" --> G["代回全表检验:被剔除的选项收益不能更高"]
F -- "否" --> H["存在被占优选项或多个最优解,回到剔除步骤或求解范围"]- 列收益表;
- 反复剔除被占优的选项(某行每一项都不优于另一行),行列都要做;
- 从每个选项出发找最优反应循环,剔除不在任何循环中的选项;
- 剩余选项列方程:同一玩家的收益相等;零和时各方收益之和为 0;对称零和时都为 0;每名玩家的概率之和为 1;
- 求解。求出的 是该玩家的期望得失,所有玩家的 之和说明游戏是零和、正和还是负和;唯一且在 0–1 之间的概率就是最优比例,非对称游戏每个玩家各不相同;
- 多于两人时,以一名玩家为参照,其余合并为一个"对手":三人得到二次方程组,四人三次,五人四次……
本 wiki 的补充:第 3 步不是可靠的剔除规则(见 Game of Malkav),求得的解一定要代回全表检验每个被剔除选项的收益是否不高于 ;两人零和博弈直接用线性规划求解最稳妥。
原书还指出博弈论覆盖更多类型:轮流行动的游戏、可以谈判、威胁、协调的正和游戏等;推荐 Heap 与 Varoufakis 的《Game Theory: A Critical Text》作为入门。
说明:纳什均衡。原书脚注把纳什均衡描述为"收益表中对双方同样有利、玩家会被吸引并停留的位置",并以囚徒困境为例。标准定义是:每个玩家都无法通过单方面改变策略而获益的策略组合(Nash, "Equilibrium Points in N-Person Games", PNAS 36(1):48–49, 1950)。它不要求"对双方同样有利"——囚徒困境的均衡(双方背叛)对双方都比合作差。本章求出的混合策略(如 1:1:1)本身就是纳什均衡。
练习要点(p.633–638)
- 讨论题:对新对手第一手出什么;石头剪刀布中运气与技巧各占多少;传递与非传递机制的区别(第 3 题);同时含传递与非传递元素的游戏(第 4 题);提出一两种新手势并分析其最优策略、判断是否值得加入(第 5、6 题);石头、布、剪刀赢分分别为 时先猜再算最优策略(第 7 题);三人如何最高效地决定先手(奇偶数在两人时没有平局);"一方石头赢双倍、另一方剪刀赢双倍"谁占优(第 9 题);RPS 25、RPS 101 是改进还是更糟。(提取文本缺第 3、5、7 题,本 wiki 渲染 PDF 第 675 页核对补全。)
- 第 9 题的答案(本 wiki 用线性规划求解):博弈值为 0,双方都不占优;石头加倍的一方应按 1:1:1 出,剪刀加倍的一方应按石头:布:剪刀 = 2:2:1 出。
- 支线 25.1:三人版改为"每赢一个对手 +1、每输一个 −1"后,石头/布/剪刀各一人不再是平局(石头 +1、布 0、剪刀 −1),重新求解。(本 wiki 用 sympy 求解:唯一合法解回到 ,与两人版相同。)
- 支线 25.2"街头格斗":快攻 1 伤并克特殊技与投技,重击 2 伤并克快攻,特殊技 3 伤并克投技,投技 4 伤;先求 10 对 10 时的开局最优策略,再求 3 对 10 的非对称情况,终极挑战是求出全部血量组合的策略并写 AI 对战(原书脚注:灵感来自 Nathan Davis 未发表的项目)。
- 支线 25.3"五牌对决"(改编自《幻想水浒传 II》的小游戏):双方各有 1–5 五张牌争夺随机翻开的 1–5 分牌,先到 8 分即胜。"对应出牌"打败随机出牌,"+1"打败对应,"+2"打败"+1"……"对应"又打败"+4",五种策略构成非传递环;要求求出首轮的最优比例。(本 wiki 线性规划:博弈值 0,最优混合为"对应" 7/15、"+1" 1/5、"+2" 1/3,"+3""+4"不用;用原书表或下面更正后的表结果相同。)进阶挑战是写只看当前/历史分牌、双方比分和已出牌的电子表格 AI,要 100% 打败五种固定策略、过半打败随机;终极挑战是写尽可能强的 AI 互相对战。
原书问题(支线 25.3 收益表):原书说明双方五轮都按同一策略出牌,表中数字是得分差。按此逐轮枚举,除"+2 对 +4"外各项都能复现;"+2 对 +4"应为 −5(+2 方赢 2、3 分牌共 5 分,+4 方赢 1、4、5 分牌共 10 分),原书写成 −10,对称位置的 +10 也应为 +5。这个错误不影响最优策略的支撑集和比例(本 wiki 计算,见上)。
出处
- Game_Balance_-_Ian_Schreiber_Brenda_Romero.pdf
- Ian Schreiber & Brenda Romero《Game Balance》第 1 版(CRC Press, 2022, ISBN 978-1-4987-9957-7)第 25 章 Intransitive Mechanics and Payoff Matrices(印刷页 p.603–638)