Vous êtes sur la page 1sur 38

Intelligence Artificielle IAD/SMA

Intelligence Artificielle
Distribuée/SMAs
Intelligence Artificielle IAD/SMA

IA Distribuée?
• On passe d’un paradigme psychologique à un
paradigme sociologique.
=> des sociétés d’”unités” qui travaillent en
commun pour aboutir à un but global.

• L’IA Distribuée ajoute donc la dimension


sociale à l’IA classique.
RAISONS DE LA
DISTRIBUTION?
Intelligence Artificielle IAD/SMA

IA Distribuée?
L’intelligence Artificielle Distribuée conçoit et étudie des
systèmes dans lesquels des unités (agents, …) opèrent de
façon collective et décentralisée pour accomplir des tâches
dans un environnement commun.
Métaphore du “penseur” :
la machine pense et, elle sait
quelque chose par elle-même

Limites
- Les grandes
réalisations sont l’oeuvre
de groupes et de
Métaphore des organisations sociales,
sociétés.
Action et Interaction deviennent plus importantes
que l’intelligence individuelle.
- Les capacités
coopérer (contrôle)
cognitives d’un individu
collaborer (allocation de tâches)
résultent de son
négocier (résolution de conflits)
environnement social
se coordonner (synchronisation)
PLUSIEURS RAISONS.....
Intelligence Artificielle IAD/SMA

RAISONS INDUSTRIELLES
SITUTIONS NATURELLEMENT DISTRIBUEES
■ Distribution fonctionnelle dans les activités humaines
(comme la conception d’un produit, par exemple) :
■ Points de vue et langages (ontologies) variés
■ Décomposition du problème en fonction des spécialités
■ Comment assister ces activités de façon automatisée ?
■ Systèmes multi-experts
Intelligence Artificielle IAD/SMA

Des raisons en Informatique


■ Evolution de l’informatique vers le « Pervasive Computing » (informatique diffuse)

■ Nouveaux « systèmes » informatiques (amorphous computing)


■ Construits de façon ascendante,
■ Logiciels et matériels hétérogènes,
■ Aucune contrôle global possible,
■ Configurations et fonctionnalités évolutives,
■ Situés dans des environnements dynamiques
Intelligence Artificielle IAD/SMA

CONCRETEMENT…

L’IAD s’organise autour de trois axes :

- L’Intelligence Artificielle Parallèle

- La Résolution Distribuée de Problèmes

- Les Systèmes Multi-Agents


AGENT

ENVIRONNEMENT
Intelligence Artificielle IAD/SMA
Qu’est-ce qu’un agent ?

Une définition ( CF. Ferber 95)


Agent : tout ce qui perçoit son Environnement à l’aide de ses capteurs
et qui agit sur son environnement l’aide de ses effecteurs..

AI: a nouvel Approach


(Russel 2000)

Pour un humain:
- Capteurs : oreilles, yeux, nez, peau, …
- Effecteurs : mains, bras, jambes, bouche, …
Pour un robot :
- Capteurs : caméra vidéo, laser, capteur infra-rouge, tactile, …
- Effecteurs : bras robotisé, roues, pinces, …
Pour un agent logiciel (softbot) :
- Capteurs : données, chaînes de caractères, …
- Effecteurs : données, chaînes de caractères, …
Intelligence Artificielle IAD/SMA

Donc, on définit des Caractéristiques pour un agent


• situé : l'agent est capable d'agir sur son environnement à partir des
entrées sensorielles qu'il reçoit de ce même environnement;
autonome : l'agent est capable d'agir sans l'intervention d'un tiers
(humain ou agent) et contrôle ses propres actions ainsi que son état interne;
proactif : l'agent doit exhiber un comportement proactif et opportuniste, tout en étant
capable de prendre l'initiative au bon moment;
VS

• mobile : capable de se déplacer vers un autre environnement


• rational : capable d’agir en fonction de ses objectifs interne et ses connaissances
• intelligent : Conscient de son raisonnement: croyances, objectifs, plans, hypothèses
sont explicites
• social : l'agent doit être capable d'interagir avec des autres agents : Coopération,
concurrence, …..
• adaptatif : Face  à  un  environnement  perpétuellement  changeant, un  agent  doit
 constamment  modifier  le  plan
• ----------------
Intelligence Artificielle Agents Intelligents

Agents vs Objets

