Académique Documents
Professionnel Documents
Culture Documents
Année 2022-2023
2ème Année CPI Logique mathématique
TD 4 : Corrigé
Il peut y avoir des erreurs de frappe ou d’inattention, nous serons reconnaissants aux lecteurs de bien
vouloir nous avertir par e-mail: righi ali@yahoo.fr, helalnacera@yahoo.fr. .
• {a, a ⇒ b, b̄}
¯ d + c̄, b̄ + a}
• {a + b, ā + c, ā + d,
• {a + b + c, ā + b, b̄ + c, c̄ + a, ā + b̄ + c̄}.
En donner une preuve par résolution.
Réponse:
1.
2. 3.
(1) a Hyp
(2) ā + b Hyp
(1) a+b Hyp
(3) b̄ Hyp (1) a+b+c Hyp
(2) ā + c Hyp
(4) ā Res (2,3) (2) ā + b Hyp
(3) ā + d¯ Hyp
(5) ⊥ Res (1,4) (3) b̄ + c Hyp
(4) d + c̄ Hyp
(4) c̄ + a Hyp
(5) b̄ + a Hyp
(5) ā + b̄ + c̄ Hyp
(6) a Res (1,5)
(6) b+c Res (1,2)
(7) c Res (6,2)
(7) a+c Res (1,3)
(8) d¯ Res (6,3)
(8) a+b Res (1,4)
(9) c̄ Res (8,4)
(9) a Res (4,7)
(10) ⊥ Res (7,9)
(10) b̄ + c̄ Res (5,9)
(11) b Res (2,8)
(12) c Res (11,3)
(13) b̄ Res (10,12)
(14) ⊥ Res (11,13)
La question est donner une preuve par résolution, ce n’est pas donner la preuve la plus
courte. La stratégie là est libre.
Exercice 2 . Montrer, à l’aide d’une preuve par résolution, la correction du raisonnement suivant
:
r + q ⇒ t, t · q ⇒ r, q t ⇔ r.
1 /9
Réponse: Comme la résolution n’est pas complète pour la déduction et elle est complète
pour la réfutation, on va remplacer la question par une question équivalente.
On sait (Cours sémantique) que
Γ C ssi Γ ∪ ¬C ⊥.
r + q ⇒ t, t q ⇒ r, q t ⇔ r ssi r + q ⇒ t, t q ⇒ r, q, ¬(t ⇔ r) ⊥
r̄ + t, q̄ + t, t̄ + q̄ + r, q, t + r, t̄ + r̄ `res ⊥.
Preuve formelle
(1) r̄ + t Hyp
(2) q̄ + t Hyp
(3) t̄ + q̄ + r Hyp
(4) q Hyp
(5) t+r Hyp
(6) t̄ + r̄ Hyp
(7) t Res (4,2)
(8) q̄ + r Res (7,3)
(9) r̄ Res (7,6)
(10) q̄ Res (8,9)
(11) ⊥ Res (4,10)
Preuve formelle sous forme d’arbre Les feuilles sont les hypothèses et les sommets in-
ternes sont obtenus par construction des résolvants.
⊥
q q̄
r̄ q̄ + r
t̄ + r̄ t t̄ + q̄ + r t
q̄ + t q q̄ + t q
2 /9
Exercice 3 . Appliquer les stratégies positive, négative et linéaire sur ces ensembles de clauses.
1. {ā + b̄ + c, a, c̄, b}
2. {ā + b̄ + c, ā + b, a, c̄}
3. {ā + b̄, c̄ + a, c, d¯ + b, d + b}
4. {ā + b̄ + c + d, c̄ + ē + f¯, ā + d,
¯ b + c, a + c, c̄ + e, c̄ + f }
Réponse:
Stratégie positive.
1.
(1) ā + b̄ + c Hyp
(2) a Hyp 3. 4.
(3) c̄ Hyp
(4) b Hyp (1) ā + b̄ Hyp (1) ā + b̄ + c + d Hyp
(5) b̄ + c Res (1,2) (2) c̄ + a Hyp (2) c̄ + ē + f¯ Hyp
(6) c Res (5,4) (3) c Hyp (3) ā + d¯ Hyp
(7) ⊥ Res (6,3) . (4) d¯ + b Hyp (4) b+c Hyp
(5) d+b Hyp (5) a+c Hyp
2. (6) a Res (2,3) (6) c̄ + e, Hyp
(7) b̄ Res (6,1) (7) c̄ + f Hyp
(1) ā + b̄ + c Hyp (8) d Res (7,5) (8) b̄ + c + d Res (1,5)
(2) ā + b Hyp (9) b Res (8,4) (9) c+d Res (8,4)
(3) a Hyp (10) ⊥ Res (9,7) (10) ā + c Res (9,3)
(4) c̄ Hyp (11) c Res (10,5)
(5) b̄ + c Res (1,3) (12) e Res (11,6)
(6) b Res (2,3) (13) f Res (11,7)
(7) c Res (6,5) (14) c̄ + f¯ Res (12,2)
(8) ⊥ Res (7,4) . (15) c̄ Res (13,14)
(16) ⊥ Res (11,15)
3 /9
Réponse:
Stratégie négative.
1.
(1) ā + b̄ + c Hyp
(2) a Hyp 3. 4.
(3) c̄ Hyp
(4) b Hyp (1) ā + b̄ Hyp (1) ā + b̄ + c + d Hyp
(5) ā + b̄ Res (1,3) (2) c̄ + a Hyp (2) c̄ + ē + f¯ Hyp
(6) ā Res (5,4) (3) c Hyp (3) ā + d¯ Hyp
(7) ⊥ Res (6,2) . (4) d¯ + b Hyp (4) b+c Hyp
(5) d+b Hyp (5) a+c Hyp
2. (6) b̄ + c̄ Res (1,2) (6) c̄ + e, Hyp
(7) b̄ Res (6,3) (7) c̄ + f Hyp
(1) ā + b̄ + c Hyp (8) d¯ Res (7,4)
(2) ā + b Hyp (8) c̄ + f¯ Res (2,6)
(9) b Res (8,5) (9) c̄ Res (7,8)
(3) a Hyp (10) ⊥ Res (9,7)
(4) c̄ Hyp (10) ā + b̄ + c Res (1,3)
(5) ā + b̄ Res (1,4) (11) ā + b̄ Res (9,10)
(6) b̄ Res (5,3) (12) b Res (9,4)
(7) ā Res (6,2) (13) a Res (9,5)
(8) ⊥ Res (7,3) . (14) ā Res (11,12)
(15) ⊥ Res (14,13)
Réponse:
Stratégie linéaire.
1. 3. 4.
4 /9
Remarque. La stratégie linéaire est complète pour la réfutation veut dire que si l’ensemble est
insatisfaisable il existe une réfutation linéaire. (Preuve par résolution en respectant la stratégie linéaire.)
Donc si vous avez 4 clauses au départ et vous choisissez de commencer par faire la résolution entre (1)
et (2), puis poursuivre en utilisant la stratégie linéaire et si vous vous trouvez devant l’impossibilité de
continuer. Ca ne veut pas dire que l’ensemble est satisfaisable. C’est possible qu’il existe un autre chemin
(une autre réfutation linéaire) par exemple qui commence par faire la résolution entre (2) et (3).
On obtient par RE
p + q, p + r̄, r̄ + q
2. Par RI, on élimine les clauses qui contiennent des littéraux isolés. qui sont r̄, p, q.
En fait, dans ce cas, on va éliminer toutes les clauses. On obtient l’ensemble vide.
Conclusion l’ensemble est satisfaisable.
Exercice 6.
Utilisez l’algorithme DP pour déterminer si l’ensemble suivant de clauses est satisfaisable ou insatisfais-
able:
5 /9
{a + b + c + d + e + f , ā + b, b̄ + a, c̄ + d, d¯ + c, b̄ + c̄, b̄ + c, b + c̄, ē, f¯}
RU
{a + b + c + d, ā + b, b̄ + a, c̄ + d, d¯ + c, b̄ + c̄, b̄ + c, b + c̄}
a=0 a=1
RU RU
RU RU
¯
{d, d} ⊥
RU
Solution de l’exercice 6.
L’ensemble des clauses est insatisfaisable.
Exercice 7 . Utilisez l’algorithme DP pour déterminer si l’ensemble suivant de clauses est satis-
faisable ou insatisfaisable:
{a + b + c + d + f, ā + b, b̄ + a, c̄ + d, d¯ + c}
Donner une trace de l’algorithme. Indiquer la réponse de l’algorithme (E satisfaisable ou insatisfaisable).
Si E est satisfaisable, déduire un modèle de E à partir de la trace de l’exécution de l’algorithme .
Solution de l’exercice 7.
On aurait pu arrêter l’algorithme sur une seule branche c = 1, puisque nous avons l’ensemble vide. Conclusion:
L’ensemble des clauses est satisfaisable. Le modèle correspondant à la branche gauche: d = 1, c = 1, b = 0(b̄ =
1), a = 0, f = 1. Si on a Fait RU ou RI sur un littéral(f, b̄) on le considère comme 1. Le déroulement de l’algorithme
de Davis-Putnam est simple.
1. Il faut comprendre pourquoi il est correct, et plus efficace que la transformation en somme de monômes pour
dire si un produit de clause est satisfaisable ou non!
2. Un Tp intéressant aurait été de le programmer en un langage adéquat.
6 /9
{a + b + c + d + f, ā + b, b̄ + a, c̄ + d, d¯ + c}
RI
{ā + b, b̄ + a, c̄ + d, d¯ + c}
a=0 a=1
{b̄, c̄ + d, d¯ + c}
RU
{c̄ + d, d¯ + c}
c=1 c=0
{d} ¯
{d}
RU RU
∅ ∅
Exercice 8.
2. Montrez que DP(A) retourne true (false) si et seulement si A est satisfaisable (ne l’est pas).
3. Rappelons que toute formule peut être transformée en CNF. Expliquez comment utiliser la méthode
de Davis-Putnam pour décider la validité d’une formule.
4. Modifiez DP (A) pour que, si A est satisfaisable, elle retourne une assignation v qui satisfait A.
5. Réfléchissez aux structures de données et aux opérations nécessaires à la mise en oeuvre de l’algorithme
dans votre langage préféré et adéquat.
Réponse:
1. L’ensemble de clauses est fini et le nombre de variables est fini. Donc chaque étape
de l’algorithme se termine. Chaque retour(appel récursif ) s’applique en diminuant soit le
nombre de clauses soit le nombre de variables. D’où le programme doit se terminer.
En effet, les réductions RE,RU,RI diminue forcément le nombre de clauses, et l’affectation
d’une variable soit à x = 1 ou x = 0 diminue le nombre de variables.
2. Il suffit de démontrer que les étapes de l’algorithme garde la satisfaisabilité de l’ensemble
des formules du départ.
RE . Si on applique la réduction, on garde l’équivalence même. Puisque c’est une appli-
cation des équivalences remarquables 1 · x ≡ x et x · (x + y) ≡ x.
RI . RI consiste à remplacer dans le cas le plus simple (F + L)G par G où L̄ n’apparaı̂t
pas dans G. On ne perd pas en généralité si on prend L = x. En fait supposons que G a un
modèle v. ([G]v = 1). On construit alors une assignation w telle que w(y) = v(y) si y 6= x et
w(x) = 1. Alors [F + x]w = 1 et [G]w = [G]v = 1. Donc [(F + L)G]v = 1.
L’autre sens est évident. En effet on a pour toute assignation v : Si [(F + L)G]v = 1 alors
[G]v = 1. Si (F + L)G a un modèle G a un modèle.
Le cas général est de remplacer
7 /9
où les Gi ne contiennent pas L̄. La preuve est analogue au cas simple.
RU. On prend la clause unitaire L = x sans perte de généralité La réduction unitaire dans
le cas général c’est remplacer
A = x(x + F1 )(x + F2 ) · · · (x + Fm )(G1 + x̄)(G2 + x̄) · · · (Gn + x̄) par G = G1 G2 · · · Gn .
avec les Gi ne contiennent pas la variable x.
Si v est un modèle de A ([A]v = 1). Alors [x]v = 1 et [Gi + x̄]v = 1 pour 1 ≤ i ≤ n. Donc v(x) = 1
et [Gi ]v = 1 pour 1 ≤ i ≤ n. Il vient v est un modèle de la formule G.
L’autre sens . Supposons que G a un modèle v. Donc [Gi ]v = 1 pour 1 ≤ i ≤ n. On construit
l’assignation w(y) = v(y) si y 6= x et w(x) = 1. Alors [x]w = 1 et [x + Fi ]w = 1 pour tout 1 ≤ i ≤ m.
En même temps, [x̄ + Gi ]w = max([x̄]w , [Gi ]w ) = max(0, [Gi ]w ) = [Gi ]w = [Gi ]v = 1.
Donc w est un modèle de A.
3. Soit une formule F qu’on veut étudier la validité. Questions F ?
Comme D.P ne garde que la satisfaisabilité, on répond plutôt à la question ¬F est-elle sati-
safaisable? Les deux questions sont équivalente. (F est valide ssi ¬F est insatisfaisable).
Donc on transforme ¬F en produit de clauses (FNC). On étudie la satisfaisabilité de
l’ensemble des clauses obtenu par Davis-Putnam. Si l’ensemble est insatisfaisable alors
F est valide. Si l’ensemble est satisfaisable alors F n’est pas valide.
4.
bool fonction DP ( Γ ensemble de clauses non valides, v assignation) La
fonction retourne vrai si et seulement si Γ est satisfaisable avec v modèle
de Γ s’il est satisfaisable.
Exercice 9 . (***)
Montrez que la règle de résolution est complète pour la réfutation, autrement dit que pour tout ensemble
contradictoire de clauses Γ, il existe une preuve de l’absurde (la clause vide ) à partir des clauses de Γ
n’utilisant que la règle de résolution.
Exercice 10 .
Montrez que la règle de résolution n’est pas complète pour la déduction, c’est-à-dire qu’il existe un ensemble
Γ d’hypothèses et une conclusion C telles que Γ C, mais C ne s’obtient pas en conclusion de résolution.
8 /9
Réponse:
Il faut donne un contre exemple, pour montrer que la résolution n’est pas complète. C’est
à dire donner un ensemble Γ et C tels que Γ C mais Γ 6` C.
Tout simplement si on prend Γ = {a, b} et C = a + b, on a bien évidement
a, b a + b.
Exercice 11 .
Proposez un algorithme simple qui, étant donné un ensemble fini Γ d’hypothèses et une conclusion C,
décide si Γ ` C, en utilisant la règle de résolution.
Réponse:
Fonction Résolution : Répondre Vrai ssi Γ ` C où Γ est un ensemble de clauses et C est
une clause.
9 /9