Vous êtes sur la page 1sur 27

Agents autonomes

et systèmes multi-agents
Plan du cours

– Introduction : agents autonomes et SMA


– Applications
– Caractéristiques des agents
– Problème de la sélection de l’action
– Architectures d’agents situés : principes
Agents autonomes et SMA
(Systemes Multi-Agents)

SMA = ensemble d’agents autonomes en interaction


Objectif de l’IAD (IA Distribuée) : faire émerger l’intelligence
de l’interaction et de l’organisation d’entités autonomes

Deux approches : individus / sociétés


Deux courants : IA traditionnelle vs. «nouvelle IA»
– métaphore sociologique : agents cognitifs →groupe d’experts
– métaphore biologique : agents réactifs → vie artificielle

Outils de conception
– selon l’objectif : individu-centrée ou organisationnelle
– mais toujours une approche locale et décentralisée
Intelligence Artificielle
• L'intelligence artificielle est définie (parmi d’autres)
comme une étude d'agents rationnels.
• Un agent rationnel peut être tout ce qui prend des
décisions, en tant que personne, entreprise, machine ou
logiciel. Il exécute une action avec le meilleur résultat
après avoir pris en compte les percepts (perceptions)
passés et actuels (entrées perceptives de l’agent à
une instance donnée).
– Un système d'IA est composé, au minimum, d'un agent et de son
environnement.
– Un MAS n’est pas nécessairement intelligent, ni compose seulement par des
agents artificiels
Intelligence Artificielle
• Les agents agissent dans leur capteurs
environnement (lequel peut
contenir d'autres agents). Un agent
est tout ce qui peut être considéré
environnement
comme:
– percevoir son environnement
grâce à des capteurs et
– agissant sur cet environnement actionneurs
grâce à des actionneurs
• Remarque: chaque agent peut
percevoir ses propres actions (mais
pas toujours les effets)

Source: https://www.geeksforgeeks.org/agents-artificial-intelligence/
Définition(s) d’un agent (1)
• Entité active et autonome
– qui interagit avec un environnement (réel ou
simulé)
– qui peut être intelligente, adaptative et/ou
sociable
Autonomie et «pro-activité»
• L’agent
– possède ses propres ressources, compétences et
objectifs
– décide seul des actions à réaliser

Question «philosophique» : quelle autonomie ? (contrôle)

• Motivations (= raisons qui poussent un agent à agir)


– personnelles : objectifs internes
– environnementales : stimulations externes
– sociales : organisation/interaction avec autres agents
Definition(s) d’un agent (2)
• Agent (intelligent) = architecture + programme
• L'architecture est la machine sur laquelle l'agent
s'exécute. C'est un appareil avec des capteurs et des
actionneurs, par exemple: une voiture robotique, une
caméra, un PC.
• Le programme d'agent est une implémentation d'une
fonction d'agent. Une fonction d'agent est une carte de la
séquence de perception (historique de tout ce qu'un
agent a perçu jusqu'à ce jour) à une action.
Environnement (1)
• «Tout ce qui n’est pas l’agent»
– ou presque : objets ≠ agents ?
– connecté à l’environnement = situé/communicant
(animats vs. réseaux d’experts)
Caracteristiques de l’environement
a consulter
https://www.tutorialspoint.com/artificial_intelligence/artificial_intelligence_agent
s_and_environments.htm
• Discret / Continu - S'il y a un nombre limité d'états distincts et
clairement définis de l'environnement, l'environnement est discret
(par exemple, les échecs); sinon, il est continu (par exemple, la
conduite).
• Observable / partiellement observable - S'il est possible de
déterminer l'état complet de l'environnement à chaque instant à
partir des percepts, il est observable; sinon, il n'est que partiellement
observable.
• Statique / Dynamique - Si l'environnement ne change pas pendant
qu'un agent agit, alors il est statique; sinon c'est dynamique.
• Agent unique / Agents multiples - L'environnement peut contenir
d'autres agents qui peuvent être de nature identique ou différente de
celle de l'agent.
Exemples d'agent
• Un agent logiciel a des frappes, des
contenus de fichiers, des paquets
réseau reçus qui agissent comme des
capteurs et affichent à l'écran, des
fichiers, des paquets réseau envoyés
agissant comme des actionneurs.
• Un agent humain a des yeux, des
oreilles et d'autres organes qui agissent
comme des capteurs et des mains, des
jambes, une bouche et d'autres parties
https://www.geeksforgeeks.org/agents-artificial-intelligence/
du corps agissant comme des
actionneurs.
• Un agent robotique a des caméras et des télémètres infrarouges qui
agissent comme des capteurs et divers moteurs agissant comme des
actionneurs.
Types d'agents

• Les agents peuvent être regroupés en


differentes classes en fonction de leur
degré d'intelligence et de capacités
perçus:
– Agents réflexes simples
– Agents réflexes basés sur des modèles
– Agents basés sur des objectifs (au buts)
– Agents basés sur utilites
– Agent d'apprentissage
Agents réflexes simples
(Simple reflex agents)
• Les agents réflexes simples ignorent le reste de l'histoire de la
perception et n'agissent que sur la base de la perception actuelle.
• L'histoire de la perception est l'histoire de tout ce qu'un agent a
perçu jusqu'à ce jour.
• La fonction d'agent est basée sur la règle condition-action. Une
règle condition-action est une règle qui mappe un état, c'est-à-dire
une condition, à une action. Si la condition est vraie, alors l'action
est entreprise, sinon pas.
• Cette fonction d'agent ne réussit que lorsque l'environnement est
pleinement observable.
• Pour les agents réflexes simples opérant dans des environnements
partiellement observables, des boucles infinies sont souvent
inévitables. Il peut être possible d'échapper à des boucles infinies si
l'agent peut randomiser ses actions. (voir probleme Poisson)
Agents réflexes simples
(Simple reflex agents)

https://www.geeksforgeeks.org/agents-artificial-intelligence/
Agents réflexes simples
(Simple reflex agents)

• Les problèmes avec les agents réflexes simples sont:


– Intelligence très limitée.
– Aucune connaissance des parties non perceptives de
l'état.
– Généralement trop volumineux pour être générés et
stockés.
– En cas de modification de l'environnement, la
collection de règles doit être mise à jour.
Agents réflexes basés sur des modèles
(Model based reflex agents)

• Fonctionnent en trouvant une règle dont la condition correspond à la


situation actuelle.
• Un agent basé sur un modèle peut gérer des environnements
partiellement observables en utilisant un modèle du monde. (world
model)
• L'agent doit garder une trace de l'état interne qui est ajusté par
chaque perception et qui dépend de l'historique de perception.
• L'état actuel est stocké à l'intérieur de l'agent qui maintient une sorte
de structure décrivant la partie du monde qui ne peut pas être vue.
• La mise à jour de l'état nécessite des informations sur:
– comment le monde évolue de manière indépendante de l'agent, et
– comment les actions de l'agent affectent le monde.
Agents réflexes basés sur des modèles
(Model based reflex agents)

https://www.geeksforgeeks.org/agents-artificial-intelligence/

Rappel architecture RCS – approche classique deliberative


Agents basés sur des objectifs – agents au buts
(Goal-based agents)

• Prennent des décisions en fonction de leur distance actuelle par


rapport à leur objectif (description des situations souhaitables).
• Chacune de leurs actions vise à réduire la distance par rapport au
but. Cela permet à l'agent de choisir parmi plusieurs possibilités, en
sélectionnant celle qui atteint un état-objectif.
• Les connaissances soutenant leur décisions sont représentées
explicitement et peuvent être modifiées, ce qui rend ces agents plus
flexibles que les catégories précédemment décrites.
• Ils nécessitent généralement des recherches et une planification.
Le comportement de l’agent basé sur les objectifs peut facilement
être modifié.
Agents basés sur des objectifs – agents au buts
(Goal-based agents)

https://www.geeksforgeeks.org/agents-artificial-intelligence/

Rappel architecture RCS – approche classique deliberative


Agents basés sur l’utilite/ preferences
(Utility-based agents)

• Sont des agents qui sont développés a la base des « blocs de


construction » consistant en « utilisations finales »
• Sont utilisés lorsqu'il y a plusieurs alternatives possibles; pour
décider laquelle est la meilleure
• Ils choisissent des actions basées sur une préférence (utilité) pour
chaque état. Parfois, il ne suffit pas d’atteindre l'objectif souhaité; on
peut rechercher une solution plus rapide ou moins couteuse
• L'utilite décrit à quel point l'agent est «heureux». Le bonheur des
agents doit être pris en considération. En raison de l'incertitude du
monde, un agent d'utilité choisit l'action qui maximise l'utilité
attendue. Une fonction d'utilité mappe un état sur un nombre réel
qui décrit le degré de bonheur associé.
Agents basés sur l’utilite/ preferences
(Utility-based agents)
Agent (avec capacités) d'apprentissage
(Learning agent)

• Ce n’est pas une catégorie


– toute classe d’agents
peut être conçue de sorte
• Un agent d'apprentissage
en IA est le type d'agent
qui peut apprendre de ses
expériences passées ou
qui possède des capacités
d'apprentissage.

• Il commence à agir avec des connaissances de base et est ensuite


capable d'agir et de s'adapter automatiquement grâce à l'apprentissage.
Agent (avec capacités) d'apprentissage
(Learning agent)

• Composants conceptuels:
– Élément d'apprentissage: il est chargé d'apporter des
améliorations en apprenant de l'environnement
– Critique (v. Value judgement): l'élément d'apprentissage prend
en compte les commentaires du critique qui décrit les
performances de l'agent par rapport à une norme de
performance fixe.
– Élément de performance: il est responsable de la sélection de
l'action extérieure
– Générateur de problèmes: ce composant est chargé de
suggérer des actions qui mèneront à des expériences nouvelles
et informatives.
Architectures d’agents situés (1)
• Approches réactives: Behavior-based
• modules concurrents («comportements»)
• couplés aux capteurs et aux effecteurs
• mécanisme de coordination
• Stratégies : compétitive ou coopérative
Architectures d’agents situés (2)
• “Bonne architecture” → choix système
comportemental
– motivé (prioritaire)
– interruptible (en cas d’urgence)
– persistant (éviter l’oscillation)
– opportuniste (sélection temporaire contextuelle)
– direct (actions menant à la satisfaction d’un objectif)
– conciliant (compromis)
• Mécanismes comportementaux :
– fonctions classiques, automates à états finis,
programmation ad-hoc,
– réseaux neuronaux, systèmes de classeurs, ...
Conclusion
– Définition variable de la notion d’agent !
– Nombreuses architectures d’agents (a discuter)
– Deux approches : réactive / cognitive → hybride
– mais toujours approche locale et décentralisée
!
– Nombreux domaines d’application
– systèmes complexes
– entités autonomes en interaction
– ± émergence intelligence collective (vs. individuelle)
– Nombreux modèles d’organisation
Devoir – semaine 8
• Presentez un rapport sur une exemple d’architecture
multi-agent (ex.RCS, BDI etc) en precisant:
– Les principes de fonctionnement
– Les categories d’agents qui peuvent y entrer
– Les domaines d’utilisation
– Avantages et problemes (en rapport soit avec (au moins) un
domene d’utilisation, soit avec un autre categorie d’architecture)
• Le rapport doit avoir au moins 3 pages (en principe 3-5
pages) en Times New Roman 12 pts, line spacing
“single”, paragraph spacing 6 pts, margins 2 cm, no
indentation; a presenter en pdf (peut inclure schemas et
diagrames)

Vous aimerez peut-être aussi