Fuzzy SQL. Karel Fišer, Jakub Kozák. Fuzzy množiny. Fuzzy relace. Fuzzy SQL FSQL. Implementace MFF UK

Podobné dokumenty
Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Databázové systémy Cvičení 5.3

Stavební fakulta Katedra mechaniky. Jaroslav Kruis, Petr Štemberk

Matematická logika. Miroslav Kolařík

Databáze SQL SELECT. David Hoksza

Databázové systémy Cvičení 5

Výroková a predikátová logika - VII

Informační systémy ve zdravotnictví. 6. cvičení

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

Úvod do databázových systémů

Úvod do databázových systémů

Úvod do databázových systémů 1. cvičení

Jak je důležité být fuzzy

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

8.2 Používání a tvorba databází

Databáze I. Přednáška 7

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

Relační model dat (Codd 1970)

Operátory ROLLUP a CUBE

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

J. Zendulka: Databázové systémy 4 Relační model dat 1

3. přednáška z předmětu GIS1 atributové a prostorové dotazy

6. blok část B Vnořené dotazy

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Fuzzy logika. Informační a znalostní systémy

Fuzzy regulátory. Miloš Schlegel.

Michal Krátký, Miroslav Beneš

6. blok část C Množinové operátory

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1

Michal Valenta DBS Databázové modely 2. prosince / 35

Analýza a modelování dat. Přednáška 8

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Informační systémy ve zdravotnictví. 8. cvičení

Analýza a modelování dat 3. přednáška. Helena Palovská

Databáze I. 1. přednáška. Helena Palovská

Databázové systémy Cvičení 5.2

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 10

Úvod do informatiky. Miroslav Kolařík

Optimalizace SQL dotazů

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Analýza a modelování dat. Přednáška 9

Technické informace. PA152,Implementace databázových systémů 4 / 25. Projekty. pary/pa152/ Pavel Rychlý

Databázové systémy. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 1 / 37

Univerzita Karlova v Praze. Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE. Milan Plachý. Fuzzy databáze založená na E-R schématu

1. Databázové systémy (MP leden 2010)

IDS optimalizátor. Ing. Jan Musil, IBM ČR Community of Practice for

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

KIV/ZIS cvičení 5. Tomáš Potužák

Fuzzy množiny, Fuzzy inference system. Libor Žák

Uživatelské preference v prostředí webových obchodů. Ladislav Peška, MFF UK

Úvod do databázových systémů

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).

Databázové a informační systémy

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Úvod do databázových systémů

GIS Geografické informační systémy

Princip rozšíření a operace s fuzzy čísly

Databázové systémy BIK-DBS

Dotazování v relačním modelu a SQL

12. blok Pokročilé konstrukce SQL dotazů - část II

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Množiny, základní číselné množiny, množinové operace

Teorie množin. Čekají nás základní množinové operace kartézské součiny, relace zobrazení, operace. Teoretické základy informatiky.

4. blok část A Logické operátory

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Datové modelování II

Paměť počítače. alg2 1

Vybrané přístupy řešení neurčitosti

Databázové a informační systémy Jana Šarmanová

Otázka č. 1 (bodů za otázku: 4)

Sémantika predikátové logiky

Virtuální privátní databáze

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Databázové systémy I. 1. přednáška

Výroková a predikátová logika - V

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

Databázové systémy I

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

Modely vyhledávání informací 4 podle technologie. 1) Booleovský model. George Boole Aplikace booleovské logiky

Přijímací zkouška na navazující magisterské studium 2014

Ukládání a vyhledávání XML dat

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Výroková logika. Teoretická informatika Tomáš Foltýnek

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

ZPRACOVÁNÍ NEURČITÝCH ÚDAJŮ V DATABÁZÍCH

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Distanční opora předmětu: Databázové systémy Tématický blok č. 7: Fulltextové vyhledávání Autor: RNDr. Jan Lánský, Ph.D.

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Transkript:

Fuzzy SQL MFF UK 16. 11. 2010

Přesné hodnoty Jak fungují matematika, informatika...? Hledáme lidi s platem rovným 45 000 Kč. Chceme najít všechny lidi starší než 65 let. Tím získáme vždy přesnou odpověd. Nicméně jak moc tyto dotazy a odpovědi odpovídají realitě?

Život je fuzzy... Jak se v běžném životě vyjadřujeme: Mám zvýšenou teplotu. Starší lidé mají problém s klouby. Manažeři v bankách mají vysoké platy. A jak toto vyjádříme pomocí matematiky? Starý = 70 let. Pak ale není starý 69,5 let. Paradox z antického Řecka: Mějme malou hromadu kamení. Pokud přidáme jeden kámen, dostaneme opět malou hromadu. Tedy každá hromada kamení je malá.

A co z toho vzniklo? Lotfi A. Zadeh (nar. 1921 v Baku), prof. na U. C. Berkeley Článek: Fuzzy Sets, Information and Control. 1965; 8: 338-353 Vznik modifikované teorie množin, tzv. fuzzy množin Fuzzy...... anglicky znamená nejasný, mlhavý, nepřesný, vágní... teorie množin, logika... množina, míra, relace atd.

