Ricerca locale M. Simi, 2006-2007 Algoritmi di ricerca locale  Efficienti in occupazione di memoria: tengono traccia solo dello stato corrente (non.

Slides:



Advertisements
Presentazioni simili
Apprendimento per rinforzo
Advertisements

Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato D’Ambrosio
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2005/2006.
Ricerca euristica Maria Simi a.a. 2006/ /03/2017
AGENTI CHE RISOLVONO PROBLEMI Ottimizzazione euristica
Generazione di Piani attraverso Grafi di Pianificazione
Bin Packing Problem Best Bins Last Gruppo 7 Claudio Graffone
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Evolvere robot stigmergici in Evorobot*
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Alberi binari di ricerca
Teoria e Implementazione
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
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
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
Apprendimento per rinforzo
Apprendimento Automatico: Apprendimento per Rinforzo Roberto Navigli Apprendimento Automatico: Apprendimento per Rinforzo.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 19/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati Alberi Binari di Ricerca.
Alberi di Ricorrenza Gli alberi di ricorrenza rappresentano un modo conveniente per visualizzare i passi di sostitu- zione necessari per risolvere una.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Modello dati ALBERO Albero: Albero: insieme di punti chiamati NODI e linee chiamate EDGES EDGE: linea che unisce due nodi distinti Radice (root): in una.
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi e ricerca.
Intelligenza Artificiale Risoluzione di Problemi
CALCOLO EVOLUZIONISTICO. In ogni popolazione si verificano delle mutazioni. Le mutazioni possono generare individui che meglio si adattano allambiente.
Intelligenza Artificiale
Algoritmi Genetici Alessandro Bollini
Seminario di Metodi Matematici per l’Ottimizzazione
Algoritmi e Strutture Dati
Agenti logici: calcolo proposizionale Maria Simi a.a. 2008/2009.
Problemi con soddisfacimento dei vincoli
Slides Intelligenza Artificiale, Vincenzo Cutello
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.
Oltre la ricerca classica Cap 4 – Ricerca locale, ricerca online Maria Simi a.a. 2014/2015.
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
Sistemi basati su conoscenza Ricerca di soluzioni a problemi Prof. M.T. PAZIENZA a.a
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2008/2009.
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:
Gli algoritmi genetici (GA)1 Si ispirano al meccanismo dell’evoluzione Viene creata una popolazione di individui che si riproduce ed evolve, di generazione.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi (parte 2) Agostino Poggi.
Intelligenza Artificiale Risoluzione di Problemi
Il simulated annealing (SA)
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi (parte 4) Agostino Poggi.
1 Il simulated annealing (SA) Analogia con il processo di solidificazione di un metallo fuso A partire dal metallo fuso, la temperatura viene abbassata.
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:
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.
I giochi con avversario Maria Simi a.a. 2008/2009.

Ricerca locale Maria Simi Assunzioni sui problemi  Gli algoritmi visti esplorano gli spazi di ricerca alla ricerca di un goal e restituiscono.
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2011/2012.
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.
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2013/2014.
Transcript della presentazione:

Ricerca locale M. Simi,

Algoritmi di ricerca locale  Efficienti in occupazione di memoria: tengono traccia solo dello stato corrente (non necessario un puntatore al padre) e si spostano su stati adiacenti  Per problemi in cui:  il cammino che si segue non è importante: basta trovare la soluzione  tutti gli elementi della soluzione sono nello stato ma alcuni vincoli sono violati. Es. le regine nella versione completa.  Gli stati come punti su una superficie su cui l’algoritmo provoca movimento: i picchi sono massimi locali o soluzioni ottimali (se la f è da ottimizzare).

Ricerca in salita (Hill climbing)  Vengono generati i successori e valutati; viene scelto un nodo, che migliora la valutazione dello stato attuale:  il primo (salita semplice)  il migliore (salita rapida)  uno a caso (stocastico)  Se non ce ne sono l’algoritmo termina (non si tiene traccia degli altri)

Problemi con Hill-climbing  Massimi locali  Pianori  Crinali collinamontagna ? ?

Miglioramenti Miglioramenti della strategia di base: 1. Espandere l’albero di ricerca 2 o 3 livelli e ripetere la valutazione 2. Ripartire da un punto scelto a caso (Hill- Climbing con random restart)  Se la probabilità di successo è p saranno necessari 1/p ripartenze per trovare la soluzione

Tempra simulata (simulated annealing)  Ad ogni passo si sceglie un successore a caso:  se migliora lo stato corrente viene espanso  se no (caso in cui  E=f(n’)-f(n)  0) quel nodo viene scelto con probabilità p=e  E/T [0  p  1]  Si genera un numero casuale tra 0 e 1: se questo è  p il successore viene scelto, altrimenti non si fa niente.  T descresce col progredire dell’algoritmo secondo uno schedule definito (lo schedule definisce valore iniziale e decremento). [Kirkpatrick, Gelatt, Vecchi 1983]

Simulated annealing: analisi  La probabilità di una mossa in discesa diminuisce col tempo e l’algoritmo si comporta sempre di più come Hill Climbing. Se T viene decrementato abbastanza lentamente siamo sicuri di raggiungere la soluzione ottimale.  Analogia col processo di tempra dei metalli  T corrisponde alla temperatura   E alla variazione di energia  Valori per T determinati sperimentalmente: il valore iniziale di T deve essere tale che per valori medi di  E, e  E/T sia all’incirca 0.5

Osservazione  Hill-climbing è un metodo locale; funziona bene quando la funzione di valutazione non ha essa stessa un carattere locale.  Le funzioni “più globali” costano di più.

Il mondo dei blocchi Operatori: Sposta un blocco da un blocco ad un altro Sposta un blocco da un blocco al tavolo Sposta un blocco dal tavolo ad un altro blocco A D C B Stato iniziale C B A D Stato finale

Euristica “locale” per il mondo dei blocchi Euristica dei blocchi fuori posto: +1 per ogni blocco a posto, -1 fuori posto A D C B A D C B L’algoritmo si blocca A D C B 2-2=0 3-1=2 2-2=0

Euristica “non locale” per il mondo dei blocchi Euristica dei blocchi con supporto corretto: (#blocchi supporto OK - #blocchi supporto non OK) A D C B A D C B A D C B C B A D …3+2+1

Ricerca local beam  Si tiene traccia di k stati anziché uno solo  Ad ogni passo si generano i successori di tutti i k stati  Se si trova un goal ci si ferma  Altrimenti si prosegue con i k migliori  Nella variante local beam stocastica, si scelgono k successori a caso con probabilità maggiore per i migliori (selezione naturale).

Algoritmi genetici  Popolazione: k stati generati casualmente  Ogni 'individuo rappresentato come stringa  Es stato delle 8 regine  Gli individui sono valutati f. di fitness  Es. n. di coppie di regine che non si attaccano  Si scelgono gli individui con probabilità proporzionale alla fitness

Esempio  Per ogni coppia viene scelto un punto di cross-over e i due genitori producono due figli scambiandosi pezzi  Viene infine effettuata una mutazione casuale che da luogo alla prossima generazione.

Algoritmi online Maria Simi, a.a. 2006/07

Problemi di esplorazione  Gli agenti per il problem-solving assumono:  ambienti deterministici e osservabili  il piano generato può essere generato offline e eseguito senza imprevisti  Che cosa succede se rilasciamo queste assunzioni?  Solo lo stato corrente è osservabile, non si conosce l’effetto delle azioni e il loro costo  Gli stati futuri e le azioni che saranno possibili non sono conosciute a priori

Algoritmi online  Si devono compiere azioni esplorative  Si alternano pianificazione e azione  Cosa conosce un agente online …  Le azioni legali nello stato attuale  Il costo della mossa c(s1, a, s2) ma dopo averla eseguita  Goal-test(s)  La stima della distanza: dal goal: h(s) 

Esempio: Teseo con mappa e senza  Con mappa  applicabili tutti gli algoritmi di pianificazione visti  Senza mappa  l'agente non può pianificare può solo esplorare nel modo più razionale possibile  Ricerca online h=4h=3h=2h=1 T h=3 h=2h=1h=0 h=4h=3h=2h=1 h=5h=4h=3h=2 h=4h=3h=2h=1 T h=3 h=2h=1h=0 h=4h=3h=2h=1 h=5h=4h=3h=2

Assunzione ulteriore  Ambienti esplorabili in maniera sicura  Non esistono azioni irreversibili  Diversamente non si può garantire una soluzione

Ricerca in profondità online  Gli agenti online ad ogni passo decidono l'azione da fare (non il piano) e la eseguono.  Ricerca in profondità online  Un metodo locale  Il backtracking significa tornare sui propri passi  È necessario ricordarsi ciò che si è scoperto  Esplorazione sistematica delle alternative

Esempio  Sceglie il primo tra (1,1) e (2,2)  In (1, 1) deve tornare indietro T T T TT T T T T T

Algoritmo DF online function Agente-Online-DFS(s) returns an action static: risultato, notexp, notback, s- ( stato precedente ), a- ( ultima azione) if Goal-Test(s) then return stop if s nuovo stato then notexpl[s]  AzioniLegali(s) if s- non è null then risultato[a-, s-]  s; notback[s]  s-; if notexpl[s] vuoto then if notbackl[s] vuoto then return stop else a  azione per tornare in POP(notback[s]) else a  POP(notexpl[s]) s-  s; return a

Ricerca euristica online  Nella ricerca online si conosce il valore della funzione euristica una volta esplorato lo stato.  Un algoritmo di tipo Best First non funzionerebbe.  Serve un metodo locale  Hill-climbing con random-restart non praticabile  Come sfuggire a minimi locali?

Due soluzioni  Random-walk  si fanno mosse casuali in discesa  Apprendimento Real-Time:  esplorando si aggiustano i valori dell'euristica per renderli più realistici.  H: migliore stima fin qui  Come si valutano i successori: Costo-LRTA*(s, a, s', H) = h(s) se s' indefinito H(s') + costo(s,a,s') altrimenti

Esempio di Real Time Learning A* T (h=3) T (h=2) T (h=3) T (h=2) T (h=1) T (h=2) T (h=3) T (h=2) T (h=1) T (h=0)

LRTA* function Agente-LRTA*(s) returns an action static: risultato, H, s-, a- if Goal-Test(s) then return stop if s nuovo (non in H) then H[s]  h[s] 1. if s-  null risultato[a-, s-]  s H[s-]  min Costo-LRTA*(s-, b, risultato[b, s-], H) 2. a  un'azione b tale che minimizza Costo-LRTA*(s, b, risultato[b, s], H) s-  s; return a b  AzioniLegali(s)