Edit : Es scheint, dass meine Frage nicht klar genug war. Lassen Sie mich umformulieren: Was ist das größte N, für das wir wissentlich sagen können: "Schach ist von der Startposition aus kein erzwungener Partner in N Zügen"?
Schach ist nicht gelöst, dh es ist nicht bekannt, wie das Ergebnis aus der Ausgangsposition perfekt gespielt wird.
Wenn jedoch die Startposition für einen der beiden Spieler gewonnen wird, ist dies für einige N ein Partner in N. Wenn wir jedoch sicher sind, dass die Startposition in 5 Zügen nicht gewonnen werden kann (für einen der beiden Spieler), ist 5 a untere Schranke für N.
Inwiefern ist es in der Praxis möglich, von der Ausgangsposition aus erschöpfend zu suchen? Wie hoch ist eine Untergrenze für N?
analysis
software
theory
chess-algorithms
Sami Liedes
quelle
quelle
Antworten:
Dies ist im Wesentlichen die Frage, was ist das Spiel Komplexität des Schachs. Beachten Sie, dass durch die Endlichkeit, wir das Schach wissen wird bestimmt, aber wir wissen nicht, ob die Startposition ein Gewinn für weiß ist, ein Gewinn für schwarz, oder ein Unentschieden. Die Komplexität des Schachspiels entspricht in etwa der Mindestanzahl von Positionen, die wir im Spielbaum überprüfen müssen, um den Status der Ausgangsposition zu bestimmen. Dies ist als Shannon-Nummer bekannt . In der einflussreichen Veröffentlichung Programming a Computer for Playing Chess schätzte Shannon, dass die Shannon-Zahl mindestens 10 ^ {120) beträgt. Beachten Sie, dass die Anzahl der Teilchen im Universum auf 10 ^ (80) geschätzt wird. Um die Frage zu beantworten, wollen wir eigentlich die Höhe wissendes Spielbaums, wenn die Anfangsposition bestimmt wird. Wir sollten diese Höhe auch durch 2 teilen, da ein Zug im Schach normalerweise als weißer und schwarzer Zug angesehen wird. Der Verzweigungsfaktor des Baums wird auf etwa 30 geschätzt. Wir können also das größte N so nehmen, dass 30 ^ (2N) <10 ^ (120).
Antworten. Auf der Rückseite des Umschlags ist N = 40. Zufälligerweise ist dies die Länge eines durchschnittlichen Spiels zwischen Großmeistern (obwohl sie oft zurücktreten und das Spiel nicht wirklich zu Ende spielen).
Bearbeiten. Die Moral der Geschichte ist, dass ich versucht habe, eine Obergrenze für Ihre Untergrenze abzuschätzen. Der erste Teil von Shannons Argumentation ist nicht kreisförmig; er sagt, dass es ungefähr 30 legale Züge von jeder Position gibt, und diese Zahl ist für den ersten Teil eines Spiels einigermaßen konstant.
Somit können wir den derzeit bekannten Wert von N (das ist wirklich das, wonach Sie fragen, nennen wir dies N ') auf höchstens log_30 (C) schätzen, wobei C gleich der Menge an Rechenleistung ist, die in der Historie existiert hat der Menschheit. Selbst mit konservativen Schätzungen für C erhalten wir höchstens N '20. In der Praxis glaube ich, dass niemand diese Berechnung sehr weit oben im Baum durchgeführt hat, da wir a priori wissen, dass die Berechnung nach sehr kurzer Zeit nicht mehr durchführbar ist kurze Höhe und es ist nicht notwendig, den Baum gründlich zu durchsuchen, um gute Schachprogramme zu schreiben.
Beachten Sie jedoch, dass Sie eine etwas schwächere Frage stellen, da es möglich ist, dass der Ausgangszustand des Spiels ein Unentschieden mit optimalem Spiel ist. Man könnte also Grenzen für N setzen, indem man ein Programm schreibt, dessen Ziel es ist, nicht so lange wie möglich zu verlieren. Wir könnten dieses Programm dann gegen die besten Programme oder menschlichen Spieler der Welt spielen und sehen, wie lang ein kürzestes Spiel ist. Auch dies beantwortet die Frage nicht richtig, da wir nicht davon ausgehen können, dass unsere Gegner optimal spielen . Um wirklich optimal zu spielen, muss man den Spielbaum genau kennen, aber wir haben gesehen, dass dies rechnerisch nicht machbar ist. Das Beste, was wir derzeit tun können, ist ungefähr ein optimal spielender Gegner mit einem Kasparov oder einem sehr guten Schachprogramm.
quelle
Es ist nicht wahr, dass die Startposition nach der kanonischen Definition eines vollen Zuges im Schach nicht in 5 Zügen oder weniger gewonnen werden kann. Es kann in 2 Zügen über Fool's Mate gemacht werden .
Um Ihre Frage zu beantworten, hängt die Stärke einer Schachengine von der Software und der Hardware ab. Im Jahr 1997 war Deep Blue ein Beweis für das Hardwarekonzept, ein massiv paralleler Supercomputer, der 200 Millionen Bewegungen pro Sekunde mit einer durchschnittlichen Tiefe von 7-8 Bewegungen auswerten kann. Im Jahr 2006 erzielte Deep Fritz, der auf einem Dual-Core-Personalcomputer ausgeführt wurde, vergleichbare Ergebnisse, wobei nur 8 Millionen Züge pro Sekunde ausgewertet wurden.
Heute ist Blue Gene der stärkste Supercomputer, der auf Schach angewendet wurde . Mit 131.000 Prozessoren kann Blue Gene 280 Billionen Operationen pro Sekunde berechnen . Obwohl es keine Daten gibt, die bestätigen, bis zu welcher Tiefe Blue Gene rechnen kann, würde ich annehmen, dass es ziemlich tief ist. Dies hängt natürlich davon ab, wie lange der Computer läuft.
In diesem Fall können wir den Begriff "erschöpfend" jedoch nicht beim "Lösen" und Öffnen verwenden. Eine Schachengine muss nicht ans Ende der Reihe gehen, wenn sicher ist, dass das Endergebnis entscheidend ist. In diesem Fall würde das Programm beendet, wenn klar würde, dass die Bewertung eindeutig für eine Seite spricht. Dies ist in der theoretischen Informatik als Alpha-Beta-Bereinigung bekannt .
Wenn ich eine grobe Schätzung vornehmen müsste, würde ich sagen, dass Blue Gene in der Lage wäre, zwischen 15 und 20 Bewegungen pro Sekunde zu berechnen. Obwohl die Hard- und Software sehr beeindruckend ist, müssen wir uns daran erinnern, dass die Komplexität des Schachs exponentiell ansteigt. Jüngsten Schätzungen zufolge beträgt die Komplexität des Schachspielbaums mindestens 10 ^ 123 und die Anzahl der möglichen Positionen 10 ^ 46,7.
quelle
Unter der Annahme, dass es eine gewinnbringende Fortsetzung von einer bestimmten Position gibt und dass ein perfektes Spiel vorausgesetzt wird, impliziert dies, dass
N
es fest und nicht begrenzt ist (ansonsten ist es kein perfektes Spiel!).In diesem Fall muss man wirklich rückwärts arbeiten - was von Endgame Tablebase erledigt wird
Die Tabellen aller Endspiele mit bis zu sechs Teilen stehen zum kostenlosen Download zur Verfügung und können auch über Web-Interfaces abgefragt werden (siehe die externen Links unten). Die Nalimov-Tabellenbasis benötigt mehr als ein Terabyte Speicherplatz
quelle
N
ist behoben, mit perfektem Spiel.Sie können hier nach einer Diskussion suchen . Natürlich solltest du nicht die 50 Move Regel verwenden, aber laut diesem Forum wird der Rekord bisher von dieser Position gehalten (schwarz zum Bewegen):
517 bewegt sich zu einer Gewinnposition und 525 zu einem Paar (bestes Spiel beider Seiten). Siehe hier , Eintrag 316. Dies ist also eine Gewinnposition mit keinem Gewinn in weniger als 525 Zügen.
Lassen Sie mich auch Bourzutschkys Kommentare wiedergeben: "Es kann noch tiefere 7-Mann-Enden geben, aber ich bezweifle es. Dass eine so große Tiefe mit so viel Feuerkraft auf dem Brett noch möglich ist, legt nahe, dass mit 8 Stücken vielleicht noch tiefere Enden entstehen krnnkbbn. Diese Endung könnte mit 64 GB RAM in wenigen Monaten auf einem schnellen Einzel-CPU-Rechner und etwa 5 Terabyte Speicher generiert werden.
quelle
Edit: Sorry, sieht so aus, als hätte ich die Frage falsch verstanden. Ich vermute, dass sich jedes vernünftige N weit außerhalb des Horizonts eines Computers befindet. Wenn wir einen sehr leistungsfähigen Computer einrichten, um die Startposition zu berechnen, die wahrscheinlich das einzige sichere X ist, das wir zeigen können, nehmen wir an, es könnten 10 Millionen Knoten pro Sekunde nach 10 Tagen berechnet werden. 10 * 86400 * 10 ^ 8 Knoten = 8,64 * 10 ^ 13 Knoten. Wenn wir annehmen, dass die durchschnittliche Position in den ersten 20 Zügen ungefähr 15 legale Züge hat (niedriger, weil der Anfang viel weniger und wahrscheinlich sogar etwas niedriger ist, weil Alpha-Beta beschnitten wurde), ist dies nach 10 Tagen nur ungefähr 12 Züge (Position erst nach 6 Zügen) ) Sie sehen also, warum dieses Problem hässlich ist. Ich denke jedoch, dass praktisches Spielen wahrscheinlich einen viel, viel, viel höheren Wert suggeriert. ICH'
Ignorieren wir, dass Schach höchstwahrscheinlich ein Unentschieden ist. Wir müssen die Regeln berücksichtigen, nach denen Schach in der Praxis gespielt wird. In fast jeder Turniersituation gibt es eine 50-Züge-Regel, die besagt, dass das Spiel unentschieden ist, wenn "die letzten 50 aufeinander folgenden Züge von jedem Spieler ohne die Bewegung eines Bauern und ohne die Eroberung einer Figur ausgeführt wurden".
Das bedeutet, dass wir 49,5 Züge pro Capture- oder Bauernzug haben können. Jeder Bauer kann sich bis zu 6 Mal bewegen und es gibt 15 Steine, die für jede Seite gefangen werden können (obwohl ein Stück übrig bleiben muss, um Schachmatt zu setzen), so dass wir eine Obergrenze für die Anzahl der Züge setzen können.
Dies ergibt 49,5 * (8 * 2 * 6 (Bauernzüge) + 29) = 6187,5. Dies bedeutet, dass WENN Schach ein erzwungener Gewinn für Weiß ist, wenn die 50-Züge-Regel eingehalten wird, sind es höchstens 6188 Züge für Weiß . Ich könnte das wahrscheinlich ein wenig senken, ohne zu viel zu tun, indem ich sage, dass alle K + -Stückkameraden gegen K-Kameraden, die gezwungen werden (nur Turm bei Königin), in wesentlich weniger als 50 Zügen durchführbar sind (ich denke an 16, die mit Nalimov herumspielen) einige "harte" Fälle, daher denke ich, dass wir für 6134 wahrscheinlich 34 Züge von dieser Summe abziehen können!
Deshalb: Wenn Schach ein erzwungener Gewinn für Weiß ist, wenn die 50-Züge-Regel eingehalten wird, sind es höchstens 6134 Züge.
quelle