Vous êtes sur la page 1sur 31

Chapitre 4 de Munakata

Algorithme gntique et
programmation volutive
1)

Quest ce que la programmation gntique


Holland (1975)
Goldberg (1989)
Koza (1990)
Mitchell (1996)

Dfinition
Algorithme gntique est un modle computationnel de la rsolution de problme
bas sur la gntique et les mcanismes de lvolution
Programmation volutive est une extension du concept dalgorithme gntique pour inclure les
systmes de classification et la programmation gntique o chaque solution est un programme
Particulirement utile pour les problmes qui nont pas de solutions analytiques videntes

algorithme_genetique_chap4.fm

1 de 31

January 13, 2012

lments de gntique (biologie humaine)


chromosome
- 23 paires de chromosomes
gne
- allle
diffrents gnes qui ont la mme position sur un mme chromosome
et qui ont la mme fonction (ex: le groupe sanguin, la couleur des cheveux, )
- mutation
cellule haplode
- ovule et spermatozode
cellule diplode
- autres cellules
- miose
- croisement (crossover)
gnotype vs. phnotype
- milieu + la paire de gne dtermine le phnotype
gnotype
phnotype
(gne rcessif, gne dominant)
00
O
- 3 allles pour le groupe sanguin : 0 1 2
01 ou 11
A
volution : laugmentation du nombre dindividu
20 ou 22
B
portant le gne X
21
AB
- lindividu le plus adapt est celui qui se reproduit
le plus vite (biologique vs. culture)

algorithme_genetique_chap4.fm

2 de 31

January 13, 2012

algorithme gntique
un algorithme bas sur la gntique pour trouver les solutions les plus efficaces
- chromosome = solution (bonne ou mauvaise)
- gne
- bassin de population
- en favorisant les solutions les plus efficaces, pairage et croisement

algorithme_genetique_chap4.fm

3 de 31

January 13, 2012

2)

Les fondements des algorithmes gntiques

Les reprsentations dune solution


solution : nimporte quel candidat pour une solution correcte
- 4 - (x-3)2 = 0 ; x=2 , x=0 sont des solutions mais seule 1 et 5 sont des solutions correctes
solution chromosomes (bagage gntique)
solutions encodes sous forme de chanes de caractre, de graphe, de matrice, dun programme
chaque caractre est un gne

Le degr dadaptation (fitness) dune solution [fi ou f(Ai)]


Une fonction qui permet de comparer des solutions afin de dterminer la meilleure.
- le profit, lnergie, le temps
- souvent un indice compos
- lorsque la solution exacte ne peut tre identifie ;
on regarde si la suite des meilleures valeurs deviennent asymptotiques et|ou
on fixe le nombre ditrations

Lalgorithme
Il y a plusieurs variantes
population : lensemble des solutions lors dune itration spcifique
- gnrer alatoirement lors de la premire itration
dterminer la probabilit quil y aie croisement
dterminer la probabilit quil y aie mutation
algorithme_genetique_chap4.fm

4 de 31

January 13, 2012

cration dun bassin de reproduction


valuer le degr dadaptation de chaque solution dans population et leur probabilit dtre choisie
- si la solution correcte est trouve alors lalgorithme se termine
- plus une solution est adapte, plus sa probabilit dtre choisie est grande
choisir au hasard (en respectant la distribution des probabilits) des solutions

croisement et reproduction
former une paire de solutions au hasard
pour chaque paire, choisir au hasard sil y a croisement
- non
conserver les deux solutions pour le prochain bassin de population
- oui
un site est un nombre k choisi dans [1, L-1]
choisir au hasard le point de croisement
avant
aprs
effectuer le croisement
sol_1
+++---+++vvvv
recommencer jusqu latteinte du nombre
sol_2
vvvv
---de solutions dans la population originale
L= longueur de la chane
ici k = 3
mutation
choisir au hasard un ensemble de solution
modifier au hasard un caractre
- lide est de crer une solution qui ntait pas accessible partir de la population initiale

algorithme_genetique_chap4.fm

5 de 31

January 13, 2012

3)

scnario simple dune application de lalgorithme


plusieurs problmes diffrents utilisent la mme variante de lalgorithme gntique

cration dun cdule? (schedule) qui maximise le profit


le degr dadaptation est un indice compos qui tient compte du niveau dinventaire, des dlais
imprvisibles des fournisseurs, just-in-time, du nombre machines,
des bris possible des machines, du nombre demploys
- trop complexe pour les mthodes de recherches oprationnelles

dfinition du problme
3 machines,
maximiser la production totale
une solution est une chane de 3 bits (1 : en fonction ; 0 : arrt)
la solution est 111
# population = 4
Population initiale
101
001
010
110

algorithme_genetique_chap4.fm

6 de 31

January 13, 2012

cration dun bassin de reproduction


i
1
2
3
4

Ai
101
001
010
110
total
moy
max

fi
5
1
2
6
14
3,5
6

pi
0,357
0,071
0,143
0,429
1
0,25
0,429

npi
1,429
0,286
0,571
1,714
4
1
1,714

mthode de choix alatoire


i
pi
nombre alatoire
1
0,357
000-356
2
0,071
357-427
3
0,143
428-570
4
0,429
571-999
- choisir alatoirement un nombre entre 0 et 999
bassin de population cr
Population de reproduction
010
101
110
110

algorithme_genetique_chap4.fm

7 de 31

January 13, 2012

croisement et reproduction
former une paire de solutions au hasard
(101 et 110)
choisir au hasard sil y a croisement :
oui
choisir au hasard un site de croisement :
k =2
avant
aprs
10:1
10:0
11:0
11:1
former lautre paire de solutions
(010 et 110)
choisir au hasard sil y a croisement :
oui
choisir au hasard un site de croisement :
k =1
avant
aprs
0:10
0:10
1:10
1:10

mutation
non
algorithme_genetique_chap4.fm

8 de 31

January 13, 2012

Prochaine itration
cration dun bassin de reproduction
i
1
2
3
4

Ai
010
100
111
110
total

fi
2
4
7
6
19

La solution correcte est trouve (fin de lalgorithme)


Ctait un problme doptimisation

algorithme_genetique_chap4.fm

9 de 31

January 13, 2012

4)

Un exemple en apprentissage automatique:


association entre-sortie
La fonction dassociation est connue et
il sagit den trouver une quivalente ou presque
mais plus simple

On utilise des fonctions dassociation pour faire de la classification


(0 0 0 1 0 0 0 1 1 0 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1)
A
du contrle
(gestion de barrages, de la temprature dans un immeuble)
de la prdiction
(bris de machine, ruption volcanique, volution du march boursier)

algorithme_genetique_chap4.fm

10 de 31

January 13, 2012

description du problme
x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

yt (target)
1
0
1
0
1
1
1
1

x1

w1
w2

x2
w3

s
3

wi xi

i=1

yc =

0 si s < 0
1 si s 1

x3

comme il est hors de question dutiliser une table parce que


si chaque entre contient n bits alors il y a 2n entres possibles
avec 108 bits cela prendrait 270 (1021) gig
on cherche alors une forme plus simple,
par exemple
yc (computed) = f(s) o s = w1x1 + w2x2 +w3x3 o wi {-1, 0, 1}
Dans ce contexte une solution a la forme (w1,w2,w3)
exemple (-1,0,1)

algorithme_genetique_chap4.fm

11 de 31

January 13, 2012

Le degr dadaptation dune solution


x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

yc
1
1
1
1
0
1
0
1

yt
1
0
1
0
1
1
1
1

yc = yt
oui
non
oui
non
non
oui
non
oui
4

La population initiale
w1
-1
-1
0
1

algorithme_genetique_chap4.fm

w2
0
0
1
-1

12 de 31

w3
1
0
-1
1

January 13, 2012

cration dun bassin de reproduction


sol1
sol2
sol3
sol4

w1 w2 w3
-1 0
1
-1 0
0
0
1 -1
1 -1 1

f
4
2
6
5
17

calcul de frquences, choix alatoire nouveau bassin de reproduction


w1 w2 w3
sol1
-1
0
1
sol3
0
1
-1
sol3
0
1
-1
1
-1
1
sol4

algorithme_genetique_chap4.fm

13 de 31

January 13, 2012

croisement et reproduction
former une paire de solutions au hasard
choisir au hasard sil y a croisement :
choisir au hasard un site de croisement :
avant
w1 w2 w3
-1
0
1
0
1
-1
0
1
-1
1
-1
1

