Deduktív adatbázisok.

Slides:



Advertisements
Hasonló előadás
A digitális számítás elmélete
Advertisements

Predikátumok Dr. György Anna BMF-NIK Szoftvertechnológia Intézet.
Adatbázisrendszerek elméleti alapjai 2. előadás
Adatbázis rendszerek I Relációs kalkulus Általános Informatikai Tsz. Dr. Kovács László.
Diagnosztika szabályok felhasználásával, diagnosztikai következtetés Modell alapú diagnosztika diszkrét módszerekkel.
Probléma formálisan specifikált: valós világ (domai) (hibás eredmény) ködös határ (félreértés, hiba) formális világ (megoldás) A specifikáció csak nagyvonalakban.
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Lambda kalkulus.
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
Halmazok, műveletek halmazokkal
Műveletek logaritmussal
1 Előhang Világunk dolgainak leírásához gyakran használunk kijelentő mondatokat. Pl. Minden anya szereti gyerekeit. Júlia anya és Júlia gyereke Máté. Következmény:
Copyright, 2009 © Szlávi Péter A kupac és a prioritási sor típuskonstrukciók Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
Algebrai struktúrák 1.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Kétértékűség és kontextusfüggőség Kijelentéseink igazak vagy hamisak (mindig az egyik és csak az egyik) Kijelentés: kijelentő mondat (tartalma), amivel.
Kocsisné Dr. Szilágyi Gyöngyi. Elérehet ő ség: aszt.inf.elte.hu/~szilagyi/ aszt.inf.elte.hu/~szilagyi Fogadó óra: hétf ő
Kocsisné Dr. Szilágyi Gyöngyi. Elérehet ő ség: aszt.inf.elte.hu/~szilagyi/ aszt.inf.elte.hu/~szilagyi Fogadó óra: hétf ő
Kocsisné Dr. Szilágyi Gyöngyi
Kocsisné Dr. Szilágyi Gyöngyi
Kocsisné Dr. Szilágyi Gyöngyi. Elérehet ő ség: aszt.inf.elte.hu/~szilagyi/ aszt.inf.elte.hu/~szilagyi Fogadó óra: hétf ő
Turbo Pascal Változók.
Algebra a matematika egy ága
MI 2003/7 - 1 Az egyesítési algoritmus Minden kapitalista kizsákmányoló. Mr. Smith kapitalista. Mr. Smith kizsákmányoló.
Az informatika logikai alapjai
A SAT probléma különböző reprezentációinak vizsgálata oktatási szempontból (újratöltve) Az általánosítás fegyvere a kutatásban Kusper Gábor,
Fejezetek a matematikából
Logika 5. Logikai állítások Miskolci Egyetem Állam- és Jogtudományi Kar Jogelméleti és Jogszociológiai Tanszék március 10.
A TERMÉSZETTUDOMÁNYOK ALAPJAI 1. Matematika
Differenciál számítás
Integrálszámítás Mire fogjuk használni az integrálszámítást a matematikában, hova szeretnénk eljutni? Hol használható és mire az integrálszámítás? (már.
Bevezetés a matematikába I
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
6. SZÁMELMÉLET 6.1. Oszthatóság
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
Alphabet is a type specification = sorts: alphabet oprs: a:  alphabet,...,z:  alphabet end alphabet; nat is a type specification = sorts:nat oprs:zerus:
Nem determinisztikusság és párhuzamosság. A nem determinisztikusság a párhuzamosságban gyökeredzik. Példa: S par  parbegin x:=0   x:=1   x:=2 parend;
A számfogalom bővítése
Halmazok Összefoglalás.
Ficsor Lajos Template-ek CPP8/ 1 Template-ek. Ficsor Lajos Template-ek CPP8/ 2 A template fogalma Kiindulási probléma: tetszőleges típusokon kellene ugyanolyan.
LOGIKA (LOGIC).
LOGIKA (LOGIC).
Kifejezések. Algoritmus számol; Adott összeg; összeg:=0; Minden i:=1-től 5-ig végezd el Ha 2 | i akkor összeg:=összeg+2*i Ha vége Minden vége Algoritmus.
Természetes és formális nyelvek Jellemzők, szintaxis definiálása, Montague, extenzió - intenzió, kategóriákon alapuló gramatika, alkalmazások.
Függvényjelek (function symbols) (névfunktorok) FOL-ban Névfunktor: olyan kifejezés, amelynek argumentumhelyeire neveket vagy in- változókat lehet írni.
Koncepció: Specifikáció: e par exp i = eb imp bod ib Specifikáció elemzése: tulajdonságok felírása a koncepció alapján + tulajdonságok bizonyítása.
Copyright, 1999 © Szlávi Péter Sor típuskonstrukció Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
Az informatika logikai alapjai
MI 2003/6 - 1 Elsőrendű predikátumkalkulus (elsőrendű logika) - alapvető különbség a kijelentéslogikához képest: alaphalmaz. Objektumok, relációk, tulajdonságok,
Henkin-Hintikka-játék szabályai, kvantoros formulákra, még egyszer: Aki ‘  xA(x)’ igazságára fogad, annak kell mutatnia egy objektumot, amire az ‘A(x)’
Polinomok.
LOGIKA (LOGIC).
Deduktiv adatbázisok. Normál adatbázisok: adat elemi adat SQL OLAP adatbázisok: adat statisztikai adat OLAP-SQL … GROUP BY CUBE(m1,m2,..)
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
1 Relációs kalkulusok Tartománykalkulus (DRC) Sorkalkulus (TRC) - deklaratív lekérdezőnyelvek - elsőrendű logikát használnak - relációs algebra kifejezhető.
Algebrai logika Leibniz folytatói a 18. században: Lambert, Segner és mások. 19. sz., Nagy-Britannia: Aritmetikai és szimbolikus algebra. Szimbolikus algebra:
Az informatika logikai alapjai
Az informatika logikai alapjai
óra Műveletek a racionális számok halmazán
Kifejezések C#-ban.
Integrálszámítás.
A házi feladatokhoz: 1.5: Azonosság Jelölések a feladatszám alatt:
Atomi mondatok Nevek Predikátum
Programozás C# -ban Elágazások.
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
Nulladrendű formulák átalakításai
Bevezetés a matematikába I
ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Előadás másolata:

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 még kerestetik egy hatékony megoldás predikátum kalkulusok elvén nyugszik

Szignatúra:  =  (S,,) ahol S ={s} : típusok véges halmaza S* ={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 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úra X = {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úra X = {Xs | s S} :változóhalmazok véges halmaza ti  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) ahol true, false  F(X) W  A(X)  W  F(X) W  F(X)  W  F(X) W1,W2  F(X)  W1W2  F(X) W1,W2  F(X)  W1W2  F(X) W1,W2  F(X)  W1W2  F(X) W1,W2  F(X)  W1W2  F(X) W  F(X), x  X  x(W)  F(X) W  F(X), x  X  x(W)  F(X)

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ött i(osztja(i,2))  j(osztja(2,j) 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)

-lezárt Y-ra: Y(W) = x1x2..(W) ahol Y  X {x1x2..} = free(W)/Y -lezárt: (W) = (W)  -lezárt Y-ra:  Y(W) =  x1x2..(W) (W) =  (W) minden változó csak egy kvantorhoz köthető

 - interpretáció I = I (D,F,R) ahol  (S,,) : szignatúra D = {Ds | s S} :domain-ek halmaza a típusokhoz F = {Fw,s |  w,s  } Fw,s = {f’:Ds1Ds2 …  Ds |  f  s1s2,s} R = {Rw |   w  } Rw = {p’  Ds1Ds2 … |  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}  (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 ahol I: 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 ha V 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’ ahol Q  {, } W’ : kvantormentes W’ = (L11 L12 ..)  (L21 L22 ..) .. L: literál, azaz atomi formula vagy negált atomi formula Skolem normálforma: W : konjuktív Q  {} *

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 ..) ahol L: literál, azaz atomi formula vagy negált atomi formula W : -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) ahol F  F(X) : formulák halmaza S = {Si} : deduktív szabályok halmaza Si = 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 Wn = W Wi  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 s = Xs  Xs

Kifejezés előfordulása: 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ést azonos 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) =   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 és W |= C  W  {C} |- false ahol W:klauzák halmaza C :klauza *

W = {{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 *