Vous êtes sur la page 1sur 43

INTRODUCTION AUX SYSTMES COMPLEXES : OPTIMISATION PAR ESSAIMS PARTICULAIRES

Philippe Collard / Manuel Clergue / Sbastien Vrel

Systmes bio-inspirs : objectifs


2

Dans le but de crer des systmes autonomes, robustes et volutifs, une nouvelle forme d'ingnierie trouve son inspiration dans les systmes naturels complexes Par exemple, pour concevoir des systmes scuriss contre les intrusions, il est possible d'imaginer de nouveaux mcanismes inspirs des dfenses immunitaires Doivent tre pens comme des entits autoorganises, adaptatives et distribues

PhilippeCollard.com

30/04/09

Contact
3

philippe.collard@gmail.com manuel.clergue@gmail.com sverel@gmail.com


http://PhilippeCollard.com/

PhilippeCollard.com

30/04/09

Bibliographie / source
4

Machine Nature: The Coming Age of Bio-Inspired Computing, by Moshe Sipper, McGraw-Hill, New York, 2002 Les systmes complexes : mathmatiques & biologie, H. P. Zwirn, ed. Odile Jacob Loptimisation par essaims particulaires, M. Clerc, Ed. Hermes Outil de simulation : http://ccl.northwestern.edu/netlogo Rseau National de Sciences de la Complexit : http://complexsystems.lri.fr/RNSC http://fr.wikipedia.org/
30/04/09

PhilippeCollard.com

Bibliographie / source
5

http://www.cnrs.fr/Cnrspresse/n386/html/ n386a09.htm E. Bonabeau, M. Dorigo and G. Theraulaz. Inspiration for optimization from social insect behaviour. Nature, Vol. 406, juillet 2000, pp. 39-42 Bonabeau, E. & Theraulaz, G. (2000). Swarm Smarts. Scientific American, 282 (3): pp. 72-79 E. Bonabeau, M. Dorigo and G. Theraulaz. (1999) Swarm Intelligence : From Natural to Artificial Systems. Oxford University Press
30/04/09

PhilippeCollard.com

Informatique bio-inspire
6

La bio-inspiration est un changement de paradigme qui amne les ingnieurs s'inspirer de la nature pour dvelopper de nouveaux systmes artificiels Concerne

vgtaux animaux champignons, bactries, virus, aronautique, Pharmacie, matriaux composites, intelligence (vie) artificielle, nanotechnologies,
30/04/09

Gnre des applications


PhilippeCollard.com

Intelligence collective : conditions dmergence

Une information locale et limite

chaque individu ne possde qu'une connaissance partielle de l'environnement et n'a pas conscience de la totalit des lments qui influencent le groupe chaque individu obit un ensemble restreint de rgles simples par rapport au comportement du systme global chaque individu est en relation avec seulement un ou plusieurs autres individus du groupe

Un ensemble de rgles simples

Les interactions sont multiples

La structure mergente est utile la collectivit


les individus trouvent un bnfice collaborer et leur performance est meilleure que s'ils avaient t seuls

PhilippeCollard.com

30/04/09

Le cas des oiseaux migrateurs


8

Les oiseaux migrateurs doivent parcourir de trs longues distances, dans des conditions parfois difficiles Optimiser leur dplacement en terme d'nergie dpense

Les oies sauvages adoptent des formations en V


chaque oiseau prend l'aspiration de son prdcesseur permet d'tendre la distance de vol de prs de 70%

Le prix payer :
un individu seul vole en moyenne 24% plus vite qu'une vole Donc il y a une perte en vitesse

PhilippeCollard.com

30/04/09

Intelligence collective et insectes sociaux

L'intelligence collective s'observe :


insectes sociaux (fourmis, termites et abeilles) animaux se dplaant en formation (oiseaux migrateurs, bancs de poissons)

Points communs qui caractrisent l'intelligence collective :


les individus sont grgaires car ils obtiennent un avantage substantiel chasser, se dplacer ou vivre en groupe interagissent de manire locale par le moyen de signaux (grognement, phromones, attitudes) l'individu seul rpond instinctivement certains stimuli la coordination du groupe est implicite et se fait au travers de rgles comportementales trs simples au niveau individuel

