In solchen Fällen, in denen der Spielgraph oder -baum hinreichend klein ist, hilft eine Rückwärtssuche, die in den Endkonfigurationen beginnt und in Bottom-Up-Manier die Spielergebnisse der Endkonfigurationen auf die inneren Knoten überträgt. Jeder Maxknoten wird mit dem besten Spielergebnis seiner Söhne, ein Minknoten mit dem schlechtesten Spielergebnis seiner Söhne beschriftet. Eine Spielstrategie ergibt sich wie folgt. Wir wählen denjenigen Spielzug v0 → w, so daß die Bewertung von w maximal ist unter allen Söhnen von v0. 201
Die beschriebene Technik läßt sich <strong>für</strong> Spiele, <strong>für</strong> die der zugrundeliegende Graph zyklisch ist, modifizieren. Jedoch ergibt sich nur dann eine in der Praxis anwendbare Methode, wenn der Spielgraph hinreichend klein ist. Für komplexe Spiele ist eine vollständige Analyse des Spielgraphen zum Scheitern verurteilt, da der Spielgraph viel zu groß ist. Z.B. hat man es beim Schach mit einem zyklischen Graphen mit ca. 10 120 Knoten zu tun. Die Analyse des Graphen würde ca. 10 21 Jahrhunderte dauern, wenn die Zugmöglichkeiten jeder Konfiguration in 1/3 Nanosekunde berechnet werden können. Anstelle den kompletten Graphen zu analysieren, legt man eine Suchtiefe d fest. Die Suchtiefe steht <strong>für</strong> die maximale Anzahl an aufeinanderfolgenden Spielzügen, welche der Zuggenerator berücksichtigt. Diese wird meist anhand der vom Benutzer gewählten Spielstärke festgelegt und ist in Abhängigkeit von Echt-Zeit-Bedingungen (“welchen Zeitbeschränkungen unterliegt der Zuggenerator?”) zu wählen. Die Suchtiefe kann während des Spiels geändert werden. Z.B. hat man es in der Endphase eines Schachspiels mit einem wesentlich geringeren durchschnittlichen Verweigungsgrad zu tun als in der Mittelphase und kann daher in der Endphase die Suchtiefe erhöhen. Der Spielbaum zu vorgegebener Suchtiefe. Konzeptionell ähneln Spielbäume den in Abschnitt 5.3 behandelten Aufzählungsbäumen. Für feste Suchtiefe d ergibt sich durch “Abwickeln” des Spielgraphen ein Baum der Höhe (höchstens) d, dessen Wurzel <strong>für</strong> die aktuelle Spielkonfiguration v0 steht. 39 Diesen nennen wir den Spielbaum bzgl. der Suchtiefe d, wobei wir im folgenden auf den Zusatz “bzgl. der Suchtiefe d” verzichten und kurz vom Spielbaum sprechen. • Die Knoten sind Tupel 〈v0,v1,...,vn〉 der Länge n ≤ d, <strong>für</strong> welche die Konfigurationsfolge v0,v1,...,vn aus legalen Spielzügen entsteht. • Die Kante von 〈v0,v1,...,vn−1〉 zu 〈v0,v1,...,vn−1,vn〉 steht <strong>für</strong> den Spielzug, der die Konfiguration vn−1 in vn überführt. • Die Blätter sind Knoten 〈v0,v1,...,vn〉, so daß entweder n = d oder vn eine Endkonfiguration ist. Gedanklich (und in den Skizzen) identifiziert man jeden Knoten 〈v0,v1,...,vn〉 des Spielbaums mit der letzten Konfiguration vn. Man beachte jedoch, daß ein Knoten des Spielgraphen (also eine Spielkonfiguration) durch mehrere Knoten im Spielbaum repräsentiert sein kann. Nämlich dann, wenn es mehrere Zugfolgen gibt, die von der Anfangskonfiguration zu der betreffenden Konfiguration führen. Folgende Skizze zeigt den Spielbaum <strong>für</strong> Tic-Tac-Toe mit der Suchtiefe 2, wobei zur Vereinfachung symmetrische Konfiguration zusammengefasst sind: 39 In Spielen wie Tic Tac Toe, in denen der Spielgraph ein azyklischer Graph mit maximaler Weglänge 9 ist, kann der Spielbaum die Höhe < d haben. Ein Beispiel: Wir nehmen an, daß die ersten 4 Spielzüge bereits durchgeführt sind und suchen nun einen “besten Zug” <strong>für</strong> Spieler X. Ist die vorgegebene Suchtiefe d = 7, dann entsteht ein Spielbaum der Höhe 5. 202
- Seite 1 und 2: 5 Entwurfsmethoden für Algorithmen
- Seite 3 und 4: der Eingabegröße ⌊7/10 · n⌋,
- Seite 5 und 6: T(m) ≤ Cm k logm für alle m < n
- Seite 7 und 8: T(n) = Θ(n)+T( n 7 5 )+T( 10n), di
- Seite 9 und 10: 5.2 Backtracking und Branch & Bound
- Seite 11 und 12: Bemerkung 5.2.2 (Aufzählungsbäume
- Seite 13 und 14: Mit dieser Variante des Aufzählung
- Seite 15 und 16: Als Beispiel betrachten wir den Fal
- Seite 17 und 18: Graphfärben Eine klassische Instan
- Seite 19 und 20: Tatsächlich können wir keinen der
- Seite 21 und 22: In der j-ten Klausel wählen wir ei
- Seite 23 und 24: Das Rucksackproblem Gegeben sind n
- Seite 25 und 26: Gewinn 1,1, 2 2 3 = 30+50+ 3 · 6
- Seite 27 und 28: übergeben werden. Dies entspricht
- Seite 29 und 30: Bemerkung 5.2.7 (Effiziente Berechn
- Seite 31 und 32: nicht nur deren Wert) berechnen, da
- Seite 33 und 34: Algorithmus 51 Branch & Bound Algor
- Seite 35 und 36: jenigen der beiden Söhne mit der b
- Seite 37 und 38: Algorithmus 54 Schema der Least Cos
- Seite 39 und 40: Zielkonfiguration überein, so setz
- Seite 41 und 42: 2 4 5 7 sign(x) = 1 10 12 13 15 Wir
- Seite 43: Diese formale Sicht eines Spiels al
- Seite 47 und 48: 5.3.1 Das Minimax-Verfahren Mit der
- Seite 49 und 50: Algorithmus 55 Minimax(v,ℓ) IF v
- Seite 51 und 52: Algorithmus 56 α-β-Pruning MaxVal
- Seite 53 und 54: stattfinden. Durch den Einsatz geei
- Seite 55 und 56: 5.4.1 Huffman-Codes Bei der Nachric
- Seite 57 und 58: Definition 5.4.2 (Präfixcode). Sei
- Seite 59 und 60: Algorithmus 58 Algorithmus zur Erst
- Seite 61 und 62: da v ein Knoten maximaler Tiefe ist
- Seite 63 und 64: 5.4.2 Matroide Bevor wir weitere Be
- Seite 65 und 66: Da die Elemente x1,...,xn nach ihre
- Seite 67 und 68: • w(L) = max{w(A) : A istU-maxima
- Seite 69 und 70: Zunächst bilden wir die Problemste
- Seite 71 und 72: gibt es eine Reihe von Problemen, d
- Seite 73 und 74: des Automaten kann vorgenommen werd
- Seite 75 und 76: Auf den ersten Blick könnte man me
- Seite 77 und 78: 5.5.2 Das Wortproblem für kontextf
- Seite 79 und 80: Die so generierte GrammatikG ′ is
- Seite 81 und 82: Es ist offensichtlich, daß die Lau
- Seite 83 und 84: Tatsächlich werden nur n(n+1)/2 Te
- Seite 85 und 86: Tatsächlich ist also der nicht-AVL
- Seite 87 und 88: optimaler Suchbaum für x1,...,x k
- Seite 89 und 90: Beweis. Seien T(i,i + ℓ) die Kost
- Seite 91 und 92: Beispiele für mögliche Instanzen
- Seite 93 und 94: Löse Optimierungsvariante 2 mit ei
- Seite 95 und 96:
minimal ist unter allen Paaren ( j,
- Seite 97 und 98:
Diese Überlegungen führen zu dem
- Seite 99:
Aus der binomischen Formel (a+b) m