aprs
w1 w2 w3
-1
0
-1
0
1
1
0
-1
1
1
1
-1

mutation (aucune)

algorithme_genetique_chap4.fm

14 de 31

January 13, 2012

cration dun bassin de reproduction


sol1
sol2
sol3
sol4

w1 w2 w3
-1 0 -1
0
1
1
0 -1 1
1
1 -1

f
4
6
4
7
21

calcul de frquences, choix alatoire nouveau bassin de reproduction


w1 w2 w3
sol2
0
1
1
sol3
0
-1
1
sol1
-1
0
-1
1
1
-1
sol4
idem mais dans un ordre diffrent

algorithme_genetique_chap4.fm

15 de 31

January 13, 2012

croisement et reproduction
former une paire de solutions au hasard
choisir au hasard sil y a croisement :
choisir au hasard un site de croisement :
avant
w1 w2 w3
0
1
1
0
-1
1
-1
0
-1
1
1
-1

aprs
w1 w2 w3
0
1
1
0
-1
1
-1
1
-1
1
0
-1

mutation (aucune)
cration dun bassin de reproduction
sol1
sol2
sol3
sol4

algorithme_genetique_chap4.fm

w1 w2 w3
0
1
1
0 -1 1
-1 1 -1
1
0 -1

16 de 31

f
6
4
4
8
21

January 13, 2012

Remarque additionnelle
application la phase dapprentissage des rseaux de neurones
- ([wij], [wij], , , ) forme une reprsentation dune solution
- le degr dadaptation est lerreur totale aprs n itrations
il est aussi possible dinclure des aspects dynamiques
- cette solution est computationnellement trs lourde et elle vaut la peine lorsque lapprentissage
savre trs difficile.

algorithme_genetique_chap4.fm

17 de 31

January 13, 2012

5)

Un problme doptimisation difficile


Le problme du commis-voyageur
9
A
B
3
6
10
7
C
5
4
8
D
E
A

7 (A)

La solution optimale
Les solutions peuvent tre reprsentes par des permutations des villes
Lalgorithme prsent nest pas la variante la plus performante
mais il permet dillustrer la mthode lorsque les solutions sont des permutations

reprsentation de la solution
La dernire ville peut tre omise parce quidentique la premire
Les permutations cycliques ont la mme valeur
ex: ABCDE et BCDEA
Les permutations, qui sont linverses lune de lautre, ont la mme valeur.
ex : ABCDE et EDCBA
Les segments invalides dune permutation se voient accorder une distance arbitrairement grande

algorithme_genetique_chap4.fm

18 de 31

January 13, 2012

La fonction dadaptation (ou degr dadaptation)


f1 = 1/s;

f2 = 1/s2 ;

f3 = k - s o k> max{si}

Une fonction donnant une mauvaise mesure ?


une solution correcte ne peut tre trouve.
Une fonction qui discrimine peu ?
beaucoup ditrations
- car peu de diffrence entre les frquences associes aux diffrentes solutions
Une fonction trop rapide ?
beaucoup de clones en peu de gnration
- les solutions les plus adaptes se reproduisent trs vite
et on peut perdre des gnes utiles des solutions moyennes
risque de perdre la solution optimale (convergence prmature)
- il est bien de faire plusieurs essais avec des populations
initiales diffrentes pour viter la convergence prmature

Le croisement selon la mthode usuelle

Avant
ADE:BC
ADC:EB

ne donne pas des permutations valides

Aprs
ADE:EB
ADC:BC

La reprsentation avec une liste dindex


ville
index

algorithme_genetique_chap4.fm

A
0

B
1

19 de 31

C
2

D
3

E
4

January 13, 2012

exemple reprsentation de A D E C B
table des index
A B C D E
0 1 2 3 4
B
0

C
1

D
2

B
0

C
1

E
2

B
0

C
1

prochaine cit
et index
liste des index
A
0
0

E
3

C
0

D
2

02

E
2

022

B
0

0220

C
0

02200

Le croisement avec la reprsentation liste dindex


avant
aprs
A1
ADEBC
022:00
022:10
ADECB
ADCEB
021:10
021:00
ADCBE
A2

algorithme_genetique_chap4.fm

20 de 31

January 13, 2012

