Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a. 2003-2004.

Slides:



Advertisements
Presentazioni simili
Politecnico di Torino Tesi di Laurea
Advertisements

Ricerca euristica Maria Simi a.a. 2006/ /03/2017
Algoritmi e Strutture Dati
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Alberi binari di ricerca
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Teoria e Implementazione
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Gestione dei dati e della conoscenza (agenti intelligenti) M.T. PAZIENZA a.a
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 5 Prof. M.T. PAZIENZA a.a
Scenario Archi di un grafo controllati da agenti egoistici
Sistemi basati su conoscenza Ricerca di soluzioni a problemi Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Ricerca di soluzioni a problemi Prof. M.T. PAZIENZA a.a
Identificazione delle attività
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 29/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Ricerca della Legge di Controllo
Notazioni Asintotiche e Ordini di Grandezza delle funzioni
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi e ricerca.
Intelligenza Artificiale Risoluzione di Problemi
Intelligenza Artificiale
Elementi di Informatica di base
Strutture dati per insiemi disgiunti
PARTE PRIMA: Reti Cablate
Algoritmi e Strutture Dati
Euristiche: algoritmi costruttivi e di ricerca locale
Cammini minimi da un sorgente
Ricerca di soluzioni a problemi Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Algoritmi online Maria Simi, a.a. 2007/08 Problemi di esplorazione  Gli agenti per il problem-solving assumono:  ambienti deterministici e osservabili.
Ricerca euristica Maria Simi a.a. 2008/2009 Ricerca euristica  La ricerca esaustiva non è praticabile in problemi di complessità esponenziale  Noi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Ricerca di soluzioni a problemi Prof. M.T. PAZIENZA a.a
1 Ordinamento (Sorting) INPUT: Sequenza di n numeri OUTPUT: Permutazione π = tale che a 1 ’  a 2 ’  … …  a n ’ Continuiamo a discutere il problema dell’ordinamento:
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi (parte 2) Agostino Poggi.
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale Risoluzione di Problemi
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 14 Prof. M.T. PAZIENZA a.a
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi Agostino Poggi Stefano Cagnoni.
1 Ordinamento (Sorting) Input: Sequenza di n numeri Output: Permutazione π = tale che: a i 1  a i 2  ……  a i n Continuiamo a discutere il problema dell’ordinamento:
Ricerca euristica Maria Simi a.a. 2005/2006 Ricerca euristica  La ricerca esaustiva non è praticabile in problemi di complessità esponenziale  Noi.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
I giochi con avversario Maria Simi a.a. 2008/2009.
Sistemi basati su conoscenza Ricerca di soluzioni a problemi Prof. M.T. PAZIENZA a.a
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Sesta giornata Risolvere efficientemente un problema in P: Il problema dell’ordinamento: Insertion.
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA
Algoritmi e Strutture Dati
Sistemi e Tecnologie Informatiche Complessità di calcolo.
6. LIMITI Definizione - Funzioni continue - Calcolo dei limiti
Ricerca locale Maria Simi Assunzioni sui problemi  Gli algoritmi visti esplorano gli spazi di ricerca alla ricerca di un goal e restituiscono.
Ricerca euristica Maria Simi a.a. 2013/2014 Ricerca euristica  La ricerca esaustiva non è praticabile in problemi di complessità esponenziale  Noi.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
ASD a.a.2010/2011- Lezione 12 Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi Backtracking/ Branch and Bound Lezione n°12.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Sistemi basati su conoscenza Metodi di ricerca informata
Transcript della presentazione:

Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a

Strategia di ricerca Le strategia di ricerca non informata trovano soluzioni (spesso non efficienti) a problemi generando sistematicamente nuovi stati che sono poi verificati rispetto all’obiettivo. ( possibile esplosione combinatoria dello spazio di ricerca ) Le strategia di ricerca informata, utilizzando conoscenza addizionale specifica al problema e al dominio di applicabilità, trovano soluzioni più efficienti, ovvero riducono il costo della ricerca.

Euristica - Ricerca euristica Euristica (definizioni) “tutto ciò che supporta meglio l’attività di ricerca” “lo studio di metodi e regole a supporto dell’attività di ricerca” “un processo che può risolvere un dato problema ma che non offre alcuna garanzia di farlo (euristica per quel problema)”

Euristica - Ricerca euristica Euristica (definizione di Minsky, 1961) “tutto ciò che è collegato al miglioramento delle prestazioni del problem-solving; si usa in relazione a qualsiasi metodo od espediente per migliorare l’efficienza di un programma di problem-solving” ma: Metodi imperfetti non sono necessariamente euristici, né è vero il viceversa!

Euristica - Ricerca euristica Euristica (definizione di Feigenbaum e Feldman, 1963) “una euristica (regola o metodo) è una regola, strategia, semplificazione o qualunque altro strumento che drasticamente limita la ricerca di soluzioni nello spazio degli stati del problema. Le euristiche non garantiscono soluzioni ottimali; non garantiscono soluzioni in ogni caso. Una euristica utile è ciò che offre soluzioni che sono abbastanza buone il più delle volte.

Euristica - Ricerca euristica Ricerca euristica (definizione di Nilsson, 1971) “E’ importante distinguere tra ricerca cieca e ricerca euristica: la prima corrisponde alla generazione sistematica ed al test degli elementi dello spazio di ricerca, lasciando spazio all’introduzione di informazioni addizionali sul dominio dello specifico problema. Quando tali informazioni vanno oltre le necessarie per definire una classe di problemi di ricerca, allora è possibile restringere notevolmente la ricerca. In tal caso si parla di ricerca euristica piuttosto che ricerca cieca.”

