Un árbol de juego con opciones variables.

Un árbol de juego con opciones variables.

Hola a todos, estoy haciendo un árbol de juegos simple usando tikz, ya casi lo termino pero necesito algunos retoques finales para que quede bien. Este es el código hasta ahora.

\hspace{.1in}
\tikzstyle{level 1}=[level distance=1.5cm, sibling distance=3.5cm]
\tikzstyle{level 2}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 3}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 4}=[level distance=1.5cm, sibling distance=2cm]
\begin{tikzpicture}
\node(0){Firm 1}
child{node(11){\( E_2 \)}
child{node{\( 0 \)}}
child{node(21){\( q_1 \)}
    child{node{\( 0 \)}}
    child{node{\( q_2 \)}
        child{node{\( \begin{pmatrix}
                \Pi^{c_{2}}_{1} \\ \Pi^{c}_{2}\\ \Pi^{m}_{3}
                \end{pmatrix} \)}}}
    child{node{\( \infty \)}}}
child{node{\( \infty \)}}}
child{node(12){\( E_3 \)}
child{node{\( 0 \)}}
child{node(22){\( q_1 \)}
    child{node{\( 0 \)}}
    child{node{\( q_3 \)}
        child{node{\( \begin{pmatrix}
                \Pi^{c_{3}}_{1} \\ \Pi^{m}_{2}\\ \Pi^{c}_{3}
                \end{pmatrix} \)}}}
    child{node{\( \infty \)}}}
child{node{\( \infty \)}} 
};
\draw[dashed](11-1)to(11-3);
\draw[dashed](12-1)to(12-3);
\end{tikzpicture}

Lo que me gustaría hacer es mover los nodos q_1 para que no estén en la línea discontinua. También me gustaría un arco descendente entre 0 e infinito que vaya desde el centro de la rama. (Entonces, no desde los nodos sino a medio camino entre ellos) Es para simbolizar que los valores de q pueden ser cualquier valor entre 0 e infinito. Espero que mi pregunta tenga sentido; si no, no dudes en preguntar :-)

Mirando hacia adelante a sus respuestas

Saludos Steffen

Respuesta1

¿Sería esta una de sus posibles soluciones donde, en cambio, la solución mueve un poco la línea discontinua hacia arriba para que q_1 no esté en la línea discontinua, lo que muestra lo que desea?

ingrese la descripción de la imagen aquí

Código

\documentclass[border=10pt]{standalone}%{article}

\usepackage{tikz}
\usetikzlibrary{arrows,trees,positioning,calc}
\begin{document}
\hspace{.1in}
\tikzstyle{level 1}=[level distance=1.5cm, sibling distance=3.5cm]
\tikzstyle{level 2}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 3}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 4}=[level distance=1.5cm, sibling distance=2cm]
\begin{tikzpicture}
\node(0){Firm 1}
child{node[](11){\( E_2 \)}
child{node{\( 0 \)}}
child{node(21){\( q_1 \)}
    child{node{\( 0 \)}}
    child{node{\( q_2 \)}
        child{node{\(\begin{pmatrix}
                \Pi^{c_{2}}_{1} \\ \Pi^{c}_{2}\\ \Pi^{m}_{3}
                \end{pmatrix} \)}}}
    child{node{\( \infty \)}}}
child{node{\( \infty \)}}}
child{node(12){\( E_3 \)}
child{node{\( 0 \)}}
child{node(22){\( q_1 \)}
    child{node{\( 0 \)}}
    child{node{\( q_3 \)}
        child{node{\( \begin{pmatrix}
                \Pi^{c_{3}}_{1} \\ \Pi^{m}_{2}\\ \Pi^{c}_{3}
                \end{pmatrix} \)}}}
    child{node{\( \infty \)}}}
child{node{\( \infty \)}} 
};
\draw[dashed]([yshift=4ex]$(11-1)!0.55!(21)$) to[bend right] ([yshift=4ex]$(21)!0.5!(11-3)$);
\draw[dashed]([yshift=4ex]$(12-1)!0.55!(22)$) to[bend right]([yshift=4ex]$(22)!0.5!(12-3)$);
\end{tikzpicture}
\end{document}

Respuesta2

Otro ejemplo de uso de lajuegopaquete (versión 2.0):

ingrese la descripción de la imagen aquí

\documentclass{standalone}
\usepackage{istgame}

\begin{document}

\begin{istgame}[semithick]
\tikzset{oval node/.style={box node,draw=none,minimum size=5mm}}
\cntmdistance*{20mm}{25mm}
\istrooto(0)[plain node]{Firm 1}+15mm..50mm+
  \istb \istb \endist
\setistmathTF111
\cntmApreset[dashed,thick]{.6}
\istrootocntmA(E2)(0-1){E_2}  \istb[thin]  \endist
\xtNode*(cntm-1){0}    \xtNode*(cntm-2){\infty}
\istrootocntmA(E3)(0-2){E_3}  \istb[thin]  \endist
\xtNode*(cntm-1){0}    \xtNode*(cntm-2){\infty}
\istrootocntmA(11)(E2-1){q_1}  \istb[thin]  \endist
\xtNode*(cntm-1){0}    \xtNode*(cntm-2){\infty}
\istrootocntmA(21)(E3-1){q_1}  \istb[thin]  \endist
\xtNode*(cntm-1){0}    \xtNode*(cntm-2){\infty}
\istrooto(3a)(11-1){q_2}  \istb[thin]  \endist
\xtNode*(3a-1){\big(\prod\big)_1^{c_2}\prod_2^c\prod_3^m}
\istrooto(3b)(21-1){q_3}  \istb[thin]  \endist
\xtNode*(3b-1){\big(\prod\big)_1^{c_3}\prod_2^m\prod_3^c}
\end{istgame}

\end{document}

Respuesta3

Esta solución no es muy bonita (deberías usar la de Jesse en su lugar), ya que aumenta el espacio debajo de la línea discontinua, pero es muy fácil de hacer.

% arara: pdflatex

\documentclass{article}
\usepackage{mathtools}
\usepackage{tikz}

\begin{document}
\tikzstyle{level 1}=[level distance=1.5cm, sibling distance=3.5cm]
\tikzstyle{level 2}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 3}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 4}=[level distance=1.5cm, sibling distance=2cm]
\begin{tikzpicture}
\node(0){Firm 1}
child{node(11){\( E_2 \)}
    child{node{\( 0 \)}}
    child{node(21){\raisebox{15pt}{$q_1$}}
        child{node{\( 0 \)}}
        child{node{\( q_2 \)}
            child{node{\(\begin{pmatrix}\Pi^{c_{2}}_{1} \\ \Pi^{c}_{2}\\ \Pi^{m}_{3}\end{pmatrix}\)}}}
        child{node{\( \infty \)}}}
    child{node{\( \infty \)}}}
child{node(12){\( E_3 \)}
    child{node{\( 0 \)}}
    child{node(22){\raisebox{15pt}{$q_1$}}
        child{node{\( 0 \)}}
        child{node{\( q_3 \)}
            child{node{\(\begin{pmatrix}\Pi^{c_{3}}_{1} \\ \Pi^{m}_{2}\\ \Pi^{c}_{3}\end{pmatrix}\)}}}
        child{node{\( \infty \)}}}
    child{node{\( \infty \)}} 
};
\draw[dashed](11-1)to(11-3);
\draw[dashed](12-1)to(12-3);
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada