学习笔记:演化博弈与势博弈-程序员宅基地

技术标签: 学习  数学建模  笔记  学习笔记  人工智能  

演化博弈(Evolutionary Game Theory)

演化博弈(Evolutionary Game Theory)是博弈论的一个分支,它结合了生物学中关于进化和适应性的思想,旨在研究群体中个体之间相互作用的演化过程。演化博弈的核心思想是通过考察各种策略在群体中的传播和演化,探讨这些策略如何适应环境,从而影响个体的生存和繁殖。演化博弈在经典博弈论的基础上引入了生物学中的 “群体思维” (Population thinking),即演化博弈考虑的对象通常是一个博弈者群体, 而
不仅仅是特定的几个博弈者. 因此, 演化博弈也称为群体博弈 (Population game)。

在传统博弈理论中,常假定参与人是完全理性的,且参与人在完全信息条件下进行的,但在现实的经济生活中的参与人来讲,参与人的完全理性与完全信息的条件是很难实现的。在企业的合作竞争中,参与人之间是有差别的,经济环境与博弈问题本身的复杂性所导致的信息不完全和参与人的有限理性问题也显而易见。
与传统博弈理论不同,演化博弈理论并不要求参与人是完全理性的,也不要求完全信息的条件。演化博弈论是把博弈理论分析和动态演化过程分析结合起来的一种理论。在方法论上,它不同于博弈论将重点放在静态均衡和比较静态均衡上,强调的是一种动态的均衡。演化博弈理论源于生物进化论,它曾相当成功地解释了生物进化过程中的某些现象。如今,经济学家们运用演化博弈论分析社会习惯、规范、制度或体制形成的影响因素以及解释其形成过程,也取得了令人瞩目的成绩。演化博弈论目前成为演化经济学的一个重要分析手段,并逐渐发展成一个经济学的新领域。

演化博弈主要涉及以下概念:

演化稳定策略(Evolutionarily Stable Strategy,ESS): 指的是一种策略,如果在群体中占据主导地位,那么即使有其他策略的出现,也不容易被替代。演化稳定策略强调的是在演化的长期过程中,某些策略能够在群体中稳定存在下去。

复制动态(Replicator Dynamics): 描述了不同策略在群体中的传播和演化过程。这一概念来源于生物学中基因的复制和传递,被用来模拟不同策略在群体中的相对频率如何随时间演变。

进化博弈均衡(Evolutionary Game Equilibrium): 描述在演化过程中,群体中的个体所采取的策略达到某种平衡状态。这种平衡状态可能涉及演化稳定策略或其他演化动力学的平衡点。

演化博弈模型中,所构建的复制动态方程的基本形式为:
d x ( t ) / d t = [ f ( s i , x ) − f ( x , x ) ] x i ​ dx(t)/dt=[f(s_i ,x)−f(x,x)]x_i​ dx(t)/dt=[f(si,x)f(x,x)]xi
其中, s i s_i si表示演化群体内博弈的策略集; x i x_i xi表示在 t 时刻下,博弈群体中有多少数量比例的个体选择了策略 s i s_i si f ( s i , x ) f(s_i ,x) f(si,x)当博弈个体选择 s i s_i si时,个体的期望支付; f ( x , x ) f(x,x) f(x,x)为整个群体的平均期望支付

在演化博弈过程中,博弈双方不再是以稳定的纳什均衡解作为策略最终的选择结构,而是通过一个不断比较、学习和模仿的过程,逐渐去探究演化稳定均衡解。
演化博弈模型的基本形式如下,括号内为概率:

