BIAD Bases de l’Intelligence Artificielle Distribuée

Slides:



Advertisements
Présentations similaires
Ricardo Rodrigues Teixeira
Advertisements

M. El Maouhal - "Théorie des organisations" - FLSH Ibn Zohr
GEF 435 Principes des systèmes d’exploitation
22 mai 2007 Clauvice Kenfack – Équipe MODEME
Karima Boudaoud, Charles McCathieNevile
Intelligence Artificielle & systèmes experts
Les bonnes pratiques dhygiène dans la filière du café Formation – Evaluation et renforcement de la formation Module 5.3.
LA SITUATION SIGNIFICATIVE D’INTEGRATION
Les Systèmes Multi Agents
Types des systèmes d’exploitation
GÉRER LES COMPÉTENCES.
METHODOLOGIE DE PROJET
Définition Contraintes / Astreintes Taches / Activités
Le Transfert (MEIRIEU)
MANAGEMENT DES ORGANISATIONS
La démarche clinique infirmière
Interactions - Systèmes Multi - Agents Master IMA - 1 Environnement
univ-lr.fr
Interactions - Systèmes Multi - Agents Master IMA - 1 Introduction
univ-lr.fr
Le Workflow et ses outils
Organisation du système d’information comptable et de gestion
LES CONTRATS DE SOUS-TRAITANCE
LES OBJECTIFS ET LEUR PLACE EN FORMATION
MRP, MRP II, ERP : Finalités et particularités de chacun.
1- Accueil et introduction Cours MGP Accueil et introduction Gilles Corriveau Maîtrise en Gestion de Projet UQTR Automne 1998.
Bases de l’Intelligence Artificielle Distribuée
Démarche qualité : mise en œuvre d’un dispositif en Bourgogne
Etude des Technologies du Web services
Principes de la technologie orientée objets
Introduction au Génie Logiciel
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Les Systèmes Multi-Agents pour la Gestion de Production
BIAD Bases de l’Intelligence Artificielle Distribuée
Initiation à la conception de systèmes d'information
Réalisée par :Samira RAHALI
Le Travail Collaboratif ...
Algorithmique et Programmation
Programmation concurrente
Vincent Thomas Christine Bourjot Vincent Chevrier
ADAMOS Une plate-forme pour concevoir et évaluer des services proactifs Système proactif ? qui évolue en fonction des paramètres de lenvironnement physique.
L’autonomie «Capacité et droit d'une personne à choisir elle-même les règles de sa conduite, l'orientation de ses actes et les risques qu'elle est prête.
Compétence, capacité et objectif d’apprentissage, quel lien?
Patrons de conceptions de créations
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Agents intelligents.  L’IA peut être envisagée de différentes manières. Les deux questions essentielles qu’ il convient de se poser sont: Vous intéressez-vous.
La formation des ressources humaines
Algorithmes et Programmation
Maîtrise Informatique 2002/2003 Langages & Systèmes Objets TP : Agents Logiciels.
La communication externe ( Marketing)
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le système informatique et le système d’information
Initiation à la conception des systèmes d'informations
Séance 9 La dynamique interne de l ’entreprise
Le Conseil d’administration (CA) et la Direction générale (DG)
Distributed Planning Distributed Problem Solving, motivations, strategies. Distributed Planning : Centralized planning for distributed plans. Distributed.
Le marketing : comprendre le client
La famille est un système ouvert :
IHM Modèle d’architecture et liens avec les outils de production d’interface IHM Dirrigé par : Catherine RECANATI Présenté par : Youssef OUDGHIRI YOUSFI.
La proportionnalité Au cycle 3.
Introduction à la Programmation Orientée Objet
Les Agents Cognitifs VS Les Agents Rréactifs
LES AGENTS INTELLIGENTS
IFT 703 Informatique cognitive ACT-R Modèle symbolique et perceptuel
« LA PERFORMANCE DOIT ÊTRE GÉRÉE… ». 2 GÉRER / MESURER ? GÉRER LA PERFORMANCE DES PERSONNES, C’EST BEAUCOUP PLUS QUE LA MESURER. Partager.
IS / IM Atelier réalisé par Caroline Goulet. Intégration sociale et intelligences multiples Orientations du programme Exemple SA / les intelligences multiples.
Réalisé par : Ibrahimi salma Elharnouny chaimae.
1 La Coordination dans les Systèmes d’Information Orientés Agents (SIOA) Participants IRIT-UT1 : E.Andonoff, L. Bouzguenda,J. Cardoso, C. Hanachi, C. Sibertin-Blanc,
Les SMA: principes, origines, modalit é s de fonctionnement Jean-Pierre Müller (CIRAD-ES-GREEN/LIRMM)
APPRENTISSAGE 2.0 et dispositif de formation Apprendre… L’apprentissage dans un contexte techno-pédagogique… Construire son dispositif… Est-ce que je peux.
Transcription de la présentation:

BIAD Bases de l’Intelligence Artificielle Distribuée Principes de base : des objets aux agents 31-10-2012

Introduction Les machines ne sont pas bonnes pour savoir ce qu’il faut faire : il faut tout anticiper par le programmeur.   Dans plusieurs applications, on a besoin de systèmes qui décident eux mêmes ce dont ils ont besoin pour atteindre leurs objectifs : les agents. Les agents qui doivent opérer dans des environnements rapides, dynamiques, imprévisibles ou ouverts et où il y ’a plusieurs possibilités d’échec des actions entreprises sont appelés agents intelligents ou autonomes.

Introduction Exemples : -Véhicule spatial -Recherche sur Internet On essaye de comprendre Pourquoi les agents constituent une nouvelle approche importante de conception et d’implémentation de certaines applications logicielles Ce que sont les agents (et ce qu’ils ne sont pas) et quels sont les liens avec les autres paradigmes logiciels, en particulier, les systèmes experts et la programmation orientée objets

Définition d'agent: définition d'agent: Entité automatique pour la prise de décision. Défintion d'un agent selon wooldwridge: Un agent est un système informatique capable d'agir de manière autonome et flexible dans son environnement. Définition d'un agent selon Feiber:  C'est une sorte d'organisme vivant dont le comportement se résume à communiquer agir et éventuellement se reproduire. Il vise à la satisfaction de ses besoins et de ses objectifs à partir de tous les autres éléments: perception, représentation, action, communication et ressources.

Définition d'agent: NB: Dans un système multi-agent le nombre d'agent n'est pas forcement physique, il y'a certain systèmes où les agents meurent naissent et se reproduisent. La communication peut se faire de manière directe  entre les agents ou de manière indirecte par l'environnement. Définition d'un agent selon Demagon : C'est une entité réelle ou virtuelle dont le comportement est autonome évoluant dans un environnement capable de le percevoir, d'agir dessus et d'interagir avec les autres agents.

Définition d’Agents Un Agent peut être défini comme une entité (physique ou abstraite) capable d’agir sur elle-même et son environnement, disposant d’une représentation partielle de cet environnement, pouvant communiquer avec d ’autre agents et dont le comportement est la conséquence de ses observations, de sa connaissance et des interactions avec les autres agents. J. Ferber et G. Ghallab, 88

Définition d’Agents Agent : une entité intelligente, agissant rationnellement et intentionnellement, en fonction de ses buts propres et de l’état actuel de sa connaissance. Y. Demazeau & J.P. Müller, 90 Un agent est un système informatique situé dans un certain environnement et qui est capable d’accomplir des actions autonomes pour atteindre certains de ses objectifs de conception Deux dimensions J. Erceau & J. Ferber, 91 Sociale Individuelle

Définition d'agent: définition d'un système multi-agent : a) C'est un groupe de personne ayant une tache bien définie, coopérant pour la résolution d'un problème global. b) Un système multi-agent est un ensemble d'agents interagissant dans un environnement commun.

Définition d’Agents Systèmes multi-agents Un système multi-agents est un système qui consiste de plusieurs agents, qui interagissent entre eux En général, les agents vont agir de la part des utilisateurs, avec différents buts et motivations Pour interagir avec sont échec , ils devront avoir la capacité de.. coopérer, se coordonner, négocier entre eux, a peu près comme les personnes

Définition d’Agents Un agent est un système informatique situé dans un certain environnement et qui est capable d’accomplir des actions autonomes pour atteindre certains de ses objectifs de conception Agent, pas agent intelligent   Types d’environnements

Définition d’Agents Définition de l’autonomie : les agents sont capables d’intervenir sans interventions humaines ou intervention d’autres systèmes. Les agents ont le contrôle sur leurs propres états internes et sur leurs comportements. Les agents ont une capacité d’autonomie plus large que les objets.

Définition d’Agents :Autonomie Autonomie naturelle Autonomie d’un système comme une organisation des processus permettant au système de se maintenir lui-même Autonomie artificielle Autonomie comme la capacité d’exploiter les circonstances actuelles pour servir son objectif

