Séance 1 — Qu’est-ce que l’IA ?

Définitions, histoire, agents et environnements

Dr. El Hadji Bassirou TOURÉ

Département de Mathématiques et Informatique, Faculté des Sciences et Techniques, Université Cheikh Anta Diop de Dakar

Objectifs de la séance

Ce que la séance construit

Le cadre de tout le cours : une définition de l’IA par l’agent rationnel, la place du Machine Learning et du Deep Learning dans l’IA, la description d’une tâche (PEAS) et de son environnement, puis quatre architectures d’agents programmées et exécutées sur un même problème : l’arrosage d’une parcelle maraîchère des Niayes.

  • Distinguer les quatre approches de l’IA et situer le test de Turing.
  • Retracer les trois vagues de l’IA et leurs deux hivers.
  • Classer un système : IA sans apprentissage, Machine Learning, Deep Learning.
  • Définir agent, percept, fonction d’agent, programme d’agent, agent rationnel.
  • Décrire une tâche par PEAS et caractériser son environnement selon six propriétés.
  • Programmer et dérouler un agent réflexe, un agent fondé sur un modèle, un agent fondé sur des buts et un agent fondé sur l’utilité.
  • Situer les branches de l’IA et les séances qui les traitent.

Une définition par l’action

La définition retenue décide du programme de tout le cours : imiter l’humain ou agir au mieux.

Intelligence artificielle

L’intelligence artificielle étudie et conçoit des agents : des systèmes qui perçoivent leur environnement et agissent de manière à atteindre au mieux leurs objectifs, compte tenu de ce qu’ils savent.

Un tel système n’a pas à penser comme un humain, ni à produire des réponses indiscernables des siennes : il doit bien agir. Un calculateur d’itinéraire, un trieur de colis ou un assistant de diagnostic entrent dans ce cadre.

Intelligent n’est pas conscient

Un agent peut bien agir sans comprendre ce qu’il fait au sens humain. La question de la conscience des machines relève de la philosophie de l’esprit, pas de la conception d’agents.

Lecture. La définition porte sur le comportement et sur un objectif mesurable : c’est ce qui permet de comparer deux systèmes.

Quatre approches de l’IA

Les définitions historiques se rangent selon deux axes : la pensée ou le comportement, la fidélité à l’humain ou la rationalité.

comme un humain rationnellement
penser sciences cognitives (GPS, 1957–1959) lois de la pensée (d’Aristote à Boole)
agir test de Turing agent rationnel

L’approche du cours

Agir rationnellement : elle est générale (du thermostat au taxi autonome), normative (ce que l’agent devrait faire) et mesurable (une mesure de performance).

Penser comme un humain suppose de connaître la cognition humaine, et hérite de ses biais. Les lois de la pensée exigent que tout se formalise en logique : le monde réel est incertain et partiellement observé.

Le test de Turing

Le jeu de l’imitation (Turing, 1950)

Un interrogateur converse par écrit avec deux interlocuteurs cachés, un humain et une machine. La machine réussit si l’interrogateur ne la distingue pas de l’humain. Turing prévoyait que, d’ici une cinquantaine d’années (vers 2000), un interrogateur moyen n’aurait pas plus de 70 % de chances d’identifier correctement la machine après cinq minutes de questions.

Ce que le test ne mesure pas

  • une seule forme d’intelligence, la conversation ;
  • il récompense l’imitation, voire la tromperie ;
  • ELIZA (1966) donnait déjà une illusion de compréhension ;
  • la chambre chinoise (Searle, 1980) : manipuler des symboles n’est pas comprendre.

Lecture. Un calculateur d’itinéraire échoue au test et rend pourtant un service exact ; la recherche en IA s’est tournée vers des tâches précises, mesurées par leur résultat.

Trois vagues, deux hivers

La première vague : l’IA symbolique

Dartmouth, 1955–1956

En 1955, McCarthy, Minsky, Rochester et Shannon proposent un atelier, tenu à l’été 1956, sur l’« intelligence artificielle », fondé sur la conjecture que tout aspect de l’intelligence peut être décrit assez précisément pour qu’une machine le simule.

Symboles, règles, inférence : Logic Theorist (1956), LISP (1958), GPS (1957–1959), ELIZA (1966) ; puis les systèmes experts : MYCIN (années 1970, plusieurs centaines de règles), R1/XCON chez DEC (années 1980).

Les deux hivers

1974–1980 : le rapport Lighthill (1973) pointe l’explosion combinatoire ; Perceptrons (Minsky, Papert, 1969) : un perceptron à une couche ne calcule pas le OU exclusif.

1987–1993 (selon les auteurs) : le marché des machines LISP s’effondre ; les systèmes experts, fragiles hors de leur domaine, coûtent cher à maintenir.

Lecture. Les règles écrites à la main fonctionnent dans un domaine étroit ; elles ne passent pas à l’échelle du sens commun.

La deuxième vague : l’apprentissage statistique

Les règles ne s’écrivent plus : elles s’apprennent sur des exemples.

  • 1986 : rétropropagation (Rumelhart, Hinton, Williams) ;
  • 1988 : réseaux bayésiens (Pearl) ;
  • 1995 : machines à vecteurs de support (Cortes, Vapnik) ;
  • 1998 : LeNet-5 (LeCun et al.) lit des chiffres manuscrits.

