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