Définition d’Agents Action Output -Action est générée pour modifier l’environnement   -Pas de contrôle total sur l’environnement : contrôle partiel Senseur input Les percepts représentent l’information sensible obtenue par perception de l’environnement. Cette information est généralement le résultat d’un travail d’élaboration effectué par des capteurs et des systèmes de prétraitements que nous n’étudierons pas

Définition d’Agents Agent Même si une action est exécutée deux fois, dans des circonstances différentes en apparence, elle peut avoir des effets différents ou bien peut échouer à avoir l’effet désiré. L’agent doit être préparé pour la possibilité d’échec de son action : environnements non déterministes. Normalement, un agent doit avoir un répertoire d’actions disponibles. Cet ensemble d’actions possibles représente les capacités de l’agent (effectoric capability). N.B : les actions ne sont pas toutes applicables dans toutes les situations.

Définition d’Agents Exemples: Soulever une table ; Acheter une Mercedes   Les actions ont des pré-conditions associées qui définissent les situations possibles pour appliquer ces actions. Le problème clé que doit résoudre un agent est de décider quelles actions il doit exécuter pour mieux satisfaire ses objectifs.

Définition d’Agents Les architectures d’agents sont des architectures logicielles pour des systèmes de prises de décision qui sont embarqués dans un environnement.   La complexité du processus de prise de décision est liée à un certains nombre de propriétés de l’environnement.

Définition d’Agents Les agents sont des systèmes informatiques, capables d’effectuer des actions autonomes dans un certain environnement pour atteindre certains objectifs.

Définition d’Agents Un agent doit donc :   observer son environnement (par des capteurs physiques dans le cas d’agents situés dans un monde réel ou des capteurs logiciels pour des agents logiciels), et avoir un répertoire d’actions qui peuvent être exécutées pour modifier l’environnement qui répond d’une manière non déterministe à l’exécution de ses actions.

Les Agents Intelligents Un agent intelligent est un agent qui possède une autonomie d’action flexible pour atteindre ses objectifs . Flexibilité ?  Réactif : capacité de percevoir l’environnement et de répondre à temps aux changements qui peuvent affecter l’environnement.  Pro-actif : comportement orienté objectifs en prenant des initiatives  Social : capacité d’interaction avec les autres agents

Réactivité et Pro-activité Procédure en Pascal, fonction en C, ou méthode en Java…. Hypothèses (Pré-conditions)   Effets qu’elle a si les hypothèses sont valides (post-conditions). Les effets sont les objectifs Si les pré-conditions sont vraies lorsque la procédure est invoquée, alors on s’attend à ce que la procédure s’exécute correctement : c’est-à-dire qu’elle se termine et après terminaison, la post-condition devient vraie (l’objectif est atteint).

Réactivité et Pro-activité Ceci est un comportement orienté objectif : la procédure est simplement un plan ou une recette pour atteindre l’objectif. Ce modèle est correct pour plusieurs environnements. Par exemple dans le cas des systèmes fonctionnels : prendre une entrée x et produire une sortie f(x) fonction de cette entrée.   Mais pour les systèmes non fonctionnels, ce modèle simple de programmation orienté objectif n’est pas acceptable à cause de certaines hypothèses limitatives :

Réactivité et Pro-activité l’environnement ne change pas durant l’exécution de la procédure. Si l’environnement change et, en particulier, si les pré-conditions de la procédure en exécution deviennent fausses, alors le comportement de la procédure n’est pas défini et, souvent, la procédure s’implante.   L’objectif (la raison de l’exécution de la procédure) reste valide, au moins jusqu’à la fin de l’exécution de la procédure. Si l’objectif ne reste pas valide, alors il n’ y a aucune raison de continuer à exécuter la procédure.

Réactivité et Pro-activité Dans plusieurs environnements, aucune de ces hypothèses n’est valide. En particulier dans des domaines très complexes à complètement observer qui sont, soit des environnements multi-agents (plusieurs agents qui peuvent changer l’environnement) ou il y’a présence d’incertitude dans l’environnement.   Dans ce genre d’environnement, exécuter une procédure d’une manière aveugle, sans considérer si les hypothèses sont valides est une mauvaise stratégie.

Réactivité et Pro-activité Dans ce genre d’environnements dynamiques, un agent doit être réactif. C’est-à-dire qu’il doit réagir aux évènements qui arrivent dans l’environnement et qui altèrent soit les objectifs de l’agent ou les hypothèses relatives à l’exécution de la procédure par l’agent pour atteindre ses objectifs.   En effet, construire des systèmes purement orientés objectifs ou purement réactifs n’est pas difficile. Par contre, ce qui est difficile à construire ce sont les systèmes qui font un équilibre entre un comportement orienté objectif et un comportement réactif.

