SlideShare une entreprise Scribd logo
1  sur  20
République Algérienne démocratique et populaire.
Université Dr. Tahar Moulay – Saïda
Département d’informatique
Matière : MTO
Master1 RISR
Présenté par : Enseigné par :
• Kamar MEDDAH.
• Abderrahmane Kafi.
• Mohamed Aouad
• Mr. BENAMARA
2018/2019
1. Généralités.
2. Définition.
3. Fonctionnement.
4. Algorithme de
colonies de fourmis
pour le problème du
voyageur de
commerceTSP.
5. Exemple
6. Domaines
d’application.
7. Conclusion .
8. Bibliographie.
 Dans les sections qui viendront plus tard, nous
présenterons la méta-heuristique ACO, pour le "Ant Colony
Optimization". Toutes ces idées abstraites sont inspirées des
travaux de Deneubourg sur les fourmis.
 L'optimisation de colonie de fourmi (ACO) étudie les
systèmes artificiels qui prennent l'inspiration du
comportement de vraies colonies de fourmi. Employée pour
résoudre des problèmes discrets d'optimisation.
 Les algorithmes de colonies de fourmis sont des
algorithmes inspirés du comportement des fourmis et qui
constituent une famille de méta-heuristiques d’optimisation.
 Un algorithme de colonies de fourmis est un algorithme
itératif à population où tous les individus partagent un savoir
commun qui leur permet de guider leurs futurs choix et
d'indiquer aux autres individus des directions à suivre ou au
contraire à éviter.
 L’idée originale provient de l’observation de l’exploitation des
ressources alimentaires chez les fourmis. En effet, celles-ci, bien qu’ayant
individuellement des capacités cognitives limitées, sont capables
collectivement de trouver le chemin le plus court entre une source de
nourriture et leur nid.
Un modèle expliquant ce comportement est le suivant:
1. une fourmi parcourt plus ou moins au hasard l’environnement autour
de la colonie.
2. si celle-ci découvre une source de nourriture, elle rentre plus ou moins
directement au nid, en laissant sur son chemin une piste de
phéromones .
3. ces phéromones étant attractives, les fourmis passant à proximité
vont avoir tendance à suivre, de façon plus ou moins directe, cette
piste.
4. En revenant au nid, ces mêmes fourmis vont renforcer la piste.
5. Si deux pistes sont possibles pour atteindre la même source de
nourriture, celle étant la plus courte sera, dans le même temps,
parcourue par plus de fourmis que la longue piste.
6. La piste courte sera donc de plus en plus renforcée, et donc de
plus en plus attractive.
7. La longue piste, elle, finira par disparaître, les phéromones étant
volatiles ;
8. à terme, l’ensemble des fourmis a donc déterminé et « choisi » la
piste la plus courte.
 Les fourmis utilisent l’environnement comme
support de communication : elles échangent
indirectement de l’information en déposant des
phéromones, le tout décrivant l’état de leur
« travail ». L’information échangée a une portée
locale, seule une fourmi située à l’endroit où les
phéromones ont été déposées y a accès. Ce système
porte le nom de « stigmergie », et se retrouve chez
plusieurs animaux sociaux (il a notamment été
étudié dans le cas de la construction de piliers dans
les nids de termites).
1) la première fourmi trouve la source de
nourriture (F), via un chemin quelconque
(a), puis revient au nid (N) en laissant
derrière elle une piste de phéromone (b).
2) les fourmis empruntent indifféremment
les quatre chemins possibles, mais le
renforcement de la piste rend plus attractif
le chemin le plus court.
3) les fourmis empruntent le chemin le plus
court, les portions longues des autres
chemins perdent leur piste de phéromones
 Tant que le critère d'arrêt n'est pas atteint faire
 Pour k=1 à m faire
 Choisir une ville au hasard
 Pour chaque ville non visitée i faire
 Choisir une ville j, dans la liste des villes
restantes selon (F-1)
 Fin Pour
 Déposer une piste sur le trajet (t) conformément à
(F-2)
 Fin Pour
 Évaporer les pistes selon (F-3)
 FinTant que
 Le but initial de la méthode était de résoudre le problème du voyageur
