fuzzy databázy (computing with words)

32
Fuzzy Databázy (Computing with words) PDT 2008 Genci

Upload: edena

Post on 08-Jan-2016

37 views

Category:

Documents


4 download

DESCRIPTION

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 ). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Fuzzy Databázy (Computing with words)

Fuzzy Databázy(Computing with words)

PDT 2008

Genci

Page 2: Fuzzy Databázy (Computing with words)

Obsah

• Motivácia

• Fuzzy logika

• Fuzzy terms (výrazy)

• Jazykové operátory

• Fuzzy SQL

Page 3: Fuzzy Databázy (Computing with words)

Zdroje

[1] Carlo Zaniolo a kol.: Advanced Database Systems, Morgan Kaufman Publishers, San Francisco, 1997 (kapitoly 2-3).

[2] Imrich J.: 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/

Page 4: Fuzzy Databázy (Computing with words)

Motivácia

• Stredne vysoká budova blízko banky

Page 5: Fuzzy Databázy (Computing with words)

Riešenie

Page 6: Fuzzy Databázy (Computing with words)

Príklad

• Máme databázu študentov a ich študijné priemery

Page 7: Fuzzy Databázy (Computing with words)

Dáta o študentoch

Page 8: Fuzzy Databázy (Computing with words)

• Hľadáme dobrých študentov (študenti s priemerom >= 3.5)

• DotazSELECT * FROM STUDENTS WHERE GPA >= 3.5;

Page 9: Fuzzy Databázy (Computing with words)

Výsledok

Page 10: Fuzzy Databázy (Computing with words)

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).

• DotazSELECT * FROM STUDENTSWHERE (GPA >= 3.5) AND (ABSENCES < 10) ORDER BY GPA DESC, ABSENCES ASC;

Page 11: Fuzzy Databázy (Computing with words)

Výsledok

Page 12: Fuzzy Databázy (Computing with words)

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í.

Page 13: Fuzzy Databázy (Computing with words)

Výsledok - nevýhody

Page 14: Fuzzy Databázy (Computing with words)

Riešenie

Aplikácia fuzzy logiky

Page 15: Fuzzy Databázy (Computing with words)

História vzniku fuzzy logiky

• 1965 Prof. 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.

Page 16: Fuzzy Databázy (Computing with words)

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.

Page 17: Fuzzy Databázy (Computing with words)

Funkcie príslušnostiLineárne rastúca funkcia

0

0,2

0,4

0,6

0,8

1

5 10 15 20

Prvky univerza

Fu

n.

prí

slu

šno

sti

Lineárne klesajúca funkcia

0

0,2

0,4

0,6

0,8

1

5 10 15 20

Prvky univerza

Fu

n.

prí

slu

šn

os

ti

Trapezová funkcia

00,20,40,60,8

1

5 10 15 20

Prvky univerza

Fu

n.

prí

slu

šno

sti

Fuzzy množina S+

0

0,2

0,4

0,6

0,8

1

0 1 2 3 4 5 6 7 8 9 10

Fuzzy množina S-

0

0,2

0,4

0,6

0,8

1

0 1 2 3 4 5 6 7 8 9 10

Page 18: Fuzzy Databázy (Computing with words)

Funkcie príslušnosti (pokr.)

Fuzzy množina Pí

0

0,2

0,4

0,6

0,8

1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Page 19: Fuzzy Databázy (Computing with words)

Fuzzy term (výraz)

• Fuzzy number

• Fuzzy label

Page 20: Fuzzy Databázy (Computing with words)

Fuzzy number (číslo)

Fuzzy číslo "asi 2"

0

0,2

0,4

0,6

0,8

1

0 1 2 3 4

Page 21: Fuzzy Databázy (Computing with words)

Fuzzy label (prívlastok)

Mem

bers

hip

degr

ee

Age20 24 26 30

1

Energetic (rázny, energický)

Page 22: Fuzzy Databázy (Computing with words)

Ďalšie fuzzy labels

• starý- mladý

• vysoký - nízky

• blízko - ďaleko

• ...

Page 23: Fuzzy Databázy (Computing with words)

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).

Page 24: Fuzzy Databázy (Computing with words)

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áciaINT(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>.

Page 25: Fuzzy Databázy (Computing with words)

Operácie CON DIL INT

0

0.2

0.4

0.6

0.8

1

0 1 2 3 4 5 6 7 8 9 1011121314151617181920

A CON(A) DIL(A) INT(A)

Page 26: Fuzzy Databázy (Computing with words)

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]

Page 27: Fuzzy Databázy (Computing with words)

Jazykové operátory

Jazykové operátory

00.10.20.30.40.50.60.70.80.9

1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A Veľmi(A) Značne(A) Viac-menej(A)

Zhruba(A) Skôr(A) Mierne(A)

Page 28: Fuzzy Databázy (Computing with words)
Page 29: Fuzzy Databázy (Computing with words)

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žinaA B = uA(x) μB(x),

Page 30: Fuzzy Databázy (Computing with words)

Riešenie príkladu z úvodu

Page 31: Fuzzy Databázy (Computing with words)

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.

Page 32: Fuzzy Databázy (Computing with words)

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.