Si può ancora battere il computer che gioca a scacchi?

» Altro - Inserito da bini il 24/05/2009, 09:55:58

Sarà forse inevitabile che i computer diventino imbattibili, con gli scacchi, nel prossimo futuro ma per adesso gli uomini - i campioni naturalmente - sono ancora all'altezza della sfida. Com'è possibile che il cervello umano, che ha solo una piccola frazione delle capacità di calcolo dei computer, sia ancora in grado di mettere a segno delle vittorie? La risposta sta nelle differenze tra l'uomo e i metodi artificiali di calcolo e nella conoscenza che un astuto giocatore ha delle debolezze del computer.

Durante il gioco, il giocatore può scegliere quale pezzo muovere e spesso anche in quale casella muoverlo. Dalla posizione iniziale, il Bianco può scegliere solamente tra 20 mosse permesse, ma questo pallone si gonfia in molte centinaia di possibilità, o candidate, a metà partita quando più pezzi sono liberi di muoversi. L'avanzamento del gioco può pertanto essere pensato come un cespuglio fiorente, con numerose frasche che spuntano da uno stesso punto sul ramo per indicare ognuna delle differenti mosse permesse disponibili in una data posizione. Ad ogni turno, ognuna di queste frasche fiorisce in molte altre possibili diramazioni. Il numero di possibilità, che deve essere analizzato, cresce esponenzialmente. Il trucco per giocare a scacchi in modo efficiente è quello di ignorare le linee di gioco che non sembrano migliorare la propria posizione e focalizzare la propria analisi su un piccolo numero di candidate promettenti per poter potare l'albero del gioco. Il calcolo è particolarmente difficile poichè bisogna trovare una mossa che, non solo serva al giocatore per migliorare il suo stato, ma anche limiti le opzioni positive disponibili per l'avversario. Il nodo da sciogliere, nella differenza tra uomo e computer, è la diversità di modi in cui vengono potati questi cespugli.

Il cervello di un giocatore esperto sembra in grado di potare la ricerca in modo abbastanza intuitivo. I campioni, tipicamente, studiano solo una decina di possibilità per ogni turno. Attraverso questa focalizzazione è possibile, sulle linee di azione selezionate, raggiungere una maggior profondità di analisi. I giocatori esperti hanno un buon senso della scacchiera: senza analizzare esplicitamente una posizione, identificano quali pezzi siano in posizioni dominanti, quali combinazioni di pedoni siano forti, dove stanno le debolezze dell'avversario e così via. Il computer, invece, gioca come un principiante. Un principiante - sia ben chiaro - in grado di valutare milioni di mosse al secondo. I computer applicano al gioco degli scacchi la tecnica della forza bruta e non hanno idea di cosa sia questo feeling con la scacchiera. Un computer può solamente vagabondare ciecamente lungo tutte le diramazioni ipotetiche di una partita, fino a trovare una sequenza di mosse considerate positive. Un buon giocatore, invece, identifica un pericolo o un obiettivo e pensa lateralmente e creativamente su come usare i pezzi a disposizione in modo combinato per raggiungere il risultato desiderato.

