Académique Documents
Professionnel Documents
Culture Documents
Intelligence Artificielle
Module Intelligence Artificielle et Vision Artificielle
Redouane Ezzahir
r.ezzahir@uiz.ac.ma
2014/2015
mis-à-jours 2020
Table de matière
Logique de propositions et de prédicats 3
Exercice 1 3
Exercice 2 3
Exercice 3 4
Exercice 4 4
Exercice 5 4
Exercice 6 4
Système expert 5
Exercice 1 5
Exercice 2: 5
Exercice 3 (Un système expert bancaire ) 6
Exercice 4 7
Exercice 5 8
Algorithmes de recherche 9
Exercice 1 9
Exercice 2 9
Problème de satisfaction de contraintes 10
Exercice 1 10
Exercice 2 10
Exercice 3 11
Exercice 4 13
Exercice 5 (L’emploi du temps ) 13
Machine Learning 15
Exercice 1 15
Exercice 2 (Algorithme K-plus proche voisines) 15
Exercice 3 16
Exercice 4 (Réseaux de neurones artificiels ) 16
Logique des prédicats (Corrigés) 18
Solution Exercice 1 18
Solution Exercice 2 18
Solution Exercice 2 19
Solution Exercice 3 19
Systèmes Expert (Correction d’exercice) 20
Solution Exercice 1 20
Solution Exercice 2 21
Solution Exercice 2 22
Solution Exercice 4 23
Solution Exercice 5 23
Algorithme de recherches (Correction d’exercices) 25
Corrigé de l’exercice. 1. 25
Corrigé de l’exercice. 2. 26
Problèmes de satisfaction de contraintes (Correction d’exercice) 27
Corrigé de l’exercice. 1. 27
Corrigé de l’exercice. 2. 27
Corrigé de l’exercice. 3. 28
Corrigé de l’exercice. 4. 29
Corrigé de l’exercice. 5. 29
Machine Learning (Correction d’exercices) 31
Corrigé de l’exercice. 1. 31
Corrigé de l’exercice. 2. 32
Corrigé de l’exercice. 3. 32
Corrigé de l’exercice. 4. 32
Corrigé de l’exercice. 5. 34
Logique de propositions et de prédicats
Exercice 1
1. Lequel des éléments suivants signifie la même chose que "p est nécessaire pour q"?
p q p q q p
2. Lesquelles des conditions suivantes sont nécessaire pour « le nombre naturel n est un
multiple de 10 »?
3. Lesquelles des conditions suivantes sont suffisantes pour « le nombre naturel n est un
multiple de 10 »?
4. Lesquelles des conditions suivantes sont nécessaires et suffisantes pour « le nombre naturel
n est un multiple de 10»?
Exercice 2
Représenter les connaissances suivantes en logique des prédicats ...
2a. Vous pouvez déduire vos frais médicaux si votre revenu annuel est inférieur à 18 000€
et que v
2b. Vous ne pouvez pas déduire vos frais médicaux si vous n’avez pas plus de 70 ans ou
que votre
3c. Si Jean n’est pas fort en logique, alors il ne réussit pas son examen.
4a. Si Jean n’est pas fort en logique, Marie n’est pas forte non plus en logique et ils ne
réussiront pas
4b. Jean et Marie réussiront leur examen s’ils sont forts en logique.
Exercice 3
Représenter les connaissances suivantes avec les connecteurs logiques :
1. p sinon q
2. p à moins que q
3. p autrement q
4. Il suffit que p pour q
5. Il est nécessaire que p pour q 6. p seulement si q
7. p si q
Exercice 4
Représentez à l’aide de la logique des prédicats les informations suivantes :
1. Chaque chien a mordu au moins un facteur. 2. Tous les étudiants sont venus au cours
d’IA. 3. Tous les étudiants ont testé toutes les boîtes.
Exercice 5
Représentez les connaissances suivantes par des réseaux sémantiques :
3a. Mehdi a prêté le livre « La Proie » écrit par M. Crichton à Marie. 3b. Mehdi, Marie et M.
Crichton sont des personnes.
Exercice 6
Soient P et Q les affirmations suivantes :
Système expert
Exercice 1
Exercice 2:
ax2 +bx+c
Mais l’écriture usuelle de ces polynômes est parfois très éloignée de cette
où a,b,c ∈ Z description.
et non
x2 − x
1x2 +−1x+0
Nous appliquons donc des règles identiques (ou plutôt ayant des effets identiques)
de manière plus ou moins consciente (plutôt moins que plus : qui a jamais réfléchi à
ce problème?).
Formalisons ce problème afin qu’il puisse être traité par un générateur de système
expert simple (faits booléens, réels ou symboliques, pas de métarègles, etc).
Les données en entrée sont des variables à valeurs dans Z : a, b et c. Les sorties
sont des variables :
(sg2,coef2,var2,expo2,sg1,coef1,var1,sg0,coef0)
La valeur ’vide’ d’une variable de sortie signifie que celle-ci ne doit pas être écrite.
Une fois obtenues les valeurs des variables de sortie, il est très facile (à la notation
en exposant près) d’écrire un algorithme ou un programme (en Pascal par exemple)
qui affiche correctement le polynôme. La partie difficile, qui nécessite un expert
humain, est donc celle qui consiste à passer des valeurs de a,b et c aux valeurs de
sg2, coef2, etc. C’est évidemment la seule qui nous intéresse dans ce projet.
Question 1
Ecrire ce système expert. Les règles doivent être de la forme :
Si a = 0 Alors (sg2=vide et coef2=vide et var2=vide et expo2=vide) Tous les cas de
figure doivent être pris en compte.
Question 2
Peut-on écrire un programme qui produise une base de règles comme la
Les règles sont les suivantes (la colonne 3 sera utile plus tard) :
Question 1
Soit un moteur d’inférence fonctionnant en chaînage arrière et profondeur d’abord.
Donner son graphe ET/OU complet pour la base de faits initiale {BA, RA, MB, AP, IN} avec
OK pour but à établir.
CA ∗ Mini=n(CFi) i=1
• Si un fait a déjà une certitude CF1 et qu’il est inféré à nouveau avec la certitude
CF2, on lui attribue la certitude : CF1 + CF2 − CF1 ∗ CF2
• Quel est la certitude d’attribuer un prêt au client décrit par la base de faits initiale
suivante? Pour que cette certitude vale environ 0.9, il suffirait
de faire passer à 1 un seul coefficient de certitude de cette base... lequel?
<BA, RA, MB , AP, IN> = <0.9, 0.4, 0.9, 0.2, 0.8>
Exercice 4
− R2:D→A
− R3:E→F
− R4:G→H
− R5:I→F
− R6:H et F et J→B
− R7:H et K→J
− R8: G et F→K
1. On veut prouver le fait C en chaînage avant ; quelle est la suite des faits prouvés en
admettant que l’on parcourt la base de règles dans l’ordre dans laquelle elle est écrite et
qu’un fait établi peut être utilisé immédiatement
2. On veut prouver le fait C par chaînage arrière; quelle est la suite de règles essayées
pour prouver le fait C ? On indiquera si chaque règle essayée a été un succès ou un
échec.
Exercice 5
On a de plus la fonction heuristique h qui estime le coût pour atteindre H depuis chaque
sommet. h est donnée par le tableau ci dessous.
2. Donnez le plus court chemin de A à H ainsi que sa valeur que vous avez trouvés dans la
question précédente.
Exercice 2
Soit l’espace d’états, les transitions, les fonctions heuristiques h1 et h2, et le but G suivants.
(a) Faites la trace de l’algorithme A* en utilisant l’état initial s0, l’heuristique h1 et le but G.
(b) L’heuristique h1 est-elle admissible ? Justifiez.
(c) Toujours en supposant le but G, l’heuristique h2 est-elle admissible ? Justifiez
Problème de satisfaction de contraintes
Exercice 1
8. Le jardin (J) intérieur ne peut se faire qu'après le toit et la plomberie et dure 1 jour
a) Donnez une modélisation de ce problème sous forme de CSP. Donnez le graphe des
contraintes.
10. L'aménagement intérieur ne peut débuter qu'entre les jours 12 et 23 → A = [12, 23]
Exercice 2
Ces contraintes supplémentaires permettent-elles de réaliser la maison ? Si oui, donnez
les périodes effectives dans lesquelles vont s'effectuer ces différentes tâches ?
• Quelle est le nombre minimal de couleur tel que deux nœuds adjacents
reçoivent des couleurs différentes?
Exercice 3
Vous avez décidé de modéliser ce problème à l’aide d’un CSP. Ce CSP a six variables
{F,E,D,A,S,J} ayant pour domaine les valeurs {a,b,c,··· ,z}.
(a) Avant même de lancer un algorithme de recherche (ex. : backtracking search), quelles
contraintes (C1 à C4) permettent de réduire le domaine de chaque variable ? Expliquez
intuitivement votre démarche.
(b) Un algorithme de résolution de CSP a été présenté en classe. Ce dernier est basé sur
une recherche de type backtracking search. L’algorithme consiste à assigner une variable
à la fois, et ce, jusqu’à ce que toutes les variables soient assigneés. Le choix de la
prochaine variable à assigner peut avoir un impact considérable sur les performances de
l’algorithme.
Nommez une heuristique vue en classe et présenteé dans le livre que vous pourriez
utiliser pour choisir la première variable (ministère) à assigner. Si vous ne vous rappelez
pas du nom exact, expliquez-la intuitivement. Enfin, dites quelle est la première variable à
assigner selon cette heuristique. [1 point]
(d) À titre de rappel, voici l’algorithme AC-3 (arc-consistency 3) présenté en classe et dans
le livre.
Exercice 4
1. Soit π = (X,D,C,R) le CSP tel que :
– X={X1;X2;X3}
– D = {D1;D2;D3} avec D1 = D2 = D3 = {a;b;c;d}
– C = {C1 = (X1,X2);C2 = (X1,X3);C3 = (X2,X3)}
– R = {R1 = {(a,b);(a,c);(a,d);(b,a);(b,b);(d,d)};
R2 = {(b,c);(b,d);(c,a);(c,d);(d,b)};
R3 = {(a, b); (a, c); (b, d); (c, b); (c, c); (d, a); (d, c)}}
Parmi les affirmations suivantes la/les quelle(s) est/sont exacte(s) : (a) La valeur a
n’est pas arc-consistante pour la variable X1
(b) La valeur b n’est pas arc-consistante pour la variable X1
(c) La valeur c n’est pas arc-consistante pour la variable X1
(d) La valeur d n’est pas arc-consistante pour la variable X1
2. Le calcul de la consistance d’arc sur un CSP : (a) garantit de trouver une solution,
(b) garantit de trouver la meilleure solution (c) permet de restreindre l’espace de
recherche (d) est une autre façon de résoudre le CSP
3. La complexité en espace de l’algorithme de recherche en profondeur d’abord pour
un facteur de branchement b et une profondeur maximale finie m est en :
(a) O(bm) (b) O(b+m) (c) O(pm) (d) O(b∗m)
• nous ne considérerons que trois enseignants, par exemple (et par hasard) AR, BM
et ES,
1. Parmi les problèmes suivants, lesquels se prêtent bien à être traités par le machine
learning ?
a) Déterminer l’horaire optimal pour poster un contenu sur une page web.
d) Évaluer le prix qu’un tableau de maître pourra atteindre lors d’une vente aux enchères.
3. Jamal dispose de 10000 articles de journaux qu’il souhaite classer par leur thématique.
Doit-il utiliser un algorithme supervisé ou non supervisé ?
4. Sara veut examiner ses spams pour déterminer s’il existe des sous-types de spams.
Quel type d’algorithme d’apprentissage doit-elle utiliser ?
5. Tom Mitchell définit le machine learning comme suit : « Un programme informatique est
dit apprendre de l’expérience E pour la tâche T et une mesure de performance P si sa
performance sur T, comme mesurée par P, s’améliore avec l’expérience E ». Fred écrit un
programme qui utilise des données bancaires dans le but de détecter la fraude bancaire.
Que sont E, T, et P ?
Exercice 3
1. Décrivez comment un nouvel exemple est classifié dans un arbre de décision entraîné.
calculer les gains d’entropie à la racine qu’il attribut utiliserez vous pour séparer les
exemples. Donner une première figure.
(c) Un réseau de neurones artificiels pourrait-il être utile pour résoudre le TP2
(Connect5) ? Pourquoi ?
Logique des prédicats (Corrigés)
Solution Exercice 1
Solution Exercice 2
2b. inf erieur(age, 70) ∨ inf erieur(revenu, 18000) → ¬ef f ectuer(deduction, f raisMedicaux)
Solution Exercice 3
1 : ∀x, ∃y, est(x, chien) ∧ est(y, f acteur) → aMordu(x, y)
2 : ∀x, est(x, etudiant) → aAssisté(x, coursI A)
3 : ∀x, ∀y, est(x, etudiant) ∧ est(y, boite) → aT esté(x, y)
Systèmes Expert (Correction d’exercice)
Solution Exercice 1
(melanie)∀x, est(x, ligneT ram) → etat(x, f onctionne) Que l’on peut traduire en :
(melanie)∀x, ¬est(x, ligneT ram) ∨ etat(x, f onctionne) En ajoutant une double négation :
3. Carole croit que tous les voyageurs savent que la ligne de tram T1 est en travaux
EX-2.2
EX-2.3
EX-2.4
Solution Exercice 2
Question 1
1. Si a=0 Alors (sg2 =Vide,coef2 =Vide,var2 =Vide,expo2 =Vide)
2. Si a=1 Alors (sg2 =Vide,coef2 =Vide,var2 =x,expo2 =2)
3. Si a>1 Alors (sg2 =Vide,coef2 =a,var2 =x,expo2 =2)
4. Si a=−1Alors (sg2 =−,coef2 =Vide,var2 =x,expo2 =2)
5. Si a< −1 Alors (sg2 =−,coef2 =|a|,var2 =x,expo2 =2)
6. Si b=0 Alors (sg1 =Vide,coef1 =Vide,var1 =Vide)
7. Si (b=1eta=0) Alors(sg1 =Vide,coef1 =Vide,var1 =x) 8. Si(b=1eta̸ =0)Alors(sg1 =+,coef1 =Vide,var1 =x)
9. Si (b>1eta=0) Alors (sg1 =Vide,coef1 =b,var1 =x) 10. Si(b>1eta̸ =0)Alors(sg1 =+,coef1 =b,var1 =x)
11. Si b=−1Alors(sg1 =−,coef1 =Vide,var1 =x)
12. Si b<−1 Alors (sg1 =−,coef1 =|b|,var1 =x)
13. Si (c=0 et |a|+|b|=0) Alors(sg0 =Vide,coef0 =0)
14. Si (c=0 et |a|+|b|≠ 0)Alors(sg0 =Vide,coef0 =Vide) 15. Si(c>0et|a|+|b|=0)Alors(sg0 =Vide,coef0 =c)
16. Si (c>0 et |a|+|b|≠ 0)Alors(sg0 =+,coef0 =c)
17. Si c<0 Alors (sg0 =−,coef0 =|c|)
Question 2 Oui, par exemple en écrivant d’abord le terme de degré 0, puis celui de degré 1, ainsi de suite
jusqu’à n. Chacun d’entre eux ne dépend que d’informations disponibles.
Solution Exercice 4
Le nœud du haut est étiqueté OK. Valeur : 0.288 + 0.32 − 0.288 × 0.32 = 0.516
Il a deux fils OU : étiquetés par OK de valeurs
min(0.9,0.32) × 0.9 = 0.288 et min(0.76,0.64,0.32) × 1 = 0.32
Celui de gauche a deux fils ET: BA et RE, de valeurs 0.9 et 0.4×0.8 =
0.32 (cette dernière valeur venant du fils de RE, qui est RA, de valeur 0.4. Celui de droite a trois fils ET :
Solution Exercice 5
Corrigé de l’exercice. 1.
• A chaque étape on choisit dans Ouverts un sommet s tel que f(s) = g(s) + h(s) soit minimal.
Pour tous les voisins v de s, si v n’appartient ni à Ouverts ni à Fermés, on ajoute v à
Ouverts. Sinon on remet v dans Ouverts avec une nouvelle valeur de g(v) seulement si g(s)
+cout(s− > v) est inférieur à la valeur de g(v) mémorisée.
(b) Oui, l’heuristique h1 est admissible. Elle ne surestime jamais le coût restants.
(c) Non, l’heuristique h2 n’est admissible, puisque la fonction heuristique h2 surestime le coût
restant dans les états {s2,s4}.
Problèmes de satisfaction de contraintes (Correction d’exercice)
Corrigé de l’exercice. 1.
1. Le Modele CSP:
• Dom(x)=[0, +∞[ ∀ x ∈ X
M = [0, 4], C = [7, 11], T = [12, 14], P = [12, 13], S = [11, 15], F = [13, 19], FA = [20, 21], J =
[20, 22], PE = [14, 18], A = [22, 23]
soit 23 jours pour faire la maison au plus tôt
Corrigé de l’exercice. 2.
Modèle complet :
Variables : A, B, C, D, E, F
Contraintes :
Corrigé de l’exercice. 3.
(a) La contrainte C1 peut être utiliseé pour filtrer le domaine des variables en gardant
uniquement les députés compétents pour chaque ministère.
La contrainte C4 peut aussi être utiliseé pour filtrer le domaine des variables en éliminant
les députés ayant des antécé- dents criminels
(b) L’heuristique Minimum Remaining Values (MRV) consiste à choisir la variable ayant le
moins de valeurs possibles. Dans le cas présent, MRV choisi la variable J.
Attention : MRV ne choisit pas la variable la plus contrainte. La variable la plus contrainte
est la variable ayant le plus grand nombre de contraintes binaires avec d’autres variables.
Cette deuxième heuristique peut être utiliseé dans le cas où plusieurs minimisent MRV.
(d)
Corrigé de l’exercice. 4.
1. (a) et (c)
2. (c)
3. (d)
Corrigé de l’exercice. 5.
On choisit de représenter chaque enseignant et chaque promotion par une variable, les
valeurs possibles
étant les cours donné par l’enseignant ou reçu par la promotion. Une solution de ce CSP
sera donc une valeur de cours pour chaque enseignant et chaque promotion.
1. On construit le CSP π = (X,D,C,R) avec :
– X={H;S;W;AR;BM;ES}
– D = {DH;DS;DW;DAR;DBM;DES} avec DH = {M;Algo;C} DS = {Infog;Java;Log;IA}
DW = {CAO;KR} DAR = {M;Infog;CAO} DBM = {Algo;C;Java} DES = {Log;IA;KR}
C6 = (W;AR);C7 = (W;ES)}
– R = {R1;R2;R3;R4;R5;R6;R7} avec
– R1 ={(M,M);(Algo,Infog);(Algo,CAO);(C,Infog);(C,CAO)}
– R2 ={(M,Java);(Algo,Algo);(C,C)}
– R3 ={(Infog,Infog);(Java,M);(Java,CAO);(Log,M);(Log,CAO);(IA,M);(IA,CAO)}
– R4 ={(Infog,Algo);(Infog,C);(Java,Java);(Log,Algo);(Log,C);(IA,Algo);(IA,C)}
– R5 ={(Infog,KR);(Java,KR);(Log,Log);(IA,IA)}
– R6 ={(CAO,CAO);(KR,M);(KR,Infog)}
– R7 ={(CAO,Log);(CAO,IA);(KR,KR)}
2. Résolution
Corrigé de l’exercice. 1.
5. Comment peut-on choisir la valeur du paramètre k dans une méthode de classification par les k-
plus-proches-voisins ? Soyez précis.
d(X6, X1) = sqrt( (3-3)^2 + (12-5)^2 + (4-4)^2 + (7-6)^2 + (8-1)^2) =9.95 d(X6, X2) = 11.18
d(X6, X3) = 11.62
d(X6, X4) = 11.92
Corrigé de l’exercice. 3.
On considère un ensemble de points 1D D = {−5, −3.5, −2.75, −0.5, 0, 0.2, 0.5, 2, 3, 5, 7}.
On veut réaliser le clustering de ces points en utilisant l’algorithme des K-means à partir
des initialisations suivantes μ1 = −1, μ2 = −0.25, μ3 = 1. Illustrer sur un graphique les
étapes de l’algorithme.
Corrigé de l’exercice. 4.
1) voir les notes de cours.
2)
Le plus gros gain provient de l’attribut Age et on choisit celui-ci pour séparer les exemples
3) Les nœuds Age < 18 et Age > 35 sont purs et nous n’avons pas besoin de les subdiviser. Par
ailleurs, pour le nœud Age = 18 − 15, nous testons le gain d’entropie pour les attributs restants : On
choisit donc l’attribut Revenu pour subdiviser les exemples :
Encore une fois, les nœuds Revenu = Faible et Revenu = Elevé sont purs, il ne reste que le nœud
Revenu = Moyen à subdiviser :
L’attribut Sexe donne le meilleur gain d’entropie et on choisit celui-ci pour séparer les exemples.
Enfin, comme les deux sous-nœud résultant ont une entropie de 0, on arrête la construction et on
obtient l’arbre suivant :
Corrigé de l’exercice. 5.
(a ) Ici, on suppose que sign(0) = 0. Les supposions comme sign(0) = +1 ou sign(0) = −1 sont
également accepteés.
Itération #1 / Échantillon #1 (1, 2, 5) → +1 :
— Sortie : sign(0·1+0·0+0·4+0·1) = 0
— Erreur : (+1)−(0) = +1
— Correction : ∆w = 0.3 · +1 · (1,2,5,1) =
(0.3, 0.6, 1.5, 0.3)
— Poids : (0.3,0.6,1.5,0.3)
Itération #1 / Échantillon #2 (1, 4, 4) → +1 :
— Sortie : sign(0.3·1+0.6·4+1.5·4+0.3·1) = 1 — Erreur : (+1)−(+1) = 0
— Correction : ∆w = 0.3·0·(1,4,4,1) = (0,0,0,0) — Poids : (0.3,0.6,1.5,0.3)
Itération #1 / Échantillon #3 (1, 2, 2) → −1 :
— Sortie:sign(0.3·1+0.6·1.5+0.3·2+0.3·1)=1
— Erreur:(−1)−(+1)=−2
— Correction : ∆w = 0.3 · −2 · (1,2,2,1) =
(−0.6, −1.2, −1.2, −0.6)
— Poids : (−0.3,−0.6,0.3,−0.3)
Itération #1 / Échantillon #4 (1, 8, 1) → −1 :
— Sortie : sign(−0.3·1+−0.6·8+0.3·1+−0.3·
1)=−1
— Erreur : (−1)−(−1) = 0
— Correction : ∆w = 0.2·0·(1,0,2,1) = (0,0,0,0)
— Poids : (−0.3,−0.6,0.3,−0.3)