Documente Academic
Documente Profesional
Documente Cultură
2 / 34
Cum salvăm situţia?
3 / 34
Clauze propoziţionale definite
4 / 34
Clauze propoziţionale definite
O clauză definită este o formulă care poate avea una din formele:
1 q (clauză unitate) (un fapt în Prolog q.)
2 p1 ∧ . . . ∧ pk → q (o regulă în Prolog q :- p1 ,. . .,pk )
unde q, p1 , . . . , pn sunt variabile propoziţionale
(constante în Prolog).
Numim variabilele propoziţionale şi atomi.
5 / 34
Sistem de deducţie CDP
Reguli de deducţie:
P P→Q P Q
(MP) (andl)
Q P∧Q
6 / 34
Sistemul de deducţie CDP
P P→Q P Q
(MP) (andl)
Q P∧Q
Exemplu
oslo → windy
oslo → norway
norway → cold
cold ∧ windy → winterIsComing
oslo
oslo oslo → norway
norway → cold
norway oslo oslo → windy
cold windy
cold ∧ windy
7 / 34
Sistemul de deducţie CDP
P P→Q P Q
(MP) (andl)
Q P∧Q
Exemplu
oslo → windy
oslo → norway
norway → cold
cold ∧ windy → winterIsComing
oslo
8 / 34
Sistemul de deducţie CDP
S ⊢ Q,
dacă există o secvenţă de formule Q1 , . . . , Qn astfel încât Qn = Q şi
fiecare Qi :
fie aparţine lui S
fie se poate deduce din Q1 , . . . , Qi−1 folosind regulile de deducţie
(MP) şi (andl)
9 / 34
Sistemul de deducţie CDP
Deci putem construi mulţimi din ce în ce mai mari de atomi care sunt
consecinţe logice din S, şi pentru care există derivări din S.
10 / 34
Completitudinea sistemului de deducţie CDP
11 / 34
Puncte fixe. Teorema Knaster-Tarski
12 / 34
Mulţimi parţial ordonate
13 / 34
Mulţimi parţial ordonate complete
Exemplu
Fie X o mulţime şi P(X) mulţimea submulţimilor lui X.
(P(X), ⊆) este o cpo:
⊆ este o relaţie de ordine
∅ este prim element (∅ ⊆ Q pentru orice Q ∈ P(X))
∪ şir (numărabil) de submulţimi ale lui X Q1 ⊆ Q2 ⊆ . . .
pentru orice
evident n Qn ∈ P(X)
14 / 34
Funcţie monotonă
Exemplu
Fie următoarele funcţii fi : P({1, 2, 3}) → P({1, 2, 3}) cu i ∈ {1, 2, 3}
f1 (Y) = Y ∪ {1} este monotonă.
{
{1} dacă 1 ∈ Y
f2 (Y) = este monotonă.
∅ altfel
{
∅ dacă 1 ∈ Y
f3 (Y) = nu este monotonă.
{1} altfel
15 / 34
Funcţie continuă
Exemplu
Fie următoarele funcţii fi : P(N) → P(N) cu i ∈ {1, 2}.
16 / 34
Teorema de punct fix
17 / 34
Teorema Knaster-Tarski pentru CPO
Demonstraţie
Fie (C, ≤) o mulţime parţial ordonată completă şi F : C → C o funcţie
continuă.
∨
Arătăm că a = n Fn (⊥) este punct fix, i.e. F(a) = a
∨
F(a) = F( n Fn (⊥))
∨
= n F(Fn (⊥)) din continuitate
∨
= n Fn+1 (⊥)
∨
= n Fn (⊥) = a
18 / 34
Teorema Knaster-Tarski pentru CPO
Demonstraţie (cont.)
Arătăm că a este cel mai mic punct fix.
19 / 34
Completitudinea sistemului de deducţie CDP
20 / 34
Clauze definite şi funcţii monotone
Exemplu
oslo → windy
oslo → norway
norway → cold
cold ∧ windy → winterIsComing
oslo
Baza = {oslo}
21 / 34
Clauze definite şi funcţii monotone
fS (Y) = Y ∪ Baza
∪ {a ∈ A | (s1 ∧ . . . ∧ sn → a) este în S,
s1 ∈ Y, . . . , sn ∈ Y}
22 / 34
Clauze definite şi funcţii monotone
Demonstraţie
∪ ∪
Arătăm că dacă Y1 ⊆ Y2 ⊆ Y3 ⊆ . . . atunci fS ( k Yk ) = k fS (Yk ).
∪ ∪
Din faptul că fS este crescătoare rezultă fS ( k Yk ) ⊇ k fS (Yk )
∪ ∪ ∪
Demonstrăm în continuare că fS ( k Yk ) ⊆ k fS (Yk ). Fie a ∈ fS ( n Yk ).
Sunt posibile trei cazuri
∪
a ∈ k Yk ∪
Există un k ≥ 1 astfel încât a ∈ Yk , deci a ∈ fS (Yk ) ⊆ k fS (Yk ).
∪
a ∈ Baza ⊆ k fS (Yk )
∪
Există s1 , . . . , sn în k Yk astfel încât (s1 ∧ . . . ∧ sn → a) este în S.
23 / 34
Clauze definite şi funcţii monotone
Demonstraţie (cont.)
∪
Există s1 , . . . , sn în k Yk astfel încât (s1 ∧ . . . ∧ sn → a) este în S.
Pentru fiecare i ∈ {1, . . . , n} există ki ∈ N astfel încât si ∈ Yki .
Dacă k0 = max{k1 , . . . , kn } atunci Yki ⊆ Yk0 pentru orice
i ∈ {1, . . . , n}.
∪
Rezultă că s1 , . . . , sn ∈ Yk0 , deci a ∈ fS (Yk0 ) ⊆ k fS (Yk ).
24 / 34
Clauze definite şi funcţii monotone
fS (Y) = Y ∪ Baza
∪ {a ∈ A | (s1 ∧ . . . ∧ sn → a) este în S,
s1 ∈ Y, . . . , sn ∈ Y}
25 / 34
Clauze definite şi funcţii monotone
26 / 34
Cel mai mic punct fix
Exemplu
fS (Y) = Y ∪ Baza
cold → wet
∪{a ∈ A | (s1 ∧ . . . ∧ sn → a) este în S,
wet ∧ cold → scotland
s1 ∈ Y, . . . , sn ∈ Y}
Se observă că fS (∅) =∅, deci ∅ este cel mai mic punct fix.
De aici deducem că niciun atom nu este consecinţă logică a formulelor de
mai sus.
27 / 34
Exemplu
Exemplu
fS (∅) = { cold }
fS ({ cold }) = { cold, wet }
fS ({ cold, wet }) = { cold, wet, scotland }
fS ({ cold, wet, scotland }) = { cold, wet, scotland }
Deci cel mai mic punct fix este { cold, wet, scotland }.
28 / 34
Programe logice şi cel mai mic punct fix
Teoremă
Fie X este cel mai mic punct fix al funcţiei fS . Atunci
q∈X ddacă S |= q.
Intuiţie: Cel mai mic punct fix al funcţiei fS este mulţimea tuturor
atomilor care sunt consecinţe logice ale programului.
fS (Y) = Y ∪ Baza
∪{a ∈ A | (s1 ∧ . . . ∧ sn → a) este în S, s1 ∈ Y, . . . , sn ∈ Y}
unde A este mulţimea atomilor din S şi Baza = {pi | pi ∈ S} este mulţimea atomilor
care apar în clauzele unitate din S.
29 / 34
Programe logice şi cel mai mic punct fix
Demonstraţie
(⇒) q ∈ X ⇒ S |= q.
Funcţia fS conservă atomii adevăraţi.
Deci, dacă fiecare clauză unitate din S este adevărată, după fiecare
aplicare a funcţiei fS obţinem o mulţime adevărată de atomi.
(⇐) S |= q ⇒ q ∈ X.
Fie S |= q. Presupunem prin absurd că q ̸∈ X.
Căutăm o evaluare e care face fiecare clauză din S adevărată, dar q
falsă.
30 / 34
Programe logice şi cel mai mic punct fix
Demonstraţie (cont.)
Fie evaluarea {
1, dacă p ∈ X
e(p) =
0, altfel
Evident, această interpretare face q falsă.
Arătăm că e+ (P) = 1, pentru orice clauză P ∈ S.
Fie P ∈ S. Avem două cazuri:
1 P este o clauză unitate. Atunci P ∈ X, deci e(P) = 1.
2 P este de forma p1 ∧ . . . ∧ pn → r. Atunci avem două cazuri:
există un pi , i = 1, . . . , n, care nu este în X. Deci e+ (P) = 1.
toţi pi , i = 1, . . . , n, sunt în X. Atunci r ∈ fS (X) = X, deci e(r) = 1.
În concluzie e+ (P) = 1.
31 / 34
Sistemul de deducţie CDP
Corolar
Sistemul de deducţie pentru clauze definite propoziţionale este complet
pentru a arăta clauze unitate:
dacă S |= q, atunci S ⊢ q.
Demonstraţie
Presupunem S |= q.
Atunci q ∈ X, unde X este cel mai mic punct fix al funcţiei fS .
Fiecare aplicare a funcţiei fS produce o mulţime demonstrabilă de
atomi.
Cum cel mai mic punct fix este atins după un număr finit de aplicări
ale lui fS , orice a ∈ X are o derivare.
32 / 34
Metodă de decizie
33 / 34