Sebbene le procedure programmate, o algoritmi, che il computer usa per ridurre lo spazio di ricerca continuino a migliorare, le differenze appena citate rappresentano ancora il lato debole di un computer che gioca a scacchi.
Ci sono altri due metodi che i programmatori utilizzano per migliorare il gioco delle macchine. Il primo è una libreria, che contiene una sequenza stabilita di mosse per i primi turni. Questa conoscenza è il risultato di secoli di analisi dei modi migliori per muovere i propri pezzi nelle fasi iniziali di una partita.
Il secondo metodo è conosciuto come approccio bottom-up. Molti scenari di fine gioco sono noti per la possibilità di uno dei giocatori di forzare la vittoria (per esempio il solo re contro la regina, o le due torri, o una torre e un pedone contro l'alfiere). Un computer può allora "non muovere" alcuni pezzi, o tornare indietro, per trovare tutte le posizioni da cui può essere raggiunto uno degli scenari conosciuti.

Questo approccio ha prodotto un enorme data-base di finali di partita in modo che, se un computer raggiunge una delle posizioni incluse, può giocare una partita essenzialmente perfetta. Tutti i finali di partita con meno di sei pezzi sono già stati analizzati esaustivamente. Nel complesso, queste analisi svolte dai computer sono in accordo con le analisi svolte da giocatori esperti attraverso i secoli.

E' da quando si esce dalla libreria (degli inizi di partita) finché non si arriva al data-base dei finali che il computer può diventare inefficiente. Questo è il momento in cui la focalizzazione della situazione e l'inventiva della mente umana è un vantaggio e i computer fanno errori che possono costare la partita. Ma se un home computer può analizzare più posizioni nel corso di una partita, rispetto a quelle che un giocatore medio può vedere in tutta la sua vita, com'è possibile per l'uomo poter ancora vincere? Come detto sopra, i computer non sono giocatori intelligenti e mancano della creatività della mente umana. La differenza fondamentale tra un giocatore elettronico ed uno "in carne ed ossa" è che i computer non riescono a capire, almeno per il momento, il significato profondo dell'attività a cui si dedicano. E' possibile studiare lo stile di gioco di un computer, valutare i suoi punti di forza e di debolezza e giocare su questi. I giocatori umani hanno anche diversi altri assi nella manica.

Tattiche per battere un computer

Siccome un computer si basa su un approccio strettamente matematico nella parte centrale della partita, esso può vedere in anticipo solo un numero limitato di mosse e non riesce a ricordare strutture o manovre generali. Questa visione a corto raggio è chiamata orizzonte. Proprio giocando sull'orizzonte della macchina il giocatore può attirarla in una trappola mortale. Oppure può lentamente preparare un assalto e colpire solo quando è troppo tardi perché il computer riesca a difendersi efficacemente.
Un altro motivo per il quale i giocatori umani hanno successo, è che i computer valutano le posizioni di gioco come se avessero appena iniziato. Il computer analizzerà milioni di rami nell'albero del gioco ogni volta, anche se ha visto posizioni quasi identiche. Un uomo riconoscerà che alcune mosse non cambiano fortemente la situazione e quindi non si preoccupa di rianalizzarle. Questa differenza può naturalmente esplodere nei giochi a tempo, dove i giocatori devono fare le loro mosse in un tempo ben definito. L'umano può, a volte, vincere semplicemente muovendo avanti e indietro tra le stesse due caselle mentre il computer sperpera tutto il suo tempo riesaminando ogni posizione.

Un'altra tattica comune in un gioco a tempo è di giocare mosse veloci che sono mediocri ma innocue, nel senso che non c'è il rischio di perdere un pezzo o lasciare il re a rischio di scacco. Un mossa particolarmente efficace è quella che complica le posizioni sulla scacchiera e figura come se fosse la parte di un attacco molto elaborato. Il computer non lo sa e spende molto del suo tempo analizzando con attenzione la posizione. Questa tattica è nota come enough rope.

L'effetto orizzonte è diventato meno importante con lo sviluppo di processori più veloci e di algoritmi di potatura degli alberi più efficienti.

Malgrado la nuda e cruda potenza di calcolo dei computer, l'intelligenza umana può ancora battere le macchine durante la parte centrale del gioco. Il nostro tempo è tuttavia già in fase calante e i computer sono vicini alla soluzione del gioco.

da un articolo di Lewis Dartnell
stumbleUpon
twitter
delicious

Ti è piaciuto?

Commenti

  1. Utente: leonedilernia

    24/05/2009, 18:48:49

    questa è una cosa vera in una partita a 5 minuti con fritz10 a livello massimo ho pattato dopo 19 mosse nella VERESOV che è una apertura piatta.Mi è successo solo una volta però il computer a le sue debolezze soprattutto nel gioco chiuso
Solo gli utenti registrati possono commentare