Chapitre 4: Systèmes Multiagents Dr. Benmerzoug D. Département TLSI Faculté des NTIC Université Constantine 2 INTA - Master 2 - Recherche 124
Systèmes Multi-agents Plan: Intelligence Artificielle (IA) Intelligence Artificielle Distribuée (IAD) Technologie Agent Systèmes Multi-agents (SMA) SMA et intégration d applications INTA - Master 2 - Recherche 125
L intelligence artificielle (IA) L IA Désigne la simulation des mécanismes de la pensée par un ordinateur Reproduire un raisonnement par des moyens informatiques Un ensemble de réalisations et de recherches qui essaient de simuler artificiellement les performances humaines L'émergence des systèmes ''adaptatifs'' INTA - Master 2 - Recherche 126
L intelligence artificielle (IA) Les systèmes experts Un système expert est un logiciel capable de répondre à des questions, en effectuant un raisonnement à partir de faits et de règles connus. Il peut servir notamment comme outil d aide à la décision. INTA - Master 2 - Recherche 127
L intelligence artificielle (IA) Un système expert se compose de 3 parties : Une base de faits ; Une base de règles ; Un moteur d inférence. INTA - Master 2 - Recherche 128
L intelligence artificielle (IA) Faits et règles Faits Ensemble de vérités connues Règles Partie condition : prémisses Partie action : conclusion, calcul, affichage... Éventuellement : coefficient de confiance SI condition ALORS action [coefficient] INTA - Master 2 - Recherche 129
L intelligence artificielle (IA) Généralement, ils utilisent la règle d'inférence suivante : Si P est vrai (fait) et si on sait que P implique Q (règle) alors, Q est vrai (nouveau fait ou conclusion). INTA - Master 2 - Recherche 130
L intelligence artificielle (IA) Le moteur d inférence Le moteur d inférence est capable d utiliser faits et règles pour produire de nouveaux faits, jusqu à parvenir à la réponse à la question posée. La plupart des systèmes experts existants reposent sur des mécanismes de logique formelle et utilisent le raisonnement déductif. INTA - Master 2 - Recherche 131
L intelligence artificielle (IA) Pourquoi un Système Expert? Problèmes mal formalisés ou dont la formulation évolue Médecine : nouveaux examens, nouvelles connaissances, nouvelles thérapies Pas d algorithme connu (ou algorithme trop complexe) Reconnaissance de l écriture Jeu d échecs Affectation des ressources, ordonnancement INTA - Master 2 - Recherche 132
L intelligence artificielle (IA) INTA - Master 2 - Recherche 133
L intelligence artificielle (IA) Mode de raisonnements Il existe de nombreux types de moteurs, capables de traiter différentes formes de règles logiques pour déduire de nouveaux faits à partir de la base de connaissance. On distingue souvent trois catégories: Les moteurs - dit à «chaînage avant» - qui partent des faits et règles de la base de connaissance, et tentent de s approcher des faits recherchés par le problème. INTA - Master 2 - Recherche 134
L intelligence artificielle (IA) Les moteurs - dits à «chaînage arrière» - qui partent des faits recherchés par le problème, et tentent par l intermédiaire des règles, de «remonter» à des faits connus, Les moteurs - dits à «chaînage mixte» - qui utilisent une combinaison de ces deux approches chaînage avant et chaînage arrière. INTA - Master 2 - Recherche 135
L intelligence artificielle (IA) L apprentissage automatique L'apprentissage automatique fait référence au développement, à l analyse et à l implémentation de méthodes qui permettent à une machine d évoluer grâce à un processus d apprentissage, et ainsi de remplir des tâches qu il est difficile ou impossible de remplir par des moyens algorithmiques plus classiques. Objectif : extraire et exploiter automatiquement l'information présente dans un jeu de données. INTA - Master 2 - Recherche 136
L intelligence artificielle (IA) Types d apprentissage Les algorithmes d apprentissage peuvent se catégoriser selon le type d apprentissage qu ils emploient : L'apprentissage supervisé L'apprentissage non-supervisé L'apprentissage par renforcement INTA - Master 2 - Recherche 137
L intelligence artificielle (IA) L apprentissage supervisé Un expert est employé pour étiqueter correctement des exemples. L apprenant doit alors trouver ou approximer la fonction qui permet d affecter la bonne étiquette à ces exemples. L apprentissage non supervisé Aucun expert n est disponible. L'algorithme doit découvrir par lui-même la structure des données. 138
L intelligence artificielle (IA) Apprentissage par renforcement (AR) L algorithme apprend un comportement étant donné une observation. L'action de l'algorithme sur l'environnement produit une valeur de retour qui guide l'algorithme d'apprentissage. INTA - Master 2 - Recherche 139
L intelligence artificielle (IA) Pourquoi l AR? Il est très utile dans le cadre de problèmes où : des stratégies comportementales efficaces sont inconnues a priori ou sont difficilement automatisables lorsqu il y a de l incertain dans la manière dont l environnement évolue L AR se distingue des autres approches d apprentissage par plusieurs aspects : L apprentissage se fait sans supervision Il repose sur le principe d essai/erreur 140
L intelligence artificielle (IA) Apprentissage par renforcement (AR) Quelques algorithmes La méthode des k plus proches voisins Les réseaux de neurones Les arbres de décision Les algorithmes génétiques INTA - Master 2 - Recherche 141
L intelligence artificielle (IA) Méthode des k plus proches voisins Principe: On dispose d'une base de données d'apprentissage constituée de m couples «entrée-sortie». Pour estimer la sortie associée à une nouvelle entrée x, la méthode consiste à prendre en compte les k échantillons d'apprentissage dont l'entrée est la plus proche de la nouvelle entrée x, selon une distance à définir INTA - Master 2 - Recherche 142
L intelligence artificielle (IA) INTA - Master 2 - Recherche 143
L intelligence artificielle (IA) 144
L intelligence artificielle (IA) Exemple INTA - Master 2 - Recherche 145
L intelligence artificielle (IA) INTA - Master 2 - Recherche 146
L intelligence artificielle (IA) Distance Euclidienne: Euclidienne pondérée: INTA - Master 2 - Recherche 147
Systèmes Multi-agents Plan: Intelligence Artificielle (IA) Intelligence Artificielle Distribuée (IAD) Technologie Agent Systèmes Multi-agents (SMA) SMA et intégration d applications INTA - Master 2 - Recherche 148
L intelligence artificielle Distribuée (IAD) L intelligence artificielle distribuée (IAD) La branche de l IA qui s intéresse à la modélisation du comportement «intelligent» par la coopération entre un ensemble d agents L intelligence artificielle classique, modélise le comportement intelligent d un seul agent. Passage du comportement individuel aux comportements collectifs pour combler les limites de l IA classique à résoudre des problèmes complexes. INTA - Master 2 - Recherche 149
L intelligence artificielle Distribuée (IAD) I.A.D. Pourquoi distribuer? La plupart des applications ou problèmes réels font intervenir des systèmes physiquement et fonctionnellement distribués. Distribution fonctionnelle dans les activités humaines (décomposition du problème en fonction des spécialités) INTA - Master 2 - Recherche 150
L intelligence artificielle Distribuée (IAD) I.A.D. Pourquoi distribuer? Évolution de l informatique vers le Pervasive Computing (informatique ubiquitaire ou diffusé) INTA - Master 2 - Recherche 151
La technologie Agent Définition d un agent Un agent est une entité physique ou virtuelle qui agit dans un environnement, communique directement avec d autres agents, possède des ressources propres, est capable de percevoir partiellement son environnement et possède des compétences. En fonction des ressources, des compétences et des communications, un agent tend à satisfaire ses objectifs. INTA - Master 2 - Recherche 152
La technologie Agent Un agent effectue continuellement trois fonctions : Perception de l environnement ; Interprétation de ces perceptions ; Détermination des actions possibles. INTA - Master 2 - Recherche 153
La technologie Agent Propriétés de l agent Réactivité : Percevoir l environnement et répondre, en temps réel Proactivité : Capacité de prendre l initiative / comportement orienté but Sociabilité : Capacité d interagir avec d autres agents ou utilisateurs Autonomie: un agent est indépendant de l utilisateur et des autres agents. INTA - Master 2 - Recherche 154
La technologie Agent Types d agents Agent réactif: les décisions prises par les agents sont basées sur une correspondance entre les situations et les actions (Architecture simple). Agent cognitif: les décisions prises par les agents sont basées sur des déductions logiques (Architecture complexe) Agent hybride INTA - Master 2 - Recherche 155
La technologie Agent Agent cognitif vs réactif INTA - Master 2 - Recherche 156
Systèmes Multi-agents Plan: Intelligence Artificielle (IA) Intelligence Artificielle Distribuée (IAD) Technologie Agent Systèmes Multi-agents (SMA) SMA et intégration d applications INTA - Master 2 - Recherche 157
Systèmes Multi-agents (SMA) Définition d un SMA Un système multi-agents est un ensemble organisé d agents. Il est constitué d une ou plusieurs organisations qui structurent les règles de cohabitation et de travail collectif entre agents. Dans un même système, un agent peut appartenir à plusieurs organisations. INTA - Master 2 - Recherche 158
Systèmes Multi-agents (SMA) Propriétés des SMA: Chaque agent a des informations et des capacités limitées pour résoudre un problème Pas de système central de contrôle Données décentralisées Calcul asynchrone INTA - Master 2 - Recherche 159
Systèmes Multi-agents (SMA) Interaction Mise en relation dynamique de 2 ou plusieurs agents par le biais d un ensemble d actions réciproques Echange des séries de messages en respectant des protocoles biens précis: protocoles de coordination, de coopération et de négociation. INTA - Master 2 - Recherche 160
Systèmes Multi-agents (SMA) Communication entre agents Un agent doit être capable de communiquer avec les autres agents. Les agents doivent avoir des capacités à manipuler un langage commun. 2 types de communication : Communication indirecte : Partage d informations via l environnement, Communication directe : envoi de messages, INTA - Master 2 - Recherche 161
Systèmes Multi-agents (SMA) Pour échanger les informations et les connaissances, les agents utilisent des ACL (Agent Communication Language). Tout langage multi agent est représenté par une structure de donnée comprenant les champs : Emetteur Récepteur Langage utilisé : langage dans lequel le contenu de message est rédigé Contenu du message L ontologie : le vocabulaire dans un domaine donné pour que les agents puissent se comprendre INTA - Master 2 - Recherche 162
Systèmes Multi-agents (SMA) De nombreux langages de communications entre agents (ACL) se sont développés. KQML (93, 97) FIPA-ACL (97, 99, 2000) INTA - Master 2 - Recherche 163
Systèmes Multi-agents (SMA) KQML (Knowledge Query and Manipulation Language) KQML a été conçu comme étant à la fois un format de message et un protocole de transfert de messages venant aider les agents intelligent au partage et échange de données de haut niveau tout en étant indépendant des machines. INTA - Master 2 - Recherche 164
Systèmes Multi-agents (SMA) KQML : la syntaxe INTA - Master 2 - Recherche 165
Systèmes Multi-agents (SMA) KQML : les performatives 36 performatives répartis en 3 catégories : Les 18 performatives de discours : servent à échanger des connaissances et des informations (ask-if, ask-one, tell, describe, stream-all ) Les 11 performatives d interconnexion : aide à la mise en relation des agents entre eux (register, unregister, broadcast ) Les 7 performatives d exception : servent à changer le déroulement normal des échanges (error, sorry, standby )
Systèmes Multi-agents (SMA) Exemples KQML: Soient E : l'agent émetteur, R : l'agent récepteur et C : le contenu du message ask-one : E veut que seulement R réponde à sa question C ask-if : E veut savoir si la réponse à la question précisée en C se trouve dans la base de connaissances (BC) de R tell : E affirme au R que C est dans la BC de E broadcast : E veut que R transmette à son tour la performative à toutes ses connexions error : E considère le message précédent de R comme mal formé sorry : R ne peut pas fournir plus d information 167
Systèmes Multi-agents (SMA) Exemples KQML: l agent A veut connaître toutes les personnes définies comme étant des hommes. l agent B répond que Socrate est un homme. 168
Systèmes Multi-agents (SMA) L agent A veut informer l agent B que le prix de bouquin "Web Service" est fixé à 1000 DA. L agent A demande à l agent B de transférer le message précédent à l agent C. (tell :sender A :receiver B :language java :ontology e-commerce :content prix("web Service", 1000) ) (forward :from A :to C :sender A :receiver B :language KQML :ontology kqml-ontology :content (tell :sender A :receiver B :language java :ontology e-commerce :content prix("web Service", 1000) ) ) 169
Systèmes Multi-agents (SMA) Plates-formes SMA & KQML AgentBuilder http://www.agentbuilder.com JAT : Java Agent Template http://www-cdr.stanford.edu/abe/javaagent.html Java Intelligent Agent Library http://www.bitpix.com/business/main/bitpix.htm INTA - Master 2 - Recherche 170
Systèmes Multi-agents (SMA) La norme FIPA La FIPA (Foundation for Intelligent Physical Agents) est une organisation en 1996 dont l'objectif est de produire des standards pour l'interopérabilité d agents logiciels hétérogènes. FIPA ACL : Syntaxe similaire à celle de KQML. INTA - Master 2 - Recherche 171
Systèmes Multi-agents (SMA) La norme FIPA INTA - Master 2 - Recherche 172
Systèmes Multi-agents (SMA) Plates-formes SMA & FIPA JADE : http://jade.tilab.com/ Langage utilisé : Java. FIPA ACL pour la communication. INTA - Master 2 - Recherche 173
Systèmes Multi-agents Plan: Intelligence Artificielle (IA) Intelligence Artificielle Distribuée (IAD) Technologie Agent Systèmes Multi-agents (SMA) SMA et intégration d applications INTA - Master 2 - Recherche 174
SMA et Intégration d applications Les défis de l EAI: Communication des agréments sémantiques Environnements ouverts, Interactions complexes Flexibilité 175
SMA et Intégration d applications Standards des services Web WSDL, SOAP, BPEL Limitations Inexistence de sémantique des messages échangés (message sequencing and correlation) Composition manuelle des services Inefficacité en cas d'interactions complexes Systèmes multi-agents (SMA) Entités autonomes, interagissent dans un environnement pour la résolution collective de problèmes 176
SMA et Intégration d applications Problématique Comment modéliser le scénario d intégration à l aide de mécanismes de coordination multi-agent? Comment intégrer les processus métiers au moment d exécution? Apports de la technologie Agent Une approche orientée agent pour la modélisation du scénario d intégration Une architecture basée agent pour l intégration d applications 177
SMA et Intégration d applications Web Application HTTP CORBA Legacy System Java Application RMI MAS ODBC Data Base.NET Application.NET REMOTING JCA ERP, CRM
SMA et Intégration d applications Apport des SMA dans le domaine de l intégration d applications: La répartition géographique et/ou logique d entités, de données ou d informations hétérogènes La complexité du problème global à résoudre, celui-ci n étant manipulable que par des stratégies heuristiques utilisant des données ou des connaissances locales INTA - Master 2 - Recherche 179
SMA et Intégration d applications La flexibilité des interactions : il n y a pas d affectation a priori des tâches et les mécanismes de résolution de problèmes ne sont pas préalablement assignés L environnement dynamique nécessitant, pour la résolution de problèmes, des entités réactives et adaptative L ouverture : il n est pas possible de donner une spécification complète du problème à résoudre ni de définir une fonction d utilité globale. INTA - Master 2 - Recherche 180
Références bibliographiques Djamel Benmerzoug: Modèles et outils formels pour l intégration d applications d entreprises. Thèse de doctorat (Université Paris 6, Université Mentouri de Constantine), 2009 David S. Linthicum: Enterprise Application Integration, Ed: Addison Wesley, 2001 R. Sharma, B. Stearns, T. Ng: J2EE Connector Architecture and Enterprise Application Integration, Publisher: Addison Wesley,2001. Saïd Izza: Intégration des systèmes d information industriels : une approche flexible basée sur les services sémantiques. Thèse de doctorat de l école supérieure nationale des Mines de Saint-Étienne, novembre 2006. Jihed Touzi: Aide à la conception de système d information collaboratif support de l interopérabilité des entreprises. thèse de doctorat de l école des Mines d Albi Carmaux, Novembre 2007. David S. Linthicum: Next Generation Application Integration, Ed: Addison Wesley, 2004. EBM Websourcing : Nouvelles technologies pour l intégration : les ESB. 2006. P. Sarang, R. Loganathan, F. Jennings, M. Juric: SOA Approach to Integration: XML, Web services, ESB, and BPEL in real-world SOA projects. 2007. Jeremy Fierstone: Les services Web, 2002 INTA - Master 2 - Recherche 181
Références bibliographiques Djamel Benmerzoug: A Specification and Validation Approach for Business Process Integration based on Web Services and Agents. 2007 Djamel Benmerzoug: A Petri-Net Based Formalisation of Interaction Protocols Applied to Business Process Integration. 2008 Djamel Benmerzoug: Formalisation and verification of interaction protocols for business process integration: a Petri net approach. 2008 Djamel Benmerzoug: Agent Approach in Support of Enterprise Application Integration. 2013 Djamel Benmerzoug: Modèles et outils formels pour l intégration d applications d entreprises. Thèse de doctorat (Université Paris 6, Université Mentouri de Constantine), 2009 INTA - Master 2 - Recherche 182