当前位置: 首页 > news >正文

博弈论——伯特兰德寡头模型(Bertrand Model)

伯特兰德寡头模型(Bertrand Model)

0 引言

在前面几篇文章中,我们介绍了古诺模型(Cournot duopoly model)和斯塔克尔伯格模型(Stackelberg model)
博弈论——连续产量古诺模型(Cournot duopoly model)
博弈论——斯塔克尔伯格模型(Stackelberg model)

这两个模型都是把厂商的产量作为竞争手段,是一种产量竞争模型,也就是说博弈方的决策变量都是产量,而伯特兰德模型是价格竞争模型
同时我们也介绍了反应函数法:得益是策略多元连续函数的博弈,都可以求每个博弈方的反应函数,解出各博弈方反应函数的交点就是纳什均衡。这种用反应函数求纳什均衡的方法,称为“反应函数法”。我们也分别用反应函数对古诺模型和斯塔克尔伯格模型进行了求解。
在这篇文章中,我们将继续推进反应函数法的使用,利用该方法来求解伯特兰德模型。

1 伯特兰德寡头模型

1.1 模型建立

在伯特兰德价格博弈模型中,两寡头生产有一定差别的产品。产品差别指在品牌、质量和包装等方面有所不同的同类产品,有很强的替代性,但又不是完全可替代。最后,仍强调两个厂商是同时决策的。假设厂商1生产产品1,厂商2生产产品2。
产品价格:P1、P2分别为厂商1、厂商2的产品价格;
潜在市场规模:a1、a2分别为产品1、产品2的潜在市场规模;
生产成本:假设两个厂商无固定成本,边际生产成本分别为c1和c2;
价格弹性:b1、b2为产品1、产品2的价格弹性;
产品的替代系数:d1、d2为两个产品的替代系数。
根据上述参数设置,我们得到了以下的模型:
假设当厂商1和厂商2价格分别为P1和 P2时,各自的需求函数为:
q 1 = q 1 ( P 1 , P 2 ) = a 1 − b 1 P 1 + d 1 P 2 q_1=q_1 (P_1,P_2 )=a_1-b_1 P_1+d_1 P_2 q1=q1(P1,P2)=a1b1P1+d1P2

q 2 = q 2 ( P 1 , P 2 ) = a 2 − b 2 P 2 + d 2 P 1 q_2=q_2 (P_1,P_2 )=a_2-b_2 P_2+d_2 P_1 q2=q2(P1,P2)=a2b2P2+d2P1
    在该博弈中,两博弈方的决策变量为产品价格,因此各自的策略空间为 s 1 = [ 0 , P 1 m a x ] s_1=[0,P_{1max}] s1=[0P1max] s 2 = [ 0 , P 2 m a x ] s_2=[0,P_{2max}] s2=[0P2max],其中 P 1 m a x P_{1max} P1max P 2 m a x P_{2max} P2max是厂商1和厂商2还能卖出产品的最高价格。两博弈方的得益是各自的利润,即销售收益减去成本,它们都是双方价格的函数为:
π 1 = π 1 ( P 1 , P 2 ) = P 1 q 1 − c 1 q 1 = ( P 1 − c 1 ) ( a 1 − b 1 P 1 + d 1 P 2 ) π_1=π_1 (P_1,P_2 )=P_1 q_1-c_1 q_1=(P_1-c_1)(a_1-b_1 P_1+d_1 P_2) π1=π1(P1,P2)=P1q1c1q1=(P1c1)(a1b1P1+d1P2)

π 2 = π 2 ( P 1 , P 2 ) = P 2 q 2 − c 2 q 2 = ( P 2 − c 2 ) ( a 2 − b 2 P 2 + d 2 P 1 ) π_2=π_2 (P_1,P_2 )=P_2 q_2-c_2 q_2=(P_2-c_2)(a_2-b_2 P_2+d_2 P_1) π2=π2(P1,P2)=P2q2c2q2=(P2c2)(a2b2P2+d2P1)

1.2 模型求解

