La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Ricerca locale M. Simi, 2007-2008 Algoritmi di ricerca locale  Efficienti in occupazione di memoria  tengono traccia solo dello stato corrente (non."— Transcript della presentazione:

1

2 Ricerca locale M. Simi, 2007-2008

3 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 a stato completo.

4 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)

5 Problemi con Hill-climbing  Massimi locali  Pianori  Crinali collina montagna ? Gli stati visti come punti su una superficie: i picchi sono massimi locali o soluzioni ottimali (se la f è da ottimizzare).

6 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

7 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]

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

9 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ù.

10 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

11 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

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

13 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).

14 Algoritmi genetici  Popolazione: k stati generati casualmente  Ogni individuo rappresentato come stringa  Esempio: 24748552 stato delle 8 regine  Gli individui sono valutati da una funzione di fitness  Esempio: n. di coppie di regine che non si attaccano  Si scelgono gli individui per gli “accoppiamenti” con una probabilità proporzionale alla fitness

15 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.


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

Presentazioni simili


Annunci Google