Ricerca locale Maria Simi 2011-2012 Assunzioni sui problemi  Gli algoritmi visti esplorano gli spazi di ricerca alla ricerca di un goal e restituiscono.

Slides:



Advertisements
Presentazioni simili
Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato D’Ambrosio
Advertisements

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
Memoria virtuale Memoria virtuale – separazione della memoria logica dell’utente dalla memoria fisica. Solo alcune parti di un programma devono trovarsi.
Alberi binari di ricerca
Algoritmo di MiniMax Questa presentazione è un chiaro esempio di come aggiungere i tagli Alfa-Beta per migliorare l’efficienza dell’algoritmo MiniMax.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti ottimi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
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
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 5 Prof. M.T. PAZIENZA a.a
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Usa la tecnica del.
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)
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
Algoritmi Genetici Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato DAmbrosio Modelli Computazionali per Sistemi Complessi A.A. 2003/2004 Università
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 Algoritmi Genetici
Intelligenza Artificiale Risoluzione di Problemi
CALCOLO EVOLUZIONISTICO. In ogni popolazione si verificano delle mutazioni. Le mutazioni possono generare individui che meglio si adattano allambiente.
Apprendimento Automatico Calcolo Evoluzionistico Stefano Cagnoni.
Intelligenza Artificiale
Algoritmi Genetici Alessandro Bollini
Elementi di Informatica di base
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Seminario di Metodi Matematici per l’Ottimizzazione
Algoritmi e Strutture Dati
e programmazione genetica
Problemi con soddisfacimento dei vincoli
MUTAZIONE: cambio di un bit Viene effettuata con bassa frequenza, ad es. 1bit ogni 1000 Ha la funzione di recupero di eventuali perdite di informazione.
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.
Algoritmi e Strutture Dati
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
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
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi (parte 2) Agostino Poggi.
Ricerca locale M. Simi, Algoritmi di ricerca locale  Efficienti in occupazione di memoria: tengono traccia solo dello stato corrente (non.
1 Vincoli ‘Programming with constraints’ Capitolo 1.
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.
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 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.

Sistemi e Tecnologie Informatiche Complessità di calcolo.
Algoritmi e Strutture Dati HeapSort. Select Sort: intuizioni L’algoritmo Select-Sort  scandisce tutti gli elementi dell’array a partire dall’ultimo elemento.
Suggerimenti [1d5] SE la prima lettera della matrice (in alto a sinistra, matrice[0,0]) è diversa dalla prima lettera della parola (parola[0]) ALLORA siamo.
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.
Algoritmi e Strutture Dati Luciano Gualà
Prof.ssa Rossella Petreschi Lezione del 17 /10/2014 del Corso di Algoritmica Lezione n°5.
Transcript della presentazione:

Ricerca locale Maria Simi

Assunzioni sui problemi  Gli algoritmi visti esplorano gli spazi di ricerca alla ricerca di un goal e restituiscono un cammino soluzione  Ma a volte lo stato goal è la soluzione del problema.  Gli algoritmi di ricerca locale sono adatti per problemi in cui:  La sequenza di azioni non è importante: quello che conta è lo stato goal  Tutti gli elementi della soluzione sono nello stato ma alcuni vincoli sono violati. Es. le regine nella versione a stato completo

Algoritmi di ricerca locale  Non sono sistematici  Tengono traccia solo dello stato corrente e si spostano su stati adiacenti  Non si tiene traccia dei cammini  Efficienti in occupazione di memoria  Utili per risolvere problemi di ottimizzazione  lo stato migliore secondo una funzione obiettivo  lo stato di costo minore

Panorama dello spazio degli stati  Uno stato ha una posizione sulla superficie e una altezza che corrisponde al valore della f. di valutazione  Un algoritmo provoca movimento sulla superficie  Trovare l’avvallamento più basso o il picco più alto

Ricerca in salita (Hill climbing)  Ricerca locale greedy  Vengono generati i successori e valutati; viene scelto un nodo che migliora la valutazione dello stato attuale (non si tiene traccia degli altri):  il migliore (salita rapida)  Hill climbing a salita rapida  uno a caso  Hill climbing stocastico  il primo  Hill climbing con prima scelta  Se non ci sono stati successori migliori l’algoritmo termina con fallimento

L’algoritmo Hill climbing function Hill-climbing ( problema) returns uno stato che è un massimo locale nodo-corrente = CreaNodo( problema.Stato-iniziale) loop do vicino = il successore di nodo-corrente di valore più alto if vicino.Valore ≤ nodo-corrente.Valore then return nodo-corrente.Stato // interrompe la ricerca nodo-corrente = vicino  Nota: si prosegue solo se il vicino è migliore dello stato corrente

Il problema delle 8 regine  h: numero di coppie di regine che si attaccano a vicenda (valore 17)  I numeri sono i valori dei successori  Tra i migliori (valore 12) si sceglie a caso

Un massimo locale  h = 1  Tutti gli stati successori peggiorano la situazione  Per le 8 regine Hill- climbing si blocca l’86% delle volte  In media 4 passi

Problemi con Hill-climbing  Massimi locali  Pianori o spalle  Crinali (o creste) collina montagna ? Se la f. è da ottimizzare i picchi sono massimi locali o soluzioni ottimali

Miglioramenti 1. Consentire un numero limitato di mosse laterali  L’algoritmo sulle 8 regine ha successo nel 94%, ma impiega in media 21 passi 2. Hill-climbing stocastico: si sceglie a caso tra le mosse in salita  converge più lentamente ma a volte trova soluzioni migliori 3. Hill-climbing con prima scelta  può generare le mosse a caso ed essere più efficace quando i successori sono molti

Miglioramenti (cont.) 4. Hill-Climbing con riavvio casuale (random restart): ripartire da un punto scelto a caso  Se la probabilità di successo è p saranno necessarie in media 1/p ripartenze per trovare la soluzione (es. 8 regine, p=0.14, 7 iterazioni)  Hill-climbing con random-restart è tendenzialmente completo (basta insistere)  Per le regine: 3 milioni in meno di un minuto!  Se funziona o no dipende molto dalla forma del panorama degli stati

Tempra simulata  L’ algoritmo di tempra simulata (Simulated annealing) [Kirkpatrick, Gelatt, Vecchi 1983] combina hill-climbing con una scelta stocastica (ma non del tutto casuale vhe ` poco efficiente…)  Analogia con il processo di tempra dei metalli in metallurgia

Tempra simulata  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 no]  T descresce col progredire dell’algoritmo(quindi anche p) secondo un piano definito (valore iniziale e decremento sono parametri).

Tempra simulata: 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 è tale che per valori medi di  E, p=e  E/T sia all’incirca 0.5

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 tra questi  Nella variante local beam stocastica, si scelgono k successori a caso con probabilità maggiore per i migliori (selezione naturale).

Algoritmi genetici (AG)  Popolazione iniziale: k stati/individui generati casualmente  Ogni individuo è rappresentato come una stringa  Esempio: 24 bit o “ ” stato delle 8 regine  Gli individui sono valutati da una funzione di fitness  Esempio: n. di coppie di regine che non si attaccano  Si selezionano gli individui per gli “accoppiamenti” con una probabilità proporzionale alla fitness  Le coppie danno vita alla generazione successiva, che dovrebbe essere migliore

Esempio  Per ogni coppia viene scelto un punto di cross-over e vengono generati due figli scambiandosi pezzi  Viene infine effettuata una mutazione casuale che dà luogo alla prossima generazione.

Nascita di un figlio  Le parti chiare sono passate al figlio  Le parti grigie si perdono  Se i genitori sono molto diversi anche i nuovi stati sono diversi