我们用反应函数法分析这个博弈。对上述得益函数求偏导,并且偏导为0时存在最大值:
∂ π 1 ∂ P 1 = − 2 b 1 P 1 + c 1 b 1 + a 1 + d 1 P 2 \frac{∂π_1}{∂P_1}=-2b_1 P_1+c_1 b_1+a_1+d_1 P_2 P1π1=2b1P1+c1b1+a1+d1P2
∂ π 2 ∂ P 2 = − 2 b 2 P 2 + c 2 b 2 + a 2 + d 2 P 1 \frac{∂π_2}{∂P_2}=-2b_2 P_2+c_2 b_2+a_2+d_2 P_1 P2π2=2b2P2+c2b2+a2+d2P1
∂ π 1 ∂ P 1 = 0 \frac{∂π_1}{∂P_1}=0 P1π1=0 ∂ π 2 ∂ P 2 = 0 \frac{∂π_2}{∂P_2}=0 P2π2=0得到两个厂商的反应函数为:
P 1 = R 1 ( P 2 ) = 1 2 b 1 ( c 1 b 1 + a 1 + d 1 P 2 ) P_1=R_1 (P_2 )=\frac{1}{2b_1} (c_1 b_1+a_1+d_1 P_2) P1=R1(P2)=2b11(c1b1+a1+d1P2)
P 2 = R 2 ( P 1 ) = 1 2 b 2 ( c 2 b 2 + a 2 + d 2 P 1 ) P_2=R_2 (P_1 )=\frac{1}{2b_2}(c_2 b_2+a_2+d_2 P_1) P2=R2(P1)=2b21(c2b2+a2+d2P1)
    回顾一下我们在反应函数文章中的介绍,该博弈的纳什均衡是两条反应函数对应图像的交点 ( P 1 ∗ , P 2 ∗ ) (P_1^*,P_2^*) (P1,P2),并且这个交点需要满足:
P 1 ∗ = 1 2 b 1 ( c 1 b 1 + a 1 + d 1 P 2 ∗ ) P_1^*=\frac{1}{2b_1} (c_1 b_1+a_1+d_1 P_2^*) P1=2b11(c1b1+a1+d1P2)
P 2 ∗ = 1 2 b 2 ( c 2 b 2 + a 2 + d 2 P 1 ∗ ) P_2^*=\frac{1}{2b_2}(c_2 b_2+a_2+d_2 P_1^*) P2=2b21(c2b2+a2+d2P1)
解上述的二元一次方程组,得:
P 1 ∗ = d 1 ( a 2 + b 2 c 2 ) + 2 b 2 ( a 1 + c 1 b 1 ) 4 b 1 b 2 − d 1 d 2 P_1^*=\frac{d_1 (a_2+b_2 c_2 )+2b_2 (a_1+c_1 b_1)}{4b_1 b_2-d_1 d_2} P1=4b1b2d1d2d1(a2+b2c2)+2b2(a1+c1b1)
P 2 ∗ = d 2 ( a 1 + c 1 b 1 ) + 2 b 1 ( a 2 + b 2 c 2 ) 4 b 1 b 2 − d 1 d 2 P_2^*=\frac{d_2 (a_1+c_1 b_1 )+2b_1 (a_2+b_2 c_2)}{4b_1 b_2-d_1 d_2} P2=4b1b2d1d2d2(a1+c1b1)+2b1(a2+b2c2)
( P 1 ∗ , P 2 ∗ ) (P_1^*,P_2^*) (P1,P2)为该博弈的唯一纳什均衡。将 P 1 ∗ 、 P 2 ∗ P_1^*、P_2^* P1P2代入得益函数中,可以求得两个厂商的均衡得益,这里我就不再赘述了,有兴趣的读者可以自行代入计算。

谢老师的书中,对该模型的各参数做了具体假设: a 1 = a 2 = 28 , b 1 = b 2 = 1 , d 1 = d 2 = 0.5 , c 1 = c 2 = 2 a_1=a_2=28,b_1=b_2=1,d_1=d_2=0.5,c_1=c_2=2 a1=a2=28b1=b2=1,d1=d2=0.5c1=c2=2,则可以解得 P 1 ∗ = P 2 ∗ = 20 , u 1 ∗ = u 2 ∗ = 324 P_1^*=P_2^*=20,u_1^*=u_2^*=324 P1=P2=20u1=u2=324

