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