Agents Software Technologies Quest quun Agent Logiciel Entit

  • Slides: 96
Download presentation
Agents Software Technologies

Agents Software Technologies

Qu’est qu’un Agent Logiciel ? « Entité informatique qui réalise de manière autonome des

Qu’est qu’un Agent Logiciel ? « Entité informatique qui réalise de manière autonome des tâches déléguées par l’utilisateur » .

Caractéristiques des ALI Interactions Avec les autres agents Agent de Recherche Assistant Personnel Avec

Caractéristiques des ALI Interactions Avec les autres agents Agent de Recherche Assistant Personnel Avec les applications Agent Complexe Avec l’utilisateur Fixe Raisonnement Planification Apprentissage Intelligence Mobilité

Langages pour la construction des applications à base d’agents

Langages pour la construction des applications à base d’agents

Langages

Langages

Outils

Outils

Agent 0 § Agent 0 (Shoham, 1993) – propose un nouveau style de programmation

Agent 0 § Agent 0 (Shoham, 1993) – propose un nouveau style de programmation et propose un vrai langage (AOP) intégrant un grand nombre des concepts définissant la notion d'agent. § Caractéristiques de Agent 0 – un langage de programmation interprété permettant de programmer les agents. – fondé sur un langage formel réduit utilisant la logique modale pour décrire les états mentaux. – Les agents sont programmés en terme de règles d'échanges mentaux

Agent 0 § AGENT 0 a trois composantes : – 1) un système logique

Agent 0 § AGENT 0 a trois composantes : – 1) un système logique pour définir les états mentaux de l'agent ; – 2) un langage de programmation pour programmer les agents – 3) un processus "agentification", pour compiler les programmes d’agents en un système exécutable (basniveau). § Les concepts de base sont : – Les Actions provoquant des faits déterminés (externes ou internes) par des Décisions, – Les Capacités indiquant dans quelle mesure l'agent est capable d'effectuer une action, – Les Croyances faisant référence à l'état du monde, aux état mentaux et aux compétences des autres, et contraignant les décisions, – Les Obligations traduisant des engagements et proposant des alternatives pour les décisions.

Agent 0 • Le cycle de contrôle d'un agent AGENT 0

Agent 0 • Le cycle de contrôle d'un agent AGENT 0

Agent 0 § Le cycle de contrôle est assez simple. Il consiste en la

Agent 0 § Le cycle de contrôle est assez simple. Il consiste en la répétition de la boucle suivante : – lire les messages, mettre à jour l'état mental, – exécuter les actions prévues pour le cycle courant.

Agent 0

Agent 0

LALO § Lalo est une extension de Agent 0. L'utilisateur peut choisir de spécifier

LALO § Lalo est une extension de Agent 0. L'utilisateur peut choisir de spécifier le comportement à l'aide : – de règles comme dans AGENT 0, – d'un ensemble de plan ou plus simplement d'une façon procédurale. § L'intérêt de LALO par rapport à AGENT 0 réside surtout dans son aspect compilé. Le compilateur LALO génère à partir du programme de l'agent, un code source C++ pour l'agent, et le code source d'un programme d'installation dans la base de données (Orientée Objet) des agents qui contient au lancement les croyances et engagements

Le compilateur Lalo

Le compilateur Lalo

D’autres langages § § § Placa Méta. Tem … – Des langages expérimentaux

D’autres langages § § § Placa Méta. Tem … – Des langages expérimentaux

Les critères de choix (1) § Le type de l’agent développé

Les critères de choix (1) § Le type de l’agent développé

Les critères de choix (2) · Le domaine d’application · Les compétences techniques disponibles

Les critères de choix (2) · Le domaine d’application · Les compétences techniques disponibles · Le niveau de sécurité désiré · Le niveau de performance

FIPA (1) (Fundation for Intelligent Physical Agents) Introduction La fondation pour les agents physiques

FIPA (1) (Fundation for Intelligent Physical Agents) Introduction La fondation pour les agents physiques intelligents (FIPA) est une association internationale d'entreprises et d'organisations qui tentent de produire des spécifications sur la technologie utilisable par les agents intelligents. Ces spécifications doivent être actuelles, reconnues dans le monde entier, utilisables à travers un grand nombre d'applications et enfin permettre une interaction entre les applications.

Le cycle de vie dans une plate-forme agent

Le cycle de vie dans une plate-forme agent

Le cycle de vie dans une plate-forme agent • description des états • Initié

