La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca.

Presentazioni simili


Presentazione sul tema: "Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca."— Transcript della presentazione:

1 Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca

2 Slides Intelligenza Artificiale, Vincenzo Cutello2 Outline Agenti risolutori di problemi Agenti risolutori di problemi Tipi di problema Tipi di problema Formulazione del problema Formulazione del problema Esempi di problemi Esempi di problemi Algoritmi di base per la ricerca Algoritmi di base per la ricerca

3 Slides Intelligenza Artificiale, Vincenzo Cutello3 Agenti risolutori di problemi Forma ristretta di un agente generale function SIMPLE-PROBLEM-SOLVING-AGENT(p) returns un azione Inputs: p, una percezione Static: s, una sequenza di azioni, inizialmente vuota state, una qualche descrizione dello stato corrente del mondo g, un obiettivo, inizialmente nullo problem, una formulazione del problema state UPDATE-STATE(state,p) if s è vuota then g FORMULATE-GOAL(state) problem FORMULATE-PROBLEM(state,g) s SEARCH(problem) action RECOMMENDATION(s,state) s REMAINDER(s,state) Return action Nota: questa è una risoluzione di problema offline La risoluzione di problemi online implica azioni senza una completa conoscenza del problema e della soluzione

4 Slides Intelligenza Artificiale, Vincenzo Cutello4 Esempio: Canada Montreal Edmonton Dawson Quèbec Vancouver Whitehorse Calgary Regina St. Johns Churchill Winnipeg Toronto Halifax Ottawa

5 Slides Intelligenza Artificiale, Vincenzo Cutello5 Esempio: Canada Vacanza in Canada; attualmente a Whitehorse. Il volo parte domani da Ottawa Formulazione dellobiettivo: essere ad Ottawa Formulazione del problema: stati: la varie città operatori: guidare da una città allaltra Trovare la soluzione: sequenza di città, cioè, Whitehorse, Edmonton, Winnipeg, Ottawa

6 Slides Intelligenza Artificiale, Vincenzo Cutello6 Tipi di problema Deterministico, accessibile problema a stato singolo Deterministico, inaccessibile problema a stato multiplo Nondeterministico, inaccessibile problema di contingenza – –è necessario luso di sensori durante lesecuzione – –la soluzione è un albero – –spesso ricerca interleave, esecuzione Spazio degli stati sconosciuto problema di esplorazione (online)

7 Slides Intelligenza Artificiale, Vincenzo Cutello7 Esempio: il mondo dellaspirapolvere Stato singolo, inizia al #5 Soluzione ?? Stato multiplo, inizia al {1,2,3,4,5,6,7,8} Cioè, Destra va al {2,4,6,8} Soluzione ?? Contingenza, inizia al #5 Legge di Murphy: si può sporcare un tappeto pulito Sensori locali: presenza e posizione della polvere. Soluzione?? Soluzione ??

8 Slides Intelligenza Artificiale, Vincenzo Cutello8 Formulazione del problema a stato singolo Un problema è definito da quattro elementi: Stato iniziale cioè, a Whitehorse Operatori (o funzione successore S(x)) cioè, Whitehorse DawsonWhitehorse Vancouver etc. Verifica dellobiettivo, può essere esplicito, cioè, x = a Ottawa implicito, cioè, Non_Sporco(x) Costo del cammino (additivo) cioè, somma delle distanze, numero di operatori eseguiti, etc. Una soluzione è una sequenza di operatori che conduce dallo stato iniziale allo stato obiettivo

9 Slides Intelligenza Artificiale, Vincenzo Cutello9 Selezionando uno spazio degli stati Il mondo reale è assurdamente complesso quindi lo spazio degli stati deve essere astratto per la risoluzione del problema (Astratto) stato = insieme di stati reali (Astratto) operatore = combinazione complessa di stati reali cioè, Whitehorse Dawson rappresenta un insieme complesso di rotte, fermate, etc. Per garantire la realizzabilità, a un qualsiasi stato reale a Whitehorse deve corrispondere un qualche stato reale a Dawson (Astratto) soluzione = linsieme dei percorsi reali che sono soluzione nel mondo reale Ogni azione astratta dovrebbe essere più facile rispetto al problema originale

