Einführung in die Methoden der Künstlichen Intelligenz - Goethe ...
Einführung in die Methoden der Künstlichen Intelligenz - Goethe ...
Einführung in die Methoden der Künstlichen Intelligenz - Goethe ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
2.4 Suche <strong>in</strong> Spielbäumen<br />
2.4.1 Alpha-Beta Suche<br />
Betrachtet man den Ablauf <strong>der</strong> M<strong>in</strong>Max-Suche bei Verwendung <strong>der</strong> (i.A. tiefenbeschränkten)<br />
Tiefensuche, so stellt man fest, dass man manche Teilbäume eigentlich nicht betrachten<br />
muss.<br />
Betrachte den folgenden Spielbaum<br />
Max<br />
A<br />
M<strong>in</strong><br />
B<br />
k<br />
E<br />
Max<br />
C<br />
D<br />
F G H<br />
k ′<br />
Dann ergibt sich <strong>der</strong> Wert für <strong>die</strong> Wurzel aus<br />
M<strong>in</strong>Max(A, Max)<br />
= max{M<strong>in</strong>Max(B, M<strong>in</strong>), M<strong>in</strong>Max(E, M<strong>in</strong>)}<br />
= max{m<strong>in</strong>{M<strong>in</strong>Max(C, Max), M<strong>in</strong>Max(D, Max)},<br />
m<strong>in</strong>{M<strong>in</strong>Max(F, Max), M<strong>in</strong>Max(G, Max), M<strong>in</strong>Max(H, Max)}}<br />
Nehmen wir an, <strong>die</strong> Tiefensuche, hat bereits <strong>die</strong> Werte für <strong>die</strong> Knoten B und F als k<br />
und k ′ berechnet (<strong>die</strong> Schattierungen <strong>der</strong> Knoten sollen <strong>die</strong>s gerade verdeutlichen: ganz<br />
dunkle Knoten s<strong>in</strong>d fertig bearbeitet durch <strong>die</strong> Tiefensuche, hellgraue Knoten noch <strong>in</strong><br />
Bearbeitung, und weiße Knoten noch unbesucht).<br />
Dann ergibt sich:<br />
M<strong>in</strong>Max(A, Max) = max{k, m<strong>in</strong>{k ′ , M<strong>in</strong>Max(G, Max), M<strong>in</strong>Max(H, Max)}}<br />
Wenn k ′ ≤ k, dann „weiß“ <strong>der</strong> M<strong>in</strong>imierer, dass <strong>die</strong> komplette Berechnung von<br />
m<strong>in</strong>{k ′ , M<strong>in</strong>Max(G, Max), M<strong>in</strong>Max(H, Max)} (also dem Wert des Knotens E), dem Maximierer<br />
bei <strong>der</strong> Berechnung des Wertes für A irrelevant se<strong>in</strong> wird, da <strong>der</strong> Maximierer<br />
von E sicher e<strong>in</strong>en Wert kle<strong>in</strong>er gleich k ′ (und kle<strong>in</strong>er gleich k) geliefert bekommt, und<br />
daher <strong>der</strong> Wert k für <strong>die</strong> Knoten B und E <strong>der</strong> bessere (maximale) Wert ist.<br />
Aus <strong>die</strong>sem Grund ist es nicht mehr nötig, <strong>die</strong> Werte von G und H zu berechnen. D.h.<br />
<strong>die</strong>se Äste (G und H können größe Unterbäume besitzen!) braucht nicht betrachtet zu<br />
werden.<br />
Um es nochmals zu verdeutlichen, betrachte den gleichen Baum mit konkreten Werten:<br />
M. Schmidt-Schauß & D. Sabel, Skript KI, WS 2012/13 59 Stand: 19. Oktober 2012