Základní myšlenka fuzzy množin V některých situacích tedy nelze přesně určit, kdy prvek do množiny patří, či nepatří. Princip inkompatibility (1973, L. A. Zadeh): S rostoucí složitostí sytému klesá naše schopnost formulovat přesné a významné vlastnosti o jeho chování, až je dosáhnutá hranice, za kterou kterou je přesnost a relevantnost prakticky vzájemně se vylučující jevy. Proto zavedeme nějakou míru příslušnosti prvku do množiny, která nám toto určí.

Klasická množina A X je definována pomocí charakteristické funkce χ A : X {0, 1} tak, že χ A (x) = 1, x A χ A (x) = 0, x / A Oproti tomu fuzzy množina F X je definována funkcí příslušnosti µ F : X [0, 1] tak, že x X patří do fuzzy množiny právě tehdy když µ F (x) > 0.

µ F (x) = 1... patří plně do množiny µ F (x) (0, 1)... patří částečně do množiny µ F (x) = 0... nepatří do množiny

Operace s fuzzy množinami Doplněk µ F C (x) = 1 µ F (x)

Operace s fuzzy množinami Sjednocení µ F G (x) = max(µ F (x), µ G (x))

Operace s fuzzy množinami Průnik µ F G (x) = min(µ F (x), µ G (x))

Fuzzy logika Lze definovat jako tzv. Zadehovy operátory Negace doplněk Disjunkce sjednocení Konjunkce průnik Často se v systémech využívá pravidel ve tvaru IF proměnná IS vlastnost THEN akce : IF teplota IS vysoká THEN zrychli větrák

Motivace k rozšíření SQL Klasické SQL: SELECT jmeno, vek, prijem FROM zamestnanci WHERE (vek >= 25 AND vek <= 45) AND (prijem >= 35000) Fuzzy SQL: SELECT jmeno, vek, prijem FROM zamestnanci WHERE (vek = stredni_vek) AND (prijem >= vysoky_prijem) Operátory porovnání jsou v druhém případě chápány ve fuzzy smyslu.

Mějme atribut A a množinu všech funkcí příslušnosti P(A) = {µ i ; µ i : D(A) [0, 1]}, kde D(A) je obor hodnot atributu A. Potom fuzzy relací R rozumíme R = P(A 1 ) P(A 2 )... P(A n ) D, kde D [0, 1] je stupeň příslušnosti v relaci.

Potom pro prvek relace platí Databázově lze psát r R µ R (r) > 0. r.d > 0 Pro query stupeň příslušnosti v relaci značí, jak moc ji daný prvek relace splňuje.

Fuzzy SELECT Jako v klasickém SQL je query ve fuzzy SQL definována pomocí příkazu SELECT v následující formě SELECT atributy FROM relace WHERE podminky

Vyhodnocení výrazu Při porovnávání dvou atributů (obecně tvaru X ΘY ) ve WHERE části výrazu, potřebujeme určit stupeň splnění d(x ΘY ). Pro konkrétní hodnoty U z X a V z Y můžeme psát d(x ΘY ) = max x,y (min(µ U(x), µ V (y), µ Θ (x, y))), kde x, y jsou přesné hodnoty ze společného oboru hodnot, na kterém jsou definovány U a V.

Vyhodnocení výrazu - příklad Pokud budeme porovnávat přesnou hodnotu s fuzzy hodnotou. Stupeň splnění pro porovnání věku v případě hodnot 29 a kolem 30 d(r.vek = S.vek) = µ kolem 30 (29) = 0.75

Vyhodnocení výrazu - příklad Pokud budeme porovnávat 2 fuzzy hodnoty. Stupeň splnění pro porovnání věku v případě hodnot mladý a okolo 30 je potom d(r.vek = S.vek) = 0.5, což je hodnota nejvyššího průsečíku funkcí příslušnosti.

ID Pohlaví Jméno Věk Příjem 11 Žena Anna okolo 35 okolo 60K 12 Žena Jarka středně mladý středně vysoký 13 Žena Lucie střední věk vysoký 14 Žena Petra okolo 50 nízký 21 Muž Jakub 24 okolo 25K 22 Muž Josef okolo 50 okolo 40K 23 Muž Karel střední věk vysoký 24 Muž Pavel okolo 29 středně nízký

Dotaz SELECT Z.Jmeno FROM T AS Z WHERE Z.Pohlavi = "Zena" AND Z.Vek = "stredne mlady" AND Z.Prijem IN ( SELECT M.Prijem FROM T AS M WHERE M.Pohlavi = "Muz" AND M.Vek = "stredni vek" ) Binární operátor = je zde chápán ve fuzzy smyslu.

Výsledek Příjem D okolo 40K 0.4 vysoký 1.0 ID Jméno Věk Příjem D 11 Anna okolo 35 okolo 60K 1 12 Jarka středně mladý středně vysoký 1 13 Lucie střední věk vysoký 0.7 Jméno D Anna 0.3 Jarka 0.7 Lucie 0.7

