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! "