Documente Academic
Documente Profesional
Documente Cultură
2 / 31
Forma normală conjunctivă şi forma clauzală
3 / 31
Literali. FNC
Exemplu
Determinaţi FNC pentru formula
(¬p → ¬q) → (p → q)
¬(¬p → ¬q) ∨ (p → q)
¬(p ∨ ¬q) ∨ (¬p ∨ q)
(¬p ∧ q) ∨ (¬p ∨ q)
(¬p ∨ ¬p ∨ q) ∧ (q ∨ ¬p ∨ q)
(¬p ∨ q) ∧ (q ∨ ¬p)
6 / 31
FNCP şi forma clauzală în logica de ordinul I
Exemplu
∀y∃z ((P(f(y)) ∨ Q(z)) ∧ (¬Q(z) ∨ ¬P(g(z)) ∨ Q(y)))
este FNCP
7 / 31
Forma clauzală în logica de ordinul I
8 / 31
Literali, clauze, mulţimi de clauze
9 / 31
Clauze
10 / 31
Forma clauzală
11 / 31
Forma clauzală
12 / 31
Forma clauzală
Exemplu
În calculul propoziţional:
pentru a verifica satisfiabilitatea lui φ := (¬p → ¬q) → (p → q)
determinăm φfc := (¬p ∨ q) ∧ (q ∨ ¬p)
şi analizăm mulţimea de clauze {{¬p, q}, {q, ¬p}}.
În logica de ordinul I:
pentru a verifica satisfiabilitatea formulei
φ := ∀y∀z((P(f(y)) ∨ Q(z)) ∧ (Q(z) → (¬P(g(z)) ∨ Q(y))))
determinăm
φfc := ∀y∀z ((P(f(y)) ∨ Q(z)) ∧ (¬Q(z) ∨ ¬P(g(z)) ∨ Q(y)))
şi analizăm mulţimea de clauze
{{P(f(y)), Q(z)}, {¬Q(z), ¬P(g(z)), Q(y)}}
13 / 31
Deducţie şi satisfiabilitate
φ1 ∧ . . . ∧ φn → φ este echivalent cu
φ1 ∧ . . . ∧ φn ∧ ¬φ este satisfiabilă
14 / 31
Rezoluţie
15 / 31
Rezoluţia în calculul propoziţional (recap.)
16 / 31
Regula rezoluţiei
C1 ∪ {p}, C2 ∪ {¬p}
Rez
C1 ∪ C2
unde C1 , C2 clauze, iar p este variabila propoziţională astfel încât
{p, ¬p} ∩ C1 = ∅ şi {p, ¬p} ∩ C2 = ∅.
Propoziţie
Regula Rez păstrează satisfiabilitatea. Sunt echivalente:
mulţimea de clauze {C1 ∪ {p}, C2 ∪ {¬p}} este satisfiabilă,
clauza C1 ∪ C2 este satisfiabilă.
Exemplu
Exemplu
Fie C = {{¬q, ¬p}, {q}, {p}} o mulţime de clauze. O derivare prin
rezoluţie pentru din C este
C1 = {¬q, ¬p}
C2 = {q}
C3 = {¬p} (Rez, C1 , C2 )
C4 = {p}
C5 = (Rez, C3 , C4 )
Teorema de completitudine
φ dacă şi numai dacă există o derivare prin rezoluţie a lui din (¬φ)fc .
18 / 31
Procedura Davis-Putnam DPP (informal)
se alege o variabilă p
19 / 31
Procedura Davis-Putnam DPP
Exemplu
Este C0 = {{p, ¬r}, {q, p}, {q, ¬p, r}, {q, ¬r}} satisfiabilă?
Alegem variabila r şi selectăm C0r := {{q, ¬p, r}},
C0¬r := {{p, ¬r}, {q, ¬r}}.
Mulţimea rezolvenţilor posibili este R0 := {{q, ¬p, p}, {q, ¬p}};
Se observă că p, ¬p ∈ {q, ¬p, p} deci R0 := {{q, ¬p}}
Se elimină clauzele în care apare r şi se adaugă noii rezolvenţi
C1 := {{q, p}, {q, ¬p}}
Alegem variabila q şi selectăm C1q := {{q, p}, {q, ¬p}}, C1¬q := ∅.
Mulţimea rezolvenţilor posibili este vidă R1 := ∅.
Se elimină clauzele în care apare q şi se adaugă noii rezolvenţi
C2 := {} mulţimea de clauze vidă
Deoarece {} este satisfiabilă, rezultă că C0 este satisfiabilă.
21 / 31
Clauze închise
Teoremă
O mulţime de clauze C este satisfiabilă dacă şi numai dacă H(C) este
satisfiabilă. O mulţime de clauze C este nesatisfiabilă dacă şi numai dacă
există o submulţime finită a lui H(C) care este nesatisfiabilă.
22 / 31
Clauze închise
Exemplu
Cercetaţi satisfiabilitatea mulţimii de clauze
C1 ∪ {L}, C2 ∪ {¬L}
Rez
C1 ∪ C2
unde C1 , C2 clauze închise, iar L este o formulă atomică închisă astfel
încât {L, ¬L} ∩ C1 = ∅ şi {L, ¬L} ∩ C2 = ∅.
Propoziţie
Regula Rez păstrează satisfiabilitatea. Sunt echivalente:
mulţimea de clauze {C1 ∪ {L}, C2 ∪ {¬L}} este satisfiabilă,
clauza C1 ∪ C2 este satisfiabilă.
Teoremă
Fie φ o formulă arbitrară în logica de ordinul I. Atunci φ dacă şi numai
dacă există o derivare pentru din H(C) folosind Rez, unde C este
mulţimea de clauze asociată lui (¬φ)fc .
24 / 31
Rezoluţia pe clauze închise
Exemplu
Fie f, g simboluri de funcţii unare, P, Q simboluri de predicate unare.
Cercetaţi satisfiabilitatea formulei:
φ = ∀x((¬P(x) ∨ Q(f(x))) ∧ P(g(x)) ∧ ¬Q(x))
Determinăm forma clauzală:
C = {{¬P(x), Q(f(x))}, {P(g(x))}, {¬Q(x)}}
Pentru c o constantă obţinem următoarea derivare:
C1 = {¬P(g(c)), Q(f(g(c)))}
C2 = {P(g(c))}
C3 = {Q(f(g(c)))} Rez, C1 , C2
C4 = {¬Q(f(g(c)))}
C5 = Rez, C3 , C4
25 / 31
Rezoluţia pe clauze arbitrare
Observaţii:
Unificarea literalilor revine la unificarea argumentelor
Dacă σ : V → TrmL o substituţie, atunci sunt echivalente
σ(P(t1 , . . . , tn )) = σ(P(t′1 , . . . , t′n ))
σ(¬P(t1 , . . . , tn )) = σ(¬P(t′1 , . . . , t′n ))
σ(t1 ) = σ(t′1 ), . . . , σ(tn ) = σ(t′n )
C1 , C2
Rez
(σC1 \ σLit1 ) ∪ (σC2 \ σLit2 )
27 / 31
Rezoluţia în logica de ordinul I
Exemplu
Găsiţi un rezolvent pentru clauzele:
C1 = { P(f(x), g(y)), Q(x, y)} şi
C2 = {¬P(f(f(a)), g(y)), Q(f(a), g(y))}
redenumim variabilele pentru a satisface condiţiile din Rez
θC2 = {¬P(f(f(a)), g(z)), Q(f(a), g(z))} unde θ = {y ← z}
determinăm Lit1 şi Lit2
Lit1 = { P(f(x), g(y))} şi Lit2 = {¬P(f(f(a)), g(z))}
găsim un cgu σ care este unificator pentru
Lit1 = { P(f(x), g(y))} şi Litc2 = {P(f(f(a)), g(z))}
σ = {x ← f(a), y ← z}
Rezolventul este C = (σC1 \ σLit1 ) ∪ (σ(θC2 ) \ σLit2 )
C = {Q(f(a), z), Q(f(a), g(z))}
28 / 31
Rezoluţia în logica de ordinul I
Teoremă
O mulţime de clauze C este nesatisfiabilă dacă şi numai dacă există o
derivare a clauzei vide din C prin Rez.
29 / 31
Rezoluţia în logica de ordinul I
Exemplu
Găsiţi o derivare a din C = {C1 , C2 , C3 , C4 } unde:
C1 = { ¬P(x, y), P(y, x) }
C2 = { ¬P(x, y), ¬P(y, z), P(x, z) }
C3 = { P(x, f(x)) }
C4 = { ¬P(x, x) }
C ′3 = { P(x1 , f(x1 )) } redenumire în C3
C5 = { P(f(x), x) } Rez, σ = {x1 ← x, y ← f(x)}, C1 , C ′3
C′′3 = { P(x2 , f(x2 )) } redenumire în C3
C6 = { ¬P(f(x), z), P(x, z) } Rez, σ = {x2 ← x, y ← f(x)}, C2 , C′′3
C′5 = { P(f(x3 ), x3 ) } redenumire în C5
C7 = { P(x, x) } Rez, σ = {x3 ← x, z ← x}, C6 , C′5
C′4 = { ¬P(x4 , x4 ) } redenumire în C4
C5 = Rez, σ = {x4 ← x}, C7 , C′4
30 / 31