Vous êtes sur la page 1sur 54

Master Informatique M1

BASES DE L’INTELLIGENCE ARTIFICIELLE

INTRODUCTION
Patrick NOUNAMO
2019-2020
SUJETS COUVERTS

• Intelligence artificielle
• Agents intelligents
• Rationalité
• PEAS (mesure de Performance, Environnement, Actuateurs, Senseurs)
• Types d’environnements
• Types d’agents
• Exemple – Le monde des wumpus (Wumpus world)

2
SUJETS COUVERTS

• Résolution de problème par recherche


• Comprendre A*
• Implémenter A*
• Appliquer A* à un problème donné
• Espace de solutions
• Comprendre la notion d’espace d’états
• Comprendre la notion d’heuristique

3
4

INTELLIGENCE

• Avant de définir l’intelligence artificielle, il faut définir


l’intelligence !

• Définition ?
• Faculté de connaître, de comprendre ; qualité de l'esprit qui
comprend et s'adapte facilement.
• L'ensemble des fonctions mentales ayant pour objet la
connaissance rationnelle (opposé à sensation et à intuition).
INTELLIGENCE
5 ARTIFICIELLE (IA)

Définition :
Grand dictionnaire terminologique, 2006

« Branche de l'informatique ayant pour objet l'étude du


traitement des connaissances et du raisonnement humain, dans
le but de les reproduire artificiellement pour ainsi permettre à
un appareil [(agent)] d'exécuter des fonctions normalement
associées à l'intelligence humaine. »
6

DEUX BRANCHES DE L’IA

• Compréhension de l’intelligence
• Sciences cognitives, psychologie
• Comprendre le raisonnement humain
• Prédire la performance d’un humaine à une tâche
• Ex: l’architecture ACT-R pour évaluer le risque de parler
au téléphone en conduisant une voiture

• Création d’agents intelligents


• Capacités fondamentales:
• Perception
• Représentation des connaissances (modélisation)
• Apprentissage
• Raisonnement
• Prise de décisions
EXEMPLES D’AGENTS INTELLIGENTS

(1) Système d’aide à la décision; (3) Rover de la NASA; (4) Radarsat-II de l’ASC;
(2) Azimut-3;
(5) Mario de Nintendo.

7
8

POURQUOI AVOIR UNE IA ?

• Programmation d’actions vs Décisions automatiques

• Programmation
• Scripts
• Machine à états finis

• Décisions automatiques (~ programmation dynamique)


• Les actions à exécuter ne sont ni scriptées, ni programmées à l’avances
• L’agent décide lui-même de ses propres actions
9

TEST DE TURING
AGENTS

• Un agent est n’importe quel entité qui perçoit son environnement par des
senseurs (capteurs) et agit sur cet environnement par des actuateurs.

• Un agent humain a:

• des yeux, des oreilles, et d’autres senseurs;

• des mains, des jambes, une bouche et d’autres actuateurs.

• Un agent robot a:

• des caméras cameras, des senseurs infra rouges et autres;

• des roues, des jambes, des bras-articulés, et d’autres actuateurs.

10
AGENTS ET ENVIRONNEMENTS

• Le processus agent prend en entrée une donnée sensorielle et retourne une


action:
[f: P* → A]

• En pratique le processus est un implémenté par un programme sur une


architecture matérielle particulière.

11
12

ÉBAUCHE D’UN AGENT


EXEMPLE : ASPIRATEUR ROBOTISÉ

• Observations (données sensorielles):


position et état des lieux. • f:
• Par exemple: [A,Clean], [A,Clean] → Right
[A,Dirty], [A,Dirty] → Suck
[B,Clean], …
• Actions: Left, Right, Suck, NoOp [A,Clean] [B,Dirty] [B,Clean] [A,Dirty] → Suck