2 总结

更一般的伯特兰德模型可以有n个寡头,产品也可以是无差别的。产品无差别时,可以考虑消费者对价格的敏感性问题。因为如果所有消费者对价格都非常敏感,则生产无差别产品的厂商中价格高的一方完全卖不出去,价格差别不可能存在。多寡头伯特兰德模型的分析是两寡头模型的简单推广,只需求出每个厂商对其他各个厂商价格的反应函数,解出它们的交点即可。

相关文章:

博弈论——伯特兰德寡头模型(Bertrand Model)

伯特兰德寡头模型(Bertrand Model) 0 引言 在前面几篇文章中,我们介绍了古诺模型(Cournot duopoly model)和斯塔克尔伯格模型(Stackelberg model) 博弈论——连续产量古诺模型(Cournot duopoly model) 博弈论——斯塔克尔伯格模型(Stackelberg model) 这两个模型…...

第一百六十回 SliverPadding组件

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了SliverAppBar组件相关的内容,本章回中将介绍 SliverPadding组件.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在本章回中介绍的SliverPadding组件类似Pading组件,它主要用…...

Mapfree智驾方案,怎样实现成本可控?

整理|睿思 编辑|祥威 编者注:本文是HiEV出品的系列直播「智驾地图之变」第二期问答环节内容整理。 元戎启行副总裁刘轩与连线嘉宾奥维咨询董事合伙人张君毅、北汽研究总院智能网联中心专业总师林大洋、主持嘉宾周琳展开深度交流,并进行了答疑。 本期元…...

javascript: Bubble Sort

// Sorting Algorithms int JavaScript /** * file Sort.js * 1. Bubble Sort冒泡排序法 */ function BubbleSort(arry, nszie) {var i, j, temp;var swapped;for (i 0; i < nszie - 1; i){swapped false;for (j 0; j < nszie - i - 1; j){if (arry[j] > arry[j …...

DM数据库根据rowid删除重复的记录

oracle中rowid的用法-CSDN博客 delete from stu a where rowid not in (select max(b.rowid) from stu b where a.nob.no and a.name b.name and a.sex b.sex); //这里max使用min也可以...

【AI视野·今日Robot 机器人论文速览 第四十期】Mon, 25 Sep 2023

AI视野今日CS.Robotics 机器人学论文速览 Mon, 25 Sep 2023 Totally 36 papers &#x1f449;上期速览✈更多精彩请移步主页 Interesting: &#x1f4da;CloudGripper, 一套云化的机器抓取人数据采集系统&#xff0c;包含了32个机械臂的集群。(from KTH Royal Institute of Te…...

HashMap底层源码,数据结构

HashMap的底层结构在jdk1.7中由数组链表实现&#xff0c;在jdk1.8中由数组链表红黑树实现&#xff0c;以数组链表的结构为例。 JDK1.8之前Put方法&#xff1a; JDK1.8之后Put方法&#xff1a; HashMap基于哈希表的Map接口实现&#xff0c;是以key-value存储形式存在&#xff0c…...

计算机等级考试—信息安全三级真题八

一、单选题...

番外6:下载+安装+配置Linux

#########配置Linux---后续 step08: 点击编辑虚拟机设置&#xff0c;选择下载好的映像文件.iso进行挂载&#xff1b; step09: 点击编辑虚拟机选项&#xff0c;选择UEFI启动模式并点击确定&#xff1b; step10: 点击开启虚拟机&#xff0c;选择Install rhel &#xff1b; 备注&…...

javascript验证表单字段有效性,使用checkValidity()方法和他的属性

