algorithmes génétiques

25

Click here to load reader

Upload: armand

Post on 04-Jan-2016

192 views

Category:

Documents


11 download

DESCRIPTION

Algorithmes génétiques. Ivan Boelle Joffrey Tourret Ingénieurs 2000 – IR3. Algorithmes génétiques. Présentation Problèmes « non classiques » Algorithmes basés sur les heuristiques Algorithmes génétiques Fonctionnement Principes de base Optimisation Utilisation Modélisation Démos - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Algorithmes génétiques

1Exposé Système - IR3

Algorithmes génétiques

Ivan BoelleJoffrey Tourret

Ingénieurs 2000 – IR3

Page 2: Algorithmes génétiques

2Exposé Système - IR3

Algorithmes génétiques

Présentation• Problèmes « non classiques »• Algorithmes basés sur les heuristiques• Algorithmes génétiques

Fonctionnement• Principes de base• Optimisation

Utilisation• Modélisation• Démos• Cas réels

Conclusion Bibliographie

Page 3: Algorithmes génétiques

3Exposé Système - IR3

Présentation

Problèmes « non classiques » • Pas de méthode pour résoudre

- Déplacement d’un robot

• Modélisation trop complexe- Comportement social

• Évolution / Adaptation / Tolérance à l’erreur- Systèmes de perception, d’analyse

Page 4: Algorithmes génétiques

4Exposé Système - IR3

Présentation

Une solution basée sur les heuristiques• Approche différente du problème

- Recherche de la meilleure solution (moins mauvaise)- Exploration du domaine de solutions

Page 5: Algorithmes génétiques

5Exposé Système - IR3

Présentation

R = {x,y} tel que g( f(x,y) ) est optimal avec (x,y) є I

- R: Meilleure solution- (x,y): Solution- I: Ensemble des solutions- f(x,y) : Fonction coût- g(): Fonction objectif

Page 6: Algorithmes génétiques

6Exposé Système - IR3

Présentation

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)

Page 7: Algorithmes génétiques

Présentation

Algorithmes génétiques• Origine : Théorie Darwinienne de l’évolution

- Struggle for life- Sélection naturelle

• AG inspirés du paradigme- Terminologie identique (population, individu, chromosome, gène)- Traduction du phénomène

• Opérateurs d’évolution- Sélection- Croisement- Mutation

Page 8: Algorithmes génétiques

Présentation

Algorithmes génétiques• Gène et génotype• Crossing over

Page 9: Algorithmes génétiques

Présentation

Algorithmes génétiques

• Individus différents

• Sélection des mieux adaptés

• Hérédité

Page 10: Algorithmes génétiques

Fonctionnement

Principes de base

• Modélisation de la sélection naturelle- Etape d’évaluation

• C’est donc une sélection artificielle- Intervention humaine

Page 11: Algorithmes génétiques

Fonctionnement

Principes de base• Génération

- Création d’un population aléatoire• Evaluation

- Comparaison des individus• Sélection

- On ne garde que les meilleurs• Croisement/Mutation

- On les fait se reproduire / Évoluer• Retour à l’évaluation

Page 12: Algorithmes génétiques

12Exposé Système - IR3

Fonctionnement

Optimisations: Algorithmiques• Critère d’arrêt

• Algorithmes hybrides (Hill climbers)

• Élitisme

• Configuration du degré mutation / croisements

• Modélisation

Page 13: Algorithmes génétiques

13Exposé Système - IR3

Fonctionnement

Optimisations: Implémentation• Gestion mémoire

- Problèmes:– Algorithmes avec de très nombreuses itérations– Variables temporaires nombreuses

- Solutions: – Utilisation de tampons (buffers)– Stratégies de réutilisation– Design pattern Flyweight

Page 14: Algorithmes génétiques

Utilisation

Modélisation• Cas concret : Problème

- f(x1, x2, x3, …, xn) = x1 * x2 + x3 - … / xn

- f(x1, x2, x3, …, xn) = 1000

- x1 = ?, x2 = ?, x3 = ?, …, xn = ?- La suite des opérations aléatoirement choisie en début

d’algorithme• Comment modéliser le problème ?

- Que cherche-t-on ?- On définit la population, les individus, les gènes

Page 15: Algorithmes génétiques

Utilisation

Modélisation• Population

- Ensemble de suites de valeurs (solutions potentielles)• Individu

- Suite de valeurs• Gène

- Une des valeurs• On définit alors les opérateurs nécessaires à l’algorithme

Page 16: Algorithmes génétiques

Utilisation

Modélisation• Evaluation

- Calcul de f(x,y,z,…) avec les opérandes de la fonction- Ecart du résultat / résultat attendu

• Sélection- On ne retient que les meilleurs solutions en les triant

• Croisement- Deux suites parent donnent deux suites enfant- Le début de l’une devient le début de l’autre en coupant aléatoirement

• Mutation- On modifie une des valeurs de certaines suites de manière aléatoire

Page 17: Algorithmes génétiques

Utilisation

Modélisationgénérer populationPour i de 0 a nb_essai_max{

pour tous les individus{evaluer(individu)

}Si meilleur_individu == resultat_attendu{

arret}sélectionner(population)croiser(population)muter(population)

}• Solution = meilleur_individu• Il est possible de ne pas exiger l’égalité et de se contenter d’une valeur

approchée

Page 18: Algorithmes génétiques

18Exposé Système - IR3

Utilisation

Exemple JAVA avec JGAP• JGAP: Algorithme génétique « fin »• Problème:

f(x,y,z,…) = x / y * z + …f(x,y,z,…) = 10000x = ?, y = ? z = ?, …

• Modélisation Java:- CalculChromosome- CalculGene- CalculFitnessFunction- Operation

Page 19: Algorithmes génétiques

Utilisation

Démo• Problème classique : le voyageur de commerce:• Recherche d’un cycle hamiltonien de plus courte distance dans

un graphe• Comparaison de l’algorithme Monte Carlo avec un algorithme

génétique.

Page 20: Algorithmes génétiques

20Exposé Système - IR3

Utilisation

Démo: biobloc• Évolution • Problème: Apprendre a un robot a effectuer des opérations sans

connaître ses capacités exactes.• Modélisation subodorée:

- Robot- « Biobloc »- Fonctions d’adéquations simples (meilleur performance retenue)

Page 21: Algorithmes génétiques

21Exposé Système - IR3

Utilisation

Cas réels• Total: Sismage

- Introduction: Réservoir pétroliers- Problème: Petro Elastic Model

PEM(statiques, inconnus) = IP/IS mesurés

Inconnus = PEM_Inverse(statiques,IP/IS)

- Problématiques supplémentaire: performances

Page 22: Algorithmes génétiques

22Exposé Système - IR3

Conclusion

Conclusion• Algorithmes génétiques:

- Une solution basée sur l’optimisation- Un algorithme évolutionniste

• Problématiques associées- Modélisation- Optimisation

– Algorithmique– Implémentation

• Applications / Avenir

Page 23: Algorithmes génétiques

23Exposé Système - IR3

Bibliographie

• Démonstrations- 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/

voyageur.html

Page 24: Algorithmes génétiques

24Exposé Système - IR3

Bibliographie

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

Page 25: Algorithmes génétiques

25Exposé Système - IR3

Bibliographie

• Sites pour le développement / API- http://www.genetic-programming.org/- http://jaga.sourceforge.net/- http://jgap.sourceforge.net/