La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Intelligenza Artificiale marco ernandes Gennaio – Aprile 2006.

Presentazioni simili


Presentazione sul tema: "Intelligenza Artificiale marco ernandes Gennaio – Aprile 2006."— Transcript della presentazione:

1 Intelligenza Artificiale marco ernandes Gennaio – Aprile 2006

2 Intelligenza Artificiale - Game Playing 1/38 Game Playing

3 Intelligenza Artificiale - Game Playing 2/38

4 Intelligenza Artificiale - Game Playing 3/38 Cosa vedremo Come si colloca il Game Playing in relazione ad altre discipline: una visione dinsieme Tipologie di Giochi Relazioni con il Problem Solving Formalizzazione del gioco Algoritmo Minimax Ricerca di quiescenza Algoritmo di Alfa-Beta Pruning Problema dellOrizzonte ed altri… La vera sfida del Game Playing

5 Intelligenza Artificiale - Game Playing 4/38 Introduciamo nel dominio del problema altri agenti in competizione Partendo dal Problem Solving Game Playing Complichiamo: stati (congiunzioni di fatti), e operatori (legami tra fatti-condizioni e fatti-effetti, non tra stati) Planning Una visione dinsieme

6 Intelligenza Artificiale - Game Playing 5/38 Esempio di problema di Planning Stato iniziale: SILENZIO MANI_PULITE Goal: PULITO CENA_PRONTA REGALO Operatori: azione cucina: precondition MANI_PULITE effect CENA_PRONTA azione incarta: precondition SILENZIO effect REGALO azione butta_spazzatura: effect PULITO not MANI_PULITE azione aspira: effect PULITO not SILENZIO

7 Intelligenza Artificiale - Game Playing 6/38 Teoria dei Giochi Von Neumann & Morgenstern (1944) Teoria della DecisioneTeoria dei Giochi Analizzare il comportamento individuale le cui azioni hanno effetto diretto Analizzare il comportamento individuale le cui azioni hanno effetto che dipende dalle scelte degli altri Scommesse & Mondo dei Puzzle Mondo dei Giochi a + giocatori Theory of Games and Economic Behaviour

8 Intelligenza Artificiale - Game Playing 7/38 I giochi nellIA e non solo M. Minsky (1968): i giochi non vengono scelti perché sono chiari e semplici, ma perché ci danno la massima complessità con le minime strutture iniziali Pungolo Scientifico Matematica: teoria dei grafi e complessità Computer Science: database, calcolo parallelo, etc. Economia: teoria dei giochi, eco. cognitiva/sperim. Psicologia: fiducia, rischio, etc..

9 Intelligenza Artificiale - Game Playing 8/38 Tipologie di Giochi Classificazione 1 condizioni di scelta: Giochi con informazione perfetta Gli stati del gioco sono completamente espliciti per gli agenti. Giochi con informazione imperfetta Gli stati del gioco sono solo parzialmente esplicitati. Classificazione 2 effetti della scelta: Giochi deterministici Gli stati sono determinati unicamente dalle azioni degli agenti Giochi stocastici Gli stati sono determinati anche da fattori esterni (es: dadi)

10 Intelligenza Artificiale - Game Playing 9/38 Tipologie di Giochi Informazione Perfetta Informazione Imperfetta Giochi deterministici Scacchi, Go, Dama, Otello, Forza4 MasterMind (è un gioco o un puzzle?) Giochi stocastici Backgammon, Monopoli Scarabeo, Bridge, Poker… (giochi di carte) Risiko

11 Intelligenza Artificiale - Game Playing 10/38 Altre Classificazioni Numero giocatori (tutti multiagenti!) Politica del turno di giocata Diacronia (turni definiti/indefiniti) Sincronia Ambienti discreti / continui Ambienti statici / dinamici Ambienti episodici / sequenziali Giochi a somma zero Luomo agisce in un ambiente continuo, dinamico, sequenziale, a scelte sincroniche e con informazione imperfetta.

12 Intelligenza Artificiale - Game Playing 11/38 Giochi e Problem Solving (1) Si può analizzare un gioco come un problema di search, anche se multiagente? ES: gli scacchi X = tutti gli stati della scacchiera X 0 = lo stato di inizio gioco SCS(x) = le mosse legali ad uno stato T(x) = scacco matto g = numero di mosse Qualcosa non va! …

13 Intelligenza Artificiale - Game Playing 12/38 Giochi e Problem Solving (2) g non è determinante SCS(x) è sotto controllo solo per metà delle mosse e spesso non è reversibile T(x) non è sufficiente per definire la terminazione Serve una funzione di utilità sulla terminazione Es: vittoria = +1, patta = 0, sconfitta = -1 Obiettivo dellagente: definire una strategia che raggiunga T(x)=+1

14 Intelligenza Artificiale - Game Playing 13/38 Giochi e Problem Solving (3) Per inserire un gioco ad informazione perfetta in uno schema classico di search si considera che: Esiste un avversario che va simulato Lavversario minimizza il nostro utile Lalbero di ricerca si sviluppa su 2 giocatori: MAX(noi) e MIN (lavversario) Lobiettivo è raggiungere uno stato terminale di questalbero con la massimizzazione dellutilità*. *(se lavversario inizia per primo: lui diventa MAX e noi MIN con lo scopo di minimizzare lutilità)

