La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Intelligenza Artificiale Simbolica m. ernandes, e. trentin.

Presentazioni simili


Presentazione sul tema: "Intelligenza Artificiale Simbolica m. ernandes, e. trentin."— Transcript della presentazione:

1 Intelligenza Artificiale Simbolica m. ernandes, e. trentin

2 Intelligenza Artificiale - Problem Solving 2/102 Problem SolvingIntroduzione

3 Intelligenza Artificiale - Problem Solving 3/102 Risolvere problemi E uno dei processi intellettivi che secondo il Comportamentismo richiede e definisce lattività intellettuale. 1. Induzione (Apprendimento) 2. Sussunzione (Riconoscimento) 3. Ragionamento (Deduzione) 4. Problem Solving (implica tutte le precedenti) Approccio comportamentista: Test di Turing

4 Intelligenza Artificiale - Problem Solving 4/102 Come costruire un Problem Solver ? Approccio Human-oriented (cognitivista) Deve SIMULARE lattività intelligente Risolvere problemi pensando come un uomo Approccio Machine-oriented (comport.) Deve MANIFESTARE attività intelligente Risolvere i problemi al meglio

5 Intelligenza Artificiale - Problem Solving 5/102 Approccio Machine-Oriented Problem Solver che MANIFESTA intelligenza Algoritmi di Ricerca Problem Solving = ricerca nello spazio degli stati. Perchè? PS = Hard Computing Il bias della potenza di calcolo: Con calcolatori sufficientemente potenti si può attaccare ogni tipo di problema. Falso: l'esplosione combinatoria rende futile la forza bruta

6 Intelligenza Artificiale - Problem Solving 6/102 Cosa è un problema? ( I ) Problema è un concetto non definibile, solo esemplificabile. (Nilsson, 1982) Alcuni esempi: I puzzle da tavola in genere NP Commesso viaggiatore Rompicapo come il Cubo di Rubik SAT, Dimostrazione teoremi Giochi (Dama, Scacchi, etc.) VLSI

7 Intelligenza Artificiale - Problem Solving 7/102 Cosa è un problema? ( II ) Formalizzazione: 5-tupla di elementi: P={X,SCS,x 0,g,t} Formalizzare = astrarre un problema

8 Intelligenza Artificiale - Problem Solving 8/102 Problem Solving Ricerca nello spazio degli stati Blind Search

9 Intelligenza Artificiale - Problem Solving 9/102 Grafi e strategie Spazio degli Stati X Spazio della Ricerca (SCS(SCS(…(x 0 )…))) Alberi Nodi Cosa vuol dire trovare una soluzione? Cosa è una strategia di ricerca?

10 Intelligenza Artificiale - Problem Solving 10/102 Valutare le strategie 4 criteri fondamentali: Completezza Ottimalità Complessità Spaziale Complessità Temporale Le regole doro di J.Pearl (1984) Non dimenticarsi di cercare sotto ogni pietra Non alzare due volte la stessa

11 Intelligenza Artificiale - Problem Solving 11/102 Ricerca Cieca Come espandere un nodo? Coda Coda dei nodi aperti: CODA.insert(node); node = CODA.remove(); Lordinamento dei nodi in CODA determina la strategia di ricerca

12 Intelligenza Artificiale - Problem Solving 12/102 Algoritmo Generale di Search Struttura Generale 1.if (goal_test(x 0 )== true) return SUCCESS 2.else CODA.insert(x 0 ) 3.do { if (CODA.isEmpty()) return FAILURE nodo = CODA.remove() figli[] = SCS(nodo) CODA.insert(figli) } while( goal_test(nodo)== false ) 4.return SUCCESS

13 Intelligenza Artificiale - Problem Solving 13/102 Breadth First Ricerca in Ampiezza Usa una memoria FIFO E un algoritmo difensivo E completo e ottimale Complessità spaziale: O(b d ) Complessità temporale: O(b d )

14 Intelligenza Artificiale - Problem Solving 14/102 Breadth First - simulazione GOAL

15 Intelligenza Artificiale - Problem Solving 15/102 Alcuni numeri depthN° nodiTempoMemoria msec11 KB ,1 sec1 MB 6 > sec>100 MB 8 > min>10 GB 10 > ore>1 TB 12 > giorni>100 TB 14 > anni>10000 TB b =10, velocità ricerca = 100 mila nodi/sec., 100 byte/nodo Korf: dagli anni 60 la velocità di ricerca è cresciuta di 2 x Quasi il 50% del contributo va ai miglioramenti algoritmici.

