Ich war kürzlich in einer Diskussion mit einer Nicht-Codierer-Person über die Möglichkeiten von Schachcomputern. Ich bin theoretisch nicht gut versiert, aber ich glaube, ich weiß genug.
Ich argumentierte, dass es keine deterministische Turing-Maschine geben könne, die beim Schach immer gewann oder ins Stocken geriet. Ich denke, selbst wenn Sie den gesamten Raum aller Kombinationen von Spieler-1/2-Zügen durchsuchen, basiert der einzelne Zug, über den der Computer bei jedem Schritt entscheidet, auf einer Heuristik. Da es auf einer Heuristik basiert, schlägt es nicht unbedingt ALLE Züge, die der Gegner ausführen könnte.
Mein Freund dachte im Gegenteil, dass ein Computer immer gewinnen oder unentschieden spielen würde, wenn er niemals einen "Fehler" machen würde (aber definieren Sie das?). Als Programmierer, der CS genommen hat, weiß ich jedoch, dass selbst Ihre guten Entscheidungen - angesichts eines weisen Gegners - Sie am Ende dazu zwingen können, "Fehler" zu machen. Selbst wenn Sie alles wissen, ist Ihr nächster Schritt gierig darin, eine Heuristik zu finden.
Die meisten Schachcomputer versuchen, ein mögliches Endspiel an das laufende Spiel anzupassen, was im Wesentlichen ein dynamischer Programmier-Traceback ist. Auch hier ist das fragliche Endspiel vermeidbar.
Edit: Hmm ... sieht so aus, als hätte ich hier ein paar Federn gekräuselt. Das ist gut.
Wenn man noch einmal darüber nachdenkt, scheint es kein theoretisches Problem zu geben, ein endliches Spiel wie Schach zu lösen. Ich würde argumentieren, dass Schach etwas komplizierter ist als Dame, da ein Sieg nicht unbedingt durch numerische Erschöpfung der Figuren, sondern durch einen Partner erfolgt. Meine ursprüngliche Behauptung ist wahrscheinlich falsch, aber andererseits denke ich, dass ich auf etwas hingewiesen habe, das (formal) noch nicht zufriedenstellend bewiesen ist.
Ich denke, mein Gedankenexperiment war, dass der Algorithmus (oder die gespeicherten Pfade) immer dann, wenn ein Zweig im Baum genommen wird, einen Pfad zu einem Partner finden muss (ohne sich zu paaren), damit sich ein möglicher Zweig des Gegners bewegt. Nach der Diskussion werde ich kaufen, dass bei mehr Gedächtnis, als wir uns nur erträumen können, all diese Wege gefunden werden könnten.