다양한 선택이 가능한 게임트리

다양한 선택이 가능한 게임트리

안녕하세요 여러분 저는 tikz를 사용하여 간단한 게임 트리를 만들고 있습니다. 거의 완료되었지만 올바르게 만들기 위해서는 몇 가지 마무리 작업이 필요합니다. 지금까지의 코드입니다

\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}

내가 하고 싶은 것은 q_1 노드를 점선에 있지 않도록 이동하는 것입니다. 또한 나는 brach의 중앙에서 0과 무한대 사이의 하향 아치를 원합니다. (따라서 노드가 아니라 노드 사이의 중간) q 값이 0과 무한대 사이에 있을 수 있음을 상징하는 것입니다. 내 질문이 이해가 되기를 바랍니다. 그렇지 않은 경우에는 언제든지 질문해 주세요. :-)

귀하의 답변을 기대합니다

건배 스테펜

답변1

대신 솔루션이 점선을 약간 위로 이동하여 q_1이 원하는 것을 보여주는 점선에 있지 않도록 하는 가능한 솔루션 중 하나입니까?

여기에 이미지 설명을 입력하세요

암호

\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}

답변2

또 다른 활용 예이스트게임패키지(버전 2.0):

여기에 이미지 설명을 입력하세요

\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}

답변3

이 솔루션은 점선 아래 공간을 늘리기 때문에 그다지 아름답지는 않지만(대신 Jesse의 솔루션을 사용해야 함) 매우 쉽습니다.

% 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}

여기에 이미지 설명을 입력하세요

관련 정보