Télécharger la présentation
1
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
2
Darwin: sélection et évolution
Une population évolue si Elle est soumise à une pression de sélection Elle 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 reproduire Les mutations introduisent des variations nouvelles Les croisements (sexualité) augmentent considérablement la diversité génétique C’est peut-être la raison du maintien des mâles malgré leur coût Le résultat est une augmentation progressive de l’adaptation de la population à son environnement 18 juin 2004 Alain Bouquet - PCC Collège de France
3
Programmation génétique (1)
Génération i Reproducteurs Génération i + 1 Une solution du problème Sélection Croisements Mutations Une autre solution du problème 18 juin 2004 Alain Bouquet - PCC Collège de France
4
Programmation génétique (2)
Programmes auto-évolutifs Formalisation d’un problème sous la forme d’un génotype Génération d’une population de tels génotypes Sé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 1960 Avantages : massivement parallèle, aucune connaissance initiale requise, solutions souvent originales et rarement médiocres 18 juin 2004 Alain Bouquet - PCC Collège de France
5
Ressemblances et dissemblances
Calqué sur la biologie (néo)darwinienne, avec quelques simplifications : Assimilation du génotype et du phénotype Environnement 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) Croisement Choix de l’étape suivante de l’optimisation 18 juin 2004 Alain Bouquet - PCC Collège de France
6
f(x,y)=[16x(1-x)sin(9πx)y(1-y)sin(9πy)]2
Pas à pas (1) Formaliser le problème sous forme d’un génotype Soit, par exemple, à maximiser la fonction f(x,y)=[16x(1-x)sin(9πx)y(1-y)sin(9πy)]2 Maximum : f(0.5,0.5) = 1 Mais il existe beaucoup d’autres maxima proches, séparés par des creux profonds Cauchemar pour les méthodes courantes 18 juin 2004 Alain Bouquet - PCC Collège de France
7
Alain Bouquet - PCC Collège de France
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 9 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)] 18 juin 2004 Alain Bouquet - PCC Collège de France
8
Alain Bouquet - PCC Collège de France
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 tournois On 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 reproducteurs Position et nombre des points de croisement fixés ou aléatoires Muter aléatoirement certains « gènes » 18 juin 2004 Alain Bouquet - PCC Collège de France
9
Alain Bouquet - PCC Collège de France
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
10
Pas à pas (5) Evolution de la fonction qualité
Evolution de la population 10° génération 50° génération Départ Amélioration brusque du meilleur Le meilleur ne s’améliore pas, mais la population progresse 18 juin 2004 Alain Bouquet - PCC Collège de France
11
Alain Bouquet - PCC Collège de France
Pas à pas (fin) Deux variantes Le génotype est un jeu de paramètres qu’un programme fixé cherche à optimiser Le génotype est un programme informatique (modulaire!) Difficultés techniques Traduction du problème sous forme d’un génotype Choix de la taille de la population Choix 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énotypes Choix du taux de mutation (trop élevé: instabilité, trop faible: évolution très lente) 18 juin 2004 Alain Bouquet - PCC Collège de France
12
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
13
Un exemple en CAO électronique
Objectif : créer un dispositif simple de reconnaissance vocale Moyen : 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 FPGA Dont un groupe de 5 qui n’est pas raccordé aux autres 18 juin 2004 Alain Bouquet - PCC Collège de France
14
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
15
Sécurité informatique (2)
Filtrage par un jeu de règles conditionnelles si…alors si n°IP= alors accepter à 100% si intervalle < 500 µs alors refuser à 90% Ces règles sont établies par des expertes ou 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
16
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
17
Sécurité informatique (4)
Routine habituelle : On sélectionne les meilleurs jeux de règles On 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
18
Alain Bouquet - PCC Collège de France
Conclusions Quelques 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 bourse Police (reconnaissance de visages) Robotique (robots joueurs de foot) et quelques centaines d’autres… 18 juin 2004 Alain Bouquet - PCC Collège de France
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.