Strategia di ricerca informata Le tecniche euristiche non sono facilmente adattabili a nuovi problemi: tecniche sostanzialmente simili vengono reinventate continuamente. Esiste l’interesse nello sviluppare algoritmi di ricerca euristici generalizzati le cui proprietà possano essere studiate indipendentemente dal particolare dominio e dal programma che li usi. Dato un problema generale di rappresentazione, le tecniche di ricerca euristica più basilari possono essere studiate come variazione dei metodi di ricerca cieca per lo stesso tipo di rappresentazione del problema.

Strategia di ricerca euristica I punti in cui applicare l’informazione euristica sono relativi a: decideredecidere quali nodi espandere (invece di applicare tecniche in profondità od in ampiezza) nel corso dell’espansione del nodo, decidere quale successore/i generare (invece di una generazione cieca di tutti i possibili successori ad un dato istante) decidere che certi nodi devono essere scartati, od eliminati, dall’albero di ricerca.

Strategia di ricerca In genere la specifica strategia di ricerca si distingue per la diversa funzione di valutazione usata per determinare il prossimo nodo da espandere. L’idea generale è quella di espandere il nodo che sembra “più promettente”. Una ricerca che implementa questa idea è chiamata ricerca ordinata o best-first search. La funzione di valutazione determina il valore di desiderabilità (o non desiderabilità) dell’espansione di ogni specifico nodo.

Algoritmi di ricerca best-first I nodi sono ordinati in modo che venga espanso prima il nodo (che sembra) migliore secondo la funzione di valutazione

Funzioni di valutazione Quando tale valutazione è fornita da una stima (e non viene determinata esattamente) si parla di funzione euristica, quindi La funzione euristica h(n) stima il costo del cammino più conveniente dallo stato del nodo n ad uno stato obiettivo Ogni funzione euristica è specifica al problema

Tecniche euristiche Nei sistemi esperti le tecniche euristiche erano viste come “regole empiriche” che gli esperti del dominio potevano usare per generare “buone soluzioni” senza ricercare esaustivamente. Se le regole euristiche vengono espresse come regole, si parla di sistemi basati su regole.

Tecniche euristiche Euristica è qualunque tecnica che migliora le prestazioni del compito di risoluzione del problema nel caso medio, ma non migliora necessariamente nel caso peggiore. Negli algoritmi di ricerca si riferisce ad una funzione che fornisce una stima del costo della soluzione

Ricerca golosa Una ricerca di best-first che usa h (minimizzare il costo per raggiungere l’obiettivo) per selezionare il nodo successivo da espandere è detta ricerca golosa. Viene espanso prima il nodo giudicato più vicino allo stato obiettivo da una qualunque funzione euristica h purché: h(n)=0 se n è un nodo obiettivo La ricerca golosa è simile ad una ricerca in profondità; segue un cammino fino all’obiettivo, per tornare indietro quando si imbatte in un vicolo cieco.

Ricerca di itinerario (euristica) La distanza in linea d’aria dall’obiettivo, ovvero la distanza in linea d’aria tra n e la posizione dell’obiettivo, viene considerata una buona funzione euristica nella ricerca di un itinerario

Ricerca di itinerario (euristica)

Si può calcolare solo se si conoscono le coordinate dei nodi. Queste ultime (e altre informazioni aggiuntive) permettono alle euristiche di aiutare a ridurre il costo della ricerca

Ricerca di itinerario (euristica)

L’euristica determina un costo di ricerca minimo, trova una soluzione senza mai espandere alcun nodo che non sia sul cammino della soluzione. Non è perfettamente ottimale (ricerca golosa), tende a trovare una soluzione velocemente anche se non ottimale

Ricerca di itinerario (ricerca golosa - euristica) Ricerca non ottimale ed incompleta Può intraprendere un vicolo cieco con ricerca infinita Complessità temporale nel caso peggiore con m profondità massima dello spazio di ricerca e b fattore di ramificazione. Complessità spaziale = complessità temporale (tutti i nodi sono mantenuti in memoria) Una buona funzione euristica può ridurre le due complessità (in funzione della tipologia del problema e natura della funzione h)

Ricerca A* (euristica ammissibile) L’algoritmo A* cerca il cammino di minimo costo dal punto di partenza al nodo d’arrivo nel grafo dello spazio degli stati (ovvero il cammino contenente il minor numero di archi nel caso pesino ognuno 1). La funzione, quindi, considera che ciascun nodo n avrà due componenti: 1.il costo per raggiungere n dal nodo di partenza 2.il costo per raggiungere il nodo obiettivo dal nodo n.

Ricerca A* (euristica ammissibile) g(n) = costo del cammino dal nodo iniziale al nodo n h(n) = costo stimato del cammino più conveniente da n all’obiettivo f(n) = g(n) + h(n) f(n) = costo stimato della soluzione più conveniente attraverso n

Strategia di ricerca La “ricerca di una soluzione” avviene prima della esecuzione delle azioni corrispondenti. La ricerca di una soluzione coincide con l’identificazione di una sequenza (possibilmente la migliore) di azioni da proporre all’agente perché vengano eseguite.

Ricerca A* (euristica ammissibile) La soluzione più conveniente espande prima il nodo con il valore più basso di f Scegliere la funzione euristica h che non sopravvaluti mai il costo per raggiungere l’obiettivo Se h è ammissibile, f(n) non sopravvaluta mai il costo reale della soluzione migliore attraverso n. Lungo qualsiasi cammino che parte dalla radice, il costo di f non decresce mai (proprietà di monotonia)

Ricerca A* (euristica ammissibile)

Cercare funzioni euristiche Se per un problema esiste una collezione di euristiche ammissibili, e nessuna domina le altre, allora si pone: Usare informazioni statistiche