130 likes | 261 Views
Deduktiv adatbázisok. Normál adatbázisok:. SQL. adat. elemi adat. OLAP adatbázisok:. OLAP-SQL. adat. statisztikai adat. … GROUP BY CUBE(m1,m2,..). Deduktiv adatbázisok. SQL. adat. adat. szabály. DM adatbázisok. DM. adat. adat. szabály. Deduktiv adatbázisok. tény (adat).
E N D
Normál adatbázisok: SQL adat elemi adat OLAP adatbázisok: OLAP-SQL adat statisztikai adat … GROUP BY CUBE(m1,m2,..)
Deduktiv adatbázisok SQL adat adat szabály DM adatbázisok DM adat adat szabály
Deduktiv adatbázisok tény (adat) kalkulus formula szabály Predikátum logika
Predikátum logika Péter almát vásárol Vasarol (Peter, alma) Kor (Peter, 34) Kor(Zoli, X) Kor(X,Y) X Kor(X,56) • Nyelvtani elemek • ABC jelkészlet • változók • Logikai operátorok • Kvantorok • Logikai konstansok • Függvények • Predikátumok
Kifejezés, term (t) • Változó • Fv (t1,t2,..) Formulák (fr) • F, T • Pr (t1,t2,..) • NOT fr • fr1 AND fr2 • fr1 OR fr2 • fr1 fr2 • x (fr(x)) • x (fr(x))
Szabad változók kor(X,25) Kötött változók X (nagyobb (X,1)) Helyettesítés kor(X,25) {X/Peter} Interpretáció konstansok függvények predikátumok p(a,b)
Következtetések esik megázok Ekvivalens megadások X(ember(X) halando(X)) X(ember(X) halando(X)) X ((ember(X)halando(X)) X(ember(X) halando(X)) Prenexform: KX (KX … (A)) Klauselform: X (X …(A1 A2…))
Klauselform formára alakítás: implikáció átalakitás p -> q : not p OR q negációk atomokra átvitele de Morgan változók elnevezés szinkronizálás kvantor eliminálás X(p(X)) : p(a) konjuktiv alakra hozatal () Lekérdezés formula(X1,X2,..)
Adatbázis implementáció csak konstans, nincs más függvény minden predikátum egy táblázattal adott DOLGOZO (kod, nev, beosztas, fiz, osztaly) OSZTALY (kod, cím) Y,Z,S: (DOLGOZO(Y,Z,Q,R,S) R> 23)
Szabályok Dedukció Resolution P Q AND P R => Q R Modus ponens (P Q) (P) => Q Modus tollens (P Q) (Q) => P
Következtetés (|-) bizonyítása (P |- Q) bizonyítása: P Q lehetetlensége (p q) r |- p (q r) 1: ((p q) r) (p (q r)) 2: ((p q) r) (p (q r)) 3: ((p q) r ) ( p q r) 4: (p r ) (q r) p q r 5: (p r ) q p q lehetetlen
Linearis resolution Mindig egy új tag kerül bevonásra Közös alakra hozó változó helyettesítés Resolution alkalmazás Az eredmény lesz a következő lépés egyik operandusa ember(Sokrates) , ember(X) -> halando(X) ember(Sokrates) ( ember(X) halando(X)) X / Sokrates halando(Sokrates)