métaheuristiques populationnelles algorithmes évolutionnaires · 2011-11-07 · probleme du sac...

195
[email protected] 1/195 Métaheuristiques populationnelles Algorithmes évolutionnaires

Upload: others

Post on 07-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 1/195

Métaheuristiques populationnelles

Algorithmes évolutionnaires

Page 2: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 2/195

Algorithmes génétiques

(cours de C. Pellegrini)

Quel est le dispositif de résolution de problèmes le plus puissant de l'univers?

Le cerveau humain qui inventa "la roue, l'agriculture, New York, les guerres, etc." (d'après D. Adams)

Page 3: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 3/195

Algorithmes génétiques

(cours de C. Pellegrini)

Quel est le dispositif de résolution de problèmes le plus puissant de l'univers?

Le cerveau humain qui inventa "la roue, l'agriculture, New York, les guerres, etc." (d'après D. Adams)

Le mécanisme de l'évolution qui créa le cerveau humain (d'après Darwin)

Page 4: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 4/195

Exemple● Cas du phallene poivré

● Et révolution industrielle

Page 5: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 5/195

Exemple● Cas du phallene poivré

● Et révolution industrielle

Page 6: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 6/195

Algorithmes génétiques● L'évolution biologique a engendré des individus

● Complexes● Adaptatifs● Autonomes

● D'autres mécanismes que le simple raisonnement sur un monde entièrement connu

● S'inspirer de la théorie de l'évolution● Darwin

Page 7: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 7/195

Théorie de l'évolution

Darwin 1809-1882

Page 8: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 8/195

Théorie de l'évolution Darwin 1809-1882● Théorie de l’évolution

● Au fur et à mesure des générations, espèce évolue● Les espèces et individus sont en compétitions● Seuls les ’mieux’ adaptés à leur environnement survivent et

se reproduisent en transmettant leur caracteristiques● Ceux qui se reproduisent le plus voient leur proportion

grandir dans la population.

● Deux idées● Survie et descendance des plus adaptés.● Transmission aux enfants des caractères utiles.

Page 9: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 9/195

Evolution actuelle

genome

genome

genome

Selection

Reproduction

Page 10: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 10/195

Evolution actuelle

genome

genome

genome

Selection

Reproduction

Page 11: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 11/195

3 approches● Apparues independamment jusque 1990

● Stratégies d'evolution – Apprentisage parametres continus

● Programmation évolutionnaire – Faire évoluer des automates

● Algorithmes genetiques – Comprendre les mecanismes de l'adaptation

● Désormais trés mélangé● Algo évolutionnaire● Abus de langage algorithmes genetiques

Page 12: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 12/195

Principe d'un algorithme génétique● Principe général● Opérateur de selection● Opérateur de variation● Boucle générationnelle● Exemples

Page 13: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 13/195

Analogie avec le vivant● Éléments

● un chromosome = un code (string)● un gene = un morceau du code● un phenotype = un morceau de la solution● un individu = une solution● selection = garder les meilleures● reproduction = combinaison de solution

● Algorithme● Les individus sont des solutions● Ensemble des individus : population● Une itération : generation

Page 14: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 14/195

Elements à décrire● Codage d'un individu● Les perturbations de son génome● La selection naturelle● La boucle générale

Page 15: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 15/195

Codage de l'individu (génome)

● Lien entre genotype et phenotype● Peut etre plus ou moins complexe

Page 16: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 16/195

Codage de l'individu (génome)

● Lien entre genotype et phenotype● Peut etre plus ou moins complexe

Cas simpleProbleme du sac à dos

Page 17: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 17/195

Codage de l'individu (génome)

● Lien entre genotype et phenotype● Peut etre plus ou moins complexe

Cas simpleProbleme du sac à dos

0 1 1 0 1 0 0 1Génome

Phénotype

Génome

Contenu du sac

Liste objets dans le sac

Page 18: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 18/195

Codage de l'individu (génome)

● Lien entre genotype et phenotype● Peut etre plus ou moins complexe

Cas simpleProbleme du sac à dos

0 1 1 0 1 0 0 1Génome

Phénotype

Génome

Cas plus "complexe"Probleme de fitting

Contenu du sac

1.0 2.4 5.4 3.2

Equation de fonction

Liste objets dans le sac Paramètres de la fonction

Page 19: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 19/195

Codage de l'individu (génome)

● Lien entre genotype et phenotype● Peut etre plus ou moins complexe

Cas simpleProbleme du sac à dos

0 1 1 0 1 0 0 1Génome

Phénotype

Génome

Cas plus "complexe"Probleme de fitting

Contenu du sac

1.0 2.4 5.4 3.2

Equation de fonction

Liste objets dans le sac Paramètres de la fonction

Lien (genome → phenotype) trés important

Car on va modifier le genome et observer le phenotype

Ce lien encapsule les influences du génome

Page 20: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 20/195

Opérateurs de variation (transmission génome)

● Individus transformés de génération en génération

● Deux opérateurs de variation● Mutation: Opérateur de mutation

– Transforme un individu en un autre● Cross-Over: Opérateur de croisement

– Inspiré reproduction sexuée– Un nouvel individu à partir de deux autres

● Les opérateurs de modification● Définissent des voisinages de recherche● Liés au codage des individus

Page 21: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 21/195

Opérateurs de selection (séléction naturelle)

● Individus evoluent sous deux opérateurs de selection● Selection: Selection pour la reproduction

– Lesquels pourront se reproduire● Remplacement: Selection pour remplacement

– Lesquels constitueront la génération suivante

● Idée● La selection favorise les meilleurs

– Biais● Par rapport fonction objectif

– Fonction de fitness

Page 22: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 22/195

Boucle générationnelle● Qui permet de passer d'une population à une autre

● Étape● Selection des parents pour reproduction● Croisement et mutation● Evaluation des performances des enfants● Selection pour la survie

● Jusqu'a un critère d'arret

Page 23: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 23/195

Exemple jouet● Rechercher optimal d'une fonction

● Entier dans [0..15,0..15]

sin( x2+ y2).(10−( x2+ y2))

Page 24: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 24/195

Un exemple jouet● Solution

● (x,y) codé sous 1 octet

● Population : ● ensemble de 4 individus

● Opérations● Mutation, Cross-over

● Selection: garde les 4 meilleurs

sin( x2+ y2).(10−( x2+ y2))

0 1 0 1 1 1 0 0x y

( 5 , 12 )

0 0 0 1 1 1 0 0

0 1 1 1 1 0 0 0

0 1 0 1 1 1 1 0

0 1 0 0 1 1 1 0

Page 25: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 25/195

Representation

x y

x y

x y

génotype phénotype

sin( x2+ y2).(10−( x2+ y2))

x y

Page 26: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 26/195

Representation

x y

x y

x y

sin( x2+ y2).(10−( x2+ y2))

génotype phénotype

x y

Page 27: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 27/195

Representation - selection

x y

x y

x y

sin( x2+ y2).(10−( x2+ y2))

génotype phénotype

x y

Page 28: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 28/195

Algorithme – vue generale

sin( x2+ y2).(10−( x2+ y2))

0 0 1 0 1 1 1 0

0 1 1 0 0 0 1 0

1 0 1 0 1 0 0 0

1 1 0 0 1 1 0 1

Population

Page 29: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 29/195

Algorithme – vue generale

sin( x2+ y2).(10−( x2+ y2))

0 0 1 0 1 1 1 0

0 1 1 0 0 0 1 0

1 0 1 0 1 0 0 0

1 1 0 0 1 1 0 1

Population

Evaluation

Page 30: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 30/195

Algorithme – vue generale

sin( x2+ y2).(10−( x2+ y2))

0 0 1 0 1 1 1 0

0 1 1 0 0 0 1 0

1 0 1 0 1 0 0 0

1 1 0 0 1 1 0 1

Population

Evaluation

1 1 0 0 1 1 0 10 0 1 0 1 1 1 0

Selection

Page 31: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 31/195

Algorithme – vue generale

sin( x2+ y2).(10−( x2+ y2))

0 0 1 0 1 1 1 0

0 1 1 0 0 0 1 0

1 0 1 0 1 0 0 0

1 1 0 0 1 1 0 1

Population

Evaluation

1 1 0 0 1 1 0 10 0 1 0 1 1 1 0

0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1

Selection

Mutation

Page 32: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 32/195

Algorithme – vue generale

sin( x2+ y2).(10−( x2+ y2))

0 0 1 0 1 1 1 0

0 1 1 0 0 0 1 0

1 0 1 0 1 0 0 0

1 1 0 0 1 1 0 1

Population

Evaluation

1 1 0 0 1 1 0 10 0 1 0 1 1 1 0

0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1

0 1 1 11 0 0 10 1 1 01 0 1 0

Selection

Mutation

Cross-Over

Page 33: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 33/195

Algorithme – vue generale

sin( x2+ y2).(10−( x2+ y2))

0 0 1 0 1 1 1 0

1 0 1 0 1 0 0 0

1 1 0 0 1 1 0 1

0 1 1 11 0 0 1

Population

Evaluation

1 1 0 0 1 1 0 10 0 1 0 1 1 1 0

0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1

0 1 1 11 0 0 10 1 1 01 0 1 0

Selection

Mutation

Cross-Over

Remplacement

Page 34: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 34/195

Algorithme – vue generale

sin( x2+ y2).(10−( x2+ y2))

0 0 1 0 1 1 1 0

1 0 1 0 1 0 0 0

1 1 0 0 1 1 0 1

0 1 1 11 0 0 1

Population

Evaluation

1 1 0 0 1 1 0 10 0 1 0 1 1 1 0

0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1

0 1 1 11 0 0 10 1 1 01 0 1 0

Selection

Mutation

Cross-Over

Remplacement

Page 35: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 35/195

Boucle generationnelle//population pop_0 ← popinitiale()

//boucle généraleTant que non fini

//selection reproductionrepro_k ← selection (pop_k)//mutationrepro_k ← mutation (repro_k)

//crossoverPour certains couple (ind1,ind2) de (repro_k)

//nouvel individunouvel_k ← nouvel_k U crossover (ind_1,ind _2)

Fin pour

//nouvelle populationpop_k+1=pop_k U nouvel_k//remplacementpop_k+1=filtre(pop_k+1)

Fin tant que

Page 36: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 36/195

Boucle generationnelle - métaheuristique//population pop_0 ← popinitiale()

//boucle généraleTant que non fini

//selection reproductionrepro_k ← selection (pop_k)//mutationrepro_k ← mutation (repro_k)

//crossoverPour certains couple (ind1,ind2) de (repro_k)

//nouvel individunouvel_k ← nouvel_k U crossover (ind_1,ind _2)

Fin pour

//nouvelle populationpop_k+1=pop_k U nouvel_k//remplacementpop_k+1=filtre(pop_k+1)

Fin tant que

selection

mutation

crossover

filtre

Page 37: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 37/195

Boucle generationnelle - métaheuristique//population pop_0 ← popinitiale()

//boucle généraleTant que non fini

//selection reproductionrepro_k ← selection (pop_k)//mutationrepro_k ← mutation (repro_k)

//crossoverPour certains couple (ind1,ind2) de (repro_k)

//nouvel individunouvel_k ← nouvel_k U crossover (ind_1,ind _2)

Fin pour

//nouvelle populationpop_k+1=pop_k U nouvel_k//remplacementpop_k+1=filtre(pop_k+1)

Fin tant que

selection

mutation

crossover

filtre

initialisation

Condition arret

Choix couples

Nouvelle pop

Qui mute

Page 38: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 38/195

Boucle generationnelle - métaheuristique//population pop_0 ← popinitiale()

//boucle généraleTant que non fini

//selection reproductionrepro_k ← selection (pop_k)//mutationrepro_k ← mutation (repro_k)

//crossoverPour certains couple (ind1,ind2) de (repro_k)

//nouvel individunouvel_k ← nouvel_k U crossover (ind_1,ind _2)

Fin pour

//nouvelle populationpop_k+1=pop_k U nouvel_k//remplacementpop_k+1=filtre(pop_k+1)

Fin tant que

selection

mutation

crossover

filtre

initialisation

Condition arret

Choix couples

Nouvelle pop

Qui mute

Codage

Fitness

Fitness

Codage

Codage

Page 39: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 39/195

Representation individu

Page 40: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 40/195

Plusieurs représentations possibles● Dépend du probleme

● Representation● Discrete Binaire● Discrete séquence ordonnée● Continue● Arbre● Automate● ....

Page 41: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 41/195

Représentation discrete● Alphabet binaire

● Codage plus ou moins direct

● Lien genotype/phenotype plus ou moins complexe

0 1 0 [...] 1 0 1

Entier

Réel

Autre chose ….

Chaine de caractères

phénotype

génotype

Page 42: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 42/195

Représentation par sequence ordonnée● Ex (1, 5, 6, 3, 2, 4)

● Problemes adaptés● TSP : permutation de villes● Affectation quadratique : liste des lieux● Etc ..

● Garantir qu'on reste dans une séquence autorisée● Ex : Opérateur et permutation

Page 43: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 43/195

Représentation valeur réelles● Réel

● Un réel – Non codé en binaire

● Plusieurs réels– Un vecteur [ x1, x2 , x3, x4 ]

● Exemple● Optimisation de fonction

Page 44: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 44/195

Représentation par arbre● Individu sont representés par des arbres

● Exemple : expression symbolique● Calcul de surface d'un cercle

*

π *

r r

Page 45: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 45/195

Opérateurs de variations

Page 46: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 46/195

Opérateurs de variation● Objectifs

● Faire évoluer les solutions

● Deux types opérateurs ● Mutation● Crossover

● Différents dans● Leur fonctionnement● Leur objectif

Page 47: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 47/195

Opérateur de mutation● Fonction Mutation: Individu → Individu

● Objectif● Aider exploration

– Genere de nouvelles structures● Eviter d'etre piege dans local

– Maintien diversité

● Propriétés attendues● Fournir solutions valides● Etre controlé (exploration/exploitation)● Parcourir tout l'espace de recherche (connexité)

Page 48: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 48/195

Opérateurs de mutation classiques● Dépendent du codage de l'individu

● Classiques● Binaire

– Flipping, Interechange, Reversing, Mutation probability● Continu

– Ajout de bruit● Permutation

– Échange● Structure de données arborescentes

– Échange de noeuds

Page 49: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 49/195

Opérateurs de mutation binaires● Flipping

● Inverser un bit d'une représentation binaire

● Aléatoire● inverser bit avec une probabilité faible

● Interechange / insertion● Échanger deux valeurs ou inserer

● Reversing● Retourner à partir d'une valeur

0 1 0 1 1 0 1 1

0 1 0 0 1 0 1 1

0 1 0 1 1 0 1 1

0 1 1 1 1 0 0 1

0 1 0 1 1 0 1 10 1 0 1 1 0 1 1

0 1 0 1 1 01 1

0 1 0 1 1 0 1 1

1 1 0 0 1 0 1 0

Page 50: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 50/195

Opérateurs de mutation binaires● Flipping

● Inverser un bit d'une représentation binaire

● Fait une exploration liée au codage● Ex codage d'un entier

0 1 0 1 1 0 1 1

0 1 0 0 1 0 1 1

0 1 0 1 1 0 1 1

1 1 0 1 1 0 1 1+/- 128

0 1 0 1 1 0 1 1

0 1 0 0 1 0 1 1+/- 16

0 1 0 1 1 0 1 1

0 1 0 1 1 0 1 0+/- 1

Page 51: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 51/195

Opérateurs de mutation continus● Ajouter bruit aleatoire selon distribution Gaussienne

● Moyenne = 0 ● ecart type σ donné

Page 52: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 52/195

Opérateurs de mutation continus● Ajouter bruit aleatoire selon distribution Gaussienne

● Moyenne = 0 ● ecart type σ donné

Page 53: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 53/195

Opérateurs de mutation continus● Ajouter bruit aleatoire selon distribution Gaussienne

● Moyenne = 0 ● ecart type σ donné

Page 54: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 54/195

Opérateurs de mutation continus● Ajouter bruit aleatoire selon distribution Gaussienne

● Moyenne = 0 ● ecart type σ donné

Page 55: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 55/195

Opérateurs de mutation permutations● Rester dans espace des solutions

● Resultat doit etre premutation

● Echange de deux valeurs

0 1 5 6 2 7 4 8

0 1 4 6 2 7 5 8

Page 56: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 56/195

Opérateurs de mutation arbre● Échanger un noeud par noeud meme type

-

+ 4

2 1

-

- 4

2 1

-

+ 1

2 1

Page 57: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 57/195

Opérateur de cross-over● Fonction cross-over: Individu x Individu → Individu

● Deux individus produire un nouvel enfant

● Objectif● Améliorer solutions

– Combiner● Tirer parti des avantages

– Conservant des morceaux

● Propriétés attendues● Hériter de quelque chose● Produire solution valides

Page 58: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 58/195

Opérateur de cross-over exemples● Single point crossover● Multipoint crossover● Uniform crossover● Arithmetic crossover

● CrossOver permutation● Crossover arbres

Page 59: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 59/195

Opérateur de cross-over exemples● Single point crossover

0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1

0 0 1 1 1 1 1 01 1 0 0 01 0 1

Page 60: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 60/195

Opérateur de cross-over exemples● Multi-point crossover

0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1

0 0 1 0 0 1 1 0 1 1 0 1 1 1 0 1

Page 61: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 61/195

Opérateur de cross-over exemples● Uniform crossover

0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1

? ? ? ? ? ? ? ?

Page 62: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 62/195

Opérateur de cross-over exemples● Uniform crossover

0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1

? ? ? ? ? ? ? ?

50% 50%

Page 63: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 63/195

Opérateur de cross-over exemples● Uniform crossover

0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1

0 ? ? ? ? ? ? ?

50% 50%

Page 64: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 64/195

Opérateur de cross-over exemples● Uniform crossover

0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1

0 ? ? ? ? ? ? ?

50% 50%

Page 65: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 65/195

Opérateur de cross-over exemples● Uniform crossover

0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1

0 1 0 0 1 1 1 0

Page 66: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 66/195

Opérateur de cross-over exemples● Arithmetic crossover

2 5 2 4 6 1 7 3 4 5 8 1 5 3 7 1

? ? ? ? ? ? ? ?

Page 67: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 67/195

Opérateur de cross-over exemples● Arithmetic crossover

2 5 2 4 6 1 7 3 4 5 8 1 5 3 7 1

3 ? ? ? ? ? ? ?

(2+4)/2

Page 68: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 68/195

Opérateur de cross-over exemples● Arithmetic crossover

2 5 2 4 6 1 7 3 4 5 8 1 5 3 7 1

3 5 5 2 5 2 7 2

Page 69: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 69/195

Opérateur de cross-over exemples● Crossover permutations

2 1 5 4 6 8 7 3 4 5 8 1 6 3 7 2

Page 70: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 70/195

Opérateur de cross-over exemples● Crossover permutations

2 1 5 4 6 8 7 3 4 5 8 1 6 3 7 2

2 1 5 1 6 3 7 3

Page 71: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 71/195

Opérateur de cross-over exemples● Crossover permutations

2 1 5 4 6 8 7 3 4 5 8 1 6 3 7 2

2 1 5 1 6 3 7 3

Ce n'est plus une permutation

Page 72: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 72/195

Opérateur de cross-over exemples● Crossover permutations

2 1 5 4 6 8 7 3 4 5 8 1 6 3 7 2

2 1 5 4 6 8 7 32 1 5 1 6 31 - Insertion

Page 73: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 73/195

Opérateur de cross-over exemples● Crossover permutations

2 1 5 4 6 8 7 3 4 5 8 1 6 3 7 2

2 1 5 4 6 8 7 32 1 5 1 6 31 - Insertion

2 1 5 4 8 72 5 1 6 32- Suppression doublons

Page 74: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 74/195

Operateur crossover arbre● Echanger des sous-arbre

*

π *

r +

r r

+

r *

2 r

Page 75: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 75/195

Operateur crossover arbre● Echanger des sous-arbre

*

π *

r +

r r

+

r *

2 r

Page 76: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 76/195

Operateur crossover arbre● Echanger des sous-arbre

*

π *

r +

r r

+

r *

2 r

*

2 r

*

π

+

r *

r +

r r

Page 77: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 77/195

Opérateurs de Selection

Page 78: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 78/195

Selection● Caracteristiques de la selection

● Pression de selection● Dérive genetique

● Opérateurs de selection

Page 79: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 79/195

Pression de selection● Sans variation, Proportion Individus + adaptes augmente

● Definition pression de selection● temps de domination

– Temps pour que la population soit remplacée par le meilleur individu juste avec selection

● Intensité de selection– Rapport difference performance moyenne entre enfants sur

Variance performance parents

Page 80: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 80/195

Pression de selection● Sans variation, Proportion Individus + adaptes augmente

● Definition pression de selection● temps de domination

– Temps pour que la population soit remplacée par le meilleur individu juste avec selection

● Intensité de selection– Rapport difference performance moyenne entre enfants sur

Variance performance parents

● Lié à la présence d'un meilleur individu● Trop de pression ==> convergence prématurée

Page 81: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 81/195

Dérive génétique● La population tend vers une population homogène

● Même si tous les individus ont meme performance

● Dérive génétique● Temps atteindre état absorbant

– Lié à la taille population● Variation de la performance population avec des parents de

performance identique– Lié à la variance de la selection

● Lié à l'aspect stochastique des opérateurs● Dérive genetique conduit à une perte de diversité

Page 82: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 82/195

Selection de reproduction● Selection proportionnelle

● Roulette (RWS)● Stochastic Universal Sampling (SUS)

● Selection par rang

● Selection par tournoi

● Selection boltzman

Page 83: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 83/195

Selection de reproduction● Selection proportionnelle

● Chaque individu à un score par rapport à sa performance

● Score si

● Avec lambda taille populationsi=

λ

∑i=1..n

f i. f i

13 15 20 5 10 16

Page 84: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 84/195

Selection de reproduction● Selection proportionnelle

● Chaque individu à un score par rapport à sa performance

● Score si

● Avec lambda taille populationsi=

λ

∑i=1..n

f i. f i

13

0,975

15

1,125

20

1,5

6

0,45

10

0,75

16

1,2

Nombre moyen d'individus dans la population finale

Page 85: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 85/195

Selection de reproduction● Selection roulette (RWS roulette wheel selection)

● Probabilité selectionner individu proportionnelle à son score

130,975

151,125

201,5

60,45

100,75

161,2

0 1 2 3 4 5 6 7

ind 1ind 2ind 3ind 4ind 5ind 6

Page 86: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 86/195

Selection de reproduction● Selection roulette (RWS roulette wheel selection)

● Probabilité selectionner individu proportionnelle à son score

● Selection trop aléatoire● Bons peuvent ne pas etre conserves● Dérive génétique des moyens

130,975

151,125

201,5

60,45

100,75

161,2

ind 1ind 2ind 3ind 4ind 5ind 6

Page 87: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 87/195

Selection de reproduction● Selection SUS (Stochastic universal sampling)

130,975

151,125

201,5

60,45

100,75

161,2

0 1 2 3 4 5 6 7

Page 88: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 88/195

Selection de reproduction● Selection SUS (Stochastic universal sampling)

130,975

151,125

201,5

60,45

100,75

161,2

0 1 2 3 4 5 6 7

Offset

Page 89: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 89/195

Selection de reproduction● Selection SUS (Stochastic universal sampling)

130,975

151,125

201,5

60,45

100,75

161,2

0 1 2 3 4 5 6 7

1Offset

Page 90: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 90/195

Selection de reproduction● Selection SUS (Stochastic universal sampling)

130,975

151,125

201,5

60,45

100,75

161,2

0 1 2 3 4 5 6 7

1 1 1 1 1Offset

Page 91: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 91/195

Selection de reproduction● Selection SUS (Stochastic universal sampling)

● Un seul tirage aléatoire

● Variance plus faible● Chaque individu entre E(s

i) et E(s

i)+1

● Individu meilleur conservé au moins une fois

130,975

151,125

201,5

60,45

100,75

161,2

0 1 2 3 4 5 6 7

Page 92: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 92/195

Pression de selection proportionnel● Pression de selection

● p=max (f) / moyenne(f)

● Possible d'ajuster● Par des transformations linéaires● Par des transformations exponentielles

– Selection de metropolis e(-f/T)– Modifier T

Page 93: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 93/195

Selection selon le rang● Chaque individu possède un rang

● On définit une valeur individu● Independant de performance

– r --> rang du parent– µ --> nombre parents– p --> variable liée à la pression de selection

● Sélection proportionnelle par rapport f'

f ' (x )=(1− rμ)p

Page 94: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 94/195

Selection par tournoi● Principe

● Repartir individus dans tournoi● Garder les vainqueurs

Page 95: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 95/195

Selection par tournoi● Tournois deterministe

● Groupe de k avec/sans remise● Garde le meilleur de chaque groupe

Performance

Page 96: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 96/195

Selection par tournoi● Tournois deterministe

● Groupe de k avec/sans remise● Garde le meilleur de chaque groupe

[...]

Performance

Page 97: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 97/195

Selection par tournoi● Tournois deterministe

● Groupe de k avec/sans remise● Garde le meilleur de chaque groupe

● Pression de selection dépend de k● Plus k est grand, plus on garde les meilleurs

● Habituellement n trés grand par rapport à k

[...]

Performance

Page 98: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 98/195

Selection par tournoi● Tournois stochastiques

● Groupe de 2● Probabilité de gagner du plus performant est p [0,5..1]

Performance

Page 99: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 99/195

Selection par tournoi● Tournois stochastiques

● Groupe de 2● Probabilité de gagner du plus performant est p [0,5..1]

● Pression de selection est liée à p

● P peut dépendre des performances● Selection Metropolis● Rapporche du recuit simulé

Page 100: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 100/195

Selection de remplacement● Plusieurs stratégies de remplacement

● Remplacement générationnel– Tous les enfants remplacent les parents

● Remplacement strategie evolution (µ/λ) ES– Garde les µ meilleurs des λ enfants

● Remplacement stationnaire– Change un ou deux parents par un/deux enfants– Evite evolution trop brutale

● Remplacement élitiste– Garder au moins le meilleur individu– Assure augmentation performance

● D'autres

Page 101: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 101/195

Exemple

Page 102: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 102/195

Exemples● Optimisation combinatoire● Evolution de loi de controle● Evolution de morphologie● Evolution de créature artificielle

Page 103: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 103/195

Ex1 - Optimisation combinatoire● Exemple

● Probleme du voyageur de commerce

Page 104: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 104/195

Ex1 - Optimisation combinatoire● Exemple

● Probleme du voyageur de commerce

● Individu● Une permutation

● Mutation● Inverser deux villes

● Combinaison● Combinaison de permutation

Page 105: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 105/195

Ex2 - Loi de controle● Apprendre des poids d'un réseau de neurone

● avec un algorithme genetique

● Exemple simpliste● Machine de braitenberg

Page 106: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 106/195

Ex2 - Loi de controle● Apprendre des poids d'un réseau de neurone

● avec un algorithme genetique

● Exemple simpliste● Machine de braitenberg

● Appareillage● Capteurs: senseurs de lumière● Moteur: rotation des roues

Page 107: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 107/195

Ex2 - Comportement simple● Se diriger vers la lumière

● Machines de Braitenberg● Relier directement moteur et capteurs

Page 108: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 108/195

Ex2 - Comportement simple● Se diriger vers la lumière

● Machines de Braitenberg● Relier directement moteur et capteurs

+

Page 109: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 109/195

Ex2 - Comportement simple● Se diriger vers la lumière

● Machines de Braitenberg● Relier directement moteur et capteurs

+

Page 110: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 110/195

Ex2 - Comportement plus complexe● La machine doit approche la lumière

● mais rester à une certaine distance

● Lien plus complexe entre capteur et moteur● Fonction lie capteur --> moteur● Exemple réseau de neurones

Capteur 1

Capteur 2

Moteur 1

Capteur 2 Moteur 2

Page 111: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 111/195

Ex2 - Comportement plus complexe● Population ? Indidvidus ? Etc ???

Page 112: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 112/195

Ex2 - Comportement plus complexe● Individus ?

● Un code du réseau, à savoi poids des connexions + seuils● Population ?

● Plusieurs individus

● Evaluation ?● Executer la machine et compter temps dans zone souhaitée

● Variation● Mutation : modifier un poids● Combinaison : melanger des poids

Page 113: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 113/195

Ex2 - Lois de controle + equations de force● Mélange

● Steering behaviours– http://www.red3d.com/cwr/steer/

● Algorithmes génétiques

Vitesse

but

Vitesse future

Accélération

Page 114: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 114/195

Ex2 - Lois de controle + equations de force● GACS (Flacher 2005)

Page 115: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 115/195

Ex2 - Lois de controle + equations de force● GACS (Flacher 2005)

Page 116: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 116/195

Ex2 - Lois de controle + equations de force● GACS (Flacher 2005)

Page 117: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 117/195

Ex2 - Lois de controle + equations de force● GACS (Flacher 2005)

Probleme : capturer des moutons

Page 118: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 118/195

Ex3 - Apprentissage de biomorph● Apprentissage de biomorph

● http://www.rennard.org/alife/french/gavintr.html

● Biomorph● Origine de Dawkins (1976)● Simule developpement embryonnaire

Page 119: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 119/195

Ex3 - Apprentissage de biomorph● Apprentissage de biomorph

● http://www.rennard.org/alife/french/gavintr.html

● Biomorph● Origine de Dawkins (1976)● Simule developpement embryonnaire

● Algorithme de dessin récursif● Raisonne par direction● Codé par génome

nord

nord-

est

nord/

oues

t

nord

est nord

ouest

Page 120: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 120/195

Ex3 - Biomorph● Gènes

– 8 gènes codent une direction● Élongation + angle

– 9é gène code itérations

Iteration ++ Modifie axe NE et NO

Lien complexe

Genome → phenotype

Page 121: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 121/195

Ex3 - Biomorph● Gènes

– 8 gènes codent une direction● Élongation + angle

– 9é gène code itérations

Iteration ++ Modifie axe NE et NO

Lien complexe

Genome → phenotype

Demo

Apprendre une structure

Page 122: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 122/195

Ex4 - Karl sims● Evolution de créature virtuelle

● http://www.karlsims.com/evolved-virtual-creatures.html

Apprendre à nager Apprendre à sauter Apprendre à atteindre

Page 123: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 123/195

Ex4 - Karl Sims● Apprentissage d'une forme

● Cf article● Proche biomorphe

Page 124: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 124/195

Ex4 - Karl Sims● Apprentissage du controle

● Cf article● Proche réseau neurone

Page 125: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 125/195

Ex4 - Karl Sims● Évolution forme + controle

● Meilleures formes pour résoudre une tâche

Page 126: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 126/195

Autre exemple● Tri par algo genetique (probleme jouet)

● Minimiser une fonction– x^2+y^2 avec x+y=7

● Trouver le plus grand cercle sans qu'il ne rencontre des points donnés

● Probleme de coloration de graphe / surface

Page 127: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 127/195

Pourquoi ca marche ?● Dilemne exploration / exploitation

● Ou se fait il ???

Page 128: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 128/195

Pourquoi ca marche ?● Dilemne exploration / exploitation

● Opérateurs de variation– Mutation == exploration– Combinason == exploitation

● Opérateur de selection– Pression de selection et dérive génétique

● Controlable● Mais pas/peu de théorie de convergence

Page 129: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 129/195

Pourquoi ca marche ?● Deux grands principes d'explication

● Théorie des schémas – Motifs plus interessants que d'autres– Ceux la qui se répetent

● Building blocks– Fait meilleurs schémas en combinant schémas élémentaires

● Contradiction ● Schémas peuvent etre coupés

– interactions faibles entre genes ?● Building blocks

– interaction forte entre gènes.

Page 130: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 130/195

Pourquoi ca marche ?● Peu de pouvoir explicatif

● Comme la plupart des métaheuristiques

● Oppose généralité et compréhension● Utilise beaucoup aléatoire

Page 131: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 131/195

Programmation génétique

Page 132: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 132/195

Programmation génétique ● Un programme qui évolue tout seul ?

Page 133: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 133/195

Programmation génétique ● Un programme qui évolue tout seul ?

● Meme idée● Population de programmes● Un programme = genome● Faire évoluer la population

● Question● Comment coder un programme ?

Page 134: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 134/195

Programmation génétique - codage● Deux types de codage

● Arbres● Automates

Page 135: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 135/195

Programmation génétique - arbre● Codage arbre – programmation génétique (koza)

● Définir noeud terminaux● Instructions

● Définir noeuds intermediaires– Séquences instr1 puis instr2– If (cond) instr1 sinon instr2– Boucle (cond) instr1

sequence

Boucle (a<10)a ← 0

a=a+1

Page 136: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 136/195

Programmation génétique - arbre● Un individu

● Un arbre

● Opérateur Mutation ● changer un noeud pour noeud de meme type

● Opérateur combinaison● Échanger des sous arbres échangeable

Page 137: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 137/195

Programmation génétique - automate● Codage automate – algorithme évolutionnaire

● Noeuds et arcs

● Chaque noeud possède● Une action● Une transition vers un noeud suivant

– Éventuellement conditionnée

Action a Action b

Action c

Page 138: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 138/195

Programmation génétique - automate● Machine de turing

● Bandeau de 0 et de 1● Un automate décrit comportement

– État interne x observation ==> état interne– État interne x observation ==> (move,write)

● Comportement● État 0● Tant que non fini

– Observe ruban– Action<- action[etat,obs]– Etat <- etat[etat,obs]

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

Page 139: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 139/195

Programmation genetique - automate● Machine de turing

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

11B 0 B B

S0

Page 140: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 140/195

Programmation genetique - automate● Machine de turing

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

11B 0 B B

S0

Page 141: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 141/195

Programmation genetique - automate● Machine de turing

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

11B 0 B B

S0

11B 0 B B

S0

Page 142: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 142/195

Programmation genetique - automate● Machine de turing

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

11B 0 B B

S0

Page 143: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 143/195

Programmation genetique - automate● Machine de turing

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

11B 0 B B

S0

11B 0 B B

S0

Page 144: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 144/195

Programmation genetique - automate● Machine de turing

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

11B 0 B B

S0

Page 145: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 145/195

Programmation genetique - automate● Machine de turing

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

11B 0 B B

S0

11B 0 B B

S1

Page 146: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 146/195

Programmation genetique - automate● Machine de turing

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

11B 0 B B

S1

Page 147: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 147/195

Programmation genetique - automate● Machine de turing

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

11B 0 B B

S1

S2

11B 1 B B

Page 148: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 148/195

Programmation genetique - automate● Machine de turing

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

11B 1 B B

S2

stop

Page 149: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 149/195

Programmation genetique - automate● Machine de turing

● Opérateur

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

Page 150: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 150/195

Programmation genetique - automate● Machine de turing

● Opérateur● Mutation : modifier

– L'ecriture– État d'arrivée– Deplacement

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

Page 151: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 151/195

Programmation genetique - automate● Machine de turing● Opérateur

● Mutation● Combinaison

– Mélanger matrice de transition de deux machines

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

État dep

S0

S1

obs

vide01

vide01

ecrire

vide00

110

deplacer

gauchegauchedroite

gauchegauchegauche

nEtat

S2S0S0

S2S2S1

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

État dep

S0

S1

obs

vide01

vide01

ecrire

vide01

110

deplacer

gauchedroitedroite

gauchegauchegauche

nEtat

S1S0S0

S2S2S1

Etc [...]

Page 152: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 152/195

Exemple programmation génétique● Programmer le comportement d'une fourmi

● Santa fé trail (Koza)

Page 153: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 153/195

Santa fé trail● Chemin de nourriture● Une fourmi

● Capacités● 3 actions

– Devant, gauche, droite● Perception

– Nourriture devant elle ou non

Page 154: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 154/195

Santa fe trail● Quand la fourmi passe devant une capsule, elle la mange

● Objectif ● trouver le "meilleur" comportement fourmi

● Questions ?● Meilleur ?● Difficultés ?● Comportement ?● Algorithme ?

Page 155: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 155/195

Santa fe trail● Meilleur comportement

● Critère à optimiser fonction de fitness

● Idée quantité de nourriture● Mais ?

Page 156: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 156/195

Santa fe trail● Meilleur comportement

● Critère à optimiser fonction de fitness

● Idée quantité de nourriture● Mais ● Pourquoi ne pas parcourir ?

● Contrainte temps limité● Plus petit que chemin

Page 157: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 157/195

Santa fe trail● Difficultés

● Situations différentes

Page 158: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 158/195

Santa fe trail● Difficultés

● Situations différentes

Page 159: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 159/195

Santa fe trail● Difficultés

● Situations différentes

Page 160: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 160/195

Santa fe trail● Difficultés

● Situations différentes

La fourmi a la meme perception

Page 161: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 161/195

Santa fe trail● Difficultés

● Situations différentes

● Une solution● Faire toute la liste d'actions

● Mais long et peu generique

● Trouver un compromis● Taille programme● Résultats obtenus

Page 162: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 162/195

Santa fe trail● Représentation à base d'arbre

● Noeuds terminaux● Actions de base

● Noeuds non terminaux● Séquence de noeuds

● Conditionnelles– Vue nourriture

Move left right

Prog3Prog2

if

alors sinon

Page 163: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 163/195

Santa fe trail● Exemple de programme

● Execution

if

move left

Page 164: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 164/195

Santa fe trail● Exemple de programme

● Execution● Nourriture --> avance

if

move left

Page 165: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 165/195

Santa fe trail● Exemple de programme

● Execution● Nourriture --> avance

if

move left

Page 166: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 166/195

Santa fe trail● Exemple de programme

● Execution● Pas Nourriture --> left

if

move left

Page 167: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 167/195

Santa fe trail● Exemple de programme

● Execution● Pas Nourriture --> left

if

move left

Page 168: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 168/195

Santa fe trail● Exemple de programme

● Execution● Pas Nourriture --> left

if

move left

Page 169: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 169/195

Santa fe trail● Exemple de programme

● Execution● Nourriture --> devant

if

move left

Page 170: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 170/195

Santa fe trail● Exemple de programme

● Execution● Nourriture --> devant

if

move left

Page 171: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 171/195

Santa fe trail● Exemple de programme

● Execution● Pas Nourriture --> left

if

move left

Page 172: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 172/195

Santa fe trail● Exemple de programme

● Execution● Pas Nourriture --> left

if

move left

Page 173: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 173/195

Santa fe trail● Exemple de programme

● Execution● Pas Nourriture --> left

if

move left

Page 174: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 174/195

Santa fe trail● Exemple de programme

● Execution● Pas Nourriture --> left

if

move left

Page 175: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 175/195

If

Move Prog3

left Prog2Prog2

if

Move left

Moveif

Move right

Prog2

right Prog2

left right

Santa fe trail● Algo genetique

● Structure arbre --> resultat de Koza

Page 176: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 176/195

If

Move Prog3

left Prog2Prog2

if

Move left

Moveif

Move right

Prog2

right Prog2

left right

Santa fe trail● Algo genetique

● Structure arbre --> resultat de Koza

inutile

Page 177: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 177/195

Programmation evolutionnaire● Santé fe trail

Page 178: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 178/195

Programmation evolutionnaire● Santé fe trail

Deux transitions de chaque état

Etat interne

Page 179: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 179/195

Programmation evolutionnaire● Santé fe trail

● 1 → observation● Move → action● State 00 → etat arrivée

Transition 2

● 0 → observation● Left → action● State 10 → etat arrivée

Transition 1

Deux transitions de chaque état

Etat interne

Page 180: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 180/195

Programmation evolutionnaire● Automate représenté par tableaux

● Tableau actions– Etat x observation --> action dans [1..3]

● Tableau de transitions– Etat x observation --> nouvel état dans [1..n]

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

Page 181: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 181/195

Programmation evolutionnaire● Que fait cet automate ?

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

Page 182: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 182/195

Programmation evolutionnaire● Que fait cet automate ?

● Fourmi qui ● Si voit nourriture, avance● Sinon regarde à gauche puis à droite

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

Page 183: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 183/195

Programmation evolutionnaire

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

Page 184: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 184/195

Programmation evolutionnaire

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

S0

Page 185: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 185/195

Programmation evolutionnaire

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

S0

Page 186: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 186/195

Programmation evolutionnaire

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

S0

Page 187: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 187/195

Programmation evolutionnaire

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

S0

Page 188: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 188/195

Programmation evolutionnaire

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

S0

Page 189: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 189/195

Programmation evolutionnaire

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

S1

Page 190: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 190/195

Programmation evolutionnaire

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

S1

Page 191: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 191/195

Programmation evolutionnaire

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

S0

Page 192: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 192/195

Programmation evolutionnaire● Automate représenté par tableaux

● Mutation

● Combinaison

Page 193: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 193/195

Programmation evolutionnaire● Automate représenté par tableaux

● Mutation● Changer action, nouvel état

● Combinaison● Mélanger deux automates

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

Etat s0 Etat s1 Etat s2 Etat s30 1 0 1 0 1 0 1

ActionNouvel état

R M L M L M R Ms1 s0 s2 s0 s3 s0 s0 s0

Page 194: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 194/195

Programmation evolutionnaire● Demonstration

● 20 états internes, pop de 5, en 50 iterations● Converge vers quelque chose d'interessant

● Depend de ● Structure du chemin● Du nombre d'états interne (expressivité)● De la taille population● Des processus de selection

Page 195: Métaheuristiques populationnelles Algorithmes évolutionnaires · 2011-11-07 · Probleme du sac à dos ... Probleme de fitting Contenu du sac 1.0 2.4 5.4 3.2 Equation de fonction

[email protected] 195/195

Conclusion● Algorithmes génétiques

● Techniques d'optimisation générique (métaheuristique)● Trés souple et trés vaste

● Besoin de définir● Fonction fitness (probleme)● Codage et opérateur de variation (solution)● Mécanismes de selection (dilemne exploration/exploitation)