Intelligenza Artificiale Lezione 6bis Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 0
Sommario CSP RN 3.8, 4.3, 4.5 Giochi RN 5 Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 1
Problemi di soddisfacimento di vincoli: CSP Problema di ricerca standard: stato è una black box ogni struttura dati che supporta test obiettivo, valutazione, successori CSP (Constraint Satisfaction Problem): stato è definito da variabili V i con valori in domini D i test obiettivo è un insieme di vincoli che specificano combinazioni di valori per sottoinsiemi delle variabili Permette utili algoritmi general-purpose più potenti degli algoritmi di ricerca standard Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 2
Vincoli Dominio discreto e continuo Vincolo sul dominio Unario Vincolo Binario: correla due variabili Vincoli assoluti o di preferenza Grafo dei vincoli: i nodi sono variabili, gli archi mostrano i vincoli Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 3
Esempio: colorazione di mappe Colorare una mappa in modo che paesi adiacenti non siano dello stesso colore Variabili paesi C i Domini {Rosso, Blu, V erde} Vincoli P 1 P 2, P 1 P 5, etc. C 3 C C 1 2 C 5 C 6 C 4 Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 4
Colorazione mappa Grafo dei vincoli: C1 C2 C 5 C 3 C 6 C 4 Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 5
Ricerca della soluzione nei CSP CSP sono problemi di ricerca speciali : gli stati sono dati da valori di un insieme fissato di variabili test obiettivo definito da vincoli su valori di variabili I metodi di ricerca nello spazio degli stati non sono adatti. Backtracking = ricerca in profondità 1) ordine delle variabili fissato 2) solo successori legali La verifica in avanti impedisce assegnazioni che risulterebbero in futuri fallimenti Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 6
Euristiche L ordinamento delle variabili e le euristiche di scelta dei valori possono essere molto efficaci: variabile più vincolata variabile più vincolante valore meno vincolante C A GREEN B RED E F D Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 7
Algoritmi iterativi per CSP Hill-climbing, simulated annealing tipicamente lavorano con stati completi, i.e., tutte le variabili assegnate Per applicarli a CSP: permettere stati con vincoli violati operatori per riassegnare valori a variabili che creano conflitti Euristica del min-conflicts : scegliere il valore che viola il minimo numero di vincoli i.e., hillclimb con h(n) = numero totale di vincoli violati Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 8
Giochi astratti, scacchi dama, go, backgammon, bridge concentrano l attenzione sulla strategia: ambiente accessibile, statico e (in molti casi) informazione perfetta reali calcio, esplorazione, ricerca: ambiente solo parzialemente accessibile, dinamico, l informazione è incompleta Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 9
Giochi vs. problemi di ricerca Avversario non prevedibile soluzione è un piano con contingenza Limiti di tempo improbabile trovare obiettivo, bisogna approssimare Piano d attacco: algoritmi per giochi perfetti (Von Neumann, 1944) orizzonte finito, valutazione approssimata (Zuse, 1945; Shannon,1950; Samuel, 1952 57) potatura per ridurre i costi (McCarthy, 1956) Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 10
Tipi di giochi informazione perfetta informazione imperfetta deterministici dama, scacchi, go, otello fortuna backgammon monopoli bridge, poker, scarabeo Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 11
Caratterizzazione del problema Lo stato iniziale, che include la posizione sulla scacchiera e un indicazione di chi deve muovere. Un insieme di operatori, che definiscono le mosse lecite che può fare un giocatore. Un test di terminazione, che determina quando il gioco è finito. Gli stati in cui il gioco si conclude sono detti stati terminali. Una funzione di utilità (detta anche una funzione di guadagno), che attribuisce un valore numerico al risultato di una partita. Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 12
MA () MIN (O) MA () O O O... MIN (O) O O O............... TERMINAL Utility O O O O O O O O O O 1 0 +1... Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 13
Ricerca della soluzione con Minimax Minimax: Per giochi deterministici a informazione perfetta Idea: scegli una mossa verso una posizione con il più alto valore minimax = il migliore guadagno ottenibile a fronte del miglior gioco dell avversario 1. si genera l albero del gioco 2. si applica la funzione di utilità a ciascuno stato terminale 3. si usa l utilità al livello N + 1 per determinare l utilità al livello n, scgliendo il min per le mosse dell avversario ed il max per le proprie mosse. Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 14
MA 3 A 1 A 2 A 3 MIN 3 2 2 A 11 A 12 A 13 A 21 A A 22 23 A 31 A 32 A 33 3 12 8 2 4 6 14 5 2 Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 15
Risorse limitate Supponiamo di avere 100 secondi, di esplorare 10 4 nodi/secondo 10 6 nodi per mossa Occorre ridurre lo spazio di ricerca: test di taglio (cutoff) e.g., limite di profondità funzione di valutazione = desiderabilità stimata della posizione Potatura α-β Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 16
Giochi deterministici in pratica Dama: Chinook ha concluso i 40 anni di regno del campione umano Marion Tinsley in 1994. Usa un database di chiusure di gioco che specificano le mosse con 8 pezzi sulla scacchiera, o meno, un totale di 443. 748. 401. 247 posizioni. Scacchi: Deep Blue ha vinto il campione mondiale Gary Kasparov in un match di sei partite nel 1997. Deep Blue cerca 200 milioni di posizioni al secondo, usa una funzione di valutazione molto sofisticata, e metodi (non pubblicati) per estendere alcune linee di ricerca fino a 40 turni. Otello: i campioni umani si rifiutano di competere con i calcolatori, che sono troppo bravi Go: i campioni umani si rifiutano di competere con i calcolatori, che sono troppo stupidi. Nel Go, b > 300. Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 17