de commerce. L'Algorithme présente la méthode proposée par les
auteurs. Si l'on considère un problème de voyageur de commerce à N
villes, chaque fourmi k parcourt le graphe et construit un trajet de
longueur n =/N/. Pour chaque fourmi, le trajet d'une ville i à une ville j
dépend de :
 la liste des villes déjà visitées, qui définit les mouvements possibles à
chaque pas, quand la fourmi k est sur la ville i,
 l'inverse de la distance entre les villes , appelée visibilité.Cette
information est utilisée pour diriger les fourmis vers des villes proches et
ainsi, éviter de trop longs déplacements .
 la quantité de phéromone déposée sur l'arête reliant deux villes
appelée intensité de la piste. Cette quantité définit l'attractivité d'une
piste et est modifiée après le passage d'une fourmi. C'est la pseudo-
mémoire du système.
 La règle de déplacement est la suivante :
α et β sont deux paramètres qui contrôlent l’importance
relative entre phéromones et visibilité. Après un tour
complet, chaque fourmi dépose une quantité de phéromone
(t) sur l'ensemble de son parcours.Cette quantité dépend de
la qualité de la solution trouvée et est définie par :
=
F-1
où
• Les fourmis se déplacent entre le
nid(E) et la source de la nourriture
(A) sur le chemin A-E.
• Un obstacle qui coupe le chemin.
• La fourmi qui se déplace de A vers E et se
trouve en B, a 2 choix :
1. Le chemin B-C-D
2. Le chemin B-H-D
• Le choix = f (intensité de phéromone)
• La première fourmi a des probabilités égale
de suivre les deux chemins.
• Celle qui suit le chemin B-C-D
arrive en premier en D.
• Les fourmis qui se retournent de E ont en D
deux choix :
1. Le chemin D-C-B
2. Le chemin D-H-B
• Le chemin D-C-B aura une plus forte intensité
de phéromone causé par :
1. La moitie des fourmis qui prennent ce chemin
de retour.
2. Le nombre supérieur des fourmis qui ont suivi
le chemin B-C-D et qui se retournent.
 Applications au problème symétrique et asymétrique de
voyageur de commerce.
 Applications au problème d’ordonnancement séquentiel.
 Applications au problèmes d’affectation quadratique.
 Applications au problèmes de tournées des véhicules.
 Applications aux problèmes d'établissement d’horaires.
 Applications au problèmes de coloration de graphe.
 Applications aux problèmes de partitionnement.
 Applications aux réseaux de télécommunications.
 Implémentations parallèles.
• L’algorithme des colonies des fourmis est une
heuristique, avec caractère général utilisée pour
résoudre différentes problèmes d’analyse combinatoire.
• Principal inconvénient : coût relativement élevé de la
génération des solutions.
• Elle commence à être adaptée à des problèmes
continus.
1. Optimisation par colonies de fourmis. COSTANZO
Andrea. LUONGThéVan. MARILL Guillaume.
2. http://khayyam.developpez.com/articles/algo/voy
ageur-de-commerce/colonies-de-fourmis/.
3. http://www.apprendre-en-
ligne.net/info/algo/fourmis.html.
Algorithme Colonie de fourmis

Contenu connexe

Tendances

Solving Traveling Salesman problem using genetic algorithms, implementation i...
Solving Traveling Salesman problem using genetic algorithms, implementation i...Solving Traveling Salesman problem using genetic algorithms, implementation i...
Solving Traveling Salesman problem using genetic algorithms, implementation i...MEJDAOUI Soufiane
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminSana Aroussi
 
Intelligence Artificielle : Introduction à l'intelligence artificielle
Intelligence Artificielle : Introduction à l'intelligence artificielleIntelligence Artificielle : Introduction à l'intelligence artificielle
Intelligence Artificielle : Introduction à l'intelligence artificielleECAM Brussels Engineering School
 
Intelligence artificielle
Intelligence artificielleIntelligence artificielle
Intelligence artificiellehadjerdermane
 
