Bei meinem Spielbaum sollen auf der letzten Stufe, d. h. bei jedem Knoten (a,b), (c,d), (e,f), (g,h), (i,j), (k, l), (m, n) und (o,p) nochmal jeweils zwei neue Äste (unterhalb) angebracht werden. Dementsprechend müssen auch die Payoffs eine Stufe nach unten verschoben und ergänzt ((q,r), (s,t), usw.) werden, so dass auf der letzten Stufe 16 neue Äste mit jeweils einem Payoff vorhanden sind. Welche Ergänzungen muss ich dazu in meinem Code vornehmen?

Open in writeLaTeX
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{figure}[htbp] 
\begin{center} 
% macro for inputing payoff vectors 
 \newcommand{\payoff}[4][below]{\node[#1]at(#2){$(#3,#4)$};}

\begin{tikzpicture}[scale=1,font=\footnotesize] 
  % Two node styles: solid and hollow 
  \tikzstyle{solid node}=[circle,draw,inner sep=1.2,fill=black]; 
   \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=55mm] 
   \tikzstyle{level 2}=[level distance=15mm,sibling distance=30mm] 
    \tikzstyle{level 3}=[level distance=15mm,sibling distance=15mm] 
      \tikzstyle{level 4}=[level distance=15mm,sibling distance=15mm] 
  % The Tree 
\node(0)[solid node]{} 
   child{node(1)[solid node]{} 
     child{node[solid node]{} 
     child{node[hollow node]{}edge from parent node[left]{$F$}} 
      child{node[hollow node]{}edge from parent node[right]{$G$}} 
      edge from parent node[left]{$D$} 
     } 
      child{node[solid node]{} 
       child{node[hollow node]{}edge from parent node[left]{$F$}} 
        child{node[hollow node]{}edge from parent node[right]{$G$}} 
        edge from parent node[right]{$E$} 
} 
      edge from parent node[left,xshift=-5]{$C$} 
    } 
child{node(2)[solid node]{} 
      child{node[solid node]{} 
       child{node[hollow node]{}edge from parent node[left]{$F$}} 
        child{node[hollow node]{}edge from parent node[right]{$G$}} 
        edge from parent node[left]{$D$} 
      } 
      child{node[solid node]{} 
        child{node[hollow node]{}edge from parent node[left]{$F$}} 
        child{node[hollow node]{}edge from parent node[right]{$G$}} 
        edge from parent node[right]{$E$} 
} 
      edge from parent node[right,xshift=5]{$D$} 
      }; 
   information set 
  \draw[dashed,rounded corners=7]($(1-1)+(-.2,.25)$)rectangle($(1-2)+(.2,-.25)$); 
    \draw[dashed,rounded corners=7]($(2-1)+(-.2,.25)$)rectangle($(2-2)+(.2,-.25)$); 
 \draw[dashed,rounded corners=10]($(1) + (-.2,.25)$)rectangle($(2) +(.2,-.25)$); 
 specify movers 
  \node[above]at(0){$P1$}; 
   \node at ($(1)!.5!(2)$) {$Spieler B$}; 
 \node at ($.5*(1-1)+.5*(1-2)$) {$P1$}; 
  \node at ($.5*(2-1)+.5*(2-2)$) {$P1$}

; 
  % payoffs 
 \payoff{1-1-1}ab 
 \payoff{1-1-2}cd 
 \payoff{1-2-1}ef 
 \payoff{1-2-2}gh 
  \payoff{2-1-1}ij 
  \payoff{2-1-2}k{\ell} 
  \payoff{2-2-1}mn 
 \payoff{2-2-2}op 
 ;

\end{tikzpicture} 
\end{center}

 \end{figure} 
\end{document}

Spielbaum

gefragt 09 Jan '14, 22:39

Soleil's gravatar image

Soleil
0112
Akzeptiert-Rate: 0%

bearbeitet 10 Jan '14, 11:47

stefan's gravatar image

stefan ♦♦
18.3k163148


every child node/.style

Nutze den every child node/.style um den Stil der einzelnen Knoten festzulegen. Dann ist es einfacher die Knoten einer Ebene zu ändern.

Einrückung

Für einen guten Überblick ist es wichtig, die Einrückung gut konsequent durchzuführen.

Änderungen

Die Änderungen sind eigentlich ganz einfach: Du ersetzt alle

Open in writeLaTeX
      child{node[hollow node]{}edge from parent node[left]{$F$}} 
      child{node[hollow node]{}edge from parent node[right]{$G$}}

durch

Open in writeLaTeX
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[left]{$F$}
      } 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[right]{$G$}
      }

