1 - Exercices Corriges Intell Artif 4info [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Exercices Corrigés Intelligence Artificielle Module Intelligence Artificielle et Vision Artificielle

4ème Année Génie informatique Redouane Ezzahir

[email protected]

2014/2015

mis-à-jours 2020

Table de matière Logique de propositions et de prédicats

3

Exercice 1 Exercice 2 Exercice 3 Exercice 4 Exercice 5 Exercice 6

3 3 4 4 4 4

Système expert

5

Exercice 1 Exercice 2: Exercice 3 (Un système expert bancaire ) Exercice 4 Exercice 5

5 5 6 7 8

Algorithmes de recherche

9

Exercice 1 Exercice 2

9 9

Problème de satisfaction de contraintes

10

Exercice 1 Exercice 2 Exercice 3 Exercice 4 Exercice 5 (L’emploi du temps )

10 10 11 13 13

Machine Learning

15

Exercice 1 Exercice 2 (Algorithme K-plus proche voisines) Exercice 3 Exercice 4 (Réseaux de neurones artificiels )

15 15 16 16

Logique des prédicats (Corrigés)

18

Solution Exercice 1 Solution Exercice 2 Solution Exercice 2 Solution Exercice 3

18 18 19 19

Systèmes Expert (Correction d’exercice)

20

Solution Exercice 1 Solution Exercice 2 Solution Exercice 2 Solution Exercice 4 Solution Exercice 5

20 21 22 23 23

Algorithme de recherches (Correction d’exercices)

25

Corrigé de l’exercice. 1. Corrigé de l’exercice. 2. Problèmes de satisfaction de contraintes (Correction d’exercice) Corrigé de l’exercice. 1. Corrigé de l’exercice. 2. Corrigé de l’exercice. 3. Corrigé de l’exercice. 4. Corrigé de l’exercice. 5.

25 26 27 27 27 28 29 29

Machine Learning (Correction d’exercices)

31

Corrigé de l’exercice. 1. Corrigé de l’exercice. 2. Corrigé de l’exercice. 3. Corrigé de l’exercice. 4. Corrigé de l’exercice. 5.

31 32 32 32 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"?

2.

Lesquelles des conditions suivantes sont nécessaire pour «  le nombre naturel n est un multiple de 10 »?

p

q



p

n est un multiple de 5 n2 est un multiple de 100

3.



q

n est pair et un multiple de 5 n est un multiple de 20

p





n = 100

Lesquelles des conditions suivantes sont suffisantes pour «  le nombre naturel n est un multiple de 10 »?

n est un multiple de 5 n2 est un multiple de 100

4.

q

n est pair et un multiple de 5 n est un multiple de 20





n = 100

Lesquelles des conditions suivantes sont nécessaires et suffisantes pour « le nombre naturel n est un multiple de 10»?

n est un multiple de 5 n est pair et un multiple de 5

n2 est un multiple de 100

n est un multiple de 20

n = 100

5. Identifier l'antécédent aux conditionnels suivants:

a. Si l'alarme sonne, tout le monde quitte.

Tout le monde quitte

b. Tout le monde quitte si l'alarme sonne.

Tout le monde quitte

L'alarme sonne

L'alarme sonne

c. Ali ne fait de la natation que si le soleil brille.

Le soleil brille

Ali fait de la natation

d. Omar part chaque fois que Amal arrive.

Amal arrive



Omar part



Exercice 2 Représenter les connaissances suivantes en logique des prédicats ...


1a. Finn est chez-lui ou chez Rey.
 1b. Si Finn n’est pas chez-lui, il est chez Rey.

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

3a. Jean réussira son examen ou il n’est pas fort en logique.
 3b. Si Jean ne réussit pas son examen alors il n’est pas fort en logique.

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.

5a. Chargeur branché, électricité consommée. Electricité consommée, chaleur dissipée. Chaleur dissipée

5b. Chargeur branché, tempête en Bretagne.



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 :

1a. Le pull d’Alyssa est bleu.
 1b. Le pull de Bernadette est gris.
 1c. Alyssa et Bernadette sont des personnes. Bleu et Gris sont des couleurs.

2a. Shazia est plus petite qu’Arnaud.
 2b. Shazia qui fait 1.68 cm est plus petite qu’Arnaud qui mesure 1.85 cm.

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 :

P = Ahmed est fort en Maths;

Q = Ahmed est fort en Chimie

Représenter sous formes symboliques les affirmations suivantes

(utiliser les connecteurs Λ V →

) :

1. Ahmed est fort en Maths mais faible en Chimie

2. Ahmed n'est ni fort en Maths ni en Chimie

3. Ahmed est fort en Maths s'il est fort en Chimie

Système expert Exercice 1

Exercice 2: Un polynôme de degré inférieur ou égal à 2, à coefficients entiers relatifs se décrit en mathématiques de la manière suivante :

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.

Par exemple, si a = 1, b = −1 et c = 0, on écrira:

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?).

