6. CORRISPONDENZE TRA NATURA/CALCOLO
Individuo Soluzione del problema
Popolazione Insieme di soluzioni
Fitness Qualità di una soluzione
Genotipo Rappresentazione di una sol.
Crossover, Mutazione Operatori di ricerca
Selezione Naturale Riuso delle buone soluzioni
Evoluzione Ricerca di buone soluzioni
7. PROBLEMI DI QUESTE METODOLOGIE
Soft-computing: imprecisione, incertezza
e approssimazione
Scarse garanzie di ottimalità e
convergenza
Eccesso di trial-and-error
8. VANTAGGI DI QUESTE METODOLOGIE
Sviluppo molto veloce
Sistemi spesso robusti e poco sensibili a
rumori e disturbi
10. SCHEMA DI UN EA
La struttura è sempre la seguente:
x[t + 1] = s(v(x[t]))
Ma quale rappresentazione?
11. SOLUZIONE DI UN EA
Mapping tra genotipo (rappresentazione
genetica) e fenotipo (variabili del
problema)
12. QUALI PROBLEMI PER GLI EA?
Niente Mickey Mouse problems ma real-world
problems:
Vincoli non-lineari
Condizioni non-stazionarie
Osservazioni con rumore e variabili
casuali
Mancanza di sistemi esperti
Feature selection
Multi-modale e multi-dimensionalità
13. NIENTE PROBLEMI SEMPLICI
Minimizzare funzioni convesse
Risolvere un’istanza media di un problema di
ottimizzazione combinatoria (es. TSP)
Progettare un controllore PID
14. PROBLEMI DIFFICILI
TSP con più di 10.000 nodi (VLSI)
Problemi multi-obiettivo (es. progettazione di
circuiti integrati estesi)
Controllo di impianti industriali molto complessi
Progettazione di controllori a rete neurale per
robot autonomi e swarm robotics
Protein folding
15. EPISTASI
Definizione: Grado di interazione tra i diversi geni
Ricerca casuale
Algoritmo genetico
(e simili)
Ricerca classica
16. QUALI ALGORITMO USARE?
Varietà di algoritmi:
Evolution Strategies - ES (Rechenberg, 1971)
Genetic Algorithms – GA (Holland, 1975)
Particle Swarm Optimization – PSO (Kennedy-
Eberhart, 1995)
Genetic Programming - GP(Koza)
Cellular Genetic Algorithm – CGA
Multi-Objective Genetic Algorithm
Artificial Immune Systems - AIS
Ant Colony Optimization - ACO
17. ALGORITMI GENETICI (GA)
Algoritmo di ricerca basato sul principio di
selezione naturale
Ricerca in parallelo
Operatori di ricombinazione (crossover) e
mutazione
Soluzioni rappresentate con stringhe
binarie o vettori reali
Funzione di fitness legata alla capacità di
sopravvivere dell’individuo
18. ALGORITMI GENETICI
Inizializzo
popolazione
Valutazione e
assegnazione
fitness
Riproduzione
Crossover
Mutazione
19. ALGORITMI GENETICI
Non solo con una popolazione sola
(panmittici)
Movimento e interazioni basate su un
grafo (algoritmi genetici cellulari)
Metodi per creare “nicchie” evolutive e
aumentare la diversità
Ibridizzazioni
20. STRATEGIE EVOLUTIVE (ES)
Nato per risolvere il problema di
ottimizzazione della forma di una
tubatura
Da subito opera su vettori reali
Operatore di ricerca: mutazione
21. (1+1)-ES
Il più semplice fra tutti gli algoritmi ES
Soluzione iniziale x
e ampiezza σ
Soluzione mutata:
y = y + N(0,σ)
Se f(y) < f(x)
sostituisco x con y
22. STRATEGIE EVOLUTIVE (ES)
Valore di σ fondamentale, si può calcolare
in maniera ottima
Valore di σ può essere adattivo
Multi-Membered ES: (µ + λ)-ES ed anche
(µ, λ)-ES
23. PARTICLE SWARM OPTIMIZATION (PSO)
Soluzioni iniziali casuali
Le particelle si muovono nell’(iper)spazio
delle soluzioni con una velocità
Swarm intelligence
Esperienza individuale e collettiva
24. PARTICLE SWARM OPTIMIZATION (PSO)
Ogni individuo è rappresentato da un vettore
reale x e da una velocità v
t1 t t t
vi w vi c1 rand ( pbest xi ) c 2 rand ( gbest xi )
i
26. APPROCCI TEORICI
Studiare i meccanismi basilari
Studio della complessità delle funzioni di fitness
Convergenza
Diversità delle soluzioni
27. NO FREE LUNCH THEOREM
Esiste un algoritmo migliore di tutti
gli altri?
Qualunque due algoritmi [di ottimizzazione]
sono equivalenti quando le loro performance
sono mediate su tutti i possibili problemi
(funzioni di fitness)
28. NO FREE LUNCH THEOREM
Restringere ricerca dei parametri ad una
classe di problemi
Random Search teoricamente buona
quanto gli altri algoritmi
Cos’è un real-world problem?
Operatori specifici per problemi specifici
29. EA IN AMBIENTI DINAMICI
Funzione obiettivo variabile nel tempo
Compromesso tra convergenza e
(bio)diversità delle soluzioni
30. BIODIVERSITÀ
Mantenere diversità significa:
Punti di esplorazione “buoni” al variare
1)
della funzione obiettivo
Esplorazione più vasta e maggiore
2)
conoscenza del dominio
31. ENSEMBLING
Combinazione lineare dei predittori
(Generalized Ensemble Method e Optimal
Linear Combination)
Fitness Sharing
Negative-Correlation Learning
33. E adesso cosa posso farci di utile?
APPLICAZIONI AL CONTROLLO
34. UTILIZZI
Molto usati nel campo dell’ingegneria del
controllo:
Progettazione di controllori
Identificazione
Analisi di stabilità e robustezza
Fault detection
36. ALGORITMO GENETICO PER UN PID
Genotipo: [Kp Kd Ki]
Funzione di fitness: *2
( yt yt )
t
Parametri codificati in un genotipo binario
di 24 bit
37. CONTROLLORE PER UNA TURBINA A GAS
Turbine moderne molto instabili
Molte richieste (tempo di salita
veloce, assestamento rapido e poco
overshoot)
38. CONTROLLORE PER UNA TURBINA A GAS
Genotipo: Parametri del controllore
Fitness: 9 diverse (efficienza, complessità)
Sistema di fitness sharing
Riduzione del numero di valutazioni
39. PROGETTAZIONE DI UN CIRCUITO
Genotipo: parametri del circuito e area
Funzioni di fitness: consumo, guadagno
Radio Frequency Low
Noise Amplifier
Presenza di vincoli
(constraints)
Ottimi risultati rispetto a
progettisti umani e
software commerciali
40. ROBOTICA EVOLUTIVA
Genotipo: rete neurale (ANN)
Funzione di fitness: tempo che un robot impiega per
raggiungere il suo obiettivo, numero di scontri
con ostacoli
Operatori di variazione: mutazione gaussiana sui
pesi e bias