Ein

Schachprogramm

ist ein Computerprogramm .html"> (Schach).

Geschichte

John von Neumann .html"> (Spieltheorie) als Zwei-Personen-Nullsummenspiel | (Nullsummenspiel) mit vollständiger Information. Diese Klasse von Problemen (dazu gehört auch Tic tac toe .html"> (Minmax-Algorithmus) gelöst werden. Schach ist jedoch zu komplex, um den Suchbaum vollständig abarbeiten zu können. Schachprogramme sind deshalb auf Näherungsverfahren angewiesen. Ein sehr frühes Schachprogramm wurde 1950 .html"> (Claude Shannon) entwickelt. Dieses Programm wurde mangels leistungsfähiger Computer händisch simuliert. Vorher hatte jedoch bereits Konrad Zuse .html"> (Plankalkül) erstellt.

Aufbau

= Zuggenerator

= Der Zuggenerator erzeugt, ausgehend von einem bestimmten Spielstand, eine Liste aller möglichen Züge.

= Bewertungsfunktion

= Die Bewertungsfunktion liefert aufgrund von Heuristik | (Heuristik)en eine ungefähre Bewertung der aktuellen Stellung zurück.

= Zugauswahl

= Die Zugauswahl funktioniert im Wesentlichen nach dem Minmax-Algorithmus | (Minmax-Algorithmus).

Besonderheiten

''Eröffnungsbibliothek'': Schach wird im Wettkampf auf Zeit gespielt, das heißt, für eine Anzahl von Zügen steht nur eine definierte Zeit zur Verfügung. Viele Schachprogramme sind daher mit einer Eröffnungsbibliothek ausgestattet, in der sehr viele "gute" Zugreihenfolgen in der Eröffnungsphase von Schachspielen abgespeichert sind. In der Anfangsphase des Schachspiels sieht das Programm in dieser Bibliothek nach, welcher Zug in einer bestimmten Brettstellung der geeignetste ist. Dieses "Nachsehen" geht schneller, als den Zug auszurechnen. Die so gesparte Rechenzeit steht dem Programm dann in späteren Phasen des Spiels zur Verfügung. Das Verfahren, Brettstellungen einschließlich der "guten" Züge abzuspeichern, ist nur für Eröffnung und Endspiel sinnvoll, da hier die Anzahl der Brettstellungen begrenzt ist. ''Endspiel-Datenbank'': Im Endspiel, wenn nur mehr wenige Figuren auf dem Brett sind, kann man den optimalen Zug im Vorhinein durch vollständige Analyse berechnen. Es gibt nicht wenige Endspielstellungen, in denen das menschliche Denken, aber auch die Computeranalyse in Echtzeit völlig überfordert wären. Viele Schachprogramme verwenden deshalb Endspiel-Datenbank | (Endspiel-Datenbank)en, die alle möglichen Stellungen mit 3, 4 oder 5 Figuren sowie deren Ausgang (bei optimalem Spiel enthalten.

Freie Schachprogramme:

  • http://www.gnu.org/software/chess/ - Gnu Chess
  • http://www.limunltd.com/crafty/ - Crafty

    Siehe auch

    Schachcomputer | (Schachcomputer) ChessBase | (ChessBase)

    Literatur

  • Bartel, Rainer; Kraas, Hans-Joachim; Schrüfer, Günther: ''Das große Computerschachbuch'', Data Becker, 1985, ISBN 3890111173; gute Einführung in die Programmierung von Computerschach mit Beispielen in Basic | (Basic).
  • Shannon, Claude | (Claude Shannon|Shannon, Claude): ''Programming A Computer for Playing Chess'', Philosophical Magazine 1950/41, S. 256-257
  • Shannon, Claude | (Claude Shannon|Shannon, Claude): ''Programming A Computer To Play Chess'', Scientific American 2/1950, S. 48-51

    Home | Verzeichnis | | Mail

    Google-Suche | MSN-Suche

    History:
    Copyright (c), 2004


    Permission is granted to copy, distribute and/or modify this document
    under the terms of the GNU Free Documentation License, Version 1.2
    or any later version published by the Free Software Foundation.
    A copy of the license is included in the section entitled

    "GNU Free Documentation License".

  • Content-type: text/html random number is 7