Optimisation par Colonies de Fourmis Artificielles



Documents pareils

Des fourmis réelles aux fourmis artificielles

Les colonies de fourmis : apprentissage coopératif pour le problème du voyageur de commerce

RenPar'14 Hammamet, Tunisie avril 2002

Laboratoire d Automatique et Productique Université de Batna, Algérie

Vers une Optimisation de l Algorithme AntTreeStoch

Modélisation multi-agents - Agents réactifs

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Application de K-means à la définition du nombre de VM optimal dans un cloud

Jean-Philippe Préaux

Deux stratégies parallèles de l'optimisation par colonie de fourmis

Un modèle réactif pour l optimisation par colonies de fourmis : application à la satisfaction de contraintes

Complexité et auto-organisation chez les insectes sociaux. Complexité et auto-organisation chez les insectes sociaux

DES FOURMIS POUR LIVRER DU MAZOUT

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

La programmation à mémoire adaptative ou l évolution des algorithmes évolutifs

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Une application des algorithmes génétiques à l ordonnancement d atelier

Intelligence des essaims (Swarm Intelligence)

De la fourmi réelle à la fourmi artificielle

A GRASPxELS approach for the Job Shop with generic time-lags and new statistical determination of the parameters

Ordonnancement en temps réel d un jobshop par métaheuristique hybride : étude comparative

Trois méthodes pour la construction de pages WEB personnalisées

Problème à résoudre. min f(s) s.c. s S

Minimisation de la somme des retards dans un jobshop flexible

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Sommaire. Introduction. I. Notions de routage a) Technologies actuelles b) Avantages et désavantages

Cours de Master Recherche

Curriculum Vitae - Emmanuel Hebrard. Emmanuel Hebrard

Laboratoire 4 Développement d un système intelligent

RLBS: Une stratégie de retour arrière adaptative basée sur l apprentissage par renforcement pour l optimisation combinatoire

LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage

EXPERIMENTATIONS DE METHODES PARALLELES DE RECHERCHE D INFORMATION SUR INTERNET

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

L intelligence collective des fourmis

Présentation du sujet de thèse Schémas temporels hybrides fondés sur les SVMs pour l analyse du comportement du conducteur

Modélisation du comportement habituel de la personne en smarthome

INSERTION TECHNIQUES FOR JOB SHOP SCHEDULING

THESE. Application des algorithmes de colonies de fourmis pour l optimisation et la classification des images

Systèmes Multi-Agents : Modélisation et simulation informatique de comportements collectifs. Chapitre III

Optimisation multi-objectif par colonies de fourmis : cas des problèmes de sac à dos

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Diverses techniques d'optimisation inspirées de la théorie de l'auto-organisation dans les systèmes biologiques

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

La classification automatique de données quantitatives

CURRICULUM VITAE. Informations Personnelles

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Annexe 6. Notions d ordonnancement.

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

Université Abou-Bekr Belkaid Tlemcen Faculté des Sciences Economiques et de Gestion. BENBOUZIANE Mohamed

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production

