囚徒困境与合作
(2007-09-12 13:52:41)
下一个
“囚徒困境”(Prisoner's dilemma) 是个有名的博弈问题,非常复杂。笔者并非这方面的专家, 只对此问题做点初级介绍,做块引玉之砖。
囚徒困境作为一个正式问题被提出来是在 1950 年,但这样的困境其实早就存在。一个形象的描述是,两个某件轻罪的同案犯正在被分别审查一项另外他们可能涉及的重罪。他们每个人都有招供和不招两种策略, 所以共有四种结果。而他们面临的处罚是,如果两人都不招,那么他们会因为轻罪而判刑一年;如果两人都招了, 则都会被判刑七年;如果一人招供而另一人不招, 则招供的人将被作为证人对待,连轻罪的处罚都免了, 但不招的人所面临的处罚将是十年徒刑。
如果两个人能够同心同德, 那么最好的选择就是合作,都不招。这样两个人一共的刑期才两年。可是人呀就是自私的,显然自己坦白,对方抗拒的结果对自己更有利,背叛比合作更有利, 所以每个人可能都动小算盘了。
比如,甲会做如下推理: 如果乙不招,而我招了,我马上就可以回家了,好过不招在牢里呆一年;如果乙招了,我不招会面临十年徒刑,而如果招了刑期只有七年。总之还是招了的好。
两个人都会这样思考,因为罪犯很多是很聪明的。结果他们面临一个比合作坏得多的结果:都招了,然后一起在牢里呆七年。这真是聪明反被聪明误。 可是事实就是如此残酷,选择招认就是这个游戏的唯一平衡点, 而结果是很坏的,这就是囚徒困境。
如果这个游戏持续的玩下去 (iterated prisoner's dilemma), 会是什么结果呢?诺贝尔经济学奖获得者 Robert Aumann 发现,理性的玩家会让合作策略(即双方都不招)的结果出现。另外一位政治学家,数学家 Robert Axelrod 上世纪组织了一个这个游戏的比赛(IPD tournament),让大家编写程序来玩这个游戏。这个比赛是循环赛,每局的得分相当于 -1 乘以获得的刑期。他发现偏向合作的程序获得的总分数显著高于偏向背叛的程序。这个游戏的胜利者的策略是所谓一报还一报(tit for tat), 程序只有四行。它的规则是,第一步选择(和同案犯)合作,即不向警方招认;此后每次采用对手上次的策略。略微的改进是此后以小概率选择合作, 即选择宽恕对方若干次 (Tit for Tat with forgiveness)。 Axelrod 总结道,好的策略应该有几个必要条件:
(1)善良 (nice), 即不要首先背叛。
(2)有报复性(retaliating), 要对对方的背叛作出惩罚。听凭对方背叛自己一味合作只是傻瓜。
(3)有宽恕心(forgiving), 当对方停止背叛后, 惩罚也就停止,回归合作。
(4)不好胜 (non-envious), 即不追求赢你的对手。事实上,一个善良策略在单局比赛中总是比对手得分低, 但总得分可能会比别人高。
后来,出现了一种比 tit for tat “更好”的策略。这个策略建立在能有几个选手合作,一些选手可以做牺牲的基础上。最后的结果是他们占据了前三名,但也有另外的选手远远落在后面。这样的策略在某些场景里也有用吧,比如比赛有一个大奖, 并且规则是 the winner takes all。