在每个时代我们都会听到人们感叹世风日下,人心不古。这到底是对旧时代的幻觉还是一种真相呢?我们今天就来写个小程序,证明世风日下是的的确确在发生的。

我们先从博弈论的囚徒困境说起,两个囚犯面临这样的问题,要么同时咬紧牙关一起抗拒从严回家过年,或者坦白从宽刑期打折。但是如果一个人坦白了,而没有坦白的那个人就得牢底坐穿。参考以下表格可以得到结论:

囚徒困境
乙方抗拒 乙方坦白
甲方抗拒 无罪 / 无罪 5年 / 1年
甲方坦白 1年 / 5年 2年 / 2年
  1. 双方一起抗拒,全部无罪释放,收益最大。
  2. 甲方抗拒,乙方坦白,甲方坐牢5年,乙方坐牢1年。
  3. 甲方坦白,乙方抗拒,甲方坐牢1年,乙方坐牢5年。
  4. 甲乙都坦白,全部坐牢2年。

道德问题的本质是信任问题,上古时期民风淳朴,人与人之间都相信相信的力量,所以能相信一起做出收益最大的决策(至于两个淳朴的人为什么会坐牢?这...)。但信任这事,吃了几次亏之后,戒备心开始提升,做决策必须考虑对方不按套路出牌怎么办?如果这位大兄弟被社会多教育几次,他就会发现坦白是最优解,毕竟无罪释放需要对手合作,概率太低。

大多数人都是理性的,在受到惩罚后会调整自己的反应决策机制。我们可以构造一个模型,假设一个人初始是向善的,基本是信任对方的,但是每次遭受背叛后,他的信任值就会下降。而且人们一般对坏的事情印象深刻,所以自己行善被别人坑后,人品值下降会比遇到好人好事的上升更多一点。

为了模拟这种情况,写了一段程序模拟了一下:

import randomdef init(users, n):for i in range(n):users[i] = 51 # 设置每个用户的初始人品值为51,最小为0,最大100。def do_choice(users, i):r = random.randint(0, 100)return 1 if r < users[i] else 0 # 人品值越高,做出双赢选择1的概率更大。def update_rp(users, i, v):users[i] += vif users[i] > 100:users[i] = 100if users[i] < 0:users[i] = 0def gamble(users, rounds):n = len(users)i = 0while i < rounds:u1 = random.randint(0, n - 1) # 随机两个用户u2 = random.randint(0, n - 1)if u1 == u2:continuec1 = do_choice(users, u1)c2 = do_choice(users, u2)if (c1 == 1) and (c2 == 1): # 最优选择,双方人品值加1。update_rp(users, u1, 1)update_rp(users, u2, 1)elif (c1 == 1) and (c2 == 0): # 被用户2坑了,用户1变坏,人品值减1.5。坏事让人印象更深刻!update_rp(users, u1, -1.5)elif (c2 == 1) and (c1 == 0):update_rp(users, u2, -1.5)i += 1def display_result(users):good, bad = 0, 0for v in users.values():if v >= 50:good += 1else:bad += 1print('good/bad: ' + str(good) + '/' + str(bad))def simulation(n, rounds):users = {}init(users, n)gamble(users, rounds)display_result(users)if __name__ == '__main__':simulation(100, 300)simulation(100, 1000)simulation(100, 5000)

结果是迭代次数越多,好人越少。参考输出如下:

good/bad: 62/38
good/bad: 28/72
good/bad: 5/95

那为什么这个世界不会全是坏人组成呢?我猜原因跟电脑一样,时间厂了系统卡得不能用总有人会忍不住格式化一下。