Deep Blue bat Kasparov (1997)

Le champion du monde d’échecs perd un match contre un programme d’IBM. Deep Blue doit sa victoire à la recherche plus qu’à l’apprentissage : il explore de l’ordre de 200 millions de positions par seconde, avec une fonction d’évaluation réglée en grande partie à la main, avec des grands maîtres.

Lecture. Des techniques différentes conviennent à des problèmes différents : la recherche arborescente gagne aux échecs, l’apprentissage gagne sur la parole et l’écriture manuscrite.

La troisième vague : l’apprentissage profond

Trois facteurs réunis

Données : ImageNet (2009), plus de 14 millions d’images annotées à la main.

Calcul : les processeurs graphiques (GPU).

Algorithmes : ReLU, dropout, réseaux convolutifs, Transformers.

2012 AlexNet : 15,3 % d’erreur (top-5) contre 26,2 %
2016 AlphaGo bat Lee Sedol 4 à 1 au go
2017 le Transformer (Vaswani et al.)
2020 GPT-3, 175 milliards de paramètres
2022 ChatGPT, ouvert au grand public
2024 Nobel de physique : Hopfield, Hinton
2024 Nobel de chimie : Hassabis, Jumper (AlphaFold), Baker

Lecture. Les limites mesurées de ces modèles : affirmations fausses mais plausibles, biais hérités des données, consommation d’énergie de l’entraînement.

Des ensembles emboîtés

Les trois termes ne sont pas synonymes : le Machine Learning est une approche de l’IA, le Deep Learning une technique de Machine Learning.

Machine Learning

Construire des systèmes qui apprennent à partir de données au lieu d’être programmés règle par règle : on fournit des exemples, le système en extrait les régularités.

Deep Learning

Machine Learning par des réseaux de neurones à plusieurs couches cachées, qui apprennent des représentations hiérarchiques des données (bords, formes, objets).

L’IA sans apprentissage

Le ML n’est pas la seule approche

Un calculateur d’itinéraire qui applique A* (Séance 3) relève de l’IA : il résout un problème de planification. Ce n’est pas du Machine Learning : la règle de recherche est programmée. De même, le calcul formel (intégrer, résoudre une équation) est de l’IA symbolique.

catégorie exemples
IA sans ML A*, systèmes experts, calcul formel
ML sans DL Naive Bayes, arbres, SVM, \(k\)-PPV
DL réseaux convolutifs, Transformers

Le choix dépend du problème : le ML exige des données ; l’IA symbolique exige un expert qui écrive les règles.

Lecture. Le cours couvre l’IA dans son ensemble, y compris sans apprentissage ; le cours de Machine Learning du second semestre se consacre au ML.

Des règles écrites à la main

Khadim, maraîcher à Mboro, classe l’humidité de son sol avec les seuils d’un agronome : sous 30 %, le sol est sec ; au-dessus de 70 %, saturé.

def regles(h):
    if h < 30:
        return "sec"
    if h <= 70:
        return "correct"
    return "sature"
for h in [20, 33, 72, 75]:
    print(h, regles(h))

Résultat \(\rightarrow\)

20 sec
33 correct
72 sature
75 sature

Lecture. Les seuils 30 et 70 sont dans le code : 20 est sec, 33 correct, 72 et 75 saturés. Changer de sol, c’est réécrire le programme.

Des règles apprises sur des exemples

exemples = [(12, "sec"), (25, "sec"), (38, "correct"), (55, "correct"),
            (68, "correct"), (80, "sature"), (95, "sature")]
def ppv(h, exemples):
    proche = min(exemples, key=lambda e: abs(e[0] - h))
    return proche[1]
for h in [20, 33, 72, 75]:
    print(h, regles(h), ppv(h, exemples))

Résultat \(\rightarrow\)

20 sec sec
33 correct correct
72 sature correct
75 sature sature

Lecture. Le plus proche voisin (1-PPV) rend la classe de l’exemple le plus proche : 72 est à 4 de 68 (correct) et à 8 de 80 ; il diffère de la règle. Aucun seuil n’est écrit : il est appris, au milieu de 68 et 80, soit 74.

Des exemples changés, un programme inchangé

sable = [(15, "sec"), (31, "sec"), (40, "correct"), (52, "correct"),
         (60, "sature"), (85, "sature")]
for h in [20, 33, 72, 75]:
    print(h, regles(h), ppv(h, sable))

Résultat \(\rightarrow\)

20 sec sec
33 correct sec
72 sature sature
75 sature sature

Lecture. Sur une autre parcelle, au sol plus sableux, un autre agronome étiquette d’autres exemples : 33 devient sec, 72 et 75 saturés. Le programme est le même ; seules les données ont changé.

Les frontières apprises

Lecture. Les seuils des règles sont écrits (30 et 70). Ceux du plus proche voisin sont les milieux entre exemples voisins de classes différentes : 31,5 et 74 sur les premiers exemples, 35,5 et 56 sur le sable.

Exercice : classer six systèmes

Énoncé

(a)–(c) IA sans ML, ML sans DL, ou DL ? (d) Bilan. (1) A* d’une application de VTC à Dakar ; (2) système expert, maladies de l’oignon ; (3) filtre des SMS frauduleux ; (4) arbre, rendement de l’arachide ; (5) parasites d’un frottis ; (6) traduction français–wolof.

