deduktív adatbázisok

27
Deduktív adatbázisok

Upload: brock

Post on 21-Jan-2016

44 views

Category:

Documents


1 download

DESCRIPTION

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ív elemi adat, szabály  elemi adat. nem igazán terjedt el: számolásigényes műveletek - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Deduktív adatbázisok

Deduktív adatbázisok

Page 2: 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

Page 3: Deduktív adatbázisok

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ó

Page 4: Deduktív adatbázisok

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}…

Page 5: Deduktív adatbázisok

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 ()

Page 6: Deduktív adatbázisok

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

Page 7: Deduktív adatbázisok

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))

Page 8: Deduktív adatbázisok

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)

Page 9: Deduktív adatbázisok

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)

Page 10: Deduktív adatbázisok

-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ő

Page 11: Deduktív adatbázisok

- 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)

*

Page 12: Deduktív adatbázisok

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

*

Page 13: Deduktív adatbázisok

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)

Page 14: Deduktív adatbázisok

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)

*

Page 15: Deduktív adatbázisok

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ő.

*

Page 16: Deduktív adatbázisok

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 {} *

Page 17: Deduktív adatbázisok

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)))

*

Page 18: Deduktív adatbázisok

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

*

Page 19: Deduktív adatbázisok

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

Page 20: Deduktív adatbázisok

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 *

Page 21: Deduktív adatbázisok

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

*

Page 22: Deduktív adatbázisok

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),…]

Page 23: Deduktív adatbázisok

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)

Page 24: Deduktív adatbázisok

Á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

Page 25: Deduktív adatbázisok

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ó

Page 26: Deduktív adatbázisok

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

*

Page 27: Deduktív adatbázisok

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

*