Lopration de croisement par correspondance partielle


Une autre opration sur les paires de permutations qui retourne une paire de permutations
- Choisir deux sites de croisement au hasard et
- Les sous-chanes du centre sont appeles
les sections de correspondance (matching sections)
- changer les valeurs correspondantes (voir graphique ci-dessous)

algorithme_genetique_chap4.fm

9
8

8
7

4
1

5
2

6
3

7
10

1
9

3
5

2
4

10
6

9
8

8
7

4
1

5
2

6
3

7
10

1
9

3
5

2
4

10
6

9
8

8
7

4
1

2
5

6
3

7
10

1
9

3
2

5
4

10
6

9
8

8
7

4
1

2
5

3
6

7
10

1
9

6
2

5
4

10
3

9
8

8
10

4
1

2
5

3
6

10
7

1
9

6
2

5
4

7
3

21 de 31

January 13, 2012

6)

Les fondements thoriques :


Les schmas (patron de similarit)

Les schmas exprime la similarit entre plusieurs solutions avec des jokers
- exemple 1010 et 1011
101*

Le dnombrement des schmas et des solutions


Un schma contenant l * correspond 2l solutions
Une solution de longueur L correspond 2L schmas
Soit ns, le nombre de patrons issus dune population de n solutions de longueur L
2L ns n2L
- exemple : population = {00, 11} i.e. n = 2 et L = 2
il y a 7 schmas possibles : 00 0* *0 ** 11 1* *1
Le nombre de schma diffrent avec L bits est 3L

algorithme_genetique_chap4.fm

22 de 31

January 13, 2012

Convention
lettre majuscule : chane de caractres : exemple A
lettre minuscule : un caractre (gne) : exemple ai
0 ou 1 : valeur du caractre (allle)
A = a1a2a3a4 (exprim avec des gnes)
A = 1 0 1 0 (exprim avec des allles)
Soit H un schma
ordre de H, not o(H), est le nombre de position fixe i.e. contenant 0 ou 1
exemple o(01*1) = 3 ; o(1***) = 1
longueur caractristique, not (H), est la distance entre la premire et la dernire position fixe
exemple (01*1) = 4-1 = 3 ; (1***) = 1-1 = 0
le nombre de chanes associes un schma H lors de litration t, not m(H,t)
exemple
soit A(t) ={1010, 1011, 0000, 0001} et
H = 10**
alors m(H,t) = #{1010, 1011} = 2

algorithme_genetique_chap4.fm

23 de 31

January 13, 2012

Lvolution de m(H,t) au cours des gnrations


lors de la cration du bassin de reproduction
soit fi = degr dadaptation de la solution i
soit f(H) le degr moyen dadaptation des solutions associes au schma H

f(H)
--------- fi

reprsente la probabilit quune solution associe H soit choisie

f(H)
m(H, t) --------- fi

reprsente la probabilit quune des solutions associes H soit choisie

f(H)
n m(H, t) --------- fi
soit f av

reprsente le nombre moyen de solutions associes H choisies

fi

--------- le degr moyen dadaptation de la population


n

f (H )
m(H, t + 1) = m(H, t) ---------f av

algorithme_genetique_chap4.fm

aprs la cration du bassin de reproduction

24 de 31

January 13, 2012

Effet du site de croisement sur m(H,t) les schmas H1 et H2 contiennent A


site de .
croissement

A 01 0100
5
H1 *1 ***0
4
1
H2 ** *10*
- H1 ne survit pas sauf si le site de croisement est 1
H2 survit toujours sauf si le site de croisement est 4
-

(H)
p d ( destroyed ) = -----------L1

la probabilit quun schma ne survive pas au croisement

Effet du choix du partenaire Bi sur A lors du pairage


avant
avec
aprs
H *1* ***0
*1* ***0
A 011 1000 B1 011 1111 meurt
B2 011 0000 survit
B1 000 1111 A 000 1000
B2 000 0000 A 000 1000
Effet combin du croisement et du choix du partenaire
-

(H)
p d ( destroyed-crossover ) -----------L1

algorithme_genetique_chap4.fm

puisque certains survivent

25 de 31

January 13, 2012

Effet combin du croisement et du choix du partenaire (suite)


-

(H)
p d ( destroyed-crossover ) p c ( crossover ) -----------L1