Correction

  1. Systèmes 1 et 2, IA sans ML : A* applique une règle de recherche programmée, le système expert des règles écrites avec des agronomes ; rien n’est appris.
  2. Systèmes 3 et 4, ML sans DL : Naive Bayes estime des probabilités sur des SMS étiquetés ; l’arbre est appris sur des campagnes passées. Modèles sans couches de neurones.
  3. Systèmes 5 et 6, DL : un réseau convolutif profond et un Transformer, réseaux de neurones à nombreuses couches appris sur des données.
  4. Les six sont de l’IA ; le critère du ML est l’apprentissage à partir de données, celui du DL la profondeur du réseau.

Agent, capteurs, actionneurs

Agent, percept

Un agent perçoit son environnement par des capteurs et agit sur lui par des actionneurs. Un percept (ou perception) est ce que les capteurs livrent à un instant ; la séquence de percepts est tout ce que l’agent a perçu depuis le début.

agent capteurs actionneurs
humain yeux, oreilles mains, voix
robot caméras, lidar moteurs
assistant texte, micro texte, voix
thermostat thermomètre chauffage

Lecture. Percevoir, choisir, agir ; l’environnement change et produit le percept suivant.

Fonction d’agent et programme d’agent

Fonction d’agent

\(f:\mathcal P^*\to\mathcal A\) associe à toute séquence de percepts une action. \(\mathcal P^*\) : l’ensemble des séquences de percepts possibles ; \(\mathcal A\) : l’ensemble des actions.

La fonction d’agent est une description mathématique du comportement. Le programme d’agent est le code qui la réalise sur une machine : il reçoit le percept courant et rend une action.

Fonction n’est pas programme

Une même fonction d’agent admet de nombreux programmes : une table, une règle, un calcul. La fonction dit quoi faire, le programme comment.

Lecture. L’agent ne voit que le percept courant ; s’il veut tenir compte du passé, c’est à son programme de s’en souvenir.

La fonction d’agent en table

Le capteur de Khadim livre chaque heure une humidité entière de 0 à 100 %, ou rien quand il est muet : 102 percepts possibles.

valeurs = 101 + 1          # humidite de 0 a 100 %, ou capteur muet
for T in [1, 2, 6, 24]:
    print(T, f"{valeurs ** T:.3g}")

Résultat \(\rightarrow\)

1 102
2 1.04e+04
6 1.13e+12
24 1.61e+48

Lecture. Une table qui donne l’action pour chaque séquence de \(T\) percepts compte \(102^T\) lignes : 102 pour une heure, \(1{,}61\times10^{48}\) pour une journée. Un programme d’agent remplace cette table par quelques lignes de code.

L’agent rationnel

Agent rationnel

Pour chaque séquence de percepts possible, un agent rationnel choisit l’action qui maximise l’espérance de sa mesure de performance, compte tenu de la séquence de percepts et des connaissances qu’il a de l’environnement.

Rationnel n’est pas omniscient

L’agent fait au mieux avec ce qu’il perçoit. Un orage imprévu noie la parcelle que Khadim vient d’arroser : la décision était rationnelle au moment où il l’a prise, le résultat est mauvais.

La mesure de performance évalue la suite des états de l’environnement, pas l’impression de l’agent : une récolte, un sol jamais sous 15 % d’humidité, de l’eau économisée. La fixer est une décision du concepteur.

Lecture. Un agent optimise exactement ce que mesure sa performance : récompenser « sol humide » sans compter l’eau conduit à arroser sans arrêt.

La description PEAS d’une tâche

PEAS

Performance (comment juger l’agent), Environnement (où il agit), Actionneurs (ce qu’il peut faire), S : capteurs (ce qu’il perçoit) : la première étape de la conception.

agent P E A S
Taxi autonome à Dakar sécurité, durée du trajet, confort, respect du code, consommation routes de Dakar, autres véhicules, motos, charrettes, piétons, travaux, hivernage volant, accélérateur, frein, clignotants, klaxon, écran pour le client caméras, lidar, radar, GPS, odomètre, accéléromètre, micro
Robot de tri des colis (La Poste) colis dans le bon bac, cadence, colis abîmés tapis roulant, colis de formes et de poids variés, bacs par région bras articulé, ventouse, aiguillage du tapis caméra, lecteur de codes-barres, balance, capteurs de présence

Lecture. Critères en tension : un taxi plus rapide consomme plus ; un tri plus rapide abîme plus de colis.

Deux autres descriptions PEAS

agent P E A S
Aide au diagnostic du paludisme diagnostics corrects, coût des examens, délai patient, infirmier, poste de santé, saison des pluies questions, examens demandés (TDR, goutte épaisse), diagnostic affiché symptômes saisis, résultats d’examens, température
Assistant conversationnel en wolof (écrit) demandes satisfaites, réponses exactes, durée de l’échange utilisateurs, téléphone, réseau, services (santé, agriculture, banque) messages écrits en wolof, transfert vers un humain messages saisis au clavier, historique de la conversation

Un environnement logiciel est un environnement

L’assistant écrit en wolof n’a ni roue ni bras : son capteur est le clavier du téléphone, son actionneur l’affichage des messages. Un agent logiciel se décrit par PEAS comme un robot.

