Wie funktioniert ein Schachprogramm?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Am einfachsten lässt sich die Stärke einer Schach-KI beeinflussen indem man die Rechentiefe in Zügen reduziert/erhöht. Das ist meist auch am Effektivsten.

Ein Engine sucht nach dem schnellsten Zug bis zum Matt und kann viel tiefer rechnen. Allerdings machen nicht so starke Schachcomputer durch eine nicht so hohe Rechentiefe Fehler, die auch manchmal beabsichtigt sind

Woher ich das weiß:Hobby – Spiele schon lange Schach-1760 DWZ 1857ELO

Es ist - in der Regel - nicht so programmiert, dass es Fehler macht.

Aus der "Sicht" des Programmes wählt es immer den bestmöglichen Zug aus. Zum einen ist diese Entscheidung nicht trivial. Zum andern kann man - damit nicht nur Großmeister Freude am Spiel gegen "die Maschine" haben - meist die Parameter ändern, die das Programm zur Bewertung der Züge heranzieht. Am einfachsten wird dabei die Anzahl der Halbzüge reduziert, die das Programm "vorausschaut".

Ein Schachprogramm bewertet jede Stellung nach vorgegebenen Kriterien.

https://de.wikipedia.org/wiki/Schachprogramm#Bewertungsfunktionen

Die Bewertungsfunktion wird zwar immer besser (deshalb können inzwischen auch die besten SChachprogramme jeden menschlichen Gegner schlagen), aber sie unterscheiden sich voneinander und können eben bei unterschiedlichen Stellungen voneinander abweichen. Dies kann zu unterschiedlichen Zügen und damit unterschiedlichen Folgen führen.

Weiterhin spielt auch der Zufall eine gewisse Rolle. Bei gleich bewerteten Zugfolgen wird ein Programm zufällig eine davon auswählen und damit im späteren Verlauf der Partie eventuell einen Unterschied erzeugen.

Die meisten Schachcomputer können einen Normalspieler schlagen.

Ich hatte einen Mephisto vor 30 Jahren.

Ausnahmen sind Weltklasse Spieler.

Ziel eines Schachprogramm bzw Computer ist aber Training.

Dazu darf der Spieler nicht gnadenlos nieder gemetzelt werden.

Daher sind verschiedene Schwierigkeitsstufen einprogrammiert.

Man sagt, ein guter Spieler kann verschiedene Ebenen vorausberechnen, ich kam so auf 4 oder 5.

Die Ebenen werden dann beim Programm halt beschränkt