(主体 U 1 U_1 U1,主体 U 2 U_2 U2 选择P1策略 选择P2策略
选择P1策略 ( g , g ) (g,g) (g,g) ( k , f ) (k,f) (k,f)
选择P2策略 ( f , k ) (f,k) (f,k) ( c , c ) (c, c) (c,c)

在这个博弈矩阵中,P1 策略博弈主体的数量比例为 x x x,P2 策略博弈主体的数量比例为 1 − x 1-x 1x

参数 收益
g g g 双方都选择P1策略的收益
c c c 双方都选择P2策略的收益
k k k U 1 U_1 U1选择P1策略, U 2 U_2 U2选择P2的, U 1 U_1 U1的收益
f f f U 1 U_1 U1选择P1策略, U 2 U_2 U2选择P2的, U 1 U_1 U1的收益

在这个博弈矩阵中, V 1 V_1 V1表示 U 1 U_1 U1的收益, V 2 V_2 V2表示 U 2 U_2 U2的收益, V V V表示总体的收益。
根据演化博弈概念,构建演化博弈的复制动态方程:

U 1 = x g + ( 1 − x ) k U 2 = x c + ( 1 − x ) f U = x U 1 + ( 1 − x ) U 2 U_1=xg+(1−x)k\\U_2=xc+(1−x)f\\U=xU_1+(1−x)U_2 U1=xg+(1x)kU2=xc+(1x)fU=xU1+(1x)U2
根据演化博弈概念,构建演化博弈的复制动态方程:
F ( x ) = d t / d x = x ( U 1 − U ) F(x)= dt/dx=x(U_1 −U) F(x)=dt/dx=x(U1U)
通过数理计算可以得出复制动态方程的最终形式为:
F ( x ) = x ( 1 − x ) [ k − f + x ( g − f − k + c ) ] F(x)=x(1−x)[k−f+x(g−f−k+c)] F(x)=x(1x)[kf+x(gfk+c)]
令复制动态方程结果为零,得出三个解如下:
x 1 = 0 x 2 = 1 x 3 = c − k / f − k ​ x_1=0\\x_2=1\\x_3=c-k/f−k​ x1=0x2=1x3=ck/fk
再将这三个解入公式 F ’ ( x ) F’(x) F(x)中,即复制动态方程的一阶导方程中。 若 F ′ ( x ) < 0 若 F'(x) < 0 F(x)<0,则该解就是演化博弈的稳定策略均衡解。

多智能体系统中的演化博弈
在多智能体系统中,运用博弈论来分析和优化算法可以达到非常好的效果
1.分布式算法优化
分布式算法优化是指将多智能体系统中的博弈过程分布式地进行计算和优化。这种方法的优点是可以高效地处理大规模数据,并且能够保证系统的高稳定性和可扩展性。
在分布式算法优化中,主要有两个部分需要进行考虑。一方面,需要设计好博弈的策略,并利用分布式技术来加速博弈的过程;另一方面,需要设计好信任机制和分布式管理机制,以确保系统的正确性和稳定性。
2.演化算法优化
演化算法优化是指利用演化博弈来对多智能体系统的策略进行优化。这种方法的优点是可以自适应地调整策略,并能够应对不同的环境变化。
在演化算法优化中,主要有两个部分需要进行考虑。一方面,需要设计好适应性评价函数,并利用演化过程来不断调整和优化个体策略;另一方面,需要设计好竞争和合作的机制,以确保系统能够达到最优的结果。

势博弈(Potential Game)

势博弈(Potential Game)是博弈论中的一种特殊类型的博弈,其特点是存在一个潜在函数(potential function),通过最小化或最大化这个潜在函数可以达到博弈的均衡状态。势博弈主要强调博弈中的全局性特征,而不是个体之间的直接相互作用。
博弈中,如果每个玩家对于自身目标改变或策略选取,都可以映射到某个全局函数中去,这个函数就叫
做势函数(potential function),这个博弈称为势博弈(potential game)。势博弈可以被看作多智
能体博弈的“单智能体成分”,因为所有智能体在SPG中的利益都被描述为一个单一的势函数。

对于博弈 G = ( N , A i ∣ i ∈ N , U i ∣ i ∈ N ) G = (N, {Ai|i ∈ N}, {Ui|i ∈ N}) G=(N,AiiN,UiiN),如果存在一个势函数 Φ : A → R Φ :\mathcal{A} → \mathbb{R} Φ:AR,使得
U i ( a i , a − i ) − U i ( a ′ i , a − i ) = Φ ( a i , a − i ) − Φ ( a ′ i , a − i ) U_i(a_i, a_{−i}) − U_i(a′_i, a_{−i}) = Φ(a_i, a_{−i}) − Φ(a′_i, a_{−i}) Ui(ai,ai)Ui(ai,ai)=Φ(ai,ai)Φ(ai,ai)
对所有 a i , a ′ i ∈ A i a_i, a′_i ∈ A_i ai,aiAi i ∈ N i ∈ N iN成立,那么称这个博弈为势博弈。

对于一个势函数为 Φ : A → R Φ :\mathcal{A} → \mathbb{R} Φ:AR的势博弈 G = ( N , A i ∣ i ∈ N , U i ∣ i ∈ N ) G = (N, {Ai|i ∈ N}, {Ui|i ∈ N}) G=(N,AiiN,UiiN)
a ∗ = arg ⁡ max ⁡ a ∈ A Φ ( a ) a^∗ = \mathop{\arg\max} \limits_{a∈A}Φ(a) a=aAargmaxΦ(a),那么 a ∗ a^∗ a是博弈G的一个纯策略纳什均衡点。

以下是势博弈的一些关键概念:

潜在函数(Potential Function): 势博弈中存在一个数学函数,被称为潜在函数,通常表示为 V : A → R V :\mathcal{A} → \mathbb{R} V:AR,其中 S 是博弈中可能的策略集。潜在函数的选择是为了反映博弈系统的总体效用。对于任意一组策略,潜在函数的变化量等于博弈中个体效用的变化量的总和。

纳什均衡(Nash Equilibrium): 在势博弈中,当且仅当每个个体的最优策略选择能够最小化或最大化潜在函数时,博弈达到纳什均衡。这意味着没有个体有动机单独改变自己的策略,因为这样做将不会改善他们的个体效用。

势博弈均衡: 如果一个博弈存在一个潜在函数,使得通过最小化或最大化这个潜在函数可以达到博弈的纳什均衡,那么这个博弈就被称为势博弈。在势博弈中,博弈的均衡点可以通过简单地调整策略来实现。

势博弈的概念在研究博弈理论中的一些特殊情况和问题时非常有用,例如网络博弈、交通流问题等。通过引入潜在函数,势博弈能够简化对博弈均衡的分析,并提供了一种更直观的方式来理解博弈系统的全局性质。

总结

演化博弈(Evolutionary Game Theory)和势博弈(Potential Game)是博弈论中的两个不同的概念,它们侧重于不同的方面和理论框架。以下是它们的主要区别:

演化博弈: 演化博弈理论主要关注博弈中个体的演化和进化过程。它借鉴了生物学中关于群体演化和适应性的思想,试图解释在群体中个体如何通过时间演化来适应环境和其他个体。
势博弈: 势博弈理论主要关注博弈中的潜在函数(potential function)。潜在函数是一个数学工具,用来描述博弈中个体行为的效用和系统的总体效用。在势博弈中,系统趋向于达到某种平衡状态,这可以通过最小化或最大化潜在函数来实现。

1.个体的行为

演化博弈: 演化博弈关注个体的演化和基因的传递,强调在群体中适者生存的原则。个体的策略的演化受到自然选择的影响。
势博弈: 势博弈关注个体的局部最优行为,即个体通过调整自己的策略来最大化自己的效用,而不考虑全局最优。

2.均衡概念

演化博弈: 演化博弈通常考虑在长期演化中达到的稳定策略,如演化稳定策略(Evolutionarily Stable Strategy,ESS)。
势博弈: 势博弈通常关注纳什均衡(Nash Equilibrium),其中每个个体的策略是对其他人的策略的最佳响应,且没有个体有动机单独改变自己的策略。

总的来说,演化博弈更注重群体演化和适应性,而势博弈更注重个体行为和局部最优。这两个概念在不同的背景和问题中有不同的应用和意义。

3.应用场景

演化博弈和势博弈虽然都属于博弈论的领域,但它们的应用场景和重点略有不同。

演化博弈的应用场景:
生物学: 演化博弈主要用于解释生物学领域中的现象,例如动物群体中的合作行为、性选择、进化稳定策略等。通过考察个体策略在群体中的演化过程,可以理解为什么某些特定的行为模式在演化的过程中变得普遍。

社会学: 在社会学领域,演化博弈被用来解释社会规范、合作和竞争等社会行为。通过演化博弈理论,可以分析不同策略在社会中的传播和演化过程,以及为什么一些社会规范能够在群体中得以维持。

计算机科学: 演化博弈也在计算机科学中找到了应用,尤其是在进化算法等领域。通过模拟演化过程,优化算法的参数或设计,以适应特定的环境。

势博弈的应用场景:
经济学: 势博弈在经济学领域中有广泛的应用,特别是在分析市场竞争、拍卖、定价策略等方面。潜在函数的引入有助于描述市场参与者之间的相互作用和达到均衡的路径。

网络博弈: 势博弈被用来分析网络中的资源分配、流量控制等问题。通过引入潜在函数,可以研究网络中节点的策略选择和系统的全局均衡状态。

交通流问题: 势博弈在交通工程领域中有应用,用于分析城市交通流的均衡状态、道路使用模式等。通过潜在函数,可以描述驾驶者的交通路线选择和整体交通系统的效率。

总体来说,演化博弈更侧重于生物学和社会学领域中个体策略的演化和适应性,而势博弈更注重博弈中的全局性特征,主要应用于经济学、网络博弈和交通流等领域。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41650543/article/details/134560564

智能推荐

Linear Regression 吴恩达机器学习实验一(线性回归)-程序员宅基地

该实验是关于使用一种变量实现线性回归,以预测食品卡车的利润。假设你是一家餐厅特许经营公司的首席执行官,正在考虑在不同的城市开设新的分店。

java 输出文件到mac路径_javamac的文件路径怎么写-程序员宅基地

文章浏览阅读2.6k次,点赞5次,收藏7次。1. java mac 安装路径在哪1. Mac OS自带的JDK 6:/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java。看到有朋友说OS 10.10删除了自带的JDK 6,但是我升级10.10之后还是能找到该路径,不知道是否需要重新在苹果网站下载JDK 6呢?2. Oracle的JDK 7/..._resource下的文件 mac路径该怎么写 java

javascript 获取指定国家(时区)的时间 - npm库_js 获取当前的德国时间-程序员宅基地

文章浏览阅读2.7k次。让代码运行在不同国家环境下,都能准确获得指定国家、时区的时间!判断美国是否冬令时、夏令时,能自定义返回时间的格式等其他API。完整时间、完整时间格式调整、年月日 | 日月年 | 月日年、年月日格式自定义:顺序、分隔符、时分秒、年、月、日、小时(24小时制)、分、秒、星期_js 获取当前的德国时间

初始c语言-程序员宅基地

文章浏览阅读981次,点赞17次,收藏16次。int age=20;int是整型%d表示打印十进制数据short int短整型(与整型只是空间上的区别)

JavaScript - math.js 数学库,实现 math.add() “数字累加“ 计算总和的操作(例如:循环 N 个整数或小数,然后再循环内 “+=“ 叠加算数)适用于Vue等全部前端项目-程序员宅基地

文章浏览阅读2.7k次,点赞5次,收藏3次。vue.js / uniapp / nuxt.js / react.js 使用 math.js 数学库,math.add() 怎么把多个数字进行累加计算综合,vue math.js 库如何实现一些小数或整数加在一起,math.js math.add() 怎么进行数字的叠加累加,vue math.add() 计算多个整数的总和,math.add() 计算一堆小数累加在一起的结果,uniapp math.js 数学库,实现 math.add() 数字累加,math.add() 如何将数组内的数字进行相加叠加,J_math.add

冒泡排序_真冒泡排序-程序员宅基地

文章浏览阅读94次。冒泡排序 工作原理: 第一次排序:从数组中依次取出相邻两个元素,进行比较,小的元素被被放在大的元素前面,然后小的元素不在参排序。 第二次排序:再从刚比较过的大的元素开始,依次向后取出相邻的两个元素进行比较,,小的元素被被放在大的元素前面, 然后小的元素不在参排序。 ..... 一次类推,直到排序完成。动图链接:https://www.runoob.com/w3cnote/bubble-sort.html代码演示: public static void main(Stri_真冒泡排序

随便推点

61、服务攻防——中间件安全&amp;CVE复现&amp;K8s&amp;Docker&amp;Jetty&amp;Websphere(1)-程序员宅基地

文章浏览阅读356次,点赞5次,收藏8次。这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!docker逃逸:1、由内核漏洞引起;2、由Docker软件设计引起;3、由配置不当引起。k8s:简单来说,跟docker一样,是个容器系统。常见漏洞:未授权访问、提权漏洞。

如何做好性能压测(一):压测环境的设计和搭建-程序员宅基地

文章浏览阅读500次。本文是阿里巴巴 PTS 团队《Performance Test Together》系列专题分享,霍格沃兹测试学院经特别授权转载,也会结合学员实际需求组织大咖公开课主题分享,文末有福利!性..._压测环境 资源配置 与生产不一致

uiapp简单介绍-程序员宅基地

文章浏览阅读68次。一、什么是uni-appuni-app是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。二、uni-app适合什么样的开发者以及它有哪些优点1.uni-app适合那些有Vue.js开发经验的开发者尤其是那些需要同时开发iOS、Android和Web应用程序的开发者。同时,uni-app也适合初学者,因为它的学习曲线比较平缓。

【数据分享】1999—2021年地级市各类交通工具的客货运量和拥有量数据(Shp/Excel格式)-程序员宅基地

文章浏览阅读137次。【数据分享】1999—2021年地级市各类交通工具的客货运量和拥有量数据(Shp/Excel格式)

SQL SERVER 2008安装教程_sql server 2008 enterprise-程序员宅基地

文章浏览阅读548次。本篇文章介绍了安装SQL Server 2008企业版的软硬件配置要求,安装过程的详细步骤,以及需要注意的事项。安装步骤(1). 在安装文件setup.exe上,单击鼠标右键选择“以管理员的身份运行”,如下图所示:(2). 打开如下所示的”SQL Server安装中心”对话框:(3). 选择左边的安装选项,单击右边的“全新SQL Server独立安装或向现有安装添加功能”选项,如图所示:(4). 在打开”SQL Server 2008安装程序“对话框中,出现“安装程序支持规则” 选项,可以看到,一些_sql server 2008 enterprise

Flutter 环境搭建以及填坑指南(Win10 系统且已有 Android 开发环境 )-程序员宅基地

文章浏览阅读2.1k次。地址 https://flutter.io/docs/get-started/install/windows中文教程地址 https://flutterchina.club/setup-windows/需要下载 git ,下载地址 git for win,安装完成之后需要 配置环境变量。获取 Flutter SDK,推荐使用 git clone 的方式如我想将安装目录放在C...