J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK 060322.

Slides:



Advertisements
Podobné prezentace
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
Advertisements

Pojem FUNKCE v matematice
Deduktivní soustava výrokové logiky
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK Odpřednášeno
OBECNÉ OPTIMALIZAČNÍ MODELY
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Dualita úloh lineárního programování a analýza citlivosti
SIMPLEXOVÝ ALGORITMUS Řešení v tabulkovém procesoru
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
LOGISTICKÉ SYSTÉMY 6/14.
Spektra zatížení Milan Růžička 1 Dynamická pevnost a životnost
Vyhodnocování dotazů slajdy k LS I155 Jaroslav Pokorný.
Mechanika s Inventorem
Diskrétní matematika Opakování - příklady.
Aplikace teorie grafů Základní pojmy teorie grafů
Programování numerických výpočtů - návrh písemky.
PA081 Programování numerických výpočtů
Téma 3 Metody řešení stěn, metoda sítí.
Programovací jazyk Prolog
Algebra.
Induktivní logické programování
Metody řazení s lineární časovou složitostí
Lineární algebra.
Databáze Jiří Kalousek.
1 Vyhledávání Principy vyhledávání Klasifikace klíče:  Interní klíč – je součástí prohlížených záznamů  Externí klíč – není jeho součástí, je jím např.
Cvičení 13 Ing. Pavel Bednář
Základní číselné množiny
VÍCEKRITERIÁLNÍ ROZHODOVÁNÍ I.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace
SÍŤOVÁ ANALÝZA.
Jazyk vývojových diagramů
Projekt PŘEDPOVĚĎ POČASÍ. Předpověď počasí na
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Posloupnosti, řady Posloupnost je každá funkce daná nějakým předpisem, jejímž definičním oborem je množina všech přirozených čísel n=1,2,3,… Zapisujeme.
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
Church-Turingova teze Univerzální Turingův stroj Diagonalizace
Informatika I 2. přednáška
Test D-1 je sociometrická diagnostická metoda diagnostikující třídní kolektiv. Je zadávána prostřednictvím dotazníku, který je předložen všem jednotlivým.
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
ORIENTOVANÉ GRAFY V této části se seznámíme s následujícími pojmy:
F U N K C E.
Sémantická analýza Jakub Yaghob
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
Sčítání a odčítání zlomků
VII. Neutronová interferometrie II. cvičení KOTLÁŘSKÁ 7. DUBNA 2010 F4110 Kvantová fyzika atomárních soustav letní semestr
Jazyk vývojových diagramů
Informatika pro ekonomy II přednáška 10
Predikátová logika.
Databázové systémy Přednáška č. 3.
A. Soustavy lineárních rovnic.
Datové typy a struktury
Pascal - cykly.
Databázové modelování
Databázové systémy Informatika pro ekonomy, př. 18.
Turingův stroj.
Množiny.
Vektorové prostory.
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
Úvod do databázových systémů
ALGEBRAICKÉ STRUKTURY
PROLOG strategie vyhodnocení dotazu
Informatika pro ekonomy přednáška 8
Predikátová logika.
Transkript prezentace:

J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK

J. Pokorný 2 DATALOG - závislostní graf (1)  M 2 tvoří dokonce minimální model, tj. změníme-li v něm cokoliv, porušíme konzistenci.  M 1 netvoří minimální model. Pz.: při obou sémantikách obdržíme stejný výsledek. Nevýhody obou přístupů: neefektivní algoritmy v případě, že EDB je dána databázovými relacemi.  pomocí pevného bodu zobrazení Metoda: vyhodnocovací algoritmus+relační db stroj

J. Pokorný 3 DATALOG - závislostní graf (2) Df.: závislostní graf logického programu P R uzly: predikáty z R a IDB hrany: (U,V) je hrana, existuje-li pravidlo V :- … U... Př.: rozšíření původního příkladu M(x):- F(x,y) S‘(y,w) :- F(x,y), F(x,w), y  w B(x,y) :- S‘(x,y), M(x) C(x,y) :- F(x 1,x), F(x 2,y), S‘(x 1,x 2 ) C(x,y) :- F(x 1,x), F(x 2,y), C(x 1,x 2 ) F M S B

J. Pokorný 4 DATALOG - závislostní graf (3) R(x,y) :- S‘(x,y) R(x,y) :- R(x,z), F(z,y) R(x,y) :- R(z,y), F(z,x) kde C(x,y) … x je bratrancem (sestřenicí) y, tj. mají otce bratry R(x,y) … x je příbuzným y rekurzivní datalogický program R, C … rekurzivní predikáty Df.: Logický program je rekurzivní, existuje-li v jeho závislostním grafu cyklus. F M S‘ B C R

