Sie stellen eine ziemlich komplexe Frage, aber es ist gut, auf die Grundlagen zurückzukommen. Es sind einige Konzepte zu berücksichtigen:
Auswertung
Wenn einem (echten) Spieler eine Position angezeigt wird und er gefragt wird, wer dieses Spiel gewinnt, wie entscheidet er dann? Höchstwahrscheinlich werden sie ein paar grundlegende Dinge prüfen, wie zum Beispiel: Materialunterschiede, der Grad, in dem Teile entwickelt wurden oder "gut" positioniert sind, doppelte / isolierte / verbundene / übergebene Bauern, (kontrollierte) offene Dateien, wie weit oben Das Brett, auf dem die Bauern stehen.
Wenn Sie müssten, könnten Sie nun einen systematischen Weg finden, um eine Positionsbewertung auf der Grundlage der obigen Angaben zu berechnen. Sie können beispielsweise festlegen, dass ein Bauer 1 Punkt wert ist und dass ein überholter Bauer 0,3 Punkte mehr wert ist. Einzelne oder doppelte Bauern sind möglicherweise etwas weniger wert. Wenn Sie alles zusammenzählen, erhalten Sie einen Schätzwert für die unmittelbare Position.
Dies wird als Auswertung bezeichnet , und im Grunde haben alle Schachprogramme eine Möglichkeit, Positionen zu bewerten (wobei neuartige KI-Schachengines ignoriert werden, die normalerweise sehr schwach sind).
Aber was ist mit subtilen, tiefen Positionsbewegungen?
Nun, wir haben die Oberfläche der Positionsbewertung kaum zerkratzt. Die tatsächliche Implementierung einer Bewertungsfunktion könnte vereinfachend sein, um zu ermöglichen, dass mehr Positionen pro Sekunde (wenn auch grob) oder komplexer bewertet werden, was zu weniger bewerteten Positionen führt, aber mit einem höheren Maß an Vertrauen. Es ist nicht ungewöhnlich, dass die Bewertungsfunktion Hunderte oder sogar Tausende separater Informationen berücksichtigt.
Suche
Ich habe speziell etwas von dem oben Genannten ausgelassen, woran die meisten echten Spieler sofort denken werden - gibt es eine Möglichkeit, das Spiel für beide Seiten sofort zu gewinnen? Irgendwelche Kumpels oder "hängende" Teile sichtbar? Obwohl es einfach ist, dies zu trivialisieren, ist es alles andere als trivial.
Was bedeutet es für einen Spieler, volles Vertrauen in eine Kombination zu haben? Am Ende läuft es darauf hinaus, alle Optionen berechnet zu haben. Echte Spieler werden dies normalerweise nicht tun (mit Ausnahme von trivialen oder sehr erzwungenen Spielern). Meistens werden wir nur eine Handvoll Optionen in Betracht ziehen und andere ausschließen, die "nicht konstruktiv" zu sein scheinen oder offensichtlich zu einem Verlust führen . Wir machen bei dieser Berechnung häufig Fehler, z. B. stellen wir möglicherweise fest, dass durch eine Änderung der Zugreihenfolge die Bedrohungen verflogen sind usw. Um sich einer Kombination völlig sicher zu sein, müssen Sie unter der Annahme jeder einzelnen tatsächlich bis zu ihrem Abschluss rechnen Der Spieler stellt nur den bestmöglichen Zug zur Verfügung (dies wird als "min / max" bezeichnet).
Angesichts der Tatsache, dass Schach über einen viel größeren Suchraum verfügt (hier wird von "allen möglichen Zügen in der Zukunft" gesprochen), als dies mit einem Computer möglich ist, müssen Kompromisse eingegangen werden. Genauso wie der Mensch kann der Computer aufgrund bestimmter Kriterien entscheiden, ganze Gedankengänge außer Acht zu lassen. Dies ist als Heuristik bekannt . Es ist erwähnenswert, dass Sie sich einer Kombination nur dann wirklich sicher sein können, wenn Sie sie brutal einsetzen. Eine komplexe Auswertungsfunktion kann jedoch häufig das Vorhandensein von Bedrohungen erkennen (z. B. könnten wir Gabeln, Spießgelegenheiten usw. zählen, um eine Suche in diese Richtung zu leiten ).
Obwohl Computer extrem schnell sind, sind es letztendlich die Heuristiken, die es ihnen ermöglichen, so tief zu rechnen. Sie werden jedoch überrascht sein, wie tief die modernen Motoren vollständig kalkulieren. In der Regel sind es sogar in schnellen Spielen mehr als drei Züge.
Fazit / alles verbinden
Zusammenfassend lässt sich sagen, dass in Bewertungsfunktionen eine Menge Intelligenz eingebaut ist (dh sie berücksichtigen mehr Dinge als ein durchschnittlicher menschlicher Spieler). Heuristiken ermöglichen es dem Computer, Gedankenlinien zu bereinigen, von denen er entscheidet, dass sie wahrscheinlich nicht gut enden werden. und Computer sind extrem, extrem schnell. Addiere sie und sie sind ziemlich schwer zu schlagen.