Cours - Laboratoire Systèmes et Transports

Transcription

Cours - Laboratoire Systèmes et Transports
Intelligence Artificielle Distribuée & Systèmes
Multi-Agents
V. Hilaire
UTBM
IAD & SMA
V. Hilaire (UTBM)
IAD & SMA
IA54
1 / 65
Apparté sur le fonctionnement de l’UV
Final comptent pour 2/3 de la note finale
Projet comptant pour 1/3 de la note finale et pouvant être couplé avec un
projet GL53 (IHM)
Groupe de 2 ou 3
Réalisation avec MadKit d’un SMA
V. Hilaire (UTBM)
IAD & SMA
IA54
2 / 65
Bibliographie
Jacques Ferber. Les systèmes multi-agents vers une intelligence
collective. IIA. InterEditions, septembre 1995.
Alexis Drogoul. Cours des DESS IARFA & IA.
http://www-poleia.lip6.fr/~drogoul/cours/
Gerhard Weiss. A Modern Approach to Distributed Artificial
Intelligence. 1999.
Michael Wooldridge. Cours sur les SMA.
http://www.csc.liv.ac.uk/~mjw/teaching/agents/
V. Hilaire (UTBM)
IAD & SMA
IA54
3 / 65
Plan
1
Historique
2
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Gains de la distribution
3
Concepts de base
Définitions d’agent
Définitions de SMA
4
Exemples de SMA
Les robots fourrageurs
MASSIVE
5
Conclusions
V. Hilaire (UTBM)
IAD & SMA
IA54
4 / 65
Historique
Plan
1
Historique
2
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Gains de la distribution
3
Concepts de base
Définitions d’agent
Définitions de SMA
4
Exemples de SMA
Les robots fourrageurs
MASSIVE
5
Conclusions
V. Hilaire (UTBM)
IAD & SMA
IA54
5 / 65
Historique
Cybernétique (1948)
Discipline qui examine les rapports de similitude et de différence entre les
processus biologiques (dirigés par le cerveau humain) et les processus
techniques (dirigés par les appareils mécaniques, électriques ou
électroniques), en vue de les ramener à des principes de base communs.
Un ordinateur est capable de manipuler des symboles
V. Hilaire (UTBM)
IAD & SMA
IA54
6 / 65
Historique
Les racines : l’IA
leit-motiv de l’Intelligence Artificielle
”Résoudre des tâches qui nécessiteraient de l’intelligence si
elles étaient le fait d’êtres humains.”
V. Hilaire (UTBM)
IAD & SMA
IA54
7 / 65
Historique
Technique générale
Stocker, représenter des connaissances
+ Raisonner, traiter des connaissances
≈ Intelligence
V. Hilaire (UTBM)
IAD & SMA
IA54
8 / 65
Historique
Deux grandes écoles
Symbolique (Système Experts, Réseaux Sémantiques, ...)
sub-symbolique (Réseaux de Neurones, Logique Floue, ...)
V. Hilaire (UTBM)
IAD & SMA
IA54
9 / 65
Historique
Rappel : Architecture d’un Système Expert
Base de Faits
Moteur d’Inférences
Base de Règles
Données
V. Hilaire (UTBM)
Contrôle
IAD & SMA
IA54
10 / 65
Historique
Exemple simplissime
Faits
¬moteurDémarre
pharesFonctionnent
Règles
¬ réservoirVide ∧ pharesFonctionnent ∧ ¬ moteurDémarre =⇒
problèmeBougie
¬ moteurDémarre ∧ ¬ pharesFonctionnent =⇒ problèmeBatterie
¬ moteurDémarre ∧ pharesFonctionnent =⇒ problèmeStarter
Moteur d’inférences
P ∧ (P =⇒ Q) =⇒ Q
V. Hilaire (UTBM)
IAD & SMA
IA54
11 / 65
Historique
Quelques domaines d’application
Analyse de textes,
Reconnaissance de formes,
Démonstration automatique,
Représentation des connaissances
...
V. Hilaire (UTBM)
IAD & SMA
IA54
12 / 65
Historique
Problèmes
Centralisation des faits,
Centralisation des règles,
Centralisation du moteur d’inférences,
Système ”fermé”,
V. Hilaire (UTBM)
IAD & SMA
IA54
13 / 65
Historique
Quelques caractéristiques attribuées aux systèmes
”intelligents”
Evolutivité,
Adaptativité,
Ouverture.
Antithèse des systèmes ”intelligents” centralisés
V. Hilaire (UTBM)
IAD & SMA
IA54
14 / 65
Idée majeure = Distribuer l’Intelligence
Plan
1
Historique
2
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Gains de la distribution
3
Concepts de base
Définitions d’agent
Définitions de SMA
4
Exemples de SMA
Les robots fourrageurs
MASSIVE
5
Conclusions
V. Hilaire (UTBM)
IAD & SMA
IA54
15 / 65
Idée majeure = Distribuer l’Intelligence
Dans IAD il y a un D pour Distribuée.
Pourquoi distribuer l’ ”intelligence” ?
Que gagne-t-on par rapport aux systèmes d’IA ”classiques” ?
Quelles techniques sont mises en œuvre pour distribuer l’IA ?
À quelles classes d’applications peut-on adapter des systèmes d’IAD ?
V. Hilaire (UTBM)
IAD & SMA
IA54
16 / 65
Idée majeure = Distribuer l’Intelligence
Comment distribuer l’intelligence ?
Stocker, représenter des connaissances
+ Raisonner, traiter des connaissances
≈ Intelligence
On peut distribuer les connaissances ou le raisonnement.
V. Hilaire (UTBM)
IAD & SMA
IA54
17 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
évolution par décentralisation/distribution du
traitement/raisonnement
V. Hilaire (UTBM)
IAD & SMA
IA54
18 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Problème de reconnaissance de la parole : exemple du
système HEARSAY II
[Erman et al., 1980]
Plusieurs niveaux d’expertises (lexicale, syntaxique, sémantique, ...),
Incertitude du signal,
Plusieurs interprétations possibles.
V. Hilaire (UTBM)
IAD & SMA
IA54
19 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Modèle du tableau noir
KS
Tableau Noir
blablabla
KS
KS
KS
KS
V. Hilaire (UTBM)
IAD & SMA
IA54
20 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Principes
Intégration d’expertises distinctes,
Procédures de résolution indépendantes,
Coopération indirecte (via le tableau noir) pour faire converger les
solutions partielles.
V. Hilaire (UTBM)
IAD & SMA
IA54
21 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Survol du système HEARSAY II
[Drogoul, 2003]
Niveaux
INTERFACE BD
select articles where author contains turing
PHRASE
any article by turing
MOT
article by
SYLLABE
har ti cle kel
PHONETIQUE
[ar] [ti] [kel] [bai]
SIGNAL
V. Hilaire (UTBM)
IAD & SMA
IA54
22 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
évolution par décentralisation/distribution des
connaissances/représentations
V. Hilaire (UTBM)
IAD & SMA
IA54
23 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Problème du repérage des mouvements de véhicules à
partir d’un réseau de capteurs : DVMT
[Lesser and Corkill, 1987]
Suivi de véhicule par capteurs acoustiques,
grammaire spécificiant la trace d’un véhicule,
Signaux multiples, distribués,
complexité et impécision du traitement par un capteur (intensité
signaux variables, bruits, pistes fantomes, ...)
V. Hilaire (UTBM)
IAD & SMA
IA54
24 / 65
Exemples historiques
Idée majeure = Distribuer l’Intelligence
Le modèle de Distributed Vehicle Monitoring Testbed
$
*
+
%
!
&
,
'
(
)
"
V. Hilaire (UTBM)
#
IAD & SMA
IA54
25 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Hypothèses
ensemble de capteurs fournissent une information redondante et
incertaine,
accomplissement collectif d’une tâche d’interprétation (génération
d’une carte),
interactions entre systèmes de résolution de problèmes,
V. Hilaire (UTBM)
IAD & SMA
IA54
26 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Principes
Exploiter la prédiction d’informations
Eviter la redondance
Partage de tâches
Elimination de pistes fantômes
Construction d’une carte
V. Hilaire (UTBM)
IAD & SMA
IA54
27 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Les langages d’acteurs
[Agha, 1985]
Modèle de programmation concurrente
Les structures de contrôle des langages traditionnels sont traduits
sous forme de schémas de communications entre entités autonomes
(acteurs).
Les acteurs sont vus comme des spécialistes pouvant résoudre des
problèmes en communiquant par envois de messages avec leurs
accointances.
V. Hilaire (UTBM)
IAD & SMA
IA54
28 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Principe
[Masini et al., 1989]
continuation
message
émetteur
V. Hilaire (UTBM)
messager
cible
IAD & SMA
IA54
29 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Exemple
factorielle
send[3,u] to factorielle
(a1,P(3,u))
send [2,a1] to self
a1
(a2,P(2,a1))
a2
send [1,a2] to self
(a3,P(1,a2))
a3
send [0,a3] to self
send [1] to a3
V. Hilaire (UTBM)
send [1*k] to a2
IAD & SMA
send [2*k] to a1
send [3*k] to u
IA54
30 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
En quoi ces travaux sont-ils précurseurs ?
Distribution du contrôle (les KS de HEARSAY II et les agents de
DVMT).
Distribution des données (les capteurs de DVMT).
Construction par interactions d’une représentation (HEARSAY II et
DVMT).
V. Hilaire (UTBM)
IAD & SMA
IA54
31 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
De l’algorithme à la Résolution Distribuée de Problèmes
Programs = Data structure + Algorithm
interactions
Programs = Agents +
Définition des agents
Définition des interactions
V. Hilaire (UTBM)
IAD & SMA
IA54
32 / 65
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Les dégradés de la décentralisation
Blackboard (Hearsay II) : il faut contrôler les KS
coopération centralisée
DVMT : contrôle centralisé impossible
procédure de
asynchronisme
Acteurs : contrôle complètement distribué
V. Hilaire (UTBM)
IAD & SMA
IA54
33 / 65
Idée majeure = Distribuer l’Intelligence
Gains de la distribution
Les problèmes sont physiquement distribués
réseaux,
robotique,
contrôle aérien,
simulation.
V. Hilaire (UTBM)
IAD & SMA
IA54
34 / 65
Idée majeure = Distribuer l’Intelligence
Gains de la distribution
les problèmes sont fonctionnellement très distribués et
hétérogènes
conception de produit,
analyse du langage,
optimisation.
V. Hilaire (UTBM)
IAD & SMA
IA54
35 / 65
Idée majeure = Distribuer l’Intelligence
Gains de la distribution
Les réseaux et nouveaux systèmes imposent une vision
distribuée
informatique diffuse,
informatique mobile,
systèmes communicants,
systèmes dépendants du contexte.
V. Hilaire (UTBM)
IAD & SMA
IA54
36 / 65
Idée majeure = Distribuer l’Intelligence
Gains de la distribution
La complexité des problèmes impose une vision locale
Les problèmes réels sont souvent complexes à appréhender de manière
globale.
V. Hilaire (UTBM)
IAD & SMA
IA54
37 / 65
Idée majeure = Distribuer l’Intelligence
Gains de la distribution
Les systèmes doivent pouvoir s’adapter à des modifications
de structure ou d’environnement
Insertion d’une nouvelle antenne
V. Hilaire (UTBM)
IAD & SMA
IA54
38 / 65
Idée majeure = Distribuer l’Intelligence
Gains de la distribution
Le génie logiciel va dans le sens d’une conception en terme
d’unités autonomes en interactions
programme monolithique
objet actif agent.
sous-programmes
librairies
objet
localité de la décision et des données,
construction de systèmes hétérogènes.
les programmes sont composés d’entités de plus en plus faiblement
couplées. On passe d’une perspective de programme à une
perspective d’organisation.
V. Hilaire (UTBM)
IAD & SMA
IA54
39 / 65
Concepts de base
Plan
1
Historique
2
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Gains de la distribution
3
Concepts de base
Définitions d’agent
Définitions de SMA
4
Exemples de SMA
Les robots fourrageurs
MASSIVE
5
Conclusions
V. Hilaire (UTBM)
IAD & SMA
IA54
40 / 65
Concepts de base
Définitions d’agent
Agent
Définition
Un agent est une entité qui exhibe les caractéristiques suivantes : autonomie, réactivité, pro-activité et qui possède une certaine habilité sociale.
[Wooldridge, 1997]
V. Hilaire (UTBM)
IAD & SMA
IA54
41 / 65
Concepts de base
Définitions d’agent
Autonomie : les agents encapsulent leur état interne (inaccessible
pour les autres agents) et prennent des décisions basées sur cet état
interne.
Réactivité : les agents sont situés dans un environnement (monde
physique, internet, ...) et sont capable de percevoir cet
environnement. De plus ils peuvent évoluer en fonction de
changements qui interviennent dans cet environnement.
Pro-activité : le comportement des agents n’est pas une simple
réponse aux changements de leur environnement. En fait, ils
poursuivent leur(s) propre(s) but(s).
Habilité sociale : les agents interagissent avec d’autres agents et
peuvent parfois mettre en œuvre des processus de cooperation ou
négotiation pour accomplir un but.
V. Hilaire (UTBM)
IAD & SMA
IA54
42 / 65
Concepts de base
Définitions d’agent
Quid des exemples historiques ?
caractéristique
autonomie
Hearsay II
oui
DVMT
oui
réactivité
oui
(blackboard)
oui (KS)
interactions par
tableau noir
oui
pro-activité
habilité sociale
V. Hilaire (UTBM)
oui
interactions par
voisinages
IAD & SMA
acteurs
non (envoi message=appel de
méthode)
cf autonomie
cablée
cablée
par
méthodes
et
continuations
IA54
43 / 65
Concepts de base
Définitions d’agent
Agent selon Ferber I
Définition
Une entité réelle ou virtuelle, évoluant dans un environnement, capable de
le percevoir et d’agir dessus, qui peut communiquer avec d’autres agents,
qui exhibe un comportement autonome, lequel peut être vu comme la
conséquence de ses connaissances, de ses interactions avec d’autres agents
et des buts qu’il poursuit. [Ferber, 1995]
V. Hilaire (UTBM)
IAD & SMA
IA54
44 / 65
Concepts de base
Définitions d’agent
Quid des exemples historiques ?
caractéristique
entité
environnement
Hearsay II
virtuelle
système info
communications
indirecte
(tableau noir)
règles
d’expertise
comportement
V. Hilaire (UTBM)
DVMT
virtuelle
caméra + logiciel embarqué
par topologie
règles
grammaticales
IAD & SMA
acteurs
virtuelle
système
distribué
envoie de message
algo
IA54
45 / 65
Concepts de base
Définitions d’agent
Agent selon Ferber II
Définition
Un ensemble d’entités logicielles, éventuellement hétérogènes, qui possèdent
des capacités propres de résolution de problèmes et qui sont capables
d’interagir pour atteindre leurs buts. [Ferber, 1999]
V. Hilaire (UTBM)
IAD & SMA
IA54
46 / 65
Concepts de base
Définitions d’agent
Deux types d’agents [Ferber, 1995]
Agents Cognitifs.
Chaque agent dispose d’une base de connaissance comprenant
l’ensemble des informations et des savoir-faire nécessaires à la
réalisation de sa tâche et à la gestion des interactions avec les autres
agents et avec son environnement. Exemple typique : Système
Multi-Experts.
Agents Réactifs.
Chaque agent possède un mécanisme de réaction aux événements, ne
prenant en compte ni une explicitation des buts, ni des mécanismes
de planification. Exemple typique : la fourmilière.
V. Hilaire (UTBM)
IAD & SMA
IA54
47 / 65
Concepts de base
Définitions de SMA
Approche ”mono-agent”.
Le système est en fait composé d’un seul agent. L’exemple classique
est l’assistant personnel. L’assistant personnel est un agent qui
observe le comportement d’un utilisateur et facilite ses tâches
quotidiennes. Ces tâches peuvent être le tri automatique de mail, la
recherche d’informations pertinentes, réservation automatique d’un
voyage au plus bas prix...
Approche multi-agents.
Le système est composé de plusieurs agents. La tâche globale que
réalise le système repose donc sur l’ensemble des agents. On dit que
la solution émerge des interactions des agents au sein de
l’environnement. C’est à ce dernier type de système que nous allons
nous intéresser.
V. Hilaire (UTBM)
IAD & SMA
IA54
48 / 65
Concepts de base
Définitions de SMA
Systèmes Multi-Agents
Définition
Un SMA est un système constitué d’agents qui interagissent dans et au
travers d’un environnement.
On a donc deux niveaux. Un niveau micro pour l’agent et un niveau macro
pour le système. Toute démarche de construction de SMA doit tenir
compte de ces deux niveaux. un SMA peut être :
ouvert : les agents y entrent et en sortent librement (ex : Internet),
fermé : l’ensemble d’agent reste le même (ex : robots footballeurs),
homogène : tous les agents sont construits sur le même modèle,
hétérogène : les agents sont de types différents (cognitifs, réactifs)
V. Hilaire (UTBM)
IAD & SMA
IA54
49 / 65
Concepts de base
Définitions de SMA
Domaines d’application des SMA
Télécommunications, systèmes de transports,
Travail collaboratif assisté par ordinateur,
Robotique (les robots footballeurs),
Télématique (Internet),
Simulation de systèmes complexes,
Systèmes multi-capteurs.
V. Hilaire (UTBM)
IAD & SMA
IA54
50 / 65
Exemples de SMA
Plan
1
Historique
2
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Gains de la distribution
3
Concepts de base
Définitions d’agent
Définitions de SMA
4
Exemples de SMA
Les robots fourrageurs
MASSIVE
5
Conclusions
V. Hilaire (UTBM)
IAD & SMA
IA54
51 / 65
Exemples de SMA
Les robots fourrageurs
Le principe
[Ferber, 1995]
V. Hilaire (UTBM)
IAD & SMA
IA54
52 / 65
Exemples de SMA
Les robots fourrageurs
Comportement peu performant
Règle explorer
si je ne porte rien
et je ne perçois aucun minerai
alors j’explore de manière aléatoire
Règle trouver
si je ne porte rien
et que je perçois du minerai
alors je prend un échantillon du minerai
V. Hilaire (UTBM)
IAD & SMA
IA54
53 / 65
Exemples de SMA
Les robots fourrageurs
Règle rapporter
si je porte du minerai
et je ne suis pas à la base
alors retourner à la base
Règle déposer
si je porte du minerai
et je suis à la base
alors déposer le minerai
V. Hilaire (UTBM)
IAD & SMA
IA54
54 / 65
Exemples de SMA
Les robots fourrageurs
Comportements coordonés
Règle explorer
si je ne porte rien
et je ne perçois aucun minerai
et je ne perçois aucune marque
alors j’explore de manière aléatoire
V. Hilaire (UTBM)
IAD & SMA
IA54
55 / 65
Exemples de SMA
Les robots fourrageurs
Règle rapporter
si je porte du minerai
et je ne suis pas à la base
alors retourner à la base
et déposer une marque
Règle suivreMarque
si je ne porte rien
et je ne perçois aucun minerai
et je perçois une marque
alors je me dirige vers cette marque
V. Hilaire (UTBM)
IAD & SMA
IA54
56 / 65
Exemples de SMA
MASSIVE
Exemple de SMA : MASSIVE
Objectif : réaliser une scène de bataille réaliste faisant intervenir plus de
10000 figurants ayant l’apparence d’orques (dixit la mythologie de
Tolkien).
=⇒ chaque agent représente un orque en interaction avec ses congénères.
V. Hilaire (UTBM)
IAD & SMA
IA54
57 / 65
Exemples de SMA
MASSIVE
Capacités de perception des agents de MASSIVE
vision,
son,
toucher et collision.
V. Hilaire (UTBM)
IAD & SMA
IA54
58 / 65
Exemples de SMA
MASSIVE
Personnalité des agents de MASSIVE
intrépidité,
aggressivité,
lacheté,
etc
V. Hilaire (UTBM)
IAD & SMA
IA54
59 / 65
Exemples de SMA
MASSIVE
Quelques applications à base d’agents
lecteur de mails : MAXIMS [Maes, 1994]
trie, archive, supprime, ... à la place de l’utilisateur
eCommerce agents : Bargain Finder [Krulwich, 1996], Jango
[Maes et al., 1999], Froogle (http://froogle.google.com)
recherche de produits, comparaison de prix, négociations, ...
V. Hilaire (UTBM)
IAD & SMA
IA54
60 / 65
Conclusions
Plan
1
Historique
2
Idée majeure = Distribuer l’Intelligence
Exemples historiques
Gains de la distribution
3
Concepts de base
Définitions d’agent
Définitions de SMA
4
Exemples de SMA
Les robots fourrageurs
MASSIVE
5
Conclusions
V. Hilaire (UTBM)
IAD & SMA
IA54
61 / 65
Conclusions
Comparaison avec d’autres approches
Objets & Objets Distribués,
Systèmes Distribués.
V. Hilaire (UTBM)
IAD & SMA
IA54
62 / 65
Conclusions
Problèmes soulevés
Absence de démarche de conception consensuelle,
Architectures de communication très diverses,
Techniques de coordination.
V. Hilaire (UTBM)
IAD & SMA
IA54
63 / 65
Conclusions
Avantages
Modèle élégant pour la distribution et le parallélisme,
Génie Logiciel Orienté Agent.
V. Hilaire (UTBM)
IAD & SMA
IA54
64 / 65
Conclusions
Fin du cours
V. Hilaire (UTBM)
IAD & SMA
IA54
65 / 65
Conclusions
Agha, G. A. (1985).
Actors: A Model of Concurrent Computation in Distributed Systems.
PhD thesis, University of Michigan, Computer and Communication
Science.
also MIT AI Laboratory Technical Report 844.
Drogoul, A. (2003).
Intelligence artificielle distribuee, principes systemes et applications.
Erman, L. D., Hayes-Roth, F., Lesser, V. R., and Reddy, D. R. (1980).
The hearsay-ii speech-understanding system: Integrating knowledge
to resolve uncertainty.
Computing Surveys, 12(2):213–253.
Ferber, J. (1995).
LES SYSTÈMES MULTI-AGENTS Vers une intelligence collective.
IIA. InterEditions.
Ferber, J. (1999).
V. Hilaire (UTBM)
IAD & SMA
IA54
65 / 65
Conclusions
Multi-Agent System: An Introduction to Distributed Artificial
Intelligence.
Addison Wesley.
Krulwich, B. (1996).
The bargainfinder agent: Comparison price shopping on the internet.
In Agents, Bots, and other Internet Beasties, pages 257–263.
SAMS.NET publishing (division of Macmillan publishing).
Lesser, V. R. and Corkill, D. (1987).
DVMT A tool for investigation of distributed problem solving
networks.
In Huhns, M. N., editor, Distributed Artificial Intelligence. Morgan
Kaufmann.
Maes, P. (1994).
Agents that reduce work and information overload.
Commun. ACM, 37(7):30–40.
Maes, P., Guttman, R. H., and Moukas, A. G. (1999).
Agents that buy and sell.
V. Hilaire (UTBM)
IAD & SMA
IA54
65 / 65
Conclusions
Communications of the ACM, 42(3):81–91.
Masini, G., Napoli, A., Colnet, D., Léonard, D., and Tombre, K.
(1989).
Les langages à objets.
InterEditions, Paris.
Wooldridge, M. (1997).
Agent-based software engineering.
IEE Proceedings on Software Engineering, pages 26–37.
V. Hilaire (UTBM)
IAD & SMA
IA54
65 / 65