Académique Documents
Professionnel Documents
Culture Documents
Algorithme gntique et
programmation volutive
1)
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
algorithme_genetique_chap4.fm
2 de 31
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
2)
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
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
3)
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
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
algorithme_genetique_chap4.fm
7 de 31
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
Prochaine itration
cration dun bassin de reproduction
i
1
2
3
4
Ai
010
100
111
110
total
fi
2
4
7
6
19
algorithme_genetique_chap4.fm
9 de 31
4)
algorithme_genetique_chap4.fm
10 de 31
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
algorithme_genetique_chap4.fm
11 de 31
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
w1 w2 w3
-1 0
1
-1 0
0
0
1 -1
1 -1 1
f
4
2
6
5
17
algorithme_genetique_chap4.fm
13 de 31
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
w1 w2 w3
-1 0 -1
0
1
1
0 -1 1
1
1 -1
f
4
6
4
7
21
algorithme_genetique_chap4.fm
15 de 31
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
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
5)
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
f2 = 1/s2 ;
f3 = k - s o k> max{si}
Avant
ADE:BC
ADC:EB
Aprs
ADE:EB
ADC:BC
algorithme_genetique_chap4.fm
A
0
B
1
19 de 31
C
2
D
3
E
4
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
algorithme_genetique_chap4.fm
20 de 31
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
6)
Les schmas exprime la similarit entre plusieurs solutions avec des jokers
- exemple 1010 et 1011
101*
algorithme_genetique_chap4.fm
22 de 31
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
f(H)
--------- fi
f(H)
m(H, t) --------- fi
f(H)
n m(H, t) --------- fi
soit f av
fi
f (H )
m(H, t + 1) = m(H, t) ---------f av
algorithme_genetique_chap4.fm
24 de 31
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
(H)
p d ( destroyed-crossover ) -----------L1
algorithme_genetique_chap4.fm
25 de 31
(H)
p d ( destroyed-crossover ) p c ( crossover ) -----------L1
(H)
p s ( survival-crossover ) = 1 p d ( destroyed-crossover ) 1 p c ------------
L 1
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
( 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
( 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
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
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
algorithme_genetique_chap4.fm
30 de 31
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