Agent: entité autonome interagissant avec son environnement

Objet: entité passive possédant un état et sur lequel on peut effectuer des
opérations.

Un agent peut être constitué de plusieurs objets.

C’est un paradigme de programmation mettant en évidence l’autonomie et les


interactions. (Programmation orientée-agent)
Intelligence Artificielle Agents Intelligents

Agents vs Objets
Intelligence Artificielle IAD/SMA

AGENT: typologie

• agent rationnel
– IA, comportement délibératif, perceptions, croyances, buts
– ex : système expert, BDI ( Plate-forme JACK, 3APL,…)

• agents logiciels
– ex : démons Unix, virus informatiques, robots Web

• agents mobiles
– code mobile -> objet mobile -> agent mobile (processus)
– motivations : minimisation communications distantes, informatique nomade
– technologie en avance sur les besoins
– problèmes de sécurité, coquilles vides

• agent assistant
– secrétaire virtuelle (trie le mail, gère les RdVs...)
– < logiciel utilisateur + assistant >
Intelligence Artificielle IAD/SMA

AGENT: typologie

• agent robotique
– architectures de contrôle de robots
– sélection de l’action
– robotique collective (ex : RoboCup, déminage...)

• vie artificielle
– alternative à l’IA classique
– modélisation/simulation des propriétés fondamentales de la vie (adaptation,
reproduction, auto-organisation...)
– importation de métaphores biologiques, éthologiques...
– ex : algorithmes à base de fourmis (agents) pour routage de réseaux

• systèmes multi-agents
– résolution distribuée (décentralisée) de problèmes
– coordination, organisation
– ex : robotique collective
Intelligence Artificielle IAD/SMA

Structure d’un agent

Agent = architecture + programme:

- Architecture:
* Organisation matérielle et logicielle
* Contrôle les capteurs et « fabrique » les séquences perceptives
* Exécute les programmes et les actions ( contrôle les effecteurs)

- Programme: une procédure qui met en correspondance les séquences


perceptives et les actions

Pour Chaque agent il faut analyser : sa séquence perceptive (Percepts),


ses actions (Actions), ses objectifs (Goals) et son environnement
(Environment) = PAGE
Intelligence Artificielle Agents Intelligents

Structure d’un agent


Structure générale d'un agent Structure générale d'un agent dans
un système multi-agents

Structure générale
d'un agent
qui interagit avec
d'autres agents
Intelligence Artificielle IAD/SMA

Architecture: Agents  réactifs  et…  cognitifs


CITONS ICI
4 types de base en ordre de généralité grandissante:

------
–Agent simple réflexe

–Agent réflexe avec état interne

Réactif
Cognitif

–Agent basé sur les buts

–Agent basé sur l’utilité


-----
Tous ces types peuvent être transformés en agents apprenants.
Intelligence Artificielle IAD/SMA

1. Agent réflexe simple


C’est l’agent le plus simple : il ignore la séquence de percepts pour se concentrer
sur le dernier reçu.
Pseudo-code

fonction agent réflexe simple


entrée : un percept
sortie : une action
variable : un ensemble de règles

détermine l’état courant en fonction du


percept en entrée sélectionne la règle
correspondant à cet état récupère dans
la règle l’action à effectuer

retourne l’action

Les règles dites condition-action ont la forme : Si Condition alors Action.


Intelligence Artificielle IAD/SMA
2. Agent réflexe avec modèle
Pour gérer une observation partielle du monde, on introduit une variable d’état :
Une variable d’état représente le monde en fonction de la séquence de percepts et d’actions de l’agent.
Ceci permet d’avoir une estimation des aspects non-observés du monde.
Pour faire évoluer cette variable, on doit savoir :
- comment le monde évolue indépendamment de l’agent
- comment les actions de l’agent affectent le monde.

Ces deux connaissances constituent un modèle du monde interne à l’agent.

fonction agent avec modèle


entrée : un percept
sortie : une action
variable : la variable d’état
un ensemble de règles
la dernière action effectuée

détermine l’état courant en fonction du percept


en entrée, de la variable d’état et de la dernière
action effectuée
met à jour la variable d’état
sélectionne la règle correspondant à cet état
récupère dans la règle l’action à effectuer

retourne l’action
Intelligence Artificielle IAD/SMA

3. Agent avec objectif