Il y a donc là un savoir-faire attesté et non analysé, bref matière à un système expert.

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)

prenant comme valeurs :
 – ’+’, ’-’ ou ’vide’ pour sg2, sg1 et sg0
 – ’x’ ou ’vide’ pour var2 et var1
 – ’2’ ou ’vide’ pour expo2
 – un entier > 0 ou ’vide’ pour coef2, coef1 et coef0.

La valeur ’vide’ d’une variable de sortie signifie que celle-ci ne doit pas être écrite.

Dans l’exemple précédent (a = 1, b = −1 et c = 0): sg2 = vide, coef2 = vide, var2 = x, expo2 = 2,
 sg1 = -, coef1 = vide, var1 = x,
 sg0 = vide et coef0 = vide.

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

précédente avec pour seul paramètre n, le degré du polynôme?

Exercice 3 (Un système expert bancaire ) Une banque utilise un système expert pour accorder un prêt. Les variables suivantes sont employés pour décrire les propositions associées :

– OK : le prêt est accordé
 – CO : le conjoint se porte garant
 – PA : le candidat au prêt peut payer ses traites
 – RE : le dossier du candidat est bon


– AP : les revenus du conjoint sont élevés
 – RA : le taux d’intérêt est faible
 – IN : les revenus du candidat sont supérieurs à ses dépenses
 – BA : le candidat n’a jamais de découvert sur son compte courant

– MB : le conjoint doit hériter

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.

Question 2 On associe à chaque règle le "coefficient de certitude" CA de la colonne 3. Il est compris entre 0 et 1. Par exemple, la règle 5 s’interprète maintenant comme suit :

"Si BA et RE sont certains, Alors OK a une certitude de 0.9".

Chaque fait initial possède lui-même un coefficient de certitude CF entre 0 et 1 : un client qui fait la demande d’un prêt est donc décrit par un vecteur de 5 valeurs entre 0 et 1.

La propagation de la certitude dans le moteur d’inférence se fait ainsi :

• Lorsqu’une règle de certitude CA est déclenchée par des prémisses de certitudes (CF1,...,CFn), sa conclusion prend la certitude





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? 
 =

Exercice 4 Méthodes d'inférences (Propositionnel) Un expert a construit la base de règles suivantes : − R1: A et B→C

− 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

La base initiale de faits est : (D, G, I)

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 Tracer l'exécution du chainage avant sur l'exemple suivant :

F1: père(Jamal, Ahmed),
 F2: frére(Ahmed, Fouad),
 F3: frère(Jamal, Ali)
 une base de connaissances qui consiste en deux règles:

R1: père(?x,?y) ∧ frère(?y,?z) ⇒ père(?x,?z) R2: père(?x,?y) ∧ frère(?x,?z) ⇒ oncle(?z,?y) et le but de l’inférence:
 oncle(?x, Fouad)

Algorithmes de recherche Exercice 1 Soit le graphe suivant, la valeur portée sur chaque arc correspond au coût de passage d’une extrémité de l’arc à l’autre. On souhaite calculer le plus court chemin de A à H.

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.

1.

Appliquez l’algorithme A* avec la fonction h sur ce graphe.

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 Une entreprise propose de construire une maison en présentant les contraintes suivantes :

1.

La maçonnerie (M) dure 7 jours

2.

La charpente (C) ne peut se faire qu'après la maçonnerie et dure 3 jours

3.

Le toit (T)ne peut faire qu'après la charpente et dure 1 jour

4.

La plomberie (P) ne peut se faire qu'après la maçonnerie et dure 8 jours

5.

Le sol (S) ne peut se faire qu'après la maçonnerie et dure 3 jours

6.

Le fenêtrage (F) ne peut se faire qu'après le toit et dure 1 jour

7.

La façade (FA) ne peut se faire qu'après le toit et qu'après la plomberie et dure 2 jours

8.

Le jardin (J) intérieur ne peut se faire qu'après le toit et la plomberie et dure 1 jour

9.

La peinture (PE) ne peut se faire qu'après le sol et dure 2 jours

