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

TP de la séance 1 d’Introduction à l’intelligence artificielle : définitions, histoire, agents et environnements.
Auteur

Dr. El Hadji Bassirou TOURÉ · DMI/FST/UCAD

ImportantObjectif

Programmer les notions de la séance et les mesurer sur des données nouvelles : des règles écrites contre des règles apprises par le plus proche voisin ; un environnement simulé ; un agent réflexe, un agent fondé sur un modèle et un agent fondé sur l’utilité, comparés par une mesure de performance dans un environnement déterministe puis stochastique ; un agent apprenant. Durée : une séance de TP (2 à 3 heures).

Mise en place

Le code de départ est le notebook TP_S01_depart.ipynb, dans l’archive TP_S01_code_depart.zip. Il demande Python 3.10 ou plus récent et matplotlib.

unzip TP_S01_code_depart.zip
cd code_depart
jupyter lab TP_S01_depart.ipynb

Les blocs raise NotImplementedError("A COMPLETER ...") sont à remplacer par le code demandé ; l’affichage des résultats que la fiche interroge est dans la même cellule, qui échoue tant que le bloc n’est pas complété. Chaque question est marquée Observer, Expliquer, Compléter ou Modifier. À rendre : le notebook exécuté, avec les réponses aux questions dans des cellules de texte.

Étape 1 : la pluie à Ziguinchor, règles ou exemples

Un service météorologique classe la pluie journalière à Ziguinchor : faible sous 10 mm, modérée jusqu’à 50 mm, forte au-delà. Un observateur a étiqueté sept relevés : 2 et 6 mm (faible), 15, 28 et 45 mm (modérée), 60 et 90 mm (forte).

  1. Compléter regles_pluie et ppv. Observer les classes rendues pour 8, 12, 52 et 75 mm. Expliquer le désaccord sur 52 mm en donnant les deux exemples les plus proches et leurs distances.
  2. Compléter frontieres, qui rend les seuils appris par le plus proche voisin. Observer les seuils de Ziguinchor et les comparer aux seuils écrits (10 et 50).
  3. Observer les seuils appris sur les relevés de Kolda et le classement des quatre valeurs. Expliquer pourquoi 12 mm change de classe sans qu’aucune ligne de code ait changé.
  4. Modifier : la cellule suivante ajoute un relevé de 51 mm étiqueté « forte ». Observer les seuils et la classe de 52 mm. Quel seuil bouge, et de combien ?

Étape 2 : le poulailler de Sangalkam

Un éleveur de poulets de chair de Sangalkam ventile son poulailler. La température gagne 2 degrés par heure (soleil, chaleur des animaux) ; un ventilateur à trois vitesses en retire 0, 3 ou 6 par heure et consomme 0, 1 ou 3 kWh. Au-dessus de 30 degrés, les poulets souffrent de la chaleur ; sous 24, du froid. Le thermomètre envoie une mesure chaque heure, mais la liaison se coupe parfois. La journée simulée dure 12 heures, de 6 h à 18 h ; il fait 26 degrés à 6 h, et l’agent le sait.

vitesse \(v\) 0 1 2
degrés retirés en une heure 0 3 6
énergie consommée (kWh) 0 1 3
  1. Compléter la méthode executer. Observer l’essai : deux heures, vitesse 0 puis 2. Expliquer la température obtenue.
  2. Observer simuler et performance. Donner la description PEAS de l’agent et la mesure de performance retenue (heures de chaleur, heures de froid, énergie). Caractériser l’environnement de la cellule suivante selon les six propriétés.

Étape 3 : l’agent réflexe

  1. Compléter reflexe : vitesse 2 si le capteur répond et si la température dépasse 29, vitesse 0 sinon. Observer le journal (heure, percept, vitesse, température après l’heure) avec le capteur muet de \(t=3\) à \(t=6\).
  2. Expliquer les deux heures de chaleur. À quel instant l’agent aurait-il dû ventiler, et pourquoi ne pouvait-il pas le savoir ?

Étape 4 : l’agent fondé sur un modèle

  1. Compléter mettre_a_jour : recopier le percept, ou prédire la température avec le modèle de transition. Observer le journal et la performance.
  2. Expliquer la décision de l’instant \(t=5\), alors que le capteur est muet. Comparer l’énergie consommée à celle de l’agent réflexe.

Étape 5 : l’agent fondé sur l’utilité

L’utilité d’une vitesse \(v\) est \(u(T,v)=-|T'-27|-1{,}5\,E(v)\), où \(T'\) est la température prévue après l’heure et \(E(v)\) l’énergie consommée.

  1. Compléter u. Observer les trois utilités pour \(T=30\) et expliquer le choix de la vitesse 1.
  2. Observer le journal et la performance. Pourquoi l’agent consomme-t-il moins d’énergie que les deux précédents, sans heure de chaleur ?
  3. Observer la figure des trois courbes de température (zone grisée : capteur muet). Modifier PRIX : la cellule suivante rejoue la journée pour 0, 1,5 et 5. Expliquer l’effet du prix sur les vitesses et sur la performance.

Étape 6 : un environnement stochastique

Le gain de chaleur devient aléatoire (1, 2 ou 3 degrés, équiprobables) et le capteur se tait au hasard, en moyenne une heure sur quatre (\(p=0{,}25\)). La cellule évalue chaque agent sur 200 journées (graines 0 à 199) et affiche les moyennes (heures de chaleur, heures de froid, énergie).

  1. Observer les trois moyennes. Classer les agents. Expliquer pourquoi l’agent fondé sur un modèle garde des heures de chaleur alors que son modèle est juste en moyenne.
  2. Caractériser ce nouvel environnement. Quelles propriétés ont changé par rapport à l’étape 2 ?

Étape 7 : un agent apprenant pendant une canicule

Un jour de canicule, la température gagne 3 degrés par heure ; les agents à modèle gardent le modèle à 2 degrés.

  1. Observer la performance des trois agents. Expliquer pourquoi l’agent fondé sur un modèle subit maintenant des heures de chaleur qu’il évitait à l’étape 4.
  2. Compléter le bloc de prevision qui estime le gain à partir de deux percepts consécutifs. Observer le journal de modele_fixe et de apprenant, qui décident tous deux par la règle « ventiler si la température prévue dépasse 30 ».
  3. Observer l’évolution de l’estimation du gain pendant les quatre premières heures. Identifier dans apprenant l’élément de performance, le critique et l’élément d’apprentissage.
  4. Modifier : apprenant_brut remplace la moyenne par la dernière observation. Observer sa performance pendant la canicule, puis l’évaluation des trois agents sur les 200 journées de l’étape 6. Expliquer l’écart.

Pour cette séance

Le cours

Les slides

À lire en ligne

À télécharger

Retour au sommet