Risposte:
Qual è lo scopo di questa domanda e risposta?
Vedo molti abusi di motori in questa comunità. Vedo argomenti in cui le persone aprono "analisi" copiando gli output del motore. Ancora peggio, ho visto aprire "analisi" copiando e incollando nella prima mossa!
Molti principianti in questa comunità credono che i motori offrano la migliore mossa possibile in ogni posizione, perché battono i giocatori umani.
Ho cercato di spiegare perché questo è sbagliato in diversi argomenti a breve, ma vedo che brevi spiegazioni non sono sufficienti, la gente non vuole credere a uno sconosciuto che afferma che usare il motore in questi modi sia sbagliato senza spiegarlo con ogni dettaglio. Così io, come studente di informatica e giocatore di hobby (giocavo a OTB ma lo lasciavo) ho scritto questa risposta lunghissima e stancante, nella speranza di cambiare convinzioni sbagliate.
Note: questa è una risposta molto lunga. Probabilmente ho molti errori grammaticali e errori di battitura. Inoltre, potrebbe essere possibile spiegarli in modo più fluido o più breve. Quindi, se ritieni di poter migliorare questa risposta, ti preghiamo di suggerire le modifiche, lo apprezzerei molto.
Come funziona un motore? Quali sono questi numeri nella finestra di analisi?
I motori valutano tutte le posizioni utilizzando metriche diverse (che è strettamente correlata alla forza di gioco dei motori)
Ad esempio: I motori hanno valori predefiniti per i materiali, come 1 punto per un pedone e 3 punti per un vescovo ecc.
Ma non è tutto ovviamente, usano anche metriche più avanzate. Ad esempio: una pedina passata di 0,2 punti, una coppia di vescovi 0,1 punti ecc.
Quindi, valuta tutte le posizioni in questo modo e si inserisce in un albero (se vuoi saperne di più sull'albero, dai un'occhiata a questo documento ).
Ma, poiché la memoria non è infinita, se il computer esaurisce la memoria, il motore si ferma, giusto? Quindi il motore deve usare la memoria con cura. Come? Elimina alcuni nodi (posizioni) dall'albero che non sono promettenti (ha un punteggio di valutazione cattivo (potrebbe non essere facile decidere quale è cattivo)).
Il percorso più lungo possibile nella struttura è la profondità dell'analisi. Poiché ogni nodo rappresenta una posizione, la profondità di 2 equivale a 1 mossa.
Quali sono i punti di forza e di debolezza dei motori rispetto agli umani?
I motori sono assolutamente migliori nelle tattiche rispetto agli umani. Perché le tattiche lo sono
Gli umani sono assolutamente più bravi nelle strategie e nelle valutazioni posizionali. Perché:
dopotutto, i motori stanno usando metriche per valutare quali sono assolutamente aperte alla domanda, ad esempio non esiste una metrica corretta per coppia di vescovi o pedone.
un maestro di scacchi è molto più bravo nella valutazione delle metriche (le macchine sono stupide)
gli esseri umani sono straordinariamente più forti nella potatura, il nostro albero di ricerca è molto più piccolo (possiamo eliminare molte posizioni non necessarie, i computer non riescono in questo)
Consentitemi di dimostrarli in questa posizione, che un giocatore di 1200 Elo può valutare (giustamente) un pareggio in 3 secondi.
Il motore dice -17.61, dopo aver visto 24 mosse in avanti. Perché? È così stupido? Non capisce che il nero non può progredire?
Sì! È così stupido! E tu sei quello che deve capire che è disegnare, non il motore, è uno strumento per te!
-17,61 è il risultato delle metriche di valutazione. La valutazione è sbagliata allora? No, la valutazione è corretta, se interpretata correttamente. Il motore riassume le metriche, che risultano -17,61, perché il nero ha molti vantaggi materiali. La cosa interessante è che molti vantaggi materiali non sono sufficienti in questa posizione e questa è la parte che dovresti aiutare il motore con la tua intelligenza.
I punteggi di valutazione non sono valutazioni di posizione !!!
Ci sono solo due cose che possono essere considerate come una valutazione nell'output di un motore:
Oltre a questi due tutti i risultati del punteggio di valutazione sono basati sull'opinione. Come nella posizione sopra -17, la valutazione può essere valutata come un pareggio, è molto improbabile ma possibile.
Quindi, i motori sono davvero lungi dall'essere perfetti, ecco perché abbiamo i tablebase . I tablebase sono fonti dell'assoluta verità di una data posizione. Una tabella fornisce un output che indica che la posizione è accoppiata (in mosse x) o disegna. I tavoli da tavolo all'avanguardia hanno coperto tutte le posizioni con al massimo sette pezzi .
Come interpretare i punteggi di valutazione?
Come accennato in precedenza, i motori fanno del loro meglio per utilizzare memoria limitata e potenza computazionale. Poiché questi sono limitati, i motori dicono agli utenti quanto sono andati in profondità.
Immagina di essere un comandante (motore) di un esercito e di essere in un terreno aperto. Il tuo esercito ha 10k di soldati. Hai una visuale di 10 km (profondità di ricerca) e vedi le forze nemiche 9 km più avanti, indovini (valuti) il loro conteggio di circa 100 soldati e decidi di attaccare. Tu e il tuo esercito iniziate a correre verso il nemico. Ma dopo aver avvicinato 3 km alle forze nemiche (guadagnando 3 km in più di campo visivo), vedi improvvisamente 100k più nemici e all'improvviso decidi che questa battaglia è persa.
Questa era un'analogia del problema dell'effetto orizzonte . Ci sono momenti in cui il movimento della chiave avviene fuori dall'orizzonte del motore e il motore valuta falsamente la posizione. Questo problema si verifica molto di più in endgame, perché in endgame, rispetto al middlegame e all'apertura, le posizioni si evolvono lentamente, sono necessarie più mosse per ottenere lo stesso progresso. Ricorda le lunghe manovre dei giochi finali. Ecco perché i motori utilizzano i tablebase (precalcolati, sicuramente come valutazioni di morte di posizioni che hanno meno di 8 pezzi a bordo), per combattere con effetto orizzonte.
Torniamo alla posizione sopra e chiariamo perché possiamo valutarlo così facilmente come pareggio, ma il computer non dà 0,00?
Il motore ha calcolato 24 mosse in profondità, piacevole. Ma stiamo calcolando tutte le possibili continuazioni, fino alla fine! Non siamo più veloci dei computer, ma siamo più veloci di loro. Perché comprendiamo, dopo aver controllato diverse mosse, tutte le continuazioni sono banali e le potiamo tutte. Calcoliamo solo poche posizioni e la valutiamo come pareggio. Ma il motore calcola tonnellate di, perché non è abbastanza intelligente da capire che è banale calcolare tutte queste posizioni.
Ora, come non usare i motori di scacchi?
Ma usare come:
Non dimenticare che l'analisi e la corrispondenza sono compiti diversi. Gli umani non possono battere i motori nelle partite non significa che sia lo stesso in analisi. In realtà si tratta di compiti molto distinti, poiché l'analisi mira a trovare la mossa migliore con risorse infinite, ma la partita mira a vincere con risorse limitate e per vincere è sufficiente giocare meglio dell'avversario. Tutti i motori competitivi sono sintonizzati per le partite, per ottenere il massimo successo possibile nei tornei di motori.
Leggi anche
Un bell'articolo sui motori di scacchi, attinente a questo argomento.
Un articolo molto istruttivo sull'interpretazione delle valutazioni del motore.
Un argomento correlato: perché i motori di scacchi a volte mancano delle buone mosse (o impiegano un'eternità a individuare)?
Un altro argomento correlato: Valutazioni al computer: quanto sono affidabili?
Esempi di errori del motore, per lettori insoddisfatti
Altri esempi di posizioni, che i motori all'avanguardia non riescono a trovare la mossa corretta, che è stata trovata dagli esseri umani