10. L'aménagement (A) intérieur ne peut se faire qu'après le fenêtrage, qu'après la façade, qu'après le jardin et qu'après la peinture et dure 1 jour 
 a) Donnez une modélisation de ce problème sous forme de CSP. Donnez le graphe des contraintes.

b) Quel est le temps minimum pour réaliser cette maison ?

c) On associe à présent des contraintes de temps aux différentes tâches. Ainsi :

1.

La maçonnerie ne peut débuter qu'entre les jours 0 et 14 → M = [0, 14]

2.

La charpente ne peut débuter qu'entre les jours 7 et 11 → C = [7, 11]

3.

Le toit ne peut débuter qu'entre les jours 12 et 14 → T = [12, 14]

4.

La plomberie ne peut débuter qu'entre les jours 12 et 19 → P = [12, 19]

5.

Le sol ne peut débuter qu'entre les jours 11 et 17 → S = [11, 17]

6.

Le fenêtrage ne peut débuter qu'entre les jours 11 et 19 → F = [11, 19]

7.

La façade ne peut débuter qu'entre les jours 17 et 22 → FA = [17, 22]

8.

Le jardin intérieur ne peut débuter qu'entre les jours 17 et 23 → J = [17, 23]

9.

La peinture ne peut débuter qu'entre les jours 8 et 18 → PE = [8, 18]

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 ?

Coloriage des nœuds d’un graphe • Quelle est le nombre minimal de couleur tel que deux nœuds adjacents reçoivent des couleurs différentes?

Exercice 3 Lors des récentes élections générales en Orange-land, le Parti d’intelligence artificielle (PIA) a fait élire 26 députés, nommés a, b, c, · · · , z, et a obtenu la majorité au parlement. Le chef du PIA vous mandate pour former son conseil des ministres. Il y a six (6) postes de ministre à combler : Finances, Éducation, Développement durable, Agriculture, Sciences et technologies, et Justice. Les quatre (4) contraintes suivantes doivent être rigoureusement respectées :

C1 : un député doit être compétent dans son ministère ;
 C2 : un député ne peut obtenir plus d’un ministère ;
 C3 : le conseil des ministres doit être paritaire (3 hommes et 3 femmes) ; C4 : un ministre ne doit avoir d’antécédents criminels.

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.

Pour les sous-questions suivantes supposez les domaines de valeurs suivants :



(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]

(c)La contrainte C2 se traduit par un ensemble de 15 contraintes binaires C2={F ̸=E,F ̸=D,F ̸=A,···S̸ =J}? Supposons que nous venons d’assigner F = a. Suite à cette assignation, indiquez les nouveaux domaines des variables {E,D,A,S,J} en appliquant le forwardchecking. Tenez uniquement compte des contraintes binaires C2.



(d) À titre de rappel, voici l’algorithme AC-3 (arc-consistency 3) présenté en classe et dans le livre.

function AC-3(csp) returns the CSP, possibly with reduced domains inputs: csp, abinaryCSP withvariables{X1, X2, ..., Xn} local variables: queue, a queue of arcs, initially all the arcs in csp while queue is not empty do (Xi, Xj)←Remove-First(queue) ifRemove-Inconsistent-Values(Xi, Xj)then for eachXk inNeighbors[Xi]do add(Xk, Xi)toqueue functionRemove-Inconsistent-Values(Xi, Xj)returnstrueif succeeds removed← false for eachxinDomain[Xi]do if no value y in Domain[X j ] allows (x,y) to satisfy the constraint X i ↔ X j then deletexfromDomain[Xi]; removed← true return removed

Et revoici les domaines actuels des variables :

Donnez le résultat final (nouveaux domaines des variables) de l’algorithme AC-3 en considérant uniquement les contraintes binaires C2. Les étapes intermédiaires ne sont pas demandeés. Notez qu’aucune assignation n’a encore été faite.

(e) Expliquez intuitivement comment adapter l’algorithme backtracking search pour considérer la contrainte C3.

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.

3.

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 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)

Exercice 5 (L’emploi du temps ) Construire un emploi du temps consiste à affecter aux étudiants et aux professeurs des cours. Nous considérerons le cas (simplifié) d’une école où :



les étudiants sont répartis en trois promotions répondant aux noms de Humpich, Stallman et Wachowski,



nous ne considérerons que trois enseignants, par exemple (et par hasard) AR, BM et ES,



AR enseigne les mathématiques (M) aux Humpich, l’infographie (Infog) aux Stallman, ainsi que la CAO aux Wachowski,