Cours-optimisation.pdf
Cours-optimisation.pdfCours-optimisation.pdf
Cours-optimisation.pdfMouloudi1
 
Quelques points sur les métaheuristiques
Quelques points sur les métaheuristiquesQuelques points sur les métaheuristiques
Quelques points sur les métaheuristiquesBENSMAINE Abderrahmane
 
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...Jean Rohmer
 
Programmation Dynamique : Mise en œuvre et application à des problèmes en TAL
Programmation Dynamique : Mise en œuvre et application à des problèmes en TALProgrammation Dynamique : Mise en œuvre et application à des problèmes en TAL
Programmation Dynamique : Mise en œuvre et application à des problèmes en TALECAM Brussels Engineering School
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court cheminSana Aroussi
 
La complexité des algorithmes récursives Géométrie algorithmique
La complexité des algorithmes récursivesGéométrie algorithmiqueLa complexité des algorithmes récursivesGéométrie algorithmique
La complexité des algorithmes récursives Géométrie algorithmiqueHajer Trabelsi
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Ramzi Noumairi
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning Niji
 
Problème De Sac à Dos
Problème De Sac à Dos Problème De Sac à Dos
Problème De Sac à Dos chagra bassem
 
le NLP à l'ére de l'IA
le NLP à l'ére de l'IAle NLP à l'ére de l'IA
le NLP à l'ére de l'IAhabib200
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionMohamed Heny SELMI
 

Tendances (20)

Solving Traveling Salesman problem using genetic algorithms, implementation i...
Solving Traveling Salesman problem using genetic algorithms, implementation i...Solving Traveling Salesman problem using genetic algorithms, implementation i...
Solving Traveling Salesman problem using genetic algorithms, implementation i...
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
 
L'algorithme du Recuit simule
L'algorithme du Recuit simuleL'algorithme du Recuit simule
L'algorithme du Recuit simule
 
Agents intelligents
Agents intelligentsAgents intelligents
Agents intelligents
 
FP Growth Algorithm
FP Growth AlgorithmFP Growth Algorithm
FP Growth Algorithm
 
Intelligence Artificielle : Introduction à l'intelligence artificielle
Intelligence Artificielle : Introduction à l'intelligence artificielleIntelligence Artificielle : Introduction à l'intelligence artificielle
Intelligence Artificielle : Introduction à l'intelligence artificielle
 
Intelligence artificielle
Intelligence artificielleIntelligence artificielle
Intelligence artificielle
 
Cours-optimisation.pdf
Cours-optimisation.pdfCours-optimisation.pdf
Cours-optimisation.pdf
 
Quelques points sur les métaheuristiques
Quelques points sur les métaheuristiquesQuelques points sur les métaheuristiques
Quelques points sur les métaheuristiques
 
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
 
Programmation Dynamique : Mise en œuvre et application à des problèmes en TAL
Programmation Dynamique : Mise en œuvre et application à des problèmes en TALProgrammation Dynamique : Mise en œuvre et application à des problèmes en TAL
Programmation Dynamique : Mise en œuvre et application à des problèmes en TAL
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court chemin
 
La complexité des algorithmes récursives Géométrie algorithmique
La complexité des algorithmes récursivesGéométrie algorithmiqueLa complexité des algorithmes récursivesGéométrie algorithmique
La complexité des algorithmes récursives Géométrie algorithmique
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning
 
Problème De Sac à Dos
Problème De Sac à Dos Problème De Sac à Dos
Problème De Sac à Dos
 
le NLP à l'ére de l'IA
le NLP à l'ére de l'IAle NLP à l'ére de l'IA
le NLP à l'ére de l'IA
 
A star
A starA star
A star
 
Les systèmes intelligents
Les systèmes intelligentsLes systèmes intelligents
Les systèmes intelligents
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décision
 

Plus de kamar MEDDAH

Random number generator
Random number generatorRandom number generator
Random number generatorkamar MEDDAH
 
Etude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2pEtude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2pkamar MEDDAH
 
Base de données distribuée
Base de données distribuéeBase de données distribuée
Base de données distribuéekamar MEDDAH
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQLkamar MEDDAH
 
