Soft Computing - Lezione di Controlli Automatici

Preview:

DESCRIPTION

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

Citation preview

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

Recommended