Vous êtes sur la page 1sur 57

OPTIMISATION PAR COLONIE DE FOURMIS

Intelligence en Essaim
PhilippeCollard.com

Optimisation par colonie de fourmis


Ethologie Optimisation par Colonie de fourmis Ant System Problme du voyageur de commerce Modlisation & Simulation en NetLogo

ACO - PhilippeCollard.com

23/04/09

Ethologie vs. Informatique


3

Ethologie

Comportements collectifs des insectes sociaux

Informatique
Traitements et donnes distribues Donnes situes (notion despace) Communication temps/espace (Stigmergie) mthodes puissantes pour la conception d'algorithmes

Optimisation combinatoire Routage Contrle distribu

ACO - PhilippeCollard.com 23/04/09

Ethologie vs. Informatique


4

Les problmes quotidiens rsolus par une colonie sont nombreux et de nature trs varie
recherche de nourriture construction du nid division du travail allocation des tches entre les individus, etc

La plupart de ces problmes se retrouvent dans le domaine des sciences de l'ingnieur, en informatique et en robotique
ACO - PhilippeCollard.com 23/04/09

Mthodes flexibles et robustes


5

En plus de leur capacit, dj surprenante, rsoudre un large spectre de problmes statiques, ces techniques offrent un haut degr de flexibilit et de robustesse dans des environnements dynamiques Elles permettent de rsoudre de faon plus efficace des problmes d'optimisation, comme les problmes
dassignation quadratique (QAP) d'adaptation de flux des communications circulant sur un rseau

ACO - PhilippeCollard.com 23/04/09

Les socits d'insectes ont une capacit rsoudre des problmes d'une manire
6

Flexible
la

colonie s'adapte aux brusques changements d'environnement

Robuste
la

colonie continue de fonctionner lorsque certains individus chouent accomplir leur tche

ACO - PhilippeCollard.com

23/04/09

Comportements collectifs des insectes sociaux auto-organiss


7

Guy Theraulaz. CNRS, Toulouse

ACO - PhilippeCollard.com

23/04/09

Comportements collectifs Auto-Organiss


8

L'auto-organisation = mergence de structures au niveau collectif, partir d'une multitude d'interactions simples, sans tre codes explicitement au niveau individuel Certaines interactions - une fourmi qui suit la piste de phromone laisse par une autre - aident rsoudre collectivement des problmes difficiles, par exemple trouver le chemin le plus court conduisant une source de nourriture
ACO - PhilippeCollard.com 23/04/09

Intelligence en essaim :
un nouveau domaine de recherche
9

Transformer la connaissance que les thologistes ont des capacits collectives de rsolution de problmes des insectes sociaux en techniques artificielles de rsolution de problmes Les informaticiens et les ingnieurs ont pu transformer des modles du comportement collectif des insectes sociaux en mthodes utiles pour l'optimisation et le contrle
ACO - PhilippeCollard.com 23/04/09

Intelligence en essaim
un nouveau domaine de recherche
10

Parmi les techniques de l'intelligence en essaim, certaines sont arrives maturit Les algorithmes de contrle et d'optimisation inspirs de modles de recherche collective de nourriture chez les fourmis en particulier, ont connu un succs inattendu et portent le nom doptimisation par colonie de fourmis (Ant Colony Optimization) et de "routage par colonie de fourmis"
ACO - PhilippeCollard.com 23/04/09

Optimisation par colonie de fourmis


11

Les fourmis sont capables de slectionner le plus court chemin pour aller du nid une source de nourriture grce au dpt et au suivi de pistes de phromone Lorsqu'une colonie de fourmis d'Argentine doit emprunter un pont deux branches de longueurs diffrentes pour exploiter une source de nourriture, elle slectionne la branche courte si la diffrence entre les longueurs des branches est suffisamment importante

ACO - PhilippeCollard.com

23/04/09

A.C.O

comment a marche ?
12