13
AGENTS RATIONNELS
• Un agent rationnel doit agir “correctement” en fonction de ce qu’il perçoit et de ses
capacités d’action:
• L’action correcte est celle permettant à l’agent de réussir le mieux.
• Mesure de performance:
• Une fonction objective mesurant la qualité d’un comportement de l’agent.
• Par exemple, une mesure de performance pour le robot aspirateur pourrait être:
• la quantité de déchets aspirés,
• la propreté des lieux;
• la durée de la tâche;
• le bruit généré;
• Agent rationnel: Étant donné une séquence d’observations (données sensorielles) et des
connaissances propres, un agent rationnel devrait choisir une action qui maximise la
mesure de performance.

14
AGENTS RATIONNELS
• Rationalité ne veut pas dire « qui sait tout » (par exemple, connaît
tous les effets de ses actions)!

• Rationnel ne veut pas dire « parfait ».


• La rationalité maximise la performance espérée.
• La perfection maximise la performance réelle/actuelle.
• Mais souvent on ne peut pas connaître la performance réelle
avant l’action.

• Un agent peut effecteur des actions d’observation pour cueillir


des informations nécessaires à sa tâche.

• Un agent est autonome s’il est capable d’adapter son


comportement en fonction de son expérience (capacité
d’apprentissage et d’adaptation)

15
MODÈLE PEAS

• PEAS: Un modèle de conceptions des agents par la spécification des


composantes majeures suivantes:

• Mesure de performance (Performance),


• Connaissance de l’environnement (Environnement),
• Les actions que l’agent peut effectuer (Actuateurs),
• La séquence des perceptions par l’agent (Senseurs)

PEAS = Performance, Environnement, Actuateurs, Senseurs

16
MODÈLE PEAS POUR UN ROBOT TAXI

• Agent: robot taxi.

• Mesure de performance: sécurité, vitesse, respect du code routier, voyage


confortable, maximisation des profits.

• Environnement: Route, trafic, piétons, clients

• Actuateurs:Volant, changement de vitesse, accélérateur, frein, clignotants, klaxon

• Senseurs: Caméras, sonar, speedometer, GPS, odomètre, témoins du moteur, etc.

17
MODÈLE PEAS POUR UN DIAGNOSTIQUE
MÉDICAL AUTOMATISÉ

• Agent: Système de diagnostique médical


• Mesure de performance: Santé des patients, minimisation des coûts, satisfaction des
patients.

• Environnement: Patients, hôpital, personnel soignant.


• Actuateurs: Moniteur pour afficher des questions, les résultats de tests ou de
diagnostique, le traitement, etc.
• Senseurs: Clavier et souris pour saisir les symptômes, les réponses aux questions, etc.

18
TYPES D’ENVIRONNEMENTS
• Complètement observables (vs. partiellement observable): Grâce à ses senseurs, l’agent a
accès un état complet de l’environnement à chaque instant.
• Déterministe (vs. stochastique): L’état suivant de l’environnement est entièrement
déterminé par l’état courant et l’action effectuée par l’agent.

• Épisodique (vs. séquentiel): Les opérations/comportements de l’agent sont divisées en


épisodes:
• chaque épisode consistant à observer l’environnement et effectuer une seule
action,
• et le choix de chaque action dans une épisode ne dépendant que de cette épisode.

• Statique (vs. dynamique): L’environnement ne change pas lorsque l’agent n’agit pas.

• Discret (vs. continu): Un nombre limité et clairement distincts de données sensoriels et


d’actions.
• Agent unique (vs. multi-agent): Un agent opérant seul dans un environnement.

19
STRUCTURE DES AGENTS

• Simple reflex agents


• Model-based reflex agents
• Goal-based agents
• Utility-based agents

20
SIMPLE REFLEX AGENTS

21
SIMPLE REFLEX AGENT

22
MODEL-BASED REFLEX AGENTS

23
GOAL-BASED AGENTS

24
UTILITY-BASED AGENTS

25
LEARNING AGENTS

26
EXEMPLE : LE MONDE DES WUMPUS
• Mesure de performance
• or +1000, mort -1000
• -1 par un pas, -10 pour une flèche