Réactivité et Pro-activité Problème d’intégration d’un comportement orienté objectif et d’un comportement réactif.

Capacité Sociale : (coopération et négociation)   Non pas en termes d’échange d’informations. Dans le vie courante, très peu d’objectifs peuvent être atteints sans la coopération d’autres personnes qui ne partagent pas nécessairement les mêmes objectifs : c’est-à-dire qu’ils sont eux même autonomes avec leurs propres agendas.

Capacité Sociale : (coopération et négociation) Il faut donc négocier et coopérer avec les autres.   On peut être obligés à comprendre et raisonner sur les objectifs des autres et exécuter des actions (payer les autres acteurs par exemple) pour les amener à coopérer avec nous et atteindre nos objectifs.

Agents et Objets Est-ce que les agents sont juste des objets avec un nom différent ? Objet : entités informatiques qui : Encapsule un certain état( propriété ) Communiquent par envoi de message capables d’exécuter des actions ou méthodes sur cet état

Agents et Objets Un agent comme un objet , encapsulent un certain état et un comportement Mais l’agent a le contrôle sur son comportement; un objet n’a le contrôle que sur son état l’agent exerce ce contrôle de différentes manières réactif dirige par les buts social Un sma a plusieurs flux de contrôle alors qu’un système a objets n’apriori qu’ un seul flux de contrôle Les agents sont actifs : Un SMA est par nature multi-process (multi-thread): chaque agent est supposé avoir au moins un process de contrôle actif.

Différences : 1.Degré d’autonomie des objets et des agents les agents ont une forte notion d'autonomie, et ils peuvent décider par eux-mêmes s'ils vont entreprendre ou pas une action requise par un autre agent Les objets peuvent avoir contrôle sur leurs propres états internes

Différences : 1.Degré d’autonomie des objets et des agents Exemple •En JAVA, on peut déclarer des variables (ou des méthodes) privées : accessibles uniquement de l’intérieur de l’objet. •On peut aussi les déclarer comme Publiques : accessibles de n’importe où. On doit recourir à cette forme pour que les autres objets puissent les utiliser. Style de Programmation pauvre.

Différences : 1.Degré d’autonomie des objets et des agents Un objet a une autonomie sur son propre état : il a un contrôle sur cet état. Mais un objet n’a pas de contrôle sur son propre comportement. Exemple Si une méthode m est rendue disponible pour d’autres objets, alors ils peuvent l'utiliser quand ils veulent. L’objet n’aura donc pas de contrôle si une méthode est exécutée ou non. Les objets sont donc supposés partager le même objectif

Différences : Dans plusieurs systèmes multi-agents, on ne peut pas supposer qu’on a un objectif commun. On ne peut pas assurer qu’un agent I va exécuter une action (méthode) a uniquement parce que un autre agent J l’a demandée. L’exécution de la méthode a, peut ne pas être dans le meilleur intérêt On peut donc considérer que les agents n’invoquent pas des méthodes de chacun d’entre eux, mais plutôt demander l’exécution d’actions.

L’agent le fait pour de l’argent, l’objet le fait gratuitement Différences : L’aspect de contrôle par rapport à la décision qui devrait exécuter l’action est différent pour les systèmes orientés agents et les systèmes orientés objets. Dans le cas de l’orienté objet, la décision dépend de l’objet qui invoque la méthode. Par contre, dans le cas de l’orienté agent, la décision dépend de l’agent qui reçoit la requête. L’agent le fait pour de l’argent, l’objet le fait gratuitement

Différences : Mais ceci ne nous interdit pas de construire des agents en utilisant les techniques de l’orienté objet. Par exemple, on peut construire une prise de décision concernant l’exécution ou non d’une méthode, à l’intérieur de la méthode elle même. Par conséquent, on peut atteindre une plus grande autonomie pour les objets. Mais ceci n’est pas une composante du modèle orienté objet de base.

-flexibilité (réactive, pro-active, social).- Différences : La deuxième importante distinction entre l’objet et l’agent est la notion de comportement autonome -flexibilité (réactive, pro-active, social).- Les agents sont intelligents : Capables de comportement flexible (réactifs, proactifs, sociaux). Les systèmes orientés objets standards n’ont aucune notion sur comment intégrer ces trois types de comportement.

