Latex 与博弈论:结合三人游戏的广泛形式和范式

Latex 与博弈论:结合三人游戏的广泛形式和范式

我在编辑 Latex 代码以使用 Tikz 包制作图形(游戏)时遇到了麻烦。

我正在尝试制作一个三人游戏,结合一个扩展形式(针对玩家 3)和两个矩阵(针对玩家 1 和玩家 2)。下面,我发送了我制作的图表:

游戏

我为制作这个游戏编写的 tex 代码是:

    \begin{figure}[!htbp]
\centering
\caption*{Three Players Game: Combining Extensive Form with Matrix Form}\label{hybrid}
\begin{tikzpicture}[scale=1,font=\footnotesize,edge from parent/.style={draw,thick}]
  % Two node styles: solid and hollow
    \tikzstyle{solid node}=[circle,draw,inner sep=1.2];
    \tikzstyle{hollow node}=[circle,draw, inner sep=1.2];
  % Specify spacing for each level of the tree
    \tikzstyle{level 1}=[level distance=15mm,sibling distance=50mm]
    \tikzstyle{level 2}=[level distance=15mm,sibling distance=25mm]
  % The Tree
  \node(0)[hollow node]{}
    child{node{}
    edge from parent node[above left]{X}
    }
    child{node{}
    edge from parent node[above right]{Y}
    };
  % movers
  \node[above,circle,inner sep=1,yshift=4]at(0){1};
  \node[below]at(0-1){
    \gamemathfalse
    \arrayrulewidth.75pt
    \begin{game}{2}{2}[$P_{1}$][$P_{2}$]
           & X   & Y\\
       X & $1, 1, 1$ & $2, 0, 2$\\
       Y & $0, 2, 0$ & $2, 2, 2$
       \end{game}
         };
         \node[below,xshift=-15]at(0-2){
           \gamemathfalse
           \arrayrulewidth.75pt
           \begin{game}{2}{2}[$P_{1}$][$P_{2}$]
                  & X   & Y\\
              X & $3, 1, 3$ & $2, 2, 2$\\
              Y & $1, 1, 1$ & $1, 3, 1$
           \end{game}
         };
       \end{tikzpicture}
       \end{figure}

我想修复此图中的几个问题:

  1. 我希望第一个节点上方的数字不是“1”,而是“P3”(代表玩家 3)。我尝试了几种方法将 1 替换为 P3,例如在代码行“\node(0)[hollow node]{}”中包含“label=above:{P3}”。但数字 1 仍然在那里。

  2. 我想根据扩展形式树的末尾对齐左矩阵(类似于右矩阵的对齐)。

  3. 如果可能的话,我希望将 P3 和扩展形式放在矩阵下方。也就是说,不是先有扩展形式,然后将其从上到下连接到矩阵,而是先将两个矩阵放在顶部,然后在下面放置扩展形式(如下面编辑的图所示)。

总而言之,这是我正在寻找的 Tikz/游戏/人物:

遊戲編輯

提前致谢!

答案1

以下是不同方向的树的几个示例,使用istgame包。您可以使用\setistgrowdirection或其交换版本\setistgrowdirection'来更改树的生长方向。

(我使用该包绘制了游戏表tabu,因为(如手册中所述)该包与类或任何其他加载的包sgame不兼容。)memoirarray.sty

在此处输入图片描述

\documentclass{article}

\usepackage{istgame}
\usepackage{tabu,makecell,multirow}
\DeclareExpandableDocumentCommand\xcol{mO{c}m}{\multicolumn{#1}{#2}{$#3$}}

\def\gameX{%
  \mbox{%
  \begin{tabu}spread0pt{X[c1]X[$c1]*2{|X[$c2]}|}
  \xcol2{} & \xcol2{P_2} \\
  \xcol2{} & \xcol1{X} &\xcol1{Y} \\\tabucline{3-}
  \multirowcell{2}{$P_1$}
    &  X   & 1,1,1     & 2,0,2    \\\tabucline{3-}
    &  Y   & 0,2,0     & 2,2,2    \\\tabucline{3-}
  \end{tabu}%
  }
}

\def\gameY{%
  \mbox{%
  \begin{tabu}spread0pt{X[c1]X[$c1]*2{|X[$c2]}|}
  \xcol2{} & \xcol2{P_2} \\
  \xcol2{} & \xcol1{X} &\xcol1{Y} \\\tabucline{3-}
  \multirowcell{2}{$P_1$}
    &  X   & 3,1,3     & 2,2,2    \\\tabucline{3-}
    &  Y   & 1,1,1     & 1,3,1    \\\tabucline{3-}
  \end{tabu}%
  }
}
\pagestyle{empty}

\begin{document}

\begin{itemize}
\item a tree: downward

\begin{istgame}
\xtdistance{15mm}{50mm}
\istroot(0)[initial node]{$P_3$}
  \istb{X}[al]{\gameX}[below,xshift=-8mm]
  \istb{Y}[ar]{\gameY}[below,xshift=-8mm]
  \endist
\end{istgame}

\item a tree: upward

\begin{istgame}
\setistgrowdirection'{north}
\xtdistance{15mm}{50mm}
\istroot(0)[initial node]<-90>{$P_3$}
  \istb{X}[bl]{\gameX}
  \istb{Y}[br]{\gameY}
  \endist
\end{istgame}

\item a tree: toward the right

\begin{istgame}
\setistgrowdirection'{east}
\xtdistance{20mm}{15mm}
\istroot(0)[initial node]<180>{$P_3$}
  \istb{X}[al]{\gameX}[above right,yshift=-2mm]
  \istb{Y}[bl]{\gameY}
  \endist
\end{istgame}
\end{itemize}

\end{document}

添加:您可以按照自己的喜好绘制战略游戏。例如,如果您更喜欢使用环境tabular(到tabu),请将上面的\def\gameX\def\gameY部分替换为以下内容:

\def\gameX{%
  \mbox{%
  \begin{tabular}{cc|c|c|}
  \xcol2{} & \xcol2{P_2} \\
  \xcol2{} & \xcol1{X} &\xcol1{Y} \\\cline{3-4}
  \multirowcell{2}{$P_1$}
    &  X   & 1,1,1     & 2,0,2    \\\cline{3-4}
    &  Y   & 0,2,0     & 2,2,2    \\\cline{3-4}
  \end{tabular}%
  }
}

\def\gameY{%
  \mbox{%
  \begin{tabular}{cc|c|c|}
  \xcol2{} & \xcol2{P_2} \\
  \xcol2{} & \xcol1{X} &\xcol1{Y} \\\cline{3-4}
  \multirowcell{2}{$P_1$}
    &  X   & 3,1,3     & 2,2,2    \\\cline{3-4}
    &  Y   & 1,1,1     & 1,3,1    \\\cline{3-4}
  \end{tabular}%
  }
}

答案2

像这样吗?

\documentclass[tikz,border=2pt]{standalone}
\usepackage{tikz}
\usepackage{sgame}

\begin{document}
\begin{tikzpicture}
  \node(0)[circle,draw,inner sep=1.2,label=below:$P_3$]{}
    [grow'=north,sibling distance=5cm]
    child{}
    child{}
  ;
  \node[anchor=south]at(0-1){
    \begin{game}22[$P_1$][$P_2$]
       & X & Y \\
      X&1,1,1&1,1,1\\
      Y&1,1,1&1,1,1
    \end{game}
  };
  \node[anchor=south]at(0-2){
    \begin{game}22[$P_1$][$P_2$]
       & X & Y \\
      X&1,1,1&1,1,1\\
      Y&1,1,1&1,1,1
    \end{game}
  };
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容