Qual è il limite inferiore più alto conosciuto per il compagno in N dalla posizione iniziale?


14

Modifica : sembra che la mia domanda non fosse abbastanza chiara. Consentitemi di riformulare: qual è la N più grande per la quale possiamo consapevolmente dire "gli scacchi, dalla posizione iniziale, non è un compagno forzato in N mosse"?

Gli scacchi non sono risolti, cioè non si sa quale sia il risultato perfetto dalla posizione di partenza.

Tuttavia, se la posizione iniziale è vincente per entrambi i giocatori, è un compagno in N per alcuni N. Anche per esempio, se sappiamo per certo che la posizione iniziale non è vincibile in 5 mosse (per entrambi i giocatori), 5 è un limite inferiore per N.

Circa quanto in profondità è possibile cercare in modo esaustivo dalla posizione di partenza nella pratica? Quanto è noto un limite inferiore per N?


1
Per curiosità: il compagno forzato più lungo conosciuto (supponendo un gioco perfetto) è stato scoperto durante uno sforzo sul tavolo di fine gioco di 7 uomini, ed è l'oggetto 316 sul Diario degli scacchi aperto di Tim Krabbé . Sono 517 le mosse lunghe. Ora, questa posizione potrebbe non essere necessariamente raggiungibile usando la riproduzione perfetta, ma mostra l'ampiezza del problema in generale. Forzatura bruta da una posizione iniziale, probabilmente potremmo arrivare a qualche decina di mosse al massimo, con l'hardware attuale.
Daniel B,

@DanielB No, 549 è il più lungo noto, trovato nei tablebase 7man.
Santropedro,

Risposte:


6

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.


1
Non penso che questo risponda esattamente alla domanda (fornisce una stima per N invece del limite inferiore più noto), ma comunque una buona risposta!
Sami Liedes il

3
In realtà, secondo l'articolo sul numero di Shannon di Wikipedia, Shannon ha stimato il numero dal fatto che un gioco tipico dura circa 40 mosse, quindi questo è un ragionamento circolare.
Sami Liedes il

3

Non è vero che la posizione iniziale non è vincibile in 5 mosse o meno usando la definizione canonica di una mossa completa negli scacchi. Può essere fatto in 2 mosse tramite Fool's Mate .

Per rispondere alla tua domanda, la forza di un motore di scacchi dipende dal software e dall'hardware. Nel 1997, Deep Blue era una prova del concetto di hardware, un supercomputer estremamente parallelo in grado di valutare 200 milioni di mosse al secondo con una profondità media di 7-8 mosse. Tuttavia, nel 2006, Deep Fritz in esecuzione su un personal computer dual-core ha ottenuto risultati equivalenti mentre valutava solo 8 milioni di mosse al secondo.

Oggi, il supercomputer più potente che è stato applicato agli scacchi è Blue Gene . Utilizzando 131.000 processori, Blue Gene può calcolare 280 trilioni di operazioni al secondo . Sebbene non ci siano dati per confermare la profondità con cui Blue Gene può calcolare, suppongo che sarebbe abbastanza profondo. Ovviamente, ciò dipende dalla durata del computer.

Tuttavia, in questo caso non possiamo usare il termine "esaustivo" per "risolvere" e aprire. Un motore di scacchi non ha bisogno di andare alla fine della linea quando è certo che il risultato finale è decisivo. In tal modo, il programma sarebbe uscito quando sarebbe diventato chiaro che la valutazione era chiaramente a favore di una parte. Questo è noto in informatica teorica come potatura Alpha-Beta .

Se dovessi fare una stima approssimativa, direi che Blue Gene sarebbe in grado di calcolare tra 15 e 20 mosse al secondo. Sebbene il suo hardware e software sia estremamente impressionante, dobbiamo ricordare che la complessità degli scacchi si espande in modo esponenziale. Secondo stime recenti , la complessità dell'albero di gioco degli scacchi è almeno 10 ^ 123 e il numero di posizioni potenziali a 10 ^ 46,7.


Quel busto di Kings Gambit era lo scherzo dei pesci d'
Bort

Wow. Sono stato sicuramente preso in giro. Grazie per le informazioni.
Andrew Ng,

1
Per "vincibile" intendevo compagno forzato, vale a dire vincente dato il gioco ottimale dell'avversario. Sembra che debba modificare la mia domanda per chiarire :)
Sami Liedes,

1

Supponendo che vi sia una continuazione vincente da una determinata posizione e presupponendo un gioco perfetto, implica che Nsia fisso e non limitato (altrimenti il ​​suo gioco non è perfetto!).

In questo caso, bisogna davvero lavorare all'indietro, cosa che viene realizzata da Endgame Tablebase

