Vous êtes sur la page 1sur 25

Algorithmes

gntiques
Ivan Boelle
Joffrey Tourret
Ingnieurs 2000 IR3
Expos Systme - IR3

Algorithmes gntiques
Prsentation

Problmes non classiques


Algorithmes bass sur les heuristiques
Algorithmes gntiques

Fonctionnement
Principes de base
Optimisation

Utilisation

Modlisation
Dmos
Cas rels

Conclusion
Bibliographie
Expos Systme - IR3

Prsentation
Problmes non classiques
Pas de mthode pour rsoudre
- Dplacement dun robot

Modlisation trop complexe


- Comportement social

volution / Adaptation / Tolrance lerreur


- Systmes de perception, danalyse

Expos Systme - IR3

Prsentation
Une solution base sur les
heuristiques
Approche diffrente du problme
- Recherche de la meilleure solution (moins mauvaise)
- Exploration du domaine de solutions

Expos Systme - IR3

Prsentation
R = {x,y} tel que g( f(x,y) )
(x,y) I
-

est optimal avec

R: Meilleure solution
(x,y): Solution
I: Ensemble des solutions
f(x,y) : Fonction cot
g(): Fonction objectif

Expos Systme - IR3

Prsentation
Une solution: les heuristiques
Principaux algorithmes
- Brute force (Monte Carlo)
- Hill climbers(gradient descent , annealing, tabu
search)
- Evolutionary algorithm (Genetic, ant colony, neurals
networks)
- Constraints algorithms (Local consistency, hybrid
algorithms)
Expos Systme - IR3

Prsentation
Algorithmes gntiques
Origine : Thorie Darwinienne de lvolution
- Struggle for life
- Slection naturelle

AG inspirs du paradigme
- Terminologie identique (population, individu,
chromosome, gne)
- Traduction du phnomne

Oprateurs dvolution
- Slection
- Croisement
- Mutation

Prsentation
Algorithmes gntiques
Gne et gnotype
Crossing over

Prsentation
Algorithmes gntiques
Individus diffrents

Slection des mieux adapts

Hrdit

Fonctionnement
Principes de base
Modlisation de la slection naturelle
- Etape dvaluation

Cest donc une slection artificielle


- Intervention humaine

Fonctionnement
Principes de base
Gnration
- Cration dun population alatoire

Evaluation
- Comparaison des individus

Slection
- On ne garde que les meilleurs

Croisement/Mutation
- On les fait se reproduire / voluer

Retour lvaluation

Fonctionnement
Optimisations: Algorithmiques
Critre darrt
Algorithmes hybrides (Hill climbers)
litisme
Configuration du degr mutation / croisements
Modlisation

Expos Systme - IR3

12

Fonctionnement
Optimisations: Implmentation
Gestion mmoire
- Problmes:
Algorithmes avec de trs nombreuses itrations
Variables temporaires nombreuses
- Solutions:
Utilisation de tampons (buffers)
Stratgies de rutilisation
Design pattern Flyweight

Expos Systme - IR3

13

Utilisation
Modlisation
Cas concret : Problme
- f(x1, x2, x3, , xn) = x1 * x2 + x3 - / xn
- f(x1, x2, x3, , xn) = 1000
- x1 = ?, x2 = ?, x3 = ?, , xn = ?
- La suite des oprations alatoirement choisie en
dbut dalgorithme

Comment modliser le problme ?


- Que cherche-t-on ?
- On dfinit la population, les individus, les gnes

Utilisation
Modlisation
Population
- Ensemble de suites de valeurs (solutions potentielles)

Individu
- Suite de valeurs

Gne
- Une des valeurs

On dfinit alors les oprateurs ncessaires


lalgorithme

Utilisation
Modlisation
Evaluation
- Calcul de f(x,y,z,) avec les oprandes de la fonction
- Ecart du rsultat / rsultat attendu

Slection
- On ne retient que les meilleurs solutions en les triant

Croisement
- Deux suites parent donnent deux suites enfant
- Le dbut de lune devient le dbut de lautre en coupant
alatoirement

Mutation
- On modifie une des valeurs de certaines suites de manire
alatoire

Utilisation
Modlisation
gnrer population
Pour i de 0 a nb_essai_max{
pour tous les individus{
evaluer(individu)
}
Si meilleur_individu == resultat_attendu{
arret
}
slectionner(population)
croiser(population)
muter(population)
}

Solution = meilleur_individu
Il est possible de ne pas exiger lgalit et de se contenter
dune valeur approche

Utilisation
Exemple JAVA avec JGAP
JGAP: Algorithme gntique fin
Problme:
f(x,y,z,) = x / y * z +
f(x,y,z,) = 10000
x = ?, y = ? z = ?,
Modlisation Java:
-

CalculChromosome
CalculGene
CalculFitnessFunction
Operation

Expos Systme - IR3

18

Utilisation
Dmo
Problme classique : le voyageur de commerce:
Recherche dun cycle hamiltonien de plus courte
distance dans un graphe
Comparaison de lalgorithme Monte Carlo avec un
algorithme gntique.

Utilisation
Dmo: biobloc
volution
Problme: Apprendre a un robot a effectuer des
oprations sans connatre ses capacits exactes.
Modlisation subodore:
- Robot
- Biobloc
- Fonctions dadquations simples (meilleur
performance retenue)

Expos Systme - IR3

20

Utilisation
Cas rels
Total: Sismage
- Introduction: Rservoir ptroliers
- Problme: Petro Elastic Model
PEM(statiques, inconnus) = IP/IS mesurs
Inconnus = PEM_Inverse(statiques,IP/IS)
- Problmatiques supplmentaire: performances

Expos Systme - IR3

21

Conclusion
Conclusion
Algorithmes gntiques:
- Une solution base sur loptimisation
- Un algorithme volutionniste

Problmatiques associes
- Modlisation
- Optimisation
Algorithmique
Implmentation

Applications / Avenir
Expos Systme - IR3

22

Bibliographie
Dmonstrations
-

http://www.caplet.com/MannaMouse.html
http://www.rennard.org/alife/french/gav.html
http://www.lalena.com/AI/Ant/Ant.aspx
http://math.hws.edu/xJava/GA/
http://magnin.plil.net/anciensite/coursag/voyageur/vo
yageur.html

Expos Systme - IR3

23

Bibliographie
Sites explicatifs
- http://cs.felk.cvut.cz/~xobitko/ga/
- http://en.wikipedia.org/
- http://animatlab.lip6.fr/papers/Mouret_LMag_05_ga.p
df
- http://magnin.plil.net/spip.php?rubrique8
- http://fr.wikipedia.org/wiki/Algorithme_g%C3%A9n
%C3%A9tique

Expos Systme - IR3

24

Bibliographie
Sites pour le dveloppement / API
- http://www.genetic-programming.org/
- http://jaga.sourceforge.net/
- http://jgap.sourceforge.net/

Expos Systme - IR3

25

Vous aimerez peut-être aussi