systèmes multi-agentsdbenmerzoug.e-monsite.com/medias/files/dos-chap5-1.pdf · exemple: k plus...
TRANSCRIPT
1
Systèmes Multi-agents
Dr. Djamel Benmerzoug Email : [email protected]
Maitre de Conférences A, Laboratoire LIRE
Département TLSI Faculté des NTIC
Université Constantine 2 – Abdelhamid Mehri
Master 2 SITW
DoS - Master 2 SITW
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 DoS - Master 2 SITW 2
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''
DoS - Master 2 SITW 3
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.
DoS - Master 2 SITW 4
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.
DoS - Master 2 SITW 5
L’intelligence artificielle (IA)
DoS - Master 2 SITW 6
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]
DoS - Master 2 SITW 7
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.
DoS - Master 2 SITW 8
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).
DoS - Master 2 SITW 9
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
DoS - Master 2 SITW 10
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.
DoS - Master 2 SITW 11
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.
DoS - Master 2 SITW 12
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.
DoS - Master 2 SITW 13
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
DoS - Master 2 SITW 14
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. 15 DoS - Master 2 SITW
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.
DoS - Master 2 SITW 16
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
17 DoS - Master 2 SITW
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
DoS - Master 2 SITW 18
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
DoS - Master 2 SITW 19
L’intelligence artificielle (IA) Distance
Euclidienne:
Euclidienne pondérée:
DoS - Master 2 SITW 20
Exemple: k plus proches voisins
Exemple : Web service de bonne qualité ou non ?
DoS - Master 2 SITW 21
Exemple: k plus proches voisins
DoS - Master 2 SITW 22
Exemple: k plus proches voisins
Etape1 : calculer les distances par rapport à la nouvelle entrée
DoS - Master 2 SITW 23
Exemple: k plus proches voisins
Etape2 : Déterminer les k plus proches voisins de la nouvelle entrée (k=3) X1 = "GoogleTranslate" (avec une distance de
4.35) , Y1 = "Bonne qualité" X5 = "SystranTranslator" (avec une distance
de 23.02), Y5 = "Bonne qualité" X3 = « BabylonTranslator" (avec une distance
de 32.17), Y3 = "Mauvaise qualité"
DoS - Master 2 SITW 24
Exemple: k plus proches voisins
Etape3 : Déterminer la classe majoritaire entre
les 3 voisins
La classe majoritaire entre les 3 exemples est (X1,
X5), avec la sortie : "Bonne qualité". Donc, la classe
de X6 est "Bonne qualité".
DoS - Master 2 SITW 25
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 DoS - Master 2 SITW 26
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.
DoS - Master 2 SITW 27
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)
DoS - Master 2 SITW 28
L’intelligence artificielle Distribuée (IAD)
I.A.D. – Pourquoi distribuer ? Évolution de l’informatique vers le Pervasive
Computing (informatique ubiquitaire ou diffusé)
DoS - Master 2 SITW 29
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.
DoS - Master 2 SITW 30
La technologie Agent
Un agent effectue continuellement trois fonctions : Perception de l’environnement ; Interprétation de ces perceptions ; Détermination des actions possibles.
DoS - Master 2 SITW 31
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. DoS - Master 2 SITW 32
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 DoS - Master 2 SITW 33
La technologie Agent
Agent cognitif vs réactif
DoS - Master 2 SITW 34
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 DoS - Master 2 SITW 35
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.
DoS - Master 2 SITW 36
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
DoS - Master 2 SITW 37
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.
DoS - Master 2 SITW 38
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,
DoS - Master 2 SITW 39
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
DoS - Master 2 SITW 40
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)
DoS - Master 2 SITW 41
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.
DoS - Master 2 SITW 42
Systèmes Multi-agents (SMA)
KQML : la syntaxe
DoS - Master 2 SITW 43
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 …)
DoS - Master 2 SITW 44
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 45 DoS - Master 2 SITW
Systèmes Multi-agents (SMA) Exemples KQML:
l’ agent A veut connaître toutes les personnes définies comme étant des hommes.
46
l’ agent B répond que Socrate est un homme.
DoS - Master 2 SITW
Systèmes Multi-agents (SMA) L’agent A veut informer l’agent B que le prix
de bouquin "Web Service" est fixé à 1000 DA.
47
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)
)
) DoS - Master 2 SITW
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
DoS - Master 2 SITW 48
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.
DoS - Master 2 SITW 49
Systèmes Multi-agents (SMA)
La norme FIPA
DoS - Master 2 SITW 50
Systèmes Multi-agents (SMA)
Plates-formes SMA & FIPA JADE : http://jade.tilab.com/
Langage utilisé : Java. FIPA ACL pour la communication.
DoS - Master 2 SITW 51
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 DoS - Master 2 SITW 52
DoS - Master 2 SITW 53
SMA et Intégration d’applications
Les défis de SOA: Communication des agréments sémantiques Environnements ouverts, Interactions
complexes Flexibilité …………
DoS - Master 2 SITW 54
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
SMA et Intégration d’applications
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 DoS - Master 2 SITW 55
SMA et Intégration d’applications
Legacy System
Data Base
ERP, CRM
Web
Application
Java
Application
.NET
Application
HTTP
RMI
.NET REMOTING
CORBA
ODBC
JCA
MAS
DoS - Master 2 SITW 56
DoS - Master 2 SITW
Références 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), 2009
57