320 likes | 454 Views
Fuzzy Databázy (Computing with words). PDT 2008 Genci. Obsah. Motivácia Fuzzy logika Fuzzy terms (výrazy) Jazykové operátory Fuzzy SQL. Zdroje. [1] Carlo Zaniolo a kol.: Advanced Database Systems , Morgan Kaufman Publishers, San Francisco, 1997 (kapitol y 2-3 ).
E N D
Fuzzy Databázy(Computing with words) PDT 2008 Genci
Obsah • Motivácia • Fuzzy logika • Fuzzy terms (výrazy) • Jazykové operátory • Fuzzy SQL
Zdroje [1]Carlo Zaniolo a kol.: Advanced Database Systems, Morgan Kaufman Publishers, San Francisco, 1997 (kapitoly 2-3). [2] ImrichJ.: Fuzzy databázy. Stav problematiky, dostupný SW, implementácia v relačných DBS. Diplomová práca. 2000. KPI FEI Košice [3] články Jaroslava Kostelanského, pôvodne umiestnené na http://www.kredit.sk/DB-fuzzy.html Mnohé veci nájdete v prezentáciách študentov prof. Pokorného na stránke: http://www.ksi.mff.cuni.cz/~pokorny/dj/
Motivácia • Stredne vysoká budova blízko banky
Príklad • Máme databázu študentov a ich študijné priemery
Hľadáme dobrých študentov (študenti s priemerom >= 3.5) • Dotaz SELECT * FROM STUDENTS WHERE GPA >= 3.5;
Príklad – pokr. • Ďalej požadujeme • Zotriediť študentov od najlepšieho k najhoršiemu. • Zvolíme triedenie podľa priemeru zostupne (DESC) a podľa absencií vzostupne (ASC). • Dotaz SELECT * FROM STUDENTSWHERE (GPA >= 3.5) AND (ABSENCES < 10) ORDER BY GPA DESC, ABSENCES ASC;
Nevýhody riešenia • Nie úplne vyhovujúce radenie študentov. • Student Barry Allen má o málo horší priemer než Billy Kidd. Billy Kidd má však o mnoho horšiu docházku než Barry Allen. • Ktorý z nich je teda lepší študent? • Nie úplne vyhovujúci zoznam študentov • Zoznam neobsahuje študentov, ktorí majú študijný priemer 3.49, ale žiadnú absenciu. • Zoznam neobsahuje študenta, ktorý má študijný priemer 4.00 a má 10 absencií.
Riešenie Aplikácia fuzzy logiky
História vzniku fuzzy logiky • 1965Prof. L. A. Zadeh (Univerzity of California, Berkeley) • Prvých 10 rokov odmietavý postoj • 80-te roky vzostup • Japonsko, 1987 "Predictive Fuzzy Control" , Hitachi • 1989 inštitút LIFE (Laboratory for International Fuzzy Engineering Research) vstupný kapitál - 33 mil. dolárov • 1992 v Japonsku registrovaných viac ako 2000 fuzzy patentov.
Fuzzy množina, funkcia a stupeň príslušnosti Definícia : Nech U je množina a nech L = <1, 0> je interval. Potom fuzzy množina A na univerze U je definovaná nasledovne: A={x/μA (x)| x U, μA : U → L}, pričom μA sa nazýva funkcia príslušnosti fuzzy množiny A. Každému prvku x je priradená hodnota μA (x) L, ktorá sa nazýva stupeň príslušnosti prvku x do fuzzy množiny A. Ak μA (x)=0, potom prvok x určite nepatrí do fuzzy množiny. Ak μA (x)=1, potom prvok určite do množiny patrí. V prípade, že μA (x) {0,1} potom x čiastočne patrí do fuzzy množiny A.
Fuzzy term (výraz) • Fuzzy number • Fuzzy label
Fuzzy label (prívlastok) Energetic (rázny, energický) Membership degree 1 20 24 26 30 Age
Ďalšie fuzzy labels • starý- mladý • vysoký - nízky • blízko - ďaleko • ...
Qualifiers (jazykové operátory) • Medzi najčastejšie požívané jazykové operátory patria: • veľmi (very), • značne (highly), • viac-menej (more or less), • zhruba (roughly), • skôr (rather), • mierne (slightly).
Definícia Nech A U je fuzzy množina a nech L=<1,0> je množina, potom pre x U platí: a) koncentrácia CON(A) = CON(μA(x)) = μA(x) * μA(x) = μA(x)2, b) dilatácia DIL(A) = DIL(μA(x)) = μA(x)0.5 = 2√ μA(x) c) intenzifikácia INT(A) = INT(μA(x)) = 2 * μA(x)2 pre μA(x) <0,0.5>, INT(A) = INT(μA(x)) = 1 - 2 *(1 - μA(x))2 pre μA(x) <0.5,1>.
Modelovanie jazykových operátorov • veľmi veľmi(A) = CON(A) = μA(x)2 • značne značne(A) = μA(x)3 • viac-menej viac-menej(A) = DIL(A) = 2√μA(x) • zhruba zhruba(A) = DIL (DIL(A)) = 4√μA(x) • skôr skôr(A) = INT (CON(A)) • mierne mierne(A) = [2*(μA(x) (1- μA(x)2)] /[√(5)-1]
Operácie nad fuzzy množinami • zjednotenie (A B) x = μA(x) μB(x) = μA(x) μB(x) = max(μA(x), μB(x)) • prienik (A B) x = μA(x) μB(x) = μA(x) μB(x) = min(μA(x), μB(x)) • súčin (obmedzený, alebo odvážny prienik) (A B) x = μA(x) μA(x) = 0 (μA(x) + μB(x) - 1) • doplnok A = μA(x) = 1 - μA(x) • podmnožina A B = uA(x) μB(x),
Fuzzy logika v relačných databázových systémoch • Väčšina fuzzy databázových systémov umožňuje využívať fuzzy logiku iba pri deklarovaní dotazov. • Výsledkom takýchto dotazov je ohodnotená množina záznamov, ktorá obsahuje stĺpec (QCIX-Query Compatibility Index), ktorý určuje do akej miery daný záznam vyhovuje zadanému dotazu.
Fuzzy logika v relačných databázových systémoch (pokr.) • Niektoré databázové systémy umožňujú definovať aj atribúty ako fuzzy atribúty. • Databázový systém OMRON Fuzzy SQL umožňuje deklarovať fuzzy number (fuzzy čislo) a fuzzy label.