Title: Partie 2: Agents intelligents
1Partie 2 Agents intelligents
DAMAS Dialogues, Agent et Multiagents
2Quest ce quun agent?
- Les agents sont autonomes, capables dagir de
manière  indépendante et exhibant un contrôle
sur leurs états internes - Lagent est donc un logiciel capable dagir de
manière autonome dans un certain environnement.
3Agents du trivial au complexe
- Agents triviaux (inintéressants)
- Thermostat
- Démon Unix
- Un agent intelligent action autonome et
flexible dans un environnement donné. Par
flexible on entend - Réactif
- Pro-actif
- Social.
4Réactivité
- Exemple du compilateur reflète des environnements
fixes nayant pas de contraintes de temps - Le monde réel nest pas de cette forme les
choses changent, linformation est incomplète,
les environnements du monde réel sont dynamiques - Les logiciels sont très difficiles à construire
dans les environnements dynamiques on doit tenir
compte des contingences et savoir si ça bien été
exécuté - Un système réactif est un système qui maintient
une interaction continue avec son environnement
et répond aux changements qui sy produisent dans
un temps utile.
5Pro-activité
- Réagir à un environnement est généralement facile
sil est du type stimulus ! réponse sous forme
de règles - Mais on voudrait déléguer des tâches aux agents,
on voudrait que les agents fassent des choses
pour nous - Les agents doivent donc avoir des comportements
 dirigés buts - Pro-activité prendre linitiative en vue de
