Professional Documents
Culture Documents
De Cuong On Tap Datalog
De Cuong On Tap Datalog
Tp trung:
- Tnh quan h v phi (thn qui tc) thut ton
- Tnh biu thc quan h
Gii phng trnh i s quan h
+ Datalog quy
+ Datalog khng quy
Chng I. Ngn ng logic bc nht:
a/. Herbrand
Gi s P l chng trnh Datalog. Lc :
V tr Herbrand ca P, k hiu UP, l tp tt c cc hng thc nn ca P (xy dng t cc
hng).
C s Herbrand ca P, k hiu BP, l tp tt c cc nguyn t nn ca P (xy dng t cc k
hiu v t).
Th hin Herbrand hoc n gin ta ch gi l th hin, l mt tp con I bt k ca c s
Herbrand BP ca P.
- Nu A I, ta ni rng s kin A ng trong I v vit I
A.
- Nu A BP nhng A I, ta ni rng A sai trong I v vit I
A.
r2 : p(s(X)) p(X)
r3 : q(X,a,X) p(X)
r4 : q(X,s(Y),s(Z)) q(X,Y,Z)
Gii
U= {a, s(a), s(s(a)),...}
HB={p(a), p(s(a)),..., q(a,a,a), q(a,a,s(a)), q(a,a,s(s(a)),..., q(a,s(a),a), q((a,s(s(a)),a),...}
Ta nh ngha mt php th hin Hebrand ca ngn ng L nh sau :
Hng a c gn bi chnh n.
K hiu hm s c gn bi nh x : sI : X s(X), XU
K hiu v t p c gn bi nh x : pI : x true xU
K hiu v t q c gn bi nh x : qI : (x,y,z) true nu : n(x) + n(y) = n(z) trong
n(t) l s k hiu s c mt trong hng thc t.
Nhn xt: i vi mi php th hin Herbrand th php gn cc hng, cc k hiu hm l khng
thay i, ch khc l php gn cc k hiu v t. Nh vy cc php th hin Herbrand ch khc
nhau bi gi tr chn l ca cc nguyn t nn.
Gi I l tp tt c cc nguyn t nn c gi tr chn l l true trong c s Herbrand. Tp hp I
c gi l php th hin Herbrand.
V d 1.11 Cho ngn ng bc nht L bao gm :
- Hng a,b,c
- K hiu v t p,q,r
- V t p, q
- Chng trnh logic P:
r(a,b)
r(b,c)
p(X,Y) r(X,Y)
q(X,Y) r(X,Z)p(Z,Y)
Gii
U={a,b,c}
HB={r(a,b),r(b,c),r(a,c),r(b,a),r(c,b),r(c,a),r(a,a),r(b,b),r(c,c),
p(a,b),p(b,c),p(a,c),p(b,a),p(c,b),p(c,a),p(a,a),p(b,b),p(c,c),
q(a,b),q(b,c),q(a,c),q(b,a),q(c,b),q(c,a),q(a,a),q(b,b),q(c,c)}
Tp I = {r(a,b), p(a,b), q(b,c)} l php th hin Herbrand:
rI : (a,b) true
(x,y) false (x,y) (a,b)
pI : (a,b) true
(x,y) false (x,y) (a,b)
qI : (a,b) true
(x,y) false (x,y) (b,c)
(Xem li kt qu)
V d 1.13 Xt chng trnh Datalog P gm cc quy tc nh sau:
q(a,b)
q(b,c)
p(X,Y) q(X,Y)
p(X,Y) p(X,Z) p(Z,Y)
V tr Herbrand ca P l UP = { a, b, c }
rule
p1(X, Y) r1(X, Y)
p1(X, Y) r1(x, Z) ^ p1(Z, Y)
p2(X, Y) r2(X, Y)
p2(X, Y) r2(X, Z) ^ p2(Z, Y)
p3(X, Y) p1(X, Z) ^ p2(Z, Y)
u = {a, b, c, d}
I1 = {r1(a, b), r2(a, c), p1(a, a), p2(a, b), p2(b, b), p3(a, a)}
I2 = {r1(a, b), r1(a, d), r2(a, c), r2(b,c), p1(a, b), p1(a, d), p2(a, c), p2(b, c), p3(a,c)}
I1, I2 c phi l m hnh?
Gii
Xt cc lut trn I1, ta c r(a, d) false nn I1 khng phi m hnh.
Xt cc lut trn I2:
- phn fact tha mn
- phn rule: p1(X, Y) = true; p2(X, Y) = true; p3(X, Y) = ?, cn chng minh p3 = true
Ta c:
p1(a, b) = true
p1(X, Z) = true
nn
p2(b, c) = true
p2(Z, Y) = true
p3(X, Y) = true
I2 l m hnh
V d 1.12 Cho chng trnh logic P :
r(a)
p(X) q(X)
q(X) p(X)
q(X)
q(X)
p(X)
C s HB = { r(a), p(a), q(a)}
I1 = { r(a), p(a) } v I2 = { r(a), q(a) } l cc m hnh cc tiu.
P khng c m hnh nh nht.
Bi tp:
BT1: r(a)
s(b)
p(X) r(X)
q(X) r(X)
Trong cc tp d liu sau, tm tp m khi thay vo cc rule u cho gi tr true?
I0 = {r(a), s(b), p(a), q(a)} (ng)
I1 = {r(a), s(b), p(a), q(a), p(b)} (sai do p(b) sai)
I2 = {r(a), s(b), p(a), q(a), q(b)} (sai do q(b) sai)
I3 = I1 {q(b)} (sai nh I2)
Gii: Tp tha mn l tp: I1
Chng 2: Chng trnh Datalog
1/. Khi nim:
Chng trnh Datalog = chng trnh logic dng khng cha k hiu hm => TP n iu
tng
=> LFP(TP) m hnh nh nht ca chng trnh Datalog
2/. Tm m hnh nh nht chng trnh Datalog
(Da vo Mnh 2.1 Sch gio trnh trang 45)
Cho P l chng trnh Datalog: M hnh nh nht ca P l gii hn ca dy TPn, nN, trong
TP0 = ; TP(i+1)= TP(TPi)
T mnh ny ta c thut ton:
Thut ton 2.1
Vo: Chng trnh Datalog P v DB l CSDL EDB cho.
Ra: M hnh nh nht ca P.
Phng php: Thut ton c vit theo ngn ng ta Pascal nh sau:
I := ;
J :=Tp(DB);
I := J;
J := TP(DBI);
End;
output I;
Ch :
- V t xut hin c u v thn qui tc c gi l IDB
- V t xut hin trong thn qui tc nhng khng xut hin u qui tc gi l EDB
N 1.9 (ti liu) Ch : Cc v t EDB ch xut hin trong thn ca quy tc cn cc v t IDB c
th xut hin c thn v u ca quy tc. V t c ci sn ch c xut hin trong thn quy
tc.
3/. Quan h v phi qui tc (quan h trong thn qui tc)
VD: 1) p(x,y) r(x,y)
2) p(x,y) p(x,z) p(z,y)
ng vi qui tc (1) quan h v phi l R(x,y)
(2) quan h v phi l xy ( p ( x, z ) >< p( z , y )
Quan h tng ng vi v t p: R x, y xy
4/. V t xy dng trong
Trong chng trnh Datalog, ngi ta thm v t so snh s hc v phi qui tc gl v t xy
dng trong.
- t1 t2 =, , <, <=, >, >=
- Tp n iu tng tn ti im bt ng nh nht
5/. nh gi chng trnh Datalog
a/. Khng qui (sch trang 52) thut ton 3.1
VD 3.6 Sch (trang 54) (V d 2.7 ti liu trang 30)
Cho quy tc r :
p(X,Y) q(a,X) r(X,Z,X) s(Y,Z)
Tm quan h i vi thn qui tc r?
Gi s Q, R v S l cc quan h tng ng vi cc ch con q, r, s. Bi v ch con u tin i
hi cc b ca Q c thnh phn u tin l a nn ta cn xy dng mt quan h vi thuc tnh l X
v ch cha cc thnh phn th hai ca nhng b ny, nh vy ta nh ngha quan h :
T(X) = 2 ( $1 a (Q ))
T(X) = 2 ( $1 a (Q )) c xy dng t bc 1 ca thut ton t ch con u tin q(a,X) ca
quy tc cho, T(X) chnh l Q1 trong thut ton.
Quan h R c thnh phn th nht v thnh phn th ba l cc bin ging nhau nn ta nh ngha
quan h i vi ch con ny :
U(X,Z) = 1, 2 ( $1$3 ( R ))
U(X,Z) = 1, 2 ( $1$3 ( R )) l Q2 c xy dng t ch con th hai r(X,Z,X).
Q3 c xy dng t ch con th ba S(Y,Z) chnh l S(Y,Z).
Do quy tc ny khng c cc ch con xy dng trong nn bc 2 v bc 4 c b qua. Vy
:
EVAL-RULE(r,Q,R,S) = T(X) U(X,Z) S(Y,Z) l biu thc cui cng ca thn quy tc
ny.
Quan h ny bao gm cc b (x,y,z) tha mn :
1. (a,x) thuc Q
2. (x,z,y) thuc R v y=x
3. (y,z) thuc S
V d 3.7 Xt quy tc:
XY ( $3a ( R )
YZ ( $2a (Q))
$1 ( R )
P ( X , Y , Z ) r1 ( X , Y , a ) r2 ( X , Z , Z ) r3 (Y , b) Y Z X b
Y Z X b ( XY ( $3a ( R1)) >< XZ ( $2$3 ( R 2)) ><Y ( $2b ( R3)) ><$2 ( R 2) ><{b}( X )
C ( X , Y ) X ,Y ( P ( X , X p )
P (Y , Z )))
P (Y , Y p ) S ( X P , Y p ))
X ,Y ( P ( X , X p ) P (Y , Y p ) C ( X P , Y p ))
R ( X , Y ) S ( X , Y ) X ,Y ( R ( X , Z )
P (Y , Z )) X ,Y ( R ( Z , Y )
P ( X , Z ))
VD: r1, r2 l cc v t EDB vi quan h R1, R2 tng ng cho, cc v t IDB p1, p2, p3, p4 c
quan h cn tm t chng trnh datalog nh sau:
p2(X, Y) r1(X, Z) ^ r2(Z, Y)
p1(X, Y) r1(X, Z) ^ p2(Z, Y)
p1(X, Y) r2(X, Z) ^ p3(Z, Y)
p3(X, Y) p4(X, Z) ^ r2(Z, Y)
p4(X, Y) r1(X, Y)
Tm chng trnh datalog?
Gii
V ra th, ta thy
Sau khi sp xp li ta c:
p1(X, Y) r1(X, Z) ^ r2(Z, Y)
p4(X, Y) r1(X, Z) ^ p1(Z, Y)
p4(X, Y) r2(X, Z) ^ p3(Z, Y)
p3(X, Y) p2(X, Z) ^ r2(Z, Y)
p2(X, Y) r1(X, Y)
Phng trnh i s quan h biu din nh sau:
p1 XY ( R1 ><R2 )
p2 XY R1
p2 R1
p3 XY ( p2 ><R2 )
p4 XY ( R1 >< p1 ) U XY ( R2 >< p3 )
* Chng trnh Datalog an ton
Cc qui tc an ton: Sch trang 49
- Bin b chn
VD: p(x,y) q(x,z);
x, z b chn
p(x,y) q(x)Y=X
* Vit chng trnh Datalog qui
th G(p) c chu trnh khng thc hin c sp xp tp ca cc v t trong chng trnh
Trong trng hp ny, h phng trnh i s quan h c gii bng phng php lp (da
trn nguyn l im bt ng)
p1 R1 U XY ( R1 >< p1 )
p2 R2 U XY ( R2 >< p2 )
p3 XY ( p1 >< p2 )
R1
ab ac bd de
ab ac bd de
ab ac bd de
R2
ba ad df
ba ad df
ba ad df
p1
p2
1
2
ab ac bd de
ba ad df
3
ab ac bd de
ba ad df
ad be
bd af
4 ab ac bd de
ba ad df
ab ac bd de
ba ad df
ad be
bd af
ae
bf
5 ab ac bd de
ba ad df
ab ac bd de
ba ad df
ad be
bd af
ae
bf
Bc 5 khng c pht sinh g mi so vi bc4 nn dng.
p3
aa bf
aa bf
ad af
aa bf
ad af