Logique Formelle et Programmation Logique

Transcription

Logique Formelle et Programmation Logique
Logique Formelle et Programmation Logique
3ème Année 2001-2002
Contrôle des connaissances
Durée : 2 heures
Les documents sont autorisés.
Les bonnes réponses sont en rouge.
Le sujet est en 9 exercices que vous réaliserez "au brouillon".
Vous fournirez vos réponses sur la feuille de QCM qui vous est distribuée en
accompagnement en cochant les cases correspondant aux bonnes réponses.
Pour chaque question, il peut y avoir 0, 1 ou plusieurs bonnes réponses. Cocher des
réponses fausses entraîne des points négatifs.
Remplissez la feuille QCM avec beaucoup d'attention et de soin, et n'oubliez pas les
détails administratifs :
remplir soigneusement l’en-tête du QCM : tout en-tête qui ne sera pas
intégralement rempli entraînera la note zéro. Le numéro désigné par le vocable
« code réglementaire » correspond à votre numéro de dossier (présent sur votre
carte d’étudiant).
Exercice 1.
Dans le système de Logique des Propositions (LP) on a :
(1) | ( B ⊃ ( ( A ⊃ B ) ⊃ B )
(2) | ( B ⊃ ( ( A ⊃ B ) ⊃ B ) )
(3) | ( ( ( A ⊃ B ) ⊃ B ) ⊃ A )
(4) | ( A ⊃ (B ⊃ ( B ⊃ A ) ) )
(5) | ( A ⊃ ( ( A ⊃ B ) ⊃ B ) )
Exercice 2.
Dans le système de Logique des Propositions (LP), l'expression
( P ⊃ Q ) ⊃ ( ¬P ⊃ ¬Q)
se simplifie en :
(6)
P⊃Q
(7)
¬P ⊃ Q
(8)
Q⊃P
(9)
( P ∧ ¬Q ) ∨ P ∨ ¬Q
(10) ( Q ∧ ¬P ) ∨ Q ∨ ¬P
Exercice 3.
Dans le système de Logique des Propositions (LP), soient A et B deux expressions
quelconques. On définit une nouvelle expression A ↓ B (appelée "négation conjointe
de A et B") par la table de vérité ci-dessous :
Anne-Marie Kempf
Décembre 2001
1
A
B
1
0
1
0
0
0
0
1
Moyennant cette définition :
(11) A ↓ B ≡ ¬A ∨ ¬B
(12) A ↓ B ≡ ¬(A ∨ B)
(13) A ∧ B ≡ (A ↓ B) ↓ (A ↓ B)
(14) A ∧ B ≡ (A ↓ A) ↓ (B ↓ B)
(15) A ⊃ B ≡ ((A ↓ A) ↓ B) ↓ ((A ↓ A) ↓ B)
Exercice 4.
Si "il y a des oreillers qui sont doux" et "aucun pavé n'est doux", alors :
(16) il y a des pavés qui ne sont pas des oreillers
(17) il y a des oreillers qui ne sont pas des pavés
Exercice 5.
Le couple d'expressions ( Couleur (serin, jaune) , Couleur (x, y) )
des variables
(18) peut être unifié par { serin / x , jaune / y }
(19) ne peut pas être unifié par { serin / x , jaune / y }
où x et y sont
Exercice 6.
Les expressions
P (a, x, f(g(y))) et P (z, f(z), f(t))
où x, y, z, t sont des variables, a une constante, f et g des fonctions
(20) ne sont pas unifiables
(21) sont unifiables, avec pour PGU : { a / z , f(a) / x , g(y) / t }
(22) sont unifiables, avec pour PGU : { a / z , f(a) / x , g(a) / t }
(23) sont unifiables, avec pour PGU : { a / z , f(z) / x , g(y) / t }
(24) sont unifiables, avec pour unifieur : { a / z , f(z) / x , g(a) / t }
(25) sont unifiables, avec pour unifieur : { a / z , f(a) / x , g(a) / t }
Exercice 7.
Dans l'exercice qui suit, on considèrera qu'on ne parle que d'hommes; on n'utilisera
donc pas le prédicat "homme".
Nous avons les connaissances suivantes :
- Un homme est roi s'il a une couronne et un sceptre.
- Un homme a une couronne s'il a un royaume
- Un homme a un sceptre s'il a des sujets
- Thor a des sujets et un royaume
- Vic a un royaume
Nous cherchons s'il y a un roi; et si oui, qui c'est.
(26)
On a besoin de 5 prédicats différents pour modéliser le problème
Anne-Marie Kempf
Décembre 2001
2
(27) On a besoin de 6 prédicats différents pour modéliser le problème
(28) Les 5 hypothèses se traduisent en 5 clauses de Horn
(29) Les 5 hypothèses se traduisent en 6 clauses de Horn
(30) Les 5 hypothèses se traduisent en 6 clauses dont une n'est pas une
clause de Horn
Supposons que l'ensemble des hypothèses se trouve mis sous forme de clauses de
Horn (soit directement, soit après manipulation – cf cours et exercices). La question
" y a-t-il un roi ? " recevra une réponse positive :
(31) Si " y a-t-il un roi ? " se traduit par une clause but contradictoire avec
les clauses hypothèses
(32) Si " il n'y a pas de roi " se traduit par une clause but contradictoire
avec les clauses hypothèses
(33) Si et seulement si " y a-t-il un roi ? " se traduit par une clause but
contradictoire avec les clauses hypothèses
(34) Si et seulement si " il n'y a pas de roi " se traduit par une clause but
contradictoire avec les clauses hypothèses
Considérons l'ensemble des clauses de Horn qui modélisent le problème à résoudre.
Il comporte :
(35) 6 clauses de Horn plus une clause but
(36) 6 clauses de Horn dont une clause but.
Supposons les clauses écrites dans l'ordre d'écriture des hypothèses (si une
hypothèse donne plusieurs clauses, on les numérote toutes avant de passer à
l'hypothèse suivante).
On applique LUSH Résolution en résolvant systématiquement le littéral
immédiatement à droite de la flèche en notation de Kowalski (par exemple,
dans B ← CvD , on cherchera à résoudre C).
(37) On obtient la clause vide en 5 étapes ( autrement dit : la clause vide est
la 5ème clause résolvante trouvée)
(38) On obtient la clause vide en 6 étapes ( autrement dit : la clause vide est
la 7ème clause résolvante trouvée)
(39) On n'obtient pas la clause vide
La réponse à la question posée est :
(40) Il y a un roi : Thor
(41) Il y a un roi : Vic
(42) Il n'y a pas de roi
(43) Il y a deux rois : Vic et Thor.
Exercice 8.
Mettre l'expression suivante sous forme clausale :
( (∀x) ( (P(x)∧Q(x,a)) ⊃ ( R(x,b) ∧ ((∀y) ( (∀z) R(y,z) ⊃ T(x,y) ) ) ) ) ) v ((∀x) S(x))
où : P, Q, R, S, T sont des prédicats, x, y, z sont des variables, a, b sont des
constantes.
La forme prénexe de l'expression est :
(44) (∀x) (∀y) (∃z) (¬P(x) ∨ ¬Q(x,a) ∨ ( R(x,b) ∧ (¬R(y,z) ∨ T(x,y))) ∨ S(x))
Anne-Marie Kempf
Décembre 2001
3
(∀x) (∀y) (∀z) (∀u) (¬P(x) ∨ ¬Q(x,a) ∨ ( R(x,b) ∧ (¬R(y,z) ∨ T(x,y))) ∨
S(u))
(46) (∀x) (∀y) (∃z) (∀u) (¬P(x) ∨ ¬Q(x,a) ∨ ( R(x,b) ∧ (¬R(y,z) ∨ T(x,y))) ∨
S(u))
Mettre l'expression donnée sous forme clausale nécessite d'utiliser :
(47) aucune fonction de Skolem
(48) une fonction de Skolem à une variable
(49) une fonction de Skolem à deux variables
(50) une fonction de Skolem à trois variables
(45)
L'expression donnée se transforme en
(51) une seule clause
(52) deux clauses
(53) trois clauses
L'expression donnée est contradictoire :
(54) oui : on peut atteindre la clause vide par résolution
(55) non : on trouve deux clauses qui sont deux tautologies
(56) non : on trouve trois clauses dont deux sont des tautologies
(57) oui : on trouve trois clauses dont deux sont directement contradictoires
( c'est-à-dire de la forme C et ¬C)
(58) non : on ne trouve qu'une clause, différente de la clause vide.
Exercice 9.
Dans le système formel de Logique des Propositions (LP), considérons la formule F :
( A ⊃ B ) ∧ ( B ≡ C) ∧ ( (C ∨ D) ≡ ¬B)
Mettre F sous forme clausale donne :
(59) 3 clauses
(60) 5 clauses
(61) 6 clauses
Les clauses obtenues sont toutes des clauses de Horn :
(62) oui
(63) non
Parmi les clauses obtenues,
(64) il n'y a pas de clause but
(65) il y a une clause but
(66) il y a strictement plus d'une clause but
L'ensemble des clauses obtenues peut être simplifié
(67) oui : en supprimant une tautologie
(68) oui : en supprimant une clause dont un littéral n'a pas de
complémentaire dans les autres clauses
(69) oui : en ne gardant qu'une seule clause but
(70) non
Anne-Marie Kempf
Décembre 2001
4
La formule F
(71) est contradictoire
(72) n'est pas contradictoire parce que si A et B sont faux, il existe des
valeurs de vérité de C et D qui rendent F vraie
Anne-Marie Kempf
Décembre 2001
5