• Aucun résultat trouvé

Pour resoudre les problemes d'optimisationimpliquesdans l'algorithmeFil d'Ariane, nous utilisons une technique d'optimisation stochastique: les

algorithmes

gene-tiques

. Dans ce chapitre, nous decrivons les principes de ces algorithmes. Apres un rappel des problemes d'optimisation a traiter, nous presentons l'algorithme gene-tique standard. Nous donnons un exemple illustratif d'application de cet algorithme au probleme de la fonction cinematique inverse. La parallelisation des algorithmes genetiques est alors decrite. En particulier, nous introduisons les trois modeles les plus classiques d'algorithmes genetiques paralleles.

L'application des algorithmes genetiques au probleme speci que qui nous inte-resse, a savoir la mise en uvre de l'algorithme Fil d'Ariane, est abordee. Cependant cette implantation ne sera decrite en detail que dans le chapitre 8. Finalement, nous explicitons les raisons qui ont motive le choix des algorithmes genetiques.

5.1 Rappel des problemes d'optimisation a traiter

Dans la premierepartie de cette these, nous avons de ni l'algorithmeFil d'Ariane comme la combinaison de deux sous-algorithmes: EXPLORE et SEARCH. Cha-cun de ces algorithmes est exprime comme un probleme d'optimisation:

EXPLORE(t) = ( Maximiserd(ELt; ^ (1)) ^ 2[1;2;:::;t]IRn` SEARCH(^q; ^q) = ( MinimiserF(^ q^; ^q) ^ q^ 2IRn`

L'espace de recherche de EXPLORE code l'ensemble des trajectoires partant des balises fL1;L2;:::;Lng. L'objectif de la fonction d'evaluation de EXPLORE est de trouver une trajectoire ^ dont l'extremite ^ (1) soit la plus eloignee possible des balises precedemment posees.

L'espace de recherche de SEARCH represente l'ensemble des trajectoires par-tant de la derniere balise posee parEXPLORE. L'objectif de la fonction d'evalua-tion de SEARCH est de trouver une trajectoire ^ telle que son extremite ^ (1) se trouve dans la pre-image Manhattan de la con guration nale ^q.

Pour resoudre ces deux problemes d'optimisation, nous avons utilise les algo-rithmes genetiques. Nous decrivons dans la suite de ce chapitre cette technique d'optimisation.

5.2 Introduction aux algorithmes genetiques

Les algorithmes genetiques sont une technique de recherche stochastique intro-duite par Holland [35] dans les debuts des annees 70. Ils sont inspires par l'evolution biologique des especes.

Avec le developpement des architectures paralleles, ils sont en train de conna^tre un certain succes: un nombre croissant de travaux portent sur l'application des algorithmes genetiques pour les problemes d'optimisation combinatoire, en intelli-gence arti cielle, dans le domaine du connexionisme (voir [44] [37] [33]) et pour la robotique([4] [45] [26] [27] [58]).

Le but des algorithmes genetiques est de trouver l'optimum d'une certaine fonc-tionF sur un espace de recherche S. Par exemple, l'espace de recherche S peut ^etre

REMPLACEMENT SELECTION

REPRODUCTION EVALUATION

Fig. 5.1 - Etapes d'un algorithme genetique.

2N. Un point de S est alors decrit par un vecteur de N bits et F est une fonction permettant de calculer une valeur reelle pour chacun de ces 2N vecteurs.

Dans une phase d'initialisation, un ensemble de points deS (appele \population d'individus") est tire aleatoirement(le \genotype" de chaque individu est un vecteur de N bits). L'algorithme genetique itere alors sur les 4 etapes suivantes jusqu'a ce qu'un optimum satisfaisant soit atteint (voir gure 5.1):

1.

Evaluation

: La fonction F est calculee pour chaque individu, de maniere a classer toute population du moins bon jusqu'au meilleur.

2.

Selection

:Des paires d'individussont selectionnees,les individus les meilleurs ayant plus de chances d'^etre selectionnes que les autres (un individu peut ^etre eventuellement selectionne plusieurs fois).

3.

Reproduction

: De nouveaux individus (appeles \descendants") sont pro-duits a partir de ces paires.

4.

Remplacement

: Une nouvelle population est engendree en remplacant cer-tains des individus de la vieille population par des jeunes venant d'^etre crees. La reproduction est e ectuee en utilisant des \operateurs genetiques". Il existe une grande variete de tels operateurs [20] mais les deux plus communs sont la \mutation" et le \cross-over" ou combinaison.

L'operateur de mutation consiste a tirer au hasard certains points de la cha^ne de bits du genotype et a basculer la valeur binaire de ces \genes" (voir gure 5.2).

Fig. 5.2 - Mutation d'un individu.

L'operateur de cross-over selectionne au hasard un point de coupure parmi N sites possibles dans le genotype binaire et echange les parties pre-coupure et post-coupure des deux vecteurs parents (voir gure 5.3).

Les algorithmes genetiques ont de nombreuses applications et font preuve de capacites d'optimisation bonnes compares a d'autres techniques, notament, quand la taille de l'espace de rechercheS est tres grand et que la fonction F est relativement irreguliere (voir[32][31]).

NOVEAUX ELEMENTS PARENTS

COMBINAISON

k

Fig. 5.3 - Combinaison des individus.

Au dela de leur inter^et scienti que en tant que modele de l'evolution, les algo-rithmes genetiques ont deux inter^ets techniques principaux:

1. Ils sont tres \robustes" et peuvent traiter une tres grande variete de problemes d'optimisation.

2. Ils sont tres faciles a paralleliser et les accelerations obtenues par ce procede sont considerables (voir par exemple [83] et le paragraphe 5.3.4).

5.2.1 Exemple: Le probleme de la fonction cinematique inverse

A n d'introduire les algorithmes genetiques et leur application dans les algo-rithmesEXPLORE et SEARCH, nous presentons dans ce paragraphe la solution a un probleme typique de robotique: l'inversion de coordonnees [19]. Etant donne un bras manipulateur, le probleme consiste a trouver une con guration du bras telle que l'extremite de la derniere articulation soit a une position donneeX = (x;y) de l'environnement. On impose en plus a cette con guration d'^etre libre de collision. Considerons un bras planaire a deux degres de liberte. Soit  = (0;1) une

00110101 00100001

BUT (x,y)

1

0

0= 75 1= 47

Fig. 5.4 - Une con guration du bras manipulateur et son codage.

guration quelconque du bras; alors le probleme d'inversion de coordonnees peut ^etre exprime comme un probleme de minimisation:

min  f() : f() = ( kX ,Xk si 2Clibre

+1 Collision avec un obstacle (5:15)

Ou X denote la position de l'extremite de la derniere articulation etant donnee la con guration  (voir gure 5.4).

On constate aisement que la resolution analytique de cette expression n'est pas evidente lorsqu'il y a des obstacles. Neanmoins, le calcul direct de f pour une con guration donnee  peut ^etre facilement obtenu.