8.2 囚徒困境
在这一小节中 我们将一起来学习“囚徒困境”
“囚徒困境”模型是社会学和政治学以及其他学科中
最早的研究“合作”的理想模型
囚徒困境建立在一个假想的故事基础上
故事的情节如下
Alice 和 Bob 协同实施犯罪
然后他们被捕并入狱
他们不允许互相说话
他们不可能有任何交流的机会
警察提出了一笔交易
让其中一个人检举另一个人
因为警察没有足够的证据来证明他们有罪
所以希望让他们互相检举对方
警察提出的交易是
如果他们两人都不作证
那么警察将为他们减刑
这样两人都将被判五年徒刑
然而 如果 Alice 保持沉默
但 Bob 决定检举 Alice
那么 Alice 将被判无期徒刑
而 Bob 则将被释放
对 Bob 也是一样 如果 Bob 保持沉默
Alice 检举了他 那么他也会在狱中度过余生
而 Alice 则将获得自由
如果两人都互相揭发
那么两人都将获得十年徒刑
他们两人都面对同样的交易
他们没有任何的交流机会来决定如何选择
他们应该检举对方 还是保持沉默？
如果你是 Alice 你怎么办？
Alice 的想法可能会是这样的
假如 Bob 不说话 而自己也不检举 Bob
那么自己将被关五年监狱
但如果她检举 Bob 那么她会获得自由
所以如果是这样想的话 那么她应该揭发 Bob
现在假设 Bob 检举了 Alice
这样的话 那么如果 Alice 保持沉默
她将被关一辈子
如果她也检举 那么她将被关十年
当然这比关一辈子好
所以这样考虑的话 她也应该检举Bob
但有一个问题是
Bob 也是这样想的
最终的考虑结果是 他也应该检举
那么会发生什么呢
他们两人都决定检举对方 然后二人双双入狱被关十年
但如果两人互相合作 保持沉默的话 他们都将被关五年
但问题是 什么能确保他们保持沉默
“囚徒困境”问题最早由两个数学博弈论家
Flood 和 Dresher 于1950年提出
此时正是美国和前苏联冷战的高峰时期
这个模型被用于隐喻真实世界的合作事务
包括军备竞赛 战争 全球变暖以及其他很多现象
同时 它也是社会学中最著名 最有影响力的理想模型之一
如果你是一个社会学家 我想你应该早就听说过
我们可以从谷歌学术（Google Scholar）页面
看出它的名声和影响力
搜索“Prisoner's dilemma”的结果多达34,000条
由 Garret Hardin 提出的另一种版本
被称为著名的“公地悲剧”（Tragedy of the commons）
“悲剧”的意思是 “不合作”通常是某个个体最常见的偏好
但如果每个人都不合作的话
那么每个人都会得到最坏的结果
用政治家 Robert Axelrod 的话说
"每个人都追求自身的利益，最终导致的是集体的悲剧。"
Robert Axelrod 是密歇根大学的政治学教授
他对囚徒困境及其变体进行了三十余年的研究
他在这一领域撰写了多部具有影响力的著作
其中一部是《合作的进化》（The Evolution of Cooperation）
另一部是《合作的复杂性》（The Complexity of Cooperation）
根据 Axelrod 的观点 他对有效策略的主要学习动机
是寻找出 国际政治中如何能促进合作的发生
尤其是对冷战中的东西方阵营
而主要的问题是 如何能让合作在
一个充满自我主义者且没有中央集权的世界中形成
当然 这到现在也是一个非常重要的问题
当科学家们进行“囚徒困境”研究时
他们通常将这个情景描绘成一个两人参加的“游戏”
因此我们的两个玩家就是 Bob 和 Alice
那么 Bob 和 Alice 决定互相合作
对应于我们的故事中 两人均保持沉默
或者互相背叛 这对应于两人检举对方的情况
他们将会获得某种“报酬”（payoff）
这个报酬由这个“报酬矩阵”（payoff matrix）所给出
现在我们要把目光从监狱实验转移开
我们假设 报酬越高越好
在这个报酬矩阵中 如果 Alice 和 Bob 两人都合作
Alice 将获得3分 用红色表示
Bob 也得到3分
如果 Alice 合作 而 Bob 背叛
Alice 得到0分 Bob 得到5分
如果 Alice 背叛 而 Bob 合作
Alice 得到5分 Bob 得到0分
如果两人都背叛的话 两人都获得1分
这些得分数字和我们在监狱实验中类似
但想法是一样的
Alice 会考虑 如果 Bob 合作
对她来讲最好的办法就是背叛
如果 Bob 背叛 那对她来说最好的办法也是背叛
所以无论哪种情况 Alice 应该选择背叛
同样的 最终的目标还是使自己的得分越多越好
无论对方的得分如何
因此这不是一个竞争游戏
而是每个个体都要尽量使自己的得分达到最大
在一轮游戏中 每个玩家都要作出选择 要么合作 要么背叛
之前两个玩家间不能有任何交流
Axelrod 的问题是
假设这个游戏反复进行
也就是说 玩家反复进行多轮游戏
并且记住前一轮对方玩家的选择
那么 会有可能引发两人的合作吗？
为了研究这一问题
Axelrod 设计了两次锦标赛
他邀请了非常著名的政治家 其他的社会学家 数学家 博弈论家
来提出他们自己的策略
然后用这些策略 通过循环赛的方式进行重复的实验
也就是说 每个人的策略将和其他所有人的策略进行比赛
很多人提交了非常复杂的策略
建立了非常复杂的统计学模型
适用于其他很多种情况
并且进行了非常大量的计算
所有这些策略都用计算机程序的形式给出
结果是 两次锦标赛的最终赢家
都是最简单的一种策略 被称为“以牙还牙”（Tit for Tat）
由数学家 Anatole Rapoport 提出
Tit for Tat 策略是 一开始选择合作
然后在接下来的每一轮中
选择的结果就是对手上一轮的选择
所以如果上一轮对手选择了合作
那么 Tit for Tat 也选择合作
如果上一轮对手选择了背叛
那么 Tit for Tat 也选择背叛
也就是以牙还牙 以暴制暴
听起来很简单 但这种策略最终赢了
Netlogo 自带库中有很多囚徒困境模型
我们将一起学习其中的两个
但在开始之前 我们先来完成一个测验
看看目前为止讲的这些 是否已经理解