les algorithmes fourmis - université de montréalaimeur/cours/ift6261... · => réduire...

32
Les algorithmes fourmis 1 Les algorithmes fourmis Laurane Margot [email protected] Mars 2006

Upload: others

Post on 23-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

1

Les algorithmes fourmis

Laurane [email protected]

Mars 2006

Page 2: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

2

Plan

Qu’est ce qu’un système multi - agents ?

Comportements modélisés :Le forage (algorithmes ACO)Le rangementLe transport collaboratifLa division des tâches

Conclusion

Page 3: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

3

Qu’est ce qu’un système multi-agents ?

2 types d'agents :

désirs, croyances, comportement

Les agents cognitifs :

Représentation symbolique du monde

Raisonnement

agents intelligents

Les agents réactifs :

Représentation du monde limitée à leurs perceptions

Réflexe

intelligence collective

Page 4: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

4

Les algorithmes fourmis

Principe :

Agents simples

Stigmergie (Grassé 1959)Communication indirecte par le biais de modifications apportées àl'environnement.

Comportements émergents

Histoire :

Années 90 : Apparition des premiers algorithmes fourmisAnt System (1992-1996)

2001-2006 : Swarm Bothttp://www.swarm-bots.org/

Page 5: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

5

Plan

Qu’est ce qu’un système multi - agents ?

Comportements modélisés :Le forage (algorithmes ACO)Le rangementLe transport collaboratifLa division des tâches

Conclusion

Page 6: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

6

Comportement de forage

T=0 : chemin NS : PNS = 1

T=1 : quantité phéromones en A/B coté C : 0quantité phéromones en A/B coté L: 0

PALB = PACB

T=2 : quantité phéromones en A/B coté C : 2xquantité phéromones en A/B coté L : x

PALB < PACB

Phéromone = Substance chimique émise par un individu (animal) et qui provoque un comportement particulier chez un autre individu de la même espèce

= comparables aux hormones. Hormone = dans l’organisme, Phéromones = à l’extérieur

Page 7: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

7

Algorithmes ACO

Algorithmes ACO (Ant Colony Optimization) :Méthodes d’approximations (pas LA meilleure solution),Stochastiques (aléatoires),Distribuées.

Algorithmes :Ant System (1992 publié en 1996)Elitist Ant System (1992)Max-Min Ant System (1997)Ant Colony System (1997)Rank Based Ant System (1999)Approximate Non deterministic Tree Search (1999)Hyper Cube Framework for ACO (2001)…

Page 8: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

8

Le problème du voyageur de commerce

Enoncé :n points (villes)dij distance entre les villes i et j

chemin de longueur totale minimale qui passe exactement une foispar chaque point (et revienne au point de départ) ?

Formellement :Un graphe complet G = (V,A,f)

où V = ensemble de sommets (villes)A = ensemble d'arcs (routes entre les villes)f : A : fonction de coût sur les arcs (distance entre les

villes par exemple).chemin hamiltonien qui minimise les coûts.

Page 9: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

9

Le 1er algorithme ACO : Ant SystemInitialisation :- m fourmis sont placées au hasard dans les n villes- calcul des distances dij- Initialisation des phéromones τij pour chaque "route"

Exécution :Tant que (¬Condition d’arrêt)

1. Construction des chemins :- A chaque pas, la fourmi k située dans une ville i choisi une ville j du voisinage

possible (villes non visitées) selon la règle :

ηij = 1/dij = valeur d'heuristiqueα et β = paramètres

2. Mise à jour des phéromones :- Évaporation "oublier" les chemins les moins bons : τij (1-ρ)τij

où ρ = paramètre- Qualité de la solution Sk trouvée :

τij τij + où

3. Effacer mémoire fourmis (villes visitées)

[ ] [ ][ ] [ ]∑

=

klVl

ilil

ijijkijP βα

βα

ητητ

kiV

∑=

∆m

k

kij

⎪⎩

⎪⎨⎧ ∈

=∆autrement