10 Slides Intelligenza Artificiale, Vincenzo Cutello10 Esempio: Il puzzle a 8 Stati ??: Posizioni intere delle tessere (ignoriamo le posizioni intermedie) Stati ??: Posizioni intere delle tessere (ignoriamo le posizioni intermedie) Operatori ??: Muovi il bianco a sinistra, destra, sopra, sotto Operatori ??: Muovi il bianco a sinistra, destra, sopra, sotto Verifica dellobiettivo ??: = stato obiettivo (dato) Verifica dellobiettivo ??: = stato obiettivo (dato) Costo del cammino ??: 1 per mossa Costo del cammino ??: 1 per mossa Nota: La soluzione ottima per la famiglia dei puzzle a n è NP-hard Stato inizialeStato finale

11 Slides Intelligenza Artificiale, Vincenzo Cutello11 Grafo dello spazio degli stati per il mondo dellaspirapolvere Stati ??: Locazione dello sporco e del robot (ignoriamo la quantità di sporco) Stati ??: Locazione dello sporco e del robot (ignoriamo la quantità di sporco) Operatori ??: Sinistra, Destra, Aspira Operatori ??: Sinistra, Destra, Aspira Verifica dellobiettivo ??: assenza di sporco Verifica dellobiettivo ??: assenza di sporco Costo del cammino ??: 1 per operatore Costo del cammino ??: 1 per operatore S D SS S A A DD D A A S A SD A D S S A R D A

12 Slides Intelligenza Artificiale, Vincenzo Cutello12 Esempi: Il problema delle 8 regine; Il problema delle 8 regine; Per ognuno: Stati – Operatori – Obiettivo - Costo Criptoaritmetica undici + dieci = ventuno ; Criptoaritmetica undici + dieci = ventuno ; Missionari e cannibali (capre e cavoli); Missionari e cannibali (capre e cavoli);

13 Slides Intelligenza Artificiale, Vincenzo Cutello13 Esempio: Il problema delle 8 regine; Il problema delle 8 regine; Stati ?? Operatori ?? Obiettivo ?? Costo ??

14 Slides Intelligenza Artificiale, Vincenzo Cutello14 Esempi: Per ognuno: Stati – Operatori – Obiettivo - Costo Criptoaritmetica undici + dieci = ventuno ; Criptoaritmetica undici + dieci = ventuno ; Missionari e cannibali (capre e cavoli); Missionari e cannibali (capre e cavoli);

15 Slides Intelligenza Artificiale, Vincenzo Cutello15 Esempio: SOKOBAN; SOKOBAN; Stati ?? Operatori ?? Obiettivo ?? Costo ??

16 Slides Intelligenza Artificiale, Vincenzo Cutello16 Algoritmi di ricerca Idea di base: offline, esplorazione simulata dello spazio degli stati tramite la generazione di successori di stati già esplorati function GENERAL-SEARCH(problem,strategy) returns una soluzione, o un fallimento inizializza lalbero di ricerca usando lo stato iniziale del problema loop do if non ci sono candidati per lespansione then return fallimento scegli una foglia per lespansione in accordo alla strategia if il nodo contiene uno stato obiettivo then return la soluzione corrispondente else espandi il nodo, aggiungendo i nodi risultanti allalbero di ricerca end

17 Slides Intelligenza Artificiale, Vincenzo Cutello17 Esempio di ricerca generale Whitehorse DawsonVancouver Edmonton WhitehorseWinnipegCalgaryChurchill ReginaChurchillOttawaToronto

18 Slides Intelligenza Artificiale, Vincenzo Cutello18 Implementazione di algoritmi di ricerca function GENERAL-SEARCH(p:problem, QUEUING-FN) returns una soluzione o fallimento nodi MAKE-QUEUE(MAKE-NODE(INITIAL-STATE[p])) loop do if nodi è vuoto then return fallimento nodo REMOVE-FRONT(nodi) if GOAL-TEST[p] applicato a STATE(nodo) si verifica then return nodo nodi QUEUING-FN(nodi, EXPAND(nodo,OPERATORS[p])) end

