聪明的对手
Introduction
假设有一种游戏, 共 8 人参加, 每个人都可以在两种操作中选择一种执行:
- 直接获得 13 元
- 和同样做出这种选择的人均分 35 元
直觉上, 由于只要选择行动 2 的人数超过 2, 那么行动 2 的收益就会小于行动 1, 所以笔者选择了行动 1. 但是这一局, 有 4 个人选择了行动 2, 并且在相当多局游戏中, 选择行动 2 的人的均值逼近了 4.5.
随机匹配大厅中所有玩家, 随机取样 8 人进入一局. 因为大厅中的人数相当多, 所以可以认为是独立同分布的. 笔者这时候突然来了兴趣, 开始计算, 当所有赌徒都绝顶聪明的时候, 最优的策略应当是什么.
建模一
我们先忽略人群中可能存在的激进派和保守派的区别, 因为我们这一阶段思考的就是, 当所有玩家都绝顶聪明, 那么令期望收获最高的, 绝顶聪明的策略.
由于决策没有任何参考信息, 所以策略也只有概率 p 选择行动 1, 概率 1−p 选择行动 2.
错误计算一
计算选择行动 1 的人数期望 8p, 选择行动 2 的人数期望 8(1−p). 则两种收益分别为: 13, 8(1−p)35, 计算期望:
13p+835
这个式子非常诡异. 发现当 p→1 的时候, 也就是绝大概率选择行动 1 的时候, 这时候期望应当接近于 13, 但是发现结果明显大于 13. 分析发现这里把人数当成了实数, 也就是说当 0.01 人选择行动 2 的时候, 它会获得 3500 元.
错误计算二
人数应当是离散的. 由于每个人都是一次独立的伯努利试验, 所以人数的分布应当是一个二项分布. 重新计算期望:
81i=0∑8pi(1−p)8−i(i8)(13i+35)=13p+835
计算发现结果和错误计算一一样.
正确计算
因为当 i=8 的时候, 所有人都选择了行动 1, 所以行动 2 的总收益是 0, 而不是 35, 所以式子应该是:
81(i=0∑8pi(1−p)8−i(i8)(13i+35)−p8(1−p)8−8(88)35)=13p+835−8p8(1−p)8−8(88)35=13p+835−835p8
这时候, p=1 时, 期望值 13 就是正确的了.
接下来求期望值的极大值, 求导得: 13−35p7, 解得 p∗=73513≈0.868, 期望约为: 14.25.
建模二
如果我们根据观测到的分布来估计人群的策略, 然后做出对应的选择, 那么最好的策略是什么.
假设人群选择行动 1 的概率是 p, 而在所有玩家中, 只有我们绝顶聪明. 我们会选择两种行动中期望收益更高的一个. 显然行动 1 的收益期望是 13. 对于行动 2, 我们的期望收益应当是这样的式子:
i=0∑7p7−i(1−p)i(i7)i+135
笔者一开始没有想到这个式子的计算方式, 在 DeepSeek 的帮助下, 了解到积分求和法:
i+11i=0∑7p7−i(1−p)i(i7)i+135==i=0∑7p7−i(1−p)i(i7)35∫01tidt∫01tidt
对下面的式子求和:
i=0∑7p7−i(1−p)i(i7)35∫01tidt=35∫01i=0∑7p7−i(t−pt)i(i7)dt=35∫01(p+t−pt)7dt
令 u=p+t−pt∈(p,1), 则 du=(1−p)dt.
35∫01(p+t−pt)7dt=35∫p11−pu7du=1−p35∫p1u7du=8(1−p)35(1−p8)
这个值就是当人群选择行动 2 的概率为 p 时, 我选择行动 2 的收益期望. 这个数等于 13 时, p≈0.6786, 也就是说, 当人群选择行动 1 的概率小于 0.6786 时, 我们选择行动 2 的期望收益就不如行动 1 了.
根据前面的观测, 如果选择行动 2 的人数期望是 4.5=1−p7, 那么 p 的估计值大约是 0.357, 远低于决策临界, 所以我们无脑选择行动 1.
建模三
这种游戏一次匹配到的 8 人, 可能会进行多局, 观测到, 当前一局选择的行动 2 的人较少, 他们获得了更多的收益后, 下一局选择行动 2 的人就会增多.
所以我们可以根据前一局的情况, 动态调整对于 p 的估计, 来动态裁定本局策略.