15 Intelligenza Artificiale - Game Playing 14/38 Algoritmo Minimax (Von Neumann 28, Shannon 50) Nei giochi ad informazione perfetta si può ottenere la strategia perfetta con una ricerca esaustiva. Minimax, funzionamento di base: Si costruisce lalbero delle mosse fino ai nodi terminali Si applica la funzione di utilità U(x) ai nodi terminali Si usano i valori per calcolare lutilità dei nodi superiori: U(nodo_sup) = MAX U(nodo_inf) se la mossa spetta a MAX U(nodo_sup) = MIN U(nodo_inf) se la mossa spetta a MIN

16 Intelligenza Artificiale - Game Playing 15/38 Algoritmo Minimax MAX MIN MAX MIN In realtà è depth-first! 3

17 Intelligenza Artificiale - Game Playing 16/38 Algoritmo Minimax figli[] = SCS(nodo, agente) for all (figli){ if(END_test(figlio) == true) { figlio.utilità = UTILITY_test(figlio) } else figlio.utilità = MINIMAX(figlio, !agente) if(agente== MAX && figlio.utilità > best) best = figlio.utilità if(agente== MIN && figlio.utilità < best) best = figlio.utilità } return best MINIMAX(nodo, agente) > MAX = true, MIN = false > MINIMAX(X, MAX)

18 Intelligenza Artificiale - Game Playing 17/38 Proprietà di Minimax E completo in grafi finiti E ottimale se MIN è ottimale (e se ci sono più avversari). Se MIN non è ottimale non si può garantire lottimalità, ma… Ha complessità spaziale O(bm) perché la ricerca è in profondità.

19 Intelligenza Artificiale - Game Playing 18/38 Un problemino di Minimax Negli scacchi: "Unfortunately, the number of possible positions in the chess tree surpasses the number of atoms in the Milky Way." Claude Shannon In generale: complessità temporale = O(b m ) Negli scacchi = 2,5 x In problemi reali non si può usare. E utile solo come base teorica.

20 Intelligenza Artificiale - Game Playing 19/38 Minimax + taglio di profondità Limitare la ricerca ad una profondità max (dipendente dalla memoria e dal tempo disponibile) Come valutare lutilità dei nodi foglia? Serve una funzione di valutazione. Cioè uneuristica! Far risalire fino alla radice le stime usando minimax ed effettuare la scelta

21 Intelligenza Artificiale - Game Playing 20/38 Euristiche per Giochi Funzioni lineari pesate w 1 f 1 + w 2 f 2 + … + w n f n Per esempio negli scacchi: 1 punto x Pedone, 3 x Alfiere, 3 x Cavallo, 5 x Torre, 9 x Regina Vantaggi: la linearità permette rapidità di calcolo Svantaggi: povertà espressiva (es: Cavallo forte nelle aperture e al centro, Alfiere nelle chiusure, i valori delle combinazioni di pezzi non sono lineari) Funzioni non-lineari Es. ottenuti da learning, ma come definire i TARGET?

22 Intelligenza Artificiale - Game Playing 21/38 Un problemino del taglio Prof. 0Prof. 11Prof. 18 Euristica possibile per la Dama: Vantaggio di pezzi e vantaggio di dame Posizioni apparentemente buone possono essere perdenti

23 Intelligenza Artificiale - Game Playing 22/38 Taglio agli stati quiescenti Arrivati alla profondità di taglio: Per i nodi foglia quiescenti si applica il taglio Per i nodi non quiescenti si approfondisce lalbero con una ricerca di quiescenza Al termine della ricerca si applica il taglio Quiescenza = proprietà di uno stato la cui euristica di utilità non varia molto con lapplicazione degli operatori

24 Intelligenza Artificiale - Game Playing 23/38 Ancora un problemino Vogliamo arrivare a profondità 6 in una partita di scacchi (3 mosse MAX, 3 MIN) b = ca.35, n° nodi = ,85 x 10 9 Calcolatore veloce: 10 6 mosse/sec.! Tempo impiegato: 1850 sec. = 30min Con un limite di 30min abbiamo un giocatore mediocre

25 Intelligenza Artificiale - Game Playing 24/38 Alfa-Beta pruning (McCarthy 56) Si può ottenere la mossa MAX senza osservare esaustivamente lalbero, perché: 1) DATO U(n 0 )= utilità minimax del nodo n 0 su cui sceglie MAX 2) affinchè la scelta conclusiva di MAX sia almeno 1 nodo n (fratello di n 0 ) deve avere U(n)> 3) affinchè U(n)> per ogni nodo n successore di n deve valere h(n)> 4) QUINDI: appena un successore di n possiede U(n) il sottoalbero restante può essere potato Stesso discorso vale per MIN, quindi…

