博弈论简介

news2024/11/23 0:26:10

目录

博弈分类

合作与非合作博弈:

同时与顺序博弈:

完全信息与不完全信息博弈:

零和与非零和博弈:

囚徒困境的例子

纳什平衡

代码示例


博弈论是一个数学分支,研究多个理性决策者之间的战略互动。它的主要目的是理解决策者(称为玩家)之间的相互影响如何塑造他们的行为和最终的结果。

博弈分类

博弈可以分为以下几类:

  1. 合作与非合作博弈

    • 合作博弈:玩家可以通过合约等方式进行绑定承诺。玩家之间可以沟通和签订可执行合同,以实现相互协作的策略。在合作博弈中,玩家可以形成联盟,共同协商并约束彼此的行为,以实现共同利益的最大化。合作博弈关注的是联盟和协议的形成,以及联盟如何分配博弈的总收益。
    • 非合作博弈:玩家无法进行绑定承诺。玩家不能沟通或制定可执行合同。每个玩家独立地制定自己的策略,并试图最大化自己的收益,而不考虑与其他玩家的合作。非合作博弈的解通常通过纳什均衡来找到,纳什均衡下的策略是每个玩家在给定其他玩家策略的情况下最优的策略。
  2. 同时与顺序博弈

    • 同时博弈:所有玩家同时做出决策。
    • 顺序博弈:玩家按照某种顺序做出决策。
  3. 完全信息与不完全信息博弈

    • 完全信息博弈:每个玩家都完全了解博弈的结构和其他玩家的信息。
    • 不完全信息博弈:某些玩家的信息对其他玩家来说是未知的。
  4. 零和与非零和博弈

    • 零和博弈:一个玩家的收益正好等于另一个玩家的损失。
    • 非零和博弈:所有玩家的收益和损失不一定相等。

博弈论的解决方案通常涉及以下概念:

  • 纳什均衡:没有玩家能通过改变策略而单方面提高自己的收益的情况。
  • 次优均衡:一个或多个玩家可以通过改变策略来改善自己的情况,但其他人可能会受到损害。
  • 支配策略:无论其他玩家采取什么策略,某个策略始终至少与其他策略同样好的情况。

囚徒困境的例子