• Environnement
• Puanteur dans les chambres adjacent au wumpus.
• Brise dans les chambres adjacentes à une fosse
• Scintillement si l’or est dans la chambre
• Le wumpus meurt si on lui tire une flèche de face
• On a une seule flèche
• On peut ramasser l’or dans la même chambre
• On peut lâcher l’or dans une chambre

• Senseurs: stench (puanteur), breeze (brise), glitter (scintillement), bumper (choc), scream (cri).
• Actuateurs: Left turn, Right turn, Forward, Grab, Release, Shoot

27
CARACTÉRISATION DU MONDE DES
WUMPUS
• Complètement observable?
• Non – seulement perception locale.

• Déterministe?
• Oui – l’effet de chaque action est prévisible.

• Épisodique?
• Non – séquentiel au niveau des actions.

• Statique?
• Oui – le wumpus et les fosses ne bougent pas.

• Discret?
• Oui.

• Agent unique?
• Oui – La seule action du wumpus est de nous « bouffer » si on atteint sa chambre.

28
EXPLORATION DU MONDE DES WUMPUS

29
EXPLORATION DU MONDE DES WUMPUS

IFT615 © Éric Beaudry 30


31 © Éric Beaudry

IFT615
EXPLORATION DU MONDE DES
WUMPUS
EXPLORATION DU MONDE DES WUMPUS

32
EXPLORATION DU MONDE DES WUMPUS

IFT615 © Éric Beaudry 33


EXPLORATION DU MONDE DES WUMPUS

IFT615 © Éric Beaudry 34


EXPLORATION DU MONDE DES WUMPUS

35
EXPLORATION DU MONDE DES WUMPUS

36
PROCHAIN CHAPITRE

RECHERCHE HEURISTIQUE

• MOTIVATION
• Problèmes pouvant être résolus à l’aide d’algorithmes de
recherche

37
EXEMPLE : TROUVER CHEMIN
38
DANS VILLE
Trouver un chemin de la 9e ave & 50e rue à la 3e ave et 51e rue
(Exemple de Henry Kautz, U. of Washington)

53e rue

52e rue

51e rue G

50e rue
S
10e ave

9e ave

8e ave

3e ave
7e ave

6e ave

5e ave

4e ave

2e ave
EXEMPLE : TROUVER CHEMIN DANS LA VILLE
39 Trouver un chemin de la 9e ave & 50e rue à la 3e ave et 51e rue
(Illustration par Henry Kautz, U. of Washington)

53e rue

52e rue

51e rue G

50e rue S
10e ave

9e ave

8e ave

3e Ave
7e ave

6e ave

5e ave

4e ave

2e ave
EXEMPLE : GOOGLE MAPS
40
41 EXEMPLE : LIVRER DES COLIS

État initial But


r1 r2 r3 r4 r1 r2 r3 r4

r5 r6 r5 r6
robot
42 EXEMPLE : LIVRER DES COLIS

p1 p2 p3 p4

O3

O1 O2

c1 robot c2
43 EXEMPLE : NPUZZLE

2 8 3 ? 1 2 3
1 6 4 8 4
7 5 7 6 5

Nord Nord Ouest Sud Est


2 8 3 2 8 3 2 3 2 3 1 2 3 1 2 3
1 6 4 1 4 1 8 4 1 8 4 8 4 8 4
7 5 7 6 5 7 6 5 7 6 5 7 6 5 7 6 5
44

RÉSOLUTION PAR RECHERCHE DANS


UN GRAPHE
45 RÉSOLUTION DE PROBLÈMES

• Étapes intuitives par un humain


1. Modéliser la situation (état) actuelle
2. Énumérer les options possibles
3. Évaluer les conséquences des options
4. Retenir la meilleure options possibles satisfaisant le but

• La résolution de beaucoup de problèmes peut être faite par une recherche


dans un graphe
• Le graphe peut être un espace de solutions (espaces d’états, espace
d’assignations, espace de plans, …)
RÉSOLUTION DE PROBLÈME PAR UNE
46
RECHERCHE HEURISTIQUE DANS UN GRAPHE

