Notes sur les algorithmes génétiques - 2° partie, Notes de Applications informatiques
Francine88
Francine8813 January 2014

Notes sur les algorithmes génétiques - 2° partie, Notes de Applications informatiques

PDF (159.7 KB)
6 pages
534Numéro de visites
Description
Notes d'informatique sur les algorithmes génétiques - 2° partie.Les principaux thèmes abordés sont les suivants:la création de deux nouveaux individus.,la stratégie élitiste,tableau,évaluation.
20points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document
Aperçu3 pages / 6
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Aperçu avant impression terminé
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Aperçu avant impression terminé
Chercher dans l'extrait du document

(57.124)

Cet opérateur permet la création de deux nouveaux individus. Toutefois, un individu

sélectionné lors de la reproduction ne subit pas nécessairement l'action d'un croisement. Ce

dernier ne s'effectue qu'avec une certaine probabilité. Plus cette probabilité est élevée et plus la

population subira de changement.

Quoi qu'il en soit, il se peut que l'action conjointe de la reproduction et du croisement soit

insuffisante pour assurer la réussite de l'AG. Ainsi, dans le cas du codage binaire que nous

avons choisi jusqu'ici, certaines informations (in extenso : caractères de l'alphabet) peuvent

disparaître de la population. Ainsi aucun individu de la population initiale ne contient de 1 en

dernière position de la chaîne, et que ce 1 fasse partie de la chaîne optimale à trouver, tous les

croisements possibles ne permettront pas de faire apparaître ce 1 initialement inconnu. En

codage réel, une telle situation peut arriver si utilisant un opérateur simple de croisement, il se

trouvait qu'initialement toute la population soit comprise entre 0 et 40 et que la valeur optimale

était de 50. Toutes les combinaisons convexes possibles de chiffres appartenant à l'intervalle

[0,40] ne permettront jamais d'aboutir à un chiffre de 50. C'est pour remédier entre autre à ce

problème que l'opération de mutation est utilisée.

OPÉRATEUR DE MUTATION

Le rôle de cet opérateur est de modifier aléatoirement, avec une certaine probabilité, la valeur

d'un composant de l'individu. Dans le cas du codage binaire, chaque bit est remplacé

selon une probabilité par son inverse . C'est ce qu'il illustre la figure ci-dessous.

Tout comme plusieurs lieux de croisement peuvent être possibles, nous pouvons très bien

admettre qu'une même chaîne puisse subir plusieurs mutations.

(57.125)

La mutation est traditionnellement considérée comme un opérateur marginal bien qu'elle

confère en quelque sorte aux algorithmes génétiques la propriété d'ergodicité (in extenso : tous

les points de l'espace de recherche peuvent être atteints). Cet opérateur est d'une grande

importance. Il a de fait un double rôle : celui d'effectuer une recherche locale et/ou de sortir

d'une trappe (recherche éloignée).

Les opérateurs de l'algorithme génétique sont guidés par un certain nombre de paramètres

fixés à l'avance. La valeur de ces paramètres influence la réussite ou non d'un algorithme

génétique. Ces paramètres sont les suivants :

- La taille de la population N, et la longueur du codage de chaque individu l (dans le cas de

codage binaire). Si Nest trop grand, le temps de calcul de l'algorithme peut s'avérer très

important, et si N est trop petit, il peut converger trop rapidement vers un mauvais

chromosome.

- La probabilité de croisement . Elle dépend de la forme de la fonction de fitness. Son choix

est en général heuristique (tout comme pour ). Plus elle est élevée, plus la population subit

évidemment de changements importants. Les valeurs généralement admises sont comprises

entre 0.5 et 0.9.

- La probabilité de mutation . Ce taux est généralement faible puisqu'un taux élevé risque

de conduire à une solution sous-optimale.

Plutôt que de réduite , une autre façon d'éviter que les meilleurs individus soient altérés est

d'utiliser la reconduite explicite de l'élite dans une certaine proportion. Ainsi, bien souvent, les

meilleurs 5%, par exemple, de la population sont directement reproduits à l'identique,

l'opérateur de reproduction ne jouant alors que sur les 95% restant. Cela est appelé une

"stratégie élitiste".

Parant du constat que les valeurs des paramètres des différents opérateurs sont eux-mêmes

inconnus et ne peuvent être améliorés au fur et à mesure que de manière expérimentale,

certains auteurs, tels que Novkovic et Sverko (1997), proposent d'utiliser une sorte de méta-AG

: l'un pour trouver l'individu optimal et l'autre pour trouver la valeur optimale des paramètres.