Porter stemming algorithm
Porter stemming algorithmPorter stemming algorithm
Porter stemming algorithmkamar MEDDAH
 

Plus de kamar MEDDAH (13)

Intro to web dev
Intro to web devIntro to web dev
Intro to web dev
 
Random number generator
Random number generatorRandom number generator
Random number generator
 
Routage rip
Routage ripRoutage rip
Routage rip
 
Etude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2pEtude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2p
 
Base de données distribuée
Base de données distribuéeBase de données distribuée
Base de données distribuée
 
Branch and bound
Branch and boundBranch and bound
Branch and bound
 
Active directory
Active directoryActive directory
Active directory
 
Wwan
WwanWwan
Wwan
 
Hadoop
HadoopHadoop
Hadoop
 
Erlang
ErlangErlang
Erlang
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
 
Porter stemming algorithm
Porter stemming algorithmPorter stemming algorithm
Porter stemming algorithm
 
Javascript
JavascriptJavascript
Javascript
 

Algorithme Colonie de fourmis

  • 1. République Algérienne démocratique et populaire. Université Dr. Tahar Moulay – Saïda Département d’informatique Matière : MTO Master1 RISR Présenté par : Enseigné par : • Kamar MEDDAH. • Abderrahmane Kafi. • Mohamed Aouad • Mr. BENAMARA 2018/2019
  • 2. 1. Généralités. 2. Définition. 3. Fonctionnement. 4. Algorithme de colonies de fourmis pour le problème du voyageur de commerceTSP. 5. Exemple 6. Domaines d’application. 7. Conclusion . 8. Bibliographie.
  • 3.  Dans les sections qui viendront plus tard, nous présenterons la méta-heuristique ACO, pour le "Ant Colony Optimization". Toutes ces idées abstraites sont inspirées des travaux de Deneubourg sur les fourmis.  L'optimisation de colonie de fourmi (ACO) étudie les systèmes artificiels qui prennent l'inspiration du comportement de vraies colonies de fourmi. Employée pour résoudre des problèmes discrets d'optimisation.
  • 4.  Les algorithmes de colonies de fourmis sont des algorithmes inspirés du comportement des fourmis et qui constituent une famille de méta-heuristiques d’optimisation.  Un algorithme de colonies de fourmis est un algorithme itératif à population où tous les individus partagent un savoir commun qui leur permet de guider leurs futurs choix et d'indiquer aux autres individus des directions à suivre ou au contraire à éviter.
  • 5.  L’idée originale provient de l’observation de l’exploitation des ressources alimentaires chez les fourmis. En effet, celles-ci, bien qu’ayant individuellement des capacités cognitives limitées, sont capables collectivement de trouver le chemin le plus court entre une source de nourriture et leur nid. Un modèle expliquant ce comportement est le suivant: 1. une fourmi parcourt plus ou moins au hasard l’environnement autour de la colonie. 2. si celle-ci découvre une source de nourriture, elle rentre plus ou moins directement au nid, en laissant sur son chemin une piste de phéromones . 3. ces phéromones étant attractives, les fourmis passant à proximité vont avoir tendance à suivre, de façon plus ou moins directe, cette piste.
  • 6. 4. En revenant au nid, ces mêmes fourmis vont renforcer la piste. 5. Si deux pistes sont possibles pour atteindre la même source de nourriture, celle étant la plus courte sera, dans le même temps, parcourue par plus de fourmis que la longue piste. 6. La piste courte sera donc de plus en plus renforcée, et donc de plus en plus attractive. 7. La longue piste, elle, finira par disparaître, les phéromones étant volatiles ; 8. à terme, l’ensemble des fourmis a donc déterminé et « choisi » la piste la plus courte.
  • 7.  Les fourmis utilisent l’environnement comme support de communication : elles échangent indirectement de l’information en déposant des phéromones, le tout décrivant l’état de leur « travail ». L’information échangée a une portée locale, seule une fourmi située à l’endroit où les phéromones ont été déposées y a accès. Ce système porte le nom de « stigmergie », et se retrouve chez plusieurs animaux sociaux (il a notamment été étudié dans le cas de la construction de piliers dans les nids de termites).
  • 8. 1) la première fourmi trouve la source de nourriture (F), via un chemin quelconque (a), puis revient au nid (N) en laissant derrière elle une piste de phéromone (b). 2) les fourmis empruntent indifféremment les quatre chemins possibles, mais le renforcement de la piste rend plus attractif le chemin le plus court. 3) les fourmis empruntent le chemin le plus court, les portions longues des autres chemins perdent leur piste de phéromones
  • 9.  Tant que le critère d'arrêt n'est pas atteint faire  Pour k=1 à m faire  Choisir une ville au hasard  Pour chaque ville non visitée i faire  Choisir une ville j, dans la liste des villes restantes selon (F-1)  Fin Pour  Déposer une piste sur le trajet (t) conformément à (F-2)  Fin Pour  Évaporer les pistes selon (F-3)  FinTant que
  • 10.  Le but initial de la méthode était de résoudre le problème du voyageur de commerce. L'Algorithme présente la méthode proposée par les auteurs. Si l'on considère un problème de voyageur de commerce à N villes, chaque fourmi k parcourt le graphe et construit un trajet de longueur n =/N/. Pour chaque fourmi, le trajet d'une ville i à une ville j dépend de :  la liste des villes déjà visitées, qui définit les mouvements possibles à chaque pas, quand la fourmi k est sur la ville i,  l'inverse de la distance entre les villes , appelée visibilité.Cette information est utilisée pour diriger les fourmis vers des villes proches et ainsi, éviter de trop longs déplacements .  la quantité de phéromone déposée sur l'arête reliant deux villes appelée intensité de la piste. Cette quantité définit l'attractivité d'une piste et est modifiée après le passage d'une fourmi. C'est la pseudo- mémoire du système.
  • 11.  La règle de déplacement est la suivante : α et β sont deux paramètres qui contrôlent l’importance relative entre phéromones et visibilité. Après un tour complet, chaque fourmi dépose une quantité de phéromone (t) sur l'ensemble de son parcours.Cette quantité dépend de la qualité de la solution trouvée et est définie par : = F-1
  • 12.
  • 13. • Les fourmis se déplacent entre le nid(E) et la source de la nourriture (A) sur le chemin A-E.
  • 14. • Un obstacle qui coupe le chemin. • La fourmi qui se déplace de A vers E et se trouve en B, a 2 choix : 1. Le chemin B-C-D 2. Le chemin B-H-D
  • 15. • Le choix = f (intensité de phéromone) • La première fourmi a des probabilités égale de suivre les deux chemins. • Celle qui suit le chemin B-C-D arrive en premier en D.
  • 16. • Les fourmis qui se retournent de E ont en D deux choix : 1. Le chemin D-C-B 2. Le chemin D-H-B • Le chemin D-C-B aura une plus forte intensité de phéromone causé par : 1. La moitie des fourmis qui prennent ce chemin de retour. 2. Le nombre supérieur des fourmis qui ont suivi le chemin B-C-D et qui se retournent.
  • 17.  Applications au problème symétrique et asymétrique de voyageur de commerce.  Applications au problème d’ordonnancement séquentiel.  Applications au problèmes d’affectation quadratique.  Applications au problèmes de tournées des véhicules.  Applications aux problèmes d'établissement d’horaires.  Applications au problèmes de coloration de graphe.  Applications aux problèmes de partitionnement.  Applications aux réseaux de télécommunications.  Implémentations parallèles.
  • 18. • L’algorithme des colonies des fourmis est une heuristique, avec caractère général utilisée pour résoudre différentes problèmes d’analyse combinatoire. • Principal inconvénient : coût relativement élevé de la génération des solutions. • Elle commence à être adaptée à des problèmes continus.
  • 19. 1. Optimisation par colonies de fourmis. COSTANZO Andrea. LUONGThéVan. MARILL Guillaume. 2. http://khayyam.developpez.com/articles/algo/voy ageur-de-commerce/colonies-de-fourmis/. 3. http://www.apprendre-en- ligne.net/info/algo/fourmis.html.