La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

+ UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA Simulated Annealing Seminario di.

Presentazioni simili


Presentazione sul tema: "+ UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA Simulated Annealing Seminario di."— Transcript della presentazione:

1 + UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA Simulated Annealing Seminario di Metodi Matematici per lOttimizzazione A.A Presentato da: Gabriele Consoli Leonardo La Rocca

2 + Introduzione I l Simulated Annealing (in italiano ricottura simulata) è un metodo di ricerca adatto a risolvere problemi legati allottimizzazione. Lapproccio degli algoritmi Simulated Annealing si basa sulla simulazione di un particolare fenomeno fisico. Lobiettivo finale di questo tipo di algoritmi è quello di trovare un minimo globale in presenza di più minimi locali.

3 + Problema dellottimizzazione E rappresentato da una coppia (c,S) dove: S è un insieme chiamato regione ammissibile del problema. c è la funzione obiettivo definita su S a valori reali ovvero: c:S R Lobiettivo è quello di trovare un elemento x S tale che : c(x)c(y) y S: x elemento di MINIMO di S c(x)c(y) y S: x elemento di MASSIMO di S

4 + Risoluzione di problemi di ottimizzazione ProblemaSemplice Difficoltà di risoluzione bassa: soluzioni varie Complesso Difficoltà di risoluzione alta: soluzioni euristiche

5 + Il problema del commesso viaggiatore Un fattorino che deve effettuare un certo numero di consegne in N città. La soluzione a questo problema è la risposta alla seguente domanda: Quale sarà il cammino minimo meno costoso per visitare tutte le città e tornare al punto di partenza?

6 + Il problema del commesso viaggiatore (I) Bisogna trovare un ciclo hamiltoniano di costo minimo in un assegnato grafo orientato pesato : G=(V,E,P) Un ciclo hamiltoniano è un cammino, allinterno di un grafo G, che partendo da un nodo iniziale tocca tutti gli altri nodi del grafo una ed una sola volta, per poi alla fine tornare al nodo di partenza.

7 + Il problema del commesso viaggiatore (II) Linsieme S delle soluzioni è dato da tutti i possibili cicli hamiltoniani. Se il grafo è completo il numero delle possibili soluzioni sarà rappresentato da tutti i cicli hamiltoniani non simmetrici:

8 + Il problema del commesso viaggiatore (III) Considerato un grafo con n=22 nodi lo spazio delle soluzioni sarà dato da : S = Potendo disporre di un calcolatore che genera e valuta 10 9 soluzioni al secondo, per la ricerca di un minimo sarebbero richiesti circa 200 anni cioè secondi.

9 + Euristiche Nonostante lo sviluppo tecnologico ci sono problemi che richiedono anni per fornire una soluzione ottimale. Nellambito di unapplicazione pratica non è possibile aspettare cosi tanto bisogna trovare un compromesso in modo da determinare in tempi ragionevoli una buona (anche se non ottimale) soluzione. A questo scopo vengono utilizzati degli algoritmi approssimati detti euristiche.

10 + Algoritmi Meta – Euristici Utilizzano tecniche in grado di evitare di fermarsi in un ottimo locale. A questo scopo lidea di base di questi algoritmi sta nel poter effettuare anche mosse peggioranti. Una volta effettuata una mossa peggiorante non bisogna tornare alla mossa di partenza altrimenti si crea un loop infinito. Lalgoritmo meta-euristico deve rispettare 2 condizioni: Tempi di esecuzione che non crescano troppo allaumentare della dimensione del problema. Soluzioni ottime o vicine a quelle ottime.

11 + Tempo vs Qualità Le condizioni sono in conflitto tra di loro quindi leuristica è un compromesso tra fattori contrastanti: Conseguenze: si sacrifica la garanzia di ottenere sempre la soluzione ottimale a favore di una risposta in tempi ragionevoli. Un esempio concreto sarà descritto in maniera esaustiva dal Simulated Annealing. TempoQualità Rapidità con cui viene restituita una soluzione Qualità della soluzione ottenuta che dovrebbe essere più vicina al valore ottimale

12 + Simulated Annealing E un processo con il quale un solido, allinterno di un bagno termico, raggiunge uno stato di energia minima. Il procedimento da seguire è il seguente: 1. Portare il metallo, allinterno del bagno termico, ad una temperatura tale per cui fonde. 2. Riportare il metallo ad uno stato solido o cristallino controllando e riducendo gradualmente la temperatura, di modo che gli atomi allinterno del metallo raggiungano lo stato di energia minima. E utile analizzare il comportamento degli atomi durante questo processo.