SjisieLongueurCh kkkij 0

),(min1τ

Page 10: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

10

Le 1er algorithme ACO : Ant System

A

CD

Bd=3,τ=1

d=4, τ=1

d=2,τ=1

d=1, τ=1

d=1,τ=1

d=1,τ=1

Fourmi 1 :Position : AChemin : AVoisinage : B, C, D

Fourmi 2 :Position : DChemin : DVoisinage : A, B, C

A

CD

Bd=3,τ=1

d=4, τ=1

d=2,τ=1

d=1, τ=1

d=1,τ=1

d=1,τ=1

Fourmi 1 :Position : CChemin : A, CVoisinage : B, D

Fourmi 2 :Position : AChemin : D, AVoisinage : B, C

A

CD

Bd=3,τ=1

d=4, τ=1

d=2,τ=1

d=1, τ=1

d=1,τ=1

d=1,τ=1

Fourmi 1 :Position : BChemin : A, C, BVoisinage : D

Fourmi 2 :Position : CChemin : D, A, CVoisinage : B, C

A

CD

Bd=3,τ=1

d=4, τ=1

d=2,τ=1

d=1, τ=1

d=1,τ=1

d=1,τ=1

Fourmi 1 :Position : DChemin : A, C, B, DVoisinage :Coût : 6

Fourmi 2 :Position : BChemin : D, A, C, BVoisinage :Coût : 5

A

CD

Bd=3,τ=0,5+1/5+1/6

d=4, τ=0,5

d=2,τ=0,5+1/6

d=1, τ=0,5

d=1,τ=0,5+1/5

d=1,τ=1+1/5+1/6

Fourmi 1 :Position : AChemin : A, C, B, DVoisinage :Coût : 6

Fourmi 2 :Position : DChemin : D, A, C, BVoisinage :Coût : 5

A

CD

Bd=3,τ=0,5

d=4, τ=0,5

d=2,τ=0,5

d=1, τ=0,5

d=1,τ=0,5

d=1,τ=1

Fourmi 1 :Position : DChemin : A, C, B, DVoisinage :Coût : 6

Fourmi 2 :Position : BChemin : D, A, C, BVoisinage :Coût : 5

A

CD

Bd=3,τ=0,5

d=4, τ=0,5

d=2,τ=0,5+1/6

d=1, τ=0,5

d=1,τ=0,5

d=1,τ=1+1/5

Fourmi 1 :Position : BChemin : A, C, B, DVoisinage :Coût : 6

Fourmi 2 :Position : CChemin : D, A, C, BVoisinage :Coût : 5

A

CD

Bd=3,τ=0,5+1/5

d=4, τ=0,5

d=2,τ=0,5+1/6

d=1, τ=0,5

d=1,τ=0,5

d=1,τ=1+1/5+1/6

Fourmi 1 :Position : CChemin : A, C, B, DVoisinage :Coût : 6

Fourmi 2 :Position : AChemin : D, A, C, BVoisinage :Coût : 5

A

CD

Bd=3,τ=0,5+1/5+1/6

d=4, τ=0,5

d=2,τ=0,5+1/6

d=1, τ=0,5

d=1,τ=0,5+1/5

d=1,τ=1+1/5+1/6

Fourmi 1 :Position : AChemin : AVoisinage :Coût : 6

Fourmi 2 :Position : DChemin : DVoisinage :Coût : 5

Page 11: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

11

Méta heuristique ACO

Représentation du problème :Un ensemble fini C = c1, c2, …, c|C| de composants.

Un ensemble fini L= lcicj | lcicj ∈ C×C de connexions entre les composants.

Un ensemble fini de contraintes Ω ≡ Ω(C,L,t) sur les éléments de C et L qui peut dépendre du temps t.

Une fonction de coût gcicj ≡ g(lcicj,t) associée à chaque connexion lcicj.

Le voisinage Vci = ensemble des composants accessibles en un pas depuis ci.

Un état = suite de termes x = <ci, cj, …> de taille finie.L’état s est une solution s'il satisfait toutes les exigences du problème.Coût associé à s: gs(L,t) = une fonction sur les coûts gcicj de s.

graphe complet GC = (C,L)

Page 12: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

12

Méta heuristique ACO

Procedure ACOMetaheuristique

P = Initialiser_pheromones()sm NULL //meilleure solutionTantque (¬ Conditions_De_Fin) faire

Siter NULL //ensemble des solutions de l'itérationPour m = 1 à nbfourmis faire

s Construire_La_Solution(P)Actions_Démons(s) //optionnelSi [g(s) < g(sm)] ou [sm = NULL] alors sm s

Siter Siter ∪ sFinPourActions_Démons(s) //optionnelMettre_A_Jour_Les_Pheromones(P,Siter,sm)

FinTantQueRetourner sm

FinProcedure

Page 13: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

13

Méta heuristique ACO

Procedure Construire_La_Solution(Pheromones[] P)

s ci //composants visités = composant initialV Voisinage (dernier(s)) Tantque (¬ Graphe_Entierement_Visite(s)) faire

p = Nouveau_Tableau(taille(V)) //probabilité de choisir composants cPour c ∈ V faire

p[c] Regle_de_decision(P,dernier(s),c)FinPours s ∪ Choix_Composant(p)Mettre_A_Jour_Les_Pheromones(P,s) //optionnelV Voisinage (dernier(s))

FinTantQueRetourner s

FinProcedure

Page 14: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

14

Méta heuristique ACO

Améliorations :

Actions démons :

Recherches locales recherche de meilleures solutions par modification d’un ou deux composants de la solution de base peuvent parfois permettre de se passer des valeurs d’heuristiques.

Ajout de "bonus phéromones" nécessite utilisation d’informations globales.

Listes candidateschoix du composant sur un sous ensemble des composants qui regroupe ceux qui offrent le meilleur coût.

Page 15: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

15

Autres algorithmes ACO

Max-Min Ant System :

Seule la fourmi ayant trouvé le meilleur tour (de l’itération ou depuis le début) est autorisée à déposer des phéromones.=> réduire complexité de l’algorithme.

Limitation de la quantité de phéromones possibles τij ∈ [τmin,τmax]. => éviter stagnation.

Initialisation des phéromones avec τmax.=> favoriser l’exploration au début.

Réinitialisation de la quantité de phéromones quand système commence à stagner.

Page 16: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

16

Autres algorithmes ACO

Ant Colony System :

Seule la fourmi ayant trouvé le meilleur tour depuis le début est autorisée à déposer des phéromones.=> réduire complexité de l’algorithme.

choix composant suivant : meilleur mouvement possible (utilisation stricte des info accumulées) ou règle "classique".

A chaque fois qu'une fourmi emprunte un arc, elle décrémente la quantité de phéromones associée=> favorise l'exploration d'arcs non explorés et empêche la stagnation.

Page 17: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

17

Applications

Comportement simple :Parcourir le grapheDéposer des phéromones

Comportement émergent :Suivre le chemin le plus court

ApplicationsOptimisations de problèmes difficiles (problème d’ordonnancement séquentiel, d’assignement quadratique,…)

Data Mining

Routage au travers de réseau dynamique (AntNet)

Organisation de parcs de voitures (pour la Migro en Suisse)…

Site de Marco Dorigo (liens vers conférences,…) : http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html

Page 18: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

18

Plan

Qu’est ce qu’un système multi - agents ?

Comportements modélisés :Le forage (algorithmes ACO)Le rangementLe transport collaboratifLa division des tâches

Conclusion

Page 19: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

19

Comportement de rangement

Formation de cimetières :Quand une fourmi meurt, son corps est transporté et empilé àl'extérieur de la fourmilière.

phénomène pas vraiment été expliqué (attraction des corps ?)

Rangement du couvain :Cloisonnement des différents types de progénitures :

séparés en tas,organisés en structures annulaires : œufs et petites larves au centre puis larves plus grosses et enfin cocons.

plusieurs théories :"l'effet muesli" ,Fait que les œufs produisant moins de déchets que les larves, on peut les regrouper en des rangs plus serrés.

Page 20: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

20

Algorithmes

Formation de tas :fourmis se déplacent aléatoirement dans le monde et prennent et posent les objets selon les règles de probabilité :

et où f = critère de similarité entre objets=

fp et fd sont des paramètres

Formation de structures annulaires :Application simple de l’effet muesli (résultats faibles).Quand une fourmi transportant un objet heurte un autre objet, elle recule d'une distance proportionnelle au type de l'objet transporté et pose ce dernier.Amélioration : distance de recul est aussi proportionnelle au temps depuis le dernier transport (par la fourmi) d’un objet de type identique (res moyens).Algorithme génétique et réseau de neurone.

2

p

pprendre f

f P ⎟

⎟⎠

⎞⎜⎜⎝

+=

f

2

ddeposer ff

f P ⎟⎟⎠

⎞⎜⎜⎝

⎛+

=( )∑

∈Vobj objij

)obj,(objsimilarité - 1 ji

Page 21: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

21

Applications

Comportement simple :Déplacer des objets selon des règles simples

Comportement émergent :Formation de tas ou structures annulaires

Applications :Data MiningQuantification de couleurs

Design de circuits VLSI …

Page 22: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

22

Plan

Qu’est ce qu’un système multi - agents ?

Comportements modélisés :Le forage (algorithmes ACO)Le rangementLe transport collaboratifLa division des tâches

Conclusion

Page 23: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

23

Comportement de transport collaboratif

Transporter un objet lourd:RecruterTransporter

Pousser/TirerPorter

Eviter de rester bloquerRéalignement : sans lâcher la prise, se remettre dans le sens oùl'on veut allerReplacement : changer de position pour essayer d'avancer

Communication par l’intermédiaire de l’objet (détection des pressions)

Page 24: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

24

Algorithmes

Définir un meneur et 1 (ou plusieurs) porteursMeneur : amener l’objet au nid, éviter les obstacles

Porteur : maintenir l’objet

Possibilité d’échanger les rôles si l’obstacle a contourner est trop important pb de synchronisation, organisation.

Algorithme génétique et réseau de neurone

Page 25: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

25

Applications

Comportement simple :Tirer/Pousser et/ou porterSuivre le mouvement

Comportement émergent :Transport collaboratif

Application :RobotiqueProjet Swarm Bot :

http://www.swarm-bots.org/

Page 26: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

26

Plan

Qu’est ce qu’un système multi - agents ?

Comportements modélisés :Le forage (algorithmes ACO)Le rangementLe transport collaboratifLa division des tâches

Conclusion

Page 27: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

27

Comportement de division des tâches

Aspect central de la vie d'une fourmilière :différences morphologiques peuvent être importantes pourtant des soldats se peuvent se comporter, à l'occasion, comme des ouvrières et vice versa.

Principe de l'offre et de la demande

Réponse à une tâche dépend :type de fourmi (ouvrière, soldat,…)occupation courante (ex : éclaireur peut susceptible de s’occuper du couvain)

Page 28: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

28

Algorithmes

Notion de seuil de réponse :

où Ti = tâche à effectuerθTi = seuil de réponse de la fourmi pour Ti

hi = fonction de coût (ex : dfourmi,lieu_tâche)β et γ = paramètres

sTi = stimulus associé à la Ti. sTi(t+1) = sTi(t) + δ -N = nombre de fourmis,NTi = nombre de fourmis qui effectuent Ti

δ = augmentation du stimulus par unité de temps α = performance dans l'exécution de la tâche

Notion d'apprentissage : θTi θTi - ξ θTi θTi + ϕ

²)( 22

2

TiTiT

Ti hs

sTP

i

i

γβθ ++=

NN

iTα

Page 29: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

29

Applications

Fourmilière artificielle (projet MANTA d’Alexis Drogoul)http://www-poleia.lip6.fr/~drogoul/projects/manta/index.html

Assignement de tâches

Transport collaboratif (Swarm Bot)

Page 30: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

30

Plan

Qu’est ce qu’un système multi - agents ?

Comportements modélisés :Le forage (algorithmes ACO)Le rangementLe transport collaboratifLa division des tâches

Conclusion

Page 31: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

31

Conclusion

Systèmes multi – agents :RobustesseFlexibilitéAdaptabilité

Systèmes en essaims :Agents simple, comportement complexe

Algorithmes fourmis :Tirés d’un modèle existant et efficace

Page 32: Les algorithmes fourmis - Université de Montréalaimeur/cours/ift6261... · => réduire complexité de l’algorithme. Limitation de la quantité de phéromones possibles τ ij ∈[τ

Les algorithmes fourmis

32

Références

Ant Colony Optimisation (forage) :http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.htmlDorigo M, Stützle T ; Ant colony optimization ; MIT Press, 2004.

Swarm Bot (transport collaboratif, division du travail,…) :http://www.swarm-bots.org/

Manta (division du travail) :http://www-poleia.lip6.fr/~drogoul/projects/manta/index.html

NASA, projet ANTS (Autonomous NanoTechnology Swarm)(SMA en essaims) :

http://ants.gsfc.nasa.gov/