Typy atributů - klasický přesný Data uložena klasicky s přesnými hodnotami Nad konkrétními atributy definovány nepřesné pojmy Možnost nepřesně se dotazovat nad přesnými daty Jednoduché rozšíření klasické relační databáze

Typy atributů - nepřesný uspořádaný Přesné i nepřesné hodnoty Dotazování pomocí nepřesných pojmů Typicky lichoběžníkový tvar vymezení pojmu

Typy atributů - neuspořádaný Definovány bezrozměrné hodnoty atributu Tabulka podobnosti jednotlivých hodnot (každý s každým) Možnost nepřesných hodnot {0.9/tmave, 0.4/zrzave}

Fuzzy konstanty Umožní zapsat nepřesnou hodnotu. $[a, b, c, d], distribuční fce lichoběžníkového tvaru [n, m], interval n + m, přibližně n s odchylkou m, trojúhelník #n, přibližně n s odchylkou definovanou v FMB $nazev, pojmenovaná konstanta definovaná ve FMB {P1/L1,..., Pn/Ln}, distribuce na nesetříděné doméně Pi hodnoty možnosti Li jednotlivé hodnoty atributu Př.: {0.9/tmave, 0.4/zrzave} celkem tmavé, trochu zrzavé

Porovnávací operátory FEQ, F =, rovnost FDIF, F! =, F <>, rozdílnost FGT, F >, větší než FGEQ, F >=, větší nebo rovno FLT, F <, menší než FLEQ, F <=, menší nebo rovno MGT, F >>, mnohem větší než MLT, F <<, mnohem menší než FINCL, obsaženo v

Množinové operace Rozšíření množinových operací známých z SQL o práci se stupni příslušnosti. FUNION, sjednocení FINTERSECT, průnik FMINUS, rozdíl

Stupeň příslušnosti Ve skutečnosti bylo definováno několik stupňů stupeň nejistoty, možnosti, důležitosti, splnění Hodnota z intervalu [0, 1] ve fce CDEG() Váže se k: jednotlivému atributu skupině atributů celému řádku

Kĺıčové slovo THOLD Hranice splnění podmínky (z angl. threshold) podmínka THOLD τ vynutí splnění podmínky s minimálním stupněm τ [0, 1] možno použít i pojmenované hodnoty definované v FMB

Schéma

Techniky odhnízdění SELECT Z.Jmeno FROM T AS Z WHERE Z.Pohlavi = "Zena" AND Z.Vek = "stredne mlady" AND Z.Prijem IN ( SELECT M.Prijem FROM T AS M WHERE M.Pohlavi = "Muz" AND M.Vek = "stredni vek" ) SELECT Z.Jmeno FROM T AS Z, T AS M WHERE Z.Pohlavi = "Zena" AND Z.Vek = "stredne mlady" AND M.Pohlavi = "Muz" AND M.Vek = "stredni vek" AND Z.Prijem = M.Prijem

Techniky spojování hash join nejlepší výsledky v klasických databázích pro fuzzy databáze nevhodné nemůžeme hashovat podle nepřesných hodnot nested loop join v podstatě porovnává každý s každým technicky použitelné, ale hodně pomalé (tedy nepoužitelné) merge join setřídíme množiny podle atributu, přes který spojujeme postupně spojujeme adekvátní prvky

fuzzy technologíı v databázích Oracle Postgress (na Catholic University of Maule) dm (data mining procesy) D (základ pro deduktivní databáze) SQLf, SQLfi

Využití fuzzy technologíı v praxi Foto - Vyhledávání bodu pro zaostření (Minolta) ABS, řízení motoru a klimatizace (Honda, Nissan, Sabaru) Řízení výtahů (Mitsubishi) Korekce chyb ve slévárenských zařízeních (Omron) Disketové mech. - vystavení hlaviček rychlejší až o 30% Rozpoznávání řeči, ručně psaných textů

Zdroje Qi Yang et al.: Efficient Processing of Nested Fuzzy SQL Queries in a Fuzzy Database, IEEE Transactions on Knowledge and Data Engineering. 2001, Vol. 13, No. 6 Angelica Urrutia and Leopoldo Pavesi: Extending the capabilities of database queries using fuzzy logic. http://www.docstoc.com/docs/23960003/chapter-7--a- Fuzzy-SQL-for-Fuzzy-Databases [přístup 8. 11. 2010] José Galindo, Juan M. Medina, Olga Pons, Juan C. Cubero: A Server for Fuzzy SQL Queries. Lecture Notes in Computer Science, 1998, Volume 1495/1998, 164 José Galindo: New Characteristics in, a Fuzzy SQL for Fuzzy Databases. 2005, Salzburg. http://www.wseas.us/elibrary/conferences/2005salzburg/papers/492-268.pdf [přístup 10. 11. 2010]

Zdroje José Galindo at al.: Applying fuzzy databases and to the management of rural accommodation. 2003, Tourism Management 24, 457-463 Základy fuzzy logiky, Slávek Rydval, http://www.rydval.cz/phprs/view.php?cisloclanku=2005061701 [přístup 5. 11. 2010]

Konec Děkujeme za pozornost.