【博弈论】混合策略纳什均衡

上一章中遇到了划线法无法找到均衡的情况,例如盖硬币博弈,盖方盖硬币,猜方猜正反。那是因为考虑的都是纯策略,就是每个策略要么选,要么不选。本章考虑混合策略,就是每个策略都有一个选择的概率。

考虑还是这个盖硬币的博弈,混合策略就是盖方以p的概率盖正,那么就是1-p的概率盖反,猜方同理。p是连续的取值,而如果退化成p只能取1或0,那就退化成原来的纯策略了。

一、寻找纳什均衡

策略B1策略B2
策略A1(2, 3)(5, 2)
策略A2(3, 1)(1, 5)

考虑这样一个博弈,均衡就是,给定A的混合策略(p, 1-p),B的混合策略(q, 1-q),双方都不能改变自己的策略来使自己的收益增加。

换句话说,就是给定p,B的任何混合策略的期望都一样,给定q,A的任何混合策略的期望都一样。

这样计算E(B1(p))=E(B2(p))

               E(A1(q))=E(B2(q))

解出来就可以得到均衡。

3P+(1-p)=2p+5(1-p)

2p+1=-3p+5

5p=4

P=0.8

2q+5(1-q)=3q+(1-q)

-3q+5=2q+1

-5q=-4

Q=0.8

NE就是{(0.8, 0.2), (0.8, 0.2)}

这里有两个问题

1.为什么这两个纯策略期望一样了,所有的混合策略的期望就都一样了?

考虑混合策略的期望,E=q*E(B1(p)) + (1-q)*E(B2(p)),要对于任意的q,E的值都相等,那是不是只要E(B1(p))=E(B2(p))就好了。

2.这样算出来可能有多个均衡吗,为什么

可能有多个均衡,如果E(B1(p))和E(B2(p))两边的p消了,那取任意的p,这个等式都恒成立了,那任意的p就都是均衡。

二、计算混合策略收益

法一、直接计算

策略B1(0.8)策略B2(0.2)
策略A1(0.8)(2, 3)(5, 2)
策略A2(0.2)(3, 1)(1, 5)

还是刚才这个例子,均衡之后,每个格子就有自己相应的概率了,每个格子相应的概率乘上对应的人的收益,最后求和就是均衡下这个人的期望收益。

UA=0.8*0.8*2+0.8*0.2*5+0.2*0.8*3+0.2*0.2*1=2.6

UB=0.8*0.8*3+0.8*0.2*2+0.2*0.8*1+0.2*0.2*5=2.6

法二、巧算

既然均衡了,那么就是意味着,A取均衡这一策略,B取任意策略收益都一样,那么我在算B的收益的时候,我就可以固定A为均衡,B的策略取个简单的例如(1, 0),这样可以减少一半的计算,反之亦然。

那么刚才那个每个格子的概率重新写下(算B)

策略B1(1)策略B2(0)
策略A1(0.8)(2, 3)(5, 2)
策略A2(0.2)(3, 1)(1, 5)

UB=3*0.8+1*0.2=2.6

算A

策略B1(0.8)策略B2(0.2)
策略A1(0)(2, 3)(5, 2)
策略A2(1)(3, 1)(1, 5)

UA=3*0.8+1*1*0.2=2.6

三、计算混合策略反应函数

这里考虑的是二人博弈,且每人只有两个策略,那么函数就是给定A选择他策略1的概率p,B选择他策略1的概率q应该是多少,所以两个人是两个函数,p=f(q), q=f(p)

二人博弈所以可以化成二维的图

两个策略所以期望是1次函数,不消掉概率的情况下只有一个均衡。

那么满足这两个条件,这类博弈的反应函数就都可以表示为分段函数

把两个分段函数画在一张图,刚才的例子

定理:反应函数交点是纳什均衡,这是充要条件。

下面附画图python代码

