Schach-Computer Algorithmen und Architekturen - Weblearn ...
Schach-Computer Algorithmen und Architekturen - Weblearn ...
Schach-Computer Algorithmen und Architekturen - Weblearn ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
nicht. Die Werte werden am Anfang mit –unendlich für Alpha <strong>und</strong> unendlich für Beta<br />
initialisiert. Für unendlich wird natürlich MAX-Integer bzw. MIN-Integer verwendet.<br />
Die Werte werden sozusagen an die Kindknoten vererbt. Die Werte werden<br />
horizontal im Spielbaum angepasst, allerdings gilt das nur für nebenliegende Knoten,<br />
die den gleichen Elternknoten haben. In einer Minimierstufe wird der Alpha-Wert des<br />
nebenliegenden Knotens eventuell nach oben angepasst, wenn der berechnete Wert<br />
(von den Kindknoten oder den Blattknoten) größer als der aktuelle Alpha-Wert ist. In<br />
einer Maximierstufe wird der Beta-Wert des nebenliegenden Knotens nach unten<br />
angepasst, wenn der berechnete Wert kleiner als der aktuelle Beta-Wert ist. In<br />
Abbildung 5 sind zu jeden Knoten drei Werte angegeben. Links der Alpha-Wert, in<br />
der Mitte der Knotenwert <strong>und</strong> rechts der Beta-Wert.<br />
Abbildung 5: Implementierung der Alpha-Beta-Suche [3]<br />
Der Erfolg dieser Optimierung hängt stark davon ab, in welcher Reihenfolge die Züge<br />
berechnet werden. Werden zuerst „schwächere“ Züge berechnet <strong>und</strong> am Ende der<br />
„beste“ Zug, können keine oder nur wenige Äste abgeschnitten werden. Deshalb<br />
werden die Züge in den <strong>Schach</strong>programmen durch ein schnelles Verfahren<br />
vorsortiert, was die offensichtlich unsinnigen Zugmöglichkeiten an das Ende der Liste<br />
setzt. Die Züge werden z.B. erst mit der Suchtiefe 2 berechnet. Die Ergebnisse<br />
werden dann benutzt um die Züge für die nächst höhere Suchtiefe vorzusortieren.<br />
Das Ganze wird auch als „Iterative Deepening“ oder Breitensuche bezeichnet. Der<br />
Vorteil ist, dass man bei zeitkritischen Spielen immer schon komplett berechnete<br />
Züge hat, die dann nach <strong>und</strong> nach tiefer analysiert werden. Das ist besser als nur ein<br />
paar tief analysierte Züge zu haben, während die restlichen Züge noch gar nicht<br />
bearbeitet wurden. Letztendlich entscheidet aber die tiefste Berechnung, welche<br />
Züge gut oder schlecht sind. Es kann also sein, dass ein Zug, der von der<br />
Vorsortierung als schlecht interpretiert wird, von der tiefer gehenden Suche, als sehr<br />
gut eingestuft wird. Dieser Zug ist dann in kleiner Instanz zwar von Nachteil, aber in<br />
der tieferen Berechnung erweist er sich als vorteilhaft. Das könnte beispielsweise ein<br />
Bauernopfer sein. Menschliche Spieler führen intuitiv eine Art Alpha-Beta-Suche<br />
durch. Sie verfolgen offensichtlich unsinnige Züge nicht weiter. Das müssen sie<br />
auch, denn selbst Großmeister können nur wenige Halbzüge - im Gegensatz zu<br />
schnellen <strong>Schach</strong>computern - in die Zukunft blicken.<br />
11