Relačné a logické bázy dát

Podobné dokumenty
Algoritmizácia a programovanie - Príkazy

2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom

Paralelné algoritmy, cast c. 3

1

Microsoft Word - Zaver.pisomka_januar2010.doc

Microsoft Word - skripta3b.doc

7/1/2015 Úvod do databáz, skúškový test, max 25 bodov, 90 min

Snímka 1

Matematika 2 - cast: Funkcia viac premenných

Microsoft Word - Transparencies03.doc

8 Cvičenie 1.1 Dokážte, že pre ľubovoľné body X, Y, Z platí X + Y Z = Z + Y X. 1.2 Dokážte, že pre ľubovoľné body A, B, D, E, F, G afinného priestoru

Klasická metóda CPM

Microsoft Word - Argumentation_presentation.doc

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Október, 2018 Katedra kybernetiky

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Axióma výberu

Analýza toku dát Ján Šturc Zima 2010 Kompilátory

Metrické konštrukcie elipsy Soňa Kudličková, Alžbeta Mackovová Elipsu, ako regulárnu kužeľosečku, môžeme študovať synteticky (konštrukcie bodov elipsy

Informačné technológie

Informačná a modelová podpora pre kvantifikáciu prvkov daňovej sústavy SR

Identity Lifecycle Management

Operačná analýza 2

1

gis5 prifuk

enum

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

Paralelné algoritmy, cast c. 2

Teória pravdepodobnosti Zákony velkých císel

Snímka 1

III. Diferenciálny počet funkcie viac premenných (Prezentácia k prednáškam, čast B) Matematická analýza IV (ÚMV/MAN2d/10) RNDr. Lenka Halčinová, PhD.

Úvodná prednáška z RaL

Poznámky k cvičeniu č. 2

1. KOMPLEXNÉ ČÍSLA 1. Nájdite výsledok operácie v tvare x+yi, kde x, y R. a i (5 2i)(4 i) b. i(1 + i)(1 i)(1 + 2i)(1 2i) (1 7i) c. (2+3i) a+bi d

Neineárne programovanie zimný semester 2018/19 M. Trnovská, KAMŠ, FMFI UK 1

03_ControlFlow.dvi

Microsoft PowerPoint - OOP_prednaska_10.pptx

Operačná analýza 2

Funkcie viac premenných

Paralelné algoritmy, cast c. 3

Microsoft Word - 6 Výrazy a vzorce.doc

Metódy dokazovanie v matematike 1 Základné pojmy Matematika exaktná veda vybudovaná DEDUKTÍVNE ZÁKLADNÉ POJMY základy každej matematickej teórie sú in

O možnosti riešenia deformácie zemského povrchu z pohladu metódy konecných prvkov konference pro studenty matematiky

Microsoft Word - 8.cvicenie.doc

Priebeh funkcie

Analýza sociálnych sietí Geografická lokalizácia krajín EU

Microsoft Word - Algoritmy a informatika-priesvitky02.doc

História

SK MATEMATICKÁOLYMPIÁDA skmo.sk 2009/ ročník MO Riešenia úloh česko-poľsko-slovenského stretnutia 1. Určte všetky trojice (a, b, c) kladných r

Navigácia po úvodnej stránke elektronickej schránky Dátum zverejnenia: Verzia: 10 Dátum aktualizácie: Navigácia po úvodnej st

Prenosový kanál a jeho kapacita

NÁVRH UČEBNÝCH OSNOV PRE 1

Microsoft Word - Final_test_2008.doc

Obsah 1 Úvod Predhovor Sylaby a literatúra Základné označenia

Republika Srbsko MINISTERSTVO OSVETY, VEDY A TECHNOLOGICKÉHO ROZVOJA ÚSTAV PRE HODNOTENIE KVALITY VZDELÁVANIA A VÝCHOVY VOJVODINSKÝ PEDAGOGICKÝ ÚSTAV

Obsah 1 Úvod Predhovor Sylaby a literatúra Základné označenia

Úvod do lineárnej algebry Monika Molnárová Prednášky 2006

Snímka 1

DediĊnosť

PowerPoint Presentation

s sol

Informačná a modelová podpora pre kvantifikáciu prvkov daňovej sústavy SR

Obsah 1 Úvod Predhovor Sylaby a literatúra Grupy a podgrupy 4 2

Tomáš Jelínek - včely vyhľadávanie

Algoritmizácia a programovanie - Štruktúrované údajové typy

SRPkapitola06_v1.docx

Moderné vzdelávanie pre vedomostnú spoločnosť/ Projekt je spolufinancovaný zo zdrojov EÚ LINEÁRNE A KVADRATICKÉ PROGRAMOVANIE Vysokoškolská učebnica F

midterm2014_1

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

Čísla Nájdite všetky dvojice prirodzených čísiel, ktoré vyhovujú rovnici: 2 ( a+ b) ( a b) + 2b ( a+ 2b) 2b = 49 RIEŠENIE ( ) ( ) ( ) 2 a+ b a

NSK Karta PDF

1-INF-155 Algebra 2 Martin Sleziak 10. februára 2013

NÁZOV VYSOKEJ ŠKOLY

Univerzita Komenského v Bratislave Fakulta Matematiky, Fyziky a Informatiky Niektoré metrické vlastnosti čiastočných náhodných booleovských funkcií Di

Cvičenie 9 Riešené príklady 1. Príklad min f(x 1, x 2 ) = x x x 1 s.t. x 1 80 x 1 + x Pre riešenie úlohy vykonáme nasledujúce kroky

Siete vytvorené z korelácií casových radov

B5.indd

ECDL Syllabus V50 SK-V01

Kolmogorovská zložitost

midterm2019

Aplikace matematiky- záverečná práca Juraj Bodík 28. septembra 2017 Definície Žena - objekt ohodnotený celým číslom. Každé dve ženy sa dajú porovnat a

9. kapitola Maticová algebra II systém lineárnych rovníc, Frobeniova veta, Gaussova eliminačná metóda, determinanty 1. Systém lineárnych rovníc Systém

Slide 1

5/1/2012 Úvod do databáz, skúškový test, max 25 bodov, 90 min 1. Daná je databáza: capuje(krcma, Alkohol, Cena), lubi(pijan, Alkohol) navstivil(idn, P

Microsoft Word - 16.kapitola.doc

Operačná analýza 2

POZNÁMKY K PREDNÁŠKAM PRAVDEPODOBNOSŤ A ŠTATISTIKA 1-MAT-180 KAMŠ FMFI Katarína Janková 1.prednáška Teória pravdepodobnosti sa zaoberá modelovaním exp

Microsoft Word - Diskusia11.doc

Príklad 5 - Benzén 3. Bilančná schéma 1. Zadanie príkladu n 1 = kmol/h Definovaný základ výpočtu. Na základe informácií zo zadania si ho bude v

MO_pred1

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

Bariéra, rezonančné tunelovanie Peter Markoš, KF FEI STU February 25, 2008 Typeset by FoilTEX

Slovenská komisia Matematickej olympiády FMFI UK, Mlynská dolina, Bratislava 51. ročník matematickej olympiády Riešenia úloh I. kola kategórie

1 Rekurencie este raz riesenia niektorych rekurencii z cvik. mame danu rekurenciu napr T (n) = at ( n b ) + k. idea postupu je postupne rozpisovat cle

Metódy násobenie v stredoveku

Manažment v Tvorbe Softvéru 2018/2019

12Prednaska

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy Beáta Stehlíková Časové rady, FMFI UK, 2011/2012 Jednotkový koreň(unit roo

Prepis:

Unifikácia riešenie rovníc v algebre termov Ján Šturc Zima, 2010

Termy a substitúcie Definícia (term): 1. Nech t 0,..., t n -1 sú termy a f je n-árny funkčný symbol, potom aj f(t 0,..., t n -1 ) je term. 2. Premenná je term. Definícia (substitúcia): Substitúciou nazývame funkciu σ:v T, kde V je množina premenných a T množina termov. Substitúcie zapisujeme: σ= [{x i t i } i=1 ] n Aplikácia substitúcie: Substitúciu σ na term t aplikujeme tak, že výsledok je term s=tσ, ktorý vznikne nahradením premenných vyskytujúcich sa v t aj σ príslušnými termami. Nahradenie sa vykoná súčasne pre všetky premenné naraz. Zima 2010 Ján Šturc, Unifikácia 2

Usporiadanie a ekvivalencia na množine termov Definícia: Hovoríme, že term t je aspoň tak všeobecný ako term s, píšeme t s, ak existuje substitúcia σ taká, že s=tσ. Definícia: Hovoríme, že termy t a s sú ekvivalentné, píšeme t s, ak t s a s t. Lema: Dva termy sú ekvivaletné, t s práve vtedy, keď sa odlišujú len pomenovanín premenných. Zima 2010 Ján Šturc, Unifikácia 3

Substitúcie Definícia: Hovoríme, že substitúcia σ je zložením substitúcii ρ a τ, píšeme σ = ρ τ, ak pre každý term t platí tσ = (tτ)ρ. Hoci substitúcie sú funkcie, skladanie substitúcií nie je skladanie funcií. Definícia: Hovoríme, že substitúcia σ je aspoň tak všeobecná ako substitúcia τ, píšeme σ τ, ak existuje substitúcia ρ taká, že σ = ρ τ. Definícia: Dve substitúcie σ a τ sú ekvivalentné, píšeme σ τ, ak σ τ a τ σ. Lema: Dve permutácie premenných (nie nutne tých istých) sú ekvivalentné substitúcie. Pozn.: Prázdna (všade nedefinovaná) substitúcia, rôzne permutácie premenných sú ekvivalentné substitúcie. Zima 2010 Ján Šturc, Unifikácia 4

Term matching Úloha: Daný je term t a vzor term s. Úlohou je nájsť substitúciu ρ takú, že tρ = s. Riešenie: Začneme prázdnou (všade nedefinovanou) substitúciou ρ aplikujeme rekurzívnu procedúru: procedure match(u,v): boolean if u is a variable then { if ρ(u) is undefined then { ρ(u):= v; return(true)} else if ρ(u)=v then return(true) else return(false) } else if u=f(u 0, u k-1 ) and v=f(v 0, v k-1 ) then { i:= 0; while i < k and match(u i,v i ) do i:= i+1; if i = k return(true) else return(false) } else return(false) end; Ak procedúra vráti true, v ρ bude hľadaná substitúcia. Ak vráti false, riešenie neexistuje. Zima 2010 Ján Šturc, Unifikácia 5

Unifikácia 1. Úloha: Daná je dvojica termov t a s. Úlohou je nájsť dvojicu najvšeobecnejších substitúcií τ a σ takých, že tτ = sσ. 2. Obvykle sa v literatúre unifikáciou nazýva riešenie úlohy: Daná je dvojica termov t a s najdite najvšeobecnejšiu substitúciu σ takú, že tσ = sσ. Táto úloha je klasickou matematickou úlohou. Vo volnej algebre termov riešte rovnicu: t = s. 3. Matematici riešia rovnice aj v algebrách charaterizovaných nejakým systémom rovnosti, vtedy hovoríme o unifikácii mod E, kde E je množina rovností. 4. Úloha 1 sa dá modifikovať nasledovne: Nájdite dvojicu najvšeobecnejších substitúciíισ, takých že tισ = sσ. Túto úlohu nazývame slabou unifikáciou. Zima 2010 Ján Šturc, Unifikácia 6

Tvrdenia T1:Z riešenia úlohy 4 dostaneme riešenie úlohy 1 tak, že τ = ι σ. T2:Najvšeobecnejšie riešenie úlohy 4 dostaneme tak, že ι je premenovanie premenných v t tak, aby boli rôzne od premenných vyskytujúcich sa v s. Označíme t' = tι. A riešime úlohu 2: t'σ = sσ T3:Riešenie úlohy 1 podľa T1 a T2 je najvšeobecnejšie riešenie úlohy 1 Zima 2010 Ján Šturc, Unifikácia 7

Algoritmy unifikácie Existujú dva prístupy: Manipulácia s množinou rovníc Herbrand (1930) Marteli Montanari (1982) Manipulácia so stromami resp. dagmi termov. Robinson (1965) Corbin Bidoit (1983) Ružička Prívara (1989) Vybrali sme len niekoľko reprezentatov z oboch tried algoritmov. V tejto prednáške uvedieme len dva ostatné doporučujeme na samostatné štúdium. Zima 2010 Ján Šturc, Unifikácia 8

Herbrandova metóda Herbrandova metóda predpokladá, že je daná množina E rovníc medzi termami. Nech σ je prázdna substitúcia. Algoritmus: while E Ø do { select an equation e E; E:= E {e}; if e is x = t or e is t = x then { if x occurs in t then return(solution does not exist) else { σ:=σ [x t]; E:=E[x t ] } else if e is of the form f(s 0,..., s n-1 ) = f(t 0,..., t n-1 ) then E:=E {s 0 = t 0,..., s n-1 = t n-1 } else return(solution does not exist) }; Zima 2010 Ján Šturc, Unifikácia 9

Algoritmus riešenia rovníc Predpokladáme, že termy sú reprezentované stromami alebo dagmi. Definujeme ekvivalenciu medzi vrcholmi nasledovne: 1. Korene oboch termov sú ekvivalentné. 2. Ak sú dva uzly ekvivalentné musia byť ekvivalentné aj dvojice ich synov v poradí. 3. Listy označené rovnakou premennou alebo tou istou konštatou sú ekvivalentné. 4. Z takto vypočítaných dvojíc ekvivalentných uzlov (hrán) vypočítame sy-metrický, reflexívny a tranzitívny uzáver. Množiny ekvivalentných uzlov. 5. K triedám ekvivalencie priradíme substitúcie: - Ak nejaká trieda obsahuje uzly s rôznym funkčnými symbolmi, riešenie neexistuje - Ak obsahuje iba premenné, vyberieme jednu, na ktorú ostatné premenujeme. - Ak obsahuje premenné aj uzly s funkčným symbolom, nahradíme všetky premenné podtermom prísluchajúcemu jednému uzlu s funkčným symbolom (je jedno ktorému). 6. Preveríme na zacyklenie (occur check). Zima 2010 Ján Šturc, Unifikácia 10

Príklad 1 1:p 9:p 2:f 3:g 10:f 11:g 4:x 5:g 6:g 12:g 13:v 14:v 7:x 8:y 15:u Triedy ekvivalencie: {1,9}, {2,10}, {3,11}, {4,7,8,12}, {5,6,13,14}, {15} Konštrukcia substitúcie (mgu): y g(u), x g(u), v g(x). Explicitné riešenie: x = g(u), y = g(u), v = g(g(u)). Zima 2010 Ján Šturc, Unifikácia 11

Príklad 2 1:f 5:f 2:g 3:x 6:y 1:f 7:g 4:x 8:y Triedy ekvivalencie: {1,5}, {2,6,8}, {3,4,7} Konštrukcia mgu: y g(x), x g(y). Cyklus. Riešenie neexistuje. x = g(g(...g(u)...)), y = g(g(...g(u)...))? Zima 2010 Ján Šturc, Unifikácia 12

Asymptotická zložitosť riešenia Traverzovaním oboch výrazov vytvoríme triedy ekvivalencie, že každý uzol je ekvivaletný iba sám so sebou. O(n). Nasleduje synchronné traverzovanie: Find uzol n 1 Find uzol n 2 Union n 1 n 2 Zložitosť union find úlohy je O(nα(n)), kde α je inverzná Ackermanova funkcia. Kontrola zacyklenia je zložitosti O(n) napr. topologickým triedením. Zima 2010 Ján Šturc, Unifikácia 13

Efektívna implementácia Nie je potrebné implementovať program, ako sme ho prezentovali kvôli ľahšej analýze. Nepotrebujeme iniciálnu fázu. Môžeme začať priamo synchronným traverzovaním. K tomu musíme viesť oddelene triedy ekvivalencie uzlov a triedy ekvivalencie premenných. Ak operácia Find nie je úspešná, založíme novú triedu ekvivalencie. O triede ekvivalencie, okrem zoznamu uzlov vedieme aj funkčný symbol a premennú. Ak sa funkčný symbol pri opätovnom vyhladaní nezhoduje, môžeme hneď skončiť. Ak trieda ekvivalencie obsahuje už nejakú premennú a pri opätovnom vyhladaní máme inú premennú, urobíme tieto premenné ekvivaletné. Occur check sa modifikuje: Či niektorá premenná výslednej substitúcie nie je ekvivalentná premennej na ľavej strane. Zima 2010 Ján Šturc, Unifikácia 14

Varovanie Každý pokus o explicitné vyjadrenie výsledku môže viesť k exponenciálnej zložitosti výpočtu. Príklad: f(x 0, x 1, x 2, -1 ) = f(g(x 1, x 1 ), g(x 2, x 2 ),, g(x n )) x 0 g(x 1, x 1 ) x 1 g(x 2, x 2 ) x 2 g(x 3, x 3 )... x n-1 g(x n ) Postupným spätným explicitným vyjadrením: x n-1 = g(x n ) x n-2 = g(g(x n ), g(x n )) x n-3 = g(g(g(x n ), g(x n )), g(g(x n ), g(x n ))... Pre dĺžku l i-1 i-1. výrazu platí: l i-1 = 2 l i + 4 1, 6, 16, 36, 76, 156, 316,... Zima 2010 Ján Šturc, Unifikácia 15