Lecture. L’aide au diagnostic du paludisme agit en demandant des examens : un TDR ou une goutte épaisse coûte, et le coût fait partie de la performance.

Le fil rouge : la parcelle de Khadim à Mboro

L’arrosage au bon moment

Khadim cultive des oignons à Mboro, dans les Niayes, entre Dakar et Saint-Louis. Un goutte-à-goutte, alimenté par une pompe, arrose sa parcelle ; un capteur d’humidité du sol envoie chaque heure une mesure, mais la liaison sans fil se coupe parfois. Le sol perd 6 points d’humidité par heure ; un arrosage en apporte 20. Sous 15 %, les oignons flétrissent.

P sol jamais sous 15 %, eau et énergie économisées
E parcelle, sol sableux, soleil, vent
A pompe : arroser, attendre
S capteur d’humidité (muet par moments)

Le même problème sert aux quatre architectures d’agents de la séance : seul le programme d’agent change.

L’environnement simulé

ARROSAGE = 20              # points d'humidite apportes par un arrosage
EVAPORATION = 6            # points perdus en une heure
class Parcelle:
    def __init__(self, h, muet):
        self.h = h         # humidite reelle du sol (%)
        self.muet = muet   # heures ou le capteur ne repond pas
        self.t = 0
    def percevoir(self):
        return None if self.t in self.muet else self.h
    def executer(self, action):
        if action == "arroser":
            self.h = self.h + ARROSAGE
        self.h = self.h - EVAPORATION
        self.t = self.t + 1
champ = Parcelle(40, muet={2, 3, 4})
champ.executer("attendre")
print(champ.h, champ.t, champ.percevoir())

Résultat \(\rightarrow\)

34 1 34

Lecture. percevoir rend l’humidité réelle, ou None aux heures muettes ; executer applique l’action, retire l’évaporation, avance l’horloge. Départ à 40 % : une heure d’attente, 34 %, à \(t=1\).

Observabilité et déterminisme

Six propriétés de l’environnement de la tâche déterminent en grande partie l’architecture d’agent qui convient.

Entièrement ou partiellement observable

Entièrement observable : les capteurs donnent à chaque instant tout ce qui compte pour décider. Partiellement observable : une partie de l’état échappe aux capteurs, ou leur mesure est bruitée.

Le jeu de dames : tout le damier est visible. Le taxi à Dakar : angles morts, intentions des autres conducteurs. La parcelle de Khadim : capteur muet trois heures.

Déterministe ou stochastique

Déterministe : l’état suivant est entièrement fixé par l’état courant et l’action de l’agent. Stochastique : l’état suivant suit une loi de probabilité.

Les dames : un coup a toujours le même effet. Le robot de tri : un colis glisse ou tombe. La parcelle simulée est déterministe (6 points par heure) ; une vraie parcelle ne l’est pas (vent, nuages).

Épisodes et dynamique

Épisodique ou séquentiel

Épisodique : l’expérience se découpe en épisodes indépendants ; une décision n’influence pas les suivantes. Séquentiel : chaque décision pèse sur les suivantes.

Lire un frottis : chaque lame est indépendante. Arroser : ne pas arroser à \(t=2\) laisse le sol à 10 % après l’heure \(t=4\).

Statique ou dynamique

Statique : le monde ne change pas pendant que l’agent réfléchit. Dynamique : il change ; ne pas décider revient à décider. Semi-dynamique : le monde reste fixe, mais le score dépend du temps mis.

Les dames sans pendule : statique. Avec pendule : semi-dynamique. Le taxi : dynamique.

Statique n’est pas déterministe

Les deux propriétés sont indépendantes : un jeu de cartes est statique (rien ne bouge pendant la réflexion) et stochastique (la donne est aléatoire).

Valeurs et nombre d’agents

Discret ou continu

Discret : un nombre fini d’états, de percepts et d’actions distincts. Continu : états, temps, percepts ou actions prennent des valeurs réelles.

Les dames : un nombre fini de positions. Le taxi : vitesse, angle du volant, position. L’assistant écrit en wolof échange des mots : discret ; avec la voix, il deviendrait continu.

Mono-agent ou multi-agent

Mono-agent : l’agent est seul à poursuivre un objectif. Multi-agent : d’autres agents agissent, dans un rapport compétitif (les dames) ou coopératif (des taxis qui évitent les collisions).

Un colis sur le tapis n’est pas un agent ; un autre conducteur en est un.

Lecture. Une septième propriété, la connaissance des règles : un environnement connu (les effets des actions sont donnés) ou inconnu (l’agent doit les apprendre).

Six environnements caractérisés

environnement observable déterminisme épisodes dynamique valeurs agents
Dames (sans pendule) entièrement déterministe séquentiel statique discret multi
Lecture d’un frottis entièrement déterministe épisodique semi-dynamique continu mono
Tri des colis (La Poste) partiellement stochastique épisodique dynamique continu mono
Diagnostic du paludisme partiellement stochastique séquentiel dynamique continu mono
Assistant écrit en wolof partiellement stochastique séquentiel dynamique discret multi
Taxi autonome à Dakar partiellement stochastique séquentiel dynamique continu multi

Lecture. Le taxi autonome à Dakar cumule les six propriétés défavorables : partiellement observable, stochastique, séquentiel, dynamique, continu, multi-agent. La lecture d’un frottis est épisodique : chaque lame est jugée seule.