Equilibrage de charge (Load

Fig.1. Structure d un AGQ

Principes d implémentation des métaheuristiques

Bologne à l EPFL. Réforme de Bologne Implications pour l EPFL. Prof. Dominique Bonvin, Doyen Bachelor-Master

Curriculum Vitae (version étendue)

Reconnaissance automatique de la parole à l aide de colonies de fourmis

Économétrie, causalité et analyse des politiques

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Contrôle stochastique d allocation de ressources dans le «cloud computing»

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Une méthode de classification supervisée sans paramètre pour l apprentissage sur les grandes bases de données

GeniMiner, un moteur de recherche génétique

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Ré-ordonnancement adaptatif de messages dans un réseau ad hoc de véhicules

Comportements Individuels Adaptatifs dans un Environnement Dynamique pour l'exploitation Collective de Ressource

Freddy Huet. Adresse professionnelle : Adresse personnelle :

Le Cloud Compu+ng modèle et évalua+on de performances

Une méthode d apprentissage pour la composition de services web

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Apprentissage Automatique

Décision Markovienne appliquée à un jeu de stop ou encore : Pickomino (Heckmeck Am Bratwurmeck)

FaceBook aime les Maths!

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Amélioration de la fiabilité d inspection en CND grâce à la fusion d information : applications en rayons X et ultrasons

Tél.: +1 (418) Tél. : +1 (418) Fax : +1 (418) Michel.Roland@ecn.ulaval.ca. Économie mathématique.

Usine Numérique Intégration Produit Production

Une Approche Bio-mimétique pour la Segmentation d'images. Inspiration des Araignées Sociales

THÈSE DE DOCTORAT DE L UNIVERSITÉ PARIS 12-VAL DE MARNE UFR de Sciences et Technologie. par. Walid TFAILI. pour obtenir le grade de

Offre de thèse. Co-encadrant de thèse : HENRY Sébastien Coordonnées électroniques : Sébastien.Henry@univ-lyon1.fr Laboratoire : DISP (

Chaînes de Markov au lycée

Sommaire. Introduction Définition Historique Domaine d application.2. 4.Les Travaux réalisés sur les domaines d application.

Un propagateur basé sur les positions pour le problème d Open-Shop.

Revision of hen1317-5: Technical improvements

Thèmes de recherche. Projets en cours

THÈSE. présentée à l Université d Avignon et des Pays de Vaucluse pour obtenir le diplôme de DOCTORAT

Informatique / Computer Science

CURRICULUM VITAE. CHAMP DE SPÉCIALISATION Économie financière. Économétrie financière. Économétrie.

Évaluation d une méthode d ordonnancement multicritère utilisant AHP

Optimisation for Cloud Computing and Big Data

Revue d article : Dynamic Replica Placement for Scalable Content Delivery

APPROCHE SEMI-MARKOVIENNE POUR LA MODÉLISATION DE STRATÉGIES DE MAINTENANCE : APPLICATION À LA PRÉVENTION DE RUPTURE DU RAIL

Informatique / Computer Science

Ordonnancement temps réel

intelligence artificielle et cognitique"

Big Data et Graphes : Quelques pistes de recherche

Pascal Forget 2310, Avenue Notre-Dame Québec, (Québec) Canada, G2E 3G5 Tél. (418) Fax (418)

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

Transcription:

Optimisation par Colonies de Fourmis Artificielles Tour d horizon Nicolas Monmarché Laboratoire d Informatique Université François Rabelais - Tours Yravals 07, Deuxième école d été sur L Évolution Artificielle à Latour de Carol, 30 mai-1er juin 2007 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 1 / 103

Sommaire 1 Quelques mots sur les fourmis 2 Exploitation d une source de nourriture : optimisation combinatoire 3 Recherche de nourriture : optimisation continue 4 Conclusion N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 2 / 103

Quelques mots sur les fourmis Fourmis réelles/artificielles Tableau comparatif : Fourmis réelles Fourmis artificielles depuis quand? 100 10 6 années 15/20 ans où? tout écosystème ordinateurs, réseaux, terrestre robots combien? 10 18 qui? entomologistes informaticiens,... myrmécologues pourquoi? équilibres, régulations, optimisation,... évolution N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 3 / 103

Quelques mots sur les fourmis Les fourmis sont partout! Peu d espèces de fourmis... Les insectes : 950 000 espèces décrites (probablement 8 000 000 au total) a les fourmis font partie de l ordre des hyménoptères (120 000 espèces) 12 000 espèces de fourmis connues (estimation : 20 000)! a source : World Conservation Monitoring Centre. N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 4 / 103

Quelques mots sur les fourmis Les fourmis sont partout!... mais beaucoup d individus... une société de fourmis nomades d Afrique (dorylus) peut comporter plus de 20 millions d ouvrières il existe des super-colonies : plus de 300 millions d ouvrières, 1 million de reines et 45 000 nids sur 2.7 km 2 (Formica yessensis, Japon) la fourmi d Argentine (Linepithema humile) : 200 millions d ouvrières et 130 000 reines à l hectare...sur 6 000 km de côtes méditerranéennes. N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 5 / 103

Quelques mots sur les fourmis Les fourmis sont partout!... grandes prédatrices les fourmis rousses des Alpes italiennes ramassent en 200 jours 24 000 tonnes de nourriture dont 14 500 d insectes une colonie de Formica polyctena capture 8 millions d insectes annuellement (Allemagne) Pour les fourmis Ectatomma tuberculatum et Ectatomma ruidum, 260 millions de proies sont capturées annuellement par hectare (Mexique) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 6 / 103

Quelques mots sur les fourmis Les fourmis sont partout!... et face à nous? le poids sec des fourmis de la forêt amazonienne est environ 4 fois celui de vertébrés terrestres réunis La masse de fourmis sur Terre est équivalente à la masse de l Humanité... (une fourmi pèse entre 1 et 10 mg) très bonne radiorésistance N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 7 / 103

Quelques mots sur les fourmis Les problèmes quotidiens des fourmis Les problèmes quotidiens des fourmis rechercher de la nourriture navigation, repérage exploiter une source de nourriture communication, recrutement, transport coopératif se reproduire et élever les jeunes répartition des tâches, division du travail, tri, nursing défendre la colonie communication, identification construire le nid répartition des tâches, communication Les fourmis abordent ces problématiques de façon collective : Intelligence collective (Intelligence en essaim), auto-organisation N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 8 / 103

Quelques mots sur les fourmis La diversité des comportements La diversité des comportements l habitat (dans la terre, dans les arbres (feuilles, branches,...)) la nourriture (trophalaxies, champignonistes, granivores, insectivores,...) la communication (visuelle, sonore, chimique : phéromones d alarme,...) Exemples : fourmis tisserandes fourmis processionaires fourmis champignonistes fourmis parasites fourmis esclavagistes N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 9 / 103

Quelques mots sur les fourmis Modèlisation biomimétique Modélisation biomimétique Deux objectifs à la modélisation du comportement des fourmis : permettre aux biologistes de mieux comprendre et observer les mécanismes qui régissent ces sociétés (vérification de la capacité de prédiction du modèle) imaginer des nouvelles méthode de résolution de problèmes complexes (robotique, optimisation,...) Méta-heuristiques N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 10 / 103

Quelques mots sur les fourmis Modèlisation biomimétique Modélisation biomimétique Modélisations pour la résolution de problèmes complexes : recherche de nourriture optimisation combinatoire, routage dans les réseaux division du travail allocation de tâches (robotique) rangement des larves (tri du couvain) et des cadavres (organisation des cimetières) Partitionnement de graphes, classification, tri collectif transport coopératif robotique distribuée N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 11 / 103

Quelques mots sur les fourmis Domaines et développement des fourmis artificielles Domaines d origines des fourmis artificielles biologie théorique et comportementale Modélisation de systèmes complexes Intelligence Artificielle Distribuée (IAD) Systèmes Multi-Agents (SMA) Robotique autonome Optimisation stochastique par population de solutions Remarque Contrairement à ce que l on peut trop rapidement penser, une fourmi artificielle ne fait pas que de l optimisation... N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 12 / 103

Quelques mots sur les fourmis Domaines et développement des fourmis artificielles Évolution des publications sur les fourmis artificielles [http://www.hant.li.univ-tours.fr/artantbib/artantbib.php] N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 13 / 103

Quelques mots sur les fourmis Domaines et développement des fourmis artificielles Domaines d application N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 14 / 103

Modélisation Exemple n o 1 : exploitation d une source de nourriture communication indirecte : marquage par phéromones (stimergie [43]) recrutement de masse Expériences des 2 ponts de Deneubourg et Aron sur des fourmis d Argentine Linepithaema humile N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 15 / 103

Modélisation À la sortie du nid : 2 chemins possibles. N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 16 / 103

Modélisation Au point de choix : les fourmis n ont aucune vision globale. N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 17 / 103

Modélisation Le chemin le plus court reçoit plus de phéromones pour une durée donnée. N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 18 / 103

Modélisation Le choix des fourmis est orienté par les phéromones : renforcement auto-catalytique. N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 19 / 103

Modélisation Simulation Démonstration (Mark Wodrich) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 20 / 103

Modélisation Simulation Démonstration (Mark Wodrich) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 21 / 103

Modélisation Simulation Démonstration (Mark Wodrich) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 22 / 103

Modélisation Simulation Démonstration (Mark Wodrich) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 23 / 103

Modélisation Simulation Démonstration (Mark Wodrich) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 24 / 103

Modélisation Simulation Démonstration (Mark Wodrich) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 25 / 103

Modélisation Simulation Démonstration (Mark Wodrich) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 26 / 103

Modélisation Simulation Démonstration (Mark Wodrich) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 27 / 103

Modélisation Conclusion Règles locales de déplacement : déposer des phéromones sur le chemin emprunté suivre le chemin le plus marqué (en probabilité) Règles globales d évolution : les phéromones s évaporent à la bonne vitesse Découverte du plus court chemin Traduction...optimisation combinatoire N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 28 / 103

Recherche du plus court chemin hamiltonien dans un graphe Fourmis artificielles/optimisation combinatoire Recherche du plus court chemin hamiltonien dans un graphe 4 sommets, le graphe est complet, et la fourmi est en 1. N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 29 / 103

Recherche du plus court chemin hamiltonien dans un graphe 3 choix, dirigés par les valeurs τ ij = phéromones artificielles. N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 30 / 103

Recherche du plus court chemin hamiltonien dans un graphe Le chemin partiel est (1,4). N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 31 / 103

Recherche du plus court chemin hamiltonien dans un graphe Le chemin partiel est (1, 4, 2). N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 32 / 103

Recherche du plus court chemin hamiltonien dans un graphe Le chemin complet est (1, 4, 2, 3) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 33 / 103

Recherche du plus court chemin hamiltonien dans un graphe Quantités de phéromones «numériques» N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 34 / 103

Recherche du plus court chemin hamiltonien dans un graphe Démonstration (A. Dutot) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 35 / 103

Meta heuristique ACO Meta heuristique ACO Recherche du plus court chemin hamiltonien dans un graphe Problème du voyageur de commerce. Différences par rapport aux fourmis réelles : mémorisation des sommets traversés les phéromones sont déposées après la construction de la solution la vitesse de la fourmi n est pas constante : le renforcement est alors proportionnel à la qualité de la solution construite N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 36 / 103

Meta heuristique ACO Nombreuses variantes : prise en compte de la distance entre les sommets pour le déplacement dans une population de n fourmis seule la meilleure dépose des phéromones mécanismes d exploration/exploitation hybridation avec des heuristiques de recherche locale prise en compte de la somme des phéromones sur le chemin partiel... N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 37 / 103

Meta heuristique ACO Initialiser les phéromones pour chaque arc à la valeur τ 0 Placer aléatoirement les m fourmis sur les sommets du graphe for t = 1 à t max do for k = 1 à m do Construire le chemin S k (t) en tenant compte des phéromones (τ ij ) et de la désirabilité (η ij ) de chaque arc Calculer le coût de la solution S k (t) end for if une meilleure solution a été trouvée then Mettre à jour la meilleure solution trouvé : S + end if for all arc (i, j) do Mettre à jour la quantité de phéromone τ ij end for end for N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 38 / 103

Meta heuristique ACO Ant Colony System [28] : règle de transition : la fourmi placée en i choisit la ville j telle que : j = { { arg maxl Jk (i) [τil (t)] [ν il ] β} si q q 0 J sinon (1) q = U([0, 1]), q 0 [0, 1]), ν ij = 1/d(i, j) (visibilité), J k (i) = {villes restant à visiter}. J est choisie avec la probabilité : pij(t) k [τ ij (t)] [ν ij ] β = l J k (i) [τ (2) il(t)] [ν il ] β où β est un paramètre N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 39 / 103

Meta heuristique ACO à chaque pas la fourmi dépose des phéromones : τ ij (1 ξ)τ ij + ξτ 0 (3) la mise à jour des phéromones n est faite qu à partir du meilleur chemin généré (C + ) : τ ij (1 ρ)τ ij + ρ 1 L + (i, j) C + (4) des listes de villes candidates sont utilisées pour accélérer le processus de construction d un chemin ; une heuristique locale est utilisée pour améliorer les solutions générées par les fourmis (2-opt ou 3-opt) ; N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 40 / 103

Meta heuristique ACO Exemple : PVC «euclidien» à 198 villes (d198) : 2000 d198 1800 1600 1400 1200 1000 800 600 400 200 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 41 / 103

Meta heuristique ACO Quelques résultats Ant Colony System [28] : Résultats : PVC symétrique problème ACS+3-opt STSP (AG) best avg. best avg d198 15780 15781.7 15780 15780 lin318 42029 42029 42029 42029 att532 27693 27718.2 27686 27693.7 rat783 8818 8837.9 8806 8807.3 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 42 / 103

Meta heuristique ACO Ant Colony Optimisation (ACO) Problème Références Travelling Salesman [14, 29, 25, 15, 16, 36, 26, 30, 37, 9, 27, 28, 74, 75, 76, 11, 73, 4, 46] Quadratic Assignement [56, 41, 78, 52, 53, 79, 66, 40, 55, 72] Jobshop Scheduling [17] Bin Packing [6, 32] Vehicle Routing [10, 12, 13, 8, 39] Network Routing [20, 69, 23, 21, 23, 22, 7, 50, 83, 1, 47] Bus Driver Scheduling [33] Sequential Ordering [38]...... N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 43 / 103

Meta heuristique ACO Ant Colony Optimisation (ACO) Problème Références Graph Coloring [18] Frequency Assignement [53, 54] Shortest common supersequence [58, 59] Flowshop Scheduling [71, 80] Multi-objectif [57, 24, 44, 45] Virtual Wave Length Path routing [62] Multiple Knapsack [51] Single Machine [3, 34, 35] Recognizing Hamiltonian Graphs [81] Total Weighted Tardiness [19] Constraint Satisfaction [65, 70, 68, 67] Dynamic graph search [82] Best elimination sequence in BN [42] Answer Set Programming [63, 64] N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 44 / 103

Exemple décortiqué : l optimisation de clavier virtuel Exemple décortiqué : l optimisation de clavier virtuel Description du problème : N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 45 / 103

Exemple décortiqué : l optimisation de clavier virtuel L optimisation de clavier virtuel Description du problème : Étant donné un type de textes habituellement tapés (courriel/programmation/...) on veut obtenir le clavier virtuel qui minimisera l effort à fournir/la fatigue (crucial dans le cas d une personne lourdement handicapée) À chaque tâche, son clavier Les tâches peuvent évoluer dans le temps N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 46 / 103

Exemple décortiqué : l optimisation de clavier virtuel Hypothèses Hypothèses de travail : l utilisateur ne tape qu une touche à la fois (en déplaçant un pointeur) l effort visuel de recherche d un symbole est moins important que le déplacement pour l atteindre Hypothèses simplificatrices : pour étudier le problème on peut se limiter à un sous-ensemble de symboles (par ex pas de majuscules) la fatigue est uniquement liée à la distance que l utilisateur doit faire parcourir à son pointeur on se limite aux claviers rectangulaires m n N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 47 / 103

Exemple décortiqué : l optimisation de clavier virtuel Modélisation Clavier de taille 12 3. une solution (i.e. un clavier) est une séquence de touches de longueur < m n N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 48 / 103

Exemple décortiqué : l optimisation de clavier virtuel Évaluation Étant donné le jeu de caractères suivant : azertyuiopmlkjhgfdsqwxcvbn,;:!.?&" (-_)][$* 1234567890{} N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 49 / 103

Exemple décortiqué : l optimisation de clavier virtuel Évaluation On veut minimiser l effort de frappe de textes comme celui-ci : #include <stdio.h> #define dim 100 typedef int composante; void lecture(composante *t,int *nb) { int i; puts("nombre de valeurs à entrer? "); scanf("%d",nb); for(i=1;i<=*nb;i++) { printf("%dième valeur : ",i); scanf("%d",t++); } } [...] N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 50 / 103

Exemple décortiqué : l optimisation de clavier virtuel Évaluation Q(K, S) = 100 S S 1 i=1 d ε (s[i], s[i + 1]) (5) S = {s[1], s[2],..., s[ S ]} est une séquence de symbole (un texte) de longueur S d ε (x, y) distance euclidienne entre les symboles x et y de coordonnées (x 1, x 2 ) et (y 1, y 2 ) sur le clavier K : d ε (x, y) = (x 1 y 1 ) 2 + (x 2 y 2 ) 2 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 51 / 103

Exemple décortiqué : l optimisation de clavier virtuel Les phéromones Les phéromones sont liées à la méthode de construction d une solution Deux possibilités : 1 les phéromones sont déposées entre chaque symbole et chaque position du clavier 2 les phéromones sont déposées entre chaque couple de symbole N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 52 / 103

Exemple décortiqué : l optimisation de clavier virtuel Les phéromones Deux méthodes de construction d une solution : 1 la construction d une solution consistera à parcourir la liste des touches et à y affecter un symbole en utilisant les phéromones 2 la construction d une solution consistera à passer d un symbole à l autre en utilisant les phéromones et à affecter les symboles choisis dans l ordre de parcours du clavier N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 53 / 103

Exemple décortiqué : l optimisation de clavier virtuel Les phéromones Intuitivement : la première méthode tente de découvrir la bonne position pour chaque symbole la deuxième méthode tente de découvrir la bonne séquence de symboles Il y a des avantages et inconvénients dans les deux cas... Étudions la deuxième. N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 54 / 103

Exemple décortiqué : l optimisation de clavier virtuel Construction d un solution soit K k (t) le clavier partiellement construit au temps t et i le dernier symbole placé La fourmi choisi le symbole j selon la probabilité suivante : P (t) (i, j) = P (T ) e l N(K k (t)) + (1 P (T ) e ) τ α i,j η i,j τ α i,l η i,l { 1 si j = arg max {τ i,l α η i,l } l N(K k (t)) 0 sinon où j N(K k (t)) (ensemble des symboles restant à placer dans K k (t)) α est un paramètre P (T ) e et la probabilité d exploration/exploitation N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 55 / 103

Exemple décortiqué : l optimisation de clavier virtuel Exploration/exploitation P (T ) e et la probabilité d exploration/exploitation (souvent constante, mais ici nous choisissons de la faire varier au cours des itérations : P e (T ) = 0.8(T /T max ) pour accroître l exploitation au fur et à mesure des itérations) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 56 / 103

Exemple décortiqué : l optimisation de clavier virtuel Mise à jour des phéromones τ i,j (1 ρ)τ i,j + ρ ρ coefficient d évaporation A est le nombre de fourmis A k i,j (6) k=1 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 57 / 103

Exemple décortiqué : l optimisation de clavier virtuel Mise à jour des phéromones est calculé pour favoriser les bons choix des fourmis : min {Q(K l, S)} k l {1,...,A} i,j = Q(K k,s) (Rank(K k si le symbole j suit le symbole i su )+1) 0 sinon (7) k i,j est incrémenté chaque fois qu une fourmi a utilisé le symbole j après le symbole i dans son clavier et proportionnellement à la qualité relative de son clavier et de son rang dans un ordre décroissant de qualité (Rank(K best ) = 1). Si aucune fourmi n est passée de i à j, la quantité de phéromone décroît (évaporation seule) enfin, les phéromones sont conservées dans l intervalle [τ min ; τ max ]. N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 58 / 103

Exemple décortiqué : l optimisation de clavier virtuel Désirabilité η i,l On peut utiliser l inverse de la co-occurrence successive des symboles dans le texte qui sert de référence (plus 2 symboles se suivent fréquemment, plus la transition de l un à l autre par une fourmi est probable) on pourrait utiliser des mesures plus générales (suivant la langue...) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 59 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expérimentations Que peut-on observer? l évolution au cours des itérations de l évaluation de la meilleur solution l évolution au cours des itérations de l évaluation moyenne de la colonie les valeur min, max et moyenne des phéromones la quantité d information stockée dans la matrice de phéromone (l entropie)... N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 60 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Conditions d expérience : Texte S : programmation C (longueur :1 943 symboles) bornes des pheromones : [τ min ; τ max ] = [0.1; 0.9], Pheromone initiale : τ 0 i,j = τ max si i j et τ 0 i,i = 0.0, taux d évaporation : ρ = 0.01, nb de fourmis = nombre de symboles à placer sur le clavier (57 ici), nombre d itérations : 500 (chaque fourmi construit 500 claviers). N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 61 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution de la qualité (fitness), avec α = 0.0 (pas de phéromones) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 62 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution de la qualité (fitness), avec α = 0.5 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 63 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution de la qualité (fitness), avec α = 1.0 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 64 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution de la qualité (fitness), avec α = 2.0 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 65 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Pourquoi ce fléchissement de l amélioration de la qualité vers 250 itérations? Observons d autres mesures... N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 66 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution des quantités de phéromones (min, max et moyenne), avec α = 0.0 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 67 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution des quantités de phéromones (min, max et moyenne), avec α = 0.5 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 68 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution des quantités de phéromones (min, max et moyenne), avec α = 1.0 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 69 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution des quantités de phéromones (min, max et moyenne), avec α = 2.0 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 70 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution des quantités de phéromones (min, max et moyenne), avec α = 2.0 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 71 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Quelque soit α, les phéromones semblent évoluer de la même façon. Regardons l entropie : Ent(T ) = m i=1 n j=1 τ i,j τ max {τ u,v} min {τ u,v} log τ i,j τ max {τ u,v} min {τ u,v} u,v u,v u,v u,v (8) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 72 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution de l entropie de phéromones, avec α = 0.0 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 73 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution de l entropie de phéromones, avec α = 0.5 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 74 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution de l entropie de phéromones, avec α = 1.0 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 75 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution de l entropie de phéromones, avec α = 2.0 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 76 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Finalement, les phéromones servent-elles à quelque chose? Enlevons la désirabilité pour vérifier si les phéromones seules peuvent faire progresser la qualité. N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 77 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution de la qualité (fitness), avec α = 0.0 (pas de phéromones, pas de désirabilité) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 78 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution de la qualité (fitness), avec α = 0.5 (pas de désirabilité) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 79 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution de la qualité (fitness), avec α = 1.0 (pas de désirabilité) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 80 / 103

Exemple décortiqué : l optimisation de clavier virtuel Expériences Évolution de la qualité (fitness), avec α = 2.0 (pas de désirabilité) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 81 / 103

Exemple décortiqué : l optimisation de clavier virtuel Conclusion Reste à faire : il faut contrer la stabilisation des phéromones : quand stabilité, remettre les phéromones à leur valeur initiale (restart) (MMAS) d autres paramètres peuvent être étudiés (ρ,...) qualité intrinsèques des solutions produites? comparaison avec d autres méthodes. capacité d intégration de changements dans les textes tapés (problème dynamique) N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 82 / 103

Convergence de ACO Convergence de ACO Graph-Based Ant System [49, 48] Hypothèses : 1 il n y a qu une seule solution optimale (notée w ) pour l instance du problème considérée 2 pour chaque arc (k, l) w on a : ν kl (u) > 0 3 soit f = f (m) la meilleure évaluation trouvée au cours des cycles 1,..., m 1 seuls les chemins au moins aussi performants que f recoivent un renforcement (stratégie élitiste). N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 83 / 103

Convergence de ACO Théorème : Soit P m, la probabilité qu un agent particulier parcourt le chemin optimal au cycle m, les deux assertions suivantes sont valides : pour tout ε > 0 et en fixant les paramètres ρ et β, et en choisissant un nombre N de fourmis suffisament grand, on a P m 1 ε pour tout m m 0 (m 0 est un entier dépendant de ε) pour tout ε > 0 et en fixant les paramètres N et β, et en choisissant un facteur d évaporation ρ suffisament proche de 0, on a P m 1 ε pour tout m m 0 (m 0 est un entier dépendant de ε) Principe : état du système = {phéromones} {chemins partiels} {f (m)} les transitions entre états du système = processus markovien N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 84 / 103

Rapprochements avec les AG Rapprochements avec les AG Matrice de phéromones distribution de probabilité dans les AE PBIL [2] et BSC [77]. «ACO-canonique»[60] : V = (p 1,..., p l ), avec p i [0, 1] : probabilité de générer un «1», P = (s 1,..., s n ), avec s i S : population de n chaînes binaires 0 0 0 0 0 1 1 1 1 1 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 85 / 103

Rapprochements avec les AG Algorithme commun 1 Initialisation V = (p 1,..., p l ) (0.5,..., 0.5) 2 Générer P = (s 1,..., s n ) suivant V 3 Évaluer f (s 1 ),..., f (s n ) 4 Mise à jour de V selon (s 1,..., s n ) et f (s 1 ),..., f (s n ) 5 Si condition d arrêt vérifiée Alors Stop Sinon Aller en 2 N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 86 / 103

Rapprochements avec les AG 5 F 3 (x) = 50 + ((x i 1) 2 10 cos(2π(x i 1))) ( 1 ) i=1 40 F3 - n=100 bsc pbil as acs 35 30 25 Averaged Fitness 20 15 10 5 0 0 10 20 30 40 50 60 70 80 90 100 Iteration number 1 avec x i [ 5.12, 5.11] et l = 10. N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 87 / 103

Rapprochements avec les AG Convergence de V pour F 3 : 0.5 0.45 F3 - n=100 bsc pbil as acs 0.4 0.35 0.3 Convergence of V 0.25 0.2 0.15 0.1 0.05 0 0 10 20 30 40 50 60 70 80 90 100 Iteration number N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 88 / 103

Recherche de nourriture : optimisation continue Les fourmis de l espèce Pachycondyla apicalis Les fourmis de l espèce Pachycondyla apicalis N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 89 / 103

xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx Recherche de nourriture : optimisation continue Les fourmis de l espèce Pachycondyla apicalis recherche de nourriture par les fourmis de l espèce Pachycondyla apicalis Nid 1 m N.Monmarché (Univ.Tours) Fourmis artificielles Yravals 07 90 / 103