博弈论子博弈盒

博弈论子博弈盒

在此处输入图片描述我正在尝试将灰色框放大,但无法成功(大到足以包含季后赛)。非常希望得到一些帮助。

这是我的代码:

[![\documentclass\[11pt\]{article}
\usepackage\[utf8\]{inputenc}
\usepackage{multirow}
\usepackage\[margin=1in\]{geometry} 
\usepackage{amsmath,amsthm,amssymb,amsfonts}
 \usepackage{tikz}   %for game theory stuff
 \usepackage\[skip=1ex\]{caption}
\usetikzlibrary{calc}
\usepackage{istgame} 
\def\vpay#1#2{\begin{matrix}#1\\#2\end{matrix}}

\begin{document}


   \begin{center}
    \begin{istgame}
    \xtShowEndPoints
    \xtdistance{25mm}{70mm}
    \istrooto(0){$\text{Firm} \ 1$}
      \istb{BIG}\[l\]
      \istb{small}\[r\]
      \endist
      \xtdistance{25mm}{35mm}
    \istrooto(1)(0-1){$\text{Firm} \ 2$}
      \istb{Low}\[l\]
      \istb{High}\[r\]
      \endist
      \istrooto(2)(0-2){$\text{Firm} \ 2$}
      \istb{low}\[l\]
      \istb{high}\[r\]
      \endist
    \xtdistance{20mm}{10mm}
      \istrooto(a)(1-1){$\text{Firm} \ 1$}
      \istb{L}\[l\]{\vpay{8}{8}}
      \istb{H}\[r\]{\vpay{7}{7}}
      \endist
      \istrooto(b)(1-2){$\text{Firm} \ 1$}
      \istb{L}\[l\]{\vpay{6}{10}}
      \istb{H}\[r\]{\vpay{6}{7}}
      \endist
    \istrooto(c)(2-1){$\text{Firm} \ 1$}
      \istb{l}\[l\]{\vpay{7}{8}}
      \istb{h}\[r\]{\vpay{10}{6}}
      \endist
      \istrooto(d)(2-2){$\text{Firm} \ 1$}
      \istb{l}\[l\]{\vpay{5}{11}}
      \istb{h}\[r\]{\vpay{8}{7}}
      \endist
      \setxtinfosetstyle{dashed}
    \xtInfoset(a)(b)
    \xtInfoset(c)(d)
    \xtSubgameBox(1){(a)(b)(a-1)(b-1)(a-1)(b-2)(a-2)}
    \xtSubgameBox(2){(c)(d)(c-1)}
    %\xtSubgameBox(2){(2-1)(2-2)}\[inner sep=16pt\]
    %\xtSubgameBox(2){(2-1)(2-2)}\[solid,rounded corners=0pt,inner sep=16pt\]
    \end{istgame}

    \end{center}
    \end{document}][1]][1]

答案1

我按照手册上的istgame说明操作,其中提到了这些实验框。手册上建议移动和放大这些框。我就是这么做的,即添加了[yshift=-2ex][inner ysep=6ex]。我并不是说这很优雅,但至少我可以把这个选择归咎于手册。

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[margin=1in]{geometry} 
\usepackage{amsmath}
\usepackage{istgame} 
\def\vpay#1#2{\begin{matrix}#1\\#2\end{matrix}}

\begin{document}
\begin{center}
\begin{istgame}
    \xtShowEndPoints
    \xtdistance{25mm}{70mm}
    \istrooto(0){$\text{Firm} \ 1$}
      \istb{BIG}[l]
      \istb{small}[r]
      \endist
      \xtdistance{25mm}{35mm}
    \istrooto(1)(0-1){$\text{Firm} \ 2$}
      \istb{Low}[l]
      \istb{High}[r]
      \endist
      \istrooto(2)(0-2){$\text{Firm} \ 2$}
      \istb{low}[l]
      \istb{high}[r]
      \endist
    \xtdistance{20mm}{10mm}
      \istrooto(a)(1-1){$\text{Firm} \ 1$}
      \istb{L}[l]{\vpay{8}{8}}
      \istb{H}[r]{\vpay{7}{7}}
      \endist
      \istrooto(b)(1-2){$\text{Firm} \ 1$}
      \istb{L}[l]{\vpay{6}{10}}
      \istb{H}[r]{\vpay{6}{7}}
      \endist
    \istrooto(c)(2-1){$\text{Firm} \ 1$}
      \istb{l}[l]{\vpay{7}{8}}
      \istb{h}[r]{\vpay{10}{6}}
      \endist
      \istrooto(d)(2-2){$\text{Firm} \ 1$}
      \istb{l}[l]{\vpay{5}{11}}
      \istb{h}[r]{\vpay{8}{7}}
      \endist
      \setxtinfosetstyle{dashed}
    \xtInfoset(a)(b)
    \xtInfoset(c)(d)
    \xtSubgameBox([yshift=-2ex]1){(a)(b)(a-1)(b-1)(a-1)(b-2)(a-2)}[inner ysep=6ex]
    \xtSubgameBox([yshift=-2ex]2){(c)(d)(c-1)}[inner ysep=6ex]
    \end{istgame}
