sistemi esperti indice intelligenza artificiale dimostrazioni automatiche

Giochi

Un altro campo applicativo che ha avuto notevoli successi è quello dei giochi. L'intelligenza artificiale considera generalmente giochi a due giocatori in cui le mosse sono alternate e interpreta lo svolgersi del gioco come un "alberoDizionario" in cui la "radice" è la posizione di partenza e le "foglie" sono le posizioni finali (vincenti o perdenti). Il primo livello dell'albero corrisponde alle possibili mosse per il primo giocatore, il secondo livello rappresenta tutte le possibili mosse che il secondo giocatore può fare a partire dalla mossa iniziale del primo giocatore. E così via.

 


Gioca a Tris contro il computer:




 


Fig. 1:
Porzione di un albero corrispondente al gioco del Tris.
 
(Credits: David Eppstein, Dept. Information & Computer Science, UC Irvine)



Il più noto algoritmoDizionario utilizzato per progettare "giocatori artificiali" è chiamato min-maxDizionario. L'algoritmo si basa sull'idea di sviluppare tutto l'albero, valutarne le foglie (stati finali di una partita) come vincenti o perdenti e riportare all'indietro (verso la radice) la valutazione delle mosse.

 

Fig. 2: Esempio grafico dell' algoritmo min-max.
(Credits: http://www.dis.uniroma1.it/~demetres/Leonardo/Manual/Chapters/AppendixA3.html)




Gioca a Forza4 contro il computer!

In teoria, quindi, sarebbe possibile scrivere programmi che applicano sempre la strategia migliore. Tuttavia, a causa della complessità dei giochi trattati, sarebbe impensabile, anche per un potentissimo computer, sviluppare completamente tutto l'albero per decidere la mossa "migliore". Ecco quindi la necessità di applicare opportune euristiche per tagliare alcuni rami dell'albero. Si pensi al gioco degli scacchi in cui la dimensione del problema è enorme. Solo all'inizio partita le mosse possibili sono 400, diventano più di 144.000 alla seconda mossa. Sviluppando l'albero di gioco avremmo circa 35100 nodi. Tramite la riduzione dello spazio di ricerca si sono prodotti comunque sistemi in grado di giocare a scacchi meglio dell'uomo. È infatti noto che nel maggio 1997, a New York, una macchina (Deep Blue) ha battuto in un match di sei partite il campione del mondo Kasparov. Interessante è sottolineare che tale macchina, appositamente progettata a livello hardware per riuscire a sviluppare ed esaminare spazi di ricerca in parallelo in tempi rapidissimi (si pensi che Deep Blue arriva ad esplorare 1011 posizioni in circa 3 minuti) utilizza la "forza bruta" piuttosto che tecniche euristiche raffinate per giungere rapidamente alla soluzione migliore.


Fig. 3:
Una riproduzione di una fase di gioco durante una partita di Deep Blue.

The Webweavers: Last modified Wed, 09 Mar 2005 11:05:09 GMT