soft computing - lezione di controlli automatici
DESCRIPTION
Lezione di controlli automatici, Gennaio 2009 - Introduzione al Soft ComputingTRANSCRIPT
Soft Computing & Controllo
Matteo De Felice
Evolutionary Computation
Natural Computing
Soft Computing
EVOLUTIONARY COMPUTING
Famiglia di tecniche stocasticheSpesso metodi bio-ispiratiMetodi nati per i real-world problems
UN REAL-WORLD PROBLEM
METODOLOGIE BIO-INSPIRATE
Ispirarsi al Natural Design: Ricorsione e feedbackAuto-organizzazione e comportamenti emergentiAdattività e apprendimento
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
CORRISPONDENZE TRA NATURA/CALCOLO
PROBLEMI DI QUESTE METODOLOGIE
Soft-computing: imprecisione, incertezza e approssimazioneScarse garanzie di ottimalità e convergenzaEccesso di trial-and-error
VANTAGGI DI QUESTE METODOLOGIE
Sviluppo molto veloceSistemi spesso robusti e poco sensibili a rumori e disturbi
SCHEMA DI UN EA
Rappresentazione delle
soluzioni
Funzione di performance (fitness)
Operatori di variazione
SCHEMA DI UN EA
La struttura è sempre la seguente:
x[t + 1] = s(v(x[t]))
Ma quale rappresentazione?
SOLUZIONE DI UN EA
Mapping tra genotipo (rappresentazione genetica) e fenotipo (variabili del problema)
Genotipo:
1 0 1 | 0 1 1
Fenotipo
{5 , 3}
QUALI PROBLEMI PER GLI EA?
Niente Mickey Mouse problems ma real-world problems:
Vincoli non-lineariCondizioni non-stazionarieOsservazioni con rumore e variabili casualiMancanza di sistemi espertiFeature selectionMulti-modale e multi-dimensionalità
NIENTE PROBLEMI SEMPLICI
“…are the second best way to
implement a solution„Minimizzare funzioni convesse
Risolvere un’istanza media di un problema di
ottimizzazione combinatoria (es. TSP)
Progettare un controllore PID
PROBLEMI DIFFICILI
TSP con più di 10.000 nodi (VLSI)Problemi multi-obiettivo (es. progettazione di circuiti integrati estesi)Controllo di impianti industriali molto complessiProgettazione di controllori a rete neurale per robot autonomi e swarm roboticsProtein folding
EPISTASIDefinizione: Grado di interazione tra i diversi geni
Alta
Bassa
Ricerca casuale
Ricerca classica
Algoritmo genetico (e simili)
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 – CGAMulti-Objective Genetic AlgorithmArtificial Immune Systems - AISAnt Colony Optimization - ACO
ALGORITMI GENETICI (GA)
Algoritmo di ricerca basato sul principio di selezione naturaleRicerca in paralleloOperatori di ricombinazione (crossover) e mutazioneSoluzioni rappresentate con stringhe binarie o vettori realiFunzione di fitness legata alla capacità di sopravvivere dell’individuo
ALGORITMI GENETICI
Inizializzo popolazione
Valutazione e assegnazione
fitness
Riproduzione
Crossover
Mutazione
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
STRATEGIE EVOLUTIVE (ES)
Nato per risolvere il problema di ottimizzazione della forma di una tubaturaDa subito opera su vettori realiOperatore di ricerca: mutazione
(1+1)-ES
Il più semplice fra tutti gli algoritmi ESSoluzione mutata: y = y + N(0,σ)
Se f(y) < f(x) sostituisco x con y
STRATEGIE EVOLUTIVE (ES)
Valore di σ fondamentale, si può calcolare in maniera ottimaValore di σ può essere adattivo Multi-Membered ES: (µ + λ)-ES ed anche (µ, λ)-ES
PARTICLE SWARM OPTIMIZATION (PSO)
Soluzioni iniziali casualiLe particelle si muovono nell’(iper)spazio delle soluzioni con una velocitàSwarm intelligenceEsperienza individuale e collettiva
PARTICLE SWARM OPTIMIZATION (PSO)
Ogni individuo è rappresentato da un vettore reale x e da una velocità v
)()( 211 t
itii
ti
ti xgbestrandcxpbestrandcvwv
esperienza individuale esperienza collettiva
PROGRAMMAZIONE GENETICA (GP)
Evolve “funzioni”Operatori particolariProblema di complessità (bloat)
APPROCCI TEORICI
Studiare i meccanismi basilariStudio della complessità delle funzioni di fitnessConvergenzaDiversità delle soluzioni
NO FREE LUNCH THEOREM
Esiste un algoritmo migliore di tutti gli altri?
Wol
pert, D
.H.,
Mac
read
y, W
.G. (
1997
), "N
o
Free
Lun
ch T
heor
ems
for O
ptim
izat
ion,
"
IEEE
Tra
nsac
tions
on
Evol
utio
nary
Com
puta
tion
1, 6
7Qualunque due algoritmi [di ottimizzazione] sono equivalenti quando le loro performance sono mediate su tutti i possibili problemi (funzioni di fitness)
NO FREE LUNCH THEOREM
Restringere ricerca dei parametri ad una classe di problemiRandom Search teoricamente buona quanto gli altri algoritmiCos’è un real-world problem?Operatori specifici per problemi specifici
EA IN AMBIENTI DINAMICI
Funzione obiettivo variabile nel tempoCompromesso tra convergenza e (bio)diversità delle soluzioni
BIODIVERSITÀ
Mantenere diversità significa:1) Punti di esplorazione “buoni” al
variare della funzione obiettivo2) Esplorazione più vasta e maggiore
conoscenza del dominio
ENSEMBLING
Combinazione lineare dei predittori (Generalized Ensemble Method e Optimal Linear Combination)Fitness SharingNegative-Correlation Learning
OTTIMIZZAZIONE MULTI-OBIETTIVO
Teoria di ParetoNon più un ottimo ma un insieme di ottimi
E adesso cosa posso farci di utile?
APPLICAZIONI AL CONTROLLO
UTILIZZI
Molto usati nel campo dell’ingegneria del controllo: Progettazione di controlloriIdentificazioneAnalisi di stabilità e robustezzaFault detection
CONTROLLORI
Utilizzo al fine di ottenere:I parametri del controlloreLa struttura del controllore
Computer Aided Design (CAD) e Computer Aided Engineering (CAE)
ALGORITMO GENETICO PER UN PID
Genotipo: [Kp Kd Ki]Funzione di fitness:
ttt yy 2*)(
Parametri codificati in un genotipo binario di 24 bit
CONTROLLORE PER UNA TURBINA A GAS
Turbine moderne molto instabiliMolte richieste (tempo di salita veloce, assestamento rapido e poco overshoot)
CONTROLLORE PER UNA TURBINA A GAS
Sistema di fitness sharingRiduzione del numero di valutazioni
Genotipo: Parametri del controlloreFitness: 9 diverse (efficienza,
complessità)
Chip
perfi
eld,
A.,
& F
lem
ing,
P. (
1996
).
Mul
tiobj
ectiv
e ga
s tu
rbin
e
engi
ne c
ontrol
ler d
esig
n us
ing
gene
tic
algo
rithm
s. IE
EE Tra
nsac
tions
on In
dust
rial E
lect
roni
cs, 4
3(5)
, 1–5
.
PROGETTAZIONE DI UN CIRCUITO
Genotipo: parametri del circuito e areaFunzioni di fitness: consumo, guadagno
Radio Frequency Low Noise AmplifierPresenza di vincoli (constraints)Ottimi risultati rispetto a progettisti umani e software commerciali
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
ROBOT BIOLOGICAMENTE ISPIRATI