Définition - Ant Colony Optimization (ACO) optimisation par colonies de fourmis

 
CONTINUER À LIRE
08/05/2020

   Ant Colony Optimization (ACO)
 optimisation par colonies de fourmis
                    M1 SID
                   2019-2020
                   H.BELLEILI

                                                    1

                  Définition
• proposés par Colorni, Dorigo et Maniezzo en
  1992
• Appliquées la première fois au problème du
  voyageur de commerce.
• Ce sont des algorithmes itératifs à population
  où tous les individus partagent un savoir
  commun qui leur permet d’orienter leurs
  futurs choix et d’indiquer aux autres individus
  des choix à suivre ou à éviter

                                                    2

                                                                1
08/05/2020

                 Inspiration
• La stigmergie: interactions d’organismes vivants
  en modifiant l’environnement
• Une population de fourmis communiquent entre
  elles via l’environnement
• Le but de la communication est de permettre aux
  fourmis de faire des choix
• Les choix disponibles aux fourmis est
  d’emprunter un chemin plutôt qu’un autre
• Dans le but d’atteindre une source de nourriture

                                                     3

   À la recherche de la nourriture
• le problème de recherche de nourriture est un
  problème d’optimisation où les fourmis
  cherchent à collecter un maximun de
  nourriture avec un minimum d’énergie
• L’énergie est économisée en trouvant le plus
  court chemin entre le nid des fourmis et la
  source de nourriture

                                                     4

                                                                 2
08/05/2020

                Observation
• En quittant leur nid pour explorer leur
  environnement à la recherche de la
  nourriture, les fourmis arrivent à élaborer des
  chemins qui s’avèrent fréquemment être les
  plus courts pour aller du nid vers une source
  de nourriture.

                                                    5

        Intelligence émergente
• Les fourmis arrivent à trouver le plus court
  chemin!!
• C’est de l’intelligence collective qui émerge à
  partir d’un comportement individuel simple et
  réactif
• Par quel mécanisme cette intelligence
  émerge-t-elle?
• Aucune communication directe
• Seule une communication via l’environnement
                                                    6

                                                                3
08/05/2020

          Stigmergie et fourmi
• Les fourmis communiquent entre elles en
  produisant une substance chimique appelée
  phéromone dans l’environnement
• Le phéromone est donc produit par toutes les
  fourmis lors de leur exploration
• Les fourmis sont sensibles à cette substance et
  peuvent la quantifier (la mesurer)

                                                      7

             Prise de décision
• La prise de décision est probabiliste:
  – Plus la quantité de phéromone est grande sur un
    chemin plus grande est la probabilité que la
    fourmi le suit

                                                      8

                                                                  4
08/05/2020

               Propriétés du phéromone
 • Une propriété importante du phéromone est
   que lorsqu’il est déposé dans l’environnement
   il n’y reste pas indéfiniment
 • Il s’évapore avec une certaine vitesse

                                     Qté                 Qté
    Distance           Temps         évaporée            phéromone
                                     phéromone

       Ainsi, dans le temps, les fourmis vont privilégier les chemins courts

                                                                                   9

       Expérience du pont à double branche

Les fourmis qui                             Les fourmis seront
                        La quantité de                                Au final toutes
empruntent la                               attirées par les pistes
                        phéromone est                                 les fourmis
branche courte font                         avec la plus grande
                        plus importante                               suivront le plus
plus d’aller retours                        concentration de
                                                                      cours chemin
                                            phéromone

                                                                                  10

                                                                                                 5
08/05/2020

               Principe (suite)
• ACO a permis de résoudre différents
  problèmes d’optimisation combinatoire à forte
  complexité:
  – le problème du voyageur de commerce
  – le problème de coloration de graphe
  – Le problème d’affectation
  – le problème de routage de véhicules
  – ….

                                                     11

        Modèle mathématique
• 2 concepts fondamentaux:
  – Phéromone: modélisation et évaporation
  – Prise de décision de la fourmi: probabilité de
    choisir tel ou tel chemin

                                                     12

                                                                  6
08/05/2020

      Modélisation du phéromone
• On maintient une matrice de phéromone (en rouge)
• Et une matrice de distance (en bleu) (matrice de coût)

                        3                             4           C
                                    C
                                             B
               B

           1                            1    15           8       5
               10           2       4

                                         A                    D
           A                    D
                                                  4
                    1

                                                                      13

               Dépôt de phéromone
• La quantité de phéromones déposée:
  plusieurs possibilités
    – Est la même dans chaque arc
    – Dépend de la qualité de la solution
    – Dépend de la qualité de la nourriture

                                                                      14

                                                                                   7
08/05/2020

  Quantité déposée dépendant de la
        qualité de la solution
• Quantité déposée par la fourmi sur un arc ij
  dépend de la qualité de la solution
• Ici nous sommes dans un cas de minimisation

                                                 15

    Quantité déposée par toutes les
         fourmis sur un arc ij
• Sans évaporation (m étant le nombre de
  fourmis)

• Avec évaporation

• r est un taux d’évaporation rÎ[0,1]

                                                 16

                                                              8
08/05/2020

                       Prise de décision

                           Représente la qualité l’arc ij

 Si on ignore la qualité de l’arc on ignore                                (b=0)

 A ce moment là seul la quantité de phéromone influence la prise de
 décision de la fourmi pour choisir ou non l’arc ij

                                                                                   17

                   1        C                                 4              C
         B
                                                     B

     1   1         1        1                    1   15            8         5

     A                 D
                                                 A                     D
               1                                          4

             a)                                               b)

Soient les deux graphes suivants:
La graphe a) représente les quantités de phéromone
le graphe b) représente les coûts de parcours de chaque arc

On pose a=b=1
Calculer les probabilités pour une fourmi se trouvant au sommet A

On change la quantité de phéromone dans l’arête AD à 5
Re calculer les probabilités pour une fourmi se trouvant au sommet A

                                                                                   18

                                                                                                9
08/05/2020

                       Discussion
• Je vous demande de chercher sur le WEB des
  codes python pour la mise en œuvre de cet
  algorithme

• Dans cet algorithme il est crucial de représenter
  le problème à résoudre sous forme de graphe
• il faut définir
   –   ce que représente un sommet du graphe,
   –   Que représente l’arc dans le graphe
   –   Quelle sera la solution (fonction d’évaluation)
   –   Que modélise le phéromone
                                                         19

                       Discussion
• Réfléchir/chercher sur le web les
  modélisations des problèmes suivants:
   – Coloriage de graphe,
   – Le problème du sac à dos
   – Et d’autres problèmes…

Pour qu’ils soient soumis à l’algorithme fourmi

                                                         20

                                                                     10
Vous pouvez aussi lire