原创 小灰 程序员小灰
听过《罗翔刑法课》的小伙伴,应该都认识一个人:“法外狂徒”张三。
那么,为什么这个世界上会有坏人存在呢?
因为在一个全是好人、相互完全信任的世界里,偶
原创 小灰 程序员小灰
听过《罗翔刑法课》的小伙伴,应该都认识一个人:“法外狂徒”张三。
那么,为什么这个世界上会有坏人存在呢?
因为在一个全是好人、相互完全信任的世界里,偶尔出现的坏人能够获得巨大的竞争优势。
毕竟,遵守规则的好人,很难赢过没有底线的坏人:
那么,既然坏人这么有优势,为什么不是所有人都去当坏人呢?
当然不行,如果一个社会里的坏人太多,人和人之间永远都在相互防范,合作效率非常低。
这时候,如果有一批好人组成一个信任联盟,这批好人就会在竞争当中脱颖而出:
那么,在社会这个巨大赛场上,想要成为竞争的优胜者,我们应该做一个什么样的人呢?
为了找出答案,上世纪有一位名叫罗伯特·阿克塞尔罗德的美国教授,组织了一场关于“合作与背叛”的竞赛。参赛者不是人类,而是许多具有不同策略的计算机程序。
罗伯特·阿克塞尔罗德
比赛分成很多回合,在每一回合,参赛者可以选择与对方合作,或是背叛对方,合作带来双赢,背叛则是一方得利。
在诸多的程序里,有些程序很蠢笨,有些程序很狡猾。那么,什么样的程序更可能赢得比赛呢?从最终的比赛结果来看,采用了“一报还一报”的程序多次获得比赛的第一名。
这个程序的策略十分简单:
1.与参赛者X第一次互动的时候,选择合作。(假设对方是善意的)
2.如果X在上一次互动中选择合作,那么本次自己也选择合作。(奖励对方的合作行为)
3.如果X在上一次互动中选择背叛,那么本次自己也选择背叛。(惩罚对方的背叛行为)
这就是所谓的一报还一报。
虽然这个比赛仅仅是一个简化的模型,但是也或多或少反映了现实中的情况。在现实里,想要尽可能和更多的人合作共赢,又要避免被人坑骗,一报还一报的确是一个相对合理的策略。
尽管这个理论看起来很完美。但是我们作为刨根问底的程序员,还是应该亲自动手实践一下。
小灰最近写了一个程序,再现了这个“合作与背叛”的比赛,并且按照自己的想法编写了各种策略,试图找出有没有比“一报还一报”更好的竞争策略。
这一实践让我产生了许多新的认识,自认为还蛮有意思,今天特意分享给大家。
首先说一说小灰这个程序中的具体比赛规则:
1. 比赛分成M回合,一共有N个参赛者(N为偶数):
2. 每一回合,参赛者随机分成两两一组进行互动:
3. 在互动中,参赛者可以选择“合作”或是“背叛”,根据双方不同选择,会更加或扣减一定的分数。总共分为三种情况:
4. M回合之后,所有参赛者按照总分值进行排名。
根据游戏规则,小灰也设计了6种不同风格的参赛者,他们各有各的博弈策略:
1. 老实型
这个类型的参赛者永远选择合作,从不背叛。
2. 骗子型
这个类型的参赛者永远选择背叛,从不合作。
3. 偶尔欺骗型
大部分时候选择合作,但是有10%的几率会选择背叛。
4. 一报还一报型
如上文所述,这个类型的参赛者会记住对方上一次与自己互动时候的选择。如果对方上次合作,本次自己也合作;如果对方上次背叛;本次自己也背叛。
5 记仇到底型
这个类型的参赛者同样记住对方上一次与自己互动时候的选择。但只要对方背叛过自己一次,自己就永远会选择背叛他。
6. 晚节不保型
在前80%的回合,按照一报还一报的方式行动;在最后20%的回合,只背叛不合作。
那么,我们应该选择多少人参赛,又该设置多少回合数呢?
小灰设计了4局比赛,每一局比赛的参赛人数与回合数如下:
小灰运行了一下,这4局的比赛结果如下(只列出前10名):
第1局(20人,50回合)
类型:骗子型 得分:420
类型:晚节不保型 得分:405
类型:晚节不保型 得分:380
类型:偶尔欺骗型 得分:365
类型:晚节不保型 得分:360
类型:晚节不保型 得分:355
类型:一报还一报型 得分:350
类型:骗子型 得分:345
类型:骗子型 得分:345
类型:记仇到底型 得分:340
第2局(100人,50回合)
类型:骗子型 得分:555
类型:骗子型 得分:540
类型:骗子型 得分:525
类型:骗子型 得分:510
类型:晚节不保型 得分:485
类型:骗子型 得分:480
类型:晚节不保型 得分:480
类型:骗子型 得分:480
类型:晚节不保型 得分:480
类型:晚节不保型 得分:475
第3局(20人,300回合)
类型:晚节不保型 得分:2500
类型:记仇到底型 得分:2430
类型:老实型 得分:2425
类型:老实型 得分:2420
类型:一报还一报型 得分:2405
类型:一报还一报型 得分:2385
类型:晚节不保型 得分:2385
类型:一报还一报型 得分:2375
类型:一报还一报型 得分:2375
类型:晚节不保型 得分:2360
第4局(100人,300回合)
类型:晚节不保型 得分:2540
类型:记仇到底型 得分:2460
类型:晚节不保型 得分:2450
类型:晚节不保型 得分:2430
类型:晚节不保型 得分:2405
类型:晚节不保型 得分:2400
类型:晚节不保型 得分:2390
类型:记仇到底型 得分:2370
类型:老实型 得分:2370
类型:晚节不保型 得分:2355
从上面的结果,我们不难得出几个结论:
1. 在参赛者较多,回合数较少的局面下,骗子型占有巨大优势。
2. 在参赛人数较少,回合数较多的局面下,老实人以及愿意首先合作的人开始显现出优势。
3. 偶尔欺骗型,无论在哪个局面都不占优势。
4. 相比于一报还一报型,晚节不保型占据了绝对优势。
当然,这仅仅是一个简单的博弈模型,现实世界远比这复杂得多:
首先,现实世界有法律武器,一个人的背叛行为是要付出代价的。
其次,现实世界有信用体系,当一个人遭到背叛的时候,他不仅会自己记住,还会把背叛者的恶行尽可能告知给更多的人,让大家都知道这个人不可信。
再次,一个人自身的恶行不仅影响到自己,也影响到后代的声誉。因此,谁要是选择“晚节不保”,自己的后代就可能会承担后果。
但是无论如何,这个博弈模拟游戏仍然具有一定的研究价值和趣味性。同时,小灰开发的这段程序有一定的可扩展性,有兴趣的小伙伴也可以在我的基础上开发出更多参赛者类型,相互PK一下,看看哪一种类型能够大概率胜出。
不久前网络上掀起了一股“法外狂徒张三”的风潮,在各种社交软件上我们都能看到这个人的身影,在罗翔老师的嘴里法外狂徒张三无恶不作,成为了社会上典型的反面教材,逗得观众捧腹大笑。提起法外狂徒张三的走红,最初是因为罗翔老师的考研授课过程中,用张三这个化名为学生们举例,但没想到这个例子迅速在各大网站上蹿火,点击量高达千万,看到张三的效果如此好,以至于罗翔老师就把张三当做了御用典范,在网络上大火。
在罗翔老师的口中,张三各种法律案例的主人公,通过罗翔老师的讲述,勾勒出了一个无法无天,无恶不作的张三,他藐视法律,无视道德的约束,以至于很多人对张三的记忆都尤为深刻。在罗翔老师的讲述里,张三深深扎根在了观众的心目中,明明是一个虚拟勾勒而成的人物,但却仿佛成为了一个现实中鲜活的人,任何法律在他身上都能够完美的诠释,通过张三,我们不仅能够更好的学习到相关的法律知识,还能够更好的了解到法律对于我们生活的现实意义。
在关于罗翔老师的采访中,我们对于张三有了更深入的了解。张三的形成并不是偶然,是我们每个人心中的恶成分,在平常的生活中我们积累了太多的抱怨,太多的痛苦,无处发泄的时候就容易在心中幻想,将这种恶发泄出来。
但这样的行为实则是在击溃我们的自我防线,在这样的经历下,每个人心中的恶都将难以压抑,因此需要有一个新的渠道来作为自己的发泄渠道,让自己能够不断抑制心中的坏想法,保证自己的原则,坚持自己的底线。
刑事案件中有个概念,叫追溯时效。刑法87条这里具体内容我就不看了,贴出来给你看看。简单来说,如果我犯了超过一定时间没有被发现的罪行,那么法律规定我可以不再被追究责任。那么为什么会有这样的规定呢?我常说,惩罚从来不是刑法的主要目的,维护社会稳定才是,如果我能在一定期限内停止犯罪,那么时间就证明我已经改过自新,不会威胁社会稳定。
一、自然我不需要追溯,是的有道理。另外一个,如果你是警察,发现张三十年前从李四家偷了一只鸡,去李四家看现场。可能房子没了,让邻居鉴定一下。张三过了很久也不记得了。这不是很尴尬吗?司法机关还要考虑投入产出比,这涉及到一个司法资源问题,包括自首和坦白制度,也是从节约司法资源的角度考虑的。其实时间可以冲淡很多东西,就像我们对热点事件的关注不会持续太久,被违反的社会秩序自然会随着时间得到修复。
二、然后再回到这个时候的旧账。反而可能造成社会不稳定,所以这与刑法的目标背道而驰。所以形式上的追溯时效归结为两个原因,一个是稳定性,一个是效率。像法外狂徒张三这样的人犯的那么多罪,其实根本不用担心超过追溯时效,因为恶性犯罪的追溯时效基本都到20年了。同时,在新罪的情况下,处方是不是要从头算买苹果?
三、另外案件立案或者法院受理后,就不再受追诉时效的限制了。所以不要有一些不切实际的幻想。法律上其实是没有男门的。不要犹豫,关注大鱼。下次见。刑法规定的犯罪人刑事责任的有效期间。除特殊情况外,超过法定追诉期限的,不追究犯罪人的刑事责任;已经起诉的,应当驳回起诉,或者不起诉,或者终止审理。