精华内容
下载资源
问答
  • 价格博弈论
    2020-10-29 15:27:13

    《斯坦福算法博弈论二十讲》课后习题探讨

    二、机制设计基础

    练习2.1

    【概念】
    1.占优策略,一种不论其他竞拍者如何报价,都能使本竞拍者的效用最大化的策略。
    2.占优策略激励相容:在一场拍卖中,如果每个竞拍者按照自己的估值真实报价都是一个占优策略,并且真实报价的竞拍者的效用都非负,则称这个拍卖是DSIC(Dominant-Strategy Incentive Compatible)的。
    解:假设vi>vj是任意两位竞拍者的估值,B是第三高报价,bj是竞拍者j的报价。对于竞拍者j来说他可以虚报更高价,使自己的效用最大化。当bj>vi时,竞拍者就j的效用从0变成vj-B。所以对于竞拍者j来说真实报价不是自己的占优策略。该拍卖不是DSIC的。

    练习2.2

    更多相关内容
  • 博弈论的功率控制算法,根据价格来调整实用函数。
  • 电商企业价格战分析——基于博弈论视角.pdf
  • 博弈论的功率控制算法,根据价格来调整实用函数。
  • 为了使投标者能够中标并获得较高的收益,就要讲究...在文献[1]和文献[2]的基础上,把投标者成本分布确定为最接近现实情况的参数μ和σ的正态分布,研究并建立了信息对称下的投标博弈模型,得出了不同投标者的最优报价水平。
  • AnyLogic博弈论程序和视频,用户、企业价格的博弈,包括用户、企业、政府三个智能体
  • 博弈论综述

    2021-07-26 10:23:22
    博弈论:双方或者多方在竞争,合作,冲突等情况下,充分了解各方信息,并依此选择一种能为本方争取最大利益的最优决策的理论。 重要性:经济史上普遍认为有三次伟大的革命:“边际分析革命”,“凯恩斯革命”,...

    博弈:是指在一定的游戏规则约束下,基于直接相互作用的环境条件下,各参与人依托所掌握的信息,选择各自的策略(行动),以实现利益最大化的过程。

    博弈论:双方或者多方在竞争,合作,冲突等情况下,充分了解各方信息,并依此选择一种能为本方争取最大利益的最优决策的理论。

    重要性:经济史上普遍认为有三次伟大的革命:“边际分析革命”,“凯恩斯革命”,“博弈论革命”。可见其地位举足轻重。

    博弈论包含四大因素:

    1. 至少有两个参与者;

    2. 利益;

    3. 策略,在博弈中,决策主体根据获得的信息和自己的判断制定出行动方案,即策略。

    4. 信息。

    其中利益是博弈的目的,策略是获得利益的手段,而信息就是制定策略的根据。

    博弈分类:

    1. 合作博弈与非合作博弈;

    2. 静态博弈与动态博弈;

    3. 完全信息博弈(信息公开)和非完全信息博弈(每个人得到信息不等)

    4. 负和,零和,正和博弈(所有人的)

    基本策略:

    1. 寻找并应用优势策略;

    2. 寻找并避免劣势策略;

    主要模型:

    1. 古诺模型:参加博弈的双方以各自在同一时间内相互独立的产量作为决策的变量,是一个产量竞争模型。

    2. 伯川德模型:参加博弈的双方把其产品的价格而不是产量作为竞争手段和决策变量,通过制定一个最优的销售价格来实现利润最大。

    3. 斯坦克伯格模型:企业A先决定一个产量,然后企业B可以观察到这个产量,并根据所观察到的产量来决定它自己的产量。

    展开全文
  • 基于博弈论视角下电商价格战分析.pdf
  • 博弈论学科整体概览

    千次阅读 2020-07-23 17:05:37
    一、博弈论的概念 博弈论又被称为对策论(Game Theory)既是现代数学的一个新分支,也是运筹学的一个重要学科。博弈论主要研究公式化了的激励结构间的相互作用。是研究具有斗争或竞争性质现象的数学理论和方法。博弈...

    一、博弈论的概念

    博弈论又被称为对策论(Game Theory)既是现代数学的一个新分支,也是运筹学的一个重要学科。博弈论主要研究公式化了的激励结构间的相互作用。是研究具有斗争或竞争性质现象的数学理论和方法。博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。博弈论已经成为经济学的标准分析工具之一。

    二、博弈论的发展历程

    博弈论是二人在平等的对局中各自利用对方的策略变换自己的对抗策略,达到取胜的目的。博弈论思想古已有之,中国古代的《孙子兵法》等著作就不仅是一部军事著作,而且算是最早的一部博弈论著作。博弈论最初主要研究象棋、桥牌、赌博中的胜负问题,人们对博弈局势的把握只停留在经验上,没有向理论化发展。

    博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。

    近代对于博弈论的研究,开始于策梅洛(Zermelo),波莱尔(Borel)及冯·诺依曼(von Neumann)。

    1928年,冯·诺依曼证明了博弈论的基本原理,从而宣告了博弈论的正式诞生。1944年,冯·诺依曼和摩根斯坦共著的划时代巨著《博弈论与经济行为》将二人博弈推广到n人博弈结构并将博弈论系统地应用于经济领域,从而奠定了这一学科的基础和理论体系。

    1950~1951年,约翰·福布斯·纳什(John Forbes Nash Jr)利用不动点定理证明了均衡点的存在,为博弈论的一般化奠定了坚实的基础。纳什的开创性论文《n人博弈的均衡点》(1950),《非合作博弈》(1951)等等,给出了纳什均衡的概念和均衡存在定理。此外,莱因哈德·泽尔腾、约翰·海萨尼的研究也对博弈论发展起到推动作用。今天博弈论已发展成一门较完善的学科。

    三、博弈论的要素

    (1)局中人:在一场竞赛或博弈中,每一个有决策权的参与者成为一个局中人。只有两个局中人的博弈现象称为“两人博弈”,而多于两个局中人的博弈称为 “多人博弈”。

    (2)策略:一局博弈中,每个局中人都有选择实际可行的完整的行动方案,即方案不是某阶段的行动方案,而是指导整个行动的一个方案,一个局中人的一个可行的自始至终全局筹划的一个行动方案,称为这个局中人的一个策略。如果在一个博弈中局中人都总共有有限个策略,则称为“有限博弈”,否则称为“无限博弈”。

    (3)得失:一局博弈结局时的结果称为得失。每个局中人在一局博弈结束时的得失,不仅与该局中人自身所选择的策略有关,而且与全局中人所取定的一组策略有关。所以,一局博弈结束时每个局中人的“得失”是全体局中人所取定的一组策略的函数,通常称为支付(payoff)函数。

    (4)对于博弈参与者来说,存在着一博弈结果 。

    (5)博弈涉及到均衡:均衡是平衡的意思,在经济学中,均衡意即相关量处于稳定值。在供求关系中,某一商品市场如果在某一价格下,想以此价格买此商品的人均能买到,而想卖的人均能卖出,此时我们就说,该商品的供求达到了均衡。所谓纳什均衡,它是一稳定的博弈结果。

    四、博弈论的目的

    博弈策略求解是博弈问题中的一个重要内容,另外一个重要的内容是博弈规则的设计:
      也就是说,假设博弈的参与者都是足够理性的,如何设计一个博弈规则能确保公正性或者达到设计者的最大利益。主要的难点是:规则复杂,计算量大。
    主要应用于:

    • 拍卖竞价:互联网广告投放、车牌竞价
    • 供需匹配:污染权、学校录取
    • 公正选举:选举制度、表决制度、议席分配

    五、稳定分配理论(stable matchings theory)

    稳定分配理论是由2012诺奖获得者沙普利使用合作博弈的方法来研究和对比不同的匹配方法而创立的理论。该理论的难点在于要保证一个配对是稳定的。
    稳定匹配的核心思想是实现一种稳定状态,在这种状态下,在匹配完结时不再存在这样两个市场主体,它们都更中意于他人,胜过它们当前的另一半匹配对象。在现实中,我们熟悉的8分钟相亲、学校和学生匹配等例子就是基于稳定市场匹配理论的思想发展而来的。其中双边模型延迟接受算法是稳定匹配理论的两块重要基石。
    双边匹配模型很多市场及社会制度的主要功能就是让其中的主体能和另一个主体相匹配:例如,学生和学校,职员和公司,适婚男女之间。这种市场匹配主要分为单边市场匹配(Single-Sided MarketMatch)双边市场匹配(Two-Sided MarketMatch)

    单边市场匹配”指市场中仅存在一个集合,集合中的个体根据各自的偏好相互匹配。然而,单边市场匹配中的“室友”现象会导致匹配的不稳定。当假设存在四个“室友”{1,2,3,4},其中1最偏好2,2最偏好3,3最偏好1,且他们把4都列为最不偏好者。在这种情况下,任何两两分组都无法实现稳定,因为和4分在一起的人会结束当前匹配去和已经匹配的人再次匹配,且这次新的匹配将会成功,使得市场一直无法实现稳定(Gale&Shapley,1962)。
    双边匹配模型”最早由Gale和Shapley(1962)从研究学生申请学校模型和婚姻稳定问题而提出。所谓的“双边市场”是指存在这样一个市场,市场中有两类个体集合,第一类集合中的个体只能和第二类集合中的个体相匹配。他们证明了在这样一个双边市场中,只要个体的偏好具有完备性及可传递性,以及市场足够的自由,能允许个体进行任何潜在可能的匹配,那么市场中总是存在稳定匹配。同样以4个室友为例,假设任意2个人睡上铺,2个人睡下铺,现在要求只有睡不同铺的人相互匹配,此时就形成了双边市场匹配模型。同时,Gale和Sha-pley指出市场匹配稳定时满足以下两个条件:(1)市场中不存在来自不同类的两个个体在偏好上可以实现相互匹配,但没有匹配的情况;(2)已经配对成功的个体不会尝试结束当前的配对,并试图与来自另一类且已匹配成功的个体进行匹配。
    双边匹配模型存在稳定匹配这一特性,使得其在理论和实践上都得到了广泛的关注,其中一个重要的运用就是劳动力市场的匹配。Shapley和Shubik(1972)利用数学模型抽象了一个充斥着不可分割商品的双边市场,市场中的每一位参与者既是商品的需求者也是商品的供给者。他们发现在这更为一般化的市场中匹配稳定的性质依旧很稳健。
      Roth最早对双边匹配模型在解决实践问题中的应用进行了研究。他意识到Shapley有关稳定市场匹配的理论和计算可让市场的运作方式变得更清晰。20世纪50年代,美国内科医生的初级劳动力市场的组织方式能保证绝大多数个体匹配成功,但这种匹配缺乏稳定性。Roth(1984)的后续实验研究将Shapley的匹配设计应用于内科医生的初级劳动力市场,他的研究结果表明该种匹配方法能减少原有组织方式下所产生的匹配不稳定及其它存在的无序问题。

    G-S算法(Gale-Shapley)

    在规则设计里面有不同的算法,比方说有GS算法:
    在生活中,人们通常会碰到与资源匹配相关的决策问题(如求职就业、报考录取等),这些需要双向选择的情况被称为是双边匹配问题。在双边匹配问题中,需要双方互相满足对方的需求才会达成匹配。
    1962年,美国数学家大卫·盖尔和博弈论学家沙普利提出了针对双边稳定匹配问题的解决算法,并将其应用于稳定婚姻问题的求解。
    稳定婚姻问题(stable marriage problem)是指在给定成员偏好的条件下,分两组成员寻找稳定匹配。由于这种匹配并不是简单地价高者得,所以匹配解法应考虑双方意愿。
    稳定婚姻问题的稳定解是指不存在未达成匹配的两个人都更倾向于选择对方胜过自己当前的匹配对象。

    最大交易圈算法(Top-Trading Cycle algorithm)

    匹配问题中,还有一类交换不可分的的标的物的匹配问题,被称为单边匹配问题,如远古时期以物易物、或者宿舍的床位分配。
    1974年,沙普利和斯夫提出了针对单边匹配问题的稳定匹配算法:最大交易圈算法(TTC),算法过程如下:
    首先每个交易者连接一条指向他最喜欢的标的物的边,并从每一个标的物连接到其占有者或者是具有最高优先权的交易者。
    此时形成一张有向图,且比存在交易圈,对于交易圈中的交易者,将每人指向节点所代表的标的物赋予其,同时交易者放弃原先占有的标的物,占有者和匹配成功的标的物离开匹配市场
    接着从剩余的交易者和标的物之间重复进行交易圈匹配,直到无法形成交易圈,算法停止。

    室友匹配问题

    在这里插入图片描述在这里插入图片描述

    六、博弈论的类型

    博弈的分类根据不同的基准也有不同的分类。

    一般认为,博弈主要可以分为合作博弈和非合作博弈。合作博弈和非合作博弈的区别在于相互发生作用的当事人之间有没有一个具有约束力的协议,如果有,就是合作博弈,如果没有,就是非合作博弈。

    从行为的时间序列性,博弈论进一步分为静态博弈、动态博弈两类:静态博弈是指在博弈中,参与人同时选择或虽非同时选择但后行动者并不知道先行动者采取了什么具体行动;动态博弈是指在博弈中,参与人的行动有先后顺序,且后行动者能够观察到先行动者所选择的行动。通俗的理解:"囚徒困境"就是同时决策的,属于静态博弈;而棋牌类游戏等决策或行动有先后次序的,属于动态博弈。

    按照参与人对其他参与人的了解程度分为完全信息博弈和不完全信息博弈。完全博弈是指在博弈过程中,每一位参与人对其他参与人的特征、策略空间及收益函数有准确的信息。不完全信息博弈是指如果参与人对其他参与人的特征、策略空间及收益函数信息了解的不够准确、或者不是对所有参与人的特征、策略空间及收益函数都有准确的信息,在这种情况下进行的博弈就是不完全信息博弈。

    经济学家们所谈的博弈论一般是指非合作博弈,由于合作博弈论比非合作博弈论复杂,在理论上的成熟度远远不如非合作博弈论。非合作博弈又分为:完全信息静态博弈,完全信息动态博弈,不完全信息静态博弈,不完全信息动态博弈。与上述四种博弈相对应的均衡概念为:纳什均衡(Nash equilibrium),子博弈精炼纳什均衡(subgame perfect Nash equilibrium),贝叶斯纳什均衡(Bayesian Nash equilibrium),精炼贝叶斯纳什均衡(perfect Bayesian Nash equilibrium)。

    博弈论还有很多分类,比如:以博弈进行的次数或者持续长短可以分为有限博弈和无限博弈;以表现形式也可以分为一般型(战略型)或者展开型;以博弈的逻辑基础不同又可以分为传统博弈和演化博弈。

    下面列举了一些我们经常会提到的博弈模型,可以作为入门的兴趣导师——

    智猪博弈——搭好顺风车,借力成事

    Boxed pigs game, 一个著名的纳什均衡的例子

    枪手博弈——对比关系及策略决定强弱

    囚徒困境——个人理性与集体的非理性

    Prisoner’s Dilemma, 是博弈论的非零和博弈中具代表性的例子,反映個人最佳選擇並非团体最佳選擇

    斗鸡博弈——狭路相逢勇者未必胜

    Chicken Game,又叫草鸡博弈、懦夫博弈、胆小鬼博弈

    分蛋糕博弈——讨价还价的策略

    以牙还牙——有一种智慧叫宽恕

    Tit for tat,是一个用于博弈论的重复囚徒困境(Reiterated Prisoner’s Dilemma)非常有效的策略

    鹰鸽博弈——路径依赖法则新解

    Hawk Dove game ——进化中的路径依赖
    该模型的两个纯策略均衡类似于胆小鬼博弈,而混合策略均衡则导出了进化稳定策略的概念。此外还有不完全信息条件下的贝叶斯博弈版本。

    蜈蚣博弈——从后往前的推理

    Centipede game

    猎鹿博弈——合作是硬道理

    Stag Hunt Game, 又称猎鹿模型(Stag Hunt Model)、猎人的帕累托效率

    酒吧博弈——求同存异的智慧

    Bar Problem

    鲇鱼效应——有竞争才有发展

    Catfish Effect

    重复博弈——冲突与合作方能共享

    Repeated Games, 是指同样结构的博弈重复许多次,其中的每次博弈称为“阶段博弈”(stage games)。重复博弈是动态博弈中的重要内容,它可以是完全信息的重复博弈,也可以是不完全信息的重复博弈。
    重复博弈所指的是一类特殊的扩展形式的博弈(extensive form game)。此类博弈中包含一个基础博弈(base game)——称为阶段博弈(stage game);在整个重复博弈中,该阶段博弈会被重复一定次数。阶段博弈一般是一个大家熟悉的博弈(如囚徒困境)。类似的,非重复博弈也可称为单一阶段博弈(single stage game)或单次博弈(single shot game)。

    协和谬误——欲罢不能的错上加错

    Coordination Problem, 即某件事情在投入了一定成本、进行到一定程度而后发现不宜继续下去,却苦于各种原因而将错就错,欲罢不能

    信息甄别——酒好不怕巷子深

    人质困境——雪上加霜的囚徒困境

    脏脸博弈——都是共同知识惹的祸

    成本博弈——摆脱沉没成本羁绊的策略

    手表定律——标准不同结论就不同

    Watch Law

    策略均衡——谁也不得罪

    strategy equilibrium

    本文部分选自
    作者:深度学习与先进智能决策
    链接:https://juejin.im/post/5e33cf9f5188252c5232b039
    来源:掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    展开全文
  • 博弈论 —— python

    千次阅读 2022-02-14 17:33:51
    1.简介 2.算法原理 3.实例分析 1.各参数初始化 2.计算期望与实际期望 3.博弈过程 4.绘图 完整代码

    目录

    1.简介

    2.算法原理

    3.实例分析

    1.各参数初始化

    2.计算期望与实际期望

    3.博弈过程

    4.绘图

     完整代码


    1.简介

            博弈论又被称为对策论(Game Theory)既是现代数学的一个新分支,也是运筹学的一个重要学科。

            博弈论主要研究公式化了的激励结构间的相互作用。是研究具有斗争或竞争性质现象的数学理论和方法。 博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。生物学家使用博弈理论来理解和预测进化论的某些结果。

            博弈论已经成为经济学的标准分析工具之一。在生物学、经济学、国际关系、计算机科学、政治学、军事战略和其他很多学科都有广泛的应用。

            基本概念中包括局中人、行动、信息、策略、收益、均衡和结果等。其中局中人、策略和收益是最基本要素。局中人、行动和结果被统称为博弈规则

            博弈论简单讲就是,A采取措施影响B的行为,B的行为影响A的决策,两者来回博弈,最终达到一个动态平衡。博弈论严格来讲只是一种解题方式。

    2.算法原理

            以电动出租车与换电站为例,假设电动出租车及换电站均属于同一家公司,公司想通过换电站价格定价措施去控制目标区域内的出租车数量达到预期分布。

            对于司机而言,有两个成本,一个是距离成本d,一个是支付成本p,支付成本即是换电池所支付的电价,我们可以设立权重因子a将两者合并构建为一个效用函数,司机会选择该函数最小的换电站更换电池,更换电池后司机一般会在周围开始接单

            对于公司而言,目标函数则是不同地区的出租车实际分布e与期望分布E的绝对差之和,公司通过调整价格去影响司机的选择,从而调整司机在不同区域的分布

    双层博弈论的模型分析

    ①第一阶段,充电站统计出各电动出租车的换电请求后,根据优化目标,制定价格策略

    ②第二阶段,电动出租车根据自身效用函数从所有换电站中选择出目标换电站进行跟换电池

    ③第一阶段和第二阶段交替往复进行,直到达到均衡

    算法设计步骤

    3.实例分析

    1.各参数初始化

    n=900 #换电需求数
    min_price=170 #换电价格范围
    max_price=230
    A=np.random.normal(36, 5, 25) #初始期望,平均值为36,方差为5的高斯分布
    E=np.floor(A)#朝0方向取整,如,4.1,4.5,4.8取整都是4
    # 下面是根据需求数调整E的大小
    E=np.floor(A)
    a=sum(E)-n
    A=A-a/25
    E=np.floor(A)
    b=sum(E)-n
    A=A-b/25
    E=np.floor(A)
    a1=0.05;a2=0.95;#距离成本与换点价格权重
    x=[random.random()*20000 for i in range(n)]#初始化需求车辆位置
    y=[random.random()*20000 for i in range(n)]
    H=np.mat([[2,2],[2,6],[2,10],[2,14],[2,18],
              [6,2],[6,6],[6,10],[6,14],[6,18],
               [10,2],[10,6],[10,10],[10,14],[10,18],
                [14,2],[14,6],[14,10],[14,14],[14,18],
                 [18,2],[18,6],[18,10],[18,14],[18,18]])*1000
    # 制初始化的司机与换电站的位置图
    plt.plot(x,y,'r*')
    plt.plot(H[:,0],H[:,1],'bo')
    plt.legend(['司机','换电站'], loc='upper right', scatterpoints=1)
    plt.title('初始位置图')
    plt.show()

    返回:

     2.计算期望与实际期望

    # 计算期望与实际期望
    D=np.zeros((len(H),n)) #需求车辆到各换电站的需求比例
    price=200*np.ones((1,25))
    for i in range(len(H)):
        for j in range(len(x)):
            D[i,j]=a1*np.sqrt(((H[i,0]-x[j]))**2+(H[i,1]-y[j])**2)+a2*price[0,i]
    
    D=D.T #转置
    D=D.tolist() #转为列表格式
    d2=[D[i].index(np.min(D[i])) for i in range(n)]
    C = Counter(d2)
    e=list(C.values())
    err=sum(abs(E-e)) #期望差之和,即博弈对象
    print(err)

    返回:因为随机,所有每次结过可能不一样

    3.博弈过程

    J=[] #价格变化的差值
    ER=[err] #E-e的变化差值
    for k in range(1,100):
        j=0
        for i in range(25):
            if e[i] < E[i] and price[0,i] >= min_price:
                price[0,i] = price[0,i]-1
                j=j+1
            if e[i] > E[i] and price[0,i] <= max_price:
                price[0,i] = price[0,i]+1
                j=j+1
        J.append(j)
        DD=np.zeros((len(H),n)) #需求车辆到各换电站的需求比例
    #     price=200*np.ones((1,25))
        for i in range(len(H)):
            for j in range(len(x)):
                DD[i,j]=a1*np.sqrt(((H[i,0]-x[j]))**2+(H[i,1]-y[j])**2)+a2*price[0,i]
    
        DD=DD.T #转置
        DD=DD.tolist() #转为列表格式
        dd2=[DD[i].index(np.min(DD[i])) for i in range(n)]
        C = Counter(dd2)
        e=[C[i] for i in sorted(C.keys())]
        err=sum(abs(E-e)) #期望差之和,即博弈对象
        ER.append(err)

    4.绘图

    #绘制图
    plt.plot(ER,'-o')
    plt.title('E-e的差值变化')
    # plt.set(gcf,'unit','normalized','position',[0.2,0.2,0.64,0.32])
    plt.legend('E-e')
    # plt.grid(ls=":",c='b',)#打开坐标网格
    plt.show()
    
    plt.plot(J,'r-o')
    plt.title('价格的差值变化')
    plt.xlabel('Iterations(t)')
    plt.legend('sum of Price(t)-Price(t-1)')
    # plt.grid(ls=":",c='b',)#打开坐标网格
    plt.show()
    
    plt.bar(x = range(1,26), # 指定条形图x轴的刻度值
            height=price[0],
            color = 'steelblue',
            width = 0.8
           )
    plt.plot([1,26],[min_price,min_price],'g--')
    plt.plot([1,26],[max_price,max_price],'r--')
    plt.title('换电站的换电价格')
    plt.ylabel('Price(¥)')
    plt.axis([0,26,0,300])
    # plt.grid(ls=":",c='b',)#打开坐标网格
    plt.show
    
    index = np.arange(1,26)
    rects1 = plt.bar(index, e, 0.5, color='#0072BC')
    rects2 = plt.bar(index + 0.5, E, 0.5, color='#ED1C24')
    plt.axis([0,26,0,50])
    plt.title('出租车的预期和实际数量')
    plt.ylabel('E and e')
    # plt.grid(ls=":",c='b',)#打开坐标网格
    plt.xlabel('换电站')
    plt.legend(['e','E'])
    plt.show()

    返回:

     ​

     

     完整代码

    #导入相关库
    import numpy as np
    import math
    import random
    from collections import Counter
    import matplotlib.pyplot as plt
    #解决图标题中文乱码问题
    import matplotlib as mpl
    mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
    mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
    
    #初始化各参数
    n=900 #换电需求数
    min_price=170 #换电价格范围
    max_price=230
    A=np.random.normal(36, 5, 25) #初始期望,平均值为36,方差为5的高斯分布
    E=np.floor(A)#朝0方向取整,如,4.1,4.5,4.8取整都是4
    # 下面是根据需求数调整E的大小
    E=np.floor(A)
    a=sum(E)-n
    A=A-a/25
    E=np.floor(A)
    b=sum(E)-n
    A=A-b/25
    E=np.floor(A)
    a1=0.05;a2=0.95;#距离成本与换点价格权重
    x=[random.random()*20000 for i in range(n)]#初始化需求车辆位置
    y=[random.random()*20000 for i in range(n)]
    H=np.mat([[2,2],[2,6],[2,10],[2,14],[2,18],
              [6,2],[6,6],[6,10],[6,14],[6,18],
               [10,2],[10,6],[10,10],[10,14],[10,18],
                [14,2],[14,6],[14,10],[14,14],[14,18],
                 [18,2],[18,6],[18,10],[18,14],[18,18]])*1000
    # 制初始化的司机与换电站的位置图
    plt.plot(x,y,'r*')
    plt.plot(H[:,0],H[:,1],'bo')
    plt.legend(['司机','换电站'], loc='upper right', scatterpoints=1)
    plt.title('初始位置图')
    plt.show()
    
    # 计算期望与实际期望
    D=np.zeros((len(H),n)) #需求车辆到各换电站的需求比例
    price=200*np.ones((1,25))
    for i in range(len(H)):
        for j in range(len(x)):
            D[i,j]=a1*np.sqrt(((H[i,0]-x[j]))**2+(H[i,1]-y[j])**2)+a2*price[0,i]
    
    D=D.T #转置
    D=D.tolist() #转为列表格式
    d2=[D[i].index(np.min(D[i])) for i in range(n)]
    C = Counter(d2)
    e=list(C.values())
    err=sum(abs(E-e)) #期望差之和,即博弈对象
    
    #博弈过程
    J=[] #价格变化的差值
    ER=[err] #E-e的变化差值
    for k in range(1,100):
        j=0
        for i in range(25):
            if e[i] < E[i] and price[0,i] >= min_price:
                price[0,i] = price[0,i]-1
                j=j+1
            if e[i] > E[i] and price[0,i] <= max_price:
                price[0,i] = price[0,i]+1
                j=j+1
        J.append(j)
        DD=np.zeros((len(H),n)) #需求车辆到各换电站的需求比例
    #     price=200*np.ones((1,25))
        for i in range(len(H)):
            for j in range(len(x)):
                DD[i,j]=a1*np.sqrt(((H[i,0]-x[j]))**2+(H[i,1]-y[j])**2)+a2*price[0,i]
    
        DD=DD.T #转置
        DD=DD.tolist() #转为列表格式
        dd2=[DD[i].index(np.min(DD[i])) for i in range(n)]
        C = Counter(dd2)
        e=[C[i] for i in sorted(C.keys())]
        err=sum(abs(E-e)) #期望差之和,即博弈对象
        ER.append(err)
    
    #绘制图
    plt.plot(ER,'-o')
    plt.title('E-e的差值变化')
    # plt.set(gcf,'unit','normalized','position',[0.2,0.2,0.64,0.32])
    plt.legend('E-e')
    # plt.grid(ls=":",c='b',)#打开坐标网格
    plt.show()
    
    plt.plot(J,'r-o')
    plt.title('价格的差值变化')
    plt.xlabel('Iterations(t)')
    plt.legend('sum of Price(t)-Price(t-1)')
    # plt.grid(ls=":",c='b',)#打开坐标网格
    plt.show()
    
    plt.bar(x = range(1,26), # 指定条形图x轴的刻度值
            height=price[0],
            color = 'steelblue',
            width = 0.8
           )
    plt.plot([1,26],[min_price,min_price],'g--')
    plt.plot([1,26],[max_price,max_price],'r--')
    plt.title('换电站的换电价格')
    plt.ylabel('Price(¥)')
    plt.axis([0,26,0,300])
    # plt.grid(ls=":",c='b',)#打开坐标网格
    plt.show
    
    index = np.arange(1,26)
    rects1 = plt.bar(index, e, 0.5, color='#0072BC')
    rects2 = plt.bar(index + 0.5, E, 0.5, color='#ED1C24')
    plt.axis([0,26,0,50])
    plt.title('出租车的预期和实际数量')
    plt.ylabel('E and e')
    # plt.grid(ls=":",c='b',)#打开坐标网格
    plt.xlabel('换电站')
    plt.legend(['e','E'])
    plt.show()
    展开全文
  • 策略与博弈论

    2018-01-21 17:35:22
    内容 通过对博弈论及其应用提供严谨的且易于理解的介绍,本书展示了效用理论的完整描述和动态博弈论的详尽分析;本书是提供动态策略相互作用的详细分析的第一本教科书。 ■ 理论与案例 本书强调理论和案例的平行...
  • 博弈论》学习

    2022-05-28 21:28:53
    一、博弈论是什么 博弈论:是指双方或者多方在竞争、合作、冲突等情况下,充分了解各方信息,并依此选择一种能为本方争取最大利益的最优决策的理论。 博弈四要素: 至少两个参与者 利益 策略 ...
  • 本篇文章主要讲的是贝叶斯博弈(Bayesian Games,也称作不完全信息博弈)和拍卖理论。不完全信息博弈在我们生活中经常出现,比如拍卖,在市场和别人讨价还价等等。首先举一个贝叶斯博弈的简单例子假设两个人在决定接...
  • 博弈论知识点总结

    2022-01-01 14:33:35
    主要是国科大高级AI课程的博弈论相关的考点,纳什均衡和帕累托均衡、讨价还价问题、maxmin和minmax策略、最优匹配问题以及网络交换博弈问题都是重要的选择题考点、maxmin策略和minmax策略的计算应该不会考,价格机制...
  • 博弈论概要

    2019-05-02 19:59:08
    博弈论博弈论的定义发展过程要素博弈类型纳什均衡案例一 囚徒困境案例二 智猪博弈案例三 美女的硬币博弈论的意义 博弈论的定义 《博弈圣经》博弈论的定义:我们把动物利用大自然移动的瘾魂,在决策人期待的空间里,...
  • 博弈论入门简介要素博弈的类型1.合作博弈 和 非合作博弈2.静态博弈 和 动态博弈3.完全信息博弈 和 不完全信息博弈纳什均衡经典案例一经典案例二四大博弈模型一、巴什博弈二、尼姆博弈 ※SG函数三、斐波那契博弈四,...
  • 为了解决频谱分配中的授权用户定价博弈问题,根据博弈论中的Bertrand 均衡理论,提出了基于Bertrand模型的授权用户信道价格竞争的动态博弈算法。分析了稳定的纳什均衡解与速率调整参数的关系,用控制理论中阶跃函数...
  • 博弈论【算法】

    2021-01-14 16:03:55
    博弈论主要研究公式化了的激励结构间的相互作用,是研究具有斗争或竞争性质现象的数学理论和方法。博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。如囚徒困境。 在算法竞赛中出现的博弈论题目...
  • 博弈论基础-蒋文华(浙大)

    千次阅读 2021-01-28 09:33:39
    博弈论概述 1. 博弈:在一定的游戏规则约束下,基于直接相互作用,各参与人依据掌握的信息,选择各自的策略(行动),以实现利益最大化的过程 1.1直接相互作用也就是各参与人之间的互动 1.2 行为的选择:与...
  • 博弈论

    千次阅读 2020-06-18 22:04:09
    博弈论,又称为对策论(Game Theory)、赛局理论等,既是现代数学的一个新分支,也是运筹学的一个重要学科。 博弈论主要研究公式化了的激励结构间的相互作用,是研究具有斗争或竞争性质现象的数学理论和方法。 博弈...
  • 原标题:《黑 | 科技》| 人类的博弈论,计算机来背锅 一次Dota2人机大战,人类终于败下阵来,花了一个月时间,人工智能系统从几乎不敌高排名选手到击败顶级职业选手,并还在升段中。对于DOTA2人工智能训练的结果表明...
  • 基于博弈论的发电商报价策略
  • 博弈论——拍卖会(Auctions)

    千次阅读 2021-01-20 19:49:51
    同时,DSIC保证真实报价(truthful bidding)是优势策略,从机制设计者角度来说,这样容易预测买方的行动,因为每一个理性+智能的博弈者都会采用这一策略。二价拍卖符合这一条,简单的说,二价拍卖激励拍卖者说实话...
  • 博弈论学习笔记——拍卖原理

    千次阅读 2021-07-02 08:33:48
    系列文章 博弈论学习笔记——博弈收益期望的计算与决策 博弈论学习笔记——纳什均衡与社会最优、破坏均衡的方法 博弈论学习笔记——拍卖原理 简介 本文对比了首价拍卖原理和次价拍卖原理的,分析了为什么次价拍卖会...
  • 博弈论入门

    千次阅读 2021-04-19 15:30:07
    博弈论入门1. 1 博弈论1. 2 博弈和解1. 2. 1 非合作与合作博弈1.2.2 战略博弈和扩展博弈1.2.3 完全与不完全信息博弈1.3 博弈论和竞争均衡理论1.4 理性行为 1. 1 博弈论 博弈论是一个分析工具包,它被设计用来帮助...
  • 博弈论 第五章 重复博弈

    千次阅读 2021-07-23 09:58:32
    无限重复博弈的效用(utility) 使用平均收益: 有时我们认为不同时间获得的收益重要性不同,比如一开始的收益权重更大(因为越早获得,可以收利息: 注意β\betaβ小于1,所以指数函数递减。 如果这个游戏每次...
  • 20分钟带你学会博弈论

    千次阅读 2019-06-08 17:26:01
    博弈论 博弈论入门 什么是博弈论 博弈论是指双方或多方在竞争、合作、冲突等情况下,充分了解各方信息,并以此选择一种能为本方争取最大利益的最优决策的理论。 博弈论四个要素: 最少有两个参与者 利益...
  • 浅析价格战中的博弈论.docx
  • 1.博弈基于人的理性 认知理性:自我利益的判断者 对偏好的认知 行为理性:自我利益的追求者 利益最大化 2.不同的参照 不同的选择 人在做选择的时候总会比较,不同的参照会影响比较的结果,从而影响人的选择 当增加...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,728
精华内容 1,491
关键字:

价格博弈论