Michel SALA 2
Partie III : les systèmes multi-agents (5 points)
Nous souhaitons réaliser un programme qui va explorer un labyrinthe pour en trouver la
sortie. Dans notre solution, nous souhaitons utiliser les multi-agents. En français (sans
algorithme ni programmation), veuillez nous expliquer votre méthodologie.
Partie IV : les algorithmes génétiques (6 points)
Un voyageur de commerce doit visiter toutes les villes éparpillées sur un territoire donné.
Pour minimiser les coûts, il désire connaître le chemin le plus court qui les relie.
Comment calculer ce trajet? Concocté en 1857 par le mathématicien irlandais William
Rowan Hamilton, ce problème paraît simple en apparence, mais il est des plus
complexes. Il n'existe pas de méthode simple et logique pour trouver la solution : il faut
tester chaque solution individuellement – une tâche qui peut devenir pénible même pour
un ordinateur - et la difficulté s'accroît de façon exponentielle lorsqu'on ajoute des villes
et des routes entre elles.
Les algorithmes génétiques ont été imaginés pour résoudre ce type de problèmes
mathématiques. Le qualificatif « génétique » vient du fait que ce genre d'algorithme
s'adapte parfaitement à la théorie de l'évolution des espèces de Charles Darwin. Dans un
premier temps, l'algorithme génétique crée, au hasard, des solutions possibles. Ensuite,
il les laisse « évoluer » jusqu'à obtenir les résultats les mieux adaptés au problème.
Les solutions candidates possèdent chacune un « patrimoine génétique », c'est-à-dire
une chaîne de « chromosomes » écrits sous forme de 0 et de 1. Faisant office de «
sélection artificielle », l'algorithme génétique favorise la « survie » des solutions les plus
correctes. Celles-ci peuvent alors se reproduire entre elles et transmettre leur bagage
génétique à la prochaine génération. Pour favoriser encore plus la diversité, au moment
de la reproduction, l'algorithme crée des mutations de façon aléatoire, ce qui provoque
l'apparition de « mutants » issus des meilleurs parents. Ainsi les générations successives
deviennent de mieux en mieux adaptées à la résolution du problème.
Un algorithme génétique est capable de résoudre des problèmes dont on ne connaît pas
de méthode de résolution ou dont la solution exacte est trop complexe pour être calculée
en un temps raisonnable. On utilise ce genre de calculs pour planifier des tournées de
livraison, constituer des équipes de travail, implanter de manière optimale des points de
vente dans une région, gérer des portefeuilles financiers et même, en design industriel,
trouver la meilleure forme à donner à la turbine d'un réacteur nucléaire!
En fonction du texte de Mme Sophie Conte ci-dessous, expliquer comment vous
souhaitez mettre en place un algorithme génétique pour résoudre le problème du
voyageur de commerce.