Vous êtes sur la page 1sur 18

Darwin et linformatique

Slection et volution Programmation gntique Ressemblances et dissemblances La programmation gntique pas pas

CAO mcanique CAO lectronique Scurit informatique

Darwin: slection et volution


Une population volue si
Elle est soumise une pression de slection Elle peut renouveler sa diversit gntique, par mutation ou croisement

Pression de slection : les individus les plus aptes ont une plus grande probabilit de se reproduire Les mutations introduisent des variations nouvelles Les croisements (sexualit) augmentent considrablement la diversit gntique
Cest peut-tre la raison du maintien des mles malgr leur cot

Le rsultat est une augmentation progressive de ladaptation de la population son environnement

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 2/18

Programmation gntique (1)


Gnration i Reproducteurs Gnration i + 1
Une solution du problmeSlection

Croisements Mutations

Une autre solution du problme


18 juin 2004 Alain Bouquet - PCC Collge de France Darwin informatique 3/18

Programmation gntique (2)


Programmes auto-volutifs
Formalisation dun problme sous la forme dun gnotype Gnration dune population de tels gnotypes Slection des meilleurs via une fonction de qualit Formation dune nouvelle gnration partir des slectionns

Par mutation alatoire des gnotypes Par croisement [change de fragments] des gnotypes

Slection des meilleurs Et on recommence!

Longue histoire depuis 1960 Avantages : massivement parallle, aucune connaissance initiale
requise, solutions souvent originales et rarement mdiocres

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 4/18

Ressemblances et dissemblances
Calqu sur la biologie (no)darwinienne, avec quelques simplifications :
Assimilation du gnotype et du phnotype Environnement statique, pas de co-volution

Ressemblances avec dautres mthodes doptimisation (simplex, gradient conjugu, recuit simul), avec des diffrences majeures :
Massivement parallle (mais couplage par le croisement) Croisement Choix de ltape suivante de loptimisation

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 5/18

Pas pas (1)


Formaliser le problme sous forme dun gnotype Soit, par exemple, maximiser la fonction

f(x,y)=[16x(1-x)sin(9x)y(1-y)sin(9y)]2

Maximum : f(0.5,0.5) = 1 Mais il existe beaucoup dautres maxima proches, spars par des creux profonds Cauchemar pour les mthodes courantes

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 6/18

Pas pas (2)


Gnotype : position {x, y} du point dessai Par exemple, avec 3 dcimales pour chaque coordonne {0.724, 0.249} [724249]

Gnrer (alatoirement ou non) une population de gnotypes Calculer pour chacun deux une fonction de qualit [ici
logiquement la valeur de f(x,y)]

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 7/18

Pas pas (3)


Slectionner les reproducteurs par diverses mthodes
Choisir les meilleurs, ou ceux qui dpassent un seuil, ou les vainqueurs de tournois On peut donner seulement aux meilleurs une probabilit plus grande dtre slectionns (fonction soit de la qualit, soit du rang)

Croiser les gnotypes des reproducteurs


Position et nombre des points de croisement fixs ou alatoires

Muter alatoirement certains gnes

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 8/18

Pas pas (4)


Population de 100 individus Rpartition alatoire Concentration sur les pics Le pic central se peuple Solution optimale
18 juin 2004 Alain Bouquet - PCC Collge de France Darwin informatique 9/18

Pas pas (5)


Evolution de la fonction qualit Evolution de la population 10 50 gnration gnration Dpart

Le meilleur ne samliore pas, mais la population progresse Amlioration brusque du meilleur

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 10/18

Pas pas (fin)


Deux variantes
Le gnotype est un jeu de paramtres quun programme fix cherche optimiser Le gnotype est un programme informatique (modulaire!)

Difficults techniques
Traduction du problme sous forme dun gnotype Choix de la taille de la population Choix de la fonction de qualit (souvent assez simple) Choix des critres de slection (par qualit, par rang, par tournoi) Choix du nombre et des points de croisement des gnotypes Choix du taux de mutation (trop lev: instabilit, trop faible: volution trs lente)

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 11/18

Un exemple en CAO mcanique


Objectif : construire une poutrelle mtallique minimisant les vibrations son extrmit libre (ex flche de grue)

Programmation gntique : gnotype = les 81 coordonnes des points de jonction (on ne permet quune dformation de la structure)
Rsultat: rduction de 80% des vibrations transmises

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 12/18

Un exemple en CAO lectronique


Objectif : crer un dispositif simple de reconnaissance vocale Moyen : utiliser un circuit reprogrammable (FPGA) Le programme charg dans le FPGA constitue le gnotype

Il dtermine la fonction et le raccordement de 100 blocs logiques du FPGA

Rsultat : discrimination efficace des mots stop et go


Avec seulement 32 blocs logiques du FPGA Dont un groupe de 5 qui nest pas raccord aux autres
18 juin 2004 Alain Bouquet - PCC Collge de France Darwin informatique 13/18

Scurit informatique (1)


Objectif : dtecter une intrusion sur le rseau Intrusion : anomalies dans les paramtres de la connexion
nIP entrant et sortant, n des ports, intervalle entre connexions, dure des connexions, nombre de bits transfrs, etc.

Exemple : essais rpts de connexions sur des ports successifs quelquun scanne la recherche de ports ouverts

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 14/18

Scurit informatique (2)


Filtrage par un jeu de rgles conditionnelles sialors
si nIP=134.158.57.13 alors accepter 100% si intervalle < 500 s alors refuser 90%

Ces rgles sont tablies par des expertes ou par programmation gntique Elles sont mises au point sur une base de donnes de test contenant intrusions et activits normales

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 15/18

Scurit informatique (3)


Gnotype : jeu de rgles sialors [dont le nombre peut varier en
cours dvolution]

Fonction de qualit : note obtenue par un jeu de rgles quand il est appliqu aux connexions de la base de donnes de test

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 16/18

Scurit informatique (4)


Routine habituelle :
On slectionne les meilleurs jeux de rgles On les croise entre eux (i.e. on permute alatoirement des rgles dun jeu un autre) On mute alatoirement les rgles de chacun des jeux (en modifiant une rgle, en en ajoutant une, ou en enlevant une) On rpte ad lib

Le rsultat est trs performant [peu de faux positifs, qui

surchargent ladministrateur de scurit, et de faux ngatifs qui laissent entrer des intrus] et il est facile mettre jour

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 17/18

Conclusions
Quelques applications encore :
Acoustique (salles de concert, reconnaissances sonar) Aronautique (profils dailes, pales de turbines) Astronautique (disposition optimale de satellites de tlcom) Astrophysique (spectroscopie, reconnaissance de structures, analyse de signal, etc.) Chimie (modlisation 3D de macromolcules) Gophysique et tectonique (problmes inverses) Gestion de rseaux (transport routier, lectricit, informatique) Ingnierie lectrique (antennes radio et radar) Jeux (dames) Marchs financiers et bourse Police (reconnaissance de visages) Robotique (robots joueurs de foot) et quelques centaines dautres

18 juin 2004

Alain Bouquet - PCC Collge de France

Darwin informatique 18/18

Vous aimerez peut-être aussi