41
Soft Computing & Controllo Matteo De Felice

Soft Computing - Lezione di Controlli Automatici

Embed Size (px)

DESCRIPTION

Lezione di controlli automatici, Gennaio 2009 - Introduzione al Soft Computing

Citation preview

Page 1: Soft Computing - Lezione di Controlli Automatici

Soft Computing & Controllo

Matteo De Felice

Page 2: Soft Computing - Lezione di Controlli Automatici

Evolutionary Computation

Natural Computing

Soft Computing

Page 3: Soft Computing - Lezione di Controlli Automatici

EVOLUTIONARY COMPUTING

Famiglia di tecniche stocasticheSpesso metodi bio-ispiratiMetodi nati per i real-world problems

Page 4: Soft Computing - Lezione di Controlli Automatici

UN REAL-WORLD PROBLEM

Page 5: Soft Computing - Lezione di Controlli Automatici

METODOLOGIE BIO-INSPIRATE

Ispirarsi al Natural Design: Ricorsione e feedbackAuto-organizzazione e comportamenti emergentiAdattività e apprendimento

Page 6: Soft Computing - Lezione di Controlli Automatici

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

Page 7: Soft Computing - Lezione di Controlli Automatici

PROBLEMI DI QUESTE METODOLOGIE

Soft-computing: imprecisione, incertezza e approssimazioneScarse garanzie di ottimalità e convergenzaEccesso di trial-and-error

Page 8: Soft Computing - Lezione di Controlli Automatici

VANTAGGI DI QUESTE METODOLOGIE

Sviluppo molto veloceSistemi spesso robusti e poco sensibili a rumori e disturbi

Page 9: Soft Computing - Lezione di Controlli Automatici

SCHEMA DI UN EA

Rappresentazione delle

soluzioni

Funzione di performance (fitness)

Operatori di variazione

Page 10: Soft Computing - Lezione di Controlli Automatici

SCHEMA DI UN EA

La struttura è sempre la seguente:

x[t + 1] = s(v(x[t]))

Ma quale rappresentazione?

Page 11: Soft Computing - Lezione di Controlli Automatici

SOLUZIONE DI UN EA

Mapping tra genotipo (rappresentazione genetica) e fenotipo (variabili del problema)

Genotipo:

1 0 1 | 0 1 1

Fenotipo

{5 , 3}

Page 12: Soft Computing - Lezione di Controlli Automatici

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à

Page 13: Soft Computing - Lezione di Controlli Automatici

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

Page 14: Soft Computing - Lezione di Controlli Automatici

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

Page 15: Soft Computing - Lezione di Controlli Automatici

EPISTASIDefinizione: Grado di interazione tra i diversi geni

Alta

Bassa

Ricerca casuale

Ricerca classica

Algoritmo genetico (e simili)

Page 16: Soft Computing - Lezione di Controlli Automatici

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

Page 17: Soft Computing - Lezione di Controlli Automatici

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

Page 18: Soft Computing - Lezione di Controlli Automatici

ALGORITMI GENETICI

Inizializzo popolazione

Valutazione e assegnazione

fitness

Riproduzione

Crossover

Mutazione

Page 19: Soft Computing - Lezione di Controlli Automatici

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

Page 20: Soft Computing - Lezione di Controlli Automatici

STRATEGIE EVOLUTIVE (ES)

Nato per risolvere il problema di ottimizzazione della forma di una tubaturaDa subito opera su vettori realiOperatore di ricerca: mutazione

Page 21: Soft Computing - Lezione di Controlli Automatici

(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

Page 22: Soft Computing - Lezione di Controlli Automatici

STRATEGIE EVOLUTIVE (ES)

Valore di σ fondamentale, si può calcolare in maniera ottimaValore di σ può essere adattivo Multi-Membered ES: (µ + λ)-ES ed anche (µ, λ)-ES

Page 23: Soft Computing - Lezione di Controlli Automatici

PARTICLE SWARM OPTIMIZATION (PSO)

Soluzioni iniziali casualiLe particelle si muovono nell’(iper)spazio delle soluzioni con una velocitàSwarm intelligenceEsperienza individuale e collettiva

Page 24: Soft Computing - Lezione di Controlli Automatici

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

Page 25: Soft Computing - Lezione di Controlli Automatici

PROGRAMMAZIONE GENETICA (GP)

Evolve “funzioni”Operatori particolariProblema di complessità (bloat)

Page 26: Soft Computing - Lezione di Controlli Automatici

APPROCCI TEORICI

Studiare i meccanismi basilariStudio della complessità delle funzioni di fitnessConvergenzaDiversità delle soluzioni

Page 27: Soft Computing - Lezione di Controlli Automatici

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)

Page 28: Soft Computing - Lezione di Controlli Automatici

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

Page 29: Soft Computing - Lezione di Controlli Automatici

EA IN AMBIENTI DINAMICI

Funzione obiettivo variabile nel tempoCompromesso tra convergenza e (bio)diversità delle soluzioni

Page 30: Soft Computing - Lezione di Controlli Automatici

BIODIVERSITÀ

Mantenere diversità significa:1) Punti di esplorazione “buoni” al

variare della funzione obiettivo2) Esplorazione più vasta e maggiore

conoscenza del dominio

Page 31: Soft Computing - Lezione di Controlli Automatici

ENSEMBLING

Combinazione lineare dei predittori (Generalized Ensemble Method e Optimal Linear Combination)Fitness SharingNegative-Correlation Learning

Page 32: Soft Computing - Lezione di Controlli Automatici

OTTIMIZZAZIONE MULTI-OBIETTIVO

Teoria di ParetoNon più un ottimo ma un insieme di ottimi

Page 33: Soft Computing - Lezione di Controlli Automatici

E adesso cosa posso farci di utile?

APPLICAZIONI AL CONTROLLO

Page 34: Soft Computing - Lezione di Controlli Automatici

UTILIZZI

Molto usati nel campo dell’ingegneria del controllo: Progettazione di controlloriIdentificazioneAnalisi di stabilità e robustezzaFault detection

Page 35: Soft Computing - Lezione di Controlli Automatici

CONTROLLORI

Utilizzo al fine di ottenere:I parametri del controlloreLa struttura del controllore

Computer Aided Design (CAD) e Computer Aided Engineering (CAE)

Page 36: Soft Computing - Lezione di Controlli Automatici

ALGORITMO GENETICO PER UN PID

Genotipo: [Kp Kd Ki]Funzione di fitness:

ttt yy 2*)(

Parametri codificati in un genotipo binario di 24 bit

Page 37: Soft Computing - Lezione di Controlli Automatici

CONTROLLORE PER UNA TURBINA A GAS

Turbine moderne molto instabiliMolte richieste (tempo di salita veloce, assestamento rapido e poco overshoot)

Page 38: Soft Computing - Lezione di Controlli Automatici

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

.

Page 39: Soft Computing - Lezione di Controlli Automatici

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

Page 40: Soft Computing - Lezione di Controlli Automatici

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

Page 41: Soft Computing - Lezione di Controlli Automatici

ROBOT BIOLOGICAMENTE ISPIRATI