Le cycle de vie dans une plate-forme agent • description des états • Initié : l'agent est créé ou vient d’arriver à la plate-forme. • Actif : l'agent opère sur AP. • Suspendu : l'exécution de l’agent a été suspendue, soit par l'agent de gestion de système ou par l'agent lui-même. Si des messages sont adressés à un agent dans cet état, l'agent de gestion du système enverra un message d'échec à l'agent envoyant. • En attente : l'agent attend un certain événement par exemple des décisions venant de AP. • description des transitions • Créer • Démarrer : démarrer ou redémarrer l'opération d'un agent. • Suspendre : suspendre l'opération d'un agent soit par AP, soit demandé par l'agent lui-même. • Activer : activer un agent suspendu. • Attendre : mettre l'agent dans un position d'attente de certains événements. Différent de l'action de suspension, l'attente ne peut être décidée par AP. • Réveiller : réveiller l'agent de l'état d’attente. Cela peut seulement être décidé par AP. • Supprimer : arrêter l'agent et le supprimer de la plate-forme.

Application Réelle Une système d ’Agents Logiciels Intelligents pour favoriser la coopération entre des

Application Réelle Une système d ’Agents Logiciels Intelligents pour favoriser la coopération entre des Système d ’Aide à la Décision dédiés à la gestion de crise « Ce travail présente un modèle d’Agent Logiciel Intelligent (ALI) destiné à favoriser la coopération entre les systèmes d’Aide à la décision dédiés à la gestion de crise (la lutte contre les incendies de forêts). La coopération entre les ALI repose sur l’échange d’un ensemble de service » .

Problématique La demande des SAD (gestion de crise) ne cesse de croître. De nombreux