PhilippeCollard.com

30/04/09

Boids : Craig W. Reynolds (1986)


10

Programme

informatique de Vie Artificielle


Modliser

et simuler le comportement d'une nue d'oiseaux en vol

PhilippeCollard.com

30/04/09

Trois rgles locales


11

Comprendre ces phnomnes et la coordination des mouvements (parfois trs brusques) de ces populations Chaque boid se dplace selon sa propre perception de l'environnement avec des rgles simples :
rgle

de sparation Rgle d'alignement (mimtisme) rgle de cohsion

Ces trois rgles de bases, permettent l'attraction et la rpulsion de chacun des individus et permet la stabilit de l'ensemble
30/04/09

PhilippeCollard.com

Trois rgles locales


http://www.rennard.org/
12

Sparation : ne pas heurter ses voisins en s'loignant des proches Alignement : se dplacer dans la mme direction que l'ensemble en moyennant les vitesses et les directions Cohsion : se maintenir dans le groupe en se dplaant vers le centre peru de la formation

PhilippeCollard.com

30/04/09

Trois rgles locales et +


13

Sparation Alignement Cohsion


+ de nouvelles rgles
atteindre

un but (perchoir, arbre, nourriture, ) en PSO chaque entit est une solution et le but global est de se rapprocher de la meilleure

PhilippeCollard.com

30/04/09

Optimisation par Essaims Particulaires


14

Mthode doptimisation propose en 1995

Particle Swarm Optimization (PSO) Russel Eberhart (ingnieur) Jim Kennedy (socio-psychologue)

Principes :
Agents

avec des capacits de perception, mmorisation et calcul limites dynamique induite par des interactions locales observation de comportements globaux mergents
PhilippeCollard.com 30/04/09

Optimisation par essaims particulaires


Particle Swarm Optimization
15

Une population dagents (ici particules) Coopration plutt que Comptition Efficace sur un espace de recherche continu Dynamiques dfinis sur un espace temps discret
Maurice Clerc (ingnieur R&D France Telecom) http://www.particleswarm.info/

Efficace dans des domaines varis :


rgulation de systmes lectriques conception d'ailes d'avions analyse d'images


30/04/09

PhilippeCollard.com

Bibliographie / source
16

Swarm Intelligence, J. Kennedy, R. Eberhart et Y Shi, ed. Morgan Kaufman, 2001 MtaHeuristiques pour loptimisation difficile, J. Dro, et al., ed. Eyrolles, 2003 Loptimisation par essaims particulaires, M. Clerc, ed. Hermes, 2005
30/04/09

PhilippeCollard.com

Etat et comportement dune particule


17

Modle social simpli


Mime le comportement dune nue doiseaux (ou banc de poissons) bas sur les rgles qui permettent de soudain changement de direction, dispersion, regroupement, etc

Etat (instantan) dune particule


position (reprsente une solution du problme) vitesse (direction pour un future dplacement)

Comportement :

se dplacer dans lespace de recherche dans le but de se positionner sur des solutions optimales

PhilippeCollard.com

30/04/09

Information utilise par une particule pour dterminer sa prochaine position ?


18

Sa vitesse actuelle Sa meilleure performance La meilleure performance de ses voisines


Do trois types de comportement


goste

: suivre sa propre voie conservateur : revenir en arrire panurgien : suivre le meilleur de tous
PhilippeCollard.com 30/04/09

19

Compromis entre les trois types de comportement

Un dplacement est finalement une combinaison pondre des trois types de mouvement ; pris en compte de :
ltat

instantan : position & vitesse (mmoire propre court terme) perf. personnelle (mmoire propre long terme) perf. des voisins (mmoire partage)

Compromis psycho-social, entre confiance en soi et influence de ses relations sociales


PhilippeCollard.com 30/04/09

Initialisation
20

1 Particule = 1 solution du problme doptimisation Pour chaque particule : 1. fixer sa position au hasard dans lespace de recherche 2. fixer sa vitesse au hasard 3. dfinir son voisinage

