• Aucun résultat trouvé

Algorithmes génétiques

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmes génétiques"

Copied!
25
0
0

Texte intégral

(1)

1 Exposé Système - IR3

Algorithmes génétiques

Ivan Boelle Joffrey Tourret

Ingénieurs 2000 – IR3

(2)

2 Exposé 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

(3)

3 Exposé 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

(4)

4 Exposé 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

(5)

5 Exposé 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

(6)

6 Exposé 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)

(7)

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

(8)

Présentation

Algorithmes génétiques

• Gène et génotype

• Crossing over

(9)

Présentation

Algorithmes génétiques

• Individus différents

• Sélection des mieux adaptés

• Hérédité

(10)

Fonctionnement

Principes de base

• Modélisation de la sélection naturelle

- Etape d’évaluation

• C’est donc une sélection artificielle

- Intervention humaine

(11)

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

(12)

12 Exposé Système - IR3

Fonctionnement

Optimisations: Algorithmiques

• Critère d’arrêt

• Algorithmes hybrides (Hill climbers)

• Élitisme

• Configuration du degré mutation / croisements

• Modélisation

(13)

13 Exposé 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

(14)

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

(15)

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

(16)

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

(17)

Utilisation

Modélisation

générer population

Pour 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

(18)

18 Exposé 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,…) = 10000 x = ?, y = ? z = ?, …

• Modélisation Java:

- CalculChromosome - CalculGene

- CalculFitnessFunction - Operation

(19)

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.

(20)

20 Exposé 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)

(21)

21 Exposé 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

(22)

22 Exposé 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

(23)

23 Exposé 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.htm l

(24)

24 Exposé 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

(25)

25 Exposé Système - IR3

Bibliographie

• Sites pour le développement / API

- http://www.genetic-programming.org/

- http://jaga.sourceforge.net/

- http://jgap.sourceforge.net/

Références

Documents relatifs

La méthode choisie pour entamer ces discussions ne nous paraît pas être la bonne, en commençant par les maquettes de concours, sans articulation avec les autres

En 1993 Fonseca et Fleming ont proposé une méthode dans laquelle chaque individu de la population est rangé en fonction du nombre d'individus qui le dominent. Ensuite, ils

Évaluation des chromosomes : la mesure d'adaptation des chromosomes à leur environnement est donnée par une fonction appelée « force » qui est calculée par un processus plus ou

Note there are two forms for expressing 'the worst': the irregular form le (la) pire and the more commonly used le (la) plus mauvais(e).. superlative of

(jaune, vert, noir, rouge) et (noir, bleu, orange, violet) peuvent donner:. (jaune, vert | orange, violet) ou (noir, bleu, orange |

L’opération de croisement est suivie par l’opération de mutation avec une probabilité Pm, ce qui produit deux nouveaux individus C'1 et C'2 pour lesquels on évalue leurs

La programmation des algorithmes génétiques revient tout d'abord à utiliser un langage binaire pour coder la population choisie aléatoirement et ensuite à sélectionner les

Dans le tableau 5, pour les besoins de difficulté moyenne, nous observons que la variance de la sélection MeMo est significativement inférieure à celle de la référence ; on en