2. Introduction
Les algorithmes de colonies de fourmis sont des algorithmes
inspirés du comportement des fourmis, ou d'autres espèces
formant un super organisme, et qui constituent une famille de
méta heuristiques d’optimisation.
Pourquoi les fourmis ?
Relation avec l’informatique?
3. Algorithme Colonies de fourmis
Le but est de trouver le plus court chemin permettant de relier
un ensemble de villes.
La fourmi choisit de passer d’une ville à une autre en fonction
de quelques règles :
VisibilitéUne seul
Visite
L'intensité
de la piste
de phéromone
trajet est court plus
de phéromone
4. Algorithme Colonies de fourmis
Forme mathématique
da règle de déplacement :
Une fois la tournée des villes effectuée, une fourmi k dépose
une quantité :
Et à la fin de l'itération, on a la somme des phéromones qui ne
se sont pas évaporées et de celles qui viennent d'être
déposées :
5. Fonctionnement
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.
6. Le problème du voyageur de commerce (TSP)
Le problème du voyageur de commerce est un problème
d'optimisation qui, étant donné une liste de villes, et des distances entre
toutes les paires de villes, détermine un plus court chemin qui visite chaque
ville une et une seule fois et qui termine dans la ville de départ.
7. Exemple
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
8. • Le choix = f (intensités de phéromone)
• La première fourmi a des probabilités égales 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 moitié 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.
9. Algorithme AntCrypt.
Chiffrement
Entrées
Codage de la donnée originale
Ensemble de paramètres (m : taille de la population, ρ taux d’évaporation)
DEBUT
1) Initialiser la connaissance collective // connaissance collective Φ ← ;
2) Créer la population initiale comportant m solutions initiales (m : nombre de fourmis) ;
Répéter
3) Construire les solutions;
4) Enrichir la connaissance collective ;
5) Evaluation des solutions de la connaissance collective ;
6) Sélection ;
7) Mise à jour de phéromone ;
Jusqu’à Satisfaction du critère d’arrêt
Retourner la solution trouvée ;
FIN
10. Déchiffrement
Nous arrivons maintenant au processus inverse qui permet de rendre la donnée à
nouveau intelligible sans aucune perte d’information ; il s’agit du processus de
déchiffrement.
Notre algorithme proposé est un algorithme symétrique, donc la clé générée doit
être maintenue secrète. Cette clé s'obtient au fur et à mesure du calcul de
l’information chiffrée au fil des générations. Sa valeur finale correspond aux
permutations des positions des nombres d’occurrences des éléments de la
donnée chiffrée pour obtenir celles des nombres d’occurrences des éléments de
la donnée en clair. Le processus de déchiffrement consiste donc à replacer les
éléments dans leurs positions initiales suite à l’introduction de la bonne clé.
11. Domaine d’application
Applications au problème symétrique et asymétrique de voyageur de commerce.
Applications au problème d’ordonnancement séquentiel.
Applications aux problèmes d’affectation quadratique.
Applications aux problèmes de tournées des véhicules.
Applications aux problèmes d'établissement d’horaires.
Applications aux problèmes de coloration de graphe.
Applications aux problèmes de partitionnement.
Applications aux réseaux de télécommunications.
Implémentations parallèles.
12. Conclusion
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.