Le fait de baser ses choix d’action seulement sur l’observation du monde peut entraîner l’indécision. D’où l’intérêt
de définir des objectifs pour l’agent, qui lui permettront de trancher.
Par exemple, le taxi automatique arrive à une intersection. S’il ne sait pas quelle est sa destination finale, il ne
saura pas choisir parmi les différentes routes.
Si l’agent connaît ses objectifs, il peut utiliser sa représentation interne du monde pour prédire quelles seront,
parmi les différentes actions possibles, celles qui peuvent le mener efficacement à la solution.

fonction agent avec objectif


entrée : un percept
sortie : une action
variable : la variable d’état
un ensemble d’objectifs
la dernière action effectuée

détermine l’état courant en fonction du percept


en entrée, de la variable d’état, et de la dernière
action effectuée
met à jour la variable d’état sélectionne l’action a
effectuer en fonction des objectifs

retourne l’action
Intelligence Artificielle IAD/SMA

4. Agent avec fonction d’utilité


Un agent dirigé par les but est souvent insuffisant
- les buts permettent de déterminer si un état possible est bon ou pas pour l’agent
- ils ne permettent pas d’établir une hiérarchie entre les différentes actions
possibles, qui ne sont pourtant pas équivalentes, en général. Elles aboutissent à des états plus ou
moins favorables à l’agent.

Ex. taxi-driver: il existe plusieurs chemins pour arriver à destination, et certains sont plus courts que d’autres.
Pour palier ce problème, il faut introduire une fonction d’utilité. Elle a pour rôle de permettre de départager les
objectifs quand ils s’opposent, ou en cas d’incertitude sur leur réalisation.
Intelligence Artificielle IAD/SMA

5. Agent apprenant
Une question générale qu’on peut se poser, c’est comment l’agent sait-il choisir l’action qu’il doit effectuer. S’il
utilise des règles : comment les a-t-il eues ? Si c’est une fonction d’utilité, comment a-t-elle été définie ?

- Première solution : c’est le concepteur qui s’en est chargé. Beaucoup de travail
- Deuxième solution : l’agent a appris tout seul. L’avantage ici est de pouvoir lâcher l’agent dans un
environnement complètement inconnu.
Module d’action
correspond à un agent précédemment décrit

Modèle de performance
répertorie des situations bonnes ou mauvaises pour
l’agent. Le Module de critique les compare à la situation
actuelle pour faire un retour au module d’apprentissage.

Module de Critique
fournit une évaluation de la qualité du comportement de
l’agent en se basant sur un modèle de performance.

Module d’apprentissage
utilise un retour (une critique) des actions précédemment
effectuées pour déterminer comment le module d’action
doit être modifié pour mieux se comporter dans le futur.

Générateur de problèmes
il suggère des actions dans le but d’engranger des
nouvelles expériences et des nouvelles informations.
Exploration,..
Intelligence Artificielle IAD/SMA

Environnement
1. Spécification de l’environnement

Première étape lors de la conception d’un agent : déterminer l’environnement de la


tâche.
Cette conception comprend :

- P : mesure de la performance
- E : environnement de l’agent (le monde (contexte) dans lequel il évolue)
- A : effecteurs
- S : capteurs

Exemple du taxi automatique :


- P = sécurité, vitesse, respect des lois, confort, profits,…
- E = routes, autres véhicules, piétons, clients,…
- A = volant, accélérateur, frein, clignotant, klaxon,…
- S = caméras, sonar, indicateur de vitesse, capteurs du moteur,…
Intelligence Artificielle IAD/SMA

2. Propriétés de l’environnement

-Complètement/partiellement observable

• Complètement observable si on observe effectivement l’environnement entier, ou au


moins toutes les informations nécessaires à l’agent pour prendre une décision.
• Partiellement si il y a du bruit ou si une partie du monde est simplement masquée
(l’aspirateur ne peut pas savoir s’il y a de la saleté en B quand il est en A).

-Déterministe/stochastique

• On parle du point de vue de l’agent !


Un monde déterministe mais dont l’observation est partielle pourra paraître
stochastique à l’agent.
• Un monde est déterministe pour l’agent si le prochain état ne dépend que de l’état
actuel et de l’action que l’agent va réaliser.
• Si le monde est déterministe à la seule exception des autres agents, il est dit
stratégique.
Intelligence Artificielle IAD/SMA

- Épisodique/séquentiel