Ce que les propriétés imposent à l’agent

Quoi, pourquoi, quand ça échoue

partiellement observable tenir un état interne, et des croyances sur ce qui échappe aux capteurs (Séance 5)
stochastique raisonner sur des probabilités de résultats, et sur l’utilité espérée (Séances 5 et 6)
séquentiel planifier une suite d’actions (Séance 3) ou une règle de conduite (Séance 6)
dynamique décider à temps : une réflexion longue vaut une action
continu discrétiser, ou employer des fonctions à paramètres (cours de ML)
multi-agent modéliser les autres agents : jeux, coopération

Lecture. Un agent réflexe n’est rationnel que si le percept contient tout ce qui compte (entièrement observable) ; le cas le plus favorable ajoute déterministe, épisodique, statique, discret.

Exercice : PEAS de trois agents

Énoncé

PEAS (a) d’un joueur de yoté (damier de \(5\times6\), douze pions par joueur) ; (b) d’un trieur de mangues pour l’export, en Casamance ; (c) d’un régulateur des feux d’un carrefour de Thiès. Critères en tension ?

Correction

  1. Yoté : P = parties gagnées ; E = damier de \(5\times6\) et adversaire ; A = poser, déplacer, prendre ; S = pions sur le damier et en main.
  2. Mangues : P = bonnes caisses (export, marché local, rebut) et cadence, en tension : trier plus vite fait plus d’erreurs ; A = poussoirs ; S = caméra, balance.
  3. Feux : P = attente moyenne, débit, sécurité des piétons, en tension : une phase verte longue vide une file et en allonge une autre.

Exercice : caractériser les trois environnements

Énoncé

Caractériser selon les six propriétés l’environnement (a) du yoté, (b) du tri des mangues, (c) des feux de Thiès, puis (d) proposer une architecture d’agent pour chacun.

Correction

  1. Yoté : tout se voit (damier, pions en main), pas de hasard, chaque coup engage la suite, rien ne bouge pendant la réflexion ; deux joueurs.
  2. Mangues : face cachée (partiel), éclairage variable (stochastique), chaque mangue indépendante (épisodique), le tapis avance (dynamique), images (continu).
  3. Feux : files mal vues, arrivées aléatoires, une phase pèse sur les suivantes, le trafic change pendant la décision, temps continu, conducteurs = agents.
  4. Mangues : épisodique, se souvenir des fruits passés n’aiderait pas : réflexe, à règle apprise. Yoté : recherche et utilité. Feux : modèle (files estimées) et utilité (attente contre débit).

Quatre architectures de programme d’agent

Le programme d’agent peut s’organiser de quatre manières, de la règle sur le percept au calcul d’une utilité ; chacune ajoute une capacité à la précédente.

agent décide à partir de retient Séance
réflexe le percept courant rien 1
fondé sur un modèle un état interne une estimation de l’état du monde 1, 5
fondé sur des buts les conséquences prévues un but à atteindre 2, 3
fondé sur l’utilité la valeur des conséquences une fonction d’utilité 6
apprenant l’expérience ce qu’il améliore 6, cours de ML

Lecture. Les quatre programmes qui suivent tournent sur la parcelle de Khadim : même environnement, mêmes percepts au départ, décisions différentes.

L’agent réflexe

Agent réflexe

Il choisit son action d’après le seul percept courant, par des règles condition-action : « si le sol est sous 30 %, arroser ». Il ignore la séquence des percepts passés.

Sa fonction d’agent ne dépend que du dernier percept : 102 lignes au lieu de \(102^T\). Un thermostat, une porte automatique, le trieur de mangues sont des agents réflexes.

L’agent réflexe, pas à pas

Sortie \(\rightarrow\)

0 40 attendre2 None attendre4 None attendre
1 34 attendre3 None attendre5 10 arroser

Lecture. Initialisation (lignes 1, 5) : la règle est définie ; sol à 40 %, capteur muet de \(t=2\) à \(t=4\).

Lecture. Tour 0 : percept 40, la condition de la ligne 2 est fausse : « attendre » ; sol à 34 %.

Lecture. Tour 1 : percept 34, la condition de la ligne 2 est fausse : « attendre » ; sol à 28 %.

Lecture. Tour 2 : capteur muet ; la ligne 4 rend « attendre » ; le sol tombe à 22 %.

Lecture. Tour 3 : capteur muet ; la ligne 4 rend « attendre » ; le sol tombe à 16 %.

Lecture. Tour 4 : capteur muet ; la ligne 4 rend « attendre » ; le sol tombe à 10 %, les oignons flétrissent.

Lecture. Tour 5 : \(10<30\), la ligne 3 rend « arroser », trop tard : le sol a passé une heure à 10 %.

L’agent réflexe : quoi, pourquoi, quand ça échoue

Quoi, pourquoi, quand ça échoue

Quoi : une table de règles condition-action appliquée au percept courant.

Pourquoi : rapide, sans mémoire, rationnel si le percept courant contient tout ce qui compte pour décider.

Quand ça échoue : dès que l’environnement est partiellement observable. Capteur muet de \(t=2\) à \(t=4\) : « attendre » trois fois, et le sol descend à 10 %, sous le seuil de flétrissement. Même percept, None, à 40 % ou à 10 % d’humidité réelle : aucune règle sur ce seul percept ne distingue les deux.

