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

Slides:



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

Deduktivní soustava výrokové logiky
Normalizace Řada analytiků se mylně domnívá, že pro každý objekt existuje jedno jediné univerzálně použitelné nejlepší řešení bez ohledu na řešený problém.
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
Dualita úloh lineárního programování a analýza citlivosti
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Limita funkce. Koncentrace 137Cs v odpadním kanálu jaderné elektrárny se v časovém intervalu (t1, t2) řídí rovnicí c (t) = c0e -(t-t0). V čase t1 dojde.
Programovací jazyk Prolog
Induktivní logické programování
Úvod do Teorie množin.
Databáze Jiří Kalousek.
Cvičení 13 Ing. Pavel Bednář
Základní číselné množiny
5. Přednáška funkce BRVKA Johann P.G.L. Dirichlet (1805 – 1859)
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Semafor je rozbitý: Semafor není rozbitý:. Semafor je rozbitý: Semafor není rozbitý:
Formální jazyky a gramatiky
MATEMATIKA I.
Formulace a vlastnosti úloh lineárního programování
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
1IT D OTAZOVACÍ JAZYKY V RELAČNÍCH DATABÁZÍCH Ing. Jiří Šilhán.
KONVEXNOST A KONKÁVNOST FUNKCE INFLEXNÍ BODY
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
Predikátová logika.
Informatika I 7. přednáška RNDr. Jiří Dvořák, CSc.
Informatika I 8. přednáška RNDr. Jiří Dvořák, CSc.
Výroková logika.
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ
Funkce více proměnných.
Lineární zobrazení.
Zpracování neurčitosti Fuzzy přístupy RNDr. Jiří Dvořák, CSc.
Úvod do databázových systémů
Databázové systémy Informatika pro ekonomy, př. 18.
Grafický zápis algoritmů (vývojové diagramy) Test na trojúhelník (trojúhelníková nerovnost) Maximum ze tří čísel s použitím pomocné proměnné Pravoúhlý.
FUNKCE. Závislost délky vegetační sezóny na nadmořské výšce
MATEMATIKA Obsah přednášky Funkce. 3. Limita funkce
MATEMATIKA Obsah přednášky. Opakování, motivační příklady Funkce.
ZÁKLADNÍ POJMY VÝROKOVÉ LOGIKY
Číselné posloupnosti.
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
NDBI006 - Dotazovací jazyky II Jaroslav Pokorný a Peter Vojtáš LS 2008/09.
Marie Duží vyučující: Marek Menšík Logika: systémový rámec rozvoje oboru v ČR a koncepce logických propedeutik pro mezioborová studia.
Rezoluční metoda 3. přednáška
DOK. FUZZY MNOŽINY ETC. Klasické množiny Klasická množina – Výběr prvků z nějakého univerza Podle nějakého pravidla – Každý prvek obsahuje nejvýše jednou.
Výroková logika.
Predikátová logika1 Predikátová logika 1. řádu Teď „logika naostro“ !
SYSP – projekt louka Miroslav Pokorný Petr Medek Petr Kostka.
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
P114_21 P114 Klasické metody modelování RDM, ERAM 2.
Exponenciální funkce. y = f ( x ) = e x D ( f ) = R R ( f ) = (0, +∞)
Číslo projektuCZ.1.07/1.5.00/ Číslo materiáluVY_32_INOVACE_ENI-2.MA-18_Rozdělení logických obvodů Název školyStřední odborná škola a Střední odborné.
Úvod do databázových systémů
Funkce a jejich vlastnosti
Definiční obor a obor hodnot
MATEMATIKA Obsah přednášky. Opakování, motivační příklady Funkce.
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
MATEMATIKA Obsah přednášky. Opakování, motivační příklady Funkce.
Funkce více proměnných.
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
Predikátová logika (1. řádu).
Matematická logika 5. přednáška
Funkce a jejich vlastnosti
Název projektu: Moderní výuka s využitím ICT
Sémantika PL1 Interpretace, modely
Predikátová logika.
Definiční obory. Množiny řešení. Intervaly.
Transkript prezentace:

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