• Episodique : le changement d’état de l’environnement ne dépend que de son état


actuel, et pas des états passés (pas de planification possible).
• Séquentiel : une décision prise à un moment donné va avoir un impact dans le futur
(taxi, échecs). Les environnements épisodiques sont plus simples à gérer.

- Statique/dynamique

• Dynamique : l’environnement peut changer même si l’agent ne fait rien (taxi


automatique).
• Statique : le contraire. Plus simple à gérer car l’agent n’a pas à surveiller le monde en
permanence (mots-croisés).
• Semi-dynamique : l’environnement ne change pas au cours du temps, mais
l’évaluation de sa performance oui (échecs chronométrés).
Intelligence Artificielle IAD/SMA

- Discret/continu

• La distinction peut s’appliquer :


-A l’état du monde.
-A la façon de gérer le temps.
-Aux percepts.
-Aux actions.

• Ex :
jeu d’échecs est discret pour tout sauf le temps.
Taxi est continu pour tout

- Mono-agent/Multi-agent

• On parle du point de vue de l’agent


• Il peut être plus efficace en termes de performance de considérer un agent (extérieur)
comme un objet ayant un comportement aléatoire.
• Compétition : multi-agents entrant en conflit (jeu d’échecs).
• Coopération : multi-agents oeuvrant ensemble (taxi automatique et les autres
véhicules (partiellement coopératifs)).
Intelligence Artificielle IAD/SMA

3. Exemples
Intelligence Artificielle Agents Intelligents

Propriétés de l’environnement

Situation la plus difficile:

–Partiellement observable
–Stochastique
–Séquentielle
–Dynamique
–Continue
–Multi-agent

Exemple: conduite automatisée d’un taxi


Intelligence Artificielle IAD/SMA

Mesure de performance
Formellement, la mesure de performance se présente sous la forme d’une fonction
associant un nombre réel à la succession des états de l’environnement :
V: S∗→R
où S* est l’ensemble des historiques possibles.

- la mesure doit être la plus objective possible, c’est pourquoi elle dépend de
l’environnement, elle est extérieure à l’agent. Par exemple un agent humain n’est
pas forcément objectif quand il s’agit de s’auto-évaluer : certaines personnes se
surestiment, d’autres se sous-estiment.

- La mesure doit être pertinente par rapport à l’objectif souhaité.

- Pour résumer :

Externe

Fixée par le concepteur

Propre à la tâche
Intelligence Artificielle Agents Intelligents

Agent rationnel
Rationnel = basé sur le raisonnement

Agent rationnel: l’agent doit exécuter l’action qui maximise sa mesure de


performance en fonction de sa perception du monde et de ses connaissances.

« For each possible percept sequence, an ideal rational agent should do whatever action is
expected to maximize its performance measure, on the basis of the evidence provided by
the percept sequence and whatever buil-in knowledge the agent has. »
Russel, Norvig, page 33.

Mesure de performance:

– Réussir une tâche

– Quantité de ressources consommées

– Temps mis pour réaliser la tâche


Intelligence Artificielle Agents Intelligents

Agent rationnel

Rationnel (ce n’est pas).


- Omniscient
- Clairvoyant
- Succès

Rationnel (c’est)
- Exploration
- Apprentissage
- Autonomie

La notion d’agent est un outil d’analyse de systèmes et non pas une


caractérisation absolue qui divise le monde en de deux : Agents et
non-Agents
Intelligence Artificielle Agents Intelligents