import matplotlib.pyplot as plt
import numpy as npNEp=0.8
NEq=0.8# 创建一个细分的p和q值数组
p_values = np.linspace(0, 1, 500)
q_values = np.linspace(0, 1, 500)# 初始化Q(p)和p(q)的值
Q_values = np.where(p_values < NEp, 1, np.nan)
Q_values = np.where(p_values > NEp, 0, Q_values)p_q_values = np.where(q_values < NEq, 0, np.nan)
p_q_values = np.where(q_values > NEq, 1, p_q_values)# 绘制Q(p)
plt.plot(p_values, Q_values, label='q=f(p)')# 绘制p(q), 并且交换x和y轴的值
plt.plot(p_q_values, q_values, label='p=f(q)')# 设置图例
plt.legend()# 设置x和y轴的标签
plt.xlabel('p')
plt.ylabel('q')# 设置标题
plt.title('Reaction Function')# 显示网格
plt.grid(True)# 显示图形
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/135039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xilinx fpga ddr mig axi

硬件 参考&#xff1a; https://zhuanlan.zhihu.com/p/97491454 https://blog.csdn.net/qq_22222449/article/details/106492469 https://zhuanlan.zhihu.com/p/26327347 https://zhuanlan.zhihu.com/p/582524766 包括野火、正点原子的资料 一片内存是 1Gbit 128MByte 16bit …

Chrome 插件开发 V3版本 跨域处理

插件构成 chrome 插件通常由以下几部分组成&#xff1a; manifest.json&#xff1a;相当于插件的 meta 信息&#xff0c;包含插件的名称、版本号、图标、脚本文件名称等&#xff0c;这个文件是每个插件都必须提供的&#xff0c;其他几部分都是可选的。 background script&…

探索经典算法:贪心、分治、动态规划等

1.贪心算法 贪心算法是一种常见的算法范式&#xff0c;通常在解决最优化问题中使用。 贪心算法是一种在每一步选择中都采取当前状态下最优决策的算法范式。其核心思想是选择每一步的最佳解决方案&#xff0c;以期望达到最终的全局最优解。这种算法特点在于只考虑局部最优解&am…

Linux Vim批量注释和自定义注释

使用 Vim 编辑 Shell 脚本&#xff0c;在进行调试时&#xff0c;需要进行多行的注释&#xff0c;每次都要先切换到输入模式&#xff0c;在行首输入注释符"#"再退回命令模式&#xff0c;非常麻烦。连续行的注释其实可以用替换命令来完成。 换句话说&#xff0c;在指定…

0.专栏概述与几句闲话

引 还记得今年大年初一开始写《数据结构和算法》专栏的时候定了个小目标&#xff1a; 不知不觉间已经过去了十个月&#xff0c;我的第一个专栏也算是圆满收官了 。 这次PO一张成都熊猫基地的团子们&#xff0c;开启设计模式这个专栏吧。 目录与概述 犹记得一位身在广州的老…

Linux实现简易shell

文章目录 &#x1f984;0. shell&#x1f42e;1. 交互及获取命令行&#x1f437;2. 解析命令行&#x1f42f;3. 执行命令行&#x1f405;3.1 普通命令&#x1f405;3.2 内建命令 &#x1f981;4. 主函数逻辑及演示 本章代码gitee仓库&#xff1a;简易shell &#x1f984;0. she…

昇腾CANN 7.0 黑科技:DVPP硬件加速训练数据预处理,友好解决Host CPU预处理瓶颈

在NPU/GPU上进行模型训练计算&#xff0c;为了充分使用计算资源&#xff0c;一般采用批量数据处理方式&#xff0c;因此一般情况下为提升整体吞吐率&#xff0c;batch值会设置的比较大&#xff0c;常见的batch数为256/512&#xff0c;这样一来&#xff0c;对数据预处理处理速度…

Harbor私有仓库

Harbor私有仓库 文章目录 Harbor私有仓库Harbor简介&#xff1a;Harbor 提供了以下主要功能和特性&#xff1a;优缺点&#xff1a;环境说明&#xff1a;部署harbor1.永久关闭防火墙和seliux&#xff0c;配置阿里云源&#xff0c;添加映射关系2.安装docker&#xff0c;开启docke…

spdk用户态块层详解

先通过回顾内核态的通用块层来详细介绍SPDK通用块层&#xff0c;包括通用块层的架构、核心数据结构、数据流方面的考量等。最后描述基于通用块层之上的两个特性&#xff1a;一是逻辑卷的支持&#xff0c;基于通用块设备的Blobstore和各种逻辑卷的特性&#xff0c;精简配置&…