Les boucles infinies

Un agent réflexe peut répéter sans fin la même action (un robot qui avance contre un mur). Une part de hasard dans le choix casse ces boucles, au prix d’actions inutiles.

L’agent fondé sur un modèle

Agent fondé sur un modèle

Il tient un état interne, une estimation de l’état du monde, mise à jour à chaque percept grâce à un modèle : le modèle de transition (comment le monde évolue, seul ou sous l’effet des actions) et le modèle des capteurs (comment l’état se traduit en percepts). Les règles portent sur l’état, pas sur le percept.

Pour Khadim : transition \(h\leftarrow h+20-6\) après un arrosage, \(h\leftarrow h-6\) sinon ; capteur : le percept est \(h\), ou rien.

L’agent fondé sur un modèle, pas à pas

Sortie \(\rightarrow\)

0 40 attendre 402 None arroser 284 None attendre 36
1 34 attendre 343 None attendre 425 30 attendre 30

Lecture. Initialisation (lignes 1, 10, 11) : état interne vide ; sol à 40 %, capteur muet de \(t=2\) à \(t=4\).

Lecture. Tour 0 : percept 40 ; la ligne 3 le recopie dans l’état, la ligne 8 décide « attendre ».

Lecture. Tour 1 : percept 34 ; la ligne 3 le recopie dans l’état, la ligne 8 décide « attendre ».

Lecture. Tour 2 : capteur muet ; la ligne 7 prédit \(34-6=28\) ; la ligne 8 décide « arroser ».

Lecture. Tour 3 : muet, dernière action « arroser » : la ligne 5 prédit \(28+20-6=42\) ; « attendre ».

Lecture. Tour 4 : capteur muet ; la ligne 7 prédit \(42-6=36\), au-dessus du seuil : « attendre ».

Lecture. Tour 5 : le capteur revient sur 30, la valeur estimée : le modèle a suivi le sol sans le voir.

Le modèle : quoi, pourquoi, quand ça échoue

Quoi, pourquoi, quand ça échoue

Quoi : un état interne mis à jour par le modèle, puis des règles appliquées à cet état (ici, la règle de l’agent réflexe, ligne 8).

Pourquoi : il agit dans un environnement partiellement observable ; ici, il arrose à \(t=2\) sans rien percevoir, et le sol ne descend jamais sous 24 %.

Quand ça échoue : quand le modèle est faux. Si le vent porte l’évaporation à 10 points par heure, l’estimation dérive : à \(t=4\), l’agent estime 32 % quand le sol est à 20 %, attend, et le sol tombe à 10 % ; il faut alors des croyances pondérées par des probabilités (Séance 5).

Lecture. Dans cette parcelle simulée, déterministe, le modèle est exact : l’humidité estimée égale l’humidité réelle à chaque heure, et le capteur revient à \(t=5\) sur la valeur prévue, 30 %.

Exercice : le tapis du centre de tri

Énoncé

L’aiguillage ne bascule que tronçon vide. E : un colis entre ; S : un colis sort. (a) Réflexe : bloquer si E ou S. (b) Modèle : \(n\leftarrow n+E-S\), bloquer si \(n>0\). (c) Erreurs du réflexe ? (d) Un meilleur réflexe ?

Correction

  1. Réflexe : « bloquer » dès qu’un capteur s’allume, sinon « autoriser » : B, A, B, B, A, B, A.
  2. Modèle : \(n\leftarrow n+E-S\), puis « bloquer » si \(n>0\) : \(n\) = 1, 1, 2, 1, 1, 0, 0.
  3. Le réflexe autorise à \(t=2\) et \(t=5\) avec un colis sur le tronçon (choc), et bloque à \(t=6\) un tronçon vide.
  4. À \(t=2\) et \(t=7\), même percept (· ·), actions justes opposées : aucune règle sur le seul percept ne convient ; il faut un état.

L’agent fondé sur des buts

Agent fondé sur des buts

Il connaît un but, une description des états désirables, et se demande « que se passe-t-il si je fais \(a\) ? » : il prévoit avec son modèle les conséquences des actions et retient une action qui mène au but.

Quand le but est à plusieurs actions de distance, il faut chercher une suite d’actions : c’est l’objet de la recherche et de la planification (Séance 3). Un calculateur d’itinéraire est un agent fondé sur des buts.

Lecture. Changer de but ne demande pas de réécrire des règles : le même agent vise 40 % ou 60 % en changeant une ligne.

Un but pour la parcelle

Khadim choisit maintenant une durée de goutte-à-goutte : une minute apporte un point d’humidité. But : un sol entre 40 et 70 % dans une heure.

DOSES = [0, 10, 20, 30, 40]   # minutes de goutte-a-goutte (1 point par minute)
def but_atteint(h):
    return 40 <= h <= 70
def agent_buts(h):
    for d in DOSES:
        if but_atteint(h + d - EVAPORATION):
            return d
    return None
print(agent_buts(28))
print([d for d in DOSES if but_atteint(28 + d - EVAPORATION)])

Résultat \(\rightarrow\)

20
[20, 30, 40]

Lecture. Le sol est à 28 % : la première dose qui atteint le but est 20 minutes (\(28+20-6=42\)). Trois doses atteignent le but, 20, 30 et 40 ; le but ne dit pas laquelle préférer.