19 Slides Intelligenza Artificiale, Vincenzo Cutello19 Implementazione: stati vs. nodi Uno stato è una (rappresentazione di) una configurazione fisica Un nodo è una struttura dati che costituisce una parte dellalbero di ricerca Include genitore, figli, profondità o costo del cammino g(x) Gli stati non hanno genitori, figli, profondità, o costo del cammino ! La funzione EXPAND crea nuovi nodi, riempendo i vari campi e usando OPERATORS (o SuccessorsFn) del problema per creare gli stati corrispondenti figli genitori stato profondità = 6 g = 6

20 Slides Intelligenza Artificiale, Vincenzo Cutello20 Strategie di ricerca Una strategia è definita stabilendo lordine di espansione dei nodi. Le strategie sono valutate mediante i seguenti criteri: completezza – la soluzione viene sempre trovata se questa esiste ? complessità temporale – numero di nodi generati/espansi complessità spaziale – massimo numero di nodi in memoria ottimalità – viene sempre trovata la soluzione meno costosa ? La complessità spaziale e temporale sono misurate in termini di b – massimo fattore di ramificazione dellalbero di ricerca d – profondità della soluzione meno costosa m – massima profondità dello spazio degli stati (potrebbe essere infinito)

21 Slides Intelligenza Artificiale, Vincenzo Cutello21 Strategie di ricerca non informata Le strategie non informate usano soltanto linformazione disponibile nella definizione del problema Ricerca breadth-first Ricerca a costo uniforme Ricerca depth-first Ricerca depth-first limitata Ricerca iterativa

22 Slides Intelligenza Artificiale, Vincenzo Cutello22 Ricerca breadth-first Espandi il nodo meno profondo non espanso Implementazione: QUEUEINGFN = metti i nodi successori alla fine della coda

23 Slides Intelligenza Artificiale, Vincenzo Cutello23 Ricerca breadth-first Edmonton Whitehorse VancouverDawson WhitehorseChurchillWhitehorseCalgary Whitehorse Churchill Winnipeg

24 Slides Intelligenza Artificiale, Vincenzo Cutello24 Proprietà della ricerca breadth-first Completa ?? Si (se b è finita) Si (se b è finita) Tempo ?? 1+b+b 2 +b 3 +…+b d =O(b d ), cioè, esponenziale in d 1+b+b 2 +b 3 +…+b d =O(b d ), cioè, esponenziale in d Spazio ?? O(b d ) (mantiene ogni nodo in memoria) O(b d ) (mantiene ogni nodo in memoria) Ottimalità ?? Si (se il costo = 1 ad ogni passo); non ottimale in generale Si (se il costo = 1 ad ogni passo); non ottimale in generale Lo spazio è il grande problema; si possono facilmente generare nodi a 1MB/sec così 24hrs = 86GB

25 Slides Intelligenza Artificiale, Vincenzo Cutello25 Canada con costi in Km Montreal Edmonton Dawson Quèbec Vancouver Whitehorse Calgary Regina St. Johns Churchill Winnipeg Toronto Halifax Ottawa

26 Slides Intelligenza Artificiale, Vincenzo Cutello26 Ricerca a costo uniforme Espandi il nodo meno costoso non ancora espansoImplementazione: QUEUEINGFN = inserisce i nodi in ordine crescente rispetto al costo del cammino

27 Slides Intelligenza Artificiale, Vincenzo Cutello27 Ricerca a costo uniforme Whitehorse EdmontonDawson WhitehorseChurchillWinnipegCalgary Churchill Whitehorse Vancouver

28 Slides Intelligenza Artificiale, Vincenzo Cutello28 Proprietà della ricerca a costo uniforme Completa ?? Si, se il costo di ogni passo è ε Si, se il costo di ogni passo è ε Tempo ?? # di nodi con g costo della soluzione ottima # di nodi con g costo della soluzione ottima Spazio ?? # di nodi con g costo della soluzione ottima # di nodi con g costo della soluzione ottima Ottimalità ?? Si Si

29 Slides Intelligenza Artificiale, Vincenzo Cutello29 Ricerca depth-first Espandi il nodo più profondo non ancora espansoImplementazione: QUEUEINGFN = inserisce i nodi allinizio della coda