16 Intelligenza Artificiale - Problem Solving 16/102 Depth First Ricerca in Profondità Usa una memoria LIFO E un algoritmo aggressivo E non completo e non ottimale Complessità temporale: O(b d ) Complessità spaziale: O(db)

17 Intelligenza Artificiale - Problem Solving 17/102 Depth First - simulazione GOAL backtracking

18 Intelligenza Artificiale - Problem Solving 18/102 Come migliorarli? Conoscendo lo stato goal Non ripetendo gli stati Evitando di espandere lo stato di provenienza Evitando i cicli In generale: evitando di generare nodi con stati già visitati nella ricerca Conoscendo il costo degli operatori

19 Intelligenza Artificiale - Problem Solving 19/102 Ricerca Bidirezionale (sfruttare la conoscenza dello stato goal) Ricerca in Ampiezza Dallo stato iniziale verso il goal Dal goal verso lo stato iniziale Quando termina? Perché non usare 2 depth first? E completa e ottimale Complessità spaziale: O(b d/2 ) Complessità temporale: O(b d/2 )

20 Intelligenza Artificiale - Problem Solving 20/102 Ricerca Bidirezionale - Simulazione GOAL X0X0

21 Intelligenza Artificiale - Problem Solving 21/102 Ricerca a profondità limitata (evitare di cadere in loop infiniti) Ricerca in profondità Si stabilisce una profondità massima l Se la coda è vuota al raggiungimento di l si ritorna un fallimento Non è completa (se l< d) né ottimale Complessità spaziale: O(b l ) Complessità temporale: O(b l ) PRO: evita loop infiniti senza usare memoria! CON: richiede conoscenza a priori del problema

22 Intelligenza Artificiale - Problem Solving 22/102 Iterative Deepening Search (evitare di cadere in loop infiniti) Ricerca a profondità limitata Passo 1: l = 0 Passo 2: si applica la ricerca a profondità limitata partendo da X 0 se la coda è vuota al raggiungimento di l si reitera il passo 2 aumentando l E ottimale e completa Complex. temporale: (d+1)1 + (d)b + (d-1)b 2 + … + (1)b d = O(b d ) Complex. spaziale: O(bd) CONTRO: si espandono più volte gli stessi stati. b d (b/(b-1)) 2

23 Intelligenza Artificiale - Problem Solving 23/102 Iterative Deepening - sim Iterazione: 0

24 Intelligenza Artificiale - Problem Solving 24/102 Iterative Deepening - sim Iterazione: 1

25 Intelligenza Artificiale - Problem Solving 25/102 Iterative Deepening - sim Iterazione: 2

26 Intelligenza Artificiale - Problem Solving 26/102 Iterative Deepening - sim GOAL Iterazione: 3

27 Intelligenza Artificiale - Problem Solving 27/102 Ricerca a costo uniforme (sfruttare la conoscenza del costo degli operatori) La Breadth First Search minimizza il costo di cammino della soluzione se la funzione di costo per ogni operatore è costante (es: 1) funzione di costo: g(n) La Uniform-Cost Search minimizza il costo di cammino anche con operatori a costo variabile (es: commesso viaggiatore) Requisito: g(n) <= g(SCS(n)), cioè costo non negativo Altrimenti non cè strategia che tenga! E completa e ottimale.

28 Intelligenza Artificiale - Problem Solving 28/102 Ricerca a costo uniforme - Sim COSTO: GOAL 232

29 Intelligenza Artificiale - Problem Solving 29/102 Problem Solving Ricerca nello spazio degli stati Heuristic Search

30 Intelligenza Artificiale - Problem Solving 30/102 Cosa è uneuristica? Qualsiasi cosa che serva di supporto in un processo decisionale E una conoscenza, magari imperfetta, del dominio in cui ci troviamo Un esempio reale: la Carta di Mercatore Tipicamente nel Problem Solving: Valutazione del costo di cammino futuro

31 Intelligenza Artificiale - Problem Solving 31/102 Come usare uneuristica? X0X0 Actual State (n) Goal State g(n) h(n) f(n)

32 Intelligenza Artificiale - Problem Solving 32/102 Due Esempi di Euristiche Tessere fuori posto h fp (n) = 5 Distanza di Manhattan h m (n) = 11