• La recherche heuristique est à la base de beaucoup


d’approches en IA
• Approche générale
• Pour une application donnée, l’espace de solutions est représenté à
l’aide d’un graphe
• Un problème particulier pour une application donnée est résolu par
une recherche dans le graphe

• En général
• Le graphe est défini récursivement
• Une heuristique est utilisée pour guider la recherche
• Les heuristiques exploitent les connaissances du domaine d’application
PROBLÈME DE RECHERCHE DANS UN
47 GRAPHE
• Algorithme de recherche dans un graphe
• Entrées

• Un nœud initial
• Une fonction goal(n) qui retourne true si le but est atteint
• Une fonction de transition transitions(n) qui retourne les
nœuds successeurs de n.
• Sortie
• Un chemin dans un graphe (séquence nœuds / arrêtes)
• Le coût d’un chemin est la somme des coûts des arrêtes dans le graphe
• Il peut y avoir plusieurs nœuds qui satisfont le but

• Enjeux
• Trouver un chemin solution
• Trouver un chemin optimal
• Trouver rapidement un chemin (optimalité pas importante)
48 EXEMPLE : GRAPHE D’UNE VILLE
• Nœuds = intersections
• Arrêtes = segments de rue

53e rue

52e rue

51e rue G

50e rue S
10e ave

9e ave

8e ave

3e Ave
7e ave

6e ave

5e ave

4e ave

2e ave
(Illustration par Henry Kautz, U. of Washington)
EXEMPLE : TROUVER UN CHEMIN
49 DANS UN VILLE
Domaine :

Routes entre les villes


v0
2 3
transitions(v0): 4
((2,v3), (4,v2), (3, v1))
1
v3 v2 v1
Problème posé (initNode, goal): 1 2 7

v0: ville de départ (état initial) v4 v5


v6: destination (but) 4
4
En d’autres termes:
goal(v): vrai si v=v6 v6
50 RAPPEL SUR LES ALGORITHMES DE
RECHERCHE DANS DES GRAPHES
• Recherche meilleur immédiat en premier (Greedy Best-First-Search)
• Attention: certains auteurs utilisent le terme Best-First-Search pour désigner
Greedy Best-First-Search.
• Les deux algorithmes sont très différents !

• Recherche en profondeur (Depth-First-Search)


• Recherche en largeur (Breadth-First-Search)
• Algorithme de Dijkstra
• Algorithme de Floyd
• Recherche heuristiques (A*)
51

ALGORITHME A*
ALGORITHME A*
52

• A* est une extension de l’algorithme de Dijkstra utilisé pour trouver un


chemin optimal dans un graphe.
• Par l’ajout des heuristiques.

• Une heuristique est une fonction d’estimation du coût entre un nœud d’un
graphe et le but (le nœud à atteindre).
• Les heuristiques sont à la base de beaucoup de travaux en IA:
• Recherche de meilleurs heuristiques
• Apprentissage automatique d’heuristiques

• Pour décrire A*, il est pratique de décrire un algorithme générique très


simple, dont A* est un cas particulier.
53 VARIABLES IMPORTANTES : OPEN
ET CLOSED
• Open contient les nœuds non encore traités, c’est à dire à la
frontière de la partie du graphe explorée jusque là.

• Closed contient les nœuds déjà traités, c’est à dire à


l’intérieur de la frontière délimitée par open.
INSERTION DES NŒUDS DANS
54 OPEN
• Les nœuds dans open sont triés selon l’estimé de leur
proximité au but.

• A chaque nœud n est associé une fonction f(n) mesurant la


qualité de la meilleure solution passant par ce nœud.

• Pour chaque nœud n, f(n) est un nombre réel positif ou nul,


estimant le coût pour un chemin partant de la racine,
passant par n, et arrivant au but.

• Dans open, les nœuds se suivent en ordre croissant selon


les valeurs f(n).
• Le tri se fait par insertion: on s’assure que le nouveau nœud
va au bon endroit.

Vous aimerez peut-être aussi