Download - Gli algoritmi genetici (GA)

Transcript
Page 1: Gli algoritmi genetici (GA)

Gli algoritmi genetici (GA) 1

Gli algoritmi genetici (GA)

• Si ispirano al meccanismo dell’evoluzione

• Viene creata una popolazione di individui che si riproduce ed evolve, di generazione in generazione, selezionando gli individui migliori cioè quelli che meglio si adattano ad un determinato ambiente.

Page 2: Gli algoritmi genetici (GA)

Gli algoritmi genetici (GA) 2

• viene generata una popolazione iniziale di individui

• mediante un meccanismo di riproduzione vengono generati nuovi individui, manipolando il materiale genetico della popolazione iniziale

• gli individui competono tra loro e quelli che meglio si adattano all’ambiente hanno maggiori probabilità di sopravvivenza e di trasmettere il patrimonio genetico alle generazioni future

• la popolazione evolve, di generazione in generazione, incrementando il numero degli individui migliori in essa presenti.

Passi salienti del processo fisico

Page 3: Gli algoritmi genetici (GA)

3

Modello matematico

riproduzionecrossover, mutation individuo miglioreottimo globale

competizioneselectionadattamento all’ambientef(x), fitnessindividuox

Gli algoritmi genetici (GA)

Page 4: Gli algoritmi genetici (GA)

4

NO

Reproductive cycle

Initial population

Fitness evaluation

Start

Stop criterion

satisfied?

SELECTION#1,#2

CROSSOVERpcross

MUTATIONpmut

Fully populated?

NO

YES

Genetic algorithm

Stop

YES

Gli algoritmi genetici (GA)

Page 5: Gli algoritmi genetici (GA)

5

Teoria matematica

• Parallelismo implicito

• Teorema degli schemi

• Bilanciamento tra exploration ed exploitation

Gli algoritmi genetici (GA)

Page 6: Gli algoritmi genetici (GA)

8

1. Codifica delle soluzioni2. Popolazione iniziale3. Calcolo della fitness4. Selezione5. Applicazione degli operatori6. Iterazione e criterio di stop

Realizzazione dell’algoritmo

Gli algoritmi genetici (GA)

Page 7: Gli algoritmi genetici (GA)

9

Codifica delle soluzioni• Codifica binaria o con numeri reali.• Codifica binaria standard, codifica di Gray.• Ns: numero di bit; risoluzione discretizzazione

variabile continua• Cromosoma: unione delle stringhe binarie che

rappresentano le variabili. Ogni bit è detto gene. Il valore che può assumere il bit (0,1) è detto allele.

• La lunghezza Lc del cromosoma: Lc=Ns1+ Ns2+… +NsN

• Dimensione dello spazio di ricerca: 2Lc

Gli algoritmi genetici (GA)

Page 8: Gli algoritmi genetici (GA)

10

Popolazione iniziale• La popolazione iniziale viene creata generando gli

individui in maniera casuale.• Il numero Np di cromosomi generati è la

dimensione della popolazione• Np è scelto in maniera euristica ed è dipendente

dalla natura della funzione obiettivo e dalle dimensioni dello spazio di ricerca

• Negli AG standard Np rimane fisso durante l’evoluzione

Gli algoritmi genetici (GA)

Page 9: Gli algoritmi genetici (GA)

11

Fitness e funzione obiettivo• La funzione obiettivo gioca il ruolo dell’ambiente

nel corso dell’evoluzione.• funzione obiettivo = fitness dell’individuo?

Sì, in genere, a meno di scaling, ranking o normalizzazioni.

• Eventuali vincoli di eguaglianza possono essere trattati inserendo termini penalizzanti nella funzione obiettivo.

• Nell’ottimizzazione di dispositivi elettromagnetici, il calcolo della funzione obiettivo può comportare un’analisi FEM.

Gli algoritmi genetici (GA)

Page 10: Gli algoritmi genetici (GA)

12

Selection• roulette wheel:

la popolazione è rappresentata mediante una ruota di roulette con i settori proporzionali alla fitness degli elementi; la pallina viene lanciata Np volte e gli elementi che hanno fitness migliore hanno probabilità maggiore di essere scelti.

• tournament selection: vengono scelti 2 individui a caso e quello tra i due

che ha la fitness migliore viene copiato nella nuova popolazione; l’operazione viene ripetuta Np volte; prima della selezione gli individui vengono mescolati (shuffle).

Gli algoritmi genetici (GA)

Page 11: Gli algoritmi genetici (GA)

13

• Si può riportare nella nuova generazione l’elemento migliore della precedente popolazione: elitismo.

• Alla fine della selezione gli individui della popolazione intermedia vengono mischiati casualmente

Gli algoritmi genetici (GA)

Page 12: Gli algoritmi genetici (GA)

14

Operatori genetici

• Per ogni coppia, il crossover viene applicato con probabilità Pc.

01001 110

11100 001

01001 001

11100 110 1 punto

1001 110 0

1100 001 1

1001 001 1

1100 110 02 punti

genitori figli• Crossover

Gli algoritmi genetici (GA)

Page 13: Gli algoritmi genetici (GA)

15

• Mutation

• Per ogni individuo, la mutation viene applicata con probabilità Pm.

• L’operatore di crossover ricombina il materiale genetico esistente (favorendo l’exploitation). L’operatore di mutation introduce nuovo materiale genetico (favorendo l’exploration).

• Pc e Pm si scelgono in maniera euristica e in genere Pm<Pc (possono variare durante l’evoluzione).

010 0 1110 010 1 1110

Gli algoritmi genetici (GA)

Page 14: Gli algoritmi genetici (GA)

16

Selection CrossoverMutation

Gli algoritmi genetici (GA)

Page 15: Gli algoritmi genetici (GA)

17

Criterio di arresto• Il meccanismo di selezione, ricombinazione e

calcolo della fitness viene iterato.• L’evoluzione termina quando viene raggiunto

l’ottimo, se questo è noto.• Altrimenti l’evoluzione termina quando:

viene raggiunto il numero massimo Ng di generazioni; il numero totale Nt di valutazioni della funzione obiettivo Nt = Np * Ng

un indicatore di convergenza (uniformità della popolazione, mancanza di progressi nell’evoluzione) raggiunge un determinato valore

Gli algoritmi genetici (GA)