Les fourmis dposent de la phromone l'aller vers la source de nourriture et au retour vers le nid Au dpart, le choix est alatoire mais la branche courte devient vite la plus marque car les fourmis qui l'empruntent arrivent plus vite au nid et auront statistiquement plus de chance de l'emprunter lorsqu'elles retourneront vers la source de nourriture
ACO - PhilippeCollard.com 23/04/09

Phromone
13

Les fourmis choisissent la piste qui porte la plus forte concentration Piste chimique virtuelle
Important de comprendre les comportements naturels avant dabstraire dans un algorithme

ACO - PhilippeCollard.com

23/04/09

Phromone ?
14

Substance chimique produite par des glandes dclenchant des ractions comportementales entre individus de la mme espce Signaux chimiques odorants agissant grande distance dose molculaire Moyen de communication chez les insectes Plusieurs types : sexuelles, de piste, grgaires, d'alarme,
ACO - PhilippeCollard.com 23/04/09

Phromone ?
15

Chimiorcepteurs = antennes garnies d'organes sensoriels Applications pratiques en agriculture "piges phromones " composs d'un attractif (synthse de la phromone naturelle de la femelle du ravageur) et d'un systme assurant la capture des mles

ACO - PhilippeCollard.com

23/04/09

Mouche de lolive : pige phromones


16

Pige compos dun toit englu et dune capsule de phromone suspendue au milieu Mode demploi : dans le cas gnral, il faut 1 pige par ha
http://www.biotop.fr/04produits/mod_pheromon.htm

PhilippeCollard.com

23/04/09

Phnomne autocatalytique
Pont binaire de Deneubourg (1999)
17

Initialement le pont est vide Apres une priode transitoire, des fluctuations alatoires favorisent la piste suprieure plus les A suivent une piste, plus elle devient attractive Phnomne qui se renforce lui-mme (positive feedback)

ACO - PhilippeCollard.com

23/04/09

Exprience du double pont binaire


18

Influence des fluctuations alatoires initiales rduite Car les 4 chemins possibles sont de longueurs diffrentes

ACO - PhilippeCollard.com

23/04/09

Effet de la coupure dune piste


19

ACO - PhilippeCollard.com

23/04/09

Stigmergie
20

Stimulation dagents par la performance de ce quils ont accompli [Grass 1999]


Communication

indirecte Pas de contact physique entre agents Pas de centralisation : interaction locale

Optimisation = Proprit mergente

ACO - PhilippeCollard.com

23/04/09

Ant Colony Optmisation


21

Introduit par M. Dorigo en 1991 Historiquement appliqu sur le TSP Ide : reprsenter le problme rsoudre sous la forme de la recherche dun meilleur chemin dans un graphe

Intensification (via les phromones) des bons chemins Diversification par la nature alatoire des dcisions

Mta-problme : grer le compromis exploitation/exploration


ACO - PhilippeCollard.com 23/04/09

A.C.O et T.S.P
22

Le problme du voyageur de commerce (Traveller Salesman Problem) consiste trouver le chemin le plus court en passant une seule fois par un nombre donn de villes En utilisant des fourmis artificielles conues pour dposer des pistes de phromone dont la concentration varie en fonction de la distance totale qu'elles ont parcourue, on peut obtenir des chemins quasi optimaux
ACO - PhilippeCollard.com 23/04/09

Problme du Voyageur de Commerce (TSP)


23

Complexit : # de parcours possibles, pour n villes est de (n-1)!


