Examen juin 2013 - L`Université Paris Descartes
Transcription
Examen juin 2013 - L`Université Paris Descartes
UNIVERSITÉ PARIS DESCARTES UFR M ATHÉMATIQUES ET I NFORMATIQUE Master M1 Info – 2012-2013 Programmation Logique Examen du 18 juin 2013 - Durée 2h - 2 pages (recto-verso) Aucun document n’est autorisé Aucun appareil électronique n’est autorisé Les télephones sont formellement interdits Le barême est donné à titre indicatif et pourra être modifié Equipe pédagogique : E. Bonzon et J. Rossit Exercice 1 : (2 points) Soit le programme suivant : myst(X,[],[X]). myst(X,[Y|L],[X,Y|L]) :- X<Y, !. myst(X,[Y|L],[Y|T]) :- myst(X,L,T). 1. Déroulez ce programme avec l’instance myst(3,[2,4,6,12],L). 2. Quel est le rôle de ce programme ? Exercice 2 : (6 points) Pour l’écriture des prédicats suivants, il vous est possible d’utiliser les prédicats member, append, ainsi que des prédicats intermédiaires. 1. Ecrire un prédicat otedoublon(L,D). qui retire tous les éléments apparaissant plusieurs fois d’une liste : ?- otedoublon([3,8,3,4,4,2,8],D). D = [3,4,2,8] 2. Ecrire un prédicat planifie(L,R). qui transforme une liste de liste en liste simple : ?- planifie([[a,b],[1,5],[3,4,2]], R). R = [a,b,1,5,3,4,2] 3. Ecrire un prédicat concatinv(L1,L2,R). qui inverse les listes L1 et L2, puis les concatène. ?- concatinv([a,b,c,d], [1,2,3,4], R). R = [d,c,b,a,4,3,2,1] 1 Exercice 3 : (7 points) Déterminez les answer set des programmes suivants : 1. happy ← not sad sad ← not happy drinks ← happy drinks ← sad 2. p ← not q, not s s ← not p, not q q ← not p, not s 3. p r s q ← ← ← ← q, not s p, not q, not s not q not s Quelles sont les conséquences de ces programmes ? Exercice 4 : (5 points) 1. Quelles sont les règles d’inférence utilisées pour le calcul SLD ? Expliquez briévement. 2. Considérez le programme Π suivant : p ← not r, not q, q Utilisez le calcul SLDNF pour savoir si p est une concéquence du programme Π. Détaillez les différentes étapes de la dérivation, indiquez à chaque étape la règle appliquée. 2