Ces deux algorithmes tourneraient alors simultanément ou séquentiellement. Toutefois, il est

inévitable que le temps de calcul (la complexité algorithmique) s'alourdisse en conséquence.

Voyons maintenant un exemple d'AG (exemple de Goldberg - 1989). Il consiste à trouver le

maximum de la fonction sur l'intervalle [0,31] où x est un entier. La première étape

consiste à coder la fonction. Par exemple, nous utilisons un codage binaire de x, la séquence

(chromosome) contenant au maximum 5 bits. Ainsi, nous avons , de

même . Nous recherchons donc le maximum d'une fonction de fitness (nous

choisirons lui-même dans cet exemple simple) dans un espace de 32 valeurs possible

de x.

1. Tirage et évaluation de la population initiale

Nous fixons la traille de la population à . Nous tirons donc de façon aléatoire 4

chromosomes sachant qu'un chromosome est composé de 5 bits, et chaque bit dispose d'une

probabilité ½ d'avoir une valeur 0 ou 1. Le maximum, (au hasard) 16 est atteint par la deuxième

séquence. Voyons comment l'algorithme va tenter d'améliore ce résultat.

D'abord nous obtenons le tableau suivant :

N° Chromosome Valeur Fitness f(x) Pi %

1 00101 5 5 14.3

2 10000 16 16 45.7

3 00010 2 2 5.7

4 01100 12 12 34.3

Total

35 100

Tableau: 57.10 - Évolution (mutation) des chromosomes

Nous tournons donc quatre fois cette roue pour obtenir la séquence suivante :

Tirage Chromosome

1 10000

2 01100

3 00101

4 10000

Tableau: 57.11 - Séquence tirage des chromosomes

Nous voyons bien ici le risque que nous aurions à perdre la séquence N° 2 dès le départ... c'est

le problème de cette méthode. Elle peut converger moins vite que d'autres. Cependant, le

lecteur remarquera que nous avons perdu la séquence N° 3.

Nous passons maintenant à la partie du croisement : les parents sont sélectionnés au hasard.

Nous tirons aléatoirement un lieu de croisement ("site" ou "locus") dans la séquence. Le

croisement s'opère alors à ce lieu avec une probabilité . Le tableau ci-dessous donne les

conséquences de cet opérateur en supposant que les chromosomes 1 et 3, puis 2 et 4 sont

appariés et qu'à chaque fois le croisement s'opère (par exemple avec ).

l=2 l=3

Séquences

d'origine

100|00 01|100

001|01 10|000

Séquences

croisées

10001 01000

00100 10100

Tableau: 57.12 - Croisement des chromosomes

Nous passons maintenant à la partie mutation : dans cet exemple à codage binaire, la mutation

est la modification aléatoire occasionnelle (de faible probabilité) de la valeur d'un bit (inversion

d'un bit). Nous tirons ainsi pour chaque bit un chiffre aléatoire entre 0 et 1 et si ce chiffre est

inférieur à alors la mutation s'opère. Le tableau ci-dessous avec met en évidence

ce processus :

Anc. Chr. Tirage aléa. Nouveau bit Nouveau Chr.

10001 15 25 36 04 12

1 10011

00100 26 89 13 48 59 - 00100

01000 32 45 87 22 65 - 01000

10100 47 01 85 62 35

1 11100

Tableau: 57.13 - Mutation des chromosomes

Maintenant que la nouvelle population est entièrement créée, nous pouvons de nouveau

l'évaluer :

N° Chromosome Valeur Fitness f(x) Pi %

1 10011 19 19 32.2

2 00100 4 4 6.8

3 01000 8 8 13.5

4 11100 28 28 47.5

Total

59 100

Tableau: 57.14 - Évaluation de la mutation des chromosomes

Le maximum est maintenant 28 (N° 4). Nous sommes donc passés de 16 à 28 après une seule

génération. Bien sûr, nous devons recommencer la procédure à partir de l'étape de sélection

jusqu'à ce que le maximum global, 31, soit obtenu, ou bien qu'un critère d'arrêt ai été satisfait.

Remarque: Il est possible de démontrer mathématiquement, ce qui est remarquable !!!, que les

portions de chromosomes qui se retrouvent chez les meilleurs individus vont avoir tendance à se

reproduire...

commentaires (0)
Aucun commentaire n'a été pas fait
Écrire ton premier commentaire
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Docsity n'est pas optimisée pour le navigateur que vous utilisez. Passez à Google Chrome, Firefox, Internet Explorer ou Safari 9+! Téléchargez Google Chrome