6 villes, 120 parcours possibles 10 villes plus de 362 000 60 villes plus de 1080 (# atomes dans l'univers)

Ceci peut expliquer pourquoi, le problme n'a pas t tudi srieusement avant l'arrive des ordinateurs mais depuis de nombreux chercheurs l'ont trait
ACO - PhilippeCollard.com 23/04/09

Ant System
24

Le premier ACO (1992)


-

Performances trs moyennes Etendue de nouvelles versions : Max-Min AS

Robuste
la colonie continue de fonctionner lorsque certains individus chouent accomplir leur tche

ACO - PhilippeCollard.com

23/04/09

Algorithme AS
25

Initialiser repeat

Chaque ant construit une solution (un tour) [amliorer les solutions par recherche locale] Rcompenser les meilleures solutions en ajoutant de la phromone Evaporer les traces de phromone

Until (maxCycles ou bonneSolution)

ACO - PhilippeCollard.com

23/04/09

AntSystem : initialisation
26

1.

Les m ants sont rparties alatoirement sur les n villes Pour chaque ant la liste-tabou contient sa ville de dpart Les pistes de phromones sont initialises : ij=c, c constant positive non nulle
ACO - PhilippeCollard.com 23/04/09

2.

3.

AntSystem : itration de base


Chaque ant choisit une ville de destination et sy dplace
27

Une ant k place sur une ville i linstant t choisit sa ville de destination j en fonction de la :
1. 2.

visibilit de cette ville ij (distance inter villes) quantit de phromone ij(t) dpose sur larc reliant ces deux villes

Le choix est alatoire selon une probabilit o deux paramtres et contrlent limportance relative des phromones et de la visibilit
ACO - PhilippeCollard.com 23/04/09

AntSystem : itration de base


Chaque ant choisit une ville de destination et sy dplace
28

Le choix est alatoire selon une probabilit o deux paramtres et contrlent limportance relative des phromones et de la visibilit La probabilit dun dplacement lmentaire est un compromis entre visibilit et piste chimique

Si =0, les villes les + proches ont + de chance dtre slectionnes (algorithme glouton) Si =0, seule lamplification des phromones agit : convergence prmature
ACO - PhilippeCollard.com 23/04/09

Fin dun cycle de base : Toutes les ants ont


termin un tour en revenant leur propre ville de dpart
29

Pour chaque ant k :


calculer la longueur de son tour Lk(t) vider sa liste-tabou

mettre jour les phromones ij rechercher le plus petit tour et le mmoriser sil est meilleur que les prcdents Toutes les ants recommencent un nouveau tour partir de leur propre ville initiale
ACO - PhilippeCollard.com 23/04/09

Mettre jour les phromones


30

ij(t+n) = . tij(t)+ ij(t)

dans [0,1[

Entre les instants t et t+n


(1-) = vaporation de la piste ij(t)= quantit de phromone dpose par les ants

ACO - PhilippeCollard.com

23/04/09

Evaporation des phromones


31

Si =1, pas dvaporation donc pas de limitation du phnomne autocatalytique Si =0, les ants prennent seulement en compte les dpts du dernier cycle reprsente la persistance de la piste (ie. leffet mmoire)

ACO - PhilippeCollard.com

23/04/09

Quantit de phromone dpose par les ants lors dun tour (cycle)
32

ij(t) = quantit de phromone dpose par les ants sur larc reliant la ville i la ville j entre les instants t et t+n Pour chaque ant k passant par larc (i,j),

ij(t) += Q/Lk(t)
o Q reprsente un quota de phromones attribu chaque ant (souvent Q=100) Ide : + un tour est court, + les arcs qui le composent sont approvisionns Remarque : cest une m.a.j retarde
ACO - PhilippeCollard.com 23/04/09

Algorithme Max-MinAS
33

Initialiser repeat

Chaque ant construit une solution (un tour) [amliorer les solutions par recherche locale] Rcompenser les meilleurs solutions en ajoutant de la phromone Evaporer les traces de phromone Si une tracePhromone<min alors la mettre min Si une tracePhromone>max alors la mettre max

Until (maxCycles ou bonneSolution)

ACO - PhilippeCollard.com

23/04/09

Algorithme Max-MinAS
34

Fournir des rsultats comptifs Imposer des bornes min et max aux traces de phromones Les traces sont initialiss avec max Quel est leffet de ces choix sur le fonctionnement de l'algorithme ? A voir en Travaux dirigs

ACO - PhilippeCollard.com

23/04/09

Optimisation par colonie de fourmis et TSP


35 Oliver30 (30-city) OCF Genetic algorithm Evolutionary programming Simulated annealing Optimal solution 420 (830) 421 (3200) 420 (40000) 424 (24617) 420 Eil50 (50-city) 425 (1830) 428 (25000) 426 (100000) 443 (68512) 425 Eil75 (75-city) 535 (3480) 545 (80000) 542 (325000) 580 (173250) 535

Cette optimisation est une consquence de l'interaction subtile entre renforcement et vaporation de la phromone, qui fait que seules les meilleures liaisons subsistent
23/04/09

ACO - PhilippeCollard.com

Software package ACOTSP.V1.0


36

Auteur : Thomas Sttzle ACOs appliqus aux TSP symtriques


Ant System (AS) Elitist Ant System (EAS) MAX-MIN Ant System (MMAS) Rank-based version of Ant System (RAS) Best-Worst Ant System (BWAS) Ant Colony System (ACS)

ANSI C sous Linux (works fine under Windows and Mac OS X)


ACO - PhilippeCollard.com 23/04/09

ACOTSP : command line options (1)


37

-r -s -t -i -o -m -g, -a -b -e -q -c -f -k -l -d

# # # f # # # # # # # # # # 0: no 1

number of independent trials number of steps in each trial maximum time for each trial inputfile (TSPLIB format necessary) stop if tour >= optimum is found number of ants nearest neighbours in tour construction alpha (influence of pheromone trails) beta (influence of heuristic information) rho: pheromone trail evaporation q_0: prob. of best choice in tour construction number of elitist ants number of ranks in rank-based Ant System No. of nearest neighbors for local search local search 1: 2-opt 2: 2.5-opt 3: 3-opt use don't look bits in local search

ACO - PhilippeCollard.com

23/04/09

ACOTSP : command line options (2)


38

-u, --as -v, --eas -w, --ras -x, --mmas -y, --bwas -z, --acs -h, --help

apply basic Ant System apply elitist Ant System apply rank-based version of Ant System apply MAX-MIN ant system apply best-worst ant system apply ant colony system display the help text and exit

Options --as, --eas, --ras, --mmas, --bwas, --acs, --help don't need arguments, while all the others do

ACO - PhilippeCollard.com

23/04/09

NetLogo : http://ccl.northwestern.edu/netlogo
procdure setup

1 nid (violet) 3 sources de nourriture (bleu) 100 200 fourmis (rouge)

23/04/09

PhilippeCollard.com

39

Rsultat global observ

Les ressources en nourriture sont exploites selon leurs propre distance et attrait Emergence dune dcision collective (choix dun chemin)
PhilippeCollard.com 40

23/04/09

Modliser & Simuler :


Un nid et trois sources de nourritures

23/04/09

PhilippeCollard.com

41

Comportement local des fourmis


Se dplacer au hasard Si trouver nourriture, la prendre et retourner au nid Si transporte nourriture, dposer de la phromone Si ne transporte pas de nourriture, suivre les manations de phromone

23/04/09

PhilippeCollard.com

42

Comportement local dune fourmi


43

Si une fourmi est sans nourriture

Si elle trouve de la nourriture, elle en prend, dpose des phromones et fait demi-tour Sinon, elle avance prioritairement :

vers la case ayant le plus de phromone vers la case sentant le plus la nourriture au hasard

23/04/09

Comportement local dune fourmi


44

Si une fourmi possde de la nourriture

Si elle est dans le nid, elle la dpose et fait demi-tour Sinon elle se dirige vers la case sentant le plus le nid en dposant une dose de phromones dcroissante avec lloignement de la source

23/04/09

23/04/09

45

diffusion-rate vs. evaporation-rate


to go ask turtles [ ifelse color = red [ look-for-food wiggle fd 1 ] diffuse chemical (diffusion-rate / 100) ask patches [ set chemical chemical * (100 - evaporation-rate) / 100 ;; slowly evaporate chemical ] end
23/04/09 PhilippeCollard.com 46

];; not carrying food? look for it

[ return-to-nest ];; carrying food? take it back to nest

Observations!
47

Les fourmis exploitent-elles les sources en srie ou en // ? La source la plus proche est-elle exploite en premier ? Y-a-t-il mergence dun chemin stable (ie. ininterrompu) entre le nid et une source ? Existe-t-il une taille critique pour la colonie?

PhilippeCollard.com

23/04/09

Observations!
48

Dterminer le taux de fourmis utiles : ratio entre le nombre de fourmis qui ramnent de la nourriture et le nombre total de fourmis Quelle est linfluence sur la dynamique
du

taux de diffusion des phromones du taux dvaporation des phromones

PhilippeCollard.com

23/04/09

Pour aller plus loin


49

Essayer diffrents placements pour les sources de nourriture

Que se passe-t-il si deux sources sont une mme distance du nid ?

exploitation/exploitation : srie ou //

Que se passe-t-il avec un obstacle entre le nid et une source ?

Une fourmi utilise une astuce pour revenir au nid en suivant une odeur (nest-scent). Les vrais fourmis ne font pas ici ! Essayer dimplanter dautres solutions !
PhilippeCollard.com 23/04/09

Pour aller plus loin


50

Une fourmi est sensible au niveau de phromones dposs par ses congnres (variable chemical) entre 0.05 et 2

La limite inf permet aux fourmis de ne pas rester indfiniment sensibles aux phromones Supprimer la limite sup ! Que ce passe-t-il ? Pourquoi?

Dans UPHILL-CHEMICAL, une fourmi suit le gradient de phromone


Elle "sniff" dans trois directions, et tourne dans celle qui sent le plus Essayer des variantes en changeant le nombre et la place des voisins

PhilippeCollard.com

23/04/09

Concepts

Rgles locales simples (paralllisme) Emergence de computation collective (globale) Pas de leader , pas de carte

actions dcentralises ant ant (via lenvironnement) masse critique = # minimal de fourmis
PhilippeCollard.com 51

Interactions locales

Transition de phase (?seuil)

23/04/09

Sources / Rfrences
52

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

ACO - PhilippeCollard.com

23/04/09

Routage par colonie de fourmis


53

Les techniques de l'intelligence en essaim dmontrent galement toute leur puissance dans le cas de problmes dont l'nonc, les donnes ou les paramtres varient en permanence sur des chelles de temps trs courtes. C'est le cas du routage dans les rseaux de communications

ACO - PhilippeCollard.com

23/04/09

Routage
54

Lorsqu'une communication est tablie entre 2 ordinateurs, le message initial est dcoup en paquets de donnes qui circulent le long d'un rseau constitu de
1.

lignes de transmission - dont les capacits de dbit peuvent tre trs diverses et variables au cours du temps de routeurs qui constituent les nuds de ce rseau

2.

ACO - PhilippeCollard.com

23/04/09

Routage
55

La fonction des routeurs est de

diriger les paquets de donnes vers l'un des autres routeurs du rseau et ce, jusqu' ce que les paquets de donnes arrivent leur destination finale tenir compte de l'importance du trafic sur les voies de communication auquel il est reli de manire viter l'engorgement de ces voies. Il arrive donc trs souvent que des paquets de donnes d'un mme message suivent des voies compltement diffrentes

ACO - PhilippeCollard.com

23/04/09

Routage par colonie de fourmis Comment a marche ?


56

On fait circuler en parallle avec les paquets de donnes, des agents de routage, sorte de fourmis virtuelles, qui
1. 2. 3. 4.

analysent en temps rel l'tat d'encombrement des diffrentes voies du rseau indiquent cet tat chacun des routeurs calculent le temps qu'elles mettent pour aller d'un nud du rseau un autre marquent l'aide de phromone virtuelle la voie qu'elles viennent d'emprunter

ACO - PhilippeCollard.com

23/04/09

Routage par colonie de fourmis Comment a marche ?


57

Plus le dlai est court, plus l'intensit du marquage est importante Ainsi, lorsqu'un paquet de donnes arrive au niveau d'un routeur donn, il aura d'autant plus de chance d'emprunter une voie que la densit de phromone virtuelle sur cette voie sera importante De cette manire, le rseau s'adapte en permanence et de manire totalement dcentralise l'activit du trafic
ACO - PhilippeCollard.com 23/04/09

Vous aimerez peut-être aussi