J. Pokorný 2 Rozšíření DATALOGu o negaci Př.: NSR(x,y) … x je příbuzný y, ale není sourozencem y NSR(x,y) :- R(x,y),  S’(x,y) NSR* = R* - S’* nebo NSR(X,Y) = R(X,Y) * S’(X,Y), kde S’ je doplněk do nějakého vhodného univerza. Postup:  umožníme negaci v těle pravidla, tj. negativní literály mezi L 1,…,L n  bezpečná pravidla musí mít omezené proměnné, tj. zakážeme proměnné, které jsou v negativním literálu a nejsou omezené ve smyslu původní definice.

J. Pokorný 3 Rozšíření DATALOGu o negaci Problém: ŘEŠENÍM LOGICKÉHO PROGRAMU NEMUSÍ BÝT NPB, ALE NĚKOLIK MPB. Př.: NUDNÝ(x) :-  ZAJÍMAVÝ(x), MUŽ(x) ZAJÍMAVÝ(x) :-  NUDNÝ(x), MUŽ(x) N(X) = M(X) - Z(X) Z(X) = M(X) - N(X) Rešení: Nechť M = {Honza} M1: {NUDNÝ* = {Honza}, ZAJÍMAVÝ* =  } M2: {ZAJÍMAVÝ* = {Honza}, NUDNÝ* =  }

J. Pokorný 4 Stratifikovaný DATALOG   není pravda, že jeden model je menší než druhý,  neexistuje žádný model menší než M1 nebo M2  máme dva minimální modely Intuice: omezení negace - použije-li se, pak na již známou relaci, tj. relace musí nejprve být definovány (event. rekurzivně) bez negace, Pak nová relace může být definována pomocí nich bez nebo s negacemi. Df.: Definice virtuální relace S je množina všech pravidel, které mají S v hlavě. Df.: S se vyskytuje v pravidlu pozitivně (negativně), je-li obsažena v pozitivním (negativním) literálu.

J. Pokorný 5 Stratifikovaný DATALOG  Df: Program P je stratifikovatelný, jestliže existuje dělení P = P 1  …  P n (P i jsou navzájem disjunktní) takové, že pro každé i  platí: 1. Vyskytuje-li se relační symbol S pozitivně v nějakém pravidle z P i, pak definice S je obsažena v  j  i P j 2. Vyskytuje-li se relační symbol S negativně v nějakém pravidle z P i, pak definice S je obsažena v  j<i P j (P 1 může být  ) Df.: Dělění P 1,…, P n se nazývá stratifikace P, každé P i je stratum. Terminologie: stratifikace … rozvrstvení stratum … vrstva

J. Pokorný 6 Stratifikovaný DATALOG  Př.: Program P(x) :-  Q(x)(1) R(1)(2) Q(x) :- Q(x),  R(x)(3) je stratifikovatelný. Stratifikace: {(2)}  {(3)}  {(1)} ProgramP(x) :-  Q(x) Q(x) :-  P(x) není stratifikovatelný. Df.: Nechť (U,V) je hrana závislostního grafu. (U,V) je positivní (negativní), existuje-li pravidlo V:- … U … a U se tam vyskytuje positivně (negativně). Pz.: Hrana může být positivní i negativní.

J. Pokorný 7 Stratifikovaný DATALOG  Tv.: Program P je stratifikovatelný právě když jeho závislostní graf neobsahuje cyklus s negativní hranou. Důkaz:  Každá virtuální relace P má přiřazen index strata, ve kterém je definována. Tedy (P,Q) je pozitivní  index(P)  index(Q) (P,Q) je negativní  index(P) < index(Q) Kdyby existoval cyklus s negativní hranou, existoval by uzel X, kde index(X) < index(X), což je spor.  dekomponujeme závislostní graf na silně souvislé komponenty, provedeme kondenzaci grafu, která je acyklická, a přiřadíme topologické upořádání komponentám.

J. Pokorný 8 Stratifikovaný DATALOG  Př.: ostatní hrany jsou + Každá z komponent definuje jedno stratum, uspořádání definuje jejich očíslování. Protože negativní hrany jsou nejvýše mezi komponentami, tvoří pravidla odpovídající komponentě stratum.

J. Pokorný 9 Stratifikovaný DATALOG  Předpoklady: pravidla jsou bezpečná, rektifikovaná. adom … sjednocení konstant z EDB a IDB  Q(x 1,…,x n ) se transformuje na (adom ...  adom) - Q* Algoritmus: vyhodnocení stratifikovatelného programu Vstup: EDB = {R 1,…,R k }, IDB = {pravidla pro P 1,…,P n }, Výstup: minimální pevný bod P 1 *,…,P n * Metoda: Najdi stratifikaci programu; spočti adom; for i:=1 to s do {s strat} begin { pro stratum i existují relace spočtené ze strat j, kde j<i} if ve stratu i podcíl Q pozitivní then použij Q; if ve stratu i podcíl Q negativní then použij adom n - Q; použij algoritmus pro výpočet NPB end