从囚徒困境到世风日下相关推荐

  1. 博弈论-囚徒困境与重复囚徒困境的启示

    博弈论-囚徒困境与重复囚徒困境的启示 "囚徒困境" 囚徒困境(prisoner's dilemma):讨论的是两个被捕的囚徒之间的一种博弈,它阐明了为什么"在合作对双方都 ...

  2. 人质困境:多个人的囚徒困境(博弈论的诡计)

    囚犯困境作为博弈论中的一个基本的模型,可以解释很多与此类似的杜会现象,如寡头竞争.军备竞赛等.但是社会中的博弈往往并不止有两个参与者,这时的博弈还会出现囚徒困境吗? 答案是肯定的,在多个参与者之间形成 ...

  3. 博弈论笔记1:囚徒困境与纳什均衡

    1 个体最优与社会最优 1.1 社会基本问题 社会:个体之间有互动行为&相互依赖的群体 羊群效应:大家做什么,我就跟着做什么,不管对错和原因 协调问题:两人迎面走来,谁左谁右?(核心:人们如何 ...

  4. 走出囚徒困境的方法_囚徒困境的一种计算方法

    走出囚徒困境的方法 You and your friend have committed a murder. A few days later, the cops pick the two of yo ...

  5. 北大清华的状元之争:一个典型的囚徒困境

    北大清华的状元之争是一个典型的囚徒困境. 囚徒困境是社会合作面临的最大难题,它深刻揭示了个体理性和集体理性之间的矛盾和冲突:个体按照自身利益最大化的原则采取对自己最有利的占优战略,得到的却不一定是自己 ...

  6. 漫画:什么是囚徒困境?

    戳蓝字"CSDN云计算"关注我们哦! 作者 | 小灰 责编 | 刘丹 故事发生在小灰小时候...... 囚徒困境讲的是一件怎样的事情呢? 话说某一天,警察抓到了嫌疑犯小A和小B,虽 ...

  7. 终于有人把内卷和囚徒困境讲明白了

    导读:内卷不但不会创造价值,而且会危害每一个人. 作者:王见现 来源:大数据DT(ID:hzdashuju) ▲通往深渊 01 小镇的故事 1. 什么是内卷 很久很久以前,地球上有一个小镇.小镇上有很 ...

  8. 风变编程课 囚徒困境 答案_当您对所有这些有用的在线编程课程感到不知所措时,如何摆脱困境...

    风变编程课 囚徒困境 答案 by Walt Schlender 由Walt Schlender 当您对所有这些有用的在线编程课程感到不知所措时,如何摆脱困境 (How to get unstuck w ...

  9. 拒绝低效加班,别让“囚徒困境”限制你的职业发展

    最近有几个词语是真的很火:内卷.躺平.打工人.社畜.996-之前向国企的朋友打听他们公司的加班状况,他让我晚上十点去他们大楼下看看什么叫"亮如白昼".太魔幻了,互联网年轻人卷也就罢 ...

  10. 囚徒困境、价格大战与 iPhone 的价格

    静态/动态,完全/不完全: 完全信息静态博弈: 不完全信息静态博弈: 完全信息动态博弈: 不完全信息动态博弈: 囚徒困境实际上反映了一个深刻的哲学问题:个人利益与集体利益的矛盾.个人为了自己利益的最大 ...

最新文章

  1. 软件开发向大数据开发过渡_如果您是过渡到数据科学的开发人员,那么这里是您的最佳资源...
  2. RT-thread内核之空闲线程
  3. 带字的图片如何转换成可编辑的文字?
  4. 腾讯云副总裁答治茜:移动互联网破局要借助“三张网”
  5. 计算机管理术语路径描述的是,directory
  6. linux远程工具自动记住密码,linux – 如何记住/缓存或指定Ansible的私钥密码
  7. 01.神经网络和深度学习 W3.浅层神经网络
  8. c语言中初始值的作用,初始C语言学习
  9. Spring 下 MyBatis 的基本使用
  10. 学习OpenCV——SVM 手写数字检测
  11. shp地图如何导入奥维地图手机_如何将平面控制点导入Google Earth、奥维互动地图及手机奥维互动地图APP里面?...
  12. CR网络和主网络的认知无线电切换算法
  13. Java项目:JSP网上零食销售系统
  14. 小程序 消息推送配置token无效(解决方法)订阅消息
  15. 【学习笔记】kaggle案例之泰坦尼克号(基于R)
  16. Android自定义相机实现定时拍照
  17. LeetCode/LintCode 题解丨一周爆刷双指针:数组中的最长山脉
  18. 开发那些事儿:在Flv.js前端播放器中解析并绘制H.264编码中的SEI信息
  19. 【2020-09-30】一个适合爬虫练手的网站--中国土地市场网
  20. 海尔微型台式计算机重装系统,海尔台式电脑怎么进行U盘一键重装win10系统

热门文章

  1. 禁用Windows Defender Antivirus Service
  2. colorbox加载ajax调用的html页面,ColorBox
  3. Delphi程序破解技术概要
  4. html图片闪烁设置,HTMLCSS基础-图片按钮闪烁解决方案
  5. C语言试题八十六之兔子生兔子问题
  6. 计算机cpu电压,怎么才能知道自己电脑的cpu电压
  7. 微信图片怎么删除?微信聊天图片批量删除只需要用这2招…
  8. 王之泰201771010131《面向对象程序设计(java)》第十二周学习总结
  9. 职位搜索引擎职友集开放招聘信息协议
  10. php smarty extends,php封装的smarty类完整实例