• Aucun résultat trouvé

Chapitre 1 Les algorithmes évolutionnaires

1.3 Caractéristiques des algorithmes génétiques

1.4.3 Procédé de sélection des individus pour la reproduction

1.4.4.1 Le croisement pour la reproduction des individus de sélection

Le croisement est l’opérateur principal de recherche d’un AG, car il permet d’améliorer les performances de la population en manipulant la structure des génotypes des individus. Il est communément inclus avec une haute probabilité.

Il existe plusieurs méthodes pour effectuer le croisement à la fois au niveau génotype et phénotype, Goldberg 1989 [10], Wright 1991 [4], Michalewicz [7] et Dejong 1992 [17].

Le croisement combine les génotypes de deux individus pour obtenir deux nouveaux auxquels on applique la fitness du problème considéré pour trouver le plus performant. Il consiste à échanger des gènes entre deux individus « parents » arbitrairement choisis dans la population produisant ainsi de nouveaux individus « enfants » qui possèdent certaines caractéristiques génétiques de leurs parents respectifs. Avec cet opérateur, les génotypes sont vus comme une chaîne de nombres binaires, contrairement aux phénotypes à valeurs réelles.

Parmi les méthodes utilisées, il peut y avoir 1, 2 ou un nombre quelconque de points de croisements l compris entre 1 et s-1 qui s’effectue avec une certaine probabilité Pc qui varie

généralement de 0,6 à 0.95.

Lorsqu’on proposePc=0,6 ; celaveut dire que seulement 60% des individus parents subissent

le croisement. Mais lesquels ? Pour cela on fait tourner N fois la roulette pour générer N nombres réels r dans [0,1]. Si r < Pc l'individu correspondant est choisi pour le croisement.

1.4.4.1.1 Croisement en binaire

a. Croisement simple (ou à point unique)

Le croisement simple « simpleXover », consiste à choisir au hasard (tirage aléatoire) un seul point de coupure identique sur les deux génotypes parents de longueur s pour échanger les fragments de chromosomes situés après le point de coupure pour produire deux descendants.

L’opérateur de croisement le plus simple, dont le lieu de coupure (site de croisement l=5) est sélectionné aléatoirement, est représenté en figure 1.5 ci- dessous :

Figure 1.5 : Opérateur de croisement simple sur une chaîne binaire. Site de croisement (l =5)

25

b. Croisement double (ou en deux points)

On choisit aléatoirement deux points de croisement pour échanger les fragments. c. Croisement multiple (ou en k points)

C’est la généralisation à k points de coupure des deux précédentes où plusieurs points sont sélectionnés et l’échange se fait sur les différentes parties des séquences cernées par ces points [17]. Le cas limite est le croisement binaire uniforme qui procède à l’échange de chaque élément selon une probabilité Pc.

d. Croisement binaire uniforme UX à masque (ou copie)

Le croisement binaire uniforme proposé par Syswerda en 1989 [18], est un croisement multipoints dont le nombre de points de coupures n’est pas connu à priori.

Pour cela, on utilise pratiquement une chaîne binaire générée aléatoirement (masque binaire de croisement) de la même longueur s que les génotypes. Cette technique, complètement différente des trois techniques précédentes, est très populaire. La figure 1.6 illustre le principe de fonctionnement de cette technique. Cet opérateur combine deux chromosomes parents selon une chaîne binaire aléatoire pour donner deux chromosomes enfants :

Parent 1 001011011110 Parent 2 011101100101 Chaîne aléatoire V de croisement (masque) 110011110010 Enfant 1 011001101100 Enfant 2 001111010111

Principe de fonctionnement

Si à la nième position du masque de croisement, il y’a un bit 0, on conserve les symboles (la valeur du gène du parent est transmise à l’enfant) sinon on les échange. La chaîne aléatoire V= (v1, v2,…, vs) de taille s est générée aléatoirement pour chaque couple d’individus ou pour chaque génération. Le nouvel individu hérite du même gène que le parent.

Ces techniques de croisement peuvent s'appliquer à la fois pour les représentations binaires et en réelle. En 1989, Syswerda présente des résultats empiriques indiquant que le croisement uniforme donne des résultats meilleurs que les croisements cités précédemment. Il est considéré comme étant un croisement efficace pour une grande famille de fonctions d’optimisation, Syswerda en 1995 [19].

1.4.4.1.2 Croisement réel arithmétique (Opérateur arithXover)

