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.