Maths, Fourmis, Informatique et Petits Chevaux - 1 Journée des Ludologues 18-06-08 Pierre Chauvet IMA – UCO pierre.chauvet@uco.fr
Partie 1: Simulation de colonies de fourmis
Contexte Cursus Informatique/Math Appli - Programmation - Modélisation, Systémique - Simulation - Algorithmique, POO - Intelligence Artificielle (L3) - etc.
Projet en Intelligence Artificielle Le projet doit permettre : - de comprendre certains concepts et certaines techniques vus en cours - de faire le lien avec d’autres cours (de différents semestres) - de faire un travail d’équipe (équipe=promo) - de noter les étudiants ! Il est constitué de 2 réalisations (programmes) : - le rendu de TP sur un outil de résolution de problèmes bien précis (sujet très contraint, organisation libre) - un travail de modélisation et de simulation (sujet peu contraint, organisation imposée) - ludique
Les Projets en IA (2006 à 2008) 2006-2007 - Algorithmes génétiques, validation sur le PVC - Résolution PVC par algorithme Fourmi 2007-2008 - Réseaux de neurones artificiels - Modèles sociaux et systèmes multi-agents (phénomènes de discrimination, ségrégation, ghettos, …)
Intelligence Faible/Forte Jusqu’aux années 90: intelligence forte, sur un modèle centralisé (« Super Ordinateur ») Depuis les années 90: intelligence faible, sur un modèle distribué (« Le Réseau ») Pourquoi: constat d’un échec relatif de la formalisation de l’intelligence par un système de règles totalement déterminées - progrès énormes des systèmes (informatique, productique) distribués, - l’intelligence vue comme un phénomène émergent (fin d’un idéal du siècle des lumières…)
Colonies de Fourmis et Résolution de problèmes L’algorithme des colonies de fourmis est utilisé pour résoudre des problèmes d’optimisation: - tournées (PVC, CARP) - routage dynamique (réseaux) - ordonnancement (productique)
Les Colonies de Fourmis Idée issue de l'observation du comportement collectif de recherche de nourriture chez les fourmis. En effet, celles-ci, bien qu'ayant individuellement des capacités cognitives très limitées, sont capables collectivement de résoudre le problème de la découverte du plus court chemin entre une source de nourriture et leur nid. Un modèle expliquant ce comportement est le suivant : 1. une fourmi (appelée « éclaireuse ») 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 piste longue ; 6. la piste courte sera donc de plus en plus renforcée, et donc de plus en plus attractive ; 7. la piste longue, elle, finira par disparaître, les phéromones étant plus ou moins volatiles. A terme, l'ensemble des fourmis a donc « choisi » la piste la plus courte.
Application au PVC Le but est de trouver le chemin le plus court permettant de relier un ensemble de villes. L'algorithme repose sur un ensemble de fourmis. Chacune parcourt un trajet parmi ceux possibles. À chaque étape, la fourmi choisit de passer d'une ville à une autre en fonction de quelques règles : - elle ne peut visiter qu'une fois chaque ville ; - plus une ville est loin, moins elle a de chance d'être choisie ; - plus l'intensité de la piste de phéromone disposée sur l'arrête entre deux ville est grande, plus le trajet aura de chance d'être choisi ; - une fois son trajet terminé, la fourmi dépose, sur l'ensemble des arrêtes parcourues, une piste de phéromone dont l'intensité augmente si le trajet est court ; - les pistes de phéromones s'évaporent à chaque itération.
Projet « Simulation de Colonies de Fourmis » Phase 1 : toute la promo construit un modèle commun - que veut-on montrer avec le modèle ? Ses limites ? - réalisation sur papier, faisabilité dans le temps imparti… Phase 2 : chaque binôme réalise son outil de simulation - Implémentation du modèle (simple) - Réalisation d’une interface (difficile) Phase 3 : restitution (rapport+codes sources)
Un exemple de réalisation Projet réalisé en 2005-2006 – L2 cours POO Avancée – (Programmation Orientée Objet) par le trinôme Delhumeau-Marivint-Meudec en Java: ANT’S WORLD
Conclusion Sujet facile à aborder (nécessite peu de connaissances en éthologie) Illustre parfaitement les phénomènes d’émergence et d’auto-organisation Fait le lien entre IA, Recherche Op et Systémique Démarche complète: de la modélisation à la réalisation Bon exercice de programmation (POO, Threads, Animations) Ludique: les étudiants agissent comme s’ils programmaient un jeu (on en est pas loin: plusieurs fourmilières => ANT CIVILIZATION)