\end{center}
\end{document}

在此处输入图片描述

答案2

要使用该包表示扩展博弈的子博弈istgame,您需要指定子博弈的根和最外层的终端节点。由于似乎不存在控制表示子博弈的框大小的一般规则,因此我们需要手动调整大小。为此,您可以调整框的inner sep(或inner xsepinner ysep)并移动子根,如手册中所述。

在此处输入图片描述

请注意,在下面的例子中,玩家默认以文本模式打印,您不需要写下所有的终端节点。

\documentclass{standalone}
\usepackage{amsmath}
\def\vpay#1#2{\begin{matrix}#1\\#2\end{matrix}}
\usepackage{istgame}
\begin{document}
\begin{istgame}
\xtShowEndPoints
\xtdistance{25mm}{70mm}
\istrooto(0){Firm 1}
  \istb{BIG}[al]  \istb{small}[ar]  \endist
\xtdistance{25mm}{35mm}
\istrooto(1)(0-1){Firm 2}
  \istb{Low}[al]  \istb{High}[ar]   \endist
\istrooto(2)(0-2){Firm 2}
  \istb{low}[al]  \istb{high}[ar]   \endist
\xtdistance{20mm}{10mm}
\istrooto(a)(1-1){Firm 1}
  \istb{L}[l]{\vpay{8}{8}}   \istb{H}[r]{\vpay{7}{7}}   \endist
\istrooto(b)(1-2){Firm 1}
  \istb{L}[l]{\vpay{6}{10}}  \istb{H}[r]{\vpay{6}{7}}   \endist
\istrooto(c)(2-1){Firm 1}
  \istb{l}[l]{\vpay{7}{8}}   \istb{h}[r]{\vpay{10}{6}}  \endist
\istrooto(d)(2-2){Firm 1}
  \istb{l}[l]{\vpay{5}{11}}  \istb{h}[r]{\vpay{8}{7}}   \endist
% \setxtinfosetstyle{dashed}
\xtInfoset(a)(b)
\xtInfoset(c)(d)
\xtSubgameBox([yshift=-2ex]1){(a-1)(b-2)}[inner ysep=7ex]
\xtSubgameBox([yshift=-2ex]2){(c-1)(d-2)}[inner ysep=7ex]
\end{istgame}
\end{document}

无需使用 也可以做同样的事情\xtSubgameBox

例如,\xtSubgameBox([yshift=-2ex]2){(c-1)(d-2)}[inner ysep=7ex]只是以下代码的缩写:

\coordinate (xtsubroot) at ($([yshift=-2ex]2)+(0,-.3)$);
\node [rectangle,draw,dashed,inner sep=20pt,rounded corners=15pt,black!50,inner ysep=7ex] 
      [fit=(xtsubroot)(c-1)(d-2)]{};

使用哪一种取决于您的选择。

万一你想让你的游戏树向东生长,你需要相应地调整你的子游戏框。(无论树的生长方向如何,我都没有发现任何控制框大小的通用模式。)另请参阅另一个例子

在此处输入图片描述

\documentclass[border=1pt]{standalone}
\usepackage{amsmath}
\def\vpay#1#2{\begin{matrix}#1\\#2\end{matrix}}
\usepackage{istgame}
\begin{document}
\begin{istgame}
\setistgrowdirection'{east}
\xtShowEndPoints
\xtdistance{25mm}{70mm}
\istrooto(0){Firm 1}
  \istb{BIG}[al]  \istb{small}[bl]  \endist
\xtdistance{25mm}{35mm}
\istrooto(1)(0-1){Firm 2}
  \istb{Low}[al]  \istb{High}[bl]   \endist
\istrooto(2)(0-2){Firm 2}
  \istb{low}[al]  \istb{high}[bl]   \endist
\xtdistance{20mm}{10mm}
\istrooto(a)(1-1){Firm 1}
  \istb{L}[a]{\vpay{8}{8}}   \istb{H}[b]{\vpay{7}{7}}   \endist
\istrooto(b)(1-2){Firm 1}
  \istb{L}[a]{\vpay{6}{10}}  \istb{H}[b]{\vpay{6}{7}}   \endist
\istrooto(c)(2-1){Firm 1}
  \istb{l}[a]{\vpay{7}{8}}   \istb{h}[b]{\vpay{10}{6}}  \endist
\istrooto(d)(2-2){Firm 1}
  \istb{l}[a]{\vpay{5}{11}}  \istb{h}[b]{\vpay{8}{7}}   \endist
\xtInfoset(a)(b)
\xtInfoset(c)(d)
\xtSubgameBox([xshift=-2ex]1){(a-1)(b-2)}%[inner ysep=7ex]
\xtSubgameBox([xshift=-2ex]2){(c-1)(d-2)}%[inner ysep=7ex]
\end{istgame}
\end{document}

相关内容