[Tex/LaTex] How to create this game-tree in Latex (with information sets)

tikz-pgf

I am having difficulty creating game tree that looks like:

There are two information sets: one defined for the third stage of the game, and the other defined at the terminal nodes.
I have been spending too much time on my own trying to figure out, so here I am, asking for help.

sample tree

So far, I have been able to figure out the first bit.

    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{tikz}

    \begin{document}

\begin{center}
\tikzset{
% Two node styles for game trees: solid and hollow
solid node/.style={circle,draw,inner sep=1.5,fill=black},
hollow node/.style={circle,draw,inner sep=1.5}
}

\begin{tikzpicture}[scale=1.5,font=\footnotesize]
% Specify spacing for each level of the tree
\tikzstyle{level 1}=[level distance=15mm,sibling distance=35mm]
\tikzstyle{level 2}=[level distance=15mm,sibling distance=25mm]
% The Tree
\node(0)[solid node,label=above:{$i$}]{}
child{node(1)[solid node, label=left:{$j$}]{}
child{node[hollow node,label=below:{$(s_{1}^*,s_{2}^*+\tau(\overline{q}-\frac{1}{2}))$}]{} edge from parent node[left]{l}}
child{node[hollow node,label=below:{$(o_1,o_2-c_{\Gamma_6})$}]{} edge from parent node[right]{r}}
edge from parent node[left,xshift=-3]{l}
}
child{node(2)[hollow node, label=below:{$(o_1-c_{\Gamma_6},o_2)$}]{} edge from parent node[right]{r}};
\node[below]at(current bounding box.south){$\Gamma_6$};
\end{tikzpicture}
\end{center}
    \end{document}

Best Answer

Although as a linguist the input method for specifying trees in istgame is a bit cumbersome (since we are used to using brackets to show the structure), the istgame package is designed specifically for game theoretic trees, and because of this, I would recommend learning it, since it has built-in options for most of the notational conventions in that domain. Here then is a version of your tree using the istgame package. I've also added a version of the tree in your code sample to show how players and actions are added.

\documentclass{article}
\usepackage{istgame}
\begin{document}
\begin{istgame}
   \xtdistance{10mm}{50mm}
   \istroot(0)
     \istb
     \istb
     \endist
   \xtdistance{10mm}{35mm}
   \istroot(1a)(0-1)
     \istb
     \istb
     \endist
   \istroot(1b)(0-2)[null node]
     \istb
     \endist
  \xtdistance{10mm}{20mm}
   \istroot(2a)(1a-1)
     \istb
     \istb
     \endist
   \istroot(2b)(1a-2)
     \istb
     \istb
     \endist
   \istroot(2c)(1b-1)
     \istb
     \istb
     \endist
   \istroot(3a)(2a-1)
     \istb
     \istb
     \endist
   \xtShowEndPoints[oval node]
   \istroot(3b)(2a-2)[null node]
     \istb
     \endist
   \xtHideEndPoints
   \istroot(3c)(2b-1)
     \istb
     \istb
     \endist
   \xtShowEndPoints[oval node]
   \istroot(3d)(2b-2)[null node]
     \istb
     \endist
   \xtHideEndPoints
   \istroot(3e)(2c-1)
     \istb
     \istb
     \endist
   \xtShowEndPoints[oval node]
   \istroot(3f)(2c-2)[null node]
     \istb
     \endist
   \xtInfoset[bend left=30](3a)(3c)
   \xtInfoset[bend left=30](3c)(3e)
   \xtInfoset[bend right=30](3b-1)(3d-1)
   \xtInfoset[bend right=30](3d-1)(3f-1)
\end{istgame}

    \begin{istgame}
\xtdistance{10mm}{30mm}
\xtShowTerminalNodes[oval node]
\istroot(0){i}
    \istb{l}[al]
    \istbt{r}[ar]{(o_1-c_{\Gamma_6},o_2)}
    \endist
\istroot(1a)(0-1){j}[plain node]
    \istbt{l}[al]{(s_{1}^*,s_{2}^*+\tau(\overline{q}-\frac{1}{2}))}
    \istbt{r}[ar]{(o_1,o_2-c_{\Gamma_6})}
    \endist
\end{istgame}
\end{document}

output of code