J. Pokorný 5 DATALOG - bezpečná pravidla Df.: bezpečné pravidlo Proměnnou x vyskytující se v pravidle nazveme omezenou, jestliže se vyskytuje v literálu L v těle tohoto pravidla, přičemž:  L je dán pravým predikátem, nebo  L má tvar x = a nebo a = x, nebo  L má tvar x=y nebo y=x a y je omezená. Pravidlo je bezpečné, jsou-li všechny jeho proměnné omezené. Př.: bezpečnost pravidel JE_VĚTŠÍ_NEŽ(x,y) :- x  y PŘÁTELÉ(x,y) :- M(x) S‘(y,w) :- F(x,y), F(x,w), y  w

J. Pokorný 6 Nerekurzivní DATALOG  jeho závislostní graf je acyklický  topologické uspořádání uzlů tak, že R i  R j implikuje i < j Pz.: uspořádání není dáno jednoznačně Př.: uspořádání F - M - S - B

J. Pokorný 7 Nerekurzivní DATALOG Princip algoritmu (pro jednu virtuální relaci): (1) U(x 1,…,x k ) :- V 1 (x i1,…,x ik ),…, V s (x j1,…,x js ) (2) pro U se provede (3) kroky (1), (2) se provedou pro všechna pravidla s U v hlavě a dílčí výsledky Pz.: vzhledem k acykličnosti a topologickému uspořádání lze vždy provést kroky (1), (2) na nějaké pravidlo převeď na spojení a selekce projekce na výsledek se sjednotí

J. Pokorný 8 Nerekurzivní DATALOG Př.: konvence: proměnná x  atribut X Přepis pravidla  C(x,y) :- F(x 1,x), F(x 2,y), S’(x 1,x 2 ) 1. krok: C(X1,X,X2,Y) = F(X1,X) * F(X2,Y) * S’(X1,X2) 2. krok: C[X,Y]  pro S’ S’(Y,W) = (F(X,Y) * F(X,W)) (Y  W)[Y,W]

J. Pokorný 9 Nerekurzivní DATALOG Další možnosti:  V(x,y) :- P(a,x), R(x,x,z), U(y,z) 1. a 2. krok: V(.,.) = (P(1=a)[2] * R(1=2)[1,3] * U)[.,.] Problém: v hlavě pravidla mohou být konstanty, resp. stejné proměnné, různé pořadí proměnných Požadavek na rektifikaci: transformace pravidel tak, aby hlavy se stejným predikátovým symbolem měly po řadě stejné proměnné

J. Pokorný 10 Nerekurzivní DATALOG Př.: P(a,x,y) :- R(x,y) P(x,y,x) :- R(y,x) zavedeme u, v, w substituce: P(u,v,w) :- R(x,y), u = a, v = x, w = y P(u,v,w) :- R(y,x), u = x, v = y, w = x  P(u,v,w) :- R(v,w), u = a, P(u,v,w) :- R(v,u), w = u Lemma: (1) Je-li pravidlo bezpečné, pak po rektifikaci také. (2) Původní a rektifikované pravidlo je ekvivalentní, tj. po jeho vyhodnocení obdržíme stejnou relaci.

J. Pokorný 11 Nerekurzivní DATALOG Tv.: Vyhodnocený program poskytuje pro každý predikát z IDB množinu tvrzení, která tvoří 1. množinu právě těch tvrzení, dokazatelných z EDB aplikací pravidel z IDB. 2. pro EDB + IDB minimální model. Důkaz: indukcí na pořadí pravidel.

J. Pokorný 12 Rekurzivní DATALOG Př.: POD_NAD(x,y):-PRACUJE_PRO(x,y) POD_NAD(x,y):-PRACUJE_PRO(x,z ), POD_NAD(z,y) v EDB je relace PRACUJE_PRO(Jméno_z,Vedoucí) Platí: PRACUJE_PRO  POD_NAD (PRACUJE_PRO * POD_NAD)[1,3]  POD_NAD POD_NAD* je tranzitivním uzávěrem relace PRACUJE_PRO*

J. Pokorný 13 Rekurzivní DATALOG  POD_NAD* je řešením rovnice (PRACUJE_PRO * POD_NAD)[1,3]  PRACUJE_PRO = POD_NAD Obecněji: pro IDB existuje soustava rovnic E i (P 1,…,P n ) = P i i=1,…,n Řešení soustavy závisí na EDB a tvoří pevný bod. Pz.: protože všechny použité operace A R jsou aditivní, pevný bod existuje a dokonce nejmenší.

