囚徒困境——从博弈论的角度解释“美女配丑男”
前言
有一种很常见的现象,美女配丑男。其实这种现象背后是有一定科学原理的。本文将从博弈论的角度,从囚徒困境出发解释这一现象产生的原因。
囚徒困境
囚徒困境的经典案例
先来介绍一下经典的囚徒困境。
警方逮捕甲、乙两名嫌疑犯,但没有足够证据指控二人入罪。于是警方分开囚禁嫌疑犯,分别和二人见面,并向双方提供以下相同的选择:
若一人认罪并作证检控对方(相关术语称“背叛”对方),而对方保持沉默,此人将即时获释,沉默者将判监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 是目标检测任务强大的算法,将目标检测的问题转换边界框和相关概率的回归问题,是目标检测…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...