Perché una mossa di scacchi può migliorare la possibilità di vincere, secondo il computer?


14

Quando si guarda la coppa Sinquefield su http://grandchesstour.org/ , è possibile provare diverse mosse e vedere come il computer valuta la posizione dopo la mossa suggerita.

Ora, la maggior parte delle mosse comprometterà la tua posizione, se non è considerata la migliore mossa dal computer. Ma per alcune mosse (abbastanza spesso) hai immediatamente una maggiore possibilità di vincere, forse un vantaggio di mezzo pedone. Non capisco questo: se una singola mossa ha un potenziale per migliorare significativamente la posizione dei giocatori, questo non dovrebbe già riflettersi nella posizione attuale prima della mossa? Nella mia mente, qualsiasi mossa non considerata la migliore mossa dal computer, dovrebbe portare a una posizione compromessa, mentre la mossa migliore dovrebbe solo mantenere la posizione uniforme, non effettivamente migliorare la posizione dei giocatori. Perché, se il computer sa che questa mossa migliorerà la posizione dei giocatori, allora dovrebbe già migliorare la posizione dei giocatori nella posizione attuale, dicendo che "con il miglior gioco, sei mezzo pedone"?

Hmm, o forse questo è solo il risultato di come il sito web è implementato su grandchesstour.org?


4
In alcuni casi, i motori hanno difficoltà a trovare la mossa giusta ma la valutano correttamente quando la immetti manualmente. Questo non è così comune come quello che stai descrivendo però.
11684

Risposte:


26

Se il computer fosse in grado di valutare ogni linea di gioco fino alla fine del gioco, la valutazione non cambierebbe mai. In effetti, la valutazione di ogni mossa sarebbe "vincere", "perdere" o "pareggiare". Questo è essenzialmente ciò che accade nei tablebase di endgame. * Se i computer potessero farlo per ogni posizione, ogni partita contro un computer consisterebbe nel dimettersi dal computer senza fare una mossa, offrendoti un pareggio nella posizione iniziale o essere infastidito dal fatto che non hai rassegnato le dimissioni o accettato quell'offerta.

Tuttavia, i computer non possono valutare così lontano perché richiederebbe un tempo incredibilmente lungo, sia perché i giochi possono essere molto lunghi (centinaia di mosse, in linea di principio) sia perché ci sono molte possibilità per ogni mossa. Quindi, i computer devono prendere una serie di scorciatoie. Ciò include cercare di capire rapidamente quali sono le mosse candidate più importanti (prendere un pezzo non protetto è probabilmente una grande mossa; impiccare la tua regina è probabilmente una mossa terribile; ...) e anche fermare la ricerca dopo diverse mosse e usare alcune euristiche invece di ulteriori ricerche per cercare di capire se la posizione risultante sembra buona o no.

Il problema è che queste scorciatoie possono andare storte. Il computer potrebbe decidere che appendere un pezzo è male quando in realtà è un geniale sacrificio. Potrebbe decidere che una posizione si sia stabilizzata quando in realtà no. Potrebbe non avere abbastanza potere per vedere abbastanza lontano nel futuro per vedere il vero punto di una determinata mossa.

Ecco un semplice esempio, anche se non è più molto realistico. Supponi che mi stai per dare scacco matto ma ho una serie di dieci controlli che posso fare per ritardarti. Se guardo solo dieci mosse in anticipo, penserò che sto andando bene: forse sono anche una pedina, quindi la mia valutazione è "Dopo dieci mosse, sono ancora una pedina, quindi sto bene . Punteggio +1 "Gioco il mio primo assegno, tu rispondi, e ora vedo che è il compagno in dieci e dimetto. Questo è il cosiddetto "effetto orizzonte" che i programmi moderni cercano di evitare (ad esempio, guardando più in profondità lungo linee che hanno molte mosse forzate) ma illustra il principio generale.

Se il motore può vedere, diciamo, dieci mosse nel futuro, allora sta vedendo più lontano nel gioco ogni volta che viene effettuata ogni mossa. Nella posizione iniziale, può vedere come apparirà la tavola alla mossa 10; dopo una mossa, può vedere muovere 11 e così via. (Ancora una volta, questa è una semplificazione, dal momento che i computer in questi giorni non guardano a una distanza fissa nel futuro, ma ti dà l'idea generale.)

L'esempio che hai dato è solo una versione meno drammatica degli esempi che ho dato. Man mano che vengono fatte più mosse, il computer può vedere più in profondità nel gioco, in modo da poter dare una valutazione più accurata. Un altro modo per vederlo è in termini di informazioni: man mano che vengono giocate più mosse, il computer ha più informazioni. Era indovinare quale sarebbe stata la tua risposta a 1.e4, ma ora sa che hai suonato il siciliano e così via.


* Qui c'è una leggera sfumatura in quanto devi effettivamente contare il numero di mosse per vincere per evitare di ripetere posizioni. Ad esempio, considera il gioco finale di KQ contro K. Ogni mossa che non si ferma o si arrende vince la regina, quindi hai bisogno di un meccanismo per guidare verso scacco matto, piuttosto che muoverti casualmente e dire: "Wow, sto andando totalmente per vincere, vince quasi ogni mossa! "


Risposta eccellente! Non ho mai sentito parlare di questo "effetto orizzonte", ha molto senso, molto interessante.
Pedro A

Grazie per i chiarimenti. Sono per lo più nella nebbia per quanto riguarda il grande impatto di una singola mossa, ma immagino che il tempo che il computer è autorizzato ad analizzare sia piuttosto limitato sul sito Web in questione, aumentando l'effetto.
jonasfh,

4

Non c'è incoerenza. Quando fai una mossa, il computer non deve più cercare la posizione precedente. Ora può concentrare tutta la potenza di elaborazione nella nuova posizione e quindi la valutazione potrebbe cambiare. L'albero del gioco potrebbe essere molto diverso.

Questo è proprio come giochiamo a scacchi.


4
Potresti aggiungere a ciò che il motore di scacchi online non sta analizzando molte mosse in profondità, quindi lo strato extra è molto più significativo di quanto sarebbe sul tuo computer a casa.
Brian Towers

Hmmm, sono abbastanza d'accordo. Tuttavia, sono curioso che l'impatto sia così grande per una singola mossa. Immagino che il computer faccia un'analisi abbastanza significativa per ogni possibile mossa successiva, specialmente quelle promettenti, e dovrebbe scoprire se una delle mosse possibili darà una posizione molto migliorata e regolerà la posizione attuale di conseguenza. Ma vedo il commento di Brian, che deve essere importante qui.
jonasfh,
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.