Intelligenza Artificiale. Ricerca euristica Algoritmo A*

Documenti analoghi
Intelligenza Artificiale. Metodi di ricerca

Intelligenza Artificiale

3.4 Metodo di Branch and Bound

trovare un percorso senza collisioni per passare da una configurazione ad un altra del sistema robotico

METODI DELLA RICERCA OPERATIVA

Gestione della produzione e della supply chain Logistica distributiva

Il problema del commesso viaggiatore

Intelligenza Artificiale. Logica proposizionale: calcolo automatico

Soluzione dei problemi di Programmazione Lineare Intera

Algoritmi di Ricerca

Il metodo dei Piani di Taglio (Cutting Planes Method)

Grafi e reti di flusso

2.2 Alberi di supporto di costo ottimo

Introduzione ai grafi

Visite in Grafi BFS e DFS

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

1) Codici convoluzionali. 2) Circuito codificatore. 3) Diagramma a stati e a traliccio. 4) Distanza libera. 5) Algoritmo di Viterbi

ESERCIZIO MIN-MAX Si consideri il seguente albero di gioco dove i punteggi sono tutti dal punto di vista del primo giocatore.

Problemi, istanze, soluzioni

Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities

Progettazione di Algoritmi

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola:

Un secondo problema : Quadrato Magico

Algoritmi e giochi combinatori

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);

Modelli di scelta del percorso (cenni)

Ricerca euristica. Funzioni di valutazione euristica. Esempi di euristica. Strategia best-first: esempio. Algoritmo di ricerca Best-First 03/03/15

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Algoritmi e Strutture Dati

Progettazione di Algoritmi

Luigi Piroddi

Operations Management

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

Minimizzazione di Reti Logiche Combinatorie Multi-livello. livello

Luigi Piroddi

Problema del cammino minimo

Intelligenza Artificiale. Lezione 6bis. Sommario. Problemi di soddisfacimento di vincoli: CSP. Vincoli CSP RN 3.8, 4.3, 4.5.

Strutture dati per rappresentare grafi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Informatica II. Capitolo 16 Backtrack

Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33

Cercare il percorso minimo Ant Colony Optimization

Cammini minimi in grafi:

Grafi: definizioni e visite

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Algoritmi di ricerca locale

Algoritmo basato su cancellazione di cicli

Esercizio 1. Esercizio 2

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Esercizi di ottimizzazione combinatoria

Grafi e Funzioni di Costo ESERCIZI

Progettazione di Algoritmi

Corso di elettrotecnica Materiale didattico: i grafi

COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04

Algoritmi di Ricerca

Intelligenza Artificiale. Problem Solving -Agenti risolutori di problemi

Esame di Sistemi ad Eventi Discreti

I giochi con avversario. I giochi con avversario. Introduzione. Giochi come problemi di ricerca. Il gioco del NIM.

Metodo di Quine- McCluskey

Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)

Algoritmi e strutture dati

Analisi multicriteria. Analisi multicriteria

Transcript:

Intelligenza Artificiale Ricerca euristica Algoritmo A* Marco Piastra Metodi di ricerca -

Ricerca non informata Ricerca nello spazio degli stati Definizione di un grafo come spazio degli stati I nodi rappresentano gli stati Gli archi (direzionati) rappresentano le transizioni Gli archi hanno un costo (per difetto = ) Ricerca come costruzione di un albero Da uno stato di partenza ad uno stato goal Dallo stato di partenza s si derivano tutti i Successors(s) Si agisce iterativamente (secondo metodi diversi, p.es. breadth-first, depth-first) Fino al raggiungimento dello stato goal Generazione sistematica I metodi di ricerca prevedono la generazione progressiva e sistematica degli stati fino a raggiungere lo stato goal Non viene usata altra informazione Spesso poco efficienti Metodi di ricerca -

Ricerca euristica In greco, il verbo heuriskein significa trovare Regole aggiuntive per migliorare il processo di ricerca Dove migliorare significa migliorare la performance media Tipicamente, i metodi di ricerca euristica: Utilizzano un metodo di ricerca di base, o non informata Introducono regole aggiuntive, di preferenza tra alternative Hanno la stessa complessità worst-case del metodo di base Descrizione Si utilizza una funzione h(s) di stima della distanza tra lo stato s e lo stato goal La ricerca è guidata da una funzione di valutazione complessiva f(s) f(s) = g(s) + h(s) dove g(s) è il costo del raggiungimento di s dallo stato iniziale Il metodo è il best-first: identico il metodo di ricerca a costo uniforme usando f(s) al posto di g(s) Metodi di ricerca - 3

Esempio di ricerca non informata (disegno di J.C. Latombe) breadth-first start goal Metodi di ricerca - 4

Esempio di ricerca euristica () (disegno di J.C. Latombe) f(s) = h(s) (h(s) numero di parti fuori posto) 5 3 3 3 4 4 4 3 3 4 0 5 4 Metodi di ricerca - 5

Esempio di ricerca euristica () (disegno di J.C. Latombe) f(s) = g(s) + h(s) (h(s) numero di parti fuori posto) 3+3 +5 +3 3+4 5+ 0+4 +3 +3 3+ 4+ 3+4 5+0 +5 +4 Metodi di ricerca - 6

Esempio di ricerca euristica (3) (disegno di J.C. Latombe) f(s) = g(s) + h(s) (h(s) somma delle distanze di ciascuna tessera dalla posizione goal) 6 5 5 4 3 4 0 6 5 Metodi di ricerca - 7