BM, pour sa part, enseigne l’algorithmique (Algo) et le langage C (C) aux Humpich, et le langage Java (Java) aux Stallman ;



enfin, ES enseigne la logique formelle (Log) et l’intelligence artificielle (IA) aux Stallman, et la représentation des connaissances (KR) aux Wachowski. L’établissement disposant de suffisamment de salles pour tout ce petit monde, nous ne gérerons pas le problème de l’affectation des salles. De plus, on remarquera que la construction d’un emploi du temps repose sur des ”contraintes physiques” telles que : • • •

une promotion ne peut suivre qu’un seul cours à la fois,  un enseignant ne peut enseigner qu’une matière à la fois, les étudiants ne peuvent suivre un cours que si le professeur responsable de ce cours est en train d’enseigner cette matière.

Le problème à résoudre est d’affecter un cours à chaque promotion et à chaque professeur pour une même demi-journée en respectant les points ci-dessus. 1.

Proposez un CSP qui permette de représenter ce problème.

2.

Résolvez le CSP que vous avez proposé précédemment à l’aide de l’algorithme du Forward Checking. Donnez toutes les solutions que vous avez trouvées.

Machine Learning Exercice 1 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.

b) Déterminer le chemin le plus court entre deux nœuds dans un graphe.

c) Prédire le nombre de vélos à mettre en location à chaque station d’un système de location de vélos citadins.

d) Évaluer le prix qu’un tableau de maître pourra atteindre lors d’une vente aux enchères.

e) Débruiter un signal radio.

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 2 (Algorithme K-plus proche voisines) Supposons que l’on a un problème de classification qui consiste à déterminer la classe

d’appartenance de nouvelles instances Xi. Le domaine de valeurs des classes possibles est : {1, 2,3}. Selon la base de connaissance suivante, déterminez la classe de l’instance X6, dont les valeurs pour les attributs A1 à A5 (numériques) sont < 3, 12, 4, 7, 8 >, à l’aide de l’algorithme des k-voisins les plus proches (K-NN) k=3. Montrez tous les calculs.

Exercice 3 1. Décrivez comment un nouvel exemple est classifié dans un arbre de décision entraîné.

2. On veut apprendre un modèle permettant de déterminer si un client est intéressé à acheter un certain produit (Oui ou Non), en fonction de son sexe (Homme ou Femme), son âge (< 18, 18 − 35 ou > 35), son état civil (Célibataire ou Marié), et son revenu (Faible, Moyen ou élevé). Soit l’échantillon ci-contre d’exemples d’entraînement. On souhaite construire l’arbre de décision résultant de ces exemples en utilisant l’algorithme ID3. On suppose qu’on arrête la subdivision uniquement lorsque les nœuds sont purs (entropie de 0). L’algorithme ID3 construit en choisissant pour chaque nœud, un test sur l’attribut menant au meilleur gain d’entropie :

où |S| est le nombre d’exemples dans S, et Sv est un nœud contenant les exemples de S dont la valeur pour l’attribut A vaut v.

Rappelons que l’entropie d’un nœud S vaut :

Ni étant le nombre d’exemples de S ayant la classe Ci.

calculer les gains d’entropie à la racine qu’il attribut utiliserez vous pour séparer les exemples. Donner une première figure.

3) Trouver l’arbre de décision complet, et prédire la classe du client

Exercice 4 (Réseaux de neurones artificiels ) Soit le réseau de neurones suivant et les donneés d’entraînement suivantes.

Fonction d’activation : y = sign(∑4i=1(wi · xi))

(a) Simulez une itération complète de l’algorithme d’apprentissage du perceptron en utilisant les donneés d’entraînement ci-haut. Le taux d’apprentissage est fixé à 0.3 et les poids initiaux sont : w1 = 0, w2 = 0, w3 = 0 et w4 = 0.

(b) Le neurone artificiel ci-haut sera-t-il capable d’apprendre correctement le jeu de donneés d’entraînement fourni ? Justifiez votre réponse.

