automaten zeichnen < LaTeX < Mathe-Software < Mathe < Vorhilfe
|
Ich möchte gerne Automaten in latex zeichnen.
also Knoten mit Nummern drin und beschrifte Kanten.
Ich möchte dazu allerding keine Grafiken einbinden.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 13:53 Do 26.06.2008 | Autor: | koepper |
Hallo Patrick,
hier ein kleines Beispiel, es erklärt sich praktisch von selbst.
Gruß
Will
1: |
| 2: | \setlength{\unitlength}{1cm}
| 3: | \begin{center}
| 4: | \fontsize{11pt}{12pt}
| 5: | \selectfont
| 6: | \begin{picture}(12,13)
| 7: |
| 8: | %\graphpaper[2](0,0)(12,13)
| 9: |
| 10: | \put(0,11.5){\framebox(12, 1){\parbox[t][1cm][c]{11.5cm}{
| 11: | \begin{center}
| 12: | Erzeuge zu jedem Knoten $v \in V \setminus \{v_0\}$ ein Label $L = (v, \infty, v_0, \text{true})$ und zum Knoten $v_0$ das Label $L = (v_0, 0, v_0, \text{false})$.
| 13: | \end{center}
| 14: | }}}
| 15: |
| 16: | \put(2,10){\framebox(8, 1){\parbox[t][1cm][c]{7.8cm}{
| 17: | \begin{center}
| 18: | Ermittle eine (weitere) Kante $\{v_1, v_2 \} \in E$ mit $o(L(v_1)) =$ false und $o(L(v_2)) =$ true.
| 19: | \end{center}
| 20: | }}}
| 21: |
| 22: | \put(6,9){\oval(6, 1)}
| 23: | \put(4,8.5){\makebox(4, 1){\parbox[t][1cm][c]{6cm}{
| 24: | \begin{center}
| 25: | $c(L(v_2)) \leq c(L(v_1)) + c(\{v_1, v_2\})$?
| 26: | \end{center}
| 27: | }}}
| 28: |
| 29: | \put(3,6.4){\framebox(6, 1.6){\parbox[t][1.5cm][c]{5.8cm}{
| 30: | \begin{align} &\text{Aktualisiere $L(v_2)$} \notag \\ c(L(v_2)) &:= c(L(v_1)) + c(\{v_1, v_2\}) \notag \\ v_p(L(v_2)) &:= v_1 \notag \end{align}
| 31: | }}}
| 32: |
| 33: | \put(6,5.5){\oval(8, 1)}
| 34: | \put(2,5){\makebox(8, 1){\parbox[t][1cm][c]{7.8cm}{
| 35: | \begin{center}
| 36: | Gibt es eine weitere Kante $\{v_1, v_2 \} \in E$ mit $o(L(v_1)) =$ false und $o(L(v_2)) =$ true?
| 37: | \end{center}
| 38: | }}}
| 39: |
| 40: | \put(2,3.5){\framebox(8, 1){\parbox[t][1cm][c]{7.8cm}{
| 41: | \begin{center}
| 42: | Ermittle $k = \min \{c(L) \mid o(L) = \text{true} \}$ und setze $o(L) =$ false für alle $L$ mit $c(L) = k$.
| 43: | \end{center}
| 44: | }}}
| 45: |
| 46: | \put(6,2.5){\oval(5, 1)}
| 47: | \put(3.5,2){\makebox(5, 1){\parbox[t][1cm][c]{4.8cm}{
| 48: | \begin{center}
| 49: | Existiert noch ein Label $L$ mit $o(L) =$ true?
| 50: | \end{center}
| 51: | }}}
| 52: |
| 53: | \put(3,0){\framebox(6, 1.5){\parbox[t][1.5cm][c]{5.8cm}{
| 54: | \begin{center}
| 55: | Fertig: Zu jedem Knoten $v \in V$ repräsentiert das Label $L(v)$ den kürzesten Weg von $v_0$ zu $v$.
| 56: | \end{center}
| 57: | }}}
| 58: |
| 59: | %\thicklines
| 60: |
| 61: | % Pfeile abwärts in der Mitte
| 62: | \put(6,11.5){\vector(0, -1){0.5}}
| 63: | \put(6,10.0){\vector(0, -1){0.5}}
| 64: | \put(6, 8.5){\vector(0, -1){0.5}}
| 65: | \put(6, 6.4){\vector(0, -1){0.4}}
| 66: | \put(6, 5.0){\vector(0, -1){0.5}}
| 67: | \put(6, 3.5){\vector(0, -1){0.5}}
| 68: | \put(6, 2.0){\vector(0, -1){0.5}}
| 69: |
| 70: | % Pfeil rechts von Oval 5 zurück zu Kasten 2
| 71: | \put(10, 5.5){\line(1, 0){1}} \put(11, 5.5){\line(0, 1){5}} \put(11, 10.5){\vector(-1, 0){1}}
| 72: |
| 73: | % Pfeil links von Oval 3 zu Oval 5
| 74: | \put(3, 9){\line(-1, 0){1.5}} \put(1.5, 9){\line(0, -1){3.5}} \put(1.5, 5.5){\vector(1, 0){0.5}}
| 75: |
| 76: | % Pfeil links von Oval 7 zu Kasten 2
| 77: | \put(3.5, 2.5){\line(-1, 0){2.5}} \put(1, 2.5){\line(0, 1){8}} \put(1, 10.5){\vector(1, 0){1}}
| 78: |
| 79: | \put(2.5, 9){\makebox(0, 0.4){ja}}
| 80: | \put(6.2, 8){\makebox(0.6, 0.6){nein}}
| 81: | \put(10.4,5.5){\makebox(0, 0.4){ja}}
| 82: | \put(6.2, 4.5){\makebox(0.6, 0.6){nein}}
| 83: | \put(3, 2.5){\makebox(0, 0.4){ja}}
| 84: | \put(6.2, 1.5){\makebox(0.6, 0.6){nein}}
| 85: |
| 86: | \end{picture}
| 87: | \end{center}
|
|
|
|
|