囚徒困境——从博弈论的角度解释“美女配丑男”
前言
有一种很常见的现象,美女配丑男。其实这种现象背后是有一定科学原理的。本文将从博弈论的角度,从囚徒困境出发解释这一现象产生的原因。
囚徒困境
囚徒困境的经典案例
先来介绍一下经典的囚徒困境。
警方逮捕甲、乙两名嫌疑犯,但没有足够证据指控二人入罪。于是警方分开囚禁嫌疑犯,分别和二人见面,并向双方提供以下相同的选择:
若一人认罪并作证检控对方(相关术语称“背叛”对方),而对方保持沉默,此人将即时获释,沉默者将判监10年。
若二人都保持沉默(相关术语称互相“合作”),则二人同样判监1年。
若二人都互相检举(相关术语称互相“背叛”),则二人同样判监8年。
我们可以写出两名嫌疑犯的支付矩阵,用(a,b)表示甲和乙做出某种选择时,甲要关a年,乙要关b年。
| 甲\乙 | 合作 | 背叛 |
|---|---|---|
| 合作 | (1,1) | (10,0) |
| 背叛 | (0,10) | (8,8) |
囚徒困境的解释
先假设甲和乙没有任何沟通机会,互相不知道对方的想法。再假设甲和乙都是自私的,目标是实现自己的利益最大化。根据支付矩阵,可以看到,甲无论选择什么,乙选择背叛的结果一定优于选合作的结果。比如,甲选合作,乙如果选合作要关1年,而选背叛则可以无罪释放。于是,如果乙事先知道甲会选合作,则乙一定会选背叛。同样,假设甲选背叛,乙如果选合作需要关10年,乙如果选背叛只需要关8年。于是,如果乙提前知道甲会选背叛,则乙一定会选择背叛,于是无论甲选择什么,乙都一定会选择背叛。出于同样的考虑,甲出于实现自己的利益最大化也一定会选择背叛。这样一来,明明两个人都合作才会达到最好的选择,但是两个人都会选择背叛。
囚徒困境的意义
囚徒困境说明了一个道理,非零和博弈中,帕累托最优(总体最优)和纳什均衡(两个人出于个人利益做出的选择)是相冲突的。
囚徒困境的破解
要破解囚徒困境,需要借助一定的外力。比如,让两个囚徒进行充分的沟通,商量对策,或者两个人非常相信对方,或者借助第三方的力量对背叛方进行惩罚。
美女配丑男
概念
美女配丑男,通俗地讲,就是一朵鲜花插在牛粪上。其实在现实生活中,这种现象并不少见。那么我从博弈论的角度来解释一下美女配丑男背后的数学原理。
假设
为了更好地解释这个现象,我们需要给出一些假设。假设有一个帅哥,一个美女,和一个丑男。帅哥暗恋美女,美女暗恋帅哥,但是他们互相不知道。丑男也喜欢美女,且美女知道丑男喜欢她(丑男毫无顾虑,大胆表白就完事了,被拒了就被拒了,脸皮比较厚)。美女现在比较想谈恋爱,对于她来说,跟丑男谈恋爱总比单身好(丑男只是相对帅哥来说比较丑,其实也没那么丑)。
现象解释
现在我们试着写一下帅哥和美女的支付矩阵。用(a,b)表示帅哥和美女做了某种选择之后,帅哥的快乐程度为a,美女的快乐程度为b。假设帅哥和美女现在面临两种选择,表白和不表白。假设帅哥和美女都认为自己表白成功的概率为50%(一半的概率成功,一半的概率被拒绝)。如果帅哥和美女都同时表白,那么他们就幸福地在一起了,这个时候两个人的幸福程度都是100分。如果帅哥表白,那么有50%的概率表白成功,帅哥的幸福程度是100分;50%的概率表白失败,帅哥会觉得非常丢人,并且暂时失去了被其它女生追求的机会,所以幸福程度为-50分。而因为假设美女喜欢帅哥,所以一旦帅哥表白,美女一定会接受(但是帅哥不知道),而且被自己喜欢的人表白本身就是一种特别幸福的事情,所以美女的幸福程度是120分。那么帅哥表白且女生不表白时,帅哥的期望幸福程度就是 50 % ∗ 100 + 50 % ∗ ( − 50 ) = 25 分 50\%*100+50\%*(-50)=25分 50%∗100+50%∗(−50)=25分,美女的幸福程度是120分。同理,美女表白,帅哥不表白的情况下,帅哥的幸福程度为120分,美女的期望幸福程度为25分。再来看看,两个人都不表白的情况。这种情况下,美女比较想谈恋爱,又不主动跟帅哥表白,而有一个丑男却一直在追她,对她好,还跟她表白了,那么此时她会接受丑男的表白,跟丑男在一起。此时美女的幸福程度为40分。虽然不如跟帅哥在一起那么幸福,但也比单身一个人过好,毕竟,还能有一个一直对你好的人。同理,帅哥的幸福程度也是40分。那么我们就能写出支付矩阵了。
| 帅哥\美女 | 表白 | 不表白 |
|---|---|---|
| 表白 | (100,100) | (25,120) |
| 不表白 | (120,25) | (40,40) |
有没有发现,这个矩阵跟囚徒困境的矩阵很像。出于自己的利益最大化,无论帅哥选不选择表白,美女都会选择不表白。因为无论帅哥怎么选择,美女选择不表白对自己来说幸福程度更高。所以这样一来,帅哥和美女都会选择不表白(这种选择是该支付矩阵的纳什均衡)。拿美女和帅哥都不表白,美女不就只能跟丑男在一起了吗?所以,美女配丑男是一种纳什均衡。
美女配丑男的破解方法
对于帅哥和美女来说,互相在一起肯定是对两个人都好的整体最优策略。那么帅哥怎么才能跟美女在一起呢?套用囚徒困境的破解方式,两个人应该多沟通,互相试探彼此的心意,多了解对方,延长暧昧期。或者帅哥和美女可以适当大胆一些,其实表白失败了也就失败了,并没有那么丢人。
总结
本文讨论的是一种比较理想的情况,现实中的情况更加复杂。只是为了分析美女配丑男背后的原理,所以采用了一些特别理想的假设。其实,在爱情中,不只有心理学,还有数学哦。
相关文章:
囚徒困境——从博弈论的角度解释“美女配丑男”
前言 有一种很常见的现象,美女配丑男。其实这种现象背后是有一定科学原理的。本文将从博弈论的角度,从囚徒困境出发解释这一现象产生的原因。 囚徒困境 囚徒困境的经典案例 先来介绍一下经典的囚徒困境。 警方逮捕甲、乙两名嫌疑犯,但没有…...
运算符重载函数作为类的成员函数——有理数的约分
目录 一、题目 二、代码 三、算法分析 (一)数学表达式 (二) 代码实现 一)运算符重载函数 二)优化函数(实现有理数约分) 一、题目 通过运算符重载为类的成员函数来实现两个有…...
mysql数据库的内置函数--7
目录 内置函数 日期函数 字符串函数 数学函数 其它函数 内置函数 在mysql中这些函数用select进行使用 日期函数 函数描述NOW()返回当前的日期和时间CURDATE()返回当前的日期CURTIME()返回当前的时间DATE()从日期或日期/时间表达式中提取日期部分TIME()从日期或日期/时间…...
DS3800HPIB 有效执行任务的所有程序
DS3800HPIB是通用电气公司生产的Speedtronic Mark IV系列的一部分。这DS3800HPIB是一种大型电路板,具有八个连接端子,电路板两侧的尺寸各不相同。左下角有一个红色小方块,上面有一个拨动开关。这DS3800HPIB有大约50个天蓝色的小二极管。这DS3…...
图像比对、人像比对和人脸识别的区别是什么?
图像比对、人像比对和人脸识别都是图像处理技术,但是它们的实现方式和应用场景均有所不同。 图像比对 图像比对是指通过计算机视觉技术将两张或多张图片进行相似度比较。主要包括图像特征提取、匹配和评估等步骤,通常使用神经网络等深度学习技术来实现…...
python中的抽象基类
目录 协议和鸭子类型抽象基类定义抽象基类使用抽象基类直接继承通过注册(register) __subclasshook__魔法方法 协议和鸭子类型 python中有大量的魔法方法,python所谓基于协议编程,就是依赖这些魔法方法。 什么意思呢?…...
耗时几个月,终于决定把原本想用于商业的系统开源了
前言 嗨,大家好,我是希留,一个被迫致力于全栈开发的老菜鸟。 今天又来给小伙伴们分享一个基于 SpringBoot Vue 实现的前后端分离后台管理系统项目; 简介 这个项目是基于xiliu-tenant脚手架项目搭建而成,原本是帮朋…...
HarmonyOS应用端云一体化开发主要流程
图示 主要步骤 序号 阶段 任务 说明 1 创建端云一体化开发工程 选择工程类型与云开发模板 确定工程类型:选择“Application”或“Atomic Service”页签,确定创建的是HarmonyOS应用工程还是原子化服务工程。选择云开发模板,包括通用云开…...
NoSQL之 Redis配置与优化
NoSQL之 Redis配置与优化 ---------------------- 关系数据库与非关系型数据库 ---------------------------------------- ●关系型数据库: 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一…...
Redis哨兵模式
1.哨兵模式是什么 解释一 哨兵巡查监控 master主机是否故障,如果故障了,根据投票数自动将一个从库转换为新数据库,继续对外服务。 解释二 监控redis 的运行状态,包括master和slave当master宕机后,能自动将slave切换…...
数据库管理-第七十六期 如何升级19c RAC(20230516)
数据库管理 2023-05-16 第七十六期 如何升级19c RAC1 回头处理2 升级AHF3 升级GI及DB3.1 拷贝所需文件3.2 升级OPatch3.3 升级GI与DB3.4 应用SQL变更 4 升级OJVM4.1 解压补丁4.2执行补丁冲突检查:4.3 升级OJVM4.4 应用SQL变更 5 最终验证总结 第七十六期 如何升级19…...
组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python)
组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python) 目录 组合预测模型 | ARIMA-CNN-LSTM时间序列预测(Python)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 ARIMA-CNN-LSTM是一种结合了传统时间序列模型和深度学习模型的…...
实验四 面向对象分析与设计——UML类图与时序图
一、实验目的: 掌握面向对象分析中静态结构模型与动态行为模型的基本思想。学会识别系统中的类、类的属性和操作以及类之间的关系,掌握UML类图的绘制方法。了解时序图的作用和组成元素,掌握UML时序图的绘制方法。 二、实验仪器及实验环境&a…...
最短路径问题
如图,设定源点为D,终点为A,则D到A的最短路径是多少? 算法思路: 第一步,从源点D出发,此时能到达的选择是C和E,我们根据路径长度选择最少的作为下一个节点,于是选择C&…...
国内有哪些SAAS软件?SAAS软件有哪些优点?
国内有哪些SAAS软件?SAAS软件有哪些优点?不请自来答一下,通过SaaS软件与传统软件的对比来详细讲下SaaS软件有哪些优点? 配合以下内容食用更佳: 关于概念——深度详解什么是SaaS(软件即服务)关…...
分享两组不同的3D VR卡片
最近某音上出现了很多VR视频,转动手机可以看到手机界面未显示出来的场景。这种事情我觉得我们也可以做到。 所以两种不同的3D VR卡片来了: 第一种是横向或上下可以拖动极大的距离。卡片上的信息会随着拖动移动,但不会显示更多的信息&#x…...
外贸人如何精准开发客户?Facebook开发客户全攻略
现在做跨境的都了解的一个社媒平台就是Facebook了,因为很多人都会拿Facebook来开发客户,忙里偷闲,今天东哥就来聊聊用Facebook开发客户的一些心得。 用Facebook开发客户的心得 1、利用关键词搜索 使用行业相关的关键词、产品特定的关键词、相…...
一、Git安装(Git+TortoiseGit图形化)
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式…...
mysql死锁,如何产生?如何发现?如何处理?
1 产生死锁 就是资源互斥 例子如下 好的,请参考以下 SQL 语句来创建 base_account_item 表和向表中插入一些数据: CREATE TABLE base_account_item (id INT(11) NOT NULL,account_item_name VARCHAR(50) NOT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEF…...
YOLO V1-V3 简单介绍
目录 1. YOLO 2. YOLO V1 3. YOLO V2 4. YOLO V3 5. YOLO V3 SPP网络 5.1 Mosaic 图像增强 5.2 SPP 模块 5.3 CIou Loss 5.4 Focal loss 1. YOLO YOLO 是目标检测任务强大的算法,将目标检测的问题转换边界框和相关概率的回归问题,是目标检测…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
