Deduktív adatbázisok
Post on 21-Jan-2016
44 Views
Preview:
DESCRIPTION
Transcript
Deduktív adatbázisok
Adatbázisok típusai:
normál (OLTP)elemi adat elemi adat
DSS (OLAP)elemi adat összesítő adat
DSS (DM)elemi adat szabály
deduktívelemi adat, szabály elemi adat
nem igazán terjedt el:számolásigényes műveletekmég kerestetik egy hatékony megoldás
predikátum kalkulusok elvén nyugszik
Szignatúra: = (S,,)
aholS ={s} : típusok véges halmazaS* ={s1s2s3..sn} : típusok véges listája = {w,s | w S*, s S} : függvényhalmazok véges halmaza w: argumentumok típuslistája s : érték típusa f w,s : s típusú, w argumentumú függvény = {w | w S*} : predikátumhalmazok véges halmaza w: argumentumok típuslistája
p w : w argumentumú predikátum az üres listát jelöli.s : konstans szimbólum : logikai változó
számhalmazok példája
= (S,,)
ahol
S ={Z, Q} : egész és racionális számok ,Z = {..,-4,-3,-2,-1,0,1,2,..} ,Q = {..,-4/3,-4/2,-4/1,-3/2,..} ZZ,Q = {osztás} QQ,Q = {szorzás} Q,Z = {egészrész} ZZ ={osztja} Q ={egész}…
Szimbólum (term):T(X) = {T(X)s | s S}
ahol = (S,,) : szignatúraX = {Xs | s S} :változóhalmazok véges halmaza
és x Xs x T(X)s :
:minden változó szimbólum ti T(X)si , f s1s2s3..,s f(t1,t2,..) T(X)s
: a függvényhivatkozások is szimbólumok
minden szimbólum típussal rendelkezik
T () : alapszimbólumok halmaza (változó nélküliek)
szigorú típus: T ()
számhalmazok példája
T(X)
ahol
XZ ={i,j,k,l,m,n}XQ ={p,q,r,s,t}
i T(X)Z
q T(X)Q
1 T(X)Z
3/2 T(X)Q
szorzás(3/3,4/2) T(X)Q
szorzás(q,4/2) T(X)Q
osztás (4, egészrész(5/2)) T(X)Q
…
Atomi formulák:A(X) = {p(t1,t2,..) }
ahol = (S,,) : szignatúraX = {Xs | s S} :változóhalmazok véges halmazati T(X)si
p(t1,t2,..) s1s2
A() : alapatomok halmaza (változó nélküliek)
osztja(5,4)osztja(i,j)egész(4/3)egész(q)egész(osztás(4,i))
Formulák:F(X)
aholtrue, false F(X)W A(X) W F(X)W F(X) W F(X)W1,W2 F(X) W1W2 F(X)W1,W2 F(X) W1W2 F(X)W1,W2 F(X) W1W2 F(X)W1,W2 F(X) W1W2 F(X)W F(X), x X x(W) F(X)W F(X), x X x(W) F(X)
F(X)
osztja (4, egészrész(5/2))osztja(i,3) osztja(i,5)osztja(i,6) osztja(i,2)i(osztja(i,2)) j(osztja(2,j)
Szabad változók: free(W)- atomi kifejezések változói
osztja(i,3)- nem kötöttek kvantorhoz
osztja(i,6) osztja(i,2)Kötött változók: bound(W)
- kvantorhoz kötötti(osztja(i,2)) j(osztja(2,j)
-lezárt Y-ra: Y(W) = x1x2..(W)
aholY X{x1x2..} = free(W)/Y
-lezárt: (W) = (W)
-lezárt Y-ra: Y(W) = x1x2..(W)
aholY X{x1x2..} = free(W)/Y
-lezárt: (W) = (W)
minden változó csakegy kvantorhoz köthető
- interpretációI = I (D,F,R)
ahol (S,,) : szignatúraD = {Ds | s S} :domain-ek halmaza a típusokhozF = {Fw,s | w,s }Fw,s = {f’:Ds1Ds2 … Ds | f s1s2,s}R = {Rw | w }Rw = {p’ Ds1Ds2 … | p s1s2}
- értékeket rendelünk a típusokhoz- konkrét leképzési szabályokat definiálunk- konkrét predikátumokat definiálunk (mikor lesz true és false)
*
Változó-helyettesítés: = {s | s S}s: Xs Ds
Szimbólum kiértékelés: = {s | s S}s: T(X)s Ds
szorzás(q,4/2) Q(q) = 3/1
F: (szorzas(x,y)) x*y s (szorzás(q,4/2)) = 6/1
minden változó egy domain-beli értéket kap
*
Változó-helyettesítés módosítása:<x1/d1,x2/d2,…>
ahol<x1/d1,x2/d2,…>(y) = di, ha y = xi
(y) különben
Formula kiértékelés : F(X) {true, false}
ahol (p(t1,t2,..)) = true, ha ((t1), (t2)..) p’
false, különben
az összetett formulák kiértékelésénél az operátorok interpretációja a megszokott értelmű (de lehetne más is)
Modell fogalma:I(W) modellje W-nek, ha (W) = true
aholI: I (D,F,R) interpretációW F(X) : formula
I(W) modellje V={W}-nek, ha
W V : (W) = true
készíts modellt az alábbi formulákhoz:(x=y y < 4, x>y x=3)
*
Formulák ellentmondás-mentessége:A V(W) kielégíthető, ha létezik modellje
Formulák szemantika konzekvenciája: V |= W
haV minden modellje egyben W-nek is modellje
Ekkor V |= W akkor és csak akkor, ha V{W} ellentmondásos, nem kielégíthető.
*
Formulák normál alakja
Konjuktív normálforma:W = Q1x1Q2x2…W’
aholQ {, }W’ : kvantormentesW’ = (L11 L12 ..) (L21 L22 ..) .. L: literál, azaz atomi formula vagy
negált atomi formula
Skolem normálforma:W = Q1x1Q2x2…W’
aholW : konjuktívQ {} *
A konjuktív normálformák skolem normálformára hozhatók
A kvantor eliminálásának lépései:
- A létezik kvantorhoz tartozó változók eliminálódnak
- A kivett változó helyettesítődik egy olyan függvénnyel, mely a tőle kisebb minden kvantorhoz kötött változókon értelmezett
x y z v (p (x,y,z,v)) => y z (p (a, y, z, b(y,z)))
*
Klauza:W = (L11 L12 ..)
aholL: literál, azaz atomi formula vagy
negált atomi formulaW : -lezárt
Horn klauza:W maximum egy pozitív literált tartalmaz
Klauza normálforma:W = W1 W2 ..Wi :klauza
*
Herbrand interpretációk
H-univerzum: T () H-bázis: A(X) H-interpretáció: alaphalmaz a H-univerzum,
minden függvény maga által reprezentált
Herbrand-modell: H-interpretáció és modell egyben
A klauzák halmazára teljesül, hogy
- ha van modellje, akkor van Herbrand modellje is- akkor és csak akkor ellentmondásos, ha nincs
Herbrand modellje
Deduktív rendszer:D = (F,S)
aholF F(X) : formulák halmazaS = {Si} : deduktív szabályok halmazaSi = W1W2.. /W :szabály(azt jelzi, hogy W1,W2,..-ből következik W) /W : axióma
W levezetése D-ből:W1W2…Wn
aholWn = WWi F vagy Sj S: Sj = Wi1Wi2 …/Wi ,ij<i
Jelölés: F |- W *
S: /W1(W2 W1) /(W1 (W2 W3)) ((W1 W2) (W1 W3)) W1 W2,W1 / W2
W: p p
levezetés:1: /(p (W p)) ((p W) (W)) 2: /p (W p)
3: (p (W p)) ((p W) (W)), p (W p) / (p W) W
4: (p W) W, p W / W
*
Változó helyettesítés:: X T(X)
ahol = {s} s = Xs T(X)s
jelölés:
[x/ (x),…]
Változó átnevezés:: X X
ahol = {s} s = Xs Xs
jelölés:
[x/ (x),…]
Kifejezés előfordulása:E
ahol E:kifejezés :helyettesítés
Kifejezés előfordulásainak halmaza|E|
Általánosabb kifejezés:E1 E2
ha|E1| |E2|
Alaphelyettesítések:||E|| = |E| T(X)
Általánosabb helyettesítés: 1 2
ha 3: 2 = 1 3
Unifikátor:olyan helyettesítés, mely két kifejezéstazonos alakra hoz
E1 = E2 (E1 = E2)Egyenlethalmaz:
C = {Ci} = {(Ei1 = Ei2)}C megoldható, ha
: (Ei1 = Ei2) C : Ei1 = Ei2 Általános unifikátor:
mgu(C) = ha
unifikátor és minden más unifikátornál általánosabb
Unifikációs algoritmusok:
C {A1 = A1} / C {A1 = A2}
C {p(t1,..) = p(r1,..)} / C {t1 = r1,..}
C {f(t1,..) = f(r1,..)} / C {t1 = r1,..}
C {x = x} / C
C {t = x} / C {x = t}, ha t X
C {x = t} / C[x/t] {x = t}
ahol : diszjunkt unió
Resolution elv:(p q) (p r) (q r)
szabályok: C1 {A1}, C2 {A2} / C1 C2, mgu(A1, A2)
C {L1 L2} / C {L1}, mgu(L1, L2)
Tétel:W |- C W |= C
ésW |= C W {C} |- false
aholW:klauzák halmazaC :klauza
*
W = {{r(x) , p(x)},{p(a)},{s(a)}} = {{r(x) p(x)} {p(a)} {s(a)}}C = x(s(x) r(x))
levezetés: C = { s(x) r(x)}
{r(x) p(x)} {p(a)} / {r(a)}
{ s(x) r(x)} {s(a)} / { r(a)}
{r(a)} { r(a)} / false
tehát valóban következménye C a W-nek
*
top related