I tablebase di tutti i finali con un massimo di sei pezzi sono disponibili per il download gratuito e possono anche essere interrogati utilizzando le interfacce Web (vedere i collegamenti esterni di seguito). Il tablebase di Nalimov richiede più di un terabyte di spazio di archiviazione


È vero, ma è ancora possibile conoscere un limite inferiore per N senza conoscere N (ad esempio, sappiamo che sicuramente non c'è un compagno forzato in 2 dalla posizione iniziale; quindi sappiamo che N> = 3 senza sapere N.
Sami Liedes,

Ma la tua domanda è iniziata con il presupposto che ci sia una continuazione vincente dalla posizione data. Nel qual caso Nviene risolto, con un gioco perfetto.
Nishanth,

Ho visto la tua modifica ora!
Nishanth,

1

Puoi guardare qui per una discussione. Ovviamente non dovresti usare la regola delle 50 mosse, ma secondo questo forum, il record è tenuto finora da questa posizione (il nero da muovere):

NN - NN

517 si sposta in una posizione vincente e 525 per accoppiarsi (miglior gioco da entrambe le parti). Vedi qui , voce 316. Quindi questa è una posizione vincente senza vincite in meno di 525 mosse.

Consentitemi anche di riprodurre i commenti di Bourzutschky: "Potrebbero esistere anche finali più profondi di 7 uomini, ma ne dubito. Che una profondità così grande sia ancora possibile con così tanta potenza di fuoco sulla scacchiera suggerisce che possono nascere anche finali più profondi con 8 pezzi, forse in krnnkbbn. Questo finale potrebbe essere generato con 64 GB di RAM in pochi mesi su una macchina a CPU singola veloce e circa 5 terabyte di spazio di archiviazione. Qualche acquirente? "


1
Questo non risponde alla domanda, ma trovo i dettagli molto interessanti!
Halvard,

0

Modifica: mi dispiace, sembra che ho letto male la domanda. La mia ipotesi è che qualsiasi ragionevole N sia ben al di fuori dell'orizzonte di un computer. Se avessimo creato un computer molto potente per confermare la posizione di partenza che è probabilmente l'unica X sicura che potremmo mostrare, supponiamo che dopo 10 giorni potremmo calcolare 10 milioni di nodi al secondo e calcolare 10 * 86400 * 10 ^ 8 nodi = 8,64 * 10 ^ 13 nodi. Se assumiamo che la posizione media nelle prime 20 mosse abbia circa 15 mosse legali (inferiore perché l'inizio ha molto meno e probabilmente anche leggermente inferiore a causa della potatura alfa-beta) che è solo di circa 12 mosse dopo 10 giorni (posizione solo dopo la mossa 6 ) quindi capisci perché questo problema è brutto. Comunque penso che il gioco pratico suggerisca probabilmente un valore molto, molto, molto più alto. IO'

Ignoriamo che gli scacchi sono molto probabilmente un pareggio. Dobbiamo considerare le regole in base alle quali gli scacchi vengono giocati nella pratica. In quasi tutte le situazioni del torneo è in vigore una regola delle 50 mosse che stabilisce che il gioco è un pareggio se "le ultime 50 mosse consecutive sono state fatte da ciascun giocatore senza il movimento di alcuna pedina e senza la cattura di alcun pezzo".

Quindi questo significa che possiamo avere 49,5 mosse per acquisizione o mossa del pedone. Ogni pedina può spostarsi fino a 6 volte e ci sono 15 pezzi che possono essere catturati per ogni lato (anche se un pezzo deve rimanere per consegnare scacco matto) in modo che possiamo mettere un limite superiore sul numero di mosse.

Ciò equivale a 49,5 * (8 * 2 * 6 (movimenti di pedone) + 29) = 6187,5 Quindi questo significa che se gli scacchi sono una vittoria forzata per il bianco con l'adesione alla regola delle 50 mosse, allora è al massimo 6188 mosse per il bianco . Probabilmente potrei abbassarlo un po 'senza fare troppo dicendo che tutti i compagni K + pezzo contro i compagni K forzati (solo Rook alla regina) sono fattibili in meno di 50 mosse (penso a 16 giocare con Nalimov per alcuni casi "difficili". Quindi penso che probabilmente possiamo sottrarre con sicurezza 34 mosse da quel totale per 6134!

Pertanto: se gli scacchi sono una vittoria forzata per il bianco con l'adesione alla regola delle 50 mosse, allora ha al massimo 6134 mosse.


La domanda poneva un limite inferiore, non un limite superiore.
dfan,

Ho pensato che volesse il limite inferiore migliore sul limite superiore. O è la domanda che chiede se gli scacchi non sono sicuramente compagni in X dove X potrebbe essere 30 o qualcosa del genere.
WorruB,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.