Définition - Ant Colony Optimization (ACO) optimisation par colonies de fourmis
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
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