(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 1a.  setrouve(f rancois, maisonFrancois) ∨ setrouve(f rancois, maisonJ ulie) 1b.  ¬setrouve(f rancois, maisonFrancois) → setrouve(f rancois, maisonJ ulie) 2a.  inf erieur(revenu, 18000) ∧ ¬inf erieur(age, 70) → ef f ectuer(deduction, f raisMedicaux) 2b.  inf erieur(age, 70) ∨ inf erieur(revenu, 18000) → ¬ef f ectuer(deduction, f raisMedicaux) 3a. reussir(jean, exam) ∨ ¬f ort(jean, logique) 3b. ¬reussir(jean, exam) → ¬f ort(jean, logique) 3c. ¬f ort(jean, logique) → ¬reussir(jean, exam) 4a. ¬f ort(jean, logique) → ¬f ort(marie, logique) ∧ ¬reussir(jean, exam) ∧ ¬reussir(marie, 4b. f ort(jean, logique) ∧ f ort(marie, logique) → reussir(jean, exam) ∧ reussir(marie, exam) 5a. est(chargeur, branché) → est(électricité, consommée) est(électricité, consommée) → est(chaleur, dissipée) est(chaleur, dissipée) → est(banquise, f ondue) est(banquise, f ondue) → est(tempete, bretagne) 5b. est(chargeur, branché) → est(tempete, bretagne)

Solution Exercice 2 1. p sinon q : q → p
 2. p à moins que q : p → q
 3. p autrement q : q → p
 4. Il suffit que p pour q : p → q
 5. Il est nécessaire que p pour q : q → p 6. p seulement si q :

q p


7. p si q :

p → q


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 1. Bruno croit que la ligne de tram T1 est en travaux. ◊(bruno) etat(tramT 1, enT ravaux) En ajoutant une double négation : ¬¬(◊(bruno)etat(tramT1,enTravaux))

¬(

(bruno)¬etat(tramT 1, enT ravaux))


ce qui donne ’On peut peut pas dire que Bruno sait que la ligne de tram T1 n’est pas en travaux.’ 2. Mélanie sait que toutes les lignes de tram fonctionnent. (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 : ¬¬( (melanie)∀x, ¬est(x, ligneT ram) ∨ etat(x, f onctionne)



¬ (◊(melanie)∃x, est(x, ligneT ram) ∧ ¬etat(x, f onctionne)
 ce qui donne ’On peut peut pas dire que Mélanie croit qu’il existe une ligne de tram qui ne fonctionne pas. 3. Carole croit que tous les voyageurs savent que la ligne de tram T1 est en travaux ◊(carole)∀x,est(x,voyageur) → ◊(carole)∀x, ¬est(x, voyageur) ∨

(x)etat(tramT1,enTravaux) Que l’on peut traduire en :
 (x)etat(tramT 1, enT ravaux) En ajoutant une double

négation : ¬¬(◊(carole)∀x, ¬est(x, voyageur) ∨

(x)etat(tramT 1, enT ravaux))



¬( (carole)∃x, est(x, voyageur) ∧ ◊(x)¬etat(tramT 1, enT ravaux))
 ce qui donne ’On peut peut pas dire que Carole sait qu’il existe un voyageur qui croit que la ligne de Tram T1 n’est pas en travaux’

Solution Exercice 2 Ex-2.1

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 b0et|a|+|b|=0)Alors(sg0 =Vide,coef0 =c) 16. Si (c>0 et |a|+|b|≠ 0)Alors(sg0 =+,coef0 =c) 17. Si c v) est inférieur à la valeur de g(v) mémorisée.



 A l’étape 3, après sélection du sommet B, la valeur de g(D) dans Ouverts passe de 9 à 7 ;



A l’étape 4, après sélection du sommet E, la valeur de g(C) passe de 5 à 4 et C passe des Fermés aux Ouverts ;



A l’étape 5, les valeur de g de F et G dans Ouverts passent respectivement de 9 à 8 et de 14 à 13.

2. le plus court chemin de A à H est A pour un coût de 10.

Corrigé de l’exercice. 2. (a) Trace d’execution de A*

(b) Oui, l’heuristique h1 est admissible. Elle ne surestime jamais le coût restants. h∗(s0) = 10, h∗(s1) = 9, h∗(s2) = 5, h∗(s3) = 4, h∗(s4) = 7, h∗(s5) = 7, h∗(s6) = 0. (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:



X = {M, C, T, P, S, F, FA, J, PE, A}



Dom(x)=[0, +∞[ ∀ x ∈ X



C={C≥M+7,T ≥C+3,P ≥M+7,S ≥ M+7,F ≥ T+1,FA ≥T+1,FA ≥ P+8,J ≥ T+1, J ≥ P+8,PE ≥ S+3,A ≥F+1,A ≥ FA+2,A ≥ J+1,A ≥ PE+2}

2. le temps minimum pour réaliser cette maison: 18 jours

3. oui, en rendant les domaines consistants on obtient

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

Domaines : {rouge, bleu, vert, jaune, blueciel, violet}

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

Pour les sous-questions suivantes supposez les domaines de valeurs suivants :

(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.

(c) en tenant compte seulement de la contrainte C2:



(d)

(e) Explication possible:

Dans la fonction récursive implémentant l’algorithme backtracking search, on ajoute deux compteurs nbhommes et nbfemmes. Dès qu’un de ces compteurs dépasse 3, on fait un retour en arrière (backtracking). Ou mieux : dès qu’un compteur atteint 3, on élimine le

sexe saturé dans le domaine des variables restantes. Remarque : alterner l’assignation homme-femme peut ne pas fonctionner, ou au mieux, ne pas être efficace.

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}

– C = {C1 = (H;AR);C2 = (H;BM);C3 = (S;AR);C4 = (S;BM);C5 = (S;ES);

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

3. On a donc 7 solutions, représentées dans le tableau ci-dessous :

Machine Learning (Correction d’exercices) Corrigé de l’exercice. 1. 1. Expliquez la différence entre le problème de la classification et celui de la régression, Donnez un exemple pour chacun? à quelle catégorie la régression logistique appartient? le problème de la classification consiste à prédire l’étiquette d’une classe parmi une liste discrete de classes, tandis que la régression consiste à prédire une valeur réelle (dans |R ou | Rn) en utilisant des processus d’apprentissage artificielle. la régression logistique appartient à la catégorie de classification. 2. Donnez un exemple concret d’apprentissage non-supervisé, pour un domaine de votre choix. - Regroupement de matériaux (bois par exemple) en plusieurs classe (de fabrication) selon des caractéristiques. - Regroupement de clients selon des similarités de comportement d’achat. 3. Décrivez brièvement la méthode de classification des k-plus-proches-voisins. Dans l’approche de classification des k-plus-proche-voisins, on détermine la classe d’un nouvel exemple x à partir des k exemples d’entraînement les plus similaires à x. Cette approche se résume aux étapes suivantes : (a) Calculer la distance entre x et chacun des exemples d’entraînement xt ; (b) Conserver les k exemples xt les plus proches de x ; (c) Assigner à x la classe la plus fréquente chez les exemples conservés (vote des voisins). En cas d’égalité considérez la distance dans le vote, de manière à ce que la classe d’un exemple près de x ait une plus grande incidence que celle d’un exemple éloigné. 4. Dans l’algorithme des k-plus-proches-voisins pour la classification binaire, comment peut-on s’assurer qu’un exemple soit classifié dans une seule classe ? Dans la classification binaire, on peut éviter les égalités (même nombre de voisins dans chacune des deux classes) en choisissant un nombre de voisins k impair. Dans le cas général (classification multi-classe), on peut briser les cas d’égalité en considérant la distance des voisins, tel que décrit dans la réponse précédente. 5. Comment peut-on choisir la valeur du paramètre k dans une méthode de classification par les kplus-proches-voisins ? Soyez précis. Pour choisir la valeur de k, comme pour tout méta-paramètre d’une approche de classification ou de régression, on utilise la validation croisée. C’est-a`-dire, on sépare les données en exemples d’entraînement et de validation (on se garde également des exemples de test pour l’évaluation finale), et on teste pour chaque valeur de k l’erreur de classification obtenue sur l’ensemble de validation. On choisit ensuite la valeur de k ayant donné la plus petite erreur de validation.

Corrigé de l’exercice. 2. 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

d(X6, X5) = 8.23
 les 3 plus proches voisins sont 2, 3 et 4 donc la classe de X6 est 3

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) (b) Oui. Les donneés sont linéairement séparables. [Mettre un graphique ici] (c ) Oui. La technique traditionnelle (ou naturelle) pour décider d’une action dans les jeux comme Connect5 est l’algorithme minimax (avec ou sans élagage alpha-beta). Pour beaucoup de jeux, dont Connect5, l’arbre de recherche du jeu a une taille beaucoup trop grande pour être exploré de façon exhaustive. C’est ainsi qu’il faut prendre des décision imparfaite en limitant la profondeur de recherche dans l’arbre et en utilisant une fonction d’évaluation pour calculer une approximation de la valeur minimax des noeuds intermédiaires dans l’arbre. Écrire une bonne fonction d’évaluation est un défi. Un réseau de neurones artificiel peut être utile pour implémenter une telle fonction d’évaluation. L’algorithme AlphaGo de Google utilise d’ailleurs cette stratégie pour jouer au jeu de Go. La même technique pourrait être utile pour Connect5.