Algoritmi Genetici Sono algoritmi di ricerca basati sui principi evolutivi della selezione naturale e della genetica, che implicano la sopravvivenza degli elementi migliori e lo scambio di informazioni fra elementi. Pur non garantendo la convergenza all ottimo, sono in grado di individuare i punti di estremo globale, indipendentemente dalle caratteristiche della funzione (multimodale, discontinua, etc.) attraverso il popolamento della zona di estremo La ricerca avviene attraverso la riproduzione di una popolazione iniziale Ad ogni generazione la popolazione cambia a causa dei meccanismi evolutivi: Riproduzione Crossover Mutazione Tali mutamenti genetici hanno lo scopo di produrre una popolazione più vicina all obiettivo prefissato pag.
Protagonisti di base Le variabili da ottimizzare sono organizzate in cromosomi L insieme dei cromosomi è la popolazione La funzione di merito (fitness) in base alla quale si valuta l adeguatezza di ciascun cromosoma e se ne decide il futuro Modifiche genetiche in base alle quali la popolazione si evolve. Selezione (i migliori cromosomi hanno maggiore possibilità di riproduzione) Crossover (scambio del materiale genetico) Mutazione (introduzione casuale di nuovo materiale genetico) Codifica delle variabili cromosomi L algoritmo non opera sulle variabili di decisione, ma su una sua codifica pag. 2
Vantaggi dei G.A. Si fissa a priori il numero di iterazioni (generazioni), mancando un criterio di arresto basato sulla precisione. La funzione obiettivo può essere definita in modo del tutto generale: il metodo è basato solo sul valore e non richiede la conoscenza delle sue derivate. È un metodo di ottimizzazione globale ovvero non viene intrappolato da estremi relativi. È un metodo parallelo nel senso che procede contemporaneamente usando più soluzioni tentativo nelle diverse aree di ricerca dello spazio dei parametri. Perciò è molto utile come innesco di metodi più accurati (es. simplesso flessibile). pag. 3
I Cromosomi Tutte le variabili di decisione sono aggregate in un cromosoma Le variabili compaiono nel cromosoma attraverso una loro codifica binaria La popolazione è formata da un insieme di cromosomi PARAMETRO # PARAMETRO #2 PARAMETRO #3.384.763.27 CROMOSOMA pag. 4
Codifica dei parametri Si normalizzano i parametri in [-, ] Si utilizza una codifica binaria ad n bit 2 n b 2 + b 2 +... + b 2 2 n MSB LSB Ciascun parametro viene rappresentato mediante un codice digitale in base 2 a n bit bipolare, dove il MSB rappresenta il segno in base ad una convenzione data (es. Complemento a 2) La precisione P della rappresentazione è sempre minore della risoluzione R N n n N = P < R = 2 = 2 LSB pag. 5
Esempi di codifica binaria (C2 se x<) Valore decimale n Numero binario LSB=2 -n Precisione.34523 4.625.3273.34523 8.39.48.34523 2-4 2.444-5.5563 -.428 4.625.3273 -.428 8.39.48 -.428 2-4 2.444-5.5563 pag. 6
Codifica decimale Si normalizzano i parametri in un range normalizzato, utilizzando una precisione fissata Range = Valore massimo (h k ) - Valore minimo (l k ) R = h l k = k k k,..., n Numero di bit della codifica β Da cui si può risalire al parametro ( β ) 2 k,..., np pk lk k gk = INT = hk l k p k = l k + p ( h ) k k lk ( ) k =,..., np 2 β g k pag. 7
Precisione di conversione Se i parametri sono espressi con n decimali, la precisione della rappresentazione è ν = n Analogamente la precisione in base 2 sarà espressa come β ν = 2 2 Per conservare la medesima precisione nel passaggio di rappresentazione si dovrà avere n = 2 β Da cui, prendendo il Logaritmo in base (approssimando all intero superiore) β = n Log 2 n.693478 pag. 8
Esempio Dato il vettore di parametri (espressi con 4 decimali) P = [.2345 -.2363.7867 -.4593.3745] Fissato il range l k = - e h k = se si vuole mantenere la precisione si devono utilizzare Si ha la codifica intera β = 4 Log = 4 2 bit G = [ 445 2523 58523 776 4539] Da cui si può avere il vettore ricostruito Pric = [.2345 -.2363 Che è identico a quello dato.7867 -.4593.3745] pag. 9
Controesempio Con β = 8 si sarebbe ottenuto G = Con β = 4 si sarebbe ottenuto [ 57 97 228 69 75] Parametri originali.2345 -.2363.7867 -.4593.3745 Parametri ricostruiti.234 -.2392.7882 -.4588.3725 G = [ 9 6 3 4 ] Parametri originali.2345 -.2363.7867 -.4593.3745 Parametri ricostruiti.2 -.2.7333 -.4667.3333 pag.
Evoluzione di una popolazione Inizialmente si genera una popolazione casuale di cromosomi popolazione g = g 2 = g 3 = etc... La popolazione viene sottoopsta a mutazioni genetiche al fine di favorire lo sviluppo di cromosomi con il più alto gradi di fitness Ciò avviene attraverso le seguenti operazioni Riproduzione Crossover Mutazione [ 445 2523 58523 776 4539] [ 25458 2344 45782 5459 48956] [...............] pag.
Riproduzione Ciascun cromosoma viene valutato in relazione alla funzione di fitness Viene fatta una classifica in base a questa funzione Ogni cromosoma a diritto a riprodursi in proporzione alla sua fitness cromosoma (x) fitness f(x) Selezione % f(x)/f tot Conteggio relativo f(x)/f media Riproduzione (replica cromosomi) A B C D f media Totale 23 467 89 263 235.5 942 3.57 49.575 9.448 27.99.522.983.378.6 2 4 pag. 2
Roulette polarizzata La probabilità di selezione di ciascun cromosoma è espressa dal settore circolare ad esso assegnato Esso è funzione del rapporto fra fitness del cromosoma e fitness totale figlio A figlio D figli C B 2 figli pag. 3
Riproduzione: nuova generazione Dalla popolazione iniziale composta dai cromosomi iniziali A B C D Si ha la nuova popolazione A B B D Il cromosoma con maggiore fitness (B) ha raddoppiato la presenza nella popolazione Il cromosoma con la fitness minima (C) è scomparso I cromosomi con fitness media (A e D) sono rimasti I cromosomi della nuova popolazioni adesso possono scambiarsi il proprio patrimonio genetico pag. 4
pag. 5 [ ] [ ] Due cromosomi della popolazione si accoppiano casualmente Altrettanto casualmente viene scelto un punto di divisione e si incrociano i tronconi di cromosoma così ottenuti Ottenendo i nuovi cromosomi [ ] [ ] [ ] Crossover [ ] [ ] [ ]
Mutazione Si introducono delle mutazioni casuali nei vari cromosomi Si fissa una probabilità che un gene possa mutare Durante l evoluzione della popolazione qualche gene può mutare ( o ) con la probabilità fissata Questa variabilità viene introdotta in modo da non polarizzare troppo la popolazione verso i geni migliori e fare in modo che di tanto in tanto venga introdotto nella popolazione nuovo materiale genetico [ ] [ ] [ ] [ ] mutazione pag. 6
Esempio Si desidera ricercare il massimo di una funzione multimodale I metodi di ricerca diretti (es. simplesso) potrebbero essere intrappolati da massimi locali.6.4.2.8.6.4.2.2.4.6.8 pag. 7
Popolazione iniziale Si crea una popolazione di partenza in modo casuale, rapresentata dagli asterischi Si valuta la fitness di ciascun cromosoma e si riproduce la popolazione in base ad essa con i criteri già visti.6.4.2.8.6.4.2 Cromosoma con la fitness massima.2.4.6.8 pag. 8
Evoluzione della popolazione Dopo generazioni, i cromosomi si sono addensati nei pressi del massimo, perché l evoluzione ha selezionato i cromosomi con fitness più alta Il cromosoma con la massima fitness (f =.58435) per x =.446.6.4.2.8 Non si può dire.6 che sia stato trovavato il massimo, ma.4 solamente il cromosoma con il massimo.2.2.4.6.8 valore di fitness pag. 9
Schemi o Similarity Templates Gruppi di cromosomi possono avere delle caratteristiche comuni Questi pattern vengono chiamati Schemi e rappresentano dei tratti genetici comuni ad un gruppo di cromosomi. Ad es. i cromosomi [ ] [ ] [ ] [ ] hanno in comune lo Schema [ * * * * ] * don' t care H = = pag. 2
Considerazioni sugli Schemi Una popolazione binaria di n cromosomi di lunghezza l l può avere n 2 schemi L ordine o(h) di uno schema è dato dal numero di elementi fissi ( o ) nel cromosoma La lunghezza di uno schema δ(h) è data dalla differenza fra le posizioni del primo e dell ultimo elemento fisso = * * * * δ ( H ) = 9 = 2 4 5 9 H = * * * * * * * δ ( H ) = 4 2 = 2 2 4 H 2 δ ( H ) > δ ( H ) 2 Perciò lo schema H è più importante dello schema H 2, perché meno frequente. 8 2 pag. 2
Riproduzione degli Schemi Mostra come gli schemi si propagano nelle generazioni Supponiamo che alla generazione t ci siano nella popolazione m schemi H, i.e. m=m(h,t) Nella generazione successiva t+ ogni cromosoma verrà replicato con probabilità p f / f i Il numero di schemi H nella successiva generazione sarà dato da m( H,t + ) = m( H,t ) n f ( H )/ f dove f(h) èla i fitness media dello schema H Detta f = fi la fitness media della popolazione, si ha n f ( H ) m( H,t + ) = m( H,t ) f = i i pag. 22
Teorema fondamentale degli Schemata Un particolare schema H cresce in ragione del rapporto fra la sua fitness e quella media della popolazione m( H,t + ) = m( H,t f ( H ) f Perciò schemi con fitness inferiore alla media sono destinati a scomparire, mentre schemi con fitness superiore alla media sono destinati a crescere Se c è la frazione di superiorità di uno schema rispetto alla media, questo schema crescerà come f + cf m( H,t + ) = m( H,t ) = m( H,t )( + c) f m( H,t ) = m( H, ) ( + c) t ) pag. 23
Robustezza degli Schemata Uno schema può essere distrutto durante il processo di crossover = * * * * δ ( H ) = 2 4 5 9 H H = * * * * * * * δ ( H 2 4 2 2 = Posizionando il crossover al 4 gene, lo schema H si perde, mentre H 2 si conserva In generale gli schemi più dispersi (con maggiore lunghezza δ) sopravviveranno più difficilmente, perché verranno più facilmente tagliati La probabilità di taglio di uno schema di l cromosomi e lunghezza δ è data da ( H ) p d = δ l ) 8 2 pag. 24
Sopravvivenza degli Schemata La probabilità di sopravvivenza di uno schema è data da δ ( H ) p = p = s d l Se il crossover, casuale, interviene con probabilità p c all interno dello schema, la probabilità di sopravvivenza diviene δ ( H ) p p s c l Assumendo che riproduzione e crossover siano processi casuali indipendenti, la sopravvivenza dello schema nella generazione successiva è data da m( H,t + ) m( H,t ) f ( H ) f sopravvivenza per riproduzione p c δ ( H ) l sopravvivenza per crossover pag. 25
Effetto della mutazione La mutazione, cambiando un singolo gene può distruggere uno schema Se p m è la probabilità di mutazione di un singolo gene, applicando questa probabilità ad uno schema H di ordine o(h) si ha ( ) o( H ) p o( H ) p se p << m m m Sottraendo l effetto della mutazione alla dinamica di crescita degli schemi si ha f ( H ) δ ( H ) m( H,t + ) m( H,t ) p o( H ) p c m f l Sopravvivenza per riproduzione distruzione per crossover Distruzione per mutazione pag. 26
Teorema Fondamentale degli Schemi Definisce le modalità di propogazione di uno schema H in una popolazione, in funzione delle loro caratteristiche fitness f(h) lunghezza δ(h) probabilità di crossover p c ordine o(h) probabilità di mutazione p m m( H,t f ( H ) δ ( H ) + ) m( H,t ) p o( H ) p c m f l Sopravvivenza per riproduzione distruzione per crossover distrzione per mutazione Perché un GA abbia successo si deve cercare di preservare gli schemi più vantaggiosi, conservandoli come building blocks lungo le generazioni pag. 27