Il existe d’autres types de croisement utilisant directement des nombres réels, basés sur la combinaison linéaire de deux individus parents [7], [9], [1213], [19] tels que les croisements arithmétiques simple et entier, BLX-α, linéaire, discret, étendu, heuristique, qui peuvent améliorer les précédents sous divers aspects ou bien ceux sont des opérateurs créés spécifiquement pour un problème donné (par exemple afin de respecter certaines conditions des

26

génotypes et phénotypes).Dans le cas réel, le point de coupure tombe nécessairement entre deux variables réelles.

a. Croisement arithmétique simple

Dans ce mode de croisement arithmétique simple [7], les valeurs des gènes sélectionnés pour la génération t+1 par l’opérateur de croisement appliqué aux chromosomes parents Stj,gtj de la générationt sont obtenues par les expressions (1.11) :

t j g . . ,... 1     t j m l j t j S S g ,... .g .Stj 1     t j m l j t j (1.11)

Où les constantes α et β sont des nombres obtenus aléatoirement : α, β [0; 1]. Cet opérateur est appliqué à certains éléments (gènes) sélectionnés.

b. Croisement arithmétique entier

Ce mode de croisement arithmétique entier appelé « Whole arithmetical crossover, en Anglo saxon » par Michalewicz en 1992 [7], est défini comme étant la combinaison linéaire de deux vecteurs (2 Chromosomes). La combinaison linéaire de deux chromosomes parents Chgt et

t S

Ch aura lieu à la génération t pour obtenir deux descendants de la génération t+1, (1.12) : ChSt r.Chgt

1 r

.ChSt

1   

Chgt1 

1r

.Chgtr.ChSt (1.12) Où r est un nombre généré aléatoirement par : rrand

 

0;1 . Alors, il s’agit de croisement non uniforme où r varie en ce qui concerne le nombre de générations généré. Mais lorsque r est une constante choisie par l’utilisateur, il s’agit alors de croisement arithmétique uniforme. Dans le cas particulier où r =1/2, c’est un croisement moyen garanti « garanteed average crossover ». Cette technique garantit que les descendants appartiennent au même domaine de variation borné D = [xmin, xmax]puisque r[0 ;1].

Nota : Cet opérateur de croisement arithmétique entier sera utilisé dans l’optimisation paramétrique des régulateurs PID du bras manipulateur du robot SCARA, au chapitre 8.

c. Croisement arithmétique uniforme

Pour le croisement arithmétique uniforme, on utilise un nombre réel r généré aléatoirement tel que : rrand

 

0;1. Une valeur réelle du premier parent est attribuée au premier enfant et la valeur réelle du second parent est au second enfant avec une probabilité Pc <r. Mais pour

une probabilité Pc ≥ r, la valeur réelle du premier parent est attribuée au second enfant et la

valeur du second parent est attribuée au premier enfant, tel que représenté par l’exemple de la figure 1.7 : Parent1 0.32 0.22 0.34 0.89 0.23 0.76 0.78 0.45 Parent2 0.12 0.65 0.38 0.47 0.31 0.56 0.88 0.95 Nbre aléatoire r 0.32 0.22 0.34 0.89 0.23 0.76 0.78 0.45 Pc= 0.6 <0.6 <0.6 <0.6 >0.6 <0.6 >0.6 >0.6 <0.6 Enfant1 0.32 0.22 0.34 0.47 0.23 0.56 0.88 0.45 Enfant2 0.12 0.65 0.38 0.89 0.31 0.76 0.78 0.95

27

d. Croisement heuristique

Par définition des heuristiques, ce ne sont pas des méthodes dont on attend à priori la convergence garantie vers l’optimum global. Cependant, on utilise des heuristiques afin de trouver la solution globale optimale ou du moins la moins mauvaise. Cette technique a été développée en 1990 par Godberg [3], en 1991 par Wright [4], et par Michalewicz en 1999 [12].

En appliquant l’opérateur de croisement heuristique aux deux chromosomes t S g Ch

Cht, de la génération t, on génère un seul nouveau chromosome ChNouveaut1 de la génération t+1 en utilisant l’expression (1.13) :

ChSNewt1 r(ChStChgt)ChSt (1.13) t t

Ch Chg1  g

Où r est un nombre aléatoire [0; 1].

Pour un problème de maximalisation, il faut réarranger les chromosomes afin d’obtenir des fonctions objectifsO(Ch )O(Chtg)

t

S ,

t S

