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, 16:39

Soleil's gravatar image

Soleil
012
Akzeptiert: 100%

bearbeitet 10 Jan '14, 05:47

stefan's gravatar image

stefan ♦♦
5.8k12134


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, 03:06

sudo's gravatar image

sudo
1.9k1817

bearbeitet 11 Feb '14, 04:52

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×4
×4

Frage gestellt: 09 Jan '14, 16:39

Frage wurde angeschaut: 3,847 Mal

Zuletzt aktualisiert: 11 Feb '14, 04:52