linux安装jdk和weblogic易错点

1.版本问题&#xff0c;如果版本不兼容&#xff0c;安装的时候会报错&#xff0c;所有安装之前要确认好版本 jdk1.6&#xff0c;weblogic10 2.jdk安装后配置文件 JAVA_HOME ,CLASSPATH,PATH&#xff0c;配置问你的追加&#xff0c;用冒号链接 修改后需要用source 刷新下 3安装…

MCU常见通信总线串讲(四)—— SPI总线协议

&#x1f64c;秋名山码民的主页 &#x1f602;oi退役选手&#xff0c;Java、大数据、单片机、IoT均有所涉猎&#xff0c;热爱技术&#xff0c;技术无罪 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 获取源码&#xff0c;添加WX 目录 前言一…

PyCharm 无法登陆 Codeium 的解决方法

PyCharm 登陆 Codeium PyCharm 无法登陆 Codeium 的问题描述PyCharm 使用 token 登陆 Codeium PyCharm 无法登陆 Codeium 的问题描述 使用 PyCharm 登录 Codeium 时&#xff0c;单击 Login 无反应&#xff0c;单击侧边栏的 Codeium 图标也一直显示连接失败。 PyCharm 使用 to…

【Unity细节】Json序列化时出现:An item with the same key has already been added. Key:

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 &#x1f636;‍&#x1f32b;️收录于专栏&#xff1a;unity细节和bug &#x1f636;‍&#x1f32b;️优质专栏 ⭐【…

机器学习——CBOW负采样(纯理解)

刚从前一个坑里&#xff0c;勉强爬出来&#xff0c;又掘开另一坑 看了很多文章B站up主。。。糊里糊涂 但是我发觉&#xff0c;对于不理解的东西&#xff0c;要多看不同up主写的知识分享 书读百遍&#xff0c;其意自现&#xff0c;我是不相信的&#xff0c;容易钻牛角尖 但是&am…

前端-选中DOM定位源代码

用到的工具&#xff1a;react-dev-inspector 使用流程 根据react-dev-inspector文档进行配置 安装 yarn add --dev react-dev-inspector配置&#xff1a;在根目录下配置Inspector import { createRoot } from react-dom/client import { Inspector } from react-dev-inspe…

draw.io与项目管理——如何利用流程图工具提高项目管理效率

draw.io 是一款强大的图形绘制工具&#xff0c;用于创建各种类型的图表、流程图、组织结构图、网络图和平面设计等。它提供了丰富的绘图工具和预定义的图形库&#xff0c;使用户能够轻松创建专业水平的图形作品。 draw.io具有直观的界面和简单易用的功能&#xff0c;适合各种用…

oracle_19c 安装

oracle安装部署 1、安装docker,docker-compose环境。 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun curl -L "https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/b…

云计算的大模型之争,亚马逊云科技落后了?

文丨智能相对论 作者丨沈浪 “OpenAI使用了Azure的智能云服务”——在过去的半年&#xff0c;这几乎成为了微软智能云最好的广告词。 正所谓“水涨船高”&#xff0c;凭借OpenAI旗下的ChatGPT在全球范围内爆发&#xff0c;微软趁势拉了一波自家的云计算业务。2023年二季度&a…

linux 安装 Anaconda3

文章目录 一、下载二、安装1.使用xftp把下载包拉到服务器上2.执行安装命令3、在安装时没有自动添加环境变量&#xff0c;这里手动设置3.1.1通过修改~/.bashrc来配置环境变量3.1.2 重新载入配置文件3.1.3 测试 一、下载 官网下载链接 二、安装 1.使用xftp把下载包拉到服务器上…

从零开始搭建微服务(二)

忘记了软件还没有装全,今天先把所有的软件装上,nacos已经装过了我们就不在装了,剩余的软件全部都是通过docker安装,我在centos7里面 1. 安装docker 安装dockeryum -y install docker开机自启 systemctl enable docker启动dockre systemctl start docker查看docker版本 doc…