Agents Intelligents
Chaib‐draa PLT 3723
chaib@ift.ulaval.ca
Plan
Qu’est ce que l’IA?
Qu’est‐ce qu’un agent intelligent?
Comment les agents intelligents doivent agir?
Structure d’un agent intelligent
Types d’environnements
Qu’est‐ce que l’IA?
Penser comme des humains Penser rationnellement
« The exciting new effort to make computers think … machines with minds, in the full and litteral sense » (Haugeland, 1985)
« [The automation of] activities that we
associate with human thinking, activities sush as decision-making, problem solving,
learning … » (Bellman, 1978)
« The study of mental faculties through the use of computational models » (Charniak and McDermott, 1985)
« The study of computations that make it possible to perceive, reason, and act » (Winston, 1992)
Agir comme des humains Agir rationnellement
« The art of creating machines that perform functions that require intelligence when performed by people » (Kurzweil, 1990)
« The study of how to make computers do things at witch, at the moment, people are better » (Rich and Knight, 1991)
« Computational Intelligence is the study of the design of intelligent agents » (Poole et al., 1998)
« AI … is concerned with intelligent behavior in artifacts » (Nilsson, 1998)
Pensée et raisonnement
Comportement
Fidélité aux performances humaines Concept idéalisé de l’intelligence
Empirique Théorique
Penser comme des humains
Comment fonctionne notre cerveau ?
Requiert des théories scientifiques de l’activité
interne du cerveau par introspection ou expériences psychologiques.
Implémenter les théories et comparer avec les humains.
Comment valider ces systèmes:
Il faut prédire et tester le comportement de sujets humains (sciences cognitives)
ou il faut identifier directement à partir de données neurologiques (neurosciences cognitives)
Test de Turing
Capacités requises:
traitement du langage naturel représentation des
connaissances
raisonnement automatique apprentissage
IA
?
Interrogateur humain
Système d’IA Humain
Penser rationnellement
Aristote et le processus de raisonnement correct, la logique
Ex: Socrate est un homme; tous les hommes sont mortels; donc Socrate est mortel.
Au 19e siècle, la logique formelle permet d’écrire des énoncés sur les objets dans le monde et leurs interrelations.
Lien direct entre les mathématiques et la philosophie vers l’IA moderne.
Problèmes:
Il est difficile de traduire les connaissances et les états du monde réel en des équations logiques (incertitude)
Il y a une différence entre résoudre un problème en principe et le
Agir rationnellement
Comportement rationnel : Faire la bonne suite d’actions, c’est‐à‐dire celle qui devrait, selon les informations disponibles, maximiser
l’accomplissement d’un but.
N’implique pas nécessairement un
raisonnement mais le raisonnement devrait
être au service d’une action rationnelle.
Agent rationnel
Agent rationnel : une entité qui perçoit et agit dans un
environnement pour accomplir ses buts en fonction de ses capacités ou de ses croyances (ou ses connaissances).
DE nos jours IA = conception d’agents rationnels.
Pour chaque environnement ou tâche, on recherche l’agent qui obtient les meilleures performances.
La rationalité parfaite n’est pas atteignable en raison des
limitations de calculs, donc le but est de concevoir le meilleur programme avec les ressources disponibles.
Qu’est‐ce qu’un agent intelligent?
¾ Agent intelligent : toute entité qui perçoit son
environnement à l’aide de ses capteurs et qui agit sur son environnement à l’aide de ses effecteurs.
Environnement ?
agent
effecteurs
capteur percepts
actions
Agents vs Objets
Agent : entité autonome interagissant avec son environnement
Objet : entité passive possédant un état et sur lequel on peut effectuer des opérations.
Un agent est à un degré d’abstraction plus élevé qu’un objet.
Un agent peut être constitué de plusieurs objets.
C’est un paradigme de programmation mettant en évidence l’autonomie et les
interactions (Programmation orientée‐agent).
Exemple très simple d’agent
¾ Un agent aspirateur
Agent rationnel
Agent rationnel : l’agent doit exécuter l’ action qui maximise sa mesure de performance en fonction de sa perception du monde et de ses connaissances.
Mesure de performance
Externe
Fixée par le concepteur
Propre à la tâche
Choix de la mesure de performance
Il faut faire attention à ce qu’on choisit
Ex: Quantité de saleté ramassé en 8 heures
L’agent pourrait ramasser la saleté, la redéposer et ainsi de suite.
Une meilleure option:
Récompenser l’agent pour un plancher propre
Ex: un point pour chaque carré propre à chaque
intervalle de temps (Peut‐être avec une pénalité
pour l’électricité consommé).
Agent rationnel
Rationnel ≠
Omniscient Clairvoyant Succès
• Rationnel ⇒
– Exploration
– Apprentissage – Autonomie
La notion d’agent est un outil d’analyse de systèmes et non pas une caractérisation
absolue qui divise le monde en deux: agents
et non-agents.
Environnement de la tâche
La première étape lors de la conception d’un agent est de spécifier l’environnement de la tâche (task environment) qui contient les
quatre éléments suivants (PEAS):
Mesure de la performance (Performance measure)
Environnement (Environment) Effecteurs (Actuators)
Capteurs (Sensors)
Exemple
Conducteur de taxi automatique
Mesure de performance : sécurité, vitesse, légalité, confort, profits, etc.
Environnement : routes, autres autos, piétons, clients, etc.
Effecteurs : volant, accélérateur, frein, clignotant, klaxon, etc.
Capteurs : caméras, sonar, odomètre, indicateur
de vitesse, capteurs du moteur, etc.
Propriétés de l’environnement
Complètement observable vs partiellement observable: Est‐ce que les capteurs de l’agent lui donne accès à l’état complet de
l’environnement à tout moment ?
Déterministe vs stochastique : Est‐ce que le prochain état de l’environnement est
complètement déterminé par son état courant
et l’action de l’agent ?
Propriétés de l’environnement
Épisodique vs séquentielle : Un épisode est une séquence perception‐action. Le prochain épisode ne dépend pas des actions effectuées dans les épisodes précédents.
Statique vs dynamique : Est‐ce que
l’environnement change pendant que l’agent
délibère ?
Propriétés de l’environnement
Discret vs continu : La distinction entre discret et continu peut être appliquée à l’état de
l’environnement, à la façon dont le temps est géré, et aux perceptions et aux actions de
l’agent.
Un agent vs multiagent : Est‐ce qu’il y a plus
qu’un agent interagissant ensemble ?
Propriétés de l’environnement
Situation la plus difficile:
Partiellement observable Stochastique
Séquentielle Dynamique Continue Multiagent
Exemple, conduite automatisée d’un taxi
Exemple
Environnement Observable Déterministe Épisodique Statique Discret Agents Mots-croisés Complètement Déterministe Séquentiel Statique Discret Un Échec avec une
horloge Complètement Stratégique Séquentiel Semi Discret Multi Poker Partiellement Stratégique Séquentiel Statique Discret Multi Backgammon Complètement Stochastique Séquentiel Statique Discret Multi Conduire un taxi Partiellement Stochastique Séquentiel Dynamique Continu Multi Diagnostique
médical Partiellement Stochastique Séquentiel Dynamique Continu Un Analyse d’image Complètement Déterministe Épisodique Semi Continu Un Robot ramasseur
de pièces Partiellement Stochastique Épisodique Dynamique Continu Un Contrôleur de
raffinerie Partiellement Stochastique Séquentiel Dynamique Continu Un Enseignant
interactif Partiellement Stochastique Séquentiel Dynamique Discret Multi
Structure d’un agent
4 types de base en ordre de généralité grandissante:
Agent simple réflexe
Agent réflexe avec état interne Agent basé sur les buts
Agent basé sur l’utilité
Tous ces types peuvent être transformés en
agents apprenants.
Agent simple réflexe
Ce type d’agent choisit ses actions en se basant
uniquement sur le percept courant, en ignorant
les percepts précédents.
Agent simple réflexe
Capteurs
Comment le monde est maintenant?
Quelle action dois-je faire maintenant?
Effecteurs
Règles condition-action
Agent
Environnement
Agent réflexe avec état interne
Capteurs
Comment le monde est maintenant?
Quelle action dois-je faire maintenant?
Effecteurs
Règles condition-action
Agent
Environnement
État
Comment le monde évolue?
Quel est l’impact de mes actions?
Agent basé sur les buts
Capteurs
Comment le monde est maintenant?
Quelle action dois-je faire maintenant?
Effecteurs
Agent
Environnement
État
Comment le monde évolue?
Quel est l’impact de mes actions? Comment sera le monde si je fais l’action A?
Buts
Agent basé sur l’utilité
Les buts ne font la distinction qu’entre un état
« heureux » ou « pas heureux ».
Fonction d’utilité: état nombre
Aide dans deux cas où les buts échouent:
Buts en conflits (ex: vitesse et sécurité)
Lorsqu’il y a plusieurs buts
Agent basé sur l’utilité
Capteurs
Comment le monde est maintenant?
Quelle action dois-je faire maintenant?
Effecteurs
Agent
Environnement
État
Comment le monde évolue?
Quel est l’impact de mes actions? Comment sera le monde si je fais l’action A?
À quel point je vais être satisfait dans un tel état?
Utilité
Agent apprenant
Souvent, il est très fastidieux où même
impossible de définir le comportement de l’agent à la conception.
L’apprentissage permet:
De simplifier la conception
À l’agent d’avoir plus de flexibilité
À l’agent d’agir dans des environnements inconnus
et de devenir meilleur avec le temps.
Agent apprenant
Capteurs
Effecteurs
Agent
Environnement
Module de performance Module
d’apprentissage
Générateur de problèmes
Critique
Changements Standards de performance
Connaissances Buts
d’apprentissage Rétroaction
Agent taxi apprenant
Module de performance
Connaissances et procédures pour choisir les actions.
Critique
Observe l’agent et donne des informations au module
d’apprentissage.
Module d’apprentissage Modifie le module de performance.
Générateur de problèmes Identifie les possibilités
d’amélioration et suggère des expérimentations.
Capteurs
Effecteurs
Agent
Environnement
Module de performance Module
d’apprentiss age
Générateur de problèmes
Critique
Changements Standards de performance
Connaissances
Buts d’apprentissage
Rétroac tion
IA comme émergence
Brooks a mis de l’avant 3 thèses :
1) Le comportement intelligent peut être généré sans explicite représentations du genre de celui de l’IA classique;
2) Le comportement intelligent peut être
généré sans explicite raisonnement abstrait du genre de l’IA classique;
3) L’intelligence est une propriété émergente
de certains systèmes complexes.
Les idées de Brooks
2 idées clés sont à la base de la recherche de Brooks :
1) L’IA est située dans des systèmes qui ne sont pas désincarnés tel que des prouveurs de théorèmes ou des systèmes experts ;
2) Le comportement intelligent émerge comme le résultat d’interactions de l’agent avec son
environnement. L’intelligence est dans l’œil de l’observateur, ce n’est pas une propriété isolée.
L’architecture de Brooks
Level 0 + prioritaire que level 1 et chaque
niveau est du type situation → action
Brooks (suite)
L’architecture de Brooks est une hiérarchie de comportements accomplissant des tâches
Chaque comportement est une structure simple du type règle Si … Alors;
Chaque comportement est en compétition avec les autres pour avoir le contrôle de l’agent
Les couches de bas représentent les comportements primitives du genre « éviter les obstacles » et ont précédence sur les couches de plus haut niveau;
Les systèmes résultats sont simples en termes de
charge computationnelle et leurs résultats pourraient être impressionnants vs l’IA classique.
Exemple d’utilisation de AS
Exemple d’utilisation de l’architecture de
subsumption pour l’exploration d’une planète genre mars;
L’objective consistait à collecter des
échantillons de rochers dont la localisation
n’était pas connue d’avance, mais il était connu que les rochers se trouvaient en général sous la forme d’amas;
Bonne à très bonne performance comme
résultat.
Exemple d’utilisation de AS
Pour chaque agent individuel, le comportement de niveau 0, est le comportement « éviter les obstacles »
If obstacle détecté Then changer de direction
Les échantillons ramassées doivent être ramenées et déposées dans la navette
If on porte des échantillons et on est à la base Then déposer les échantillons
Les agents chargés avec des échantillons doivent retournés à la base
If on porte des échantillons et on n’est pas à la base Then suivre le gradient
Utilisation de AS (suite)
Les agents doivent collecter des échantillons
If on détecte un échantillon Then le ramasser
Un agent qui n’a rien à faire doit explorer au hasard
If True Then se déplacer au hasard
Les limitations du réactif
Point positifs : simplicité, facilité d’implémentation, robustesse, élégance, etc.
Limitations :
Si les agents n’ont pas de modèles de leur
environnement, ils doivent avoir des informations suffisantes dans leur environnement local pour déterminer l’action à exécuter;
La décision prise par ce type d’agent ne peut qu’être de « courte vue » ou à « très court terme »;
Il est difficile de voir comment de tels agents peuvent apprendre en vue d’améliorer leur performance et au besoin, s’adapter aux différentes situations
Les limitations du réactif (suite)
Limitations (suite) :
Ce type de raisonnement se base sur l’émergence, un phénomène mal compris et qui en général ne peut être compris → mène une conception très difficile en vue de faire faire aux agents ce qu’on veut.
La seule méthodologie consiste à passer par des essais‐erreurs assez laborieux;
Il est généralement plus difficile de construire des agents avec plusieurs couches.
La dynamique des interactions entre les différents comportements devient très complexe à
comprendre.
Architectures hybrides
Les chercheurs mettent de l’avant l’adage suivant : ni une complète architecture
délibérative ni une complète architecture réactive ne peut convenir aux agents.
Il suggèrent d’utiliser des architectures hybrides qui combinent en fait les deux:
Un sous‐système délibératif contenant un monde symbolique, qui peut planifier, délibérer. Etc.
Un sous système réactif qui réagit aux événements sans raisonnement complexe.
Architectures hybrides (suite)
En général, le réactif a précédence sur le délibératif.
Exemples d’architectures ayant ces deux couches :
TouringMachines
SRK
Architectures hybrides (suite)
Comment gérer les interactions entre les différentes couches? Deux sortes
d’architectures :
Architectures en couches à l’horizontal : Dans ce cas, les couches sont directement connectés aux senseurs et aux effecteurs. En fait, chaque couche agit elle même comme un agent, produisant
suggestion au regard de ce qu’il doit faire
Architectures en couches à la verticale : La couche d’entrée—senseurs‐‐ et la couche de sortie—
actions—sont reliée chacune à au plus une couche.
Architectures hybrides (suite)
Ferguson: TouringMachines
TouringMachines = une architecture qui consiste
En une couche de perception et en une couche d’action, interfacées directement avec l’environnement de l’agent
3 couches de contrôles embarquées dans le framework de contrôle qui fait la
médiation entre les 3 couches
Ferguson: TouringMachines
Ferguson: TouringMachines
La couche reactive layer est implémentée comme un ensemble de règles situation‐
actions
Rule‐1 :
If is‐in‐front(kerb,Observer) and speed(Observer) >
o and separation(kerb,observer) < kerbThreshHold Then change‐orientation(KerbAvoidanceAngle)