MatTuGames
Matlab工具箱MatTuGames版本1.9.0
内容:1。介绍2。开始3。自定义安装4。要求5。承认6。许可证7。引用8。MATLAB文件交换
1。介绍
游戏理论Matlab工具箱MatTuGames提供了大约500个功能建模和计算一些解决方案以及合作游戏的性质可转让的工具。金宝搏官方网站与现有的Matlab工具箱调查TU-games相比,这都写在一个C / c++编程风格与这些函数执行的结果相对缓慢,我们严重依赖矢量构造以Matlab函数编写更高效。特别是,工具箱提供了函数来计算(pre -)内核,核仁(前),反(pre -)内核,以及modiclus游戏价值观就像Banzhaf Myerson,欧文,位置,Shapley团结和联合团结价值等等。此外,我们将讨论如何可以使用Matlab的并行计算工具与这个工具箱受益于获得性能通过推出补充Matlab工人。如何调用我们提供一些信息Mathematica包TuGames在Matlab运行会话。
2。开始
为了得到一些了解如何分析合作游戏,所谓的可转让的效用,博弈论的工具箱MatTuGames,我们讨论的一个小例子来演示如何可以计算一些游戏属性或解决方案的概念,如凸性、夏普利值(pre -)核仁或前内核元素。
为此,考虑一种情况同时房地产不足以满足所有的债务/的一组,这样的情况是在博弈理论被称为破产问题。现在的问题是找到一个公平/稳定分布,没有原告/债权人可以找到一个论点来阻止该部门满足至少部分债权人的相互矛盾的说法。在第一步中,我们定义一个指定债务而破产情况向量和房地产,可以将其分发给债权人。我们限制我们的示例向量由六人破产问题债务
> > d = (40.0000 32.0000 11.0000 73.3000 54.9500 - 81.1000);
和一个等于房地产价值
> > E = 176;
我们立即观察房地产E
同时不足以满足所有的要求。与这些值应该是显而易见的,我们没有定义一个合作游戏,然而,这些信息足以计算建议债权人之间如何分配遗产。公平的划分规则巴比伦塔木德提出的,是由
> > tlm_rl = Talmudic_Rule (E、d) > > tlm_rl = 20.0000 16.0000 5.5000 - 48.3500 30.0000 - 56.1500
然而,这种分布规律没有纳入联盟的形成过程。因此,我们可能得到不同的结果,当我们考虑代理商可以形成联盟的可能性,以更好地执行他们的要求。这意味着,我们必须研究相应的合作博弈。这可以构造而调用下面的函数
> > bv = bankruptcy_game (E、d);
在生成的一个游戏,我们可以检查一些游戏凸性的性质
> > cvQ = convex_gameQ (bv) > > cvQ = 1
返回逻辑值表示这场比赛确实是凸的。这一定是破产的游戏。此外,我们还可以验证如果游戏非空或空的核心。看到这个只需要调用
> > > > crQ = coreQ (bv)优化终止。crQ = 1
回答的肯定。这个结果证实了我们的期望,因为每个凸游戏都有一个非空的核心。
这个简短的介绍的游戏属性后,我们把我们的注意力现在一些众所周知的解决方案从博弈论的概念。我们从夏普利值,可以计算
> > sh_v = ShapleyValue (bv) > > sh_v = 23.5175 18.7483 6.4950 - 44.3008 33.3317 - 49.6067
前内核元素可以用函数计算
> > prk_v = PreKernel (bv) > > prk_v = 20.0000 16.0000 5.5000 - 48.3500 30.0000 - 56.1500
必须与正义的分配规律提出的犹太教法典的规则。此外,它还必须伴随着核仁由于凸性的游戏。看到这,让我们首先计算pre-nucleolus核仁和下一步
> > nc_bv =诊断(bv) nc_bv = 20.0000 16.0000 5.5000 48.3500 30.0000 56.1500 > > pn_bv = PreNucl (bv) pn_bv = 20.0000 16.0000 5.5000 - 48.3500 30.0000 - 56.1500
我们注意到,这两个解决方案一致,必须zer金宝搏官方网站o-monotonic游戏。检查这些解决方案确实是可以验证pre-n金宝搏官方网站ucleolus Kohlberg的标准
pn_bv > > balancedCollectionQ (bv) ans = 1 > > balancedCollectionQ (bv nc_bv) ans = 1
为了验证所找到的解决方案是一个前内核元素可以分别在打字
prk_v > > prkQ = PrekernelQ (bv) > > prkQ = 1
此外,工具箱中我们也可以计算出modiclus的游戏,也需要除了原始的力量联盟的预防能力。
> > mnc_v = Modiclus (v) mnc_v = 22.5067 17.7567 7.4533 - 41.8600 37.1100 - 49.3133
检查这个解决方案可以同时调用一个建立修改Kohlberg标准。
> > modiclusQ (v, mnc_v) ans =逻辑1
返回值是一个逻辑,因此,解决方案是modiclus。破产的游戏我们可以依靠反pre-nucleolus的计算作为一个简单的反复核对找出解决方案是正确的(cf。莱恩2018 c)。
> > apn_v = Anti_PreNucl (v) apn_v = 22.5067 17.7567 7.4533 - 41.8600 37.1100 - 49.3133
我们观察到两种解决方案一致,因此这给额外的金宝搏官方网站证据表明modiclus的计算是正确的。此外,游戏类的凸modiclus必须属于核心,可以检查通过
> > belongToCoreQ (v, mnc_v) ans =逻辑1
然而,如果这还不应该足够的证据,然后我们可以指modiclus的公理化,特点是湿婆,浸,EC, LEDCONS,和DCP,而DCP可以取代了DRP (cf。莱恩2018 c)。
分开的湿婆(单值性)、工具箱可以检查x和
> > COV_mnc_v = COV_propertyQ (v, mnc_v,”、“MODIC) COV_mnc_v =结构体字段:covQ: 1 sol_v2: [23.5067 18.7567 8.4533 42.8600 38.1100 50.3133] sgm: [23.5067 18.7567 8.4533 42.8600 38.1100 50.3133] v2: [1 x63双]x: (22.5067 17.7567 7.4533 41.8600 37.1100 - 49.3133)
以及电子商务
> > ECQ_mnc_v = EC_propertyQ (v, mnc_v MODIC) ECQ_mnc_v =结构体字段:propQ: 1 y: [22.5067 17.7567 7.4533 41.8600 37.1100 49.3133] x: (22.5067 17.7567 7.4533 41.8600 37.1100 - 49.3133)
和LEDCONS
> > [LEDC_mnc_v LEDCGPQ_mnc_v] = Ledcons_propertyQ (v, mnc_v MODIC) LEDC_mnc_v =结构体字段:ledconsQ: 1 rgpq: [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] ledpropQ: [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] LEDCGPQ_mnc_v = 1 x4单元阵列{”和“}{2 x62细胞}{‘impVec} {1} x63细胞
最后检查DCP
> > DCP_mnc_v = DCP_propertyQ (v, mnc_v MODIC) DCP_mnc_v =结构体字段:propQ: 1 xQ: 1 y: [22.5067 17.7567 7.4533 41.8600 37.1100 49.3133 22.5067 17.7567 7.4533 41.8600 37.1100 49.3133] x: (22.5067 17.7567 7.4533 41.8600 37.1100 - 49.3133)
和DRP
> > DRP_mnc_v = DRP_propertyQ (v, mnc_v MODIC) DRP_mnc_v =结构体字段:propQ: 1 xQ: 1 y: [22.5067 17.7567 7.4533 41.8600 37.1100 49.3133 22.5067 17.7567 7.4533 41.8600 37.1100 49.3133] x: (22.5067 17.7567 7.4533 41.8600 37.1100 - 49.3133)
通过这个例子,我们观察到的公理化modiclus很满意,我们可以得出这样的结论:modiclus的游戏被发现由这个评估。当然,工具箱提供了除了常规检查pre-nucleolus的公理化,前内核,反pre-nucleolus,反前内核,修改以及适当的修改前内核和沙普利值。
此外,工具箱中提供给用户可能创建几个游戏类对象执行一些计算检索和修改游戏数据的意图,以确保一致的计算环境。因此,这些类应该避免使用一些数据从一个不同的游戏或游戏数据是无意中改变,它允许用户把精力集中在重要的方面分析处理的游戏,而不是游戏的问题提供正确的数据。例如,这样的类TuSol
在串行执行一些计算检索和存储游戏解决方案。金宝搏官方网站一个类对象,我们叫它sclv
,是通过调用创建的TuSol
至少有一个参数,即特征函数的值。其他两个输入参数可以被排除在外。然而,如果他们提供,那么第二个指定游戏类型,例如简历
凸类的游戏。而最后一个参数指定了游戏的格式,这是讨论的例子mattug
表明,该联盟是要求按照他们独特的整数表示MatTuGames下进行计算。
> > sclv = TuSol (v,“简历”,“mattug”);
在创建类的对象sclv
,一个可以调用的计算结果对一些概念在执行选择的解决方案
> > sclv。setAll金宝搏官方网站Solutions ans = TuSol属性:tu_prk: [20.0000 16.0000 5.5000 48.3500 30.0000 56.1500] tu_prn: [20.0000 16.0000 5.5000 48.3500 30.0000 56.1500] tu_prk2: [] tu_sh: [23.5175 18.7483 6.4950 44.3008 33.3317 49.6067] tu_tauv: [24.0807 19.2646 6.6222 44.1279 33.0809 48.8237] tu_bzf: [] tu_aprk: [22.6550 17.9050 7.3050 41.8600 37.1100 49.1650] prk_valid: 1 prn_valid: 1 prk2_valid: 0 aprk_valid: 1图瓦卢:[1 x63双]tusize: 63 tuplayers: 6 tutype:“简历”tuessQ: 1 tuformat:“mattug”tumv: 176.0000 tumnQ:土司:0 [31 62 61 59 55 47]tuvi: [0 0 0 0 0 0] tustpt: []
分开存储解决方案的概念也有一些重要的数据。这个类的对象可以被使用,例如,确定修改前内核底层的游戏
> > mpk_v = sclv。ModPreKernelmpk_v = 22.6550 17.9050 7.3050 41.8600 37.1100 49.1650 >> mpkQ_v=sclv.ModPrekernelQ(mpk_v) mpkQ_v = logical 1
或前内核通过适当的修改
> > pmpk_v = sclv。PModPreKernelpmpk_v = 22.2100 17.4600 7.7500 41.8600 37.1100 49.6100 >> pmpkQ_v=sclv.PModPrekernelQ(pmpk_v) pmpkQ_v = logical 1
或者更多。更深入的讨论函数设置工具箱提供的参考手册或类型帮助mat_tug
一个简短的概述。
3所示。自定义安装
安装工具箱,我们建议一个自定义安装。.mltbx文件下载后,导航到它在Matlab文件资源管理器中,双击mltbx文件mat_tugV1d9.mltbx
点击“安装”。另外,右键单击.mltbx,然后单击“安装”。
额外的指令可以在URL找到:
mltbx文件mat_tugV1d9.mltbx
提供在
4所示。需求
这个版本的MatTuGames开发和测试使用Matlab R2021a和更早的版本。一组函数使用优化工具箱和cdd-library通过福田水泵在URL,可以发现:
以及Matlab接口cdd的能手CDDMEX:
或者,甚至为了得到完整的图形功能的操作范围,也可以安装MPT3工具箱,可以下载
它附带CDDMEX。我们强烈建议用户应用MPT3工具箱,特别是使用图形功能的工具箱。
前内核的计算及相关解决方案金宝搏官方网站SuiteSparse为Matlab建议可以从URL中得到了什么
如果你不想使用SuiteSparse,然后替换功能qr_dec
通过pinv
前内核的所有功能和相关的解决方案。金宝搏官方网站同样的论点适用于函数qrginv
。应该注意的是,这可能会导致精度问题结果,结果是不正确的。
工具箱中甚至在并行模式运行,Matlab的并行计算工具是必要的。
为连接Mathematica包TuGames,数学符号工具箱是必需的,这下可以找到网址:
而TuGames2.6.1可以从URL下载:
我们建议与paclet自定义安装,可以发现
的MatTuGames工具箱应与所有合作平台。
此外,工具箱中所写的作品也与博弈论的工具箱琼Derks,可以要求:
我们添加了一些文件,调整解决问题关闭循环在某些游戏类。
这个工具箱可以用来计算pre-nucleolus 10人,如果一个没有许可证的Matlab优化工具箱。
最后,工具箱MatTuGames
提供接口访问的解决废最大化策略,GLPK, GUROBI,高速逻辑,IPOPT, MOSEK和绿洲。最大化策略接口兼容12.10版。
总而言之,除了提到的软件工具箱需要以下MATLAB工具箱:
MATLAB并行服务器,优化工具箱,并行计算工具箱,信号处理工具箱,统计和机器学习工具,符号数学工具箱
得到完整的功能在串行和并行。
5。承认
作者承认支持通过bwHPC巴登-符腾堡州的状态。金宝app
当然,通常的免责声明适用。
6。许可证
这个项目是FreeBSD许可下的,看到的许可证文件。
7所示。引用
引用参考网址:
8。MATLAB文件交换
额外的评论也看见了复古的网站
当前版本的附加信息咨询
作者
Holger。莱恩操作研究所的卡尔斯鲁厄大学(工具包)电子邮件:Holger。在wiwi.uni-karlsruhe.de holger莱恩。莱恩在partner.kit.edu
引用作为
Holger。莱恩哈特(2023)。MatTuGamesGitHub (https://github.com/himeinhardt/MatTuGames/releases/tag/1.9.0.2)。检索。
医生
jderks
妈妈
mat_tugames
mat_tugames / @MatTug
mat_tugames / @TuACore
mat_tugames / @TuAPrn
mat_tugames / @TuASol
mat_tugames / @TuAVert
mat_tugames / @TuCons
mat_tugames / @TuCore
mat_tugames / @TuGame
mat_tugames / @TuKcons
mat_tugames / @TuKrn
mat_tugames / @TuNuc
mat_tugames / @TuPrk
mat_tugames / @TuPrn
mat_tugames / @TuProp
mat_tugames / @TuRep
mat_tugames / @TuShRep
mat_tugames / @TuSol
mat_tugames / @TuVal
mat_tugames / @TuVert
mattug_aux
pct_tugames
pct_tugames / @p_TuCons
pct_tugames / @p_TuKcons
pct_tugames / @p_TuKrn
pct_tugames / @p_TuPrk
pct_tugames / @p_TuProp
pct_tugames / @p_TuRep
pct_tugames / @p_TuShRep
pct_tugames / @p_TuSol
pct_tugames / @p_TuVal
医生
版本使用GitHub缺省分支不能下载
版本 | 发表 | 发布说明 | |
---|---|---|---|
1.9.0.2 | GitHub上看到这个版本发布说明:https://github.com/himeinhardt/MatTuGames/releases/tag/1.9.0.2 |
|
|
1。8 | 我们添加了一组函数计算modiclus,修改和适当的修改前内核的一个游戏。这些解决方案实施的公理化。金宝搏官方网站一些新功能修改和bug是固定的。 |
|
|
1。7 | 函数计算(pre -)核仁/内核,和相关的函数集的第三方解决像最大化策略,GUROBI和MOSEK已经修改。一些小错误修正。 |
|
|
1.6.0.0 | 修改和扩展的图形功能。一些小错误修正。 |
||
1.5.0.0 | 所有功能基于linprog命令从现在的优化工具箱应用对偶单纯形方法。这些功能不是向后兼容的。ShapleyValue函数平均快10倍,但需要更多的内存。 |
||
1.4.0.0 | 一些代码优化的夏普利值函数。添加了一组新的功能来计算公平或相关值。一些函数复制的夏普利值相关的游戏都是整合以及一些错误已经修复。 |
||
1.3.0.0 | 前内核评价平均30倍。新函数计算pre-nucleolus、核仁和内核。类对象TuGame与几个子类设计。 |
||
1.2.0.0 | 为串行以及代码优化 |
||
1.1.0.0 | 更新安装指令 |
||
1.0.0.0 |