<script type"text/javascript">function LoginCheckValidity(){var txt"";var rmb1document.getElementById("rmb1");if(rmb1.checkValidity()false){if(rmb1.validitionMessageundefined){txt"输入金额有误,金额10-200之间";}…...

pdf怎么调整大小kb?pdf文件过大这样压缩

在日常的工作和生活中&#xff0c;我们常常会遇到需要调整PDF文件大小的问题。有时候&#xff0c;我们需要将大型的PDF文件上传到某些平台&#xff0c;但平台的限制让我们不得不压缩文件的大小。那么&#xff0c;如何有效地调整PDF文件的大小呢&#xff1f; 一、使用嗨格式压缩…...

vue3中的watch

在Vue3中&#xff0c;watch中的参数可以分为两部分&#xff0c;即要监听的响应式数据以及回调函数。 语法格式如下&#xff1a; watch(要监听的响应式数据, 回调函数)除了以上的两个还有其他的参数 immediate&#xff1a;是否在初始化时立即执行一次回调函数&#xff0c;默认…...

开绕组电机零序Bakc EMF-based无感控制以及正交锁相环inverse Park-based

前言 最近看论文遇到了基于反Park变换的锁相环&#xff0c;用于从开绕组永磁同步电机零序电压信号中提取转子速度与位置信息&#xff0c;实现无感控制。在此记录 基于零序Back EMF的转子估算 开绕组电机的零序反电动势 e 0 − 3 ω e ψ 0 s i n 3 θ e e_0-3\omega_e\psi_…...

番外5:下载+安装+配置Linux

任务前期工作&#xff1a; 01. 电脑已安装好VMware Workstation软件&#xff1b; 02.提前下载好Rhel-8.iso映像文件&#xff08;文件较大一般在9.4GB&#xff0c;建议采用迅雷下载&#xff09;&#xff0c;本人使用的以下版本&#xff08;地址ed2k://|file|rhel-8.4-x86_64-dvd…...

新手--安装好Quartus II13.0(带modelsim集成包)并用Quartus II搭建一个工程

前言 今天是国庆节&#xff0c;我们正式来学习Quartus II13.0软件的安装与使用。学习verilog与学习C语言都是学习一门语言&#xff0c;那么学习一门语言&#xff0c;光看理论不敲代码绝对是学习不好的。要用verilog语言敲代码&#xff0c;就要像C语言那样搭建起语言的编译环境&…...

python监控软件内存、cpu和GDI

目录 前言代码 前言 最近做软件测试需要监控软件内存、cpu和GDI对象数&#xff0c;用psutil库可以很方便的实现监控内存和CPU&#xff0c;但是GDI好像还不行&#xff0c;最后来的win32api来调用的Windows API接口来实现GDI监控的&#xff0c;在此做个记录。 代码 import psu…...

wordpress搭建自己的博客详细过程以及踩坑

WordPress作为一款开源的内容管理系统&#xff08;CMS&#xff09;&#xff0c;具有诸多优势。首先&#xff0c;它的易用性使得即使对于没有编程经验的用户来说也能轻松上手&#xff0c;通过直观的用户界面和友好的管理工具&#xff0c;用户可以方便地创建、编辑和发布内容。其…...

在jupyter中更改、增加内核

今天在配置llama2的环境&#xff0c;在学院实验室的服务器上面用jupyter&#xff0c;怎么都不会增加内核。今天说一下怎么把创建好的conda环境增加到jupyter列表中。 例如我有个环境叫做llama2&#xff0c;很简单只要两步。 第一步先激活conda环境。 conda activate llama2第…...

Redis代码实践总结(二)

使用 CLI 探索 Redis 外部程序使用 TCP 套接字和 Redis 特定协议与 Redis 进行通信。该协议在不同编程语言的 Redis 客户端库中实现。然而&#xff0c;为了使使用 Redis 进行黑客攻击变得更简单&#xff0c;Redis 提供了一个命令行实用程序&#xff0c;可用于向 Redis 发送命令…...

读取一张图片各种颜色占比

提问之初 <small> 读取一张图片各种颜色占比 /storage/emulated/0/Pictures/Screenshots/Screenshot_20230725_195440.jpg有趣优雅热情沉着的代码与注释/每行每行 from PIL import Image # 导入PIL大法&#xff0c;这是处理图像的必备神器# 图片路径&#xff0c;此处为…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

前端开发者常用网站

Can I use网站&#xff1a;一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use&#xff1a;Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站&#xff1a;MDN JavaScript权威网站&#xff1a;JavaScript | MDN...