Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et...

18
Darwin et l’informatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique CAO électronique Sécurité informatique

Transcript of Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et...

Page 1: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

Darwin et l’informatiqueSélection et évolutionProgrammation génétiqueRessemblances et dissemblancesLa programmation génétique pas à pas

CAO mécaniqueCAO électroniqueSécurité informatique

Page 2: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 3: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 4: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 5: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 6: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 7: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 8: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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 »

Page 9: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 10: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 11: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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)

Page 12: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 13: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 14: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 15: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 16: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 17: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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

Page 18: Darwin et linformatique Sélection et évolution Programmation génétique Ressemblances et dissemblances La programmation génétique pas à pas CAO mécanique.

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…