33 Intelligenza Artificiale - Problem Solving 33/102 Proprietà generali delle Euristiche Ammissibilità: h(n) è ammissibile se h(n) h*(n) Dominanza: h 2 domina h 1 se h 1 (n) h 2 (n) e h 1 & h 2 sono ammissibili

34 Intelligenza Artificiale - Problem Solving 34/102 Proprietà generali delle Euristiche 2 Consistenza: h(n) è consistente se Monotonicità: h(n) è monotona se n c(n,n) h(n) n

35 Intelligenza Artificiale - Problem Solving 35/102 Dim: consistenza = ammissibilità 1. Per def: h(n) c(n,n) + h(n) (n,n) 2. Allora possiamo sostituire n con un nodo risolvente 3. quindi: h(n) c(n, ) + h( ) 4. h( ) = 0 e c(n, ) = h*(n) per * (percorso ottimo) 5. da 3 e 4 abbiamo che h(n) h*(n) Dim: monotonicità = consistenza 1. Per def: h(n) c(n,n) + h(n) n,n SCS(n) 2. e anche: h(n) c(n,n) + h(n) n,n SCS(n) 3. ripetendo il punto 2 con: n n e c(n,n) c(n,n) + c(n,n) rimane garantito che h(n) c(n,n) + h(n) n,n SCS(…(SCS(n))…) 4. quindi: h(n) c(n,n) + h(n) (n,n)

36 Intelligenza Artificiale - Problem Solving 36/102 Esempi di Euristiche Ammissibili A) Tessere Fuori Posto B) Distanza di Manhattan C) h 3 =h fp + h m non è ammissibile! Navigazione Robot tra ostacoli h(n) = Distanza in linea retta (se il costo degli step è 1 per movimento ortogonale e per movimento diagonale)

37 Intelligenza Artificiale - Problem Solving 37/102 Euristica di Manhattan Somma delle distanze ortogonali delle parti (le tessere nel Puzzle di Sam-Loyd) dalle loro posizioni nel goal state. E ammissibile E monotona. Rispetta la parità di h*(n) E pienamente informata quando siamo vicini allobiettivo

38 Intelligenza Artificiale - Problem Solving 38/102 Algoritmi di Ricerca Euristica Hill-Climbing Best-First Search Algoritmi Greedy Algoritmi A* Algoritmo Generale: WA* Memory Bounded Search IDA*, SMA* Ricerca a miglioramenti Iterativi Simulated Annealing

39 Intelligenza Artificiale - Problem Solving 39/102 Hill-Climbing Search Si usa unicamente la funzione euristica Non cè backtracking Non si usa memoria Non è ottimale Non è completo Minimi locali GOAL 53

40 Intelligenza Artificiale - Problem Solving 40/102 Best-First Ottimale: A* (Hart, Nilsson and Raphael, 1968) A* = un nome ambizioso Funzione di valutazione f(n)=g(n)+h(n) Caratteristiche: Ottimale Completo Complex time & space: O(b d ) Ottimamente efficiente

41 Intelligenza Artificiale - Problem Solving 41/102 Algoritmo A* 1.if (goal_test(x 0 )== true) return SUCCESS 2.else OPEN.insert(x 0, g(x 0 )+h(x 0 ) ) 3.do { if (OPEN.isEmpty()) return FAILURE nodo = OPEN.remove() CLOSED.insert(nodo) figli[] = SCS(nodo) for all figli{ if (!CLOSED.contains(figlio)) OPEN.insert(figlio, g(figlio)+h(figlio)) } } while( goal_test(nodo)== false ) 4.return SUCCESS

42 Intelligenza Artificiale - Problem Solving 42/102 Dimostrazioni A* è un algoritmo ottimale A* è un algoritmo completo

43 Intelligenza Artificiale - Problem Solving 43/102 A* = algoritmo ottimale Per ASSURDO: A* espande da OPEN 2 e 2 non è la soluzione ottima n * n0n0 1. per definizione g( 2 ) > f* 2. sia n * nodo foglia (in OPEN) 3. se h è ammissibile allora f(n) f* 4. 2 viene preferito a n quindi f(n) f( 2 ) 5. da 3 e 4 abbiamo che f* f( 2 ) 6. dato che 2 è finale allora h( 2 )=0 e f( 2 )= g( 2 ) 7. da 5 e 6 abbiamo che f* g( 2 ) che contraddice il punto 1