Problématique La demande des SAD (gestion de crise) ne cesse de croître. De nombreux systèmes sont proposés aux gestionnaires (avec une extrême variété d ’information et de services (ex. surveillance, aide à l’analyse, …). Considérés isolément, les SAD apportent satisfactions à l ’utilisateur. Cependant … Le besoin en terme d’échange d’informations et de services entre SAD ne cesse de croître. La tâche consistant à permettre la coopération entre des SAD, préalablement conçu dans des contextes différents, n ’est pas aisée. (Difficultés liées : langages, versions, structure, formats d ’échange et de communication, données, ergonomie…) Malgré les progrès au niveau des langages de programmation, les insuffisances demeurent (intégration, gestion des interactions et de coopération entre logiciels).

Problématique Une voie de recherche s’est entrouverte : le concept d’Agent Logiciel Intelligent (ALI)

Problématique Une voie de recherche s’est entrouverte : le concept d’Agent Logiciel Intelligent (ALI) Réponses effectives et performantes quant au problème de la coopération inter-logiciels Pour rendre coopératif un ensemble de SAD Concevoir des modèles et des méthodes Informatiques favorisant l’échange d’infos au sein d’un env. hétérogène (PC, MAC, Station de travail, C++, Lisp, Pascal, . . )

Proposition de Solution Concevoir et réaliser une couche de communication et de coopération entre

Proposition de Solution Concevoir et réaliser une couche de communication et de coopération entre les SAD (demande de services, échanges de points de vue, . . ) Pour rendre une coopération entre SAD effective, trois approches sont possibles : Réecrire les SAD, les transformer en ALI (Av. : Améliore la qualité des SAD, Inc. : très coûteuse. Entreprendre des changements à l ’intérieur des SAD afin de les rendre coopératifs. Inc. : demande une compréhension profonde de chaque logiciel. Créer une «couche» (ALI) au dessus de chaque SAD. C’est à lui que revient la responsabilité d’établir et de gérer la coopération et la communication entre les autres SAD

Principe

Principe

Système d’ALI Tous les ALI sont conçus de la même façon, même structure sur

Système d’ALI Tous les ALI sont conçus de la même façon, même structure sur le même modèle. Chaque ALI est responsable d ’un SAD particulier. Il contient la description détaillée du SAD qui lui est associé.

Proposition d’un modèle d’ALI* L’ALI est constituée de deux partie : Une partie intelligente

Proposition d’un modèle d’ALI* L’ALI est constituée de deux partie : Une partie intelligente (ks sociales sur les autres ALI, capable de raisonnements autorisant une coopération effective Une partie spécialisée dans un domaine donné, capable d’effectuer des tâches

Système Coopératif Le modèle d’ALI proposé a été testé et validé dans le domaine

Système Coopératif Le modèle d’ALI proposé a été testé et validé dans le domaine de la prévention et de la lutte contre les incendies de forêts. Il permet à cinq SAD de communiquer et de coopérer. Ces cinq SAD ont les caractéristiques suivantes :

Synthèse des services proposés par les différents SAD Logiciels Services - détection précoce d’un

Synthèse des services proposés par les différents SAD Logiciels Services - détection précoce d’un feu Bosque - liste des feux actifs Criado, 96 - image visible ou infra-rouge d’un feu - positions des moyens de lutte (GPS) Florinus - information sur l ’état du réseau routier Schmidt, 95 - état des ressources en eau Système Météo Chambina, 98 - direction et vitesse du vent - humidité, température, pluviométrie - interpolation des données météo Wilfrid - calcul du niveau de risque Guarnieri, 95 - ressources en eau (citernes) - simulation de la propagation d’un feu - gestion de messages MCI - suivi de situations Vauche, 97 - statistiques Langage Delphi Pascal Machines Systèmes PC PC C et C++ PC/Unix C++ et Pascal PC C++ PC/Unix Access et C PC

Principes de coopération entre les ALI Le langage de communication utilisé est basé sur

Principes de coopération entre les ALI Le langage de communication utilisé est basé sur : • ACL : Agent Communication Language [Mayfield et al. , 95] • ASN 1 : Abstract Syntax Notation One (langage standardisé par ISO) [Marshall, 90][Bustos, 92] Tous les messages du langage ont une même structure : • L ’entête du message (le but recherché par l ’expéditeur) • Le corps de message (texte libre, demande d’un service, réponse à une demande, envoi d’une information). Le protocole de communication a été développé suivant la norme OSI (Open System Interconnexion). Le standard BER (Basic Enconding Rules) a été utilisé pour les codages des messages sous forme binaire pour être transmis sur le réseau.

Les actes de communication entre les ALI Six actes de communication sont supportés par

Les actes de communication entre les ALI Six actes de communication sont supportés par le protocole : (1) En cours: En train d’effectuer la même tâche dans le cadre d’une autre activité. (2) Engagement car demandé: La tâche est mise dans sa liste de tâche à faire. (3) Engagement si demande: Intéressé, prêt à l’accomplir si un ALI. . demande (4) Intérêt: Intéressé, mais il est occupé (5) Intérêt négatif: Intéressé, ne peut pas aider car pas les compétences nécessaires (6) Non Intérêt: Pas intéressé et il ne peut pas ou (ne veut pas) aider.

Exemple de coopération (en situation de crise) • Le départ d’un nouveau feu va

Exemple de coopération (en situation de crise) • Le départ d’un nouveau feu va générer une activité de coopération chez l’ALI de Wilfried • Cette activité implique le système Météo pour informer les autres de la situation météorologique • Bosque quand à lui, il doit continuer à suivre l’évolution du feu • Florinus doit informer les groupes de pompiers sur le terrain à partir des déductions de Wilfried quand à l ’évolution potentielle du front de feu

Agents Mobiles sur le net

Agents Mobiles sur le net

Agent Mobile (1) Synonyme(s) : mobile software agent (agile applet) Agent intelligent quitte l'ordinateur

Agent Mobile (1) Synonyme(s) : mobile software agent (agile applet) Agent intelligent quitte l'ordinateur de l'utilisateur pour s'exécuter sur un ou plusieurs ordinateurs distants et ramener éventuellement les renseignements recueillis à l'ordinateur de l'utilisateur. Note(s): Le terme « applet agile » , calqué sur l'anglais, n'a pas été retenu à cause de son manque de précision. Le terme anglais « aglet » , mot issue de la contraction de « AGile » et de « app. LET » , désigne des agents autonomes de type objet dans un environnement réseau.

Agent Mobile (2) “L'utilisation d'un agent mobile permet, par exemple, de confier à un

Agent Mobile (2) “L'utilisation d'un agent mobile permet, par exemple, de confier à un robot le repérage du produit désiré sur le Web et, éventuellement, d'effectuer une transaction d'achat sur Internet, sans que l'internaute soit en ligne, etc. . ”. Par exemple, un agent mobile pourrait déterminer le meilleur prix pour un produit proposé par les serveurs de plusieurs fournisseurs, en les consultant successivement, les uns après les autres, puis en revenant sur l’ordinateur de l’utilisateur avec la meilleure offre.

Technologie d'agent mobile Note(s): L'apparition d'un langage objet comme Java, combinée au développement d'Internet,

Technologie d'agent mobile Note(s): L'apparition d'un langage objet comme Java, combinée au développement d'Internet, ont ravivé l'intérêt pour les technologies d'agent mobile, notamment dans les applications de recherche d'information et de commerce électronique. Les compagnies IBM (avec Aglet), General Magic (avec Serengeti) et Encanto (avec Commerce webstation) ont proposé chacune technologie d'agent mobile.

Agent Mobile Client/Serveur Evaluation de Performance INRIA Rhône-Alpes

Agent Mobile Client/Serveur Evaluation de Performance INRIA Rhône-Alpes

 Mesure des bandes passantes sur les connexions entre les 3 sites (F GB

Mesure des bandes passantes sur les connexions entre les 3 sites (F GB Suisse)

Mobile Agents: Applications

Mobile Agents: Applications

Amélioration de la qualité des images médicales Travaux de Catherine Garbay sur la segmentation

Amélioration de la qualité des images médicales Travaux de Catherine Garbay sur la segmentation des images du cerveau (2000) Segmentation séquentielle Segmentation avec l’environnement SMA

Quelques caractéristiques techniques 2 types d’agents sont utilisés : § Region agents § Edge

Quelques caractéristiques techniques 2 types d’agents sont utilisés : § Region agents § Edge agents Tous ces agents sont des entités simples et autonomes qui communiquent dans un environnement partagé

Le monitorage des patients GUARDIAN (Barabara Hayes-Roth, 2000) = un prototype d’agents intelligents pour

Le monitorage des patients GUARDIAN (Barabara Hayes-Roth, 2000) = un prototype d’agents intelligents pour le monitorage en soins intensifs.

Quelques caractéristiques techniques 3 types d’agents sont utilisés : § Des agents de perception

Quelques caractéristiques techniques 3 types d’agents sont utilisés : § Des agents de perception et d’action § Des agents de raisonnement § Des agents de contrôle Tous ces agents sont organisés en hiérarchies et coopèrent entre eux grâce à leurs connaissances.

Patient Advocate (Miksch et al. , 1997) Diabète

Patient Advocate (Miksch et al. , 1997) Diabète

Trois principales familles d’agents (1) Trois principales familles d’agents (diffèrent selon leur environnement d’existence)

Trois principales familles d’agents (1) Trois principales familles d’agents (diffèrent selon leur environnement d’existence) A. Caglayan, C. Harrison Agents bureautiques (desktop agents) Agents Internet Agents intranet Les agents bureautique sont des logiciels qui s’intègrent à un système d’exploitation ou à d’autres logiciels applicatifs. Exemple : l’agent système de Windows 98 qui a pour but d’exécuter à intervalles réguliers, définis par l’utilisateur, un certain nombre de tâches comme par exemple les outils de vérification et de défragmentation des disques durs, la vérification de l’intégrité de la base de registres du système ou encore l’outil d’avertissement du dépassement de la capacité d’un disque, etc. .

Trois principales familles d’agents (2) Les agents de type Internet interviennent afin de faciliter

Trois principales familles d’agents (2) Les agents de type Internet interviennent afin de faciliter certaines opérations qui seraient trop fastidieuses pour un être humain. Exemple : détecter automatiquement la modification d’une page contenue sur un site web, ou de filtrer certaines sources diinformations afin d’en extraire celles qui correspondent à certains critères définis par l’utilisateur. Enfin, Les agents rencontrés sur des intranets assurent des tâches d’automatisation pour certaines activités particulières ou de filtrage pour des bases de données internes à une entreprise.

Trois principales familles d’agents (3) Les Desktop Agents Les agents systèmes : des agents

Trois principales familles d’agents (3) Les Desktop Agents Les agents systèmes : des agents d’interface qui fournissent une aide à l’utilisateur dans l’utilisation du système d ’exploitation. Les agents d’application : des agents d’interface qui fournissent une aide à l’utilisateur pour se servir correctement d ’une application particulière. Les agents de suite logicielle : des agents d’interface qui fournissent une aide à l’utilisateur pour faciliter son travail avec des applications corrélées.

Trois principales familles d’agents (4) Les agents Internet Les agents de recherche du web

Trois principales familles d’agents (4) Les agents Internet Les agents de recherche du web : agents Internet qui fournissent des services de recherche dans le web à un utilisateur. Les agents serveur du web : agents Internet qui résident sur un site web spécifique pour fournir des services. Les agents de filtrage d’information : agents Internet qui filtrent des informations selon des critères spécifiés par l’utilisateur. Les agents de recherche documentaire : agents Internet qui retournent un ensemble personnalisé d ’info. Correspondant à la demande de l’utilisateur. Les agents de notification : agents Internet qui indiquent à un utilisateur des événements qui pourraient l’intéresser. Les agents de service : agents Internet qui fournissent des services spécialisés à des utilisateurs. Les agents mobiles : se déplacent d’un lieu à un autre afin d’éxécuter des âches spéc.

Trois principales familles d’agents (5) Les agents Intranet Les agents de personnalisation coopérative :

Trois principales familles d’agents (5) Les agents Intranet Les agents de personnalisation coopérative : agents intranet qui permettent l’automatisation du Workflow à l ’intérieur d’une entreprise. Les agents d ’automatisation : agents intranet qui automatisent les tâches d ’une entreprise. Les agents de base de données : agents intranet qui fournessent des services agent à l’utilisateur de bases de données. Les agents courtiers de ressources : agents intranet qui réalisent l’allocation de ressources dans les architectures clients/serveur.

Liste des principaux agents Web. Seeker Un outil très puissant qui permet, par exemple,

Liste des principaux agents Web. Seeker Un outil très puissant qui permet, par exemple, d'effectuer des recherches sur les moteurs francophones. Web Ferret A essayer, et en plus il est gratuit ! (cependant il n'est pas capable d'éliminer les doublons) Retrieve It : Un outil pour Mac OS. Copernic Un agent de recherche gratuit. Plus de 30 sources d'information regroupées en trois domaines: le web, groupes de discussion et adresses de courrier : A essayer absolument ! Strategic Finder La version gratuite permet d'interroger plus de 120 moteurs de recherches sur Internet. La version payante permet en plus d'ajouter de nombreuses sources professionnels sous forme de plugin. Le logiciel est réalisé par la société Digimind. Bulls. Eye 2 Bulls. Eye propose un historique des recherches.

Strategic Finder • Strategic Finder exploite les sources professionnelles visibles et « cachées »

Strategic Finder • Strategic Finder exploite les sources professionnelles visibles et « cachées » dans votre secteur d’activité • Strategic Finder optimise la gestion, la capitalisation et le partage de votre information on line

Les fonctionnalités (2) Simplicité et rapidité de la recherche : Strategic Finder interroge simultanément

Les fonctionnalités (2) Simplicité et rapidité de la recherche : Strategic Finder interroge simultanément toutes les sources sélectionnées avec une seule requête. Il élimine ensuite les pages doublons et supprime les pages non pertinentes.

BULLSEYE PRO Fig 1 http: //www. intelliseek. com

BULLSEYE PRO Fig 1 http: //www. intelliseek. com

 Nom: Copernic (Agent Technologies) Famille: Recherche d'information Catégorie : Meta-moteurs " off-line "

Nom: Copernic (Agent Technologies) Famille: Recherche d'information Catégorie : Meta-moteurs " off-line " Description: Copernic est un agent de recherche simple mais efficace. Les requêtes sont soumises à plusieurs moteurs de recherche et les résultats sont présentés sous forme d'un tableau. On dispose ainsi d'un historique des données facilement accessible.

Points positifs : - Simple et intuitif. Il s'intègre parfaitement dans le browser. -

Points positifs : - Simple et intuitif. Il s'intègre parfaitement dans le browser. - Prend en compte plusieurs moteurs de recherche francophones (si l'on choisi l'interface française). - Les résultats, qui apparaissent dans un tableau, peuvent être triés selon plusieurs critères de recherche. - Il est possible de mener des recherches plus précises directement au sein des documents rapatriés par l'agent. - Nouvelles fonctions de veille (version pro). Points négatifs : - Il est impossible de rajouter de nouveaux moteurs de recherche à la liste existante (dans la version gratuite). Adresse site : http: //www. copernic. com Telechargez le : version Windows 95 Prix : Version gratuite, version plus à 40 $, version pro à 80 $

Configuration requise : Windows 95 ou NT Pentium 133 min. 32 Mo de RAM

Configuration requise : Windows 95 ou NT Pentium 133 min. 32 Mo de RAM min. Espace Disque: 10 Mo. 25, rue de Wattignies 75012 PARIS Tél : 33 -1 40 19 02 02 Fax : 33 -1 40 19 08 08 Mél : info @ arisem. com S. A. R. L au capital de 50000 FF- RCS Paris B 404 090 177 00019 - Code APE 722 Z

DIGOUT 4 U Nom: Dig. Out 4 U (Arisem) Famille: Recherche d'information Catégorie: Agents

DIGOUT 4 U Nom: Dig. Out 4 U (Arisem) Famille: Recherche d'information Catégorie: Agents de recherche avancés Description: Dig. Out 4 U est un logiciel développé par une jeune société française qui adopte une démarche originale basée sur l'analyse du contenu, du sens et de la sémantique des textes. L'application repose sur une technologie propriétaire (L 4 U) qui permet de récupérer les pages web dont le contenu sémantique correspond à la requête en langage naturel formulée par l'utilisateur. A l'heure actuelle, c'est un des premiers agents à permettre des recherches multilingues. Par ailleurs, la technologie L 4 U est à la base d'autres applications plus évoluées notamment au niveau de la veille.

DIGOUT 4 U Points positifs • Requêtes en langage naturel mais avec possibilité d'intervenir

DIGOUT 4 U Points positifs • Requêtes en langage naturel mais avec possibilité d'intervenir sur les mots-clefs. • Traitements linguistiques données (présence d'un dictionnaire de synonymes et d'équivalences). • Pages sur Internet (site carrefour) • Elargissement de la portée d'une requête après une analyse de son contenu. • L'analyse sémantique des pages permet de trier les document réellement pertinents • Requêtes automatiquement traduites en anglais. • Elaboration de résumés automatiques dont on peut modifier la longueur. Points négatifs • Nécessite un ordinateur assez puissant et une bonne connexion. • L'interface est encore en évolution. • Le prix le réserve surtout à un marché professionnel. Adresse site: http: //www. arisem. com Telechargez le: version Windows 95 Prix: Inférieur à 800, Dig. Out 4 U Version 1. 4 (Monoposte)4. 700 FF

TD/TP : Etude Comparative de Plates-formes Multi-Agents Des plates-formes en Freeware : - JADE

TD/TP : Etude Comparative de Plates-formes Multi-Agents Des plates-formes en Freeware : - JADE : http: //sharon. cselt. it/projects/jade/ - Swarm : http: //www. swarm. org/ Objective C - Madkit : http: //www. madkit. org/ - Starlogo : http: //el. www. media. mit. edu/groups/el/Projects/starlogo/ - ZEUS : http: //innovate. bt. com/projects/agents/zeus/index. htm - ZEUS : http: //www. labs. bt. com - Evo : http: //www. omicrongroup. org/evo/ - Ascape : http: //www. brook. edu/es/dynamics/models/ascape/ en Java - Geamas : http: //www. univ-reunion. fr/~mas 2/geamas. html - JAFMAS : http: //www. ececs. uc. edu/~abaker/JAFMAS. html - Agent. Tcl : http: //agent. cs. dartmouth. edu/general/agenttcl. html - MANTA : http: //www-poleia. lip 6. fr/~drogoul/projects/manta/index. html Une liste de liens sur les SMA, mise à jour quotidiennement : - http: //www. spiderland. org/breve/ Breve: a 3 d Simulation Environment Designed for the Simulation of Decentralized Systems and Artificial Life - http: //www. agentland. fr/ - http: //www-2. cs. cmu. edu/~softagents/ - http: //www. agentbuilder. com/Agent. Tools/index. html

Comparaison avec d’autres plateformes JAFMAS ZEUS d. Mars Agen. Talk Agent. Tcl Telescript Langage

Comparaison avec d’autres plateformes JAFMAS ZEUS d. Mars Agen. Talk Agent. Tcl Telescript Langage de développement Java C++ Lisp Tcl Telescript Supporté par les systèmes d’exploitation : Tous Unix, Solaris, Windows NT UNIX Software Software Orienté objet ? Oui Oui Non Oui Chaque agent a son propre chemin d’exécution ? Oui Oui Non Oui Protocole de communication ? TCP/IP and UDP/IP TCP/IP TCP/IP Support d’agents mobiles Oui Non Non Oui Fournit des constructeurs de coordination ? Oui Quelques-uns Oui Non Agent implémenté comme : JAFMAS : http: //www. ececs. uc. edu/~abaker/JAFMAS. html ZEUS : http: //www. labs. bt. com Agent. Tcl : http: //agent. cs. dartmouth. edu/general/agenttcl. html

ZEUS A collaborative Agents Tool-Kit Outil de création de systèmes multi-agents BT Laboratories –

ZEUS A collaborative Agents Tool-Kit Outil de création de systèmes multi-agents BT Laboratories – England [email protected] bt. co. uk

ZEUS

ZEUS

Philosophie (1) Le but du projet Zeus est de facilité le développement de système

Philosophie (1) Le but du projet Zeus est de facilité le développement de système multi-agents à partir d’une boite à outil. Leur philosophie s’est orienté selon 3 principes : · utilisation de la boite à outils simple. · Possibilité d ’ajouter ses propres agents dans la librairie. · utilisation d’outils standards pour faciliter les modifications ultérieurs.

Philosophie (2) Plus précisément, l’utilisateur doit pouvoir : · configurer ses propres agents avec

Philosophie (2) Plus précisément, l’utilisateur doit pouvoir : · configurer ses propres agents avec des fonctionnalités différentes. · établir des relations entre eux. · définir chaque agent avec différents protocoles de communication et de coordination · fournir à chaque agent le code spécifique pour résoudre les problèmes · générer automatiquement le code exécutable pour chaque agent.

Architecture (1) u. La structure de l’agent ZEUS: u une entité composé de cinq

Architecture (1) u. La structure de l’agent ZEUS: u une entité composé de cinq couches:

Architecture (2) u. Les composants de ZEUS :

Architecture (2) u. Les composants de ZEUS :

Avantages de la technologie Agent Avantages Bénéfice Réaliser des tâches répétitives Augmenter la productivité

Avantages de la technologie Agent Avantages Bénéfice Réaliser des tâches répétitives Augmenter la productivité Interagir avec des informations personnalisées Réduire la quantité d’informations présentée Prévenir l ’utilisateur des événements importants Réduire la charge de travail Apprendre à reconnaître le comportement des utilisateurs Assistance proactive Suivre et diriger l’utilisateur dans un contexte particulier Réduire le temps de formation Réaliser les tâches à distance Travail local en mode déconnecté

Star. Logo

Star. Logo

Plan § § § Introduction La plateforme Exemple d’un programme Démonstration Conclusion

Plan § § § Introduction La plateforme Exemple d’un programme Démonstration Conclusion

Introduction § Plusieurs plate-formes multi-agents existent : – les plate-formes de simulation, – les

Introduction § Plusieurs plate-formes multi-agents existent : – les plate-formes de simulation, – les plate-formes de développement – et les plate-formes d'exécution. § Starlogo : plate-forme de simulation – – – créé par Mitchell Resnick au MIT dans les années 90. conception de systèmes multi-agents auto-organisés. ( basé sur le Logo) portage en Java a été effectué (disponibilité sur toutes les plateformes et non pas uniquement sur Macintosh , clarification de l'aspect orienté objets du langage, construction rapide des applets qui peuvent être montrés sur le Web. ) – modélisation des comportements collectifs ou émergents, survenant tant dans les domaines du vivant que dans les sciences sociales (une agrégation de cellules, la propagation d'un feu de forêt, un traffic de voitures ou encore une recherche de nourriture par des termites. )

La plateforme § Notion de décentralisation – systèmes organisés sans organisateur et coordonnés sans

La plateforme § Notion de décentralisation – systèmes organisés sans organisateur et coordonnés sans coordonnateur – Exemple : Le vol en formation des oiseaux, les embouteillages de voitures, le marché économique ou le comportement d'une fourmilière, … § Système auto-organisés – Interaction locale ajoutée les unes aux autres -> ordre (impression d’actions centralisées) – Capacité cognitive individuelle limitée mais en groupe le comportement peut être complexe et parait organisé (exemple : les fourmis) § Stalogo offre au programmeur trois entités différentes : – les tortues (les agents), – les patches (l'environnement) et – l'observateur (le superviseur).

La plateforme § Les tortues – Éléments principaux – Entités colorées sur l’écran principal

La plateforme § Les tortues – Éléments principaux – Entités colorées sur l’écran principal – Exemple : tortues, fourmis, termites, … § Les patches – – Environnement des tortues Cases de l’écran principal Interaction des tortues avec l’environnement Exemple : mettre de le nourriture dans l’environnement ou laisser des phéromones § L’observateur – – superviseur Extérieur au monde des tortues Gestion des programmes dans Star. Logo Intervention possible même lorsque le programme est lancé

La plateforme § 4 fenêtres de commandes visibles 2 à 2 dans le centre

La plateforme § 4 fenêtres de commandes visibles 2 à 2 dans le centre de commandes,

La plateforme § La fenêtre «Turtle command center» : – Exécution immédiate des commandes

La plateforme § La fenêtre «Turtle command center» : – Exécution immédiate des commandes simples et de procédures relatives aux tortues. – Exemple : taper forward 10 dans la fenêtre «Turtle command center» , on verra alors un joli cercle, indiquant que vos tortues ont toutes avancé de 10 pas. § La fenêtre «Turtle procedures» : – Écriture de toutes les procédures concernant les tortues. – Exemple : To set up to demarrer Setcolor red setc red Forward 10 fd 10 End end – Les procédures ne peuvent lancées immédiatement dans la fenêtre – Pour exécuter les procédures : § Taper le nom de la procédure dans la fenêtre «Turtle command center» § Créer un bouton de lancement de la procédure

La plateforme § La fenêtre «observer command center» : – Exécution immédiate des commandes

La plateforme § La fenêtre «observer command center» : – Exécution immédiate des commandes qui y sont tapées. – Exécution immédiate des procédures en tapant leurs noms. – l'observateur peut agir sur le monde des tortues en créant de nouvelles tortues, en nettoyant l'écran de visualisation, ou en monitorant les événements – Exemple : § taper clear-turtles dans cette fenêtre, alors toutes les tortues seront effacées de l'écran. § taper create-turtles 10, alors va apparaître un point au centre de l'écran correspondant aux taper nouvelles tortues. § La fenêtre «observer procedures» : – – Écriture les procédures relatives à l'observateur. Procédures qui permettent de gérer un programme dans Starlogo Les procédures ne peuvent lancées immédiatement dans la fenêtre Commandes importantes : ask-turtles et ask-patches pour passer des ordres aux tortues et aux patches – Exemple : To set up clear-all create-turtles 20 ask-patches [ set-patchcolor red] ask-patches [set-patchcolor red] ask-turtles [ setc blue ask-turtles [setc blue fd 5] end

La plateforme § Les patches – Pas de commandes spécifiques aux patchs – Les

La plateforme § Les patches – Pas de commandes spécifiques aux patchs – Les commandes relatives aux patchs sont : § soit, des commandes qui peuvent être exécutées par les tortues § soit, des commandes utilisées par l'observateur (principalement). – Utilisation des patches § la commande ask-patches ou d'une de ses variantes. § Vérifier si la commande est associée aux tortues ou à l’observateur pour savoir où l’utiliser. – Exemple : § L'utilisation des patchs par l'observateur nécessite la commande ask-patches ou une variante(mettre dans la fenêtre «Observer procedures» . to demarrer ask-patches [ ifelse xcor < 0 [ setpc red] [ setpc blue]] ask-patches [ifelse xcor < 0 [setpc red] [setpc blue]] end (Patches < 0 rouge sinon bleu Xcor commande relative aux tortues mais setpc sont relatives a l’observateur C’est le type de derniere commande qui détermine ou mettre la procédure ici c’est l’observateur le destinataire) § Commande associée aux tortues (à mettre dans la fenêtre «Turtle procedures» ) to demarrer ask-turtles [ demarrer-tortues] // dire aux tortues lancer la procedure demarrer tortues ask-turtles [demarrer-tortues end to demarrer-tortues patch-setup // demmarage des patch-setup //demmarage end

Exemple de code § Beaucoup de fonctions clés : – Fd (Forward) : Avance

Exemple de code § Beaucoup de fonctions clés : – Fd (Forward) : Avance les tortues d’une etape – Setc (Set. Color) : Couleur des tortues – Jump : Nombre de mouvements des tortues – Seth (setheading) : Angle de direction – Rt (right turn) : Tourner à droite d’un certain angle

Exemple de programme § Les termites – Une termite erre aléatoirement – Si elle

Exemple de programme § Les termites – Une termite erre aléatoirement – Si elle trouve du bois elle le prend – Puis continue d’errer – Si elle en trouve un autre – Elle pose le premier dans une “pile” avec d’autres Regroupement de tous le morceaux de bois Classification

Explication du code to go search-for-chip ; cher du bois find-new-pile ; trouver un

Explication du code to go search-for-chip ; cher du bois find-new-pile ; trouver un autre bois find-empty-spot ; trouver une place libre end Etat initial to setup setc red seth random 360 jump random 200 end to search-for-chip if pc = yellow ; si elle trouve du bois [stamp black ; enleve le bois du schema setc orange ; couleur orange pendant le transport jump 20 stop] ; on quitte wiggle search-for-chip end Etat final

Conclusion § Développement de star. Logo en 3 D en cours § Bonne plateforme

Conclusion § Développement de star. Logo en 3 D en cours § Bonne plateforme de simulation (S’adapte à de nombreux domaines) § Pas d’acquisition de connaissances (Agents réactifs)

Bibliographie § www. ades. cnrs. fr/IMG/ppt/Sem-GRANIT_MPiron_02 -fevr-06. ppt § www. sm. u-bordeaux 2. fr/~rodrigue/starlogo/main.

Bibliographie § www. ades. cnrs. fr/IMG/ppt/Sem-GRANIT_MPiron_02 -fevr-06. ppt § www. sm. u-bordeaux 2. fr/~rodrigue/starlogo/main. html § www. samuel. landau. free. fr/pub/enseignements/ENSTA 00 -01/TD-6/ § education. mit. edu/starlogo/ § www. lirmm. fr/~jq/Cours/3 cycle/module/sujet 2002. html