M1CPIISIRMSESIFIA TD Corrigé
M1CPIISIRMSESIFIA TD Corrigé
M1CPIISIRMSESIFIA TD Corrigé
_______________________________________________________________________________________________
Stratégies de recherche
Exercice n° 1 : (Corrigé)
L’importance d’une bonne représentation du problème pour faciliter sa résolution est donnée par
de nombreux exemples, en particulier celui-ci.
Soit le système de règles de transformations portant sur l’alphabet A, B, C :
R1: α B → α B C
R2: A α → A α α
R3: B B B → C
R4: C C → ε
(α désigne une chaîne quelconque de lettres de l’alphabet initial et ε la chaîne vide).
La donnée de départ est A B, et le but à atteindre est A C.
_______________________________________________________________________________________________
R.Ahmed-Ouamer 1 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
ABBC R2 ABBCBBC
AB R1
R1 ABBBBC
R2 R2 R2
ABB ABBBB ABBBBBBBB
R3 ABC
ACB
Ce graphe est infini, puisque les règles R1 et R2 permettent d’allonger les séquences.
2ème représentation :
2) Une première réflexion conduit à constater que le problème se ramène ici à supprimer un B.
a) En désignant par b le nombre de B dans les chaînes formées, reformuler le problème
précédent.
b) Le but est-il atteignable ?
On peut reposer le problème suivant :
R2: b → 2b
R3: b → b – 3
R1 et R4 sans effet sur b.
avec pour donnée de départ b = 1 et pour but b = 0
3ème representation :
3) Une autre représentation consiste à poser k = b (mod 3).
a) Reformuler le problème précédent.
b) Quels sont alors les états possibles pour k ? Conclure.
La règle R3 est sans effet sur k.
Le problème reformulé comporte une seule règle
R2: k → 2k
Avec pour donnée initiale k = 1 (mod 3)
Les seules états possibles pour k sont : 1 (mod 3) et -1 (mod 3)
Le but k = 0 (mod 3) n’est pas atteignable
_______________________________________________________________________________________________
R.Ahmed-Ouamer 2 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
Exercice n° 2 :
1) Une décomposition classique des modes de représentation consiste à distinguer les
représentations en espace d’états et celles en espace de problèmes.
Expliquer ces deux notions.
2) En utilisant la représentation en espace d’états, spécifier une base de faits, des règles et une
condition d’arrêt pour un système de production qui résout le problème des tours de Hanoï dont
l’énoncé est :
''Soit à déplacer tous les disques (trois), empilés par tailles décroissantes de la tige A à la
tige B. Les règles sont les suivantes:
- on ne déplace qu’un disque à la fois, d’une tige sur une autre ;
- on ne peut placer un disque sur un autre de taille inférieure''.
3) a) Donner la représentation en espace de problèmes du problème des tours de Hanoï pour n
disques.
b) En utilisant la représentation en espaces de problèmes, résoudre le problème des tours de
Hanoï pour trois disques.
Exercice n° 2 : (Corrigé)
1) La représentation en espace d’états consiste à chercher la solution en décrivant la situation (état)
de l’univers considéré, et l’ensemble des opérateurs qui permettent de transformer cette
situation.
Soit à déplacer tous les disques, empilés par tailles décroissantes, de la tige A à la tige B.
Les règles sont les suivantes :
On ne déplace qu’un disque à la fois, d’une tige sur une autre ;
On ne peut placer un disque sur un autre de taille inférieure.
_______________________________________________________________________________________________
R.Ahmed-Ouamer 3 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
Cet opérateur réduit le problème initial, sur n disques, à deux problèmes identiques au
premier, mais pour n-1 disques, et à un mouvement élémentaire (déplacement du grand
disque)
i.e. (AAA) ---> (BBB) (AAA) ---> (CCA) ---> (CCB) ---> (BBB)
(AAA) → (BAA) → (BCA) → (CCA) → (CCB) → (ACB) → (ABB) → (BBB)
_______________________________________________________________________________________________
R.Ahmed-Ouamer 4 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
A B
B C C A
Situation 1 Situation 2
Où :
SurTable(A) s’interprète : A est sur la table.
Sur(A, B) s’interprète : A sur B.
Tenu(A) s’interprète A est dans la pince du robot.
Libre(A) lorsqu’il n’y a pas de bloc sur A.
PinceVide : la pince est vide.
Exercice n° 3 : (Corrigé)
1) Définition des opérateurs :
Opérateurs Prendre(x) Poser(x) Empiler(x,y) Dépiler(x,y)
_______________________________________________________________________________________________
R.Ahmed-Ouamer 5 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
3) Plan d’action :
Pour réaliser Sur(B,C) il faut Empiler(B,C) avec Tenu(B), Libre(C) donc
prendre(B) avec PinceVide, Libre(B), donc poser(A) avec Tenu(A) donc
Dépiler(A,B), Dépiler(A,B) avec Libre(A), Sur(A,B), PinceVide. - - Situation initiale.
Poser(A), ---------------------
Prendre (B), Pour réaliser SurTable(A) il faut poser(A) avec Tenu(A) donc Dépiler(A,B)
Empiler(B,C). avec Libre(A), Sur(A,B), PinceVide. - - Situation initiale
Pour obtenir Sur(B,C) il faut Empiler(B,C) avec Tenu(B), Libre(C) donc
prendre (B) avec PinceVide, Libre(B). - - Situation satisfaisante après la
réalisation de SurTable(A)
- Pour avoir de l’argent: prendre de l’argent - Pour être ''quelque part'': aller ''quelque part''
préconditions: être à la banque préconditions: avoir ce ''quelque part'' (le lieu
add list : de l’argent existe)
add list : être ''quelque part''
delete list : être ''où on était''
Note: Pour boire un café, le robot a le choix entre deux solutions: le faire ou aller l’acheter. Pour
les besoins de la démonstration, on suppose qu’il choisit d’abord de le faire.
_______________________________________________________________________________________________
R.Ahmed-Ouamer 6 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
Exercice n° 4 : (Corrigé)
STRIPS (STanford Research Institute Problem Solver) est un générateur de plans pour un robot
agissant dans un monde élémentaire.
Il utilise des opérateurs qui décrivent les actions de base avec leurs préconditions, et deux listes de
modifications apportées par l’opérateur :
delete list (liste des faits qui sont supprimés) ;
add list (liste des faits qui sont introduits dans l’univers par l’application de l’opérateur).
Pour boire un café, le robot a le choix entre deux solutions : le faire ou aller l’acheter. Pour les
besoins de la démonstration, on suppose qu’il choisit d’abord de le faire.
Il devra :
- constater le manque de café en grains (≠ avec l’état du monde fourni) ---> chercher à
l’acheter,
- (éventuellement résoudre le problème d’être chez le marchand de café, pour s’apercevoir
qu’il faut résoudre un autre problème, qui imposera un autre déplacement. Ce problème est
celui de l’ordonnancement du plan),
- constater le manque d’argent ---> chercher à en prendre,
- constater qu’il n’est pas à la banque ---> chercher à y être,
- aller à la banque,
- prendre de l’argent,
- constater qu’il n’est pas (plus) à l’épicerie ---> chercher à y être,
- aller à l’épicerie,
- acheter du café en grains,
- constater le manque de moulin à café ---> chercher à l’acheter,
- constater qu’il n’est pas chez le marchand de moulin à café,
- constater qu’il n’y a pas de tel marchand ---> échec.
Le retour s’effectue au dernier choix effectué (qui est ici le premier), et le robot se décide pour
aller au café.
Exercice n° 5 : (Cours)
Une recherche de solution à un problème peut se faire, entre autres, en chaînage avant ou arrière.
En chaînage avant, on part d’un état (description de faits) et on cherche à le transformer pour
obtenir un état ''terminal'' (situation satisfaisante).
Le chaînage arrière part du but à atteindre et cherche les opérateurs qui permettent d’atteindre ce
but. Les conditions de ces opérateurs deviennent de nouveaux buts à réaliser, et ainsi de suite.
1) Quels sont les facteurs qui déterminent le choix entre ces deux stratégies ?
_______________________________________________________________________________________________
R.Ahmed-Ouamer 8 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
2) On considère la base de connaissances suivante :
R1: SI griffes ET dents-pointues ET yeux-frontaux ALORS carnivore
R2: SI mange-viande ALORS carnivore
R3: SI carnivore ET rapide ALORS Félin
R4: SI félin ET tacheté ALORS guépard
R5: SI guépard ET amérique-du-sud ALORS jaguar
Et les faits initiaux suivants : mange-viande, rapide, tacheté.
Soit à démontrer le but guépard.
a) Donner la trace du raisonnement en chaînage avant.
b) Donner la trace du raisonnement en chaînage arrière.
Exercice n° 5 : (Corrigé)
1) Chaînage avant : Recherche dirigée par les données
Raisonnement déductif, partir des faits initiaux et inférer de nouveaux faits pour atteindre un
but.
Quand utiliser la recherche dirigée par les données ?
- La majorité des données sont fournies dans l’énoncé de l’état initial.
- Souvent il y a beaucoup de faits initiaux.
- Il y a un grand nombre de buts potentiels mais un petit nombre de règles.
- Il est difficile de formuler un but.
- Parfois le but est inconnu.
2)
a) Chaînage avant : raisonnement déductif, partir des faits initiaux et inférer de nouveaux faits pour
atteindre un but.
R1. Si griffes et dents-pointues et yeux-frontaux Alors carnivore
R2. Si mange-viande Alors carnivore
R3. Si carnivore et rapide Alors félin
R4. Si félin et tacheté Alors guépard
R5. Si guépard et Amérique-du-sud Alors jaguar
Faits initiaux : mange-viande, rapide, tacheté
Soit à démontrer le but guépard
_______________________________________________________________________________________________
R.Ahmed-Ouamer 9 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
R1 et dents-
pointues
carnivore ou yeux-
R3
frontaux
félin et R2
mange-viande
R4
et rapide
guépard
tacheté
Exercice n° 6 : (TD)
Nous considérons un monde avec 4 pions (A, B, C, D) non superposables. Ils peuvent être
arrangés dans n’importe quel ordre, sauf A qui ne peut pas être plus à droite que D. Par exemple,
ABCD et CBAD sont deux états possibles du monde, tandis que DCBA et CDAB ne sont pas
possibles.
Le monde peut être manipulé par une action de la forme echange(x, y) qui échange les pions des
positions x et y. Par exemple echange(1, 2) transforme BCAD dans CBAD. Seules les actions
echange(1, 2), echange(2, 3) et echange(2, 4) sont autorisées. Elles donnent un successeur
uniquement si la situation atteinte est possible.
1) Dessinez le graphe d’états.
2) On suppose que l’état de départ est ADBC et l’état que l’on veut atteindre est CBAD.
Donnez une heuristique pour ce problème. Le principe de l’heuristique devrait être
suffisamment général pour pouvoir s’appliquer à des problèmes similaires.
3) Appliquez la recherche avec votre heuristique.
_______________________________________________________________________________________________
R.Ahmed-Ouamer 10 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
Exercice n° 6 : (Corrigé)
1) Graphe d’états.
2) Exemple d’heuristique.
3)
3)Graphe
Graphede
derecherche.
recherche
_______________________________________________________________________________________________
R.Ahmed-Ouamer 11 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
Exercice n° 7 : (TD)
Soit les faits suivants :
- Jean affirme : « Si Bernard est coupable, Sophie l’est aussi ».
- Bernard dit : « Jean est coupable et Sophie ne l’est pas ».
- Sophie assure : « Elle n’est pas coupable mais au moins l’un des deux autres protagonistes
l’est ».
On suppose que chacune des personnes ment si et seulement si elle est coupable.
1) Représenter en calcul propositionnel les trois affirmations.
2) Existe-il une interprétation qui satisfait les trois affirmations ?
Exercice n° 7 : (Corrigé)
Soit les faits suivants :
- Jean affirme : « Si Bernard est coupable, Sophie l’est aussi ».
- Bernard dit : « Jean est coupable et Sophie ne l’est pas ».
- Sophie assure : « Elle n’est pas coupable mais au moins l’un des deux autres protagonistes
l’est ».
On suppose que chacune des personnes ment si et seulement si elle est coupable.
1) Représenter en calcul propositionnel les trois affirmations.
– F1 : (¬j (b s)) ∧ (j (¬(b s)))
– F2 : (¬b (j ∧ ¬s)) ∧ (b (¬(j ∧ ¬s)))
– F3 : (¬s (¬s ∧ (j ∨ b))) ∧ (s (¬(¬s ∧ (j ∨ b))))
2) Existe-il une interprétation qui satisfait les trois affirmations ?
oui {b, ¬j, s} (autre notation (101)) Jean est innocent et Bernard et Sophie sont coupables.
Exercice n° 8 : (Cours)
1) Représenter à l’aide de règles de production les assertions suivantes :
A1: des entreprises publiques sont privatisées
A2: Si des entreprises publiques sont privatisées Alors le trésor est à l’aise
A3: Si le trésor est à l’aise Alors les impôts ne sont pas augmentés
A4: Si il faut donner la priorité à la formation Alors les impôts sont augmentés
A5: Si il faut développer le pays Alors il faut donner la priorité à la formation
2) Propager par inférences les connaissances du système.
Exercice n° 8 : (Corrigé)
1) Représentation à l’aide de règles de production des assertions suivantes :
A1 : Des entreprises publiques sont privatisées
A2 : Si des entreprises publiques sont privatisées Alors le trésor est à l’aise
A3 : Si le trésor est à l’aise Alors les impôts ne sont pas augmentés
A4 : Si il faut donner la priorité à la formation Alors les impôts sont augmentés
A5 : Si il faut développer le pays Alors il faut donner la priorité à la formation
_______________________________________________________________________________________________
R.Ahmed-Ouamer 12 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
On pose :
A : Des entreprises publiques sont privatisées
B : le trésor est à l’aise
C : les impôts sont augmentés
D : il faut développer le pays
F : il faut donner la priorité à la formation
On obtient :
F1 : A
R2 : A B
R3 : B ¬ C
R4 : F C
R5 : D F
2) Inférences :
F6 : B modus ponens (F1, R2)
F7 : ¬ C modus ponens (F6, R3)
F8 : ¬ F modus tollens (F7, R4)
F9 : ¬ D modus tollens (F8, R5)
…
Exercice n° 9 : (Corrigé)
1) On associe à chaque fait une variable propositionnelle :
e : « est écossais »
c : « porte des chaussettes rouges »
k : « porte un kilt »
m : « est marié »
d : « sort le dimanche »
_______________________________________________________________________________________________
R.Ahmed-Ouamer 13 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
On exprime ensuite chaque règle avec une formule logique propositionnelle
(R1) ¬e c
(R2) c k
(R3) m ¬d
(R4) d ⇔ e
(R5) k (e ∧ m)
(R6) e k
e∨c ¬c ∨ k ¬k ∨ ¬d d ∨ ¬e
e∨k ¬e ∨ k ¬k ∨ ¬e ¬k ∨ e
k ¬k
Exercice n° 10 : (TD)
On considère les énoncés suivants :
E1: Malika est la mère de Said.
E2: Malika a 50 ans.
E3: Said a 25 ans.
E4: Said est un être humain.
E5: Malika est un être humain.
E6: Toute mère d’un être humain est un être humain.
E7: Tout être humain a un âge.
1) Traduire ces énoncés en formules de la logique des prédicats.
2) Par la méthode de résolution, répondre à la question : ''Quel est l’âge de la mère de Said ? ''
Exercice n° 10 : (Corrigé)
1) Enoncés en formules de la logique des prédicats :
On pose :
Mere(x, y) : x est la mère de y
Age(x, y) : l’âge de x est y ans
Humain(x) : x est un humain
_______________________________________________________________________________________________
R.Ahmed-Ouamer 14 Fondements de l’Intelligence Artificielle
Département d’Informatique de Tizi-Ouzou Année Universitaire 2019 / 2020
_______________________________________________________________________________________________
On obtient :
E1: Mere(Malika, Said).
E2: Age(Malika, 50).
E3: Age(Said, 25).
E4: Humain(Said).
E5: Humain(Malika).
E6: ∀x∀y (Mere(x, y) ∧ Humain(y) Humain(x))
E7: ∀x ∃y (Humain(x) Age(x, y))
2) Par la méthode de résolution, répondre à la question : ''Quel est l’âge de la mère de Said ? ''
Transformation des formules en clauses :
E1: Mere(Malika, Said).
E2: Age(Malika, 50).
E3: Age(Said, 25).
E4: Humain(Said).
E5: Humain(Malika).
E6: ¬ Mere(x, y) ∨¬ Humain(y) ∨ Humain(x))
E7: ¬ Humain(x) ∨ Age(x, f(x)) ¢ ici f(x) est une fonction qui prend la valeur de l’âge de x.
Résolution Prolog :
E9 : :- Mere(Malika, Said) (E2, E8) {x ← Malika, y ← 50}
E10 : (E1, E9)
_______________________________________________________________________________________________
R.Ahmed-Ouamer 15 Fondements de l’Intelligence Artificielle