44 Intelligenza Artificiale - Problem Solving 44/102 A* = algoritmo completo Per ASSURDO: A* ritorna un insuccesso o non termina 1. A* ritorna un insuccesso se OPEN è vuota 2. OPEN si svuota se nessuna foglia ha figli 3. se esiste un tra n 0 e allora per ogni n esiste un figlio 4. da 2 e 3 deriva che se esiste allora OPEN non si svuota e A* non ritorna un insuccesso 5. se è di lunghezza finita allora A* termina anche in grafi infiniti grazie alluso di g(n): perché g(n) < n 6. due condizioni per la completezza: - costo di un infinito = - * non infinito

45 Intelligenza Artificiale - Problem Solving 45/102 Best-First Generale: WA* (Ira Pohl, 1970) Funzione di valutazione f(n) = (1-w)g(n) + wh(n) w = 0 ricerca breadth-first w = 0,5 ricerca A* w = 1 ricerca Greedy Come cambia il costo della ricerca? w < 0,5 non ha senso, quindi: Funzione di valutazione f(n) = g(n) + w h(n) Crescendo w la ricerca diventa sempre più greedy Il costo delle soluzioni è limitato superiormente da: wC* (se w > 1)

46 Intelligenza Artificiale - Problem Solving 46/102 WA*: alcuni risultati sul 15-puzzle w MosseNodi 1 52,7380 x ,5 56,6500 x ,579 x , ,37000

47 Intelligenza Artificiale - Problem Solving 47/102 Iterative Deepening A* (IDA*) (Korf, 1985) Una innovazione attesa 1985: prime soluzioni ottime del gioco del 15 Eredita due qualità: linear space search: O(bd) da DFID ottimalità da A* E completo, complex. temp = O(b d )

48 Intelligenza Artificiale - Problem Solving 48/102 Algoritmo IDA* Come funziona: Ha una soglia di costo: threshold. Funzione di valutazione f(n) = g(n) + h(n) Ha una LISTA di nodi LIFO SE f(n) threshold si espande il nodo. SE la LISTA è vuota si ricominca da capo la ricerca aggiornando threshold

49 Intelligenza Artificiale - Problem Solving 49/102 Algoritmo IDA* 1.if (goal_test(x 0 )== true) return SUCCESS 2. soglia = g(x 0 )+h(x 0 ) 3. LISTA.insert(x 0 ) 4.do { nodo = LISTA.remove() figli[] = SCS(nodo) for all figli{ if (g(figlio)+h(figlio) soglia) LISTA.insert(figlio) } } while( goal_test(nodo)== false and !LISTA.isEmpty()) if(goal_test(nodo)== true) return SUCCESS else{ update(soglia) GOTO 3 } ?

50 Intelligenza Artificiale - Problem Solving 50/ IDA* Simulazione Threshold: 3

51 Intelligenza Artificiale - Problem Solving 51/ IDA* Simulazione Threshold: 5

52 Intelligenza Artificiale - Problem Solving 52/ IDA* Simulazione Threshold: 7

53 Intelligenza Artificiale - Problem Solving 53/102 b =ca. 4 Formalizzazione Problemi: Il Puzzle di Sam Loyd X = tutte le configurazioni SCS(x) = tutti gli operatori di x x 0 = configurazione random g = unitario per ogni SCS t = configurazione ordinata N! configurazioni risolvibili operatori (non-reversibili) N!/2 b = ca.3

54 Intelligenza Artificiale - Problem Solving 54/102 Formalizzazione Problemi: Cubo di Rubik X = tutte le configurazioni SCS(x) = tutti gli operatori di x x 0 = configurazione random g = unitario per ogni SCS* t = configurazione ordinata** 8! 12! configurazioni risolvibili operatori utili su x (8! 12! )/12 * se si usa costo unitario h(n) deve essere normalizzato a 1! ** per usare manhattan si associa ad un lato il colore delle tessere centrali ca.11 1)Non ha senso ruotare la stessa faccia due volte consecutive 2)Muovere due facce opposte consecutivamente equivale alla sola mossa dellasse centrale 3)Dopo aver mosso la faccia A e poi la faccia B, va mossa una delle altre 4 facce rimanenti.


Scaricare ppt "Intelligenza Artificiale Simbolica m. ernandes, e. trentin."

Presentazioni simili


Annunci Google