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

Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...

【若依】框架项目部署笔记
参考【SpringBoot】【Vue】项目部署_no main manifest attribute, in springboot-0.0.1-sn-CSDN博客 多一个redis安装 准备工作: 压缩包下载:http://download.redis.io/releases 1. 上传压缩包,并进入压缩包所在目录,解压到目标…...
「Java基本语法」变量的使用
变量定义 变量是程序中存储数据的容器,用于保存可变的数据值。在Java中,变量必须先声明后使用,声明时需指定变量的数据类型和变量名。 语法 数据类型 变量名 [ 初始值]; 示例:声明与初始化 public class VariableDemo {publi…...