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

Documents pareils