L’agent fondé sur l’utilité

Agent fondé sur l’utilité

Une fonction d’utilité \(U\) associe à chaque état (ou résultat) un nombre réel qui mesure sa désirabilité pour l’agent. L’agent choisit l’action dont le résultat a la plus grande utilité ; dans un monde stochastique, la plus grande utilité espérée (Séance 6).

Un but est binaire, atteint ou non ; l’utilité est graduée. Elle arbitre entre des objectifs en conflit (récolte contre eau) et classe les actions qui atteignent toutes le but.

Lecture. Pour Khadim : \(U(d)=\text{valeur}(h')-0{,}5\,d\), \(h'=28+d-6\), \(\text{valeur}(h)=100-2\,|h-50|\).

L’agent fondé sur l’utilité, pas à pas

Sortie \(\rightarrow\)

0 44.020 74.040 56.0
10 59.030 81.0dose choisie : 30

Lecture. Initialisation (lignes 1, 2, 4, 7) : prix, valeur, utilité ; aucune dose retenue.

Lecture. Dose 0 : \(h=22\), valeur 44, coût 0, \(U=44\) ; la ligne 12 la retient.

Lecture. Dose 10 : \(h=32\), valeur 64, coût 5, \(U=59\) ; la ligne 12 la retient.

Lecture. Dose 20 : \(h=42\), valeur 84, coût 10, \(U=74\) ; la ligne 12 la retient.

Lecture. Dose 30 : \(h=52\), valeur 96, coût 15, \(U=81\) ; la ligne 12 la retient.

Lecture. Dose 40 : \(h=62\), valeur 76, coût 20, \(U=56\) ; moins bonne que 30, rien n’est retenu.

Lecture. Ligne 13 : 30 minutes, \(U=81\) ; l’agent fondé sur des buts prenait 20 minutes.

Le prix de l’eau en hausse

En saison sèche, Khadim pompe l’eau d’un forage au gasoil : la minute d’eau coûte 1,5 au lieu de 0,5.

PRIX = 1.5                 # eau d'un forage, pompee au gasoil
print([utilite(28, d) for d in DOSES])
print(max(DOSES, key=lambda d: utilite(28, d)))
PRIX = 0.5

Résultat \(\rightarrow\)

[44.0, 49.0, 54.0, 51.0, 16.0]
20

Lecture. Utilités 44, 49, 54, 51, 16 : 20 minutes. Sous 1,2 : 30 minutes ; de 1,2 à 2 : 20 minutes ; au-delà de 2, aucun arrosage ne vaut son coût (égalités à 1,2 et à 2).

L’utilité : quoi, pourquoi, quand ça échoue

Quoi, pourquoi, quand ça échoue

Quoi : prévoir le résultat de chaque action avec le modèle, lui attribuer une utilité, garder l’action de plus grande utilité.

Pourquoi : il classe toutes les actions, arbitre les critères en conflit et s’adapte aux prix : 30 minutes quand l’eau est bon marché, 20 quand elle est chère.

Quand ça échoue : quand l’utilité est mal fixée (l’agent optimise exactement ce qu’on lui donne), quand le modèle se trompe sur \(h'\), ou quand les actions sont trop nombreuses pour être toutes évaluées.

Lecture. L’agent rationnel de la définition est un agent fondé sur l’utilité, dont l’utilité traduit la mesure de performance.

Exercice : la mareyeuse de Kayar

Énoncé

Aïssatou, mareyeuse, part de Kayar à 7 h avec 200 kg. Kayar : 600 F/kg, 120 kg au plus. Thiès : 900 F/kg, transport 15 000 F, 1 h 30. Pikine : 1 100 F/kg, 25 000 F, 2 h 30. Fraîcheur : 4 000 F par heure. (a) But : tout vendre avant 11 h. (b) Utilités. (c) Seuil du transport. (d) Bilan.

Correction

  1. But (200 kg vendus avant 11 h) : Kayar non (120 kg), Thiès oui (8 h 30), Pikine oui (9 h 30). Dans l’ordre donné, l’agent fondé sur des buts retient Thiès.
  2. \(U\) : 72 000, 159 000, 185 000 FCFA : l’agent fondé sur l’utilité choisit Pikine, 26 000 FCFA de plus.
  3. Pikine reste meilleur tant que \(220\,000-T-10\,000>159\,000\), soit \(T<51\,000\) FCFA.
  4. Le but ne classe pas les solutions qui le satisfont ; l’utilité les ordonne. Un but est une utilité à deux valeurs.

L’agent apprenant

Agent apprenant

Une des architectures précédentes (l’élément de performance), plus un critique qui juge les résultats d’après un standard de performance, un élément d’apprentissage qui modifie l’élément de performance, et un générateur de problèmes qui propose des actions exploratoires.

Comparer l’humidité prévue à l’humidité mesurée apprendrait l’évaporation réelle : le modèle n’est plus donné, il est appris.

Lecture. Agir dans un environnement d’abord inconnu : Séance 6 et cours de Machine Learning.

Les branches de l’IA

Questions et outils des branches

branche question outils
recherche, planification quelle suite d’actions mène au but ? BFS, A*, recherche locale (Séance 3) ; minimax, contraintes
connaissances, raisonnement que déduire de ce que l’on sait ? logique, inférence, systèmes experts
raisonnement sous incertitude que croire quand on n’est pas sûr ? Bayes, réseaux bayésiens (Séance 5) ; filtrage
décision, apprentissage comment décider et s’améliorer ? MDP, Q-learning, ML supervisé, non supervisé
langage naturel comprendre et produire du texte ? analyse, traduction, grands modèles de langage
vision, robotique voir et agir dans le monde physique ? reconnaissance d’objets, contrôle, trajectoires

Lecture. Les branches communiquent : le Machine Learning s’appuie sur les probabilités ; la robotique réunit vision, planification et contrôle.

La combinaison des branches dans un système réel

Le taxi autonome à Dakar

  • vision : reconnaître piétons, charrettes, motos et feux sur les images des caméras ;
  • raisonnement sous incertitude : estimer la position d’une moto cachée par un bus (agent fondé sur un modèle) ;
  • planification : chercher l’itinéraire du Plateau à l’aéroport Blaise-Diagne (agent fondé sur des buts) ;
  • décision : arbitrer durée, sécurité, confort et péage (agent fondé sur l’utilité) ;
  • apprentissage : améliorer la détection avec les kilomètres parcourus (agent apprenant) ;
  • robotique : tourner le volant, freiner.

Lecture. Chaque architecture d’agent de la séance trouve sa place dans un même système ; le cours les étudie une à une.

Les agents de la séance, côte à côte

agent décide d’après sur la parcelle de Khadim limite
réflexe le percept attend trois fois, sol à 10 % observabilité partielle
fondé sur un modèle un état estimé arrose à \(t=2\), sol jamais sous 24 % modèle faux
fondé sur des buts le but prévu 20 minutes, première dose dans [40, 70] ne classe pas
fondé sur l’utilité l’utilité prévue 30 minutes (\(U=81\)) ; 20 si l’eau est chère utilité à fixer
apprenant l’expérience apprendrait l’évaporation réelle données, exploration

Lecture. Le même environnement, les mêmes premiers percepts, quatre comportements : le programme d’agent fait la différence.

Le choix d’une architecture

Quelle architecture pour quelle tâche ?

  1. L’environnement est entièrement observable (le percept contient tout ce qui compte) ? Un agent réflexe peut être rationnel.
  2. Une partie de l’état échappe aux capteurs ? Un agent fondé sur un modèle, qui tient un état interne.
  3. Il faut atteindre un état précis, éventuellement en plusieurs actions ? Un agent fondé sur des buts, avec une recherche (Séance 3).
  4. Plusieurs solutions, des critères en conflit, de l’incertitude ? Un agent fondé sur l’utilité (Séance 6).
  5. L’environnement est inconnu ou change ? Un agent apprenant.

Lecture. La moins riche qui reste rationnelle est la bonne : trier des mangues est épisodique, mémoriser les fruits passés n’apporte rien ; un taxi autonome a besoin de tout.

À retenir

À retenir

  • L’IA conçoit des agents rationnels : maximiser l’espérance de la mesure de performance, compte tenu des percepts et des connaissances ; rationnel n’est pas omniscient.
  • Trois vagues : symbolique (1956), statistique (fin des années 1980), profonde (2012) ; deux hivers (1974–1980, 1987–1993 selon les auteurs).
  • IA \(\supset\) ML \(\supset\) DL : le ML apprend à partir de données, le DL par des réseaux profonds ; A* est de l’IA sans ML.
  • Fonction d’agent \(f:\mathcal P^*\to\mathcal A\) (un objet mathématique) et programme d’agent (le code) ; en table, \(102^{24}\approx1{,}61\times10^{48}\) lignes pour une journée.
  • PEAS : performance, environnement, actionneurs, capteurs.
  • Six propriétés : observable, déterministe, épisodique, statique, discret, mono-agent ; le taxi à Dakar est défavorable sur les six.
  • Réflexe (percept), modèle (état interne), buts (conséquences prévues), utilité (valeur des conséquences), apprenant (expérience).

Prochaine séance

Séance 2 — L’IA qui raisonne

L’agent fondé sur un modèle de cette séance connaissait l’évaporation ; un agent qui raisonne tire de nouvelles connaissances de celles qu’il possède. Dans le Monde de Bouki, une grotte où rôdent Bouki, la hyène des contes wolof, et des puits, l’agent ne perçoit qu’une odeur (Bouki est dans une case voisine) ou une brise (un puits est voisin), et doit en déduire où sont les dangers : logique propositionnelle et du premier ordre, inférence, systèmes experts. La question de la séance : comment un agent raisonne-t-il de façon correcte ?

Références

  • Russell, Norvig — Artificial Intelligence: A Modern Approach, 4e éd., Pearson, 2020 (chap. 1 et 2 : introduction, agents intelligents).
  • Poole, Mackworth — Artificial Intelligence: Foundations of Computational Agents, 3e éd., Cambridge University Press, 2023.
  • Turing — « Computing Machinery and Intelligence », Mind, 59, 1950.
  • McCarthy, Minsky, Rochester, Shannon — A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence, 1955.
  • Searle — « Minds, Brains, and Programs », Behavioral and Brain Sciences, 3, 1980.
  • Nilsson — The Quest for Artificial Intelligence, Cambridge University Press, 2010.
  • Goodfellow, Bengio, Courville — Deep Learning, MIT Press, 2016 (chap. 1).