Documente Academic
Documente Profesional
Documente Cultură
2 / 43
Cuprins
3 / 43
Cazul logicii propozitionale
4 / 43
Sistem de deductie
Reguli de deductie:
P PQ P Q
(MP) (andl)
Q P Q
5 / 43
Sistemul de deductie
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
6 / 43
Sistemul de deductie
7 / 43
Sistemul de deductie
Deci putem construi multimi din ce n ce mai mari de atomi care sunt
consecinte logice din S, si pentru care exista derivari din S.
8 / 43
Completitudinea sistemului de deductie
9 / 43
Multimi de multimi
10 / 43
Multimi de multimi
11 / 43
Functii monotone
Exemplu
Fie urmatoarele functii fi : P({1, 2, 3}) P({1, 2, 3})
12 / 43
Puncte fixe
Teorema
Daca f : P(X ) P(X ) este monotona, atunci f are un cel mai mic
punct fix.
13 / 43
Clauze definite si functii monotone
fS (Y ) = Y Baza
{a A | (s1 . . . sn a) este n S,
s1 Y , . . . , sn Y }
14 / 43
Clauze definite si functii monotone
15 / 43
Cel mai mic punct fix
fS (Y ) = Y Baza
{a A | (s1 . . . sn a) este n S,
s1 Y , . . . , sn Y }
Exemplu
Pentru
cold wet
wet wet scotland
obtinem fS ({}) = {}, deci {} este cel mai mic punct fix.
De aici deducem ca niciun atom nu este consecinta logica a formulelor de
mai sus.
16 / 43
Exemplu
Exemplu
In sintaxa Prolog
fS (Y ) = Y Baza
cold. {a A | (s1 . . . sn a) este n S,
wet :- cold.
s1 Y , . . . , sn Y }
dry :- dry.
scotland :- wet, cold.
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 }.
17 / 43
Programe logice si cel mai mic punct fix
Teorema
Fie X este cel mai mic punct fix al functiei fS . Atunci
qX ddaca S |= q.
Intuitie: Cel mai mic punct fix al functiei fS este multimea tuturor
atomilor care sunt consecinte logice ale programului.
fS (Y ) = Y Baza
{a A | (s1 . . . sn a) este n S, s1 Y , . . . , sn Y }
unde A este multimea atomilor din S si Baza = {pi | pi S} este multimea atomilor
care apar n clauzele unitate din S.
18 / 43
Programe logice si cel mai mic punct fix
Demonstratie
() q X S |= q.
Functia fS conserva atomii adevarati.
Deci, daca fiecare clauza unitate din S este adevarata, dupa fiecare
aplicare a functiei fS obtinem o multime adevarata de atomi.
() q X S |= q.
Fie S |= q. Presupunem prin absurd ca q 6 X .
Cautam o interpretare I care face fiecare formula din S adevarata,
dar q falsa.
19 / 43
Programe logice si cel mai mic punct fix
Demonstratie (cont.)
Fie interpretarea
(
true, daca p X
I (p) =
false, altfel
Evident, aceasta interpretare face q falsa.
Aratam ca I |= P, pentru orice formula P S.
Fie P S. Avem doua cazuri:
1 P este o clauza unitate. Atunci P X , deci I |= P.
2 P este de forma p1 . . . pn r . Atunci avem doua cazuri:
exista un pi , i = 1, . . . , n, care nu este n X . Deci I |= P.
toti pi , i = 1, . . . , n, sunt n X . Atunci r fS (X ) = X , deci I |= r .
In concluzie I |= P.
20 / 43
Sistemul de deductie
Corolar
Sistemul de deductie pentru clauze definite propozitionale este complet
pentru a arata clauze unitate:
daca S |= q, atunci S ` q.
Demonstratie
Presupunem S |= q.
Atunci q X , unde X este cel mai mic punct fix al functiei fS .
Fiecare aplicare a functiei fS produce o multime demonstrabila de
atomi.
Cum cel mai mic punct fix este atins dupa un numar finit de aplicari
ale lui fS , orice a X are o derivare.
21 / 43
Metoda de decizie
22 / 43
Cazul calculului cu predicate
23 / 43
Logica de ordinul I
24 / 43
Limbaje de ordinul I
25 / 43
Logica de ordinul I
Exemplu
Un limbaj L de ordinul I n care:
R = {P, R}
F = {f }
C = {c}
ari(P) = 1, ari(R) = 2, ari(f ) = 2
26 / 43
Sintaxa Prolog
Atentie!
Sintaxa Prolog nu face diferenta ntre simboluri de functii si
simboluri de predicate!
27 / 43
Logica de ordinul I
Exemplu
28 / 43
Logica de ordinul I
Exemplu
29 / 43
Logica de ordinul I
Exemplu
30 / 43
Semantica
31 / 43
Modelarea unei lumi
32 / 43
Modelarea unei lumi
Exemplu Example U
NI VER
S
IT
TH
Y
O F
H
G
E
R
Sa consideram o lume n care avem cutii:
D I U
N B
d
c
a b
base
on = {(e, c), (c, a), (e, d), (d, b), (a, base), (b, base)}
33 / 43
Structura
Definitie
O structura este de forma S = (S, FS , PS , CS ), unde
S este o multime nevida
FS = {f S | f F} este o multime de operatii pe A;
daca f are aritatea n, atunci f S : S m S.
RS = {R S | R R} este o multime de relatii pe A;
daca R are aritatea n, atunci R S S m .
CS = {c S S | c C}.
34 / 43
Structura
Exemplu
Lumea n care avem cutii.
Limbajul L
R = {on}
F=
C=
ari(on) = 2
O structura S:
S = {base, a, b, c, d, e}
FS = .
CS = .
RS = {onS }, unde
onS = {(e, c), (c, a), (e, d), (d, b), (a, base), (b, base)} S 2 .
35 / 43
Interpretare
Definitie
O interpretare a variabilelor lui L n S este o functie
I : V S.
Definitie
Inductiv, definim interpretarea termenului t n S sub I (tIS ) prin:
daca t = xi V , atunci tIS := I (xi )
daca t = c C, atunci tIS := c S
daca t = f (t1 , . . . , tn ), atunci tIS := f S ((t1 )SI , . . . , (tn )SI )
36 / 43
Interpretare
37 / 43
Interpretare
38 / 43
Consecinta logica
Definitie
O formula G este o consecinta logica a formulelor F1 , . . . , Fn , notat
F1 , . . . , Fn |= G ,
Problema semidecidabila!
Nu exista algoritm care sa decida mereu daca o formula este sau nu
consecinta logica a altei formule in logica de ordinul I!
39 / 43
Logica clauzelor definite
40 / 43
Programare logica
41 / 43
Logica clauzelor definite
Exemplu
Fie urmatoarele clauze definite:
father (jon, ken).
father (ken, liz).
father (X , Y ) ancestor (X , Y )
dauther (X , Y ) ancestor (Y , X )
ancestor (X , Y ) ancestor (Y , Z ) ancestor (X , Z )
Putem ntreba:
ancestor (jon, liz)
daca exista Q astfel ncat ancestor (Q, ken)
(adica (Q)ancestor (Q, ken))
42 / 43
Pe saptamana viitoare!
43 / 43