重生之将门毒后19楼:自私的基因

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 18:28:56

《自私的基因》上的一个小实验

自私的基因很久之前就看过了。一直以来对上面的一个实验比较感兴趣。这个实验的内容是在一些特定的环境下,比较了一些竞争策略。实验过程是完全在计算机里面模拟的,比较容易。最近,正好看到老大发起的话题大家都在讨论。于是想起来了这个实验,顺手就做了一下。没有仔细分析我的实验是否有 bug,仅供参考。

如果从各个场景的总得分这一个维度来说诚实还是有好处的:

1. 诚实的 saint 得分 1450100
2. 睚眦必报的 payback 得分 1300150
3. 随心所欲的 chaos 得分 1206100
4. 只会欺骗的 demon 得分 950250

如果是“鼓励诚实、鼓励合作的零和博弈”环境下(arena2:诚实-诚实,各得50分;诚实-欺骗,诚实方得100分;欺骗-欺骗,各得50分):

1. 诚实的 saint 得分 274750
2. 睚眦必报的 payback 得分 200000
3. 随心所欲的 chaos 得分 201750
4. 只会欺骗的 demon 得分 124150

如果是“鼓励诚实、鼓励合作的非零和博弈”环境下(arena6:诚实-诚实,各得100分;诚实-欺骗,诚实方得100分;欺骗-欺骗,各得50分):

1. 诚实的 saint 得分 400000
2. 睚眦必报的 payback 得分 312300
3. 随心所欲的 chaos 得分 250150
4. 只会欺骗的 demon 得分 125800

我设定了以下的参与者(player),他们各自采用的竞争策略是:

1. 创建“圣徒”(saint)player,一味的诚实
2. 创建“混沌”(chaos)player,随机的欺骗或诚实
3. 创建“恶魔”(demon)player,一味的欺骗
4. 创建“睚眦必报”(payback)player,除非对手撒谎,否则自己诚实

同时,我设定了几个竞争的环境(arena):

1. arena1:诚实-诚实,各得50分;诚实-欺骗,欺骗方得100分;欺骗-欺骗,各得50分
2. arena2:诚实-诚实,各得50分;诚实-欺骗,诚实方得100分;欺骗-欺骗,各得50分
3. arena3:诚实-诚实,各得50分;诚实-欺骗,欺骗方得100分;欺骗-欺骗,各得0分
4. arena4:诚实-诚实,各得50分;诚实-欺骗,诚实方得100分;欺骗-欺骗,各得0分
5. arena5:诚实-诚实,各得100分;诚实-欺骗,欺骗方得100分;欺骗-欺骗,各得50分
6. arena6:诚实-诚实,各得100分;诚实-欺骗,诚实方得100分;欺骗-欺骗,各得50分

这些参与者在这些环境中博弈 1000 次结果如下(原始数据下载):

我把代码提交到了 google code 上面(实验),一方面是希望广大同学们帮忙验证、分析一下数据,同时帮忙看看代码有没有 bug;另一方面也欢迎大家投稿 player 或者 arena,看看谁的竞争策略能拿更高的分数。

欢迎大家拍砖!

PS: 代码很难看,大家就包涵哈 :)

©2011 乌托邦. All Rights Reserved.