réaliser son but et ne pas se contenter de juste
répondre à des évènements bien que ceci peuvent
être liés aux buts à réalisés - Lagent doit donc reconnaître et profiter des
opportunités qui lui sont offertes.
6Sociabilité
- Le monde réel reflète plus un monde multiagent où
il y a très peu de place pour le mono-agent - On ne peut donc réaliser les buts dun agent sans
prendre en compte les buts et intérêts des autres
agents. Certains buts ne peuvent être réalisés
quavec le concours des autres agents - Sociabilité capacité dinteragir avec les
autres agents (possiblement aussi avec les
humains) via toutes sortes de langages de
communication.
7Autres propriétés
- Dautres propriétés peuvent être discutées dans
le cadre des agents - Mobilité la capacité dun agent de se déplacer
à travers un réseau - Sincérité un agent ne pourrait  en
connaissances de cause communiquer de fausses
informations - Bénévolat les agents ne doivent entrer en
conflit avec les autres, ils doivent toujours
essayer de faire ce quon leur demande (au risque
de délaisser leur propres tâches) - Rationalité (faible) un agent agit pour
réaliser ses buts et il ne doit en aucun cas agir
en vue dempêcher ses buts de se réaliser. Le
tout conformément à ce quil croit (sait). - Adaptation et apprentissage les agents
améliorent leur performance à mesure que le temps
passe
8Agents et objets
- Beaucoup disent que les agents objets ??
- Objets
- ça encapsule un état E
- ça communique via des passages de messages
- ça a des méthodes opérations portant sur E
- Agents
- sont autonomes, ils décident quant aux actions.
- sont  astucieux ou flexible (réactif,
pro-actif, social) - Sont actifs dans la mesure ou SMA multi-threads
où chaque agent au moins un thread
9Agents et objets (suite)
- Beaucoup disent que les agents objets ??
- Objets font les choses gratuitement du moment
quil ne raisonnement pas et quils ne décident
pas. Ça a été décidé par le concepteur. - Agents font les choses parce quils le veulent.
En effet, ils font les choses suite à un
raisonnement et/ou à une prise de décision - Très important rien nempêche les agents dêtre
programmés sous forme dobjets.
10Agents et systèmes experts
- Beaucoup disent que les agents Systèmes Experts
(SE)? - SE généralement
- encapsule une expertise
- Exemple un système expert type diagnostic
ensemble de règles qui disent quoi faire dans
telle ou telle situation. ) Un dépanneur type
garagiste ou autre pourrait se faire aider par un
tel système. - Les principales différences
- un agent ne reflète pas forcément une expertise,
il pourrait toutefois le faire (certains SE temps
réel sont des agents) - un SE nest pas situé forcément dans un
environnement sur lequel il agit.
11Agents et IA
- Comment se situe les agents par rapport à lIA
dans son ensemble? - LIA vise à construire des systèmes capables de
- comprendre le langage
- Reconnaître des scènes
- Planifier et re-planifier en présence
dincertain, etc. - Raisonner selon le sens commun
- Etc.
- Les agents cest juste choisir la bonne action au
bon moment et ce, dans un environnement limité. - Pas besoin de tout ce que lIA veut résoudre
- Un agent pourrait avoir  peu dintelligence.
12Agents et leur environnements
- Lenvironnement entourant lagent pourrait être
- accessible ou non
- déterministe ou non
- statique ou dynamique
- discret ou continu.
13Lenvironnement (suite)
- Accessible ou non
- Un environnement est dit accessible si lagent
peut obtenir une information à jour, précise et
complète de létat de cet environnement - La plupart des environnements complexes (y
compris le monde physique qui nous entoure) sont
inaccessibles - Plus lenvironnement est accessible plus il est
facile pour le ou les concepteurs.
14Lenvironnement (suite)
- Déterministe ou non
- Un environnement est dit déterministe si toute
action a un simple effet garanti. Ainsi il ny a
pas dincertain associé à létat résultant de
lexécution dune action - Le monde physique à bien des égards, peut être vu
comme un monde non-déterministe - Un environnement non-déterministe présente (en
général) plus de difficultés pour le ou les
concepteurs.
15Lenvironnement (suite)
- Statique ou dynamique
- Un environnement statique est un environnement
qui reste inchangé si lagent nagit pas dessus - Un environnement dynamique est un environnement
qui a dautres processus opérant sur lui, et qui
donc change en dehors du contrôle de lagent - Le monde physique qui nous entoure est un monde
hautement dynamique.
16Lenvironnement (suite)
- Discret ou continu
- Un environnement est dit discret sil englobe un
nombre fini et fixe dactions et de percepts - Le jeu déchec constitue un environnement
discret - La conduite automobile constitue un environnement
continu.
17Agents systèmes intentionnels
- Lorsquon explique lactivité humaine, il est
toujours utile dexprimer des choses comme - Simon a pris le cours multiagent car il croit que
ça peut laider dans son projet de maîtrise - Simon travaille dur, car il a lintention de se
faire recruter par une entreprise très sélective. - De telles expressions utilisent des notions de
psychologie (i.e., notions intentionnelles) qui
prédisent et expliquent le comportement humain au
moyen dattitudes mentales comme les croyances,
les intentions, les désirs, etc.
18Systèmes intentionnels (suite)
- Est-il légitime dattribuer des croyances,
désires. intentions, etc. à des entités
logicielles? - attribuer des croyances, intentions, désirs ou
autresà une machine, est légitime, quand une
telle attribution exprime la même information que
ce quelle exprime pour une personne. Cest
utile, si lattribution nous aide à comprendre la
structure de la machine, son comportement passé
ou son comportement à venir, ou comment la
réparer ou laméliorer traduction libre Ã
partir de McCarthy.
19Systèmes intentionnels (suite)
- Les notions intentionnelles sont en fait des
outils dabstraction qui nous fournissent une
manière  familière et convenable pour décrire,
expliquer et prédire le comportement des systèmes
complexes. - Se rappeler que les abstractions ont toujours eu
leur place en informatique - abstraction procédurale
- types de données abstraits
- Objets
- Agent et agents intentionnels représentent une
nouvelle abstraction.
20Systèmes intentionnels (suite)
- autre avantage des agents comme systèmes
intentionnels - Simon croit que Patrick ne sait pas la date du
Super Bowl (représentations en niches) ) on
pourra alors spécifier des systèmes ayant des
représentations dautres systèmes - les représentations en niche sont essentiels aux
systèmes multiagents
21Systèmes Post-déclaratifs
- Du procédural au post-déclaratif
- En programmation procédurale, on dit exactement
ce que le système doit faire - En programmation déclarative, on exprime quelque
chose que nous voulons réaliser. Après ça, on
donne au système des info générales sur les
relations entre objets, et on laisse le mécanisme
de contrôle pré-construit, faire ce quil doit
faire. - Avec les agents, nous donnons une spécification
très abstraite du système et on laisse le
mécanisme de raisonnement faire ce quil doit
faire, en accord avec une  théorie agents
pré-construiteÂ
22Architectures abstraites dagents
- Supposons que lenvironnement pourrait être dans
lun des états de lensemble des états
instantanés discrets, soit - Agents sont supposés avoir un répertoire
dactions possibles qui leur sont disponibles et
qui transforment létat de lenvironnement. -
- Une exécution est une séquence entrelacée détats
et dactions. -
23Architectures abstraites (suite)
- Soit R lensemble de toutes les séquences finies
possibles - Soit RAc un sous ensemble de R finissant avec une
action - Soit RE le sous ensemble de R finissant avec un
état. -
24Fonctions de transformations détats
- Une fonction de transformation détats représente
le comportement de lenvironnement -
- Noter que lenvironnement est dépendant de
lhistorique (notion de temps) et est
non-déterministe - If t(r) Æ, alors il ny a pas détat successeur
à r . Dans ce cas on dit que le système a fini
son exécution. - Un environnement est alors caractérisé par
-
25Agents
- Un agent est une fonction qui  mappe les
exécutions aux actions -
- Un agent doit prendre une décision sur laction Ã
exécuter en se basant sur lhistorique du système
à date. Soit AG lensemble de tous les agents.
-
26Systèmes
- Un système est une paire contenant un agent et un
environnement - Nimporte quel système lui est associé un
ensemble dexécutions Lensemble des exécutions
de lagent Ag dans lenvironnement Env par
R(Ag,Env) .
27Systèmes
28Agents standards via des systèmes
- Formellement, une séquence
-
- représente une séquence dexécution de lagent Ag
dans si -
-
-
29Agents purement réactifs
- Certains agents ne tiennent nullement compte de
lhistorique. Leurs actions sont justes basées
sur le présent et ne tiennent pas compte du
passé - Ils sont appelés agents réactifs
- Un thermostat est un agent purement réactif
-
30Agents purement réactifs (suite)
31Agent réactif (suite)
- Lagent est par ex. capable de voir et donc on a
une fonction see qui représente la capacité de
lagent à observer son environnement, tandis que
action représente le processus de prise de
décision - Bien entendu, loutput de see est un percept
-
- qui mappe les états de lenvironnement aux
percepts - Et action est maintenant la fonction suivante
- elle mappe donc les séquences des percepts aux
actions.
32Agent avec état
- Cette fois-ci lagent maintient ses états
-
-
-
-
33Agent avec état
- Ce type dagent a une structure de donnée interne
qui est typiquement utilisée pour enregistrer les
états et lhistorique. Soit I lensemble de tous
les états internes de lagent. - La perception de lagent reste inchangée
-
- La fonction de prise décision est reflétée par
-
- cest une fonction qui mappe les états internes
aux actions - Une fonction additionnelle est ajoutée dans ce
cas -
34Boucle de contrôle de lagent
- Lagent commence dans un état initial interne i0
- Il observe son état environnemental e, et il
génère suite à ça see(e). - Létat interne de lagent est alors mis à jour
via la fonction next qui devient next(i0,see(e)) - Laction sélectionnée et exécutée par lagent est
cette fois-ci action(next(i0,see(e))). - Aller à létape 2.
-
35Tâches pour les agents
- Nous programmons des agents afin quils puissent
exécuter des tâches pour nous - Les tâches doivent être spécifier par nous
- Mais nous voulons dire aux agents, juste ce quil
faut faire et surtout pas comment faire. -
36Fonctions dutilités
- Une possibilité pour les agents est alors
dassocier des utilités aux états. La tâche de
lagent est alors de trouver le ou les états qui
maximisent lutilité - Une spécification de tâche est alors la fonction
suivante - elle associe un nombre réel à chaque état de
lenvironnement.
37Fonctions dutilités (suite)
- Mais dans ce cas, que doit-on associer à une
exécution? - utilité minimum dun état sur une exécution?
- Utilité maximum dun état sur une exécution?
- Somme des utilités?
- Moyenne?
- Inconvénient difficulté de spécifier à long
terme.
38Fonctions dutilités (suite)
- Autre possibilité assigner une utilité à une
exécution complète - Cette possibilité entrevoit mieux le long terme
- Variations incorporer des probabilités pour les
différents états.
39Difficultés avec les utilités
- Doù viennent les nombres?
- Nous nous pensons pas en termes dutilités!
- Cest généralement difficile de formuler les
tâches au moyen des utilités.
40Utilité dans le Tileworld
41Tileworld (suite)
- Apparition et disparition aléatoires de trous.
- La fonction dutilité pourrait être définie comme
suit
42Utilité attendue et agents optimaux
- Soit lexpression dénotant la
probabilité que lexécution r se produit quand
lagent Ag est placé dans lenvironnement Env - Selon les lois des probabilités
- Dans ce cas, un agent optimal Agopt dans
lenvironnement Env est lagent qui maximise
lutilité attendue
43Agents optimaux limités
- Certains agents ne peuvent être implémentés sur
certaines machines (nécessité de plus de mémoires
ou autres) - Soit alors lensemble dénotant les
agents qui peuvent être implémentés sur la
machine m - Dans ce cas, léquation précédente de Agopt
devient -
44Spécification de tâches par des prédicats
- Un spécial cas dassignation dutilités consiste
à assigner faux ou vrai à une exécution - Si une exécution est à 1, alors lagent a réussi
pour cette exécution, sinon il a échoué - Dès lors on a spécifié une tâche par un prédicat
qui peut être faux ou vrai - Un tel prédicat peut être noté de la manière
suivante
45Environnement tâche
- Un environnement tâche est une paire où
Env est un environnement et y est définie par
- Dans ce cas, un environnement tâche spécifie
- Les propriétés du système dans lequel doit
évoluer lagent - Le critère par lequel un agent peut être jugé
comme ayant réussi ou pas.
46Environnement tâche (suite)
- Soit donc lexpression dénotant lensemble de
toutes les exécutions de lagent Ag évoluant dans
lenvironnement Env qui satisfait y - Nous disons alors quun agent Ag a du succès dans
lenvironnement tâche si
47Probabilité de succès
- Soit lexpression dénotant la
probabilité que lexécution r se produit quand
lagent Ag est placé dans lenvironnement Env - Alors la probabilité que
y est satisfaite par Ag dans Env pourrait
sexprimer par
48Tâches à réaliser ou à maintenir
- On distingue 2 types de tâches celles qui sont
à réaliser et celles qui sont à maintenir - Les tâches qui sont à réaliser sont celles ayant
la forme  réaliser tel ou tel état des chosesÂ
exemple nettoyer cette salle - Les tâches à maintenir sont celles ayant la forme
 maintenir tel ou tel état des choses , exemple
maintenir la distance à 10m. -
49Réaliser ou à maintenir (suite)
- Une tâche à réaliser est spécifier par un
ensemble de  bons états ou détats but -
- Lagent aura satisfait une telle réalisation
sil peut au moins satisfaire un état de cet
ensemble Eils sont tous considérés comme
 bons . - Une tâche à maintenir est spécifier par un
ensemble détats mauvais quil convient déviter - Lagent aura satisfait un tel maintient sil
réussit à éviter tous les états de B. -
50Synthèse dagent
- Synthèse programmation automatique dont le but
est davoir un programme qui prend comme entrée
un environnement tâche et génère automatiquement
un agent qui réussit dans cet environnement -
- où TE signifie lensemble des environnements
tâches et ? est nil
51Algorithme de synthèse agent
- Un algorithme de synthèse est
- Valide chaque fois quil retourne un agent,
alors cet agent est un agent qui réussit dans
lenvironnement représentée comme input -
- Complet sil garanti de retourner un agent
chaque fois quil existe un agent qui réussira
dans lenvironnement présentée en input -
-