WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Modélisation par un système multi-agents d'un hypermédia éducatif adaptatif dynamique

( Télécharger le fichier original )
par Mounir Beggas
Centre Universitaire d'Eloued - Magister en Informatique 2005
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Chapitre 2

Les systèmes multi-agents

1

Introduction

Le thème des systèmes multi-agents, s'il n'est pas récent, est actuellement un champ de recherche très actif. Cette discipline est à la connexion de plusieurs domaines en particulier de l'intelligence artificielle, des systèmes informatiques distribués et du génie logiciel. C'est une discipline qui s'intéresse aux comportements collectifs produits par les interactions de plusieurs entités autonomes et flexibles appelées agents, que ces interactions tournent autour de la coopération, de la concurrence ou de la coexistence entre ces agents. Ce chapitre introduit, tout d'abord, les notions d'agents et de systèmes multi-agents, et détaille par la suite

Les travaux sur les systèmes éducatifs et surtout les systèmes tutoriels intelligents (STI) se sont poursuivis activement depuis le début des années 90. Des nouvelles tendances se sont concrétisées telles l'accent mis sur l'apprentissage collaboratif, les interfaces adaptatives et les systèmes multi-agents. Ces recherches sur les agents sont guidées par la nécessité d'avoir des environnements interactifs qui tracent à la fois le comportement du système informatique et celui des usagers (tuteur ou apprenant). En effet, lorsqu'il s'agit de concevoir des systèmes informatiques distribués qui manipulent des connaissances hétérogènes, la technologie agent se révèle bien adaptée. Les systèmes multi-agents permettent non seulement le partage ou la distribution de connaissance, mais aussi, de faire coopérer un ensemble d'agents et de coordonner leurs actions pour l'accomplissement d'un but commun.

2

Concept d'agent

La notion d'agent n'est pas simple à définir. Il existe en effet plusieurs définitions ou significations données à cette notion. C'est la raison pour laquelle plusieurs auteurs essayent d'en donner une définition avant de se pencher sur l'utilisation de ce paradigme dans tel ou tel contexte.

2.1

Définition d'un agent

Ferber [Ferber 95] définit un agent comme une entité physique ou virtuelle

a.

qui est capable d'agir dans un environnement,

b.

qui peut communiquer directement avec d'autres agents,

c.