Ch est le parent le mieux adapté. Contrairement, pour un problème de minimisationO(Ch )O(Chgt)

t

S . Dans le cas particulier où ( ) ( )

t g Ch O Ch O St  ,

on reproduit simplementChgt, ChSt . C’est le seul croisement à utiliser directement une

information reliée à la fonction objective O (donc à la fitness F).

Cet opérateur contribue à la précision de la solution trouvée, avec une variance vers le meilleur parent. Il a deux principaux avantages :

1- Opérer la recherche dans la direction prometteuse, basée sur les valeurs de la fonction O. 2- Améliorer la recherche locale.

e. Croisement BLX-α

Le croisement BLX-α « Blend crossover » a été développé en1993 par Eshelham et Shaffer [13] qui ont utilisé un nombre positif α=0.5.

Un descendant Chit+1 = (x1, x2,…, xi,…, xL) est généré tel que la valeur xi de son iième gène est une valeur aléatoire choisie des iièmes éléments Chi1, Chi2 des chromosomes parents Ch1, Ch2 respectivement dans l’intervalle [Chi1, Chi2] en (1.14) suivant la distribution uniforme : [Chi1, Chi2] = [Chmin-Ii.α , ChMax+Ii.α] (1.14) Où Chmin=min (Chi1, Chi2) et ChMax=Max (Chi1,Chi2) et l’intervalleIiChMaxChmin . Remarque

Dans le cas ou le domaine des valeurs des gènes xi du chromosome descendant Chit+1

généré n’appartient plus au domaine D = [xmin, xmax] des parents ; ce domaine va s’élargir ou

se rétrécir. Certaines conditions doivent être respectées pour déterminer un paramètre réel positif α de bonnes propriétés choisi à l’avance.

Pour α=0, il s’agit du cas particulier « BLX-0.0 Crossover » nommé « Flat Crossover FC», développé en 1991 par Radcliffe [20], dans lequel le problème du domaine d’exploration borné ne se pose pas et chaque valeur, du gène xi des chromosomes parents, sera calculée d’après les relations (1.12). Ce dernier devient identique au croisement arithmétique entier en b).

28

Pour α ≠ 0, il s’agit du BLX-α : Ce type de croisement élargit le domaine de recherche permettant au gène xi du chromosome descendant d’être localisé à l’extérieur du domaine D, il

s’agit d’une exploration très vaste. Ce qui rend son exploitation difficile pour la convergence vers des solutions envisageables.

f. Croisement linéaire

Le croisement linéaire, par A.H. Wright en 1992 [4], génère trois descendants dont les gènes xik ; k=1, 2, 3sont calculés comme suit (1.15) :

xi1 = ½(Chi1 +Chi2) xi2 =3/2hi1 -1/2Chi2 xi3=-1/2Chi1 +3/2Chi2 (1.15)

Le premier est le point milieu de Ch1,Ch2 ; mais les deux derniers se situent de part et d’autre de la ligne déterminée par Ch1,Ch2.

La nouvelle génération sera formée des deux meilleurs de ces descendants.

Remarque

Le domaine d’exploration est borné.

g. Croisement discret (Discret Crossover : DC)

Il s’agit de l’extension directe aux vecteurs réels par Muhlenbein en 1993 [21], à partir des opérateurs de croisements classique en n-points et binaire uniforme à masque. Les valeurs des gènes xi des descendants générés sont égales aux valeurs des gènes des chromosomes

parent Ch1i ou aux valeurs des gènes du parent Ch2i. Le choix du parent Ch1i ou Ch2i de

distribution uniforme, est effectué en utilisant le nombre réel r[0; 1] généré aléatoirement pour obtenir un seul descendant Chit+1. L’intervalle d’exploration est borné.

h. Croisement intermédiaire étendu

Le gène xi du chromosome généré par l’opérateur de croisement étendu est défini en (1.16) :

xi1 = Chi1 + α (Chi2 – Chi1) (1.16)

Où α est choisi aléatoirementayant une distribution uniforme de l’intervalle [d, I+ d], pour d=0. Contrairement, ce croisement est intermédiaire étendu « intermediate recombination ». La valeur typique est d = 0.25 [9]. Cet opérateur est égal au BLX-0.25.

Remarque

Les valeurs des gènes des chromosomes générés n’appartiennent plus à l’intervalle D= [xmin, xmax]. Ce qui fait que le domaine d’exploitation est assez vaste comme pour le BLX-α.

Documents relatifs