Modalités: Durée: 2 heures Aucun document autorisé. Ni calculatrice, ni téléphone portable. Aucune sortie n'est autorisée pendant la durée de l'examen. Excepté pour les questions de cours 1 à 3, une réponse sans explication de la méthode employée, ni sans détailler les étapes de construction de la réponse n'a aucune valeur! I. Questions de cours (5 points) Pour les questions 1 à 3 vous répondrez sur votre copie en notant simplement le numéro de la question et le(s) numéro(s) de(s) la réponse(s) correspondante(s) (les questions peuvent avoir plusieurs réponses possibles). e.g. : question 0 réponses c et d 1) La complexité en temps de l'algorithme de recherche en largeur d'abord pour un facteur de branchement b et une profondeur p est en : a) O(b p ) b) O(b+p) c) O(p b ) d) O(b*p) 2) Soit π=(x,d,c,r) le CSP défini par : X={X 1,X 2,X 3 } D 1 =D 2 =D 3 ={1;2;3} C={C 1 ={X 1 ;X 2 };C 2 ={X 2 ;X 3 };C 3 ={X 1 ;X 3 }} R 1 ={(1,2);(1,1);(3,1);(2,2)} R 2 ={(2,1);(3,1);(3,2);(1,2)} R 3 ={(1,3);(3,1);(1,2);(2,1)} Parmi les affirmations suivantes la/les quelle(s) est/sont exacte(s)? a) π est arc consistant, b) π n'est pas arc consistant, c) D 1 est arc consistant d) D 1 n'est pas arc consistant 3) L'algorithme de recherche en profondeur est un algorithme : a) adéquat b) complet c) optimal 4) (2 points) Soient le graphe de l'exercice III et l'heuristique h 2 donnée ci dessous pour la recherche de plus court chemin de A à I par l'algorithme A*. A B C D E F G H I h 2 11 11 11 5 5 5 2 2 0 a) Dites si l'heuristique h 2 est admissible ou non pour A*. Réponse : NON 1/10 E. Salvat 26/08/2008
b) Justifiez votre réponse. Réponse : h 2 (C) = 11. Or le chemin de C à I C-D-G-I, a un coût de 10. Cette heuristique n'est donc pas optimiste : h 2 (C) > val(c,i) II. Représentation de connaissance (6 points) On souhaite dans cette partie représenter un énoncé dans le formalisme des graphes conceptuels. Pour ce faire vous donnerez non seulement les graphes représentant les phrases de l'énoncé mais également le support sur lequel sont construits ces graphes. «La France est membre de l'union Européenne. L'Allemagne est membre de l'union Européenne et de l'otan. Michel habite en France. Heinz réside en Allemagne. Johnny habite en Suisse. Si une personne habite dans un pays membre de l'union Européenne alors cette personne élit un député européen représentant ce pays. Question 1: Construisez le support pour représenter en graphes conceptuels l'énoncé ci dessus, et donnez les graphes. Vous représenterez aussi la requête : Q : «Qui est électeur d'un député européen?» Question 2: On cherche à répondre à la requête. Expliquez comment vous obtenez la/les réponses à la requête à partir des graphes que vous avez construits en a). Réponses : Les types de concepts : Les types de relations : 2/10 E. Salvat 26/08/2008
Les signatures : lien2(universel,universel) est_membre(pays, Organisation) habit(personne, Pays) représente(député_eu, Pays) élire(personne, Député_EU) Marqueurs individuels et relation de conformité : I={Michel; Heinz; Johnny; France; Suisse; Allemagne; EU; OTAN} τ(michel)=personne ; τ(heinz)=personne ; τ(johnny)=personne ; τ(france)=pays ; τ(suisse)=pays ; τ(allemagne)=pays ; τ(eu)=organisation et τ(otan)=organisation Les graphes faits : La règle : 3/10 E. Salvat 26/08/2008
Le graphe requête : Pour trouver les réponse à la requête contenues dans la base de connaissance, on peut opérer de deux manières: en chaînage avant ou en chaînage arrière. Nous ne développerons ici que l'utilisation des règles en chaînage avant. On essaye de saturer l'ensemble des faits par toutes les applications possibles de la règle (ce qui est possible ici), puis de chercher les projections du graphe requête dans les graphes obtenus. Avant d'appliquer la règle en chaînage avant, on transforme l'ensemble des graphes faits sous forme normale (de sorte que chaque marqueur individuel n'apparaisse qu'au plus une fois dans la base de connaissane. On obtient ainsi le nouvel ensemble de graphes : Il existe alors 2 projections possibles de l'hypothèse de la règle dans le premier graphe, les sous graphes images étant schématisés par les tracés de couleur sur le graphe ci dessus. Pour chaque projection il y a une application de la règle qui joint une copie du graphe conclusion sur les sommets images des sommets liés de l'hypothèse de la règle (i.e. les sommets d'étiquette [Personne:*] et [Pays:*] de l'hypothèse). On obtient, après les deux applications de R, la base de faits : 4/10 E. Salvat 26/08/2008
Il ne reste plus qu'a chercher les projections du graphe requête dans cet ensemble de graphes. Il existe 2 projections, dont les graphes images sont schématisés par les tracés de couleur ci dessus. Pour utiliser les règles en chaînage arrière, on cherche les unifications entre la requête et la conclusion de la règle. A partir de chaque unification, on construit une nouvelle requête, ainsi de suite jusqu'à ce que l'on obtienne un requête vide. Il faut alors spécialiser la requête initiale en fonction des différentes unification trouvées pour obtenir les réponses recherchées. III. A* (4 points) 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 à I. 5/10 E. Salvat 26/08/2008
B 8 F A 9 4 3 5 2 C 3 3 7 2 E 6 5 3 H D 3 G 2 I On a de plus la fonction heuristique h qui estime le coût pour atteindre I depuis chaque sommet. h est donnée par le tableau ci dessous. A B C D E F G H I h 12 7 10 4 5 6 2 2 0 Question : Appliquez l'algorithme A* avec la fonction h sur ce graphe. Réponse : On représente le déroulement de l'algorithme sous forme de tableau. Chaque ligne du tableau correspond à un tour de boucle de l'algorithme. La première colonne indique le numéro de tour de l'algo, dans la deuxième colonne on indique le sommet choisi. Dans la troisième colonne l'ensemble des ouverts de l'étape courante est représenté, chaque état est noté sous le format «sommet(g(x),f(x)=g(x)+h(x))». La dernière colonne contient l'ensemble des fermés de l'étape courante. Etape Choix Ouverts Fermés Init {A(0,12)} {} 1 A(0,12) {B(4,11);C(3,13);D(9,13)} {A(0,12)} 2 B(4,11) {C(3,13); D(9,13);E(7,12);F(12,18)} {A(0,12); B(4,11)} 3 E(7,12) {C(3,13); D(9,13);F(9,15);G(14,16);H(12,14)} {A(0,12); B(4,11); E(7,12)} 4 C(3,13) {D(8,12);F(9,15);G(14,16);H(12,14);E(6,11)} {A(0,12); B(4,11); C(3,13)} 5 E(6,11) {D(8,12);F(8,14);G(13,15);H(11,13)} {A(0,12); B(4,11); C(3,13); E(6,11)} 6 D(8,12) {F(8,14);G(11,13);H(11,13)} {A(0,12); B(4,11); C(3,13); E(6,11); D(8,12)} 7 G(11,13) {F(8,14);H(11,13);I(13,13)} {A(0,12); B(4,11); C(3,13); E(6,11); D(8,12); G(11,13)} 8 I(13,13) Remarques : A l'initialisation, on met dans Ouverts, le sommet de départ; 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)+coût(s->v) est inférieur à la valeur de g(v) mémorisée. 6/10 E. Salvat 26/08/2008
A l'étape 3, après sélection du sommet E, la valeur de g(f) dans Ouverts passe de 12 à 9; A l'étape 4, après sélection du sommet C, la valeur de g(d) dans Ouverts passe de 9 à 8, on a une nouvelle valeur de g plus petite pour E (de 7 à 6), qui passe des Fermés aux Ouverts; A l'étape 5, les valeur de g de F, G et H dans Ouverts passent respectivement de 9 à 8; de 14 à 13 et de 12 à 11; A l'étape 6, la valeur de g de G dans Ouverts passe de 13 à 11. Le chemin le plus court de A à I est donc A-C-D-G-I, et est de longueur 13. IV. Les crayons de couleur (5 points) Votre petit frère Paul, encore en classe primaire, s'initie à la géographie de l'europe. En guise d'exercice pour demain matin, son institutrice lui a demandé de colorier sur la carte les pays d'europe centrale suivant : l'allemagne (DE), la République Tchèque (CZ), la Slovaquie (SK), l'autriche (AT), l'hongrie (HU) et la Slovénie (SI). De sorte que deux pays limitrophes n'aient pas la même couleur. Très occupé à tester son dernier jeu sur sa Wii dès son retour de l'école, ce n'est qu'avant d'aller au lit que Paul se rappelle son devoir de géographie. Avant que les parents ne s'aperçoivent de ce fâcheux oubli, Paul cherche frénétiquement six crayons de couleurs dans son cartable... hélas! il ne trouve que trois crayons : un rouge, un vert et un bleu. Paniqué, il déboule dans votre chambre (et vous interrompt en pleine révision de votre partiel d'ia) pour vous demander de l'aide. En grand frère (ou grande soeur) exemplaire, et ne voulant pas voir le pauvre Paul privé de Wii jusqu'à ses 23 ans, vous mettez en application vos révisions toutes fraîches... et tentez de trouver si l'on peut colorier cette carte avec seulement trois couleurs. LA carte de Paul 7/10 E. Salvat 26/08/2008
Question 1 : Proposez un CSP qui permette de représenter le problème de Paul. Réponse : π =(X,D,C,R) avec : X={DE;CZ;SK;AT;HU;SI} D DE =D CZ =D SK =D AT =D HU =D SI {R;V;B} C={C 1 ={CZ;SK};C 2 ={CZ;AT};C 3 ={CZ;DE};C 4 ={DE;AT};C 5 ={AU;SK};C 6 ={AT;HU};C 7 ={AT;SI};C 8 ={SK; HU};C 9 ={HU;SI}} R={R 1 =R 2 =R 3 =R 4 =R 5 =R 6 =R 7 =R 8 =R 9 ={(R,V);(R,B);(V,R);(V,B);(B,R);(B,V)} } Question 2 : Résolvez le CSP que vous avez proposé à l'aide de l'algorithme du Forward Checking. Quelques minutes plus tard, vous devez vous résoudre à réveiller Paul qui s'est endormi sur votre lit, gagné par la fatigue en attendant votre réponse... Paul va-t-il pouvoir finir son devoir de géographie? 8/10 E. Salvat 26/08/2008
DE R D CZ ={V;B} D AT ={V;B} V D CZ ={R;B} D AT ={R;B} B D CZ ={R;V} D AT ={R;V} CZ D SK ={R;B} D AT ={B} D SK ={R;V} D AT ={V} D SK ={V;B} D AT ={B} D SK ={R;V} D SK ={V;B} V B R B D AT ={R} R D AT ={V} V D SK ={R;B} D AT ={R} AT B D SK ={R} V D SK ={R} B D SK ={V} RD SK ={V} V D SK ={B} R D HU ={R;V} D SI ={R;V} D HU ={R;B} D SI ={R;B} D HU ={R;V} D SI ={R;V} D HU ={V;B} D SI ={V;B} D HU ={R;B} D SI ={R;B} D SK ={B} D HU ={V;B} D SI ={V;B} SK R D HU ={V} R V D HU ={R} V B B D HU ={B} D HU ={B} D HU ={R} D HU ={V} HU V D SI ={R} B D SI ={R} R D SI ={V} B D SI ={V} R D SI ={B} V D SI ={B} SI R R V V B B 9/10 E. Salvat 26/08/2008
10/10 E. Salvat 26/08/2008