gographique (distance), et donc dynamique social, et donc fixe


30/04/09

PhilippeCollard.com

Comment dfinir son voisinage ?


21

Gographique

ncessite une notion de distance doit tre mis a jour chaque dplacement donc
dynamique cot computationnel

Social

Fix une fois pour toute linitialisation (Comment?)


30/04/09

PhilippeCollard.com

Comment dfinir un voisinage social ?


22

Fix une fois pour toute linitialisation sur un cercle virtuel

En fait converge vers un voisinage gographique


30/04/09

PhilippeCollard.com

23

Trois types de comportement pondrer


Ma meilleure perf.

Ma position actuelle x La meilleure perf. de mes voisins Vitesse actuelle PhilippeCollard.com 30/04/09 g

Equations pour un dplacement


24

Mettre jour la vitesse v(t+1) = c1.v(t) + c2.(p-x(t)) + c3.(g-x(t)) Mettre jour la position x(t+1) = x(t) + v(t+1)

Remarque : c1 introduit historiquement dans un second temps


PhilippeCollard.com 30/04/09

Inertie vs. attraction


25

c1 reprsente linertie de la particule


valeur

critique

>> 1 favorise lexploration de lespace de recherche << 1 favorise une convergence prmature

c2 reprsente lattraction vers sa meilleure position : mmoire propre une particule c3 reprsente lattraction vers la meilleure de ses voisines : mmoire partage

Il existe des variantes PSO bases sur une mise jour dynamique The value of the inertia weight is decreased during a run (proposed by Shi and Eberhart)
PhilippeCollard.com 30/04/09

Valeurs des coefficients


26

c1 constante
valeur

critique autour de 1

c2 et c3 distributions uniformes sur [0,cmax]


c2=alea([0,cmax]) c3=alea([0,cmax])

On se limite ainsi deux paramtres c1 et cmax


PhilippeCollard.com 30/04/09

Points essentiels
27

Inspir par les interactions sociales ou les dplacements dun groupe danimaux Pour chaque particule :
Persistance
court

: dure de vie illimite (cf. EA) Capacits de mmorisation de son tat propre
terme long terme
Capacit
au

de perception de son environnement proche

sens gographique au sens social


PhilippeCollard.com 30/04/09

Points essentiels
28

Pas de mcanisme de slection


Une

particule mme actuellement mdiocre est conserve elle permettra peut-tre le succs futur du fait quelle sort de sentiers battus

Cooprer plutt que comptitionner Chacun est producteur et consommateur dinformation Chacun est teacher and learner

PhilippeCollard.com

30/04/09

29

Recherche dans un espace de dimension D

Pour chaque particule :


Position

courante : vecteur x(t) = (x1,..,xD) Vitesse courante : vecteur v(t) = (v1,..,vD) Meilleure position visite : p(t) = (p1,..,pD) Meilleure position parmi les informatrices :
g(t)

= (g1,..,gD)

Pour chaque dimension i dans [1..D]

vi = c1.vi + alea(0,cmax).(pi-xi) + alea(0,cmax).(gi-xi) xi = x i + v i


PhilippeCollard.com 30/04/09

Paramtres
30

Nombre N de particules
compromis

entre le temps de convergence et le cout dvaluation de la fitness

Taille K du voisinage (nombre dinformatrices) Coefficients de pondration : c1,cmax


Il existe des versions adaptatives qui vitent de fixer a priori la valeur des paramtres (cf. TRIBES)
30/04/09

PhilippeCollard.com

Choix des paramtres !


31

0 < c1 <= 1
sinon

divergence sauf si born par (xmax-xmin)/2

Pour une bonne convergence c1 et cmax doivent tre dpendants


Un

comportement intressant merge dun compromis entre individualit et sociabilit Relation trouve exprimentalement, puis confirme mathmatiquement cmax=(c1+1)2/2
PhilippeCollard.com 30/04/09

Choix des paramtres !


32

Valeurs classiques
#particules

20 30 3 5

#informatrices

