Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoEnrico Baldini Modificato 9 anni fa
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.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.