30 Slides Intelligenza Artificiale, Vincenzo Cutello30 Ricerca depth-first Whitehorse Dawson EdmontonVancouver WhitehorseChurchill DawsonVancouverEdmonton

31 Slides Intelligenza Artificiale, Vincenzo Cutello31 La ricerca depth-first può eseguire percorsi con infiniti cicli La ricerca depth-first può eseguire percorsi con infiniti cicli Necessitiamo di uno spazio di ricerca finito e non ciclico (o un controllo sulla ripetizione degli stati) Necessitiamo di uno spazio di ricerca finito e non ciclico (o un controllo sulla ripetizione degli stati) Ricerca Depth-first: Problemi

32 Slides Intelligenza Artificiale, Vincenzo Cutello32 Proprietà della ricerca depth-first Completezza ?? No: fallisce in spazi con profondità infinita, spazi con cicli No: fallisce in spazi con profondità infinita, spazi con cicli Evitando la ripetizione degli stati attraverso il cammino completezza in spazi finiti Evitando la ripetizione degli stati attraverso il cammino completezza in spazi finiti Tempo ?? O(b m ): terribile se m è molto più grande di d ma se le soluzioni sono dense, potrebbe essere più veloce della breadth-first O(b m ): terribile se m è molto più grande di d ma se le soluzioni sono dense, potrebbe essere più veloce della breadth-first Spazio ?? O(bm), cioè, spazio lineare ! O(bm), cioè, spazio lineare ! Ottimalità ?? No No

33 Slides Intelligenza Artificiale, Vincenzo Cutello33 Ricerca a profondità limitata = ricerca depth-first con limite di profondità = ricerca depth-first con limite di profondità lImplementazione: I nodi a profondità non hanno successori I nodi a profondità h non hanno successori

34 Slides Intelligenza Artificiale, Vincenzo Cutello34 Ricerca iterativa function ITERATIVE-DEEPENING-SEARCH(problema) returns una soluzione input: problema, un problema for h 0 to do risultato DEPTH-LIMITED-SEARCH(problem, h) if P(risultato) if P(risultato) then return risultato end

35 Slides Intelligenza Artificiale, Vincenzo Cutello35 Ricerca iterativa h=0 Whitehorse

36 Slides Intelligenza Artificiale, Vincenzo Cutello36 Ricerca iterativa h=1 Whitehorse Edmonton DawsonVancouver

37 Slides Intelligenza Artificiale, Vincenzo Cutello37 Ricerca iterativa h=2 Whitehorse Edmonton DawsonVancouver Whitehorse Churchill Whitehorse CalgaryChurchill WinnipegWhitehorse Calgary

38 Slides Intelligenza Artificiale, Vincenzo Cutello38 Proprietà della ricerca iterativa Completezza ?? Si Si Tempo ?? (d+1)b 0 +db 1 +(d-1)b 2 +…+b d =O(b d ) (d+1)b 0 +db 1 +(d-1)b 2 +…+b d =O(b d ) Spazio ?? O(bd) O(bd) Ottimalità ?? Si, se il costo di un passo = 1 Si, se il costo di un passo = 1 Può essere modificata per esplorare alberi a costo uniforme Può essere modificata per esplorare alberi a costo uniforme

39 Slides Intelligenza Artificiale, Vincenzo Cutello39 Riassunto Solitamente la formulazione del problema richiede astrazione dai dettagli del mondo reale per definire uno stato degli spazi che può essere facilmente esplorato Solitamente la formulazione del problema richiede astrazione dai dettagli del mondo reale per definire uno stato degli spazi che può essere facilmente esplorato Varietà di strategie di ricerca non informata Varietà di strategie di ricerca non informata La ricerca iterativa usa spazio lineare e non molto più tempo degli altri algoritmi di ricerca non informata La ricerca iterativa usa spazio lineare e non molto più tempo degli altri algoritmi di ricerca non informata


Scaricare ppt "Slides Intelligenza Artificiale, Vincenzo Cutello 1 Risoluzione di problemi e ricerca."

Presentazioni simili


Annunci Google