(c1,cmax)=(0.7
ou

, 1.47)

(0.8 , 1.62) ou

PhilippeCollard.com

30/04/09

Confinement dintervalle
33

Problme
viter

quune particule lors dun dplacement sorte de lespace de recherche Possible erreurs dexcution du programme

Solution
la

ramener au point le plus proche dans lespace modifier sa vitesse

Exemple
Espace : [xmin,xmax]D

xd = MIN(MAX(xd+vd , xmin), xmax)


PhilippeCollard.com 30/04/09

Algorithme de base
34

Initialiser Repeat

for

(n=0 ; n<#Particules ; n++)

calculer

sa fitness fn(t) mAj de sa propre localBestFitnessn


mAj

globalBestFitnes For (n=0 ; n<#Particules ; n++)


calculer

sa vitesse vn(t+1) en fonction de mAj sa position xn(t+1)

Until (prcision atteinte ou maxCycle)


30/04/09

PhilippeCollard.com

Variantes
35

Facteur de contriction : cas particulier de coefficient dinertie


v(t+1) = c.[v(t)+c2.(p-x(t))+c3.(g-x(t))]
o

c est le facteur de constriction de valeur fixe propos par par Clerc & Kennedy amliore grandement les performances

Fully Informed PSO


une

particule est attire par chaque particule de son voisinage Propos par Mendes et al.
PhilippeCollard.com 30/04/09

Standard PSO 2007 :


http://www.particleswarm.info
36

Quite often, researchers claim to compare their version of PSO with the "standard one", but the "standard one" itself seems to vary! Thus, it is important to define a real standard that would stay unchanged for at least one year This PSO version does not intend to be the best one on the market (in particular, there is no adaptation of the swarm size nor of the coefficients) This is simply very near to the original version with just a few improvements based on some recent works
30/04/09

(1995),

PhilippeCollard.com

Standard PSO 2007


37

swarm: A team of communicating people (particles) At each time step

Each particle chooses a few informants at random, selects the best one from this set, and takes into account the information given by the chosen particle. If it finds no particle better than itself, then the "reasoning" is:

"I

am the best, so I just take my current velocity and my previous best position into account"

PhilippeCollard.com

30/04/09

Parameters/Options
38

clamping := true/false => whether to use clamping positions or not randOrder:= true/false => whether to avoid the bias due to the loop on particles "for s = 1 to swarm_size ..." or not rotation := true/false => whether the algorithm is sensitive to a rotation of the landscape or not You may also modify the following ones, although suggested values are either hard coded or automatically computed:

S := swarm size K := maximum number of particles _informed_ by a given one w := first cognitive/confidence coefficient c := second cognitive/confidence coefficient

PhilippeCollard.com

30/04/09

Equations
39

For each particle and each dimension


Equation 1: Equation 2:

v(t+1) = w*v(t) + R(c)*(p(t)-x(t)) + R(c)*(g(t)-x(t)) x(t+1) = x(t) + v(t+1)

where
v(t) := velocity at time t x(t) := position at time t p(t) := best previous position of the particle g(t) := best position amongst the best previous positions of the informants of the particle R(c) := a number coming from a random distribution, which depends on c in this standard, the distribution is uniform on [0,c]

PhilippeCollard.com

30/04/09

Equations
40

Note 1:
When

the particle has no informant better than itself, it implies p(t) = g(t) Equation 1 gets modified to: v(t+1) = w*v(t) + R(c)*(p(t)-x(t))

Therefore,

PhilippeCollard.com

30/04/09

Standard PSO 2007


41

// ----------------------------------------------- PROBLEM functionCode = 0; /* (see problemDef( ) for precise definitions) 0 Parabola (Sphere) 1 Griewank 2 Rosenbrock (Banana) 3 Rastrigin 4 Tripod (dimension 2) 5 Ackley 100 Shifted Parabola 99 Test */

PhilippeCollard.com

30/04/09

Fonction Rosenbrock
42

PhilippeCollard.com

30/04/09

Fonction dAckley
43

PhilippeCollard.com

30/04/09

Vous aimerez peut-être aussi