当前位置: 首页 > 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;此处为…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

解析“道作为序位生成器”的核心原理

解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制&#xff0c;重点解析"道作为序位生成器"的核心原理与实现框架&#xff1a; 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...

如何通过git命令查看项目连接的仓库地址?

要通过 Git 命令查看项目连接的仓库地址&#xff0c;您可以使用以下几种方法&#xff1a; 1. 查看所有远程仓库地址 使用 git remote -v 命令&#xff0c;它会显示项目中配置的所有远程仓库及其对应的 URL&#xff1a; git remote -v输出示例&#xff1a; origin https://…...

动态规划-1035.不相交的线-力扣(LeetCode)

一、题目解析 光看题目要求和例图&#xff0c;感觉这题好麻烦&#xff0c;直线不能相交啊&#xff0c;每个数字只属于一条连线啊等等&#xff0c;但我们结合题目所给的信息和例图的内容&#xff0c;这不就是最长公共子序列吗&#xff1f;&#xff0c;我们把最长公共子序列连线起…...

如何做好一份技术文档?从规划到实践的完整指南

如何做好一份技术文档&#xff1f;从规划到实践的完整指南 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 总有一行代码&#xff0c;能点亮万千星辰。 &#x1f50d; 在技术的宇宙中&#xff0c;我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…...

Python异步编程:深入理解协程的原理与实践指南

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 持续学习&#xff0c;不断…...