小编paf*_*uti的帖子

列出所有游戏

这里提出一个问题OP有兴趣列出所有独特的2x2游戏.这里的游戏是游戏理论游戏,其中有两个玩家和两个策略.因此,有四种可能的结果(见图).这些结果伴随着每个球员的"回报".支付'对'是来自某些策略组合的每个玩家的两个回报.支付以整数给出,不能超过4.

例如,考虑以下2x2游戏的示例(支付对写在括号中,P1和P2分别表示玩家1和2):

                  P2
            Right   Left

       Up   (2,2)   (3,4)
   P1         
       Down (1,1)   (4,3)
Run Code Online (Sandbox Code Playgroud)

这里的收益取值[(2,2),(3,4)| (1,1),(4,3)].

现在,显然许多其他游戏(即独特的支付矩阵)是可能的.如果每个玩家的收益是1,2,3,4(我们可以在4种方式中排除!= 24种方式),则可以进行24*24场比赛.OP有兴趣列出所有这些游戏.

这里有一个微妙的部分:两个独特的支付矩阵可能代表游戏,如果一个可以从另一个获得

i)交换列(即重新标记玩家A的策略)

ii)交换行(即重新标记玩家B的策略)

iii)交换玩家(即交换支付对并沿第一对角线镜像矩阵)

OP发布了以下代码,正确列出了所有78种可能的游戏,其中每种游戏的收益可以是(1,2,3,4).

我有兴趣更改代码,以便程序列出所有可能的收益不同的独特游戏:即玩家1的(1,2,3,3)和玩家2的(1,2,3,4). ,会有4!/ 2!置换方式(1,2,3,3),因此更少的游戏.

    #!/usr/bin/groovy

    // Payoff Tuple (a,b) found in game matrix position.
    // The Tuple is immutable, if we need to change it, we create a new one.
    // "equals()" checks for equality against another Tuple instance.
    // "hashCode()" is needed for insertion/retrievel of a Tuple instance into/from
    // a "Map" (in this case, …
Run Code Online (Sandbox Code Playgroud)

java groovy combinations matrix combinatorics

6
推荐指数
1
解决办法
341
查看次数

标签 统计

combinations ×1

combinatorics ×1

groovy ×1

java ×1

matrix ×1