Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi e ricerca.

Slides:



Advertisements
Presentazioni simili
Premessa: si assume di aver risolto (correttamente
Advertisements

Alberi binari Definizione Sottoalberi Padre, figli
Politecnico di Torino Tesi di Laurea
Estendere i linguaggi: i tipi di dato astratti
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2005/2006.
Ricerca euristica Maria Simi a.a. 2006/ /03/2017
Linguaggi di Programmazione (AA 2002/2003)
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
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 5 Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Ricerca di soluzioni a problemi Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Ricerca di soluzioni a problemi Prof. M.T. PAZIENZA a.a
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati (Mod. A)
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e strutture dati
Ricerca della Legge di Controllo
Access: Query semplici
Programmazione logica
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Conoscenza e ragionamento Logica dei predicati del primo ordine.
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Logica dei predicati del primo ordine.
Intelligenza Artificiale Risoluzione di Problemi
Intelligenza Artificiale
MOLTIPLICAZIONE COMBINATORIA
Cerchiamo di rispondere alla seconda domanda 2)La soluzione trovata con lalgoritmo goloso è ottima o esistono anche soluzioni con più di quattro attività?
Risoluzione di problemi e ricerca
ALGORITMI a.
Rete di Hopfield applicata al problema del TSP Federica Bazzano
Ricerca di soluzioni a problemi Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Politecnico di Torino INTELLIGENZA ARTIFICIALE 2012 Esempio: visita in profondità Carlo Prone
PROGETTO E REALIZZAZIONE DI UN COMPONENTE SOFTWARE PROGRAMMABILE PER LA PIANIFICAZIONE DI COMMISSIONI DI LAUREA FACOLTA’ DI INGEGNERIA Corso di Laurea.
Ricerca euristica Maria Simi a.a. 2008/2009 Ricerca euristica  La ricerca esaustiva non è praticabile in problemi di complessità esponenziale  Noi.
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
Esecuzione di un Programma [P] Una computazione corrisponde al tentativo di dimostrare, tramite la regola di risoluzione, che una formula (goal) segue.
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:
Compitino del 2004 Alberi Generici. Idea Si vuole un tipo di dato astratto che definisca una struttura ad albero in cui nodi e foglie hanno associato.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Grammatiche Grammatiche libere da contesto Grammatiche regolari
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.
Il Problema del Commesso Viaggiatore. Traveling Salesman’s Problem (TSP) Un commesso viaggiatore deve visitare un certo numero di città Conosce la distanza.
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale Risoluzione di Problemi
Intelligenza Artificiale 1 Gestione della conoscenza lezione 4 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:
Codici prefissi Un codice prefisso è un codice in cui nessuna parola codice è prefisso (parte iniziale) di un’altra Ogni codice a lunghezza fissa è ovviamente.
Gli agenti per il problem solving Maria Simi a.a 2007/2008.
Ricerca locale M. Simi, Algoritmi di ricerca locale  Efficienti in occupazione di memoria  tengono traccia solo dello stato corrente (non.
Ricerca euristica Maria Simi a.a. 2005/2006 Ricerca euristica  La ricerca esaustiva non è praticabile in problemi di complessità esponenziale  Noi.
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
Agenti risolutori di problemi Risolvere i problemi mediante ricerca Maria Simi a.a 2013/2014.
Ricerca online Maria Simi a.a. 2011/2012 Ambienti più realistici  Gli agenti risolutori di problemi “classici” assumono:  Ambienti completamente osservabili.
Ricerca euristica Maria Simi a.a. 2013/2014 Ricerca euristica  La ricerca esaustiva non è praticabile in problemi di complessità esponenziale  Noi.
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.
OTTIMIZZAZIONE DI UN PERCORSO GRAFO CAMMINO MINIMO.
Algoritmi di routing statici (pag.72) UdA2L4 Questi algoritmi, sono eseguiti solamente all'avvio della rete, e le decisioni di routing a cui essi pervengono.
1 a cura di MENNITI Prof. Salvatore LIMITI DI FUNZIONI con il Foglio Elettronico Excel.
Prof.ssa Rossella Petreschi Lezione del 17 /10/2014 del Corso di Algoritmica Lezione n°5.
Transcript della presentazione:

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi e ricerca

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Un semplice agente risolutore di problemi

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Un esempio: vacanza in Romania. Attualmente in Arad. Laereo parte domani da Bucarest. Formulare un goal: esssere in Bucarest Formulare un problema: stati: varie città operatori: guidare da una città allaltra Trovare una soluzione: sequenza di città, es: Arad, Sibiu, Faragas, Bucarest

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Il mondo dellaspirapolvere Tipi di problemi: Stato Singolo : {5} Stato Multiplo: {1,2,3,4,5,7,8} destra produce {2,4,6,8} Contingenza: {5} Aspirare dove non cè polvere può produrre dello sporco È necessario un sensore Azioni: destra, sinistra, aspira

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Formulazione di un problema a singolo stato: stato iniziale: essere in Arad operatori: Arad -> Zerind, Arad -> Sibiu etc. La funzione successore S fa passare dallo stato x agli stati S(x). Linsieme degli stgati raggiungibili definisce lo spazio degli stati. test obiettivo: esplicito: in Bucarest implicito: NonSporco(x) costo del cammino: es. Somma delle distanze, numero di operatori applicati, etc. soluzione: una sequenza di operatori che porta da uno stato iniziale a uno stato obiettivo.

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Una tipica istanza del rompicapo dell8 Stati: uno stato specifica la posizione di ciascuna delle 8 tessere. Operatori: lo spazio vuoto si muove a destra, a sinistra, sopra, sotto. Test obiettivo: lo stato rispecchia la configurazione obiettivo (Goal). Costo del cammino: ciascun passo costa 1. Il costo del cammino coincide con la sua lunghezza.

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Stati: qualsiasi configurazione da 0 a 8 regine sulla scacchiera. Operatori: aggiungi una regina in qualsiasi quadrato Test obiettivo: 8 regine sulla scacchiera, nessuna minacciata. Costo cammino: 0. Il problema delle 8 regine

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Mondo dellaspirapolvere (singolo stato). Stati: uno degli 8 stati della figura. Operatori: spostati a destra, spostati a sinistra, aspira. Test obiettivo: non lasciare alcuna sporcizia nei quadrati. Costo del cammino: ciascuna azione costa 1. Risolvere il problema da uno stato di partenza comporta seguire le frecce nel diagramma degli stati fino a uno statoi obiettivo.

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Mondo dellaspirapolvere (stato multiplo). In ogni istante lapirapolvere si trovain uno stato di un insieme ma non sa quale stato dellinsieme è. Stati: sottoinsiemi degli stati 1-8 della figura. Operatori: spostati a destra, spostati a sinistra, aspira. Test obiettivo: tutti gli stati dellinsieme degli stati non contengono sporcizia. Costo del cammino: ciascuna azione costa 1. Una soluzione del problema è una qualsiasi sequenza che porti dallinsieme iniziale degli stati ad un insieme di stati senza sporcizia.

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Cercare soluzioni Generare sequenze di azioni. Espansione: si parte da uno stato e apllicando gli operatori (o la funzione successore) si generano nuovi stati. Strategia di ricerca: ad ogni passo scegliere qiale stato espandere. Albero di ricerca: rappresenta lespansione degli stati a partire dallo stato iniziale (la radice dellalbero). Le fogle dellalbero rappresentano gli stati da espandere.

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Cercare soluzioni Strutture dati per l albero di ricerca (struttura di un nodo). Lo stato nello spazio degli stati a cui il nodo corrisponde. Il nodo genitore. Loperatore che è stato applicato per ottenere il nodo. La profondità del nodo. Il costo del cammino dallo stato iniziale al nodo

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Albero di ricerca parziale per trovare un itinerario da Arad a Bucarest.

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Lalgoritmo generale di ricerca

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Lalgoritmo generale di ricerca Tramite largomento Queuing-Fn viene passata una funzione per accodare i nodi ottenuti dallespansione

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Strategie di ricerca Una strategia di ricerca è un ordine di espansione dei nodi. Completezza: la strategia garantisce di trovare una soluzione quando ne esiste una? Complessità temporale: quanto tempo ci vuole per trovare una soluzione? Complessità spaziale: quanta memoria occorre per effettuare una ricerca? Ottimalità: la strategia trova una soluzione ottima (a costo minimo) quando ci sono varie soluzioni differenti? La complessità temporale e spaziale è misurata in termini di: b - massimo fattore di diramazione dellalbero di ricerca d - profondità della soluzione a costo minimo m - massima profondità dello spazio degli stati (può essere infinita)

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Ricerca in ampiezza QueueingFn = metti i successori alla fine della coda

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi b - massimo fattore di diramazione dellalbero di ricerca d - profondità della soluzione a costo minimo m - massima profondità dello spazio degli stati (può essere infinita)

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Ricerca in ampiezza Lo svantaggio principale è leccessiva occupazione di memoria. Nellesempio si suppone che il fattore di ramificazione sia b=10. Si espandono 1000 nodi/secondo. Ogni nodo occupa 100 byte di memoria.

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Ricerca a costo uniforme ciascun nodo è etichettato con il costo g(n) QueueingFn = inserisci i successori in ordine di costo di cammino crescente

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Ricerca in profondità si assume che i nodi di profondità 3 non abbiano successori QueueingFn = inserisci i successori allinizio della coda.

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi b - massimo fattore di diramazione dellalbero di ricerca d - profondità della soluzione a costo minimo m - massima profondità dello spazio degli stati (può essere infinita)

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Ricerca con limite di profondità Si scende lungo un ramo finchè non si trova la soluzione o si raggiunge il limite di profondità. Si evita di scendere lungo rami infiniti.

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Ricerca con approfondimento iterativo

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Ricerca con approfondimento iterativo

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi b - massimo fattore di diramazione dellalbero di ricerca d - profondità della soluzione a costo minimo m - massima profondità dello spazio degli stati (può essere infinita)

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Ricerca bidirezionale

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Confronto fra le strategie di ricerca b = fattore di ramificazione; d = profondià della soluzione; m=profondità massima dellalbero di ricerca; l=limite di profondità.

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Evitare ripetizioni di stati Uno spazio degli stati che genera un albero di ricerca esponenziale. Il lato sinistro mostra lo spazio degli stati, nel quale ci sono due azioni possibili che conducono da A a B, due da B a C e così via. Il lato destro mostra l`albero di ricerca corrispondente.

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Metodi di ricerca informati usano conoscenza specifica relativa al problema Ricerca Best First Usa una funzione di valutazione che calcola un numero che rappresenta la desiderabilità relativa allespansione di nodo. Best-first significa scegliere come nodo da espandere quello che sembra più desiderabile. QueuingFn = inserisce I successori in ordine decrescente di desiderabilità. Casi particolari: ricerca greedy (golosa) ricerca A*

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Una realizzazione della ricerca best-first che usa lalgoritmo di ricerca generale e la funzione di valutazione EvalFn

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Mappa della Romania con distanze stradali e distanze in linea daria da Bucarest

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Ricerca greedy (golosa) Funzione di valutazione h(n) (heuristic) = stima del costo dal nodo n al goal. Es. h(n) = distanza in linea daria fra n e Bucarest. La ricerca golosa espande quel nodo che sembra essere il più vicino allobiettivo (goal).

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Stadi di una ricerca golosa per Bucarest usando come funzione di valutazione la distanza in linea daria. I nodi sono etichettati con i valori di h

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Ricerca A* Evita di espandere quei cammini che sono già costosi. Funzione di valutazione f(n) = g(n) + h(n) g(n) = costo effettivo dalla radice al nodo n h(n) = costo stimato dal nodo n al nodo obiettivo (goal) f(n) = costo totale stimato di un cammino che arriva al goal passando per n La ricerca A* usa una euristica ammissibile cioè: h(n) <= h*(n) dove h*(n) è il vero costo da n al goal. (Nel nostro esempio la distanza in linea daria non svrastima mai leffettiva distanza stradale) Teorema: la ricerca A* è ottimale (e completa)

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Stadi di una ricerca A* per Bucarest usando come funzione di valutazione f = g + h ( h è la distanza in linea daria per Bucarest).

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Ottimalità di A* Mappa della Romania che mostra le frontiere f=380, f=400, f=420, con Arad come stato iniziale. I nodi dentro una frontiera hanno valori più bassi del valore della frontiera.

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Funzioni euristiche Epossibile definire differenti funzioni euristiche. Ad esempio: h 1 = numero di tessere che sono fuori posto (h 1 = 7) h 2 = la somma delle distanze dalle posizioni che le tessere devono assumere nella configurazione obiettivo. La distanza è una somma delle distanze orizzontali e verticali (distanza di Manhattan). Le tessere da 1 a 8 nello stato iniziale danno una distanza h 2 = = 18

Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi Confronto fra la ricerca ad approfondimento iterativo e lalgoritmo A* con h 1 e h 2