Algoritmo A* (pronuncia: a-star ) Euristica ammissibile Una funzione euristica h(s) è detta ammissibile sse 0 h(s) d(s) dove d(s) è la distanza minima (effettiva) tra s e lo stato goal in altri termini, h(s) è ottimistica: stima d(s) per difetto se s g è lo stato goal, h(s g ) = 0 Algoritmo A* Il metodo di ricerca best-first che utilizza una f(s) = g(s) + h(s) dove h(s) è un euristica ammissibile L algoritmo è completo Se una soluzione esiste, l algoritmo termina e la trova L algoritmo è efficace In presenza di soluzioni multiple, l algoritmo è in grado di trovare la migliore L algoritmo è ottimale Data un euristica h(.), nessun altro algoritmo garantisce l esplorazione di un minor numero di stati Queste proprietà valgono sse la ricerca NON si ferma nei nodi già visitati Metodi di ricerca - 8

Euristica ammissibile In generale Spesso coincide con la funzione costo di un problema con meno vincoli dell originale Tecnica di rilassamento dei vincoli Esempio (gioco dell otto): Somma delle parti fuori posto si assume che ogni parte possa essere posizionata in una mossa Sommatoria delle distanze delle singola parti dalla posizione goal si assume che il movimento di un parte non interferisca con il movimento delle altre (distanza a quadro vuoto ) Metodi di ricerca - 9

Espansione ripetuta () Ricerca non informata Ricerca breadth-first L espansione ripetuta di stati già visitati può generare cicli In generale, si utilizza una hashtable che memorizza gli stati già visitati Ricerca depth-first Si espande un ramo alla volta La verifica stati già visitati sul singolo ramo Impedisce il generarsi di cicli Non porta ad alcuna ottimizzazione La verifica stati già visitati nel corso dell intera ricerca Diminuisce il numero medio di espansioni Obbliga all uso di una hashtable complessiva che, nel caso peggiore, ha un occupazione di memoria pari a quella necessaria per il breadth-first Metodi di ricerca - 0

Espansione ripetuta () Tutto cambia in una ricerca euristica c = h = 00 La funzione euristica h(.) è ammissibile 90 00 0 Metodi di ricerca -

Espansione ripetuta () Se non si espande nuovamente il nodo già visitato, l algoritmo procede e trova una soluzione non ottimale c = h = 00 f = +00 + 90 4+90 00? 0 04 Metodi di ricerca -

Espansione ripetuta (3) Viceversa, espandendo di nuovo anche i nodi già visitati, l algoritmo trova la soluzione ottimale 00 +00 + 90 +90 4+90 00 0 0 04 Metodi di ricerca - 3

Espansione ripetuta (4) Tuttavia L espansione ripetuta provoca un aumento esponenziale delle dimensioni dell albero di ricerca (I cicli vengono identificati ed evitati comunque) Spazio degli stati Albero di ricerca + + + + + + 4 4 4 4 4 4 4 4 Metodi di ricerca - 4

Espansione ripetuta: Algoritmo A* Risultati formali In un metodo di ricerca euristica L espansione dei nodi già visitati può essere evitata senza conseguenze solo se il nuovo percorso verso lo stato ha un costo g superiore al costo dei percorsi già esplorati Algoritmo A* Con questo accorgimento, l Algoritmo A* rimane completo e ottimale Ma la complessità di memoria può essere esponenziale Metodi di ricerca - 5

Funzione euristica consistente () Definizione Una funzione euristica h(.) è consistente sse, per qualsiasi coppia s e s, s Successors(s) h(s) c(s, s ) + h(s ) dove c(s, s ) è il costo associato alla transizione h(s) si dice anche monotona s c(s, s ) s h(s) h(s ) Intuitivamente h(goal) = 0 h(.) è una stima che diventa più precisa avvicinandosi al goal Fatti Un euristica h(.) consistente è anche ammissibile Non vale il viceversa (disuguaglianza triangolare) Metodi di ricerca - 6

Funzione euristica consistente () Euristiche consistenti La tipica violazione si ha per eccesso di ottimismo Nel caso in figura, h(.) è troppo pessimistica (*raro, se h(.) è ammissibile) o h(s ) dovrebbe essere 90 c = 0 s s h = 00 Esempi: Euristiche consistenti h = 0 (tipico esempio di violazione) Gioco dell otto: numero delle parti fuori posto Gioco dell otto: sommatoria delle distanze (Manhattan) delle parti dalla posizione goal Distanza Manhattan (o a blocchi): ci si muove su una griglia ortogonale senza spostamenti in diagonale Euristiche non consistenti Movimento di un robot su una griglia: distanza Manhattan se il robot può muoversi anche in diagonale Metodi di ricerca - 7

Algoritmo A* con euristica consistente Si può dimostrare che L Algoritmo A* che utilizza un euristica consistente è completo e ottimale rimane tale anche se si evita l espansione degli stati già visitati In pratica Esplora per primi i percorsi ottimali Il percorso verso N è ottimale N N S S N Si può evitare di espandere N Metodi di ricerca - 8

Complessità di A* Con euristica consistente e spazio degli stati finito Numero di nodi espansi: O(n) dove n è il numero degli stati Complessità di calcolo: O(n ) Complessità di memoria: O(n) Metodi di ricerca - 9