Bei den Payoffs habe ich deine \payoffs einfach kopiert und einmal eine 1- und einmal 2- für die Knoten vorne angehängt. Die Einträge habe ich natürlich angepasst, wobei das Alphabet für die 16 Knoten nicht mehr reichte, weshalb ich am Ende auf griechische Buchstaben umgestiegen bin.

Code

Open in writeLaTeX
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{figure}[htbp] 
\begin{center} 
% macro for inputing payoff vectors 
 \newcommand{\payoff}[4][below]{\node[#1]at(#2){$(#3,#4)$};}

\begin{tikzpicture}[scale=1,font=\footnotesize, hollow node/.style={circle,draw,inner sep=1.2}, solid node/.style={hollow node ,fill=black}]
  % Specify spacing for each level of the tree 
  \tikzstyle{level 0}=[every child node/.style={solid node}] 
  \tikzstyle{level 1}=[level distance=15mm,sibling distance=72mm, every child node/.style={solid node}] 
  \tikzstyle{level 2}=[level distance=15mm,sibling distance=36mm, every child node/.style={solid node}] 
  \tikzstyle{level 3}=[level distance=15mm,sibling distance=18mm, every child node/.style={solid node}] 
  \tikzstyle{level 4}=[level distance=15mm,sibling distance=9mm, every child node/.style={hollow node}]
  % The Tree 
\node(0)[solid node]{} 
  child{node(1){} 
    child{node{} 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[left]{$F$}
      } 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[right]{$G$}
      } 
      edge from parent node[left]{$D$}
    } 
    child{node{} 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[left]{$F$}
      } 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[right]{$G$}
      } 
      edge from parent node[right]{$E$} 
    } 
    edge from parent node[left,xshift=-8]{$C$} 
  }
  child{node(2){} 
    child{node{} 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[left]{$F$}
      } 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[right]{$G$}
      } 
      edge from parent node[left]{$D$} 
    } 
    child{node{} 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[left]{$F$}
      } 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[right]{$G$}
      } 
      edge from parent node[right]{$E$} 
    } 
    edge from parent node[right,xshift=8]{$D$} 
  }; 
% information set 
  \draw[dashed,rounded corners=7]($(1-1)+(-.2,.25)$)rectangle($(1-2)+(.2,-.25)$); 
  \draw[dashed,rounded corners=7]($(2-1)+(-.2,.25)$)rectangle($(2-2)+(.2,-.25)$); 
  \draw[dashed,rounded corners=10]($(1) + (-.2,.25)$)rectangle($(2) +(.2,-.25)$); 
% specify movers 
  \node[above]at(0){$P1$}; 
  \node at ($(1)!.5!(2)$) {$Spieler B$}; 
  \node at ($.5*(1-1)+.5*(1-2)$) {$P1$}; 
  \node at ($.5*(2-1)+.5*(2-2)$) {$P1$}

; 
% payoffs 
  \payoff{1-1-1-1}ab 
  \payoff{1-1-1-2}cd 
  \payoff{1-1-2-1}ef 
  \payoff{1-1-2-2}gh 
  \payoff{1-2-1-1}ij 
  \payoff{1-2-1-2}k{\ell} 
  \payoff{1-2-2-1}mn 
  \payoff{1-2-2-2}op 
  \payoff{2-1-1-1}qr 
  \payoff{2-1-1-2}st 
  \payoff{2-1-2-1}uv 
  \payoff{2-1-2-2}wx 
  \payoff{2-2-1-1}yz 
  \payoff{2-2-1-2}\alpha\beta 
  \payoff{2-2-2-1}\gamma\delta
  \payoff{2-2-2-2}\varepsilon\zeta
  ;

\end{tikzpicture} 
\end{center}

 \end{figure} 
\end{document}

Output

alt text

Permanenter link

beantwortet 10 Jan '14, 09:06

sudo's gravatar image

sudo
2.0k51521
Akzeptiert-Rate: 39%

bearbeitet 11 Feb '14, 10:52

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×731
×5
×4

gestellte Frage: 09 Jan '14, 22:39

Frage wurde gesehen: 13,122 Mal

zuletzt geändert: 11 Feb '14, 10:52