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 ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
2.4 Suche <strong>in</strong> Spielbäumen<br />
2.4 Suche <strong>in</strong> Spielbäumen<br />
Ziel <strong>die</strong>ses Kapitels ist <strong>die</strong> Untersuchung von algorithmischen <strong>Methoden</strong> zum <strong>in</strong>telligenten<br />
Beherrschen von strategischen Zweipersonenspielen, wie z.B. Schach, Dame, Mühle, Go,<br />
Tictactoe, bei dem <strong>der</strong> Zufall ke<strong>in</strong>e Rolle spielt (siehe auch 2 Artikel aus (Wegener, 1996)).<br />
Spiele mit mehr als zwei Personen s<strong>in</strong>d auch <strong>in</strong>teressant, aber erfor<strong>der</strong>n an<strong>der</strong>e <strong>Methoden</strong><br />
und werden hier nicht behandelt.<br />
Zum Schachspiel existierten bereits vor Benutzung von Computern Schachtheorien,<br />
Untersuchungen zu Gew<strong>in</strong>nstrategien <strong>in</strong> bestimmten Spielsituationen (Eröffnungen, Endspiel,<br />
usw) und zum Bewerten von Spielsituationen. Mittlerweile gibt es zahlreiche Varianten<br />
von recht passabel spielenden Schachprogrammen, und auch e<strong>in</strong>ige sehr spielstarke<br />
Programme.<br />
Es gibt zwei verschiedene Ansätze, e<strong>in</strong> Programm zum Schachspielen zu konzipieren:<br />
1. Man baut auf den bekannten Schachtheorien und Begriffen auf, wie Verteidigung,<br />
Angriff, Bedrohung, Decken, Mittelfeld, ..., und versucht <strong>die</strong> menschliche Methode<br />
zu programmieren.<br />
2. Man versucht mit re<strong>in</strong>er Absuche aller Möglichkeiten unter Ausnutzung <strong>der</strong> Geschw<strong>in</strong>digkeit<br />
e<strong>in</strong>es Computers, e<strong>in</strong>en guten nächsten Zug zu f<strong>in</strong>den.<br />
Betrachtet man heutige, erfolgreiche Schachprogramme, dann ist <strong>die</strong> wesentliche Methode<br />
das Absuchen <strong>der</strong> Varianten, wobei auf e<strong>in</strong>er (e<strong>in</strong>fachen) statischen Bewertung von<br />
Spielsituationen aufgebaut wird. Ergänzend dazu wird e<strong>in</strong>e Eröffnungsbibliothek verwendet<br />
und Endspielvarianten werden getrennt programmiert. Die Programmierung <strong>der</strong><br />
meisten Schachtheorien scheitert daran, dass sie nicht auf Computer übertragbar s<strong>in</strong>d, da<br />
<strong>die</strong> Begriffe unscharf def<strong>in</strong>iert s<strong>in</strong>d.<br />
Wir betrachten zunächst sogenannte Spielbäume, <strong>die</strong> e<strong>in</strong> Zweipersonenspiel repräsentieren:<br />
Def<strong>in</strong>ition 2.4.1 (Spielbaum). Es gibt zwei Spieler, <strong>die</strong> gegene<strong>in</strong>an<strong>der</strong> spielen. Diese werden aus<br />
bald ersichtlichen Gründen Maximierer und M<strong>in</strong>imierer genannt. Wir nehmen an, es gibt e<strong>in</strong>e<br />
Darstellung e<strong>in</strong>er Spielsituation (z.B. Schachbrett mit Aufstellung <strong>der</strong> Figuren), und <strong>die</strong> Angabe<br />
welcher <strong>der</strong> beiden Spieler am Zug ist. Der Spielbaum dazu ist wiefolgt def<strong>in</strong>iert:<br />
• Die Wurzel ist mit <strong>der</strong> aktuellen Spielsituation markiert.<br />
• Für jeden Knoten s<strong>in</strong>d dess K<strong>in</strong><strong>der</strong> genau <strong>die</strong> Spielsituationen <strong>die</strong> durch den nächsten Zug<br />
des aktuellen Spielers möglich s<strong>in</strong>d. Pro Ebene wechselt <strong>der</strong> Spieler<br />
• Blätter s<strong>in</strong>d Knoten, <strong>die</strong> ke<strong>in</strong>e Nachfolger mehr haben, d.h. Endsituation des Spiels<br />
• Blätter werden mit e<strong>in</strong>em Gew<strong>in</strong>nwert bewertet. Normalerweise ist <strong>die</strong> e<strong>in</strong>e ganze Zahl.<br />
Bei Schach z.B.: 1, wenn <strong>der</strong> Maximierer gewonnen hat, -1, wenn <strong>der</strong> M<strong>in</strong>imierer gewonnen<br />
hat, 0 bei Remis. Bei an<strong>der</strong>en Spielen kann <strong>die</strong>s auch e<strong>in</strong>e Punktzahl o.ä. se<strong>in</strong>.<br />
M. Schmidt-Schauß & D. Sabel, Skript KI, WS 2012/13 53 Stand: 19. Oktober 2012