MatTuGames

合作博弈理论的Matlab工具箱

4.3 k下载

更新2021年6月26日

从GitHub

查看许可GitHub

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工人。如何调用我们提供一些信息MathematicaTuGames在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工具箱,特别是使用图形功能的工具箱。

前内核的计算及相关解决方案金宝搏官方网站SuiteSparseMatlab建议可以从URL中得到了什么

如果你不想使用SuiteSparse,然后替换功能qr_dec通过pinv前内核的所有功能和相关的解决方案。金宝搏官方网站同样的论点适用于函数qrginv。应该注意的是,这可能会导致精度问题结果,结果是不正确的。

工具箱中甚至在并行模式运行,Matlab的并行计算工具是必要的。

为连接MathematicaTuGames,数学符号工具箱是必需的,这下可以找到网址:

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文件交换

额外的评论也看见了复古的网站

视图MatTuGames文件交换

当前版本的附加信息咨询

视图MatTuGames文件交换

作者

Holger。莱恩操作研究所的卡尔斯鲁厄大学(工具包)电子邮件:Holger。在wiwi.uni-karlsruhe.de holger莱恩。莱恩在partner.kit.edu

引用作为

Holger。莱恩哈特(2023)。MatTuGamesGitHub (https://github.com/himeinhardt/MatTuGames/releases/tag/1.9.0.2)。检索

MATLAB版本兼容性
创建R2021a
与R2014b后来版本兼容
平台的兼容性
窗户 macOS Linux
类别
找到更多的在数字游戏帮助中心MATLAB的答案

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

医生

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与几个子类设计。
一些bug修复。

1.2.0.0

为串行以及代码优化
并行计算手册
修改和扩展。添加了一些新的功能和一些错误已经被修正。

1.1.0.0

更新安装指令
修改后的文档
CddPreKernel.m边值修正

1.0.0.0

问题在这个视图或报告GitHub插件,参观GitHub库
问题在这个视图或报告GitHub插件,参观GitHub库