Ecco una risposta che ho scritto originariamente su /cstheory/6563/what-is-the-computational-complexity-of-solving-chess/38102#38102 .
Un giocatore di scacchi perfetto forzerà sempre una vittoria quando può forzare una vittoria e forzare un pareggio quando può forzare un pareggio. Naturalmente, in qualsiasi momento se possono forzare una vittoria, possono anche forzare un pareggio. Inoltre, quando mai un giocatore non può forzare una vittoria, l'altro giocatore può forzare un pareggio. Gli scacchi senza la regola delle 50 mosse o 3 volte la ripetizione potrebbero non essere difficili da risolvere come si pensa. Si può dimostrare che l'aggiunta della regola della ripetizione 3 volte non fa alcuna differenza se un giocatore può forzare una vittoria o un pareggio. Il numero di possibili modi in cui una partita può andare dopo che n mosse continua a crescere esponenzialmente con n. Il numero di stati che possono verificarsi dopo n mosse d'altro canto non continua a crescere in modo esponenziale perché non può superare il numero totale di stati possibili che possono verificarsi in un gioco legale. Secondohttps://en.wikipedia.org/wiki/Game_complexity , ci sono circa 10 ^ 47 stati che possono verificarsi in una partita a scacchi legale.
Gli scacchi possono essere risolti come segue: prendi una serie di stati che possiamo provare contiene tutti gli stati che possono verificarsi in una partita a scacchi legale senza la regola della ripetizione tripla o della regola delle 50 mosse. Due stati diversi potrebbero avere la stessa disposizione di pezzi degli scacchi e differire per chi è il turno, se hai il diritto di catturare da en passant e se un determinato re o torre ha il diritto di mai più castello. Quindi, prendi tutti gli stati in cui il numero minimo di mosse in cui il bianco può forzare una vittoria è 1 che deve avvenire nel turno del bianco. Quindi prendi tutti gli stati in cui il numero minimo di mosse in cui il bianco può forzare una vittoria è 2, il che significa che è il turno del nero e indipendentemente dal movimento che può fare, il bianco può forzare una vittoria in 1 mossa. Quindi prendi tutti gli stati in cui il numero minimo di mosse che il bianco può forzare a vincere è 3, il che significa che il bianco ha una mossa che darà loro una vittoria forzata in 2 mosse ma non può forzare una vittoria in 1 mossa. Poi prendi tutti gli stati in cui il numero minimo di mosse in cui il bianco può forzare una vittoria è 4, il che significa che è il turno del nero e indipendentemente da quale mossa faccia, il bianco può forzare una vittoria in 3 mosse ma il bianco non può attualmente forzare una vittoria in 2 mosse. Quando arriviamo a un numero tale che non ci sono stati in cui il numero minimo di mosse in cui il bianco può forzare una vittoria è quel numero, abbiamo già trovato tutti gli stati in cui il bianco può forzare una vittoria. Possiamo trovare tutti gli stati che il nero può forzare una vittoria in modo simile. Tutti gli stati rimanenti sono quelli in cui entrambi i giocatori possono forzare un pareggio. il che significa che è il turno del nero e non importa quale mossa faccia, il bianco può forzare una vittoria in 3 mosse, ma al momento il bianco non può forzare una vittoria in 2 mosse. Quando arriviamo a un numero tale che non ci sono stati in cui il numero minimo di mosse in cui il bianco può forzare una vittoria è quel numero, abbiamo già trovato tutti gli stati in cui il bianco può forzare una vittoria. Possiamo trovare tutti gli stati che il nero può forzare una vittoria in modo simile. Tutti gli stati rimanenti sono quelli in cui entrambi i giocatori possono forzare un pareggio. il che significa che è il turno del nero e non importa quale mossa faccia, il bianco può forzare una vittoria in 3 mosse, ma al momento il bianco non può forzare una vittoria in 2 mosse. Quando arriviamo a un numero tale che non ci sono stati in cui il numero minimo di mosse in cui il bianco può forzare una vittoria è quel numero, abbiamo già trovato tutti gli stati in cui il bianco può forzare una vittoria. Possiamo trovare tutti gli stati che il nero può forzare una vittoria in modo simile. Tutti gli stati rimanenti sono quelli in cui entrambi i giocatori possono forzare un pareggio. Possiamo trovare tutti gli stati in cui il nero può forzare una vittoria in modo simile. Tutti gli stati rimanenti sono quelli in cui entrambi i giocatori possono forzare un pareggio. Possiamo trovare tutti gli stati in cui il nero può forzare una vittoria in modo simile. Tutti gli stati rimanenti sono quelli in cui entrambi i giocatori possono forzare un pareggio.
Dato che ci sono circa 10 ^ 47 stati che possono verificarsi in una partita a scacchi legale, ci vorrebbe più della nostra vita per usare la forza bruta per costruire un computer che giocherà perfettamente a scacchi, indipendentemente dal modo in cui l'avversario gioca. Credo che non sia stato dimostrato che non esiste un algoritmo molto più breve che possa dirti come giocare perfettamente, indipendentemente da come il tuo avversario gioca. Ad esempio, forse solo una piccola parte degli stati che possono verificarsi in un gioco legale può verificarsi in un gioco in cui giochi nel modo in cui l'algoritmo ti dice di giocare in modo che l'algoritmo funzioni anche se ti dice solo come giocare perfettamente in tutti gli stati che può verificarsi quando hai sempre seguito quell'algoritmo dall'inizio del gioco, ma non in tutti gli stati che possono verificarsi in un gioco legale. Forse oltre a quello, quell'algoritmo è un algoritmo complesso che per ogni stato che può verificarsi in un gioco in cui l'hai sempre seguito, prende meno passaggi per calcolare una mossa ottimale rispetto al numero di stati che possono verificarsi in un gioco in cui l'hai sempre seguito. Secondohttp://onlinelibrary.wiley.com/doi/10.1002/sres.2171/abstract, i laboratori di apprendimento evolutivo stanno pianificando di risolvere problemi complessi. Forse un giorno, scopriranno una strategia complessa per giocare a scacchi perfettamente. Forse anche se un algoritmo è molto breve e richiede pochissimi passaggi per calcolare una mossa ottimale in qualsiasi stato che può verificarsi in un gioco in cui hai sempre seguito l'algoritmo inesistente, ciò non impedisce a un essere umano di essere in grado per imparare a giocare a scacchi perfettamente. Forse un essere umano potrebbe continuamente capire le cose e conservare ciò che hanno capito, capire più cose da ciò che hanno precedentemente capito e trattenerle con un metodo complesso,
Probabilmente è anche più semplice per un giocatore avere una strategia che assicuri che se il suo avversario gioca perfettamente, giocherà anche perfettamente. Ho il sospetto che entrambi i giocatori abbiano un pareggio forzato dall'inizio del gioco. Probabilmente è più semplice avere una strategia che impone un pareggio rispetto a una strategia che garantisca che se il tuo avversario ti dà una vittoria forzata, non la perderai. Una strategia che forza un pareggio è anche una strategia che assicura che se il tuo avversario gioca perfettamente, giocherai perfettamente. Se giocano perfettamente, non ti daranno una vittoria forzata in primo luogo, quindi non perderai una vittoria forzata dopo che te ne danno una.