J. Pokorný 14 Rekurzivní DATALOG Algoritmus: (Naivní) vyhodnocení Vstup: EDB = {R 1,…,R k }, IDB = {pravidla pro P 1,…,P n }, Výstup: nejmenší pevný bod P 1 *,…,P n * Metoda: použije se funkce eval(E) vyhodnocující relační výraz E for i:=1 to n do P i :=  ; repeat for i:=1 to n do Q i := P i ; {ulož staré hodnoty} for i:=1 to n do P i := eval(E i (P 1,…,P n )) until P i = Q i pro všechna i  1,n  Pz.: Jde o tzv. Gauss-Seidelovu metodu

J. Pokorný 15 Rekurzivní DATALOG Tv.: Vyhodnocovací algoritmus se zastaví a dá nejmenší pevný bod soustavy datalogických rovnic. Důkaz: (1) plyne z toho, že eval je monotónní a P i * vznikají z konečného množství prvků. (2) plyne z toho, že P i * je řešení soustavy a navíc je součástí každého řešení pro každé i. Dokazuje se indukcí podle počtu iterací. Začíná se od , která je součástí každého řešení. Nevýhody:  vytváření duplicitních n-tic  vytváření zbytečně velkých relací, chceme-li ve výsledku selekci P i *.

J. Pokorný 16 Rekurzivní DATALOG Metoda diferencí Idea: v (k+1). kroku iterace nepočítáme P i k+1, nýbrž D i k+1 = P i k+1 - P i k, tj. P i k+1 = P i k  D i k+1 a tedy P i k+1 = E i (P i k-1 )  E i (D i k ), protože E i je aditivní Změna eval pro P i danou jedním pravidlem: pincreval(E i (  P 1,…,  P n )) =  j=1..n eval(E i (…,P j-1,  P j,P j+1,…))

J. Pokorný 17 Rekurzivní DATALOG Změna eval pro P i danou s pravidly: increval(P k ;  P 1,…,  P n )) =  j=1..s pincreval(E j (  P 1,…,  P n )) Př.: increval(S’) =  increval(C) = (F(X1,X)*F(X2,Y)*  S’(X1,X2))[X,Y]  (F(X1,X)*F(X2,Y)*  C(X1,X2))[X,Y] increval( R ) =  S’(X,Y)  (  R(X,Y)*F(Z,Y))[X,Y]  (  R(Z,Y)*F(Z,X))[X,Y]

J. Pokorný 18 Rekurzivní DATALOG Algoritmus: (Polonaivní)vyhodnocení Vstup: EDB = {R 1,…,R k }, IDB = {pravidla pro P 1,…,P n }, Výstup: nejmenší pevný bod P 1 *,…,P n * Metoda: 1  se použije funkce eval a na diference increval for i:=1 to n do  P i := eval (E i ( ,…,  )); repeat for i:=1 to n do  Q i :=  P i ; {ulož staré diference} for i:=1 to n do begin  P i := increval(E i ;(  Q 1,…,  Q n, P 1, …, P n ))  P i :=  P i - P i {odstraň duplicity} end ; for i:=1 to n do P i := P i   P i until  P i =  pro všechna i  1,n 

J. Pokorný 19 Rekurzivní DATALOG Tv.: Vyhodnocovací algoritmus se zastaví a  dá NPB soustavy datalogických rovnic,  NPB odpovídá právě těm tvrzením, která jsou dokazatelná z EDB pomocí pravidel z IDB. Př.: R(x,y) :- P(x,y) R(x,y) :- R(x,z), R(z,y) NPB R* je řešením rovnice R(X,Y) = P(X,Y )  (R(X,Z)*R(Z,Y))[X,Y] (*)  Je-li P* = {(1,2), (2,3)}, pak R* = {(1,2), (2,3), (1,3)} je NPB, jehož prvky odpovídají všem odvoditelným tvrzením, R* je i minimálním modelem.

J. Pokorný 20 Rekurzivní DATALOG  Je-li (1,1)  R*, platí R(1,1) :- R(1,1),R(1,1), tedy i R* = {(1,1),(1,2), (2,3), (1,3)} je modelem a je řešením rovnice (*).  Je-li (3,1)  R*, pak {(1,2), (2,3), (1,3), (3,1)} není modelem a ani není řešením rovnice.  Nechť P* =  ; R* = {(1,2)}. Pak R* je modelem, ale není řešením rovnice.