Инструменты визуализации для теории игр: деревья игр


12

Есть много способов нарисовать последовательную игру «от руки». Под рисованием игры я имею в виду это:

enter image description here

Отображение точек решения игроков, доступных действий и выплат.

Есть ли способ, которым я могу сделать это на R или подобном языке программирования высокого уровня? Если быть точным: я не хочу строить геометрические уравнения, я хочу определить структуру (игроки, точки, соединения, выплаты) и сделать так, чтобы программа построила ее.

В настоящее время я просматриваю пакет «igraph», но у меня возникли некоторые трудности с маркировкой, поэтому мне интересно, есть ли лучший способ.


1
Если вы считаете LaTeX «похожим языком программирования высокого уровня», вы можете найти ответы на следующие вопросы: этот вопрос на TeX.SE (и другие связанные с этим вопросы) полезно.
Ilmari Karonen

Ответы:


7

Mathematica имеет возможность построения графиков и рисования.

Итак, если вы построили график в Mathematica, вы можете построить его, используя настройки по вашему выбору.

В Mathematica вы можете использовать TreeGraph как способ построения графа, и TreePlot как способ построить это. Например, следующий код генерирует дерево с узлами, помеченными координатами, и имеет формат, аналогичный тому, который вы хотите:

TreePlot[{1 -> 4, 1 -> 1, 1 -> 5, 2 -> 4, 3 -> 6, 3 -> 9, 4 -> 8, 
  4 -> 10, 6 -> 7, 8 -> 9}, 
 EdgeRenderingFunction -> ({If[First[#2] === Last[#2], Red, Black], 
     Arrow[#1, .1], 
     Text[#2, LineScaledCoordinate[#1, .5], Background -> White]} &), 
 VertexLabeling -> True]

enter image description here

Также обратите внимание, что есть графические пакеты, такие как TikZ в Tex, которые имеют очень мощные возможности рисования графиков. TikZ в основном используется в Unix-средах, и не будет хранить структуры данных или выполнять вычисления, такие как Mathematica. Это чисто графическая возможность рисования.

График, который вы использовали в качестве иллюстрации, имеет шрифт, обычно используемый в TeX, поэтому он, вероятно, был создан с использованием TikZ или другого пакета TeX. Если вы хотите, чтобы уравнение Mathematica выглядело так, вы можете использовать функцию TraditionalForm или явно указать шрифт Computer Modern.


5

Латекс с forest

forest Пакет LaTeX позволяет рисовать игровые деревья с довольно простым синтаксисом. После копирования предустановленного шаблона в преамбулу LaTeX можно построить дерево игры, используя вложенный [] синтаксис, то программа заботится о размещении узлов / интервале / и т.д.

  • Плюсы: настраиваемость (вы можете комментировать дерево игры любым удобным для вас способом) и согласованность шрифта / стиля
  • минусы: ввод элементов дерева игры (имен игроков / действий, выплат, наборов информации) все еще несколько ручен, особенно если дерево большое; и немного крутой кривой обучения, если вы еще не знакомы с пакетом TikZ

Вот пример из forest руководство («Дерево решений» в разделе 5.1):

\begin{forest} 
decision tree
[N,plain content
  [I;{p_1=0.5},plain content,elo={yshift=4pt}
    [{5,1};a]
    [II;b,plain content
      [{1,2};m]
      [{2,3};n]
    ]
  ]
  [II;{p_2=0.5},plain content,elo={yshift=4pt}
    [;c
      [{1,0};z]
      [{2,2};t]
    ]
    [;d
      [{3,1};z]
      [{0,0};t]
    ]
  ]{\draw[dashed](!1.anchor)--(!2.anchor) node[pos=0.5,above]{I};}
]
\end{forest}

enter image description here

Исследователь теории игр

исследователь теории игр разработан несколькими людьми в LSE. Он позволяет пользователям вводить игры в матричной форме или создавать расширенные формы игр через графический интерфейс. Кажется также, что он способен конвертировать между обычной и расширенной формой игры. Кроме того, программное обеспечение поставляется с решателем, который ищет равновесия Нэша во введенной игре.

  • плюсы: графический интерфейс; решатель; нет необходимости в локальной установке; (ограниченная) настраиваемость
  • минусы: нет поддержки аннотации; несоответствие шрифта / стиля остальной части документа

Скриншоты: enter image description here

enter image description here

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.