以下是一个经典的囚徒困境(Prisoner's Dilemma)例子:

囚徒困境是一个非合作、同时、完全信息、非零和博弈的例子

假设有两名犯罪嫌疑人A和B被捕。他们被分开审讯,没有沟通的机会。每个人都有两个选择:合作(保持沉默)或背叛(告发对方)。他们的选择将决定彼此的刑罚。

  1. 如果A和B都保持沉默,每人被判监禁1年。
  2. 如果A告发B,而B保持沉默,A将被释放,B被判监禁3年,反之亦然。
  3. 如果A和B都告发对方,他们都将被判监禁2年。

在这个情况下,每个人的理性选择是告发对方,因为无论对方做什么,告发似乎都更有利。然而,这将导致双方都受到更重的惩罚。如果他们能够相互信任并合作,即保持沉默,他们将获得更轻的刑罚。这个博弈展示了个人理性追求最大利益可能会导致集体利益的损失。

纳什平衡

这个博弈的纳什均衡是两人都选择背叛,即使合作/合作的选择将带来更好的总体结果。

纳什均衡的定义是:在纳什均衡下,每个玩家的策略是针对其他玩家当前策略的最优反应,也就是说,没有玩家有动机改变自己的策略。

在囚徒困境中,两人都选择背叛的情况是纳什均衡。原因是,无论另一个玩家选择合作还是背叛,每个玩家都有动机选择背叛,因为背叛总是带来更好的个人结果

然而,这个纳什均衡的结果是次优的,因为两人都选择合作将带来更好的总体结果(即总刑期最短)。这个问题揭示了个体理性追求可能导致集体不理想结果的悖论,反映了非合作博弈的复杂性和困难性。

代码示例

# 定义策略,合作为True,背叛为False
player_a_cooperates = True
player_b_cooperates = False

# 定义收益矩阵
payoff_matrix = {
    (True, True): (-1, -1),   # 两人合作
    (True, False): (-3, 0),   # A合作,B背叛
    (False, True): (0, -3),   # A背叛,B合作
    (False, False): (-2, -2)  # 两人背叛
}

# 计算收益
payoff_a, payoff_b = payoff_matrix[(player_a_cooperates, player_b_cooperates)]

print(f"Player A's payoff: {payoff_a}")
print(f"Player B's payoff: {payoff_b}")

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

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

相关文章

Kafka 集群搭建过程

前言 跟着尚硅谷海哥文档搭建的Kafka集群环境,在此记录一下,侵删 注意:博主在服务器上搭建环境的时候使用的是一个服务器,所以这篇博客可能会出现一些xsync分发到其他服务器时候的错误,如果你在搭建的过程中出现了错…

CKZF-D60170、CKZF-D70190、CKZF-D80210单向离合器

CKZF-C30100、CKZF-C35110、CKZF-C40125、CKZF-C45130、CKZF-C50150、CKZF-C55160、CKZF-C60170、CKZF-C70190、CKZF-C80210、CKZF-C90230、CKZF-C100270、CKZF-C130310、CKZF-B30100、CKZF-B35110、CKZF-B40125、CKZF-B45130、CKZF-B50150、CKZF-B55160、CKZF-B60170、CKZF-B7…

Java课题笔记~ 什么是跨域?

什么是跨域? 浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。 域名: 主域名不同 百度一下,你就知道 -->新浪网 子域名不同 http://www.666.baidu.com/index.html -->htt…

原生js获取今天、昨天、近7天的时间(年月日时分秒)

有的时候我们需要将今天,昨天,近7天的时间(年月日时分秒)作为参数传递给后端,如下图: 那怎么生成这些时间呢?如下代码里,在methods里的toDay方法、yesterDay方法、weekDay方法分别用于生成今天、昨天和近7天的时间: <template><div class="box"&…

springBoot是如何实现自动装配的

目录 1 什么是自动装配 2 Spring自动装配原理 2.1 SpringBootConfiguration ​编辑 2.2 EnableAutoConfiguration 2.2.1 AutoConfigurationPackage 2.2.2 Import({AutoConfigurationImportSelector.class}) 2.3 ComponentScan 1 什么是自动装配 自动装配就是将官方写好的的…

电脑c盘满了怎么办,使用硬盘专家一件解决!

下载硬盘专家后&#xff0c;点击释放C盘系统空间&#xff0c;就可以节省出很多空间&#xff0c;win10系统一般节省出20G都是正常的&#xff0c;因为win10在很多地方都恶意占用磁盘空间&#xff0c;比如一些大型的垃圾&#xff0c;都没有及时清理&#xff0c;就算你使用杀毒软件…

接口和抽象类的区别(一看就懂)

目录 1 抽象类作用 2 接口和抽象类区别 1 抽象类作用 接口&#xff1a;接口其实可以看做是多态的一种体现&#xff08;多态&#xff1a;一种行为的多种表现形态&#xff09;不妨想想平时你自己在service中写是不是定义了一个service接口&#xff0c;然后用一个serviceImpl实…

无代码集成飞书连接更多应用

场景描述&#xff1a; 基于飞书开放平台能力&#xff0c;无代码集成飞书连接更多应用&#xff0c;打通数据孤岛。通过Aboter可轻松搭建业务自动化流程&#xff0c;实现多个应用之间的数据连接。 支持包括飞书事件监听和接口调用的能力&#xff1a; 事件监听&#xff1a; 用…

Java“牵手”根据商品ID获取1688商品评论数据方法,1688API实现批量商品评论内容数据抓取示例

1688商城是一个网上购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取1688商品详情页面评价内容数据&#xff0c;您可以通过开放平台的接口或者直接访问1688商城的网页来获取商品详情信息内的评论数据。以下是两种常用方法…

netstat: command not found

执行&#xff1a; cd /etc/yum.repos.d/ sed -i s/mirrorlist/#mirrorlist/g /etc/yum.repos.d/CentOS-* sed -i s|#baseurlhttp://mirror.centos.org|baseurlhttp://vault.centos.org|g /etc/yum.repos.d/CentOS-* wget: command not found 执行&#xff1a;&#xff08;安装…

Java版企业电子招投标采购系统源码之首页设计 tbms

​ 功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查…

JAVA-Spring中IOC容器是什么?

目录 JAVA-Spring中IOC容器是什么&#xff1f;什么是IOC&#xff1f;什么是IOC容器&#xff1f;IOC和IOC容器的对比Spring框架中的IOC容器是如何工作的&#xff1f;使用XML配置的ApplicationContext使用注解的AnnotationConfigApplicationContext总结 JAVA-Spring中IOC容器是什…

无涯教程-Perl - sysread函数

描述 该函数等效于C /操作系统函数read(),因为它绕过了诸如print,read和seek之类的函数所采用的缓冲系统,它仅应与相应的syswrite和sysseek函数一起使用。 它从FILEHANDLE中读取LENGTH个字节,并将输出放入SCALAR中。如果指定了OFFSET,则将数据从OFFSET字节写入SCALAR,从而有效…

SAP CFL(CUstomer Field And Logic)- 关键类方法

1. 屏幕加载时&#xff0c;读取Business Context CL_CFD_SAP_GUI_CONTEXT_API->SET_CONTEXT 2. 系统支持的Business Context增强清单 3. 加载屏幕字段时设置屏幕字段属性&#xff08;Search Help、隐藏、必输、字段在屏幕上的顺序&#xff09;

android 的Thread类

Thread类 位于java.lang包下的Thread类是非常重要的线程类&#xff0c;它实现了Runnable接口&#xff0c;学习Thread类包括这些相关知识&#xff1a;线程的几种状态、上下文切换&#xff0c;Thread类中的方法的具体使用。 线程&#xff1a;比进程更小的执行单元&#xff0c;每…

0基础学习VR全景平台篇 第86篇:智慧眼-为什么要设置分组选择?

一、功能说明 分组选择&#xff0c;也就是给全景的每个分组去设置其所属的行政区划&#xff0c;设置后只有属于同行政区划的成员才可进入其场景进行相关操作&#xff0c;更便于实现城市的精细化管理。 二、后台编辑界面 分组名称&#xff1a;场景的分组名称。 对应分类&…

初识微服务

我们在曾经最常见的就是所谓的单体架构&#xff0c;但是由于网民越来越多&#xff0c;单体架构已经逐渐的被淘汰出去&#xff0c;所以我们在单体架构的基础上提出了微服务&#xff0c;它提倡将单一应用程序划分成一组小的服务&#xff0c;服务之间互相协调、互相配合&#xff0…

汽车级36V、4A同步降压转换器MAX20404AFOD/VY、MAX20404AFOC/VY、MAX20404AFOA/VY开关稳压器

MAX20404是小型同步降压转换器&#xff0c;集成了高端和低端开关。这些IC均设计为可在3V到36V的宽输入电压范围内提供高达4A的电流。电压质量可以通过观察PGOOD信号来监测。该器件可以在99%的占空比下运行&#xff0c;非常适合汽车和工业应用。 MAX20404提供可编程输出电压或5…

pytorch_lightning报错 You requested gpu: [1],But your machine only has: [0]

pytorch_lightning报错 You requested gpu: [1]&#xff0c;But your machine only has: [0] 问题及分析 报错图片如下&#xff1a; 分析 gpu:[1]指代的gpu的标号&#xff0c;如果笔记本中只包含一个GPU&#xff0c;一般序号为[0].所以无法找到程序指定的GPU。 解决方法 …

云原生 envoy xDS 动态配置 java控制平面开发 支持restful grpc实现 EDS 动态endpoint配置

envoy xDS 动态配置 java控制平面开发 支持restful grpc 动态endpoint配置 大纲 基础概念Envoy 动态配置API配置方式动静结合的配置方式纯动态配置方式实战 基础概念 Envoy 的强大功能之一是支持动态配置&#xff0c;当使用动态配置时&#xff0c;我们不需要重新启动 Envoy…