|
|
Schachgegner Python |
|---|
|
Als ich noch zur Schule ging und ich anfing, mich für
kybernetische Maschinen zu begeistern, dämpfte einer meiner Lehrer
meinen Optimismus mit den Worten, dass es Unsinn sei, von einer
Maschine eine halbwegs intelligente Leistung zu erwarten. Das
wäre schon daran zu erkennen, dass es nie eine Maschine geben
würde, die brauchbar schachspielen könne. Denn Schach sei der
König der Spiele und würde eine Maschine generell
überfordern. Damals gab es tatsächlich noch kein solches
"Gerät". Nein - weit gefehlt. Es gibt sogar schon Schachprogramme, die zumindestens für den Hausspieler ernsthafte Gegner sein können und die auf einem PC laufen und die auch noch in Python programmiert sind. Das hat nicht nur den Vorteil zu beweisen, was Python für eine schöne und leistungsfähige Sprache ist, sondern es läßt uns auch ein wenig verstehen, wie ein solches Schachprogramm funktioniert. Dass es nämlich nicht alle Züge im Speicher hat, sondern ausführbare Züge generiert und die dann möglicherweise entstehende Stellung bewertet. Und in dieser Bewertungsfunktion liegt die eigentliche Intelligenz. Sie gestattet nämlich dem Programm zu beurteilen, ob das Hergeben der Dame gegen ein Pferd so lohnenswert ist, dass danach eine bessere Stellung entsteht als zuvor, um daraus ein Matt herbeizuführen. Die Oberfläche des Programms auf Basis von Tkinter sieht so aus:
|