(H)
p s ( survival-crossover ) = 1 p d ( destroyed-crossover ) 1 p c ------------

L 1

il ny pas ncessairement croisement

Effet combin du croisement, du choix du partenaire et de la cration du bassin de reproduction


-

f (H )
m(H, t + 1) = m(H, t) ---------f av

f(H)
(H)
m(H, t + 1) m(H, t) ---------- 1 p c ------------

f av
L 1

avant de tenir effet du croisement

Effet des mutations


Soit pm la probabilit quil y aie une mutation sur le bit dune position donne.
Si la mutation a lieu une position fixe, le schma est dtruit.
Ex : H = 1**0 et A = 1110 donc A est associ au schma H
si aprs la mutation nous avons A = 0110
alors le schma est dtruit puisque A ny est pas associ
-

( p s ( survival-mutation ) = ( 1 p m )

o(H)

) 1 ( p m o(H) )

si effectivement pm 1
o(H) est le nombre de position fixe.
algorithme_genetique_chap4.fm

26 de 31

January 13, 2012

Synthse : Le thorme fondamental des algorithmes gntiques.

( p s ( survival-mutation ) = ( 1 p m )

o(H)

) 1 ( p m o(H) )

(H)
p s ( survival-crossover ) = 1 p d ( destroyed-crossover ) 1 p c ------------

L 1
(H)
p s ( survival ) 1 p c ------------ [ 1 ( p m o(H) ) ]

L 1
(H)
p s ( survival ) 1 p c ------------ ( p m o(H) )

L 1
f(H)
(H)
m(H, t + 1) m(H, t) ---------- 1 p c ------------ ( p m o(H) )

f av
L 1
Une approximation de lvolution du nombre de solutions porteuses dun lment significatif
dans la construction dune solution correcte.

algorithme_genetique_chap4.fm

27 de 31

January 13, 2012

Remarque
Il y a plusieurs recherches sur linterprtation et lapplication de ce thorme.
- exemple : supposons que dans une population, le schma **11*** a un bon degr dadaptation
- il va se multiplier rapidement
- un schma nouveau ****00* apparat lors dun croisement ou dune mutation
- quel est le degr dadaptation de ce nouveau schma
- partir de la population cre, nous risquons davantage dvaluer **1100*
Il est parfois prfrable de diviser la reprsentation dune solution, en lment significatif,
de chercher les meilleures solutions pour chaque lment
dutiliser ces sous-solutions comme allles afin de trouver la meilleure solution globale.
- Il est parfois possible de reconnatre visuellement les lments de bonne solutions et de les combiner manuellement pour trouver une solution correcte.

algorithme_genetique_chap4.fm

28 de 31

January 13, 2012

7)

Programmation gntique
(Koza, 1990)

Une extension des algorithmes gntiques o les solutions sont des programmes.
Les programmes doivent tre crit sous forme darbre
- Cest un avantage sur lalgorithme gntique, car a permet
des solutions de longueurs diffrentes
Exemple programmer le xor avec and, not, or.
and

Avant

and

or
not
p

and

not
q
p

Aprs

and

or
p

q
and

and
or
not
p

algorithme_genetique_chap4.fm

or

not

and
q

and

q
p
29 de 31

q
January 13, 2012

Les systmes de classification (classifier systems)


idem
Il sagit de construire un ensemble de rgles de production
(condition1, condition2, , conditionm actionk)
Les allles sont les conditioni et les actionj
Le degr dadaptation est le succs de la base de connaissance pour raliser la tche.

algorithme_genetique_chap4.fm

30 de 31

January 13, 2012

8)

Remarques finales

En gnral, les fouilles se font dans un espace de recherche en passant dun point lautre.
Les algorithmes gntiques fouillent partir dune population de points.
Les algorithmes gntiques peuvent tre pris dans des maximums locaux.
Il est bien de faire plusieurs essais avec des populations initiales distinctes.
Ils ne donnent donc pas ncessairement la solution optimale.
Mais, pour plusieurs problmes, il ny a pas de mthodes pratiques pour la trouver.
Ils ont les mmes avantages et dsavantages que les rseaux de neurones
mais ont t beaucoup moins tudis.

algorithme_genetique_chap4.fm

31 de 31

January 13, 2012