AGENT RATIONNEL
Le modèle BDI (Belief-Desire-Intention)
Le modèle BDI (Belief-Desire-Intention) est un modèle de raisonnement utilisé
en intelligence artificielle et ayant ses racines en philosophie et sciences
cognitives. Il est largement utilisé comme modèle de raisonnement agent
notamment dans la plateforme JACK (http://www.agent-software.com ) ou
3APL.

Dans le modèle BDI, comme représenté


dans la figure, un agent a des
croyances sur le monde, il doit satisfaire
des désirs en effectuant des intentions.
􀂾
Intelligence Artificielle IAD/SMA

SMA
- Faire coopérer un ensemble d’entités pro-actives et
relativement indépendantes appelés « agents » et dotés d’un
comportement intelligent ou pas

- Ceci dans l’objectif de coordonner leurs buts et leurs plans


d’actions pour la résolution de problèmes

- Technique utilisable dans de nombreuses disciplines


notamment en simulation

[1] Ferber J., Les Systèmes Multi-Agents, vers une intelligence collective, — collection iia,
Inter-éditions, 1995.
[2] Guessoum Z. and Briot J.P., From active objects to autonomous agents. IEEE
Intelligence Artificielle IAD/SMA

SMA
 Un SMA peut-être :
■ Ouvert : les agents y entrent et en sortent librement (ex: un
café, une application de commerce électronique, etc.)
■ Fermé : l'ensemble d'agents reste le même (ex: un match de
football, un système multi-experts)
■ Homogène : tous les agents sont construits sur le même modèle
(ex: une réunion de travail, une colonie de fourmis)
■ Hétérogène : des agents de modèles différents, de granularité
différentes (ex: un éco-système)
■ Mixte (ou non) : les agents « humains » sont partie intégrante du système
(ex: un groupe de travail médié par des agents assistants) (implique ouvert et
hétérogène)

 Les applications les plus complexes concernent les SMA ouverts, hétérogènes et
mixtes… mais la plupart des recherches se font sur les systèmes fermés et homogènes.
Intelligence Artificielle Agents Intelligents

Références
En français
– Jacques Ferber, Les systèmes multi agents, InterEditions 1995 réédité
en 200. La référence en français.
– Eric Bonabeau et Guy Theraulaz, Intelligence Collective, Hermès
1994. Tout sur la « Swarm Intelligence ».
– JFIADSMA, tous les Actes des Journées Francophones en Intelligence
Artificielle Distribuéeet Systèmes Multi Agents, Colloque annuel.

En anglais
– Stuart Russel, Peter Norvig, Artificial Intelligence ― a modern
approach, la version 2002 s’intitule « the agent release » et intègre les
concepts agents dans le cadre de l’IA classique.
– Alan H. Bond, Les Gasser Ed., Readings in Distributed Artificial
Intelligence, Morgan Kaufmann, 1988. Un recueil très classique des
articles fondateurs sur l’IAD.
– Michael J. Wooldridge, An Introduction to multi agent systems, J.
Wiley & sons, 2002. Une bonne introduction aux agents rationnels,
fondés sur les logiques (LPO et modales).
Quelques autres références utiles
Articles de base
P. R. Cohen et H. J. Levesque. Intention is choice with commitment. Artificial
Intelligence, 42(3): 213-261, 1990.
Article de référence sur les aspects logiques.
 
A. S. Rao et M. Georgeff. BDI Agents : From Theory to Practice, In V. Lesser (ed.):
Proceedings of the first International Conference on Multi-Agent Systems, pages 312-
319. MIT Press, 1995.
Tentative d’intégration des fondements théoriques des BDI et des aspects
d’implémentation.
 
A. S. Rao et M. Georgeff. Decision procedures of BDI logics. Journal of Logic and
Computation, 8(3): 293-344, 1998.
Techniques de raisonnement en logique BDI.
 
BDI [CiteSeer; NEC Research Institute; Steve Lawrence, Kurt Bollacker, Lee Giles]
De nombreux articles récents sur le modèle BDI.
 
Ouvrages
M. E. Bratman. Intentions, Plans, and Practical Reason. Harvard University Press:
Cambridge, MA, 1987.
La référence de base pour les aspects philosophiques.
 
M. Wooldridge. Reasoning about Rational Agents. Intelligent Robots and
Autonomous Agents. MIT Press, Cambridge, Massachussetts, 2000.
Synthèse présentant l’approche BDI autour de la logique LORA.
 
Tutoriels
R. Schmidt, D. Tishkovsky, U. Hustadt, M. Fisher, C. Dixon. Proof Methods for
Multi-Agents Systems. Séminaire de Dagstuhl, Nov. 2002.
Résultats de complétude et de complexité pour quelques-unes des logiques les plus
utilisées.
 
M. Pauly et M. Wooldridge. BDI Logics. 1st North American Summer School in
Logic, Language, and Information with the 11th Logic, Language, and Computation,
Colloquium, NASSLLI '02, Stanford, CA, June 24-30, 2002.
Présentation succincte des langages de description logique.
 
M. Luck. Introduction to Autonomous Agents and Multi-Agent Systems. CACM,
1994.
Présentation de quelques architectures agents. Problèmes d’interaction et de
partage de ressources.

Vous aimerez peut-être aussi