26 Intelligenza Artificiale - Game Playing 25/38 Alfa-Beta pruning (2) Nella ricerca nellalbero: Si usano 2 variabili: = valore maggiore di MAX al tempo attuale = valore minore di MIN al tempo attuale Calcolando MAX si pota il sottoramo di un nodo se un suo figlio ha valore inferiore ad ; se invece tutti i figli hanno valore maggiore il minimo diventa Calcolando MIN si pota il sottoramo di un nodo se un suo figlio ha valore maggiore a ; se invece tutti i figli hanno valore minore il massimo diventa

27 Intelligenza Artificiale - Game Playing 26/38 Alfa-Beta Pruning: Pseudo Codice MAX-VALUE(nodo, α, ß) if CUTOFF-TEST(nodo) then return EVAL(nodo) v - for all figli in SCS(nodo) { v max(v, MIN-VALUE(figlio, α, ß) ) if v ß then return v α max(v,α) } return v if CUTOFF-TEST(nodo) then return EVAL(nodo) v + for all figli in SCS(nodo) { v min(v, MAX-VALUE(figlio, α, ß)) if v α then return v ß min(v,ß) } return v MIN-VALUE (nodo, α, ß) v = utilità del nodo

28 Intelligenza Artificiale - Game Playing 27/38 Alfa-Beta pruning: simulazione 12 MAX MIN MAX MIN

29 Intelligenza Artificiale - Game Playing 28/38 Alfa-Beta pruning Caso Generale n0n0 n Se n 0 è migliore di n allora n non verrà mai raggiunto durante il gioco e quindi tutto il sottoramo corrispondente può essere potato

30 Intelligenza Artificiale - Game Playing 29/38 Efficacia della potatura Dipende dallordinamento dei nodi Ordinamento migliore: O(b ½ m ) Ordinamento pessimo: O(b m ) Ordinamento medio: O(b ¾m ) Negli scacchi: Minimax: n° nodi (d=10) > Alfa-beta: n° nodi (d=10) da a 25 6,1 Node Ordering

31 Intelligenza Artificiale - Game Playing 30/38 Ancora problemini Problema dellorizzonte Eccessiva fiducia nelleuristica Eventi stocastici Branching Factor e potenza di calcolo

32 Intelligenza Artificiale - Game Playing 31/38 Problema dellOrizzonte Un lungo periodo di quiescenza può precedere un rapido ed inevitabile peggioramento dellutilità Se il taglio in profondità è avvenuto in questa zona, valuta positivamente uno stato che è invece disastroso Problema tuttora irrisolto!

33 Intelligenza Artificiale - Game Playing 32/38 Eccessiva fiducia nelleuristica Una valutazione molto irregolare tra nodi fratelli è rischiosa, soprattutto usando Alpha-Beta Servirebbe unulteriore ricerca nel sottoramo per accertarsi della bontà della valutazione

34 Intelligenza Artificiale - Game Playing 33/38 Eventi stocastici Se in un gioco inseriamo la sorte, minimax può essere riscritto in modo da pesare la valutazione del nodo n con la probabilità che n si verifichi a partire dal nodo genitore Problema: la complessità cresce molto O(b m d m ) Alpha-Beta Pruning?

35 Intelligenza Artificiale - Game Playing 34/38 ExpectiMin / ExpectiMax –8–7–6–5–4–3–2– – – –

36 Intelligenza Artificiale - Game Playing 35/38 Branching Factor Il primo software capace di vincere a Go contro il campione del mondo vincerà $! b è di oltre 350 non ci sono algoritmi o euristiche che tengano: non si usa la ricerca per Go Negli scacchi uomo e macchine sono alla pari eppure la velocità di calcolo non è la stessa.

37 Intelligenza Artificiale - Game Playing 36/38 Alcuni risultati nel Game Playing OTHELLO: Logistello (Michael Buro) nel 1997 sconfigge il campione del mondo Takeshi Murakami per 6-0 DAMA: Chinook (Jonathan Schaeffer) nel 1994 diventa campione per forfait di Marion Tinsley (campione mondiale dal 54). BACKGAMMON: TD-gammon (Gerry Tesauro) è oggi considerato tra i 10 migliori giocatori al mondo BRIDGE: GIB (M.Ginsberg) è al livello di un amatore POKER e GO: pessime performance (per motivi diversi)

38 Intelligenza Artificiale - Game Playing 37/38 La vera sfida La vera sfida è competere con luomo ad armi pari. Luomo non usa la ricerca come metodo principale: Prima parte dai GOAL (non ben definiti) A ritroso costruisce SOTTOGOAL Pianifica: azioni subgoal goal Usa la ricerca per raggiungere obiettivi locali Ha capacità istintive di escludere le scelte inutili: riduce enormemente il branching factor Come interfacciare ragionamento goal-oriented e search?

39 Intelligenza Artificiale - Game Playing 38/38 Giocatore di Scacchi Elaboratore euristico sui nodi Motore minimax + alfa-beta pruning Gestore del livello di taglio Gestore della memoria Gestore del Tempo DataBase aperture DataBase chiusure Motore Ricerca quiescenza Elaboratore mosse forzate


Scaricare ppt "Intelligenza Artificiale marco ernandes Gennaio – Aprile 2006."

Presentazioni simili


Annunci Google