qui est mue par un ensemble de tendances (sous la forme d'objectifs individuels ou d'une fonction de satisfaction, voire de survie, qu'elle cherche à optimiser),

d.

qui possède des ressources propres,

e.

qui est capable de percevoir (mais de manière limitée) son environnement,

f.

qui ne dispose que d'une représentation partielle de cet environnement (et éventuellement aucune),

g.

qui possède des compétences et offre des services,

h.

qui peut éventuellement se reproduire,

i.

dont le comportement tend à satisfaire ses objectifs, en tenant compte des ressources et des compétences dont elle dispose, et en fonction de sa perception, de ses représentations et des communications qu'elle reçoit.

Ferber [Ferber 95] opère une différence entre les agents logiciels et les agents purement situés (qui sont davantage des entités physiques). Un agent logiciel ou agent purement communiquant est une entité informatique qui :

j.

se trouve dans un système ouvert,

k.

peut communiquer directement avec d'autres agents,

l.

est mue par un ensemble d'objectifs propres,

m.

possède des ressources propres,

n.

ne dispose que d'une représentation partielle des autres agents,

o.

possède des compétences (services) qu'elle peut offrir aux autres agents,

p.

a un comportement tendant à satisfaire ses objectifs, en tenant compte des ressources et des compétences dont elle dispose, et en fonction de ses représentations et des communications qu'elle reçoit.

[Jennings et al. 98] définissent un agent comme un système informatique situé dans un certain environnement, capable d'exercer de façon autonome des actions sur cet environnement en vue d'atteindre ses objectifs. D'après cette définition un agent intelligent se caractérise par les propriétés suivantes :


·

autonomie : un agent possède un état interne (non accessible aux autres) en fonction duquel il entreprend des actions sans intervention d'humains ou d'autres agents ;


·

réactivité : un agent perçoit des stimuli provenant de son environnement et réagit en fonction de ceux-ci ;


·

capacité à agir : un agent est mû par un certain nombre d'objectifs qui guident ses actions, il ne répond pas simplement aux sollicitations de son environnement;


·

sociabilité : un agent communique avec d'autres agents ou des humains et peut se trouver engager dans des transactions sociales (négocier ou coopérer pour résoudre un problème) afin de remplir ses objectifs.

Plusieurs chercheurs définissent la notion d'agent par rapport à celle d'objet, arguant du fait que la maîtrise d'une nouvelle technologie ou d'un nouveau concept est facilitée par une référence à des technologies ou concepts voisins et d'ores et déjà maîtrisés [Odell et al. 00]. Les objets se définissent comme des entités informatiques qui encapsulent un état, sont capables d'accomplir des actions, ou méthodes dans cet état, et communiquent par échange de messages. Bien qu'il existe plusieurs similitudes entre les agents et les objets, il n'en existe pas moins d'importantes différences. La première concerne le degré d'autonomie. La propriété la plus caractéristique des objets est le principe d'encapsulation, l'idée selon laquelle les objets contrôlent leur propre état interne. Dans ce sens, un objet peut être considéré comme ayant une autonomie sur son état. Mais un objet n'a pas de contrôle sur son comportement : si une méthode m est rendue accessible aux autres objets, alors ceux-ci peuvent les invoquer chaque fois qu'ils le veulent. En d'autres termes, une fois qu'un objet a rendu une méthode publique, il n'a plus de contrôle sur l'exécution ou la non exécution de cette méthode. Les agents, quant à eux, n'invoquent pas des méthodes mais adressent des requêtes pour l'exécution des actions. Si un agent i demande à un autre agent j d'exécuter une action a, j exécutera l'action ou ne l'exécutera pas. On voit donc que dans le cas des objets, la décision d'exécuter l'action appartient à l'objet qui invoque la méthode alors que pour les agents, cette décision revient à celui qui reçoit la requête. La seconde différence entre les objets et les agents réside au niveau des caractéristiques de réactivité, de dynamisme et de sociabilité. La troisième différence entre les objets et les agents vient du fait que ces derniers sont censés avoir chacun leur fil d'exécution (thread). Il faut noter une évolution dans la communauté des adeptes de la POO vers la notion d'objet actif. Un objet actif est un objet possédant son propre fil d'exécution. Les objets actifs sont généralement autonomes, c'est-à-dire qu'ils peuvent exhiber un comportement sans avoir été sollicités par un autre objet. [Odell et al. 00] présentent les agents comme une extension d'objets actifs possédant une prise d'initiative (la capacité à initier des actions sans intervention externe) et un libre arbitre (la capacité à refuser ou à modifier une requête externe). Odell et ses collègues définissent un agent comme un objet qui peut prendre des initiatives (an objet that can say `go'...) et refuser de répondre à une sollicitation (... and `no'). Finalement ces auteurs définissent un agent comme toute entité autonome capable de communiquer avec son environnement. Il faut noter que l'auteur utilise cette mise en perspective des agents par rapport aux objets pour proposer une extension au langage UML pour spécifier des agents. Le résultat en est le AUML pour Agent UML.

Par ailleurs, sur le plan pratique, l'approche agent est plus générale et apporte des outils qui s'intègrent à de multiples applications. Leur développement est motivé par un très grand nombre de champs d'application, on peut, entre autre, citer [Bourdon 01] :


·

Le commerce électronique


·

La gestion et le suivi en temps réel des réseaux de télécommunication


·

La modélisation et l'optimisation de flux de marchandises ou de données


·

Le traitement de l'information dans des systèmes sur Internet (recherche, filtrage, présentation, etc.).


·

La gestion de trafic routier et aérien


·

L'optimisation des processus industriels de fabrication;


·

Les jeux électroniques;


·

L'étude et la simulation de phénomènes complexes dans des organisations humaines ou naturelles, comme la réaction à une situation de crise (tremblement de terre), et l'évolution des rôles ou des normes dans une société

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il faudrait pour le bonheur des états que les philosophes fussent roi ou que les rois fussent philosophes"   Platon