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 自带库中有很多囚徒困境模型 我们将一起学习其中的两个 但在开始之前 我们先来完成一个测验 看看目前为止讲的这些 是否已经理解