Différences : La troisième différence est que dans le cas de systèmes orientés agents, chaque agent est supposé avoir son propre chemin de contrôle. Par contre, dans les systèmes orientés objets, il y’ a un seule orientation.

Différences : Beaucoup de travaux ont été menés relatifs à la programmation orientée objet concurrente. Java possède des constructeurs pour la programmation multi-thread (à direction multiple). Il y’ a aussi des langages de programmation (prototypes) qui autorisent la programmation orientée objet concurrente. Mais ces langages ne supportent pas l’idée des entités agents autonomes. La notion la plus proche de la communauté orientée objet est celle des objets actifs

Différences : Un objet est dit actif s’il possède son propre chemin de contrôle. Les objets actifs sont généralement autonomes, c’est-à-dire qu’ils peuvent avoir un certain comportement sans qu’ils soient guidés par un autre objet. Les objets passifs, par contre, ne peuvent avoir un changement d’état sauf s’ils subissent explicitement une action. On peut dire que les objets actifs sont des agents qui n’ont pas nécessairement un comportement autonome flexible.

Agents et systèmes experts Différences avec les agents 1.Un SE n’interagit pas directement avec un environnement. Ils n’obtiennent pas des informations à travers des capteurs, mais à travers un utilisateur agissant comme intermédiaire. 2.Un SE expert n’agit sur aucun environnement, mais donne un feedback ou un conseil à une troisième partie 3.En général, un SE n’est pas supposé de coopérer avec d’autres agents (sauf certains SE temps réels comme ARCHON)

Application des SMA : a) Résolution distribuée de problème: Concerne toutes les situations dans lesquelles les agents logiciels(sans structure physique) accomplissent des taches utiles aux humains. L'expertise est distribuése mais le domaine ne l'est pas. Décomposition de taches complèxes en fonction des compétences. Diagnostic médical, conception de produit.

Application des SMA : b) Robotique mobile: Plusieurs robots qui coopèrent pour accomplir une mission.

VII. Application des SMA : c)Robotique et productique distribuée: Intégration: Faire inter-opérer des logiciels avec des humains et des systèmes mécaniques. Contrôle d'un système automatisé de production. Commerce élèctronique: processus d'achat avec négociation complèxes, enchères, contrats... Recherche et filtrage d'information sur le web: organiser un voyage : billeterie, hôtel, circuit touristique.

Quelques systèmes multi-agents : 1.Applications industrielles : Supervision de processus : ARCHON, 95. Production industrielles: TAMS,87. Contrôle de trafic aerien: OASIS,96. Situation de foules: MASSIVE, 2004. 2.Application commerciales: Gestion de l'information sur le web: MAXIM, 94. Commerce élèctronique:KASBAH, 96. Processus administratif: ADEPT, 96. 3.Application médicale: Surveillance de malades:GUARDIAN, 89.

MASSIVE

MASSIVE creation d’effets spéciaux de films

MASSIVE creation d’effets spéciaux de films

MASSIVE creation d’effets spéciaux de films

MASSIVE creation d’effets spéciaux de films

MASSIVE La simulation de systémes complexe

MASSIVE La simulation de systémes complexe

MASSIVE La simulation de systémes complexe

MASSIVE

MASSIVE Les jeux video intelligence des caractères)

Mouvements de foules simulation rituals of hajj and umrah

Modélisation du flux des pèlerin à la mecque pour le hajj

Nasa deep space Les agents (et leur instanciation physiques en robots) ont un rôle à jouer dans les situations à hauts-risques, non-adaptées ou impossible pour les humains Le degré d'autonomie va différer selon la situation (contrôle humain à distance peut être une alternative, mais pas toujours)

Nasa deep space Contrôle de vaisseaux spatiaux Des sondes spatiales autonomes dotées de capacités de prise de décision pour réduire le nombre de Personnel de supervision Par exemple “Deep Space 1” de la NASA, la première sonde spatiale avec un système de contrôle autonome à base d'agents. http://nmp.nasa.gov/ds1/

Les jeux video intelligence des caractères)

Contrôle du trafic aérien  “les systèmes autonomes de contrôle du trafic aérien peuvent reconnaître la panne d'un autre système, et coopérer pour repérer et gérer tous les vols affectés.”  Systèmes prenant l'initiative lorsque c'est nécessaire  Agents coopérants pour résoudre des problèmes qui dépassent les capacités individuelles de tout agent Agents internet  Recherchent, planifient, arrangent, achètent, négocient..