J. Pokorný 10 Stratifikovaný DATALOG  Tv.: Vyhodnocovací algoritmus se zastaví a dá MPB soustavy datalogických rovnic. Důkaz: PB plyne indukcí podle úrovní Pz.: Stratifikovatelný program má obecně více stratifikací. Ty jsou ekvivalentní, tj. vyhodnocení vede ke stejnému MPB (Apt, 1986). Tv.: Nerekurzivní programy DATALOGu vyjadřují právě ty dotazy, které jsou vyjádřitelné monotónní podmnožinou A R. Pz.: pozitivní relační algebra A RP { , , [ ],  }.

J. Pokorný 11 Stratifikovaný DATALOG  stratifikovaný DATALOG  DATALOG A RP ARAR

J. Pokorný 12 Relační algebra a DATALOG  Tv.: Nerekurzivní programy DATALOG  u vyjadřují právě ty dotazy, které jsou vyjádřitelné v A R. Důkaz:  indukcí dle počtu operátorů v E 1.  operátorů: E  R R je z EDB, tj. nic do IDB E  konst. relace pak pro každou n-tici přidej p(a 1,…,a n ) do EDB 2. E  E 1  E 2 dle indukční hypotézy existují programy pro E 1 a E 2 (odpovídající predikáty e 1 a e 2 ) e(x 1,…,x n ) :- e 1 (x 1,…,x n ) e(x 1,…,x n ) :- e 2 (x 1,…,x n )

J. Pokorný 13 Relační algebra a DATALOG  3. E  E 1 - E 2 e(x 1,…,x n ) :- e 1 (x 1,…,x n ),  e 2 (x 1,…,x n ) 4. E  E 1 [i 1,…,i k ] e(x i1,…,x ik ) :- e 1 (x 1,…,x n ), 5. E  E 1  E 2 e(x 1,…,x n+m ) :- e 1 (x 1,…,x n ), e 2 (x n+1,…,x n+m ) 5. E  E 1 (  ) e(x 1,…,x n ) :- e 1 (x 1,…,x n ), x ij = x ik nebo x ij = a  z nerekurzivity; topologické uspořádání + adom n - Q pro negaci. Pro každou P definovanou v IDB lze zkonstruovat výraz v A R. Dosazováním (podle uspořádání) obdržíme relační výrazy závisející jenom na relacích z EDB.

J. Pokorný 14 Relační algebra a DATALOG  Př.: vytvoření programu z relačního výrazu MŮŽE_KOUPIT(X,Y)  LÍBÍ_SE(X,Y) - (DLUŽNÍK(X)  LÍBÍ_SE(X,Y)[Y]) EDB: LÍBÍ_SE(X,Y) osobě X se líbí předmět Y DLUŽNÍK(X) osoba X je dlužníkem označme DLUŽNÍK(X)  LÍBÍ_SE(X,Y)[Y] jako D_P_PÁR(X,Y). Pak dalogický program pro MŮŽE_KOUPIT je: JE_OBDIVOVÁN(y) :- LÍBÍ_SE(x,y) D_P_PÁR(x,y):-DLUŽNÍK(x), JE_OBDIVOVÁN(y) MŮŽE_KOUPIT(x,y) :- LÍBÍ_SE(x,y),  D_P_PÁR(x,y)

J. Pokorný 15 Relační algebra a DATALOG  Př.: vytvoření relačního výrazu z programu EDB: R *, S *, adom  R[X]  R[Y]  S P(x) :- R(x,y),  S(y) Q(z) :- S(z),  P(z) P(X)  (R(X,Y) * {adom - S}(Y))[X] Q(Z)  S(Z) * {adom - P}(Z)  (S  {adom - P})(Z) Protože S  adom, platí Q(Z)  S(Z) - P(Z). Po substituci za P Q(Z)  S(Z) - (R(Z,Y) * {adom - S}(Y))[Z] Pz.: adom lze nahradit R[Y] Pz.: logicky program vede k jedné výsledné relaci. Obecněji: více (nezávislých) relací  více relačních výrazů R P Q S