13 + Simulated Annealing – Fase I Inizialmente gli atomi presenti allinterno del solido mantengono una struttura reticolare ordinata determinata dalle forze di legame. Per effetto dellenergia interna, gli atomi, hanno la possibilità di spostarsi dalla posizione di equilibrio imposta dalle forze di legame della struttura assumendo una configurazione differente da quella iniziale. Ad alte temperature lenergia interna raggiunge valori tali da vincere le forze di legame e gli atomi sono in condizione di allontanarsi dalla posizione rigida imposta e di assumere una configurazione disordinata tipica dello stato liquido.

14 + Simulated Annealig – Fase II Abbassando la temperatura del sistema in maniera lenta e graduale si potrà tornare ad una configurazione cristallina altamente ordinata. Gli atomi durante il processo di raffreddamento riescono in maniera autonoma a ricostruire lordine cristallino eliminando le impurità iniziali rilasciando lentamente energia. Il rilascio di energia graduale porterà al raggiungimento dello stato di energia minima ovvero lo stato cristallino puro

15 + Osservazioni Per ogni valore della temperatura il sistema evolve naturalmente verso lo stato di minima energia, cioè raggiunge lequilibrio termico, quindi se consideriamo variazioni infinitesime possiamo dire che il sistema resta in equilibrio termico. Le riduzioni veloci della temperatura possono causare dei fenomeni non desiderabili: difettosità nel reticolo cristallino con conseguente metastabilità, con fessurazioni e fratture del reticolo stesso (stress termico). Questo processo di raffreddamento rapido può essere visto come analogo allottimizzazione locale. Lannealing evita questo fenomeno procedendo ad un graduale raffreddamento del sistema, portandolo ad una struttura globalmente ottima stabile.

16 + Distribuzione di Boltzmann La termodinamica statica afferma che è più probabile trovarsi nello stato di energia minima, ma esiste una probabilità diversa da zero di trovarsi in un uno stato di energia maggiore. Tale probabilità è descritta dalla Distribuzione di Boltzmann:

17 + Algoritmo di Metropolis Lalgoritmo di Metropolis (1954) riesce a simulare le fasi del Simulated Annealing ed in particolare: Si parte dallo stato corrente S, alla temperatura T e con energia E, definito dalle posizioni delle molecole che lo costituiscono. Viene applicata una perturbazione consistente nello spostamento di una molecola in una nuova posizione scelta casualmente. In tal modo il sistema raggiunge un nuovo stato, S, con un diverso valore di energia E Si decide se accettare o meno il nuovo stato.

18 + Algoritmo di Metropolis (I)

19 + Algoritmo di Metropolis (II) Il nuovo stato viene accettato, come stato corrente, con una probabilità definita dalla seguente espressione: dove Δ E=E-E è la differenza di energia tra il nuovo e il vecchio stato.

20 + Algoritmo di Metropolis (III) La probabilità usata da Metropolis rappresenta il rapporto fra la probabilità che il sistema si trovi nello stato S rispetto alla probabilità che si trovi nello stato S, secondo la distribuzione di Boltzmann. Si noti che ad alte temperature tutti gli stati di energia sono equiprobabili, mentre a basse temperature il sistema si trova sicuramente in stati di minima energia.

21 + Corrispondenza tra lalgoritmo di Metropolis e lottimizzazione

22 + Osservazioni Se lo stato E è accettato, sostituirà lo stato iniziale e si procederà alla generazione di una nuova transizione. Per simulare il lento raffreddamento si generano un numero N di transizioni per una data temperatura T, prima di passare ad una temperatura più bassa di modo che per ogni stato sia rispettato lequilibrio termico. Inizialmente un valore molto alto di T permette allalgoritmo di superare facilmente i minimi locali e di continuare la ricerca per una configurazione migliore. In seguito, il progressivo abbassamento della temperatura tende a circoscrivere la ricerca di un minimo, permettendo allalgoritmo di convergere definitivamente al minimo globale. La probabilità di transizione è definita essere non nulla quando Δ E è positiva intendendo con ciò che il sistema può spostarsi nel nuovo stato anche quando questo è peggiore (ha un energia più alta) di quello attuale.

23 + Perché punti peggiori?? La ragione per cui si accettano anche punti con valori della funzione obiettivo peggiori è che questo è il solo modo di sfuggire ad ottimi locali non globali. Nelle ricerche locali una volta giunti nellottimo locale non siamo più in grado di procedere a siamo costretti ad arrestarci (siamo intrappolati nellottimo locale). In un algoritmo di SA possiamo invece sfuggire da un ottimo locale accettando anche punti peggiori rispetto a quello corrente.

24 + I passi della procedura 1. Inizializzazione Consiste nellindividuazione di una soluzione iniziale S di innesco. 2. Definizione di una mossa Definisce loperazione che permette di individuare casualmente una soluzione S nellintorno della soluzione corrente S. 3. Accettazione della mossa È loperazione grazie alla quale si valuta se accettare o meno la soluzione individuata S come nuova soluzione corrente S (S S) applicando la probabilità di accettazione esposta in precedenza. 4. Definizione della cooling schedules Rappresenta la definizione di tutti i parametri di controllo dellalgoritmo.

25 + Cooling Schedules Per cooling schedules si intende linsieme delle regole che simulano il processo di raffreddamento e governa il successo dellalgoritmo. Per definire una cooling schedules, in pratica, bisogna individuare: 1. il valore iniziale T max del parametro di controllo. 2. il valore finale T min del parametro di controllo. 3. Schema di raffreddamento 3. Schema di raffreddamento Δ T. 4. Criterio di interruzione.

26 + Temperatura Iniziale Scegliere un valore abbastanza alto cosi da ammettere più fluttuazioni di energia iniziali evitando di bloccarsi in minimi locali. Un semplice criterio di scelta è porre T uguale a infinito in modo da accettare tutti i possibili valori. Un metodo comunemente usato è quello di White.

27 + Temperatura Finale Alcuni possibili criteri per stabilire a quale temperatura fermarsi sono: Se lenergia non cambia negli ultimi N stati allora fermo lalgoritmo. Scegliere a priori un valore minimo di stati accettati a temperatura costante. Se la differenza tra energia minima ed energia massima degli stati a temperatura costante è prossima a zero. Scegliere a priori un valore di soglia per la temperatura.

28 + Schema di raffreddamento Schema di raffreddamento Δ T (I) Il successo dellalgoritmo è determinato dalla riduzione della temperatura. E necessario scegliere un appropriato schema di riduzione degli stadi di temperatura determinando quando e quanto ridurre.

29 + Schema di raffreddamento Schema di raffreddamento Δ T (II) QUANDOQUANTO ACCADE SE : il numero di transizioni ad ogni stadio di temperatura deve essere tale da assicurare che si passi da uno stadio termico al successivo solo quando si è raggiunto lequilibrio termico, cioè quando ad una data temperatura le energie delle soluzioni accettate approssimano la distribuzione di Boltzmann per quello stadio di temperatura. RIDUZIONE RAPIDA: porterebbe alla possibilità che lalgoritmo rimanga confinato in un minimo locale. RIDUZIONE LENTA: si ha un aumento degli stadi di temperatura con un conseguente innalzamento del tempo di calcolo.

30 + Schema di raffreddamento Schema di raffreddamento Δ T (III) Possiamo quindi dire che lo schema di raffreddamento deve essere scelto in base al problema specifico che si sta trattando. Vi sono due schemi di raffreddamento della temperatura quello geometrico e quello logaritmico: Geometrico: è molto semplice, e viene utilizzato dalla maggioranza dei ricercatori. La temperatura viene ridotta, ad ogni stadio, moltiplicandola per una costante chiamata cooling ratio ( α ), che ha un valore compreso fra 0 ed 1. Logaritmico: questo metodo garantisce la convergenza al minimo globale in un numero di passi potenzialmente infinito.

31 + Criterio di interruzione Fattore critico: il processo di annealing converge ad un ottimo globale se la temperatura è sufficientemente ridotta in modo graduale. Interrompere il processo quando il numero di soluzioni accettate ad un certo stadio è inferiore ad un valore fissato. In questo caso ci si può aspettare una soluzione prossima allottimo globale. Tipicamente, quando non si voglia effettuare un criterio di interruzione, è possibile utilizzare un valore finale della temperatura. Tale valore corrisponde dal punto di vista fisico dellannealing al valore della temperatura ambiente quando il bagno di fusione si è solidificato in una struttura cristallina stabile e di minima energia. Tecnicamente tale valore finale della temperatura viene stabilito in base al problema che si sta affrontando.

32 + Schema del processo fisico

33 + Processo fisico Vs Ottimizzazione Per costruire lalgoritmo si devono identificare nel problema di ottimizzazione le analogie con i concetti fisici: SIMULATED ANNEALING PROBLEMA DI OTTIMIZZAZIONE Stato del SolidoSpazio delle Soluzioni EnergiaFunzione Costo TemperaturaParametro di Controllo Stato con minima energiaSoluzione Ottima

34 + Costruzione dellalgoritmo Bisogna scegliere un opportuno schema di annealing. Esso si ottiene attraverso la regolazione dei parametri da cui dipende il processo di ottimizzazione matematica: 1. stabilire la legge di decadimento della temperatura; 2. la durata del tempo necessario per il raggiungimento dell'equilibrio termico; 3. un metodo di perturbazione del sistema per la generazione dello spazio delle configurazioni.

35 + Processo simulato (SA)

36 + Funzionamento generale INIZIALIZZAZIONE di T ed X While Not (Condizione darresto) Do for i 1 to L Do GENERAZIONE di Y da X If f(Y) <= f(X) Then X Y Else If METROPOLIS_RULE() Then X Y End DECREMENTO DI T End

37 + Criteri di scelta della temperatura TEMPERATURA INIZIALE Dato lo stato iniziale il sistema viene perturbarto per N passi a T->. TEMPERATURA FINALE Lalgoritmo si arresta se la migliore configurazione non è cambiata per K iterazioni

38 + Cooling Schedule (I) Schema di raffreddamento Scheduling geometrico : T k = T 0 α (k/N) Dove: T 0 = temperatura iniziale 0 α 1 k = passo attuale dellalgoritmo N = numero di transizione a temperatura T k

39 + Cooling Schedule (II)

40 + Applicazioni SA in Matlab Traveling Salesman Problem (TSP) Bipartizione di un grafo Deconvoluzione sismica

41 + TSP nel Simulated Annealing Spazio delle configurazioniInsieme di punti del piano che corrispondono alle città da visitare. Funzione ObiettivoDistanza minima tra le città. PerturbazioneScelti due indici i

42 + Bipartizione di un Grafo Dato un grafo G=(V,E) non orientato, dove V è un insieme di vertici, una bipartizione { V 1, V 2 } è definita da: V 1 V 2 = e V 1 V 2 =V tali che il numero di archi che connettono V 1 e V 2 sia minimo. Se un arco(u,v) connette le due partizioni, con u V 1 e v V 2, la funzione obiettivo è quindi: {(u,v) E : u V 1, v V 2 }

43 + Bipartizione di un Grafo in SA Spazio delle configurazioniGrafo G= (V,E) da bipartire. Funzione ObiettivoPeso complessivo degli archi che connettono gli insiemi V 1 e V 2. PerturbazioneScambio di un nodo da una partizione allaltra Configurazione InizialeLa prima partizione è ottenuta separando i primi N/2 nodi dai successivi N/2. (N pari)

44 + Deconvoluzione Sismica La deconvoluzione è un passaggio fondamentale nellelaborazione di un segnale sismico, permette di recuperare le alte frequenze, attenuare le multiple e ricostruire la forma donda generata da un impulso. La deconvoluzione semplifica londa sismica della sorgente f(t) dalle tracce registrate per ricostruire idealmente la funzione della riflettività terrestre e(t). I coefficienti di riflessione identificano e quantificano il disallineamento tra i diversi strati geologici

45 + Deconvoluzione Sismica (II)

46 + Deconvoluzione Sismica (III) Lapplicazione consiste nel far detonare una carica esplosiva sulla superficie terrestre. Le onde sonore, provocate dallesplosione, attraversa diversi strati delle crosta terrestre fino a raggiungere uno strumento che ne misura il valore. Le onde saranno parzialmente riflesse nel passaggio tra uno strato ed un altro. Il segnale ricevuto sarà una sovrapposizione di più segnali attenuati e ritardati del segnale originale.

47 + Deconvoluzione Sismica (IV)

48 + Deconvoluzione Sismica (V) Dato f(t) segnale originale, g(t) segnale misurato. Il segnale ricostruito sarà dato da: s(t)=Σ i α i f(t- τ ) Dove α e τ sono rispettivamente attenuazione e ritardo delli-esima componente della sovrapposizione. Funzione costo : Σ i (g(t)-s(t)) 2

49 + Deconvoluzione Sismica (VI)

50 + Deconvoluzione Sismica in SA Spazio delle configurazionif(t),g(t) Funzione Obiettivo Σ i (g(t)-s(t)) 2 PerturbazioneVariamo uno dei valori di α e τ Configurazione inizialeViene generata un onda con valori prestabiliti di α, τ e noise.

51 + Scenari applicativi del SA Image processing (Ricostruzione di immagini) Elettronica (Progettazione di circuiti integrati complessi o microchip): per minimizzare le interferenze tra i collegamenti tra le componenti. Robotica (Path generation): per la pianificazione diretta di percorsi robotici ottimali in modo da evitare ostacoli mantenendo un andamento continuo. Meccanica (Planar Mechanism Synthesis): per la produzione di ingranaggi meccanici. Medicina (tomografia): una metodologia diagnostica per immagini, che sfrutta i raggi x e consente di riprodurre sezioni corporee del paziente ed elaborazioni tridimensionali. Geologia (prospezioni) : tecniche di indagine non distruttiva del sottosuolo, che consiste nella misurazione tramite apparecchi di alcune proprietà fisiche del terreno.

52 + Image Processing Il SA viene utilizzato per il PET (Tomografia ad Emissione di Positroni), una tecnica di diagnostica medica che produce immagini tridimensionali o mappe dellattività metabolica del paziente. Produce delle immagine ad alta definizione. Ricostruisce dati a partire da dati di proiezione rumorosi. Per il problema del rumore introdotto dallo scanner, vengono utilizzate tecniche di ricostruzione statistica. In particolar modo utilizziamo l'algoritmo del Simulated Annealing per la sua capacità di evitare di rimanere intrappolati in minimi locali.

53 + Image Processing (I) Il PET è un metodo di scansione analogo alla più conosciute tac e risonanze magnetiche con la differenza che le scansioni PET sono in grado di rilevare alterazioni a livello biologico molecolare che spesso precedono l'alterazione anatomica.

54 + Image Processing (II) Dato P M misurato Si costruisce in maniera iterativa limmagine che si adatta a P M calcolando ad ogni passo lo pseudo dato P P che corrisponde allo stato attuale dellimmagine. P M e P P vengono confrontati Se la loro differenza viene ridotta al minimo, limmagine ricostruita converge allimmagine originale.

55 + Image Processing (III) La funzione costo sarà quindi: dove i e j sono le coordinate di riferimento per i singoli pixel. Ad ogni passo iterativo viene alterata limmagine cambiando in modo random il valore di un pixel La funzione obiettivo assume un valore differente quindi si deve decidere se accettare o meno la modifica del dato. Limmagine ricostruita converge alla fine a quella originale.

56 + Image Processing (IV) Questo processo ha dimostrato di ottenere buoni risultati per unimmagine di area 64x64 pixel. (A) è limmagine originale e (B) è limmagine ricostruita utilizzando simulated annealing. Limmagine sfocata (C) è stata ottenuta utilizzando il metodo di massima verosimiglianza, che non ottimizza limmagine globalmente.

57 + Circuiti VLSI -Very Large Scale Integration Per VLSI si intende un circuito integrato ad alta densità cioè un dispositivo elettronico miniaturizzato realizzato su un substrato di materiale semiconduttore che integra fino a centinaia di milioni di componenti elettronici elementari (transistor, diodi, condensatori e resistori) al suo interno. Nella figura è rappresentata la piastrina un circuito VLSI

58 + Progettazione di circuiti IC (microchip) Processo di progettazione di circuiti integrati: 1. Partizionamento del circuito in blocchi logico-comportamentali elementari interconnessi. 2. Realizzazione del modello fisico dei circuiti posizionando in maniera opportuna gli elementi circuitali. 3. Instradamento dei cavi tra le posizioni terminali.

59 + Progettazione di circuiti IC (microchip)(II) Il primo passo descritto rappresenta un esempio di utilizzo del SA. Esso può essere espresso come un problema di partizionamento di un Ipergrafo H pesato in cui il peso di ciascuna componente non può superare una certa soglia c (capacità dei blocchi) e in cui si vuole minimizzare la connessione tra le componenti. Nellipergrafo H(V,E) i vertici sono in corrispondenza biunivoca con le componenti. Ad ogni vertice si assegna un peso ω i 0 pari alla dimensione del componente rappresentato dal vertice stesso. Archi del grafo = collegamenti tra i componenti

60 + Progettazione di circuiti VLSI Il modo in cui una cella è posizionata rispetto alle altre è guidato dalla necessità di minimizzare la lunghezza dei collegamenti fra le celle e le sovrapposizioni fra gli strati metallici che realizzano le connessioni. La nostra funzione obiettivo è fare in modo che due celle che si trovano vicine logicamente siano il più possibile vicine fisicamente rispettando i vincoli di spazio imposti.

61 + GRAZIE


Scaricare ppt "+ UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA Simulated Annealing Seminario di."

Presentazioni simili


Annunci Google