Questa è essenzialmente la domanda su quale sia la complessità del gioco degli scacchi. Si noti che per finezza sappiamo che gli scacchi sono determinati, ma non sappiamo se la posizione di partenza è una vittoria per il bianco, una vittoria per il nero o un pareggio. La complessità del gioco degli scacchi è approssimativamente il numero minimo di posizioni che dobbiamo controllare nell'albero del gioco per determinare lo stato della posizione iniziale. Questo è noto come il numero di Shannon . Nel documento influente Programming a Computer for Playing Chess , Shannon ha stimato che il numero di Shannon sia almeno 10 ^ {120). Si noti che il numero di particelle nell'universo è stimato a 10 ^ (80). Per rispondere alla domanda, vogliamo davvero sapere l' altezzadell'albero di gioco quando viene determinata la posizione iniziale. Dovremmo anche dividere questa altezza per 2, poiché una mossa negli scacchi è generalmente considerata una mossa bianca e nera. Il fattore di ramificazione dell'albero è stimato in circa 30. Pertanto, possiamo prendere la N più grande tale che 30 ^ (2N) <10 ^ (120).
Risposta. Sul retro della busta, N = 40 funziona. Per coincidenza, questa sembra essere la lunghezza di una partita media tra i grandi maestri (anche se spesso si dimettono e in realtà non giocano alla conclusione).
Modificare. La morale della storia è che stavo cercando di stimare un limite superiore per il limite inferiore. La prima parte del ragionamento di Shannon non è circolare; dice che ci sono circa 30 mosse legali per ogni posizione, e questo numero è ragionevolmente costante per la prima parte di una partita.
Quindi, possiamo stimare l'attuale valore noto di N (che è davvero quello che stai chiedendo, chiamiamo questo N ') per essere al massimo log_30 (C) dove C è uguale alla quantità di potenza di elaborazione esistente nella storia Dell'umanità. Anche con stime conservative per C, otteniamo qualcosa come N 'al massimo 20. In pratica, non credo che nessuno abbia eseguito questo calcolo molto in alto sull'albero, poiché a priori sappiamo che il calcolo diventa impossibile dopo un altezza ridotta e non è necessario effettuare una ricerca esaustiva dell'albero per scrivere buoni programmi di scacchi.
Nota, tuttavia, che stai ponendo una domanda leggermente più debole, poiché è possibile che lo stato iniziale del gioco sia un pareggio con un gioco ottimale. Quindi, si potrebbero ottenere limiti per N scrivendo un programma il cui obiettivo era non perdere il più a lungo possibile. Potremmo quindi giocare a questo programma contro i migliori programmi o giocatori umani del mondo e vedere qual è la durata di una partita più breve. Ancora una volta, questo non risponde correttamente alla domanda, dal momento che non possiamo presumere che i nostri avversari stiano giocando in modo ottimale . Il vero gioco ottimale richiede la piena conoscenza dell'albero di gioco, ma abbiamo visto che ciò è computazionalmente impossibile. Quindi, il meglio che possiamo attualmente fare è approssimare un avversario che gioca in modo ottimale con un Kasparov o un ottimo programma di scacchi.