Intro IA - UCO - Campus virtuel
Transcription
Intro IA - UCO - Campus virtuel
Introduction à l’Intelligence Artificielle Pierre Chauvet [email protected] Plan du cours 1. Introduction - définir l’intelligence ? L’IA ? - Origines et applications - IA et Science fiction 2. Les méthodes inspirées de la biologie - Le connexionisme - Les algorithmes génétiques - Les algorithmes inspirés de l’éthologie 3. Les automates - Les automates à états finis - Les automates cellulaires - Automates hybrides 4. Introduction aux réseaux Bayesiens - définition - rappel proba/thm de Bayes - exemples applications 5. Les systèmes multi-agents - Les modèles individus centrés - Les SMA « réels » - SMA et calcul parallèle 6. Conclusion Déroulement du cours - Cours magistral, TD - Exposé de Kamel Belkhelladi sur son travail de thèse - Projet permettant d’approfondir certaines techniques vues en cours (présentation orale & réalisation pratique) Evaluation : - Note sur la présentation orale - Note la restitution du projet (rapport+application) Projets en Intelligence Artificielle Le projet est à faire par groupe de 2 ou 3 étudiants. Il comporte 2 parties : - une présentation devant le groupe de 20mn (le 16 avril – B313, 8h à 10h) - la restitution d’un travail pratique : document et fichiers sources La présentation et la restitution portent sur le même sujet Chaque groupe choisit un sujet (voir liste) La réalisation pratique peut être faite en n’importe quel langage (avec une préférence pour Java ou Delphi), sous forme d’une application ou d’une applet Projets en Intelligence Artificielle N° Sujet 1 Sujet de la présentation Sujet du travail pratique Les réseaux de neurones multicouches et la reconnaissance d’images Reconnaissance automatique de chiffres manuscrits par réseaux multicouches Prévision par réseaux de neurones multicouches Prévision de la population totale (mondiale ou par zone géographique) à partir des recensements depuis 1950 2 http://www.census.gov/ipc/www/idb/tables.html 3 4 5 Les automates à états finis et l’analyse lexicale Réalisation d’un analyseur lexical Modèles de connaissance basés sur des automates à états finis Modélisation du cycle des cellules vivantes (chronobiologie) L’utilisation des algorithmes génétiques pour la résolution de problèmes Affectation automatique de tâches par algorithme génétique Les algorithmes de routage dans les réseaux informatiques Optimisation de parcours par colonies de fourmis Les plateformes de simulation individu-centrée Etude comparative de différentes plateformes de simulation individu-centrée sur un unique modèle La modélisation individu-centrée en éthologie Simulation d’un système proies-prédateurs pour l’aide à la décision 6 7 8 9 10 Introduction Qu’est--ce Qu’est ce--que l’intelligence ? Vaste question… Comment définir l’intelligence ? • Construire une liste de ses caractéristiques ? • Définir ce que l’intelligence n’est pas ? => encore une liste ! • Plutôt que définir l’intelligence, dire qu’un système est intelligent en comparant son comportement avec un autre système reconnu comme intelligent → L’identité Comportementale L’identité comportementale • Approche proposée par le mathématicien anglais Alan Turing en 1950 • Basée sur un dispositif permettant une comparaison en double aveugle: « le test de Turing » • Mais ce qui est jugé relève-t’il de l’intelligence ? Le test de Turing Définir l’IA ? Sans définition rigoureuse de l’intelligence ? Tentative de définition… • Une IA est un système… • Artificiel: parce que ce type de système est le résultat d'un processus créé par l'homme (volontairement ou… involontairement). • Intelligent… Mais à partir de quand un système est-il dit intelligent ? L'ordinateur Deep Blue, qui a battu Kasparov, n'est pas considéré comme intelligent. Si un chien avait réussi cet exploit, il aurait été considéré comme intelligent, et même génial ! Différentes définitions • IA faible: système qui adopte un comportement élaboré qui n'apprend pas de ses erreurs, comme l'instinct des insectes • IA forte: système qui doit pouvoir réinjecter ses erreurs dans son comportement, comme les animaux à sang chaud par exemple. • Programme informatique capable de tâches qui sont, pour l'instant, accomplies de façon plus satisfaisante par des êtres humains (définition de Marvin L. Minsky) → demande des processus mentaux comme l'apprentissage, l'organisation de la mémoire et le raisonnement. Avec une telle définition, un système semble perdre sa qualité d'intelligence une fois qu'on réussit à le « mécaniser ». Les origines de l’IA A l’origine… • La notion de machine « pensante » apparaît en Europe au XVIIième siècle. Le modèle étant l’homme, les recherches sur la notion d’intelligence et sa formalisation sont simultanément menées. • Deux courants de pensée : - le premier (s’étendant en gros du XVIIième siècle au milieu du XXième siècle) suppose que l’intelligence repose uniquement sur un ensemble fini de symboles et de règles déterministes (la pensée Newtonienne) - le second suppose que l’intelligence émerge de la complexité des systèmes (intelligence en essaim) Un peu d’histoire • 1642 : Blaise Pascal construit la « Pascaline », une machine mécanique pour effectuer des additions et des soustractions. • Gottfried Leibnitz améliore la « Pascaline » pour lui permettre de multiplier et diviser, puis travaille sur la création d’un système de règles formelles destinées à résoudre tous les problèmes, la Characteristica Universalis. Un peu d’histoire • 1748 : La Mettrie écrit dans son ouvrage « L’Hommemachine » que le comportement physique et mental de l’homme pourrait être entièrement décrit par des règles déterministes : l’homme est une machine complexe. Un peu d’histoire • 1833 : Babbage et Lovelace présentent une machine, le « moteur analytique », composée d'un moulin (unité de calcul), d'un magasin (mémoire), et d'un dispositif de contrôle. La machine est utilisée à l'aide de cartes opérations , de cartes de variables et de cartes nombres. • Années 1850 : Boole et Morgan proposent une base mathématique rigoureuse pour les mécanismes logiques qui pourraient permettre la réalisation d’une machine intelligente. Un peu d’histoire • 1936 : Alan Turing et Alonzo Church décrivent une machine (la machine de Turing) capable de résoudre tout problème de calcul basé sur une procédure algorithmique. C’est un modèle abstrait du fonctionnement des appareils de calcul, tel un ordinateur et sa mémoire, en vue de donner une définition précise au concept d'algorithme. • 1944 : mise en route du premier super-calculateur (basé sur de l’électromécanique), le Mark 1, par IBM. Howard Aiken en est le concepteur Les applications de l’IA Une liste non exhaustive • La traduction automatique (un des problèmes les plus compliqué qui soit) • Les systèmes de résolution de problèmes (très difficiles pour les problèmes à taille réelle, comme les problèmes de combinatoire) • Le diagnostic automatique, les systèmes d’aide à la décision (systèmes experts) • La stratégie (dans le domaine réel ou pour les jeux) • La modélisation (peu abordée par l’IA) • L’interface homme-machine (reconnaissance vocale, dialogue) • La robotique et les systèmes de contrôle « intelligents » Quelques exemples • Jeux et IA: les jeux sont un bon terrain d’expérimentation de l’IA → Jeux & IA.pdf Quelques exemples MASSIVE Multiple Agent Simulation System in Virtual Environment Logiciel d’animation de foule conçu par Stephen Regelous (initialement pour les scènes de foule du Seigneur des Anneaux) - 1 agent = 1 personnage - Chaque agent est doté de listes d’actions/réactions - Les inter-relations sont gérées par un système basé sur la logique floue http://www.massivesoftware.com/whatismassive/ Quelques exemples La traduction automatique Nécessite l’interaction de plusieurs disciplines: - l’IA (automates, réseaux bayesiens, arbres, etc.) - la linguistique - la psychologie Exemple: http://www.linguatec.fr/products/tr/information/technology/mtranslation Quelques exemples Outils de Prévision - utilisés dans tous les domaines (économie, médecine, systèmes de contrôle, …) - basés sur différentes méthodes (modèles statistiques, réseaux neuronaux, modèles de connaissance, …) - Exemple: stabilisation de dispositifs mécaniques, cours financiers. Quelques exemples Engins autonomes - utilisés pour les tâches dangereuses et/ou dans des lieux difficilement accessibles pour l’homme IA et Science fiction Sources: -Gérard Klein: www.tribunes.com/tribune/alliage/27/cham.htm - http://www.neo-cortex.fr/Articles/IAetSF.htm Première époque - avant la 2nde guerre mondiale - Préhistoire du thème: il n’existe pas encore une réalité industrielle sinon scientifique de l’informatique. - Voué à l’intelligence mécanique, aux machines intelligentes. - John Campbell (années 30 et 40) puis Isaac Asimov (années 50/60) voient les machines intelligentes comme les héritières et successeurs de l’humanité. Deux idées fortes ressortent de cette époque: - la capacité des machines à maîtriser des jeux à règles comme le jeu d’échecs, - la capacité des machines à des raisonnements logiques, symboliques et scientifiques. Isaac Asimov http://fr.wikipedia.org/wiki/John_Wood_Campbell Seconde époque - 2nde guerre mondiale jusqu’en 1970 - En lien avec l’apparition des premiers grands calculateurs électroniques en 1945 et réflexions concomitantes sur la cybernétique (Norbert Wiener). - Conformité assez générale des auteurs aux modèles proposés par les experts: l’ordinateur universel, doté d’intelligence artificielle, géant et rare . le thème du grand ordinateur est une métaphore de l’Administration planificatrice ultime, de la grande machine sociale totalitaire qu’à la fois il idéalise ou démonise, et la rend vraisemblable. 2001 L’odyssée de l’espace (1968, Stanley Kubrick, d’après une nouvelle d’Arthur C. Clarke) HAL 9000 Troisième époque - de 1970 à 1990 - Apparition de la micro-informatique et des réseaux (premier réseau entre labos américains, projet du DARPA) - C’est la cybersphère, introduite par William Gibson avec Neuromancien (1985), et de façon plus générale encore les univers de la réalité virtuelle. Gibson entreprend de décrire un univers proche et réaliste qui abolit la rupture souvent présente dans la Science-Fiction entre le présent et un avenir grandiose. L’explosion de la micro-informatique modifie complètement le recrutement sociologique des praticiens de l’informatique (moins savante, plus technicienne). Forme de banalisation. Le courant « cyberpunk » William Gibson Bruce Sterling Quatrième époque - depuis 1990 - Banalisation de la micro-informatique, apparition d’internet qui touche toute la société, mondialisation - Retour à un imaginaire débridé (par opposition avec le réalisme de la période précédente ?). Les IA sont nombreuses, mobiles, politiques et éventuellement reconnues comme citoyennes. - Notion d’Intelligences Limitées Le micro-ordinateur et les réseaux ont déjà si bien pénétré la société qu’ils ne suffisent plus à faire rêver par eux-mêmes… Peter F. Hamilton Dan Simmons Les méthodes inspirées de la biologie Les différents domaines de la biologie Le connexionisme Les Réseaux de Neurones Artificiels Les réseaux de neurones artificiels (notés RNA) s’inspirent des recherches en sciences cognitives, et plus particulièrement en neuroscience Idée: - l’intelligence est un phénomène émergent du système nerveux - une IA peut émerger d’un réseau neuro-mimétique ? Le système nerveux Le système nerveux se décompose en 2 parties (fortement liées): - Le système nerveux central - Le système nerveux périphérique Le tissu nerveux Le tissu nerveux est l’ensemble des cellules (et structures) qui composent les organes du système nerveux: - les neurones - les cellules gliales - les capillaires Le neurone Le neurone est la cellule qui permet la transmission de l’information et sa mémorisation (synapses): - principale unité fonctionnelle du système nerveux - Le système nerveux humain contient plusieurs dizaines de milliards de neurones (de 50 à 100) La synapse Impossible d'afficher l'image. Votre ordinateur manque peut-être de mémoire pour ouv rir l'image ou l'image est endommagée. Redémarrez l'ordinateur, puis ouv rez à nouv eau le fichier. Si le x rouge est toujours affiché, v ous dev rez peut-être supprimer l'image av ant de la réinsérer. La synapse assure la transmission de l’influx nerveux de neurone à neurone. Elle peut être de 2 natures: - électrique - chimique (très majoritaire) La variation du nombre de synapses (inhibitrices et excitatrices) et de leur qualité (nombre de récepteurs, conductance) permet d’apprendre ou d’oublier Les RNA: définitions La définition de S. Haykin (1994) Un réseau de neurones est un processeur massivement distribué en parallèle qui a une propension naturelle pour stocker de la connaissance empirique (experiential (experiential knowledge selon l'auteur) et la rendre disponible à l'usage. Il ressemble au cerveau sur deux aspects: 1. La connaissance est acquise par le réseau au travers d'un processus d'apprentissage 2. Les connexions entre les neurones, connues sous le nom de poids synaptiques, servent à stocker la connaissance Les RNA: définitions La définition du DARPA Neural Network Study (1988) Un réseau de neurones est un système composé de plusieurs unités de calcul simples fonctionnant en parallèle, dont la fonction est déterminée par la structure du réseau, la solidité des connexions, et l'opération effectuée par les éléments ou noeuds. Le neurone formel 1943: Modèle du neurone de J. Mc Culloch et W. Pitts - Modèle binaire du neurone biologique, premier modèle du neurone formel. - Les auteurs montrent que ces neurones en réseau peuvent réaliser des fonctions logiques ou arithmétiques. e1 e2 w1 w2 s … wn en n s = F ∑ wi ei i =1 Le neurone formel: généralisation e1 w1 e2 w2 F … en s F: Fonction d’activation wn n s = F ∑ wi ei i =1 ds (t ) = − ρs (t ) + F ∑ wi ei (t ) dt i =1 n Fonction logistique Fonction à seuil Fonction hyperbolique Fonction gaussienne Le règle de Hebb (1949) Le physiologiste D. Hebb invente une règle d’apprentissage qui correspond au conditionnement de Pavlov k i Si 2 cellules sont activées en même temps alors la force de leur connexion augmente j wij (t + 1) = wij (t ) + ρ si s j Le perceptron (1958) F. Rosenblatt invente le modèle du perceptron, basé sur le principe du cortex visuel, et destiné à la reconnaissance de formes. C’est le premier réseau « multi multi--couche ». Le perceptron (1958) Le perceptron doit trouver l'ensemble des valeurs à donner aux synapses pour que les configurations d'entrée se traduisent par des réponses voulues. Pour cela, on utilise la règle d'apprentissage de Windrow Windrow--Hoff Hoff.. wij (t + 1) = wij (t ) + ρ si ( s *j − s j ) Pour apprendre, le perceptron doit savoir qu'il a commis une erreur, et doit connaître la réponse qu'il aurait dû donner. De ce fait, on parle d'apprentissage supervisé. supervisé. Le réseau ADALINE (1960) B. Widrow développe le modèle Adaline (Adaptative Linear Element). Le réseau est identique à celui du perceptron, mais les neurones ne sont pas à valeurs binaires. L'idée est de remplacer la fonction seuil sur les cellules de sortie par la fonction identité, puis par une fonction différentiable. L’apprentissage est toujours réalisé par une formule de type Widrow--Hoff, mais qui correspond à la formule du gradient. Widrow → Approche plus rigoureuse (théorie de l’optimisation). l’optimisation). La contrecontre-attaque de Minsky et Papert (1969) M. Minsky et S. Papert montrent que les réseaux de neurones de Mc Culloch et Pitt (et donc le perceptron) ne peuvent résoudre certains problèmes non linéaires (problème de la séparabilité). Remarque: il suffisait d’augmenter le nombre de couches, et Remarque: de passer à des neurones non linéaires différentiables pour contre--contre contre contre--attaquer ! Les Réseaux de Hopfield (1982) Le physicien J.J. Hopfield invente un modèle de réseau de neurones (de type Mc Culloch et Pitt) dynamique et autoassociatif. Exemplaire pour la méthodologie et la rigueur mathématique. Réseau de Hopfield (« Hopfield tank ») - tous les neurones sont connectés entre eux - un neurone n’est pas connecté à lui-même - les poids synaptiques sont symétriques Nombreux développements par la suite (par exemple Pr. Cottrell). Le Réseau Multicouches (1985) Introduction de la règle de rétro rétro--propagation du gradient, gradient, obtenue par l’application de la méthode du gradient aux réseaux de neurones formels et différentiables. e1 s1 e2 s2 e3 en-1 sn en Entrées Couche cachée Couche de sortie ⇒ Application aux réseaux multicouches : - tous les neurones d’une couche donnée sont connectés aux neurones de la couche suivante. Les Réseaux de Kohonen (1988) Il a été observé que, dans de nombreuses zones du cortex, des colonnes voisines ont tendance à réagir à des entrées similaires. Dans les aires visuelles, par exemple, deux colonnes proches sont en correspondance avec deux cellules proches de la rétine. Ces observations ont mené T. Kohonen à proposer un modèle de carte topologique autoauto-adaptative qui permet de coder des motifs présentés en entrée tout en conservant la topologie de l'espace d'entrée. Voir applet http://membres.lycos.fr/jfbouzereau/kohonen.html Les Réseaux de Kohonen (1988) - En général, les neurones d'une carte de kohonen sont disposés sur une grille 2D. Les Réseaux de Kohonen (1988) - Le poids associé aux liaisons latérales entre neurones est fonction de la distance entre le neurone source et le neurone cible. La valeur du poids est donnée par une fonction « chapeau mexicain » (Difference Of Gaussians – DOG) Les Réseaux de Kohonen (1988) On distingue deux phases: 1. Les formes à apprendre sont présentées au réseau : - les vecteurs de poids sont mis à jour de manière à approximer les vecteurs d'entrée - les paramètres de la carte sont adaptés au fur et à mesure pour converger; 2. La phase d'utilisation proprement dite: - on présente un vecteur d’entrée particulier - le neurone dont le vecteur de poids minimise la distance avec le vecteur d'entrée représente la classe d’appartenance. Les Réseaux de Kohonen (1988) Algorithme phase d’apprentissage : • Initialisation (t (t=0): les poids wij sont générés aléatoirement • Tant que (Condition d’arrêt Fausse) faire • Calculer distance di entre le vecteur d’entrées présenté e=(e =(e1,e 1,e2,…, 2,…,em em))T et le vecteur de poids wi = (wi (wi1, 1,wi wi2,…, 2,…,wim wim)T )T de chaque neurone i : di =║ wi - e║ • Choisir le neurone dont le di est le plus petit, ce neurone étant appelé le gagnant. Les poids du gagnant sont actualisés selon une règle du type : wij( wij(t+1)= wij( wij(t) + η(t) ((ej ej((t)- wij( wij(t)) , η(t) = coefficient d'apprentissage dans [0,1], décroisant avec t • Mettre à jour les voisins du neurone gagnant suivant la même règle mais avec une fonction η(t) pondérée • Incrémenter t Les Réseaux de Kohonen (1988) Les Réseaux de neurones cellulaires (1990) Cette architecture de réseau inventée par Léon O. Chua est similaire aux automates cellulaires. Il s'agit d'un réseau où chaque cellule est connectée à ses voisins (au sens de la notion de voisinage que l'on définit pour un problème donné). Les propriétés dynamiques du réseau (stabilité, attracteurs) ont été rigoureusement étudiées. Les Réseaux de neurones cellulaires (1990) La particularité du CNN est qu’il a été conçu dès le départ comme du « hardware »: chaque cellule est un circuit RLC, le réseau possède des contrôleurs. → Circuit VLSI Méthodologie Itérer sur les 4 étapes suivantes (« développement itératif et incrémental »): 1. Choix et préparation des échantillons 2. Elaboration de la structure du réseau 3. Apprentissage 4. Validation et tests Apprentissage Il existe 2 types d’apprentissage: - Apprentissage supervisé La règle d’apprentissage modifie les poids de manière à ce que les sorties du réseau soient égales à des sorties désirées → La base d’apprentissage est constituée d’un ensemble de couples (Vecteur d’entrées,Vecteur de sorties désirées) - Apprentissage non supervisé La règle d’apprentissage n’opère qu’à partir de données sans forcer le réseau à retourner des valeurs définies par l’utilisateur Apprentissage Apprentissage supervisé - Réseaux multicouches - Réseaux de Hopfield Apprentissage non supervisé - Réseaux de Kohonen Les algorithmes génétiques La théorie de l’évolution Les Algorithmes Génétiques s’inspirent de la théorie de l’évolution de Darwin. Charles Robert Darwin (12 février 1809 - 19 avril 1882) Darwin est le biologiste britannique qui développa la première théorie d'un mécanisme biologique de l'évolution, la sélection naturelle, qui explique la diversification de la vie à travers un lent processus de modification par l'adaptation. C’est le 24 décembre 1859 que « Sur l’origine des espèces », ouvrage qui présente les fondements de sa théorie, est présenté au public Les algorithmes génétiques Holland - 1975 - Un algorithme génétique est un algorithme stochastique itératif qui opère sur une population de « solutions » - Partant d'une population initiale, trois opérateurs la font évoluer : sélection, croisement et mutation. - Le premier opérateur fait évoluer la population vers les optima d'un problème tandis que les deux suivants permettent d’explorer l’espace des états. Avantages & Inconvénients + forte exploration de l’espace + population de solutions + modularité et adaptabilité – consommateurs de ressources – visitent les régions aberrantes – stochastiques (mauvaise reproductibilité) Quelques définitions Le principe de base consiste à simuler le processus d'évolution naturelle d’une population dans un environnement hostile • 1 individu = 1 point dans l’espace des états • Chaque individu est codé par des chromosomes, chaque chromosome par des gènes • En général, 1 individu = 1 chromosome=n gènes • Une population = un ensemble d’individus Espace des états Individu Chromosome 3 Chromosome 2 Chromosome 1 Individus Gène 1 Gène 2 … Gène j … Description de l’algorithme - A partir d’une population générée semi-aléatoirement (appelée 1ière génération), on applique un procédé itératif - A la kième itération, on fait évoluer la population de la génération k à la génération k+1 - A la fin du procédé (convergence ou arrêt forcé), on obtient une population ayant des individus à fitness élevée Procédure type Ressources et paramètres: π: fonction de performance (fitness) π:i∈population → π(i) ∈IR ou π: population → π(population) ∈IR; p: taille de la population à toutes les étapes; (taille fixe) r: taux de croisement (r % des individus de la population courante sont impliqués dans un croisement à chaque étape) et taux de sélection pour report ((1 - r ) % des individus sont sélectionnés pour être reportés dans la nouvelle population); m: taux de mutation (m % de la nouvelle population font l'objet d'une mutation à chaque étape); Procédure • générer p individus de manière aléatoire pour former la population P0; • k = 0; •calculer π(i) pour tout i∈P0 (ou π(P0)); •tant que critère-d'arrêt non satisfait • sélectionner au hasard (1-r)p individus dans Pk selon la loi de probabilités Pr(i) = π(i) / ∑0≤j≤p-1 π(j) pour tout individu i; placer les individus sélectionnés dans Pk+1; • sélectionner (1/2)rp paires d'individus dans Pk selon la loi de probabilités Pr(i) = π(i) / ∑0≤j≤p-1 π(j) pour tout individu i; pour chaque paire d'individus, générer par croisement une nouvelle paire d'individus et la placer dans Pk+1; • faire muter m% des individus de Pk+1 sélectionnés selon la loi uniforme; • k++; •calculer π(i) pour tout i∈Pk (ou π(Pk)); Travail à faire… Travail à faire pour construire un AG • codage des individus de la population (représentation formelle), • définition de la fonction de performance π, • définition des fonctions de sélection aléatoires, • définition des opérateurs d'évolution: sélection, mutation, croisement, etc… • définition de la valeur des paramètres. Le détail de ce travail est particulier à chaque problème Méta--optimisation… Méta • Les performances des AG dépendent (fortement) de leurs paramètres : Gestion de la population Gestion de l’évolution Taille de population Taux de croisement Nombre de processus parallèles Taux de mutation Taux de migration Croisements à un et deux points Gestion de la convergence Pression de sélection Fréquence des apocalypses Élitisme Condition globale d’arrêt Âge maximal Limite de dissimilitude Méta--optimisation… Méta Pression de sélection Élitisme Âge maximal Limite de dissimilitude nouvelle génération génération temporaire Méta--optimisation… Méta Gestion de la population Taille Gestion de population de l’évolution Nombre de processus parallèles Taux de croisement Pression de sélection Taux de migration Taux deGestion mutation Élitisme de la convergence A.G. p1 p2 p3 p4 Croisements un et deux points Âge maximalàdes Fréquence apocalypses Limite de dissimilitude Condition globale d’arrêt p5 p6 pn Que faire avec ces paramètres ? Méta--optimisation… Méta • Comment définir une stratégie optimale ? – Comment comparer deux exécutions ? – Dans un contexte stochastique ? – La « meilleure » stratégie dépend-elle du problème traité ? • Question ouverte : comment connaître a priori des paramètres satisfaisants ? Exemple: travail de Kamel Belkhelladi Méta--optimisation… Méta Les algorithmes inspirés de l’éthologie L’éthologie Etude scientifique des comportements animaux, avec une perspective biologique Plus généralement: Science qui a pour objet l'étude du comportement d'un être vivant dans son milieu naturel http://ethologie.unige.ch/etho1.05/par.date/2006_03_22.htm Les colonies de fourmis Idée originale issue de l'observation du comportement collectif d'exploitation de la nourriture chez les fourmis : - une fourmi possède des capacités cognitives très limitées - des fourmis sont collectivement capables de découvrir le plus court chemin entre une source de nourriture et le nid. Des biologistes ont ainsi observé qu'une colonie de fourmis ayant le choix entre deux chemins d'inégale longueur menant à une source de nourriture avait tendance à exploiter le chemin le plus court. Le modèle Un modèle expliquant ce comportement est le suivant : 1. une fourmi (appelée « éclaireuse ») parcourt plus ou moins au hasard l'environnement autour de la colonie 2. si celle-ci découvre une source de nourriture, elle rentre au nid, en laissant sur son chemin une piste de phéromones 3. ces phéromones étant attractives, les fourmis passant à proximité vont avoir tendance à suivre cette piste 4. en revenant au nid, ces mêmes fourmis vont renforcer la piste 5. si deux pistes sont possibles pour atteindre la même source de nourriture, celle étant la plus courte sera parcourue par plus de fourmis que la piste longue 6. la piste courte sera donc de plus en plus renforcée, et donc de plus en plus attractive 7. la piste longue, elle, finira par disparaître, les phéromones étant volatiles Les fourmis ont collectivement « choisi » la piste la plus courte Le modèle La stigmergie Les fourmis utilisent l'environnement comme support de communication : - Elles échangent indirectement de l'information en déposant des phéromones, le tout décrivant l'état de leur « travail » - Ce système porte le nom de stigmergie La stigmergie se retrouve chez plusieurs animaux sociaux (notamment étudié dans le cas de la construction de piliers dans les nids de termites) Le problème du voyageur de commerce (PVC) Une des premières applications de la méthode des colonies de fourmis a été le PVC, appelée Ant system (système fourmi) Objectif: trouver le chemin le plus court permettant de relier un ensemble de villes, la distance entre deux villes étant la distance euclidienne ou la longueur d’un arc L’algorithme Ant L'algorithme repose sur un ensemble de fourmis, chacune parcourant un trajet parmi ceux possibles. À chaque étape, la fourmi choisit de passer d'une ville à une autre en fonction de quelques règles : - elle ne peut visiter qu'une fois chaque ville - plus une ville est loin, moins elle a de chance d'être choisie (=> « visibilité ») - plus l'intensité de la piste de phéromone disposée sur l'arrête entre deux villes est grande, plus le trajet aura de chance d'être choisi - une fois son trajet terminé, la fourmi dépose sur l'ensemble des arrêtes parcourues une piste de phéromone, dont l'intensité augmente si le trajet est court - les pistes de phéromones s'évaporent à chaque itération. L’algorithme: choix d’une ville La probabilité qu’a une fourmi k située sur une ville n° i de choisir comme prochaine ville la ville n° j est donnée par la formule : (τ (t ) )α (η ) β ij ij k si j ∈ J i α β k τ η ( t ) pij (t ) = ∑ ( il ) ( il ) k l∈Ji 0 si j ∉ J ik Jik = liste des mouvements possibles pour la fourmi k lorsqu'elle se trouve sur la ville n° i, ηij = visibilité, égale pour le PVC à l'inverse de la distance entre les villes i et j (1/dij) , τij(t) = intensité de la piste à une itération donnée t Principaux paramètres de l'algorithme: α et β, qui contrôlent l'importance relative de l'intensité et de la visibilité d'une arête. Il est nécessaire de régler α et β en faisant un compromis entre une intensification trop grande (α=0) ou une diversification trop poussée (β=0). L’algorithme: les phéromones Une fois la tournée des villes effectuée, la fourmi k dépose une certaine quantité de phéromone sur chaque arête de son parcours : Q k si i , j ∈ T (t ) ( ) k k ∆τ ij (t ) = L (t ) 0 si ( i, j ) ∉ T k (t ) Tk(t) est la tournée parcourue par la fourmi k à l'itération t Lk(t) la longueur du trajet effectué Q un paramètre de réglage L’algorithme: la piste À la fin de chaque itération de l'algorithme, les pistes déposées par les fourmis s'évaporent : m τ ij (t + 1) = (1 − ρ )τ ij (t ) + ∑ ∆τ ijk (t ) k =1 m = nombre de fourmis utilisé pour l'itération t ρ = paramètre de réglage de l’évaporation Les réseaux bayesiens http://perso-math.univ-mlv.fr/users/bouissou.marc/siteRB/default.htm Définition Un réseau bayésien est un modèle probabiliste graphique permettant d’acquérir, de capitaliser et d’exploiter des connaissances, né du besoin de créer des systèmes experts à base de probabilités. Appartient à la classe des modèles graphiques de représentation et de manipulation de la connaissance dans l'incertain Définition un réseau bayésien est défini par: - sa structure : un graphe orienté acyclique - son paramétrage : des tables de probabilités conditionnelles Structure - Un nœud = une variable aléatoire (souvent binaire, fréquemment discrète) - Un arc orienté = relation de causalité entre la variable source et la variable puits, à laquelle est associée une table de probabilité Grève La variable Grève peut prendre 2 valeurs: VRAI ou FAUX Retard La variable Retard peut prendre 2 valeurs: VRAI ou FAUX Paramétrage - Les tables de probabilités sont définies par des statistiques relatives au problème à résoudre (peuvent aussi être déterminées par des experts). - Chaque variable dispose d’une table de probabilités conditionnelles relatives aux variables causales dont elle dépend Grève = Vrai Grève = Faux Retard = Vrai 0.7 0.1 Retard = Faux 0.3 0.9 Grève Retard Effet du paramétrage sur le graphe L'observation d'une ou plusieurs causes n'entraîne pas systématiquement l'effet ou les effets qui en dépendent Elle modifie seulement la probabilité d’observer ces effets Les différents problèmes à résoudre • Comment déterminer le graphe causal (i.e. la structure) ? => l’expertise et l’apprentissage • Comment estimer les tables de probabilités (i.e. le paramétrage) => l’apprentissage • Comment calculer la probabilité de certains états à partir de la probabilité des autres ? => l’inférence Une touche de probabilités… - P(Grève=Vrai) ne dépend pas de Retard (Grève est antérieure à Retard) => probabilité a priori qu’il y ait grève: probabilité marginale - La probabilité que Retard=Vrai sachant que Grève=Vrai se note: P(Retard=Vrai | Grève=Vrai) C’est la probabilité a posteriori que Retard=Vrai sachant la valeur de Grève Grève = Vrai Grève = Faux Retard = Vrai 0.7 0.1 Retard = Faux 0.3 0.9 Une touche de probabilités… - P(A∩B)= P(A,B)= probabilité d’observer l’évènement A ET l’évènement B « probabilité que je sois en retard et qu’il y ait une grève » - P(AUB)= probabilité d’observer l’évènement A OU l’évènement B « probabilité que je sois en retard ou qu’il y ait une grève » - P(A|B)= probabilité d’observer l’évènement A sachant que l’évènement B s’est produit « probabilité que je sois en retard sachant qu’il y a une grève » (suppose lien de causalité entre grève et retard) Le théorème de Bayes Résultat de base en théorie des probabilités, issu des travaux du révérend Thomas Bayes (1702-1761), présenté à titre posthume en 1763: et A B Le terme P(A) est la probabilité a priori de A. Elle est « antérieure » au sens qu’elle précède toute information sur B. P(A) est aussi appelée la probabilité marginale de A. Le terme P(A|B) est appelée la probabilité a posteriori de A sachant B (ou encore de A sachant B). Elle est « postérieure », au sens qu’elle dépend directement de B. Le terme P(B|A), pour un B connu, est appelée la fonction de vraisemblance de A. De même, le terme P(B) est appelé la probabilité marginale ou a priori de B. Le théorème de Bayes: Exemple Deux machines M1 et M2 produisent respectivement 100 et 200 pièces. M1 produit 5% des pièces défectueuses et M2 produit 6% des pièces défectueuses. Quelle est la probabilité pour qu'une pièce défectueuse ait été fabriquée par la machine M1 ? M1 Pièce Défectueuse M2 Le théorème de Bayes: Exemple Notations: A =évènement « présence d’une pièce défectueuse » Mi = évènement « pièce produite par machine Mi » , i=1,2 P(A)=probabilité de l’évènement A (proba marginale) = ?? P(Mi)=probabilité de l’évènement Mi = ?? Problème: Calculer P(M1|A) = probabilité qu’une pièce soit produite par M1 sachant qu’elle est défectueuse (fonction de vraisemblance) Le théorème de Bayes: Exemple Résolution par application du théorème de Bayes: P(M1|A) = P(A|M1).P(M1) / P(A) Or: P(M1)=1/3 et P(M2)=2/3 P(A|M1)=proba pièce défectueuse produite par M1=5/100 P(A|M2)=proba pièce défectueuse produite par M2=6/100 P(A)=proba pièce défectueuse=5%*P(M1) + 6%*P(M2)=5/300+12/300 Donc: P(M1|A)=(5/100)*(1/3)/(17/300)=5/17~0.29 Inférence L'utilisation d'un réseau bayésien s'appelle inférence : en fonction des informations observées, on calcule la probabilité des données non observées. Les algorithmes d’inférence permettent de propager l’information probabiliste le long des arcs du réseau Permet « d’inverser les probabilités »: observant les conséquences, retrouver les causes les plus probables Repose sur les règles de l’inférence bayésienne Inférence - exemple Exemple: - en fonction des symptômes d'un malade, on calcule les probabilités des différentes pathologies compatibles avec ces symptômes - on peut aussi calculer la probabilité de symptômes non observés, et en déduire les examens complémentaires les plus intéressants Indépendance conditionnelle L’indépendance conditionnelle est à la base du fonctionnement des réseaux bayésiens Les réseaux bayésiens servent à représenter graphiquement les indépendances conditionnelles A et B sont indépendants conditionnellement à C ssi: lorsque l'état de C est connu, toute connaissance sur B n'altère pas A P( A | B , C ) = P( A | C ) Exemple d’application pour 3 configurations à 3 nœuds Exemple 1: connexion série S4 S2 A C S5 B Connexion série - A et B sont dépendants - A et B sont indépendants conditionnellement à C : • si P(C) est connue, A n’intervient pas dans le calcul de P(B) • P(S5|S4, S2) = P(S5|S4) = P(S5|parents(S5)) Exemple 2: connexion divergente S2 C S4 S3 A B Connexion divergente - A et B sont dépendants - A et B sont indépendants conditionnellement à C : • si P(C) est connue, A n’intervient pas dans le calcul de P(B) • P(S4|S2, S3) = P(S4|S2) = P(S4|parents(S4)) Exemple 3: connexion convergente S1 S2 A B S3 C Connexion convergente - A et B sont indépendants - A et B sont indépendants conditionnellement à C : • si P(C) est connue, A n’intervient pas dans le calcul de P(B) • P(S3|S1, S2) = P(S3|parents(S3)) Inférence et Probabilités locales • Soit S l'ensemble de toutes les variables Si du réseau • On cherche à calculer la probabilité jointe P(S) • Par définition : P(S) = P(S1) P(S2|S1) P(S3|S2,S1) … P(Sn|Sn-1…S1) • D'après nos 3 types de relations entre variables P( Si | Si-1 … S1 ) = P( Si | parents(Si) ) Seules comptent les probabilités de chaque variable connaissant ses parents (=probabilités locales) pour calculer la probabilité jointe (globale) Applications: exemples • Diagnostic de pannes en fonction de mesures du système • Diagnostic médical : probabilité d'une maladie en fonction de symptômes • Fusion de données : ♦ N experts donnent un avis (plus ou moins sur) sur une question ♦ déterminer la probabilité d'un phénomène à partir de N indices plus ou moins bien observés Remarque… - Certains considèrent qu’il n'y a pas toujours de rapprochement entre un modèle de type « réseau bayésien » et la « statistique bayésienne » - Le terme diagramme d'influence, plus général et dénué de connotation, est donc parfois préféré à réseau bayésien Les automates Les automates à états finis Les automates cellulaires Automates hybrides et autres… Les systèmes multi--agents multi Les modèles individus centrés Formalismes utilisés • UML • Algorithme For step = 1 to 365 Agent a = population.selectAgent() a.interactWithNeighbours() a.updateKnowledge() a.takeDecision() a.act() Next step • Automates Formalismes utilisés • Formalisme logique (algorithmes) • Formalisme mathématique – Equations analytiques, différentielles • Règles d’interactions • Variables globales, macroscopiques – Exemple : exponentielle négative pour représenter un phénomène qui part de 1 à 0 et qui s’amortit jusqu’à tendre vers 0 à +∞ 1 Plateformes • Nombreuses plateformes de simulation individus centrés : – CORMAS (Small-Talk) – NetLogo (langage propre) – RePast (Java) – Ascape (Java) – Madkit (Java) –… • D’autres solutions – Java, C++ – Excel Intérêts - défauts de l’approche individus centrés • Formalisme – moins contraignant qu’un formalisme mathématique classique – plus facile pour le non mathématicien – Lien avec les sciences humaines et sociales • Intermédiaire entre approche théorique et empirique • Simulation d’un système artificiel difficilement appréhendable sans l’ordinateur – Comportements individuels – Interactions entre agents – Hypothèses dynamiques Intérêts - défauts de l’approche individus centrés • Compréhension difficile de la production des résultats du modèle • Évaluation/Validation • Lien empirique – Données nécessaires ≠ Données disponibles • Attache théorique – Nécessaire pour que le modèle soit autre chose que la représentation du seul modélisateur Applications • Artefact pour la réflexion – Par la formalisation – Par la comparaison des attendus et des résultats – Par la compréhension précise des mécanismes de production des résultats au niveau du modèle • Test qualitatif d’hypothèses – Aménagement du territoire – Gestion de l’eau –… • Artefact pour la négociation • Formation/entraînement • Prédiction (???) Les SMA « réels » SMA et calcul parallèle