Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et...
-
Upload
ambroise-bonnin -
Category
Documents
-
view
107 -
download
0
Transcript of Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et...
Darwin et l’informatiqueSélection et évolutionProgrammation génétiqueRessemblances et dissemblancesLa programmation génétique pas à pas
CAO mécaniqueCAO électroniqueSécurité informatique
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 2/18
Darwin: sélection et évolutionUne population évolue si
Elle est soumise à une pression de sélectionElle peut renouveler sa diversité génétique, par mutation ou croisement
Pression de sélection : les individus les plus « aptes » ont une plus grande probabilité de se reproduireLes mutations introduisent des variations nouvellesLes croisements (sexualité) augmentent considérablement la diversité génétiqueC’est peut-être la raison du maintien des mâles malgré leur
coûtLe résultat est une augmentation progressive de l’adaptation de la population à son environnement
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 3/18
Programmation génétique (1)
Génération i Reproducteurs Génération i + 1
Une solution du problème
Une autre solution du problème
Sélection CroisementsMutations
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 4/18
Programmation génétique (2)
Programmes auto-évolutifsFormalisation d’un problème sous la forme d’un génotypeGénération d’une population de tels génotypesSélection des « meilleurs » via une fonction de qualitéFormation d’une nouvelle génération à partir des sélectionnés
Par mutation aléatoire des génotypes Par croisement [échange de fragments] des génotypes
Sélection des « meilleurs »Et on recommence…!
Longue histoire depuis 1960Avantages : massivement parallèle, aucune connaissance initiale requise, solutions souvent originales et rarement médiocres
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 5/18
Ressemblances et dissemblances
Calqué sur la biologie (néo)darwinienne, avec quelques simplifications :
Assimilation du génotype et du phénotypeEnvironnement statique, pas de co-évolution
Ressemblances avec d’autres méthodes d’optimisation (simplex, gradient conjugué, recuit simulé…), avec des différences majeures :
Massivement parallèle (mais couplage par le croisement)CroisementChoix de l’étape suivante de l’optimisation
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 6/18
Pas à pas (1) Formaliser le problème sous forme d’un génotypeSoit, par exemple, à maximiser la fonctionf(x,y)=[16x(1-x)sin(9πx)y(1-
y)sin(9πy)]2
Maximum : f(0.5,0.5) = 1Mais il existe beaucoup d’autres maxima proches, séparés par des creux profondsCauchemar pour les méthodes courantes
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 7/18
Générer (aléatoirement ou non) une population de génotypes
Calculer pour chacun d’eux une fonction de qualité [ici logiquement la valeur de f(x,y)]
Pas à pas (2)
Génotype : position {x, y} du point d’essai
Par exemple, avec 3 décimales pour chaque coordonnée
{0.724, 0.249} [724249]
7 2 4 2 4 9
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 8/18
Pas à pas (3) Sélectionner les « reproducteurs » par diverses méthodes
Choisir les meilleurs, ou ceux qui dépassent un seuil, ou les vainqueurs de tournoisOn peut donner seulement aux meilleurs une probabilité plus grande d’être sélectionnés (fonction soit de la qualité, soit du rang)
Croiser les génotypes des reproducteursPosition et nombredes points de croisementfixés ou aléatoires
Muter aléatoirement certains « gènes »
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 9/18
Pas à pas (4)Population de 100 individus
Répartition aléatoire
Concentration sur les pics
Le pic central se peuple
Solution optimale
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 10/18
Pas à pas (5)Evolution de la fonction qualité Evolution de la population
Le meilleur ne s’améliore pas, mais la population progresseAmélioration brusque du meilleur
Départ
10° génération
50° génération
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 11/18
Pas à pas (fin)Deux variantes
Le génotype est un jeu de paramètres qu’un programme fixé cherche à optimiserLe génotype est un programme informatique (modulaire!)
Difficultés techniquesTraduction du problème sous forme d’un génotypeChoix de la taille de la populationChoix de la fonction de qualité (souvent assez simple)Choix des critères de sélection (par qualité, par rang, par tournoi)Choix du nombre et des points de croisement des génotypesChoix du taux de mutation (trop élevé: instabilité, trop faible: évolution très lente)
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 12/18
Un exemple en CAO mécanique
Objectif : construire une poutrelle métallique minimisant les vibrations à son extrémité libre (ex flèche de grue)
Programmation génétique : génotype = les 81 coordonnées des points de jonction (on ne permet qu’une déformation de la structure)
Résultat: réduction de 80% des vibrations transmises
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 13/18
Un exemple en CAO électronique
Objectif : créer un dispositif simple de reconnaissance vocaleMoyen : utiliser un circuit reprogrammable (FPGA)
Le programme chargé dans le FPGA constitue le génotype
Il détermine la fonction et le raccordement de 100 blocs logiques du FPGA
Résultat : discrimination efficace des mots « stop » et « go »Avec seulement 32 blocs logiques du FPGADont un groupe de 5 qui n’est pas raccordé aux autres
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 14/18
Sécurité informatique (1)Objectif : détecter une intrusion sur le réseau
Intrusion : anomalies dans les paramètres de la connexion
n°IP entrant et sortant, n° des ports, intervalle entre connexions, durée des connexions, nombre de bits transférés, etc.
Exemple : essais répétés de connexions sur des ports successifs quelqu’un scanne à la recherche de ports ouverts
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 15/18
Sécurité informatique (2)
Filtrage par un jeu de règles conditionnelles si…alors
si n°IP=134.158.57.13 alors accepter à 100%
si intervalle < 500 µs alors refuser à 90%
Ces règles sont établies par des expertesou par programmation génétique
Elles sont mises au point sur une base de données de test contenant intrusions et activités normales
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 16/18
Sécurité informatique (3)
Génotype : jeu de règles si…alors [dont le nombre peut varier en cours d’évolution]
Fonction de qualité : note obtenue par un jeu de règles quand il est appliqué aux connexions de la base de données de test
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 17/18
Sécurité informatique (4)Routine habituelle :
On sélectionne les meilleurs jeux de règlesOn les croise entre eux (i.e. on permute aléatoirement des règles d’un jeu à un autre)On mute aléatoirement les règles de chacun des jeux (en modifiant une règle, en en ajoutant une, ou en enlevant une)On répète ad lib
Le résultat est très performant [peu de faux positifs, qui surchargent l’administrateur de sécurité, et de faux négatifs qui laissent entrer des intrus] et il est facile à mettre à jour
18 juin 2004 Alain Bouquet - PCC Collège de France Darwin informatique 18/18
ConclusionsQuelques applications encore :
Acoustique (salles de concert, reconnaissances sonar)Aéronautique (profils d’ailes, pales de turbines)Astronautique (disposition optimale de satellites de télécom)Astrophysique (spectroscopie, reconnaissance de structures, analyse de signal, etc.)Chimie (modélisation 3D de macromolécules)Géophysique et tectonique (problèmes inverses)Gestion de réseaux (transport routier, électricité, informatique)Ingénierie électrique (antennes radio et radar)Jeux (dames)Marchés financiers et boursePolice (reconnaissance de visages)Robotique (robots joueurs de foot)
et quelques centaines d’autres…