Oto odpowiedź, którą pierwotnie napisałem na /cstheory/6563/what-is-the-computational-complexity-of-solving-chess/38102#38102 .
Idealny szachista zawsze wymusi wygraną, gdy może wymusić wygraną i wymusi remis, gdy wymusi remis. Oczywiście w dowolnym momencie, jeśli mogą wymusić zwycięstwo, mogą również zmusić remis. Również, gdy jeden gracz nie może wymusić wygranej, drugi gracz może wymusić remis. Szachy bez reguły 50 ruchów lub 3-krotnego powtórzenia mogą nie być tak trudne do rozwiązania, jak myślisz. Można wykazać, że dodanie zasady 3-krotnego powtórzenia nie ma znaczenia, czy gracz może wymusić wygraną czy remis. Liczba możliwych sposobów, w jakie może przejść gra po n ruchach, rośnie wykładniczo wraz z n. Z drugiej strony liczba stanów, które mogą wystąpić po n ruchach, nie rośnie wykładniczo, ponieważ nie może przekroczyć całkowitej liczby możliwych stanów, które mogą wystąpić w legalnej grze. Wedłughttps://en.wikipedia.org/wiki/Game_complexity , istnieje około 10 ^ 47 stanów, które mogą wystąpić w legalnej grze w szachy.
Szachy można rozwiązać w następujący sposób: weź zestaw stanów, które możemy udowodnić, zawiera wszystkie stany, które mogą wystąpić w legalnej grze w szachy bez reguły 3-krotnego powtórzenia lub reguły 50 ruchów. Dwa różne stany mogą mieć taki sam układ pionków szachowych i różnić się, czyja to kolej, czy masz prawo do schwytania en passant i czy dany król lub wieża ma prawo do ponownego zamku. Następnie weź wszystkie stany, w których minimalna liczba ruchów białych może zmusić wygraną do 1, która musi wystąpić w turze białych. Następnie weź wszystkie stany, w których minimalna liczba ruchów, w których biały może wygrać, wynosi 2, co oznacza, że jest tura czarnych i bez względu na to, jaki ruch mogą wykonać, biały może wymusić wygraną w 1 ruchu. Następnie weź wszystkie stany, w których minimalna liczba ruchów białych może zmusić wygraną do 3, co oznacza, że biały ma ruch, który zapewni mu wymuszoną wygraną w 2 ruchach, ale nie może wymusić wygranej w 1 ruchu. Następnie weź wszystkie stany, w których minimalna liczba ruchów, w których biały może zmusić wygraną, wynosi 4, co oznacza, że jest tura czarnego i bez względu na to, jaki ruch wykonają, biały może zmusić wygraną w 3 ruchach, ale biały nie może obecnie wymusić wygranej w 2 ruchy. Gdy dojdziemy do liczby takiej, że nie ma stanów, w których minimalna liczba ruchów białych może zmusić wygraną do takiej liczby, już znaleźliśmy wszystkie stany, w których biały może zmusić wygraną. Możemy znaleźć wszystkie stany, w których czarny może wymusić zwycięstwo w podobny sposób. Wszystkie pozostałe stany to te, w których obaj gracze mogą wymusić remis. co oznacza, że jest tura czarnych i bez względu na to, jaki ruch wykonają, biały może wymusić zwycięstwo w 3 ruchach, ale biały nie może obecnie zmusić wygranej w 2 ruchach. Gdy dojdziemy do liczby takiej, że nie ma stanów, w których minimalna liczba ruchów białych może zmusić wygraną do takiej liczby, już znaleźliśmy wszystkie stany, w których biały może zmusić wygraną. Możemy znaleźć wszystkie stany, w których czarny może wymusić zwycięstwo w podobny sposób. Wszystkie pozostałe stany to te, w których obaj gracze mogą wymusić remis. co oznacza, że jest tura czarnych i bez względu na to, jaki ruch wykonają, biały może wymusić zwycięstwo w 3 ruchach, ale biały nie może obecnie zmusić wygranej w 2 ruchach. Gdy dojdziemy do liczby takiej, że nie ma stanów, w których minimalna liczba ruchów białych może zmusić wygraną do takiej liczby, już znaleźliśmy wszystkie stany, w których biały może zmusić wygraną. Możemy znaleźć wszystkie stany, w których czarny może wymusić zwycięstwo w podobny sposób. Wszystkie pozostałe stany to te, w których obaj gracze mogą wymusić remis. Możemy znaleźć wszystkie stany, w których czarny może wymusić zwycięstwo w podobny sposób. Wszystkie pozostałe stany to te, w których obaj gracze mogą wymusić remis. Możemy znaleźć wszystkie stany, w których czarny może wymusić zwycięstwo w podobny sposób. Wszystkie pozostałe stany to te, w których obaj gracze mogą wymusić remis.
Ponieważ istnieje około 10 ^ 47 stanów, które mogą wystąpić w legalnej grze w szachy, użycie brutalnej siły zajęłoby nam zbudowanie komputera, który doskonale gra w szachy bez względu na to, jak gra przeciwnik. Uważam, że nie zostało udowodnione, że nie ma dużo krótszego algorytmu, który mógłby ci powiedzieć, jak grać doskonale, bez względu na to, jak gra przeciwnik. Na przykład może tylko niewielka część stanów, które mogą wystąpić w legalnej grze, może wystąpić w grze, w której grasz tak, jak algorytm każe ci grać, aby algorytm działał, mimo że mówi ci tylko, jak grać doskonale we wszystkich stanach, w których może wystąpić, gdy zawsze postępujesz zgodnie z tym algorytmem od początku gry, ale nie we wszystkich stanach, które mogą wystąpić w legalnej grze. Może oprócz tego ten algorytm jest złożonym algorytmem, który dla każdego stanu, który może wystąpić w grze, w której zawsze go śledziłeś, wykonuje o wiele mniej kroków, aby obliczyć optymalny ruch, niż liczba stanów, które mogą wystąpić w grze, w której zawsze go śledziłeś. Wedłughttp://onlinelibrary.wiley.com/doi/10.1002/sres.2171/abstract, laboratoria uczenia ewolucyjnego planują rozwiązywać złożone problemy. Może kiedyś wymyślą złożoną strategię perfekcyjnej gry w szachy. Być może nawet jeśli algorytm jest bardzo krótki i wymaga bardzo niewielu kroków, aby obliczyć optymalny ruch w dowolnym stanie, który może wystąpić w grze, w której zawsze postępujesz zgodnie z tym algorytmem, nie oznacza to, że człowiek nie jest w stanie nauczyć się doskonale grać w szachy. Może człowiek mógłby ciągle wymyślać rzeczy i zachowywać to, co wymyślili, wykombinować więcej rzeczy z tego, co wcześniej wymyślili i zachować je jakąś złożoną metodą,
Prawdopodobnie jeszcze łatwiej jest graczowi mieć strategię, która zapewnia, że jeśli jego przeciwnik gra idealnie, on również będzie grał idealnie. Podejrzewam, że obaj gracze mają przymusowe losowanie od początku gry. Prawdopodobnie łatwiej jest mieć strategię, która wymusza remis, niż strategię, która gwarantuje, że jeśli twój przeciwnik da ci wymuszoną wygraną, nie przegrasz. Strategia, która wymusza remis, jest także strategią, która zapewnia, że jeśli twój przeciwnik gra idealnie, będziesz grać idealnie. Jeśli grają idealnie, nie zapewnią ci wygranej wymuszonej, więc nie stracisz wygranej wymuszonej po tym, jak ci ją dadzą.