17.09.2013 Aufrufe

5 Entwurfsmethoden für Algorithmen

5 Entwurfsmethoden für Algorithmen

5 Entwurfsmethoden für Algorithmen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

D.h. der Spielzug v → w führt zu einer Bewertung, die höchstens so gut wie die der bereits<br />

gefundenen besten Zugmöglichkeit ist. Der Knoten w und dessen Teilbaum kann daher vernachlässigt<br />

werden. Eine entsprechende Argumentation rechtfertigt den β-Cut.<br />

Folgende Folie zeigt ein Beispiel <strong>für</strong> das Cutting. Wir nehmen an, dass die Söhne der Wurzel<br />

in der Reihenfolge “von links nach rechts” generiert werden. Nach der Analyse des linken<br />

Teilbaums ist der α-Wert der Wurzel gleich 2. Wird nun der erste (linkeste) Sohn des mittleren<br />

Teilbaums der Wurzel generiert und liefert die Payoff-Funktion die Bewertung −1, so erhält der<br />

mittlere Sohn der Wurzel den β-Wert −1. Da dieser schlechter ist als der α-Wert der Wurzel<br />

wird die Analyse des mittleren Teilbaums abgebrochen. Analoges gilt <strong>für</strong> den rechten Teilbaum,<br />

<strong>für</strong> den wir annehmen, dass zuerst der mittlere (mit 1 bewertete) Sohn erzeugt wird.<br />

Der folgende Satz zeigt die Korrektheit des α-β-Prunings, das wir durch zwei sich gegenseitig<br />

aufrufende <strong>Algorithmen</strong> MaxValue(v,ℓ,β) und MinValue(w,ℓ,α) formuliert haben. Siehe<br />

Algorithmus 56 auf Seite 208. Im Aufruf MaxValue(v,ℓ,β) steht der Wert β <strong>für</strong> den aktuellen<br />

β-Wert β(w,ℓ+1) des “Vaters” von w. Entsprechende Bedeutung hat der Wert α bei Aufruf von<br />

MinValue(w,ℓ,α).<br />

In dem Algorithmus nicht eingebaut ist der Fall, dass eine Gewinnstrategie gefunden wurde.<br />

Ist z.B. in MaxValue(v,ℓ,β) der aktuelle Wert <strong>für</strong> α gleich ∞, so wurde ein Gewinn bringender<br />

Spielzug gefunden und die Betrachtung weiterer Folgekonfigurationen von v ist überflüssig.<br />

Satz 5.3.1 (Korrektheit von Algorithmus 56). Die Bewertung c(v0,d) eines Maxknotens v0<br />

bzgl. der Suchtiefe d wird durch den Funktionsaufruf MaxValue(v0,d,+∞) berechnet.<br />

Beweis. Der Beweis von Satz 5.3.1 beruht auf folgenden beiden allgemeineren Aussagen:<br />

(i) Ist v eine Endkonfiguration oder ℓ = 0, so gilt <strong>für</strong> alle α und β:<br />

MaxValue(v,ℓ,β) = MinValue(v,ℓ,α) = Payoff(v).<br />

207

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!