Click here to load reader

UPOTREBA FAZI LOGIKE U RELACIONIM BAZAMA PODATAKA · razvoj skupa alata koji omogućava upotrebu fazi logike u relacionim bazama podataka. Upotreba fazi logike u relacionim bazama

  • View
    21

  • Download
    1

Embed Size (px)

Text of UPOTREBA FAZI LOGIKE U RELACIONIM BAZAMA PODATAKA · razvoj skupa alata koji omogućava upotrebu...

  • mr Sran krbi

    UPOTREBA FAZI LOGIKE U RELACIONIM BAZAMA PODATAKA

    - doktorska disertacija -

    Novi Sad, 2008.

    UNIVERZITET U NOVOM SADU PRIRODNO-MATEMATIKI

    FAKULTET DEPARTMAN ZA MATEMATIKU

    I INFORMATIKU

  • 3

    PREDGOVOR

    Doktorska disertacija pripada oblasti informacionih sistema, odnosno podoblasti koja se bavi upravljanjem skladitenjem i pretraivanjem informacija. Osnovni cilj disertacije je modeliranje i implementacija skupa alata koji omoguavaju upotrebu fazi logike u radu sa relacionim bazama podataka.

    Da bi se do tog skupa alata dolo, najpre je relacioni model podataka proiren elementima teorije fazi skupova, a zatim je definisano fazi proirenje upitnog jezika SQL PFSQL. Interpreter za taj jezik je implementiran u okviru fazi JDBC drajvera koji, osim implementacije interpretera, sadri i elemente koji omoguavaju jednostavnu upotrebu ovih mehanizama iz programskog jezika Java. Skup alata je zaokruen implementacijom CASE alata za razvoj fazi-relacionog modela baze podataka. Osim toga, razmatrane su i mogunosti za upotrebu PFSQL jezika u vieslojnim aplikacijama.

    Disertacija se sastoji od sledeih sedam poglavlja i zakljuka:

    1. Uvod 2. Fazi skupovi i CSP 3. Fazi baze podataka 4. Skladitenje fazi podataka 5. PFSQL i fazi JDBC drajver 6. CASE alat za rad sa fazi bazama podataka 7. Upotreba jezika PFSQL u vieslojnim sistemima

    Prvo poglavlje predstavlja osvrt na razvoj ideja koje su dovele do realizacije ove doktorske disertacije. Prikazane su osnove organizacije skupa alata za rad sa fazi logikom u relacionim bazama podataka. Osim toga, dat je i pregled tema koje se obrauju u pojedinim poglavljima.

    Sledee poglavlje predstavlja uvod u teoriju fazi skupova i fazi logiku. U prvom delu poglavlja su dati osnovni pojmovi bitni za realizaciju

  • 4

    ciljeva ove doktorske disertacije. Drugi deo poglavlja predstavlja uvod u fazifikaciju problema zadovoljenja ogranienja koja predstavlja teorijsku osnovu za realizaciju PFSQL interpretera.

    U treem poglavlju je dat pregled istraivanja u oblasti upotrebe fazi logike u bazama podataka koja su prethodila ovoj doktorskoj disertaciji. etvrto poglavlje sadri detaljan opis proirenja relacionog modela podataka elementima fazi logike. Osim strukture samih proirenja, dat je i obiman primer ovakvog modela baze podataka koji predstavlja fazifikaciju jednog segmenta modela baze podataka informacionog sistema studentske slube na Prirodno-matematikom fakultetu u Novom Sadu.

    Peto poglavlje se bavi osobinama PFSQL jezika, kao i implementacijom fazi JDBC drajvera koji sadri interpreter za taj jezik. Data je analiza mogunosti za proirenje SQL jezika fazi konstrukcijama i sintaksa PFSQL jezika nastala na osnovu te analize. U nastavku je dat opis implementacije fazi JDBC drajvera koji u sebe ukljuuje interpreter za jezik PFSQL.

    Modeliranje i implementacija CASE alata za rad sa fazi bazama podataka su prikazani u estom poglavlju. Poslednje, sedmo poglavlje sadri diskusiju o mogunostima upotrebe PFSQL jezika na srednjem sloju vieslojnih aplikacija koje se oslanjaju na EJB 3.0 tehnologiju.

    Na kraju disertacije je dat zakljuak o znaaju i doprinosu teze, kao i predlozi za dalje pravce istraivanja u ovoj oblasti.

    U disertaciji je usvojen i korien APA (American Psychological Association) stil citiranja referenci.

    Zahvaljujem se komisiji koja je detaljno pregledala rad i svojim korisnim predlozima uticala na konanu verziju disertacije. Posebnu zahvalnost dugujem mentoru prof dr Milou Rackoviu na nesebinoj podrci u toku izrade disertacije.

    Zahvaljujem se Svetlani i porodici na razumevanju i podrci.

    Novi Sad, 2008. Sran krbi

  • 5

    SADRAJ

    PREDGOVOR ........................................................................................................ 3 SADRAJ ............................................................................................................... 5 UVOD ...................................................................................................................... 9 FAZI SKUPOVI I CSP ........................................................................................ 13

    2.1 Fazi skupovi ................................................................................................ 13 2.1.1 Uvodna razmatranja .......................................................................... 14 2.1.2 Vrste karakteristinih funkcija ......................................................... 15 2.1.3 Trougaone norme i konorme ............................................................ 17 2.1.4 Fazi logika ........................................................................................... 20 2.1.5 Skupovna algebra fazi skupova ....................................................... 20 2.1.6 Poredak ................................................................................................ 22

    2.2 PFCSP SISTEMI ......................................................................................... 24 2.2.1 CSP i FCSP .......................................................................................... 25 2.2.2 PFCSP ................................................................................................... 28 2.2.3 GPFCSP................................................................................................ 32

    FAZI BAZE PODATAKA .................................................................................. 39 3.1 Pregled istraivanja u oblasti fazi baza podataka ................................ 39 3.2 Razvoj ideje o uvoenju koncepta prioriteta ......................................... 42

    SKLADITENJE FAZI PODATAKA .............................................................. 45 4.1 Osobine modela za skladitenje fazi podataka ..................................... 45 4.2 Polazni relacioni model ............................................................................ 47 4.3 Fazifikacija i fazi meta model .................................................................. 49 4.4 Motivacija i poreenje .............................................................................. 56

    PFSQL I FAZI JDBC DRAJVER ....................................................................... 59 5.1 PFSQL .......................................................................................................... 59 5.2 Izvravanje PFSQL upita i fazi JDBC drajver ......................................... 64

    5.2.1 Izraunavanje fazi stepena zadovoljenja ......................................... 64 5.2.2 Proces izvravanja PFSQL upita ....................................................... 66

  • 6

    5.2.3 Fazi JDBC drajver ................................................................................ 67 5.3 JavaCC ......................................................................................................... 68

    5.3.1 Akcije .................................................................................................... 71 5.3.2 Gledanje unapred i reavanje neodreenosti .................................. 73 5.3.3 JJTree ..................................................................................................... 74

    5.4 Implementacija ........................................................................................... 76 5.4.1 Organizacija fazi JDBC drajvera ....................................................... 76 5.4.2 Implementacija PFSQL parsera ......................................................... 79 5.4.3 Transformacija stabla parsiranja ....................................................... 86 5.4.4 Izraunavanje fazi stepena zadovoljenja ......................................... 89

    5.5 PFSQL i FSQL ............................................................................................. 93 5.6 Upotreba fazi mehanizama u XML native bazama podataka ............. 95

    CASE ALAT ZA RAD SA FAZI BAZAMA PODATAKA ........................... 97 6.1 Modeliranje ................................................................................................ 97

    6.1.1 Specifikacija zahteva .......................................................................... 97 6.1.1.1 Funkcije za izradu fazi relacionog modela ............................... 97 6.1.1.2 Funkcije za rad sa repozitorijumom i generisanje skripta .... 100

    6.1.2 Dijagrami klasa i paketa .................................................................. 102 6.1.2.1 Paket fuzzyct .............................................................................. 102 6.1.2.2 Paket fuzzyct.repTree ............................................................... 105 6.1.2.3 Paket fuzzyct.utils ..................................................................... 105

    6.1.3 Dinamiki model osnovnih procesa .............................................. 106 6.2. Implementacija ........................................................................................ 110

    6.2.1 Glavna ekranska forma ................................................................... 110 6.2.1.1 Meni i toolbar .............................................................................. 110 6.2.1.2 Navigaciono stablo ..................................................................... 112 6.2.1.3 Glavni panel i status bar ............................................................ 113

    6.2.2 Unos modela ..................................................................................... 113 6.2.3 Kreiranje SQL skripta ....................................................................... 117

    UPOTREBA JEZIKA PFSQL U VIESLOJNIM SISTEMIMA................. 125 7.1 EJB 3.0 ........................................................................................................ 126

    7.1.1 Uvodna razmatranja ......................................................................... 126 7.1.2 Session bean ....................................................................................... 128 7.1.3 Entity bean i rad sa bazom podataka ............................................. 130

    7.1.3.1 Objektno-relaciono mapiranje .................................................. 130 7.1.3.2 Upravljanje entity bean-ovima ................................................. 134

  • 7

    7.1.4 Interceptor .......................................................................................... 137 7.2 PFSQL i EJB 3.0 ......................................................................................... 139

    7.2.1 Prva mogunost ................................................................................. 139 7.2.2 Druga mogunost .............................................................................. 140 7.2.3 Trea mogunost ............................................................................... 143

    ZAKLJUAK ...................................................................................................... 145 LITERATURA .................................................................................................... 147 SKRAENICE .................................................................................................... 153 BIOGRAFIJA ..................................................................................................... 155

  • Poglavlje 1

    UVOD

    Ova doktorska disertacija predstavlja rezultat viegodinjih napora autora u istraivanju inovativnih i nedovoljno istraenih naina za upravljanje podacima.

    U svojoj magistarskoj tezi (krbi, 2004), autor daje detaljan prikaz XML (eXstensible Markup Language) native baza podataka i mogunosti njihove primene u radu sa XML bibliografskim zapisima. Tamino baza podataka i alati koje ona nudi su upotrebljeni za skladitenje XML bibliografskih zapisa i implementaciju aplikacije za upravljanje XML bibliografskim zapisima u XML native tehnologiji. Ovi rezultati su kasnije u saetom obliku publikovani u (krbi & Surla, 2008).

    U ovoj doktorskoj disertaciji je panja usmerena na upravljanje nepreciznim i nepotpunim informacijama u radu sa relacionim bazama podataka. Polazi se od pretpostavke da vrednosti atributa u relacionim bazama podataka ne moraju biti egzaktne. Ponekad postoji potreba da se zadaju neprecizne i nejasne, ali i nepotpune vrednosti. Upotreba fazi skupova i fazi logike predstavlja jedan od naina da se postigne ovaj cilj. Fazi skupovi su uoptenje klasinih skupova u smislu da mera pripadnosti elementa nekom skupu moe uzimati vrednosti iz jedininog intervala. Uveo ih je Lotfi Zadeh 1965. godine (Zadeh, 1965). Od tada su se teorija fazi skupova i fazi logika razvile u mone alate sa irokim spektrom primene. Rezultati iz oblasti fazi logike se koriste na mnogim poljima: upravljanje i kontrola sistema, prognoza finansijskih trendova, medicinska dijagnostika, geoloka istraivanja itd. U skladu sa tim, kratko reeno, cilj ove doktorske disertacije je razvoj skupa alata koji omoguava upotrebu fazi logike u relacionim bazama podataka.

  • Upotreba fazi logike u relacionim bazama podataka

    10

    Da bi se takav cilj dostigao, definisano je nekoliko potciljeva. Prvo, potrebno je proiriti i prilagoditi relacionu bazu podataka aparaturom koja omoguava upotrebu fazi vrednosti. Od razliitih mogunosti i mnotva opcija koje nudi teorija fazi skupova, odabrani su oni elementi koji se najee koriste u praksi. Zatim su za te elemente definisani mehanizmi za skladitenje u relacionoj bazi podataka. Na taj nain je nastao model za skladitenje fazi informacija kojim se bavi etvrto poglavlje.

    Pored toga, potrebno je proiriti i sam upitni jezik SQL (Structured Query Language), tako da omogui rad sa fazi vrednostima i postavljanje fazi upita. Osim standardnih konstrukcija fazi logike, u proirenja su ukljuene i mogunosti za definisanje prioriteta pojedinih iskaza. Slino kao i kod modela za skladitenje fazi informacija, i ovde je uraena analiza mogunosti za proirenje jezika SQL. Imajui u vidu ovu analizu i definisani model za skladitenje fazi informacija, definisan je jezik PFSQL (Priority Fuzzy Structured Query Language). Osim toga, za rad sa takvom bazom podataka je implementiran drajver koji omoguava njenu upotrebu pomou objektno-orijentisanih jezika, konkretno, programskog jezika Java. Drajver u sebe ukljuuje i mehanizme za interpretaciju PFSQL upita. Ova tema je detaljno obraeno u petom poglavlju.

    Kako modeliranje fazi baze podataka pomou postojeih CASE (Computer Aided Software Engineering) alata nije mogue, realizovan je i odgovarajui CASE alat. Alat je realizovan tako da podrava pomenuti model za skladitenje fazi informacija. Time je omogueno jednostavno projektovanje fazi baze podataka bez potrebe da se poznaju detalji interne realizacije proirenja relacionog modela fazi elementima. Detaljan prikaz modeliranja, implementacije i mogunosti ovog alata je dat u estom poglavlju.

    Za modeliranje i implementaciju svih komponenata sistema je koriena objektno-orijentisana metodologija razvoja softvera. Modeliranje je uraeno koristei jezik UML (Unified Modeling Language), dok je za implementaciju korien programski jezika Java.

    Kako je direktno programiranje baze podataka retko u veim informacionim sistemima, razmotrene su i mogunosti upotrebe fazi baze podataka i PFSQL jezika u vieslojnom okruenju. Diskusiju na ovu temu

  • Uvod

    11

    sadri sedmo poglavlje. Kao tehnologija za razvoj srednjeg sloja vieslojnih aplikacija je izabrana Enterprise JavaBeans 3.0 tehnologija. Iako su predloene neke mogunosti za upotrebu PFSQL jezika u ovoj tehnologiji, najbolje mogue reenje je samo nagoveteno kao dalji pravac istraivanja.

    U pokuaju implementacije jezika se postavilo pitanje metoda za izraunavanje fazi stepena zadovoljenja pojedinih torki u rezultatu upita. Zbog toga su, kao teorijska osnova, proueni fazifikovani problemi zadovoljenja ogranienja koji ukljuuju prioritetnu logiku - PFCSP (Priority Fuzzy Constraint Satisfaction Problem). Definisano je proirenje PFCSP-a koje ukljuuje i operator OR, odnosno, t-konormu, koje je nazvano GPFCSP (Generalized Priority Fuzzy Constraint Satisfaction Problem). Ovim sistemima, kao i osnovnim pojmovima teorije fazi skupova i fazi logike se bavi drugo poglavlje.

    Detaljnim prikazom postojee literature i dostignua u oblasti upotrebe fazi logike u relacionim bazama podataka se bavi tree poglavlje. Izmeu ostalog, ovde je dat kratak prikaz FIRST-2 modela i FSQL jezika, kao dva najozbiljnija dosadanja pokuaja da se fazi koncepti priblie upotrebi u bazama podataka. Takoe, dat je pregled prethodnih radova autora i istraivake grupe kojoj pripada iz predmetne oblasti.

    Istraivanje prikazano u ovoj disertaciji se nastavlja na disertaciju (Takai, Trougaone norme prioriteta i njihova primena na modeliranje ispunjenja fazi ogranienja, 2006) u kojoj je dat predlog proirenja relacionog modela elementima fazi logike. Osim toga, u toj disertaciji je opisan podskup SQL-a sa fazi proirenjima za koga je implementirana i softverska podrka. U ovoj disertaciji je usavren metod za implementaciju fazi baze podataka i upitnog jezika za tu bazu u odnosu na rezultate postignute u gore pomenutoj disertaciji. Dato je i proirenje teorijske osnove za izraunavanje rezultata upita. U pomenutoj disertaciji je istraen PFCSP, dok je ovde kao teorijska osnova prikazan GPFCSP sistem. Izvrena je kompletna rekonstrukcija modela za skladitenje fazi informacija, tako da je dobijen opirniji, robusniji i efikasniji model. Takoe, uraena su i brojna proirenja SQL jezika koja ranije nisu razmatrana ni praktino ni teoretski. Najvanije proirenje je mogunost postavljanja upita sa prioritetom gde je uslov proizvoljan logiki izraz. U prethodnoj varijanti su bile mogue samo odreene konstrukcije sa ogranienim skupom operatora. Da bi se olakala

  • Upotreba fazi logike u relacionim bazama podataka

    12

    praktina upotreba realizovanih mehanizama, razvijen je i pratei skup alata, fazi JDBC (Java Database Connectivity) drajver i CASE alat, koji to omoguavaju. Kao dodatak, date su smernice za razvoj vieslojnih aplikacija koje koriste ovakvu bazu podataka.

    Postoji nekoliko taaka koje se mogu navesti kao ogranienja dobijenih rezultata, ali i kao smernice za dalja istraivanja. Kao prvo, tu su mogunosti daljih proirenja samog jezika PFSQL. PFSQL jezik, za sada, podrazumeva samo proirenja SELECT klauzule. Pored mogunosti za dalje proirenje funkcionalnosti koje su opisane u ovoj disertaciji, istraivanje se moe usmeriti u cilju proirenja ostalih naredbi SQL jezika koje slue za unos, brisanje i modifikaciju podataka. Model za skladitenje fazi informacija je jo jedno mesto gde ima prostora za unapreenje. Opisani model je ogranien na odreene konstrukcije koje se najee koriste u praksi, ali budui modeli bi mogli da ukljue i dodatne mogunosti. Na kraju, kao to je to prikazano u sedmom poglavlju, u segmentu upotrebe fazi mehanizama na srednjem sloju vieslojne aplikacije ima irokog prostora za dalji rad.

    Detaljnim uvidom u literaturu se dolo do zakljuka da je skup alata predstavljen u ovoj disertaciji prvi pokuaj da se upotreba fazi logike u relacionim bazama podataka zaokrui u sistem i na taj nain priblii krajnjem korisniku. Iako postoje pokuaji, pa ak i implementacije jezika zasnovanih na proirenju SQL jezika fazi mehanizmima, PFSQL je prvi jezik koji ukljuuje i upotrebu prioriteta u kombinaciji sa fazi iskazima. Ideja da se interpreter za takav jezik uoblii kao fazi JDBC drajver se takoe sree prvi put. Na taj nain je postignuta nezavisnost u odnosu na bazu podataka, a upotreba PFSQL jezika je uinjena bliom korisniku. Na kraju, implementacija CASE alata za projektovanje modela baza podataka koji ukljuuju fazi logiku je takoe originalna.

    U skladu sa interesovanjima autora usmerenim ka XML tehnologijama iskazanim na poetku ovog poglavlja, razmatrane su i mogunosti primene fazi logike u radu sa XML dokumentima i XML native bazama podataka. Ispostavilo se da i na ovom polju postoje prethodna istraivanja opisana u (Ma, 2005) i (Ma & Yan, 2007). Dalje istraivanje ovih mogunosti je ostavljeno kao jedna od smernica za dalji rad.

  • Poglavlje 2

    FAZI SKUPOVI I CSP

    U ovom poglavlju je dat uvod u teoriju fazi skupova i fazi logiku. U prvom delu poglavlja su dati osnovni pojmovi bitni za realizaciju ciljeva ove doktorske disertacije. Drugi deo poglavlja predstavlja uvod u fazifikaciju problema zadovoljenja ogranienja koja predstavlja teorijsku osnovu za realizaciju PFSQL interpretera koja je opisana u petom poglavlju. Osnovne reference koriene u ovom poglavlju su (Bistarelli, Montanari, Rossi, Schiex, Verfaillie, & Fargier, 1999), (Bodenhofer, 2003), (Dubois & Prade, 1980), (Klement, Mesiar, & Pap, 2000) i (Takai, 2006).

    2.1 FAZI SKUPOVI

    Koristei klasinu logiku, mogue je raditi jedino sa informacijama koje su ili u potpunosti tane ili u potpunosti pogrene. Nije mogue upravljati informacijama koje su neprecizne ili nekompletne, iako ovakve informacije mogu pruiti bolje reenje nekog problema. Pripadnost skupu, u terminima klasine logike, je predstavljena ili sa vrednou 0, kada element ne pripada skupu, ili sa vrednou 1, kada element pripada skupu. Originalna interpretacija fazi skupova je nastala generalizacijom klasinog koncepta skupa tako to je kodomen karakteristine funkcije skupa proiren sa skupa {0, 1} na jedinini interval. Pojam fazi skupa je u svom radu uveo Zadeh (Zadeh, 1965), koji se smatra i tvorcem fazi logike. Fazi logika je logika koja stoji iza priblinog umesto preciznog zakljuivanja. Njen znaaj i veliki potencijal lee u injenici da je ljudsko razmiljanje po prirodi aproksimativno. Dobar izvor vezan za teoriju fazi skupova i fazi logiku predstavlja (Dubois & Prade, 1980).

  • Upotreba fazi logike u relacionim bazama podataka

    14

    2.1.1 Uvodna razmatranja

    Formalno, fazi skup se moe definisati ovako:

    Definicija 2.1: Fazi skup A nad univerzumom X je odreen svojom karakteristinom funkcijom : [0,1]A X , gde se za svako x X ( )A x

    interpretira kao stepen pripadnosti elementa x fazi skupu A.

    Vrednost =( ) 0A x oznaava da element x uopte ne pripada

    skupu A, dok vrednost =( ) 1A x oznaava da element x u potpunosti

    pripada skupu A. esto se za univerzum uzima skup realnih brojeva. Slede definicije niza osnovnih koncepata vezanih za fazi skupove.

    Definicija 2.2: Dva fazi skupa A i B su jednaki, u oznaci A=B ako i samo ako vai , ( ) ( )A Bx X x x = .

    Definicija 2.3: Za fazi skup A kaemo da je podskup fazi skupa B, u oznaci A B ako i samo ako vai , ( ) ( )A Bx X x x .

    Definicija 2.4: Nosa fazi skupa A je skup: ( ) { | ( ) 0}Asupp A x X x= > .

    Definicija 2.5: Jezgro fazi skupa A je skup: ( ) { | ( ) 1}Aker A x X x= = .

    Definicija 2.6: Visina fazi skupa A je broj: ( ) sup ( )Ax X

    h A x

    = .

    Definicija 2.7: Za fazi skup A kaemo da je normalizovan ako i samo ako vai , ( ) ( ) 1Ax X x h A = = .

    Definicija 2.8: -odseci fazi skupa A, u oznaci [A], za svako [0,1] , definiu se na sledei nain: [ ] { | ( ) }AA x X x = .

    Definicija 2.9: Fazi skup A se naziva konveksnim ako i samo ako su za svako [0,1] -odseci konveksni podskupovi od X .

    Definicija 2.10: Fazi broj je fazi skup A koji je normalizovan, konveksan i ima ogranieno jezgro.

  • Fazi skupovi i CSP

    15

    2.1.2 Vrste karakteristinih funkcija

    U zavisnosti od tipa karakteristine funkcije, dobijaju se razliiti fazi skupovi. Zadeh je klasifikovao ove funkcije u dve kategorije: linearne i nelinearne. Sledi prikaz najeih vrsta karakteristinih funkcija, odnosno, fazi skupova.

    1. Trougaoni fazi broj, prikazan na slici 2.1, se definie na sledei nain:

    =

    0, ,( )

    ( ) , ( , ]( )( )

    , ( , )

    A

    x a x b

    x ax x a m

    m a

    b xx m b

    b m

    Slika 2.1. Trougaoni fazi broj.

    2. Trapezoidni fazi broj je prikazan na slici 2.2, a definie se na sledei nain:

    =

    0, ,( )

    , ( , )( )

    ( )1, ( , )

    ( ), ( , )

    ( )

    A

    x a x d

    x ax a b

    b ax

    x b c

    d xx b d

    d c

    Slika 2.2. Trapezoidni fazi broj.

    3. Interval se takoe moe predstaviti kao fazi broj. Na slici 2.3 je prikazan interval [1,2] kao fazi broj.

    0 a m b

    1

    0 a b d

    1

    c

  • Upotreba fazi logike u relacionim bazama podataka

    16

    0 1 2

    1

    Slika 2.3. Interval kao fazi broj.

    4. Gausov fazi broj je prikazan na slici 2.4, a njegova karakteristina funkcija je:

    20( )

    ( )x x

    dA x e

    =

    Slika 2.4. Gausov fazi broj.

    Ponekad je potrebno modelirati veliine koje su ograniene samo sa jedne strane. Na primer, pojam brzi automobili. Ako je maksimalna brzina automobila 240 km/h svi e se sloiti da je on brz, a ako je 120 km/h, svi e se sloiti da nije. to je automobil bri, to je njegova pripadnost fazi skupu brzi automobili vea i obrnuto. Zbog toga se definiu fazi veliine.

    Definicija 2.11: Fazi veliine su normalizovani fazi skupovi ija je karakteristina funkcija neprekidna i monotona, a jezgro interval ogranien sa jedne strane.

    Na slici 2.5 su prikazane fazi veliine brzi automobili i niske zgrade.

    0 x

    1

    0

  • Fazi skupovi i CSP

    17

    Slika 2.5. Fazi veliine brzi automobili i niske zgrade.

    2.1.3 Trougaone norme i konorme

    Iz injenice da je teorija fazi skupova generalizacija klasine teorije skupova sledi da se i operacije unije, preseka i komplementa mogu definisati i nad fazi skupovima. Da bi se dolo do ove generalizacije, potrebno je prvo definisati pojmove negacije i trougaonih normi i konormi, koje su nastale kao proirenje operacija , i , respektivno. Ovde su prikazane samo najosnovnije definicije i osobine vezane za ove operacije, dok se detaljan opis moe nai u (Klement, Mesiar, & Pap, 2000).

    Sledea definicija daje uoptenje klasine negacije.

    Definicija 2.12:

    1. Nerastua funkcija je negacija ako vai: = =(0) 1 (1) 0N N .

    2. Negacija : [0,1] [0,1]N je stroga negacija ako je neprekidna i

    strogo opadajua. 3. Stroga negacija : [0,1] [0,1]N je jaka negacija ako je involucija,

    odnosno, ako vai = [0,1]N N id .

    Najee koriena negacija je tzv. standardna negacija: = ( ) 1SN x x . Dokazano je da je svaka jaka negacija transformacija

    standardne negacije.

    Definicija 2.13: Funkcija : [0,1] [0,1] [0,1]T je trougaona norma,

    ili t-norma, ako zadovoljava sledee osobine:

    1. Komutativnost: ( , ) ( , )T x y T y x=

    2. Asocijativnost: ( , ( , )) ( ( , ), )T x T y z T T x y z=

    0 120 240

    1

    0 20 80

    1

  • Upotreba fazi logike u relacionim bazama podataka

    18

    3. Monotonost: ako je , y z onda je ( , ) ( , )T x y T y z

    4. Granini uslovi: ( ,1)T x x= i ( ,0) 0T x = .

    etiri osnovne t-norme su:

    1. ( , ) min( , )MT x y x y= ,

    2. ( , )PT x y x y= ,

    3. ( , ) max( 1,0)LT x y x y= + i

    4. 20,( , ) [0,1)

    ( , )min( , ),D

    x yT x y

    x y inae

    =

    Osobina asocijativnosti omoguava da t-normu proirimo na n-arni operator koristei indukciju:

    11 1( , )

    n ni i i i nT x T T x x

    = ==

    Sada etiri osnovne t-norme postaju:

    1. 1 1( ,..., ) min( ,..., )M n nT x x x x= ,

    2. 1 1( ,..., )P n nT x x x x= ,

    3. 11

    ( ,..., ) max( ( 1),0)n

    L n ii

    T x x x n=

    = i

    4. 1, , 1

    ( ,..., )0,

    i jD n

    x ako j i xT x x

    inae

    ==

    Moe se pokazati da vai D L P MT T T T i D MT T T za svaku

    t-normu T.

    Trougaone konorme se koriste kao uoptenje operatora , a od t-normi se razlikuju samo po graninim uslovima.

    Definicija 2.14: Funkcija : [0,1] [0,1] [0,1]S je trougaona

    konorma, ili t-konorma ili s-norma, ako zadovoljava sledee osobine:

    1. Komutativnost: ( , ) ( , )S x y S y x=

    2. Asocijativnost: ( , ( , )) ( ( , ), )S x S y z S S x y z=

    3. Monotonost: ako je , y z onda je ( , ) ( , )S x y S y z

    4. Granini uslovi: ( ,1) 1S x = i ( ,0)S x x= .

  • Fazi skupovi i CSP

    19

    Negacija se koristi za definiciju komplementa fazi skupa kao i dualnosti t-normi i t-konormi. Za svaku t-normu T dobijamo njenu dualnu konormu S koristei strogu negaciju N na sledei nain:

    =( , ) ( ( ( ), ( ))S x y N T N x N y .

    Ako N zamenimo standardnom negacijom, dobijamo:

    ( , ) 1 (1 ,1 )S x y T x y= .

    Slino, za svaku t-konormu S dobijamo dualnu t-normu T datu sa:

    =( , ) ( ( ( ), ( ))T x y N S N x N y .

    Odnosno, u sluaju da je N standardna negacija:

    ( , ) 1 (1 ,1 )T x y S x y= .

    Imajui u vidu da je t-norma uoptenje konjunkcije, a t-konorma uoptenje disjunkcije postaje jasno da su ove formule uoptenja De Morganovih obrazaca. Dakle, ako je N stroga negacija, T t-norma, a S njena dualna konorma, onda (T,S,N) ini De Morganovu trojku.

    Koristei ove transformacije dobijamo etiri osnovne t-konorme:

    1. ( , ) max( , )MS x y x y= ,

    2. ( , )PS x y x y xy= + ,

    3. ( , ) min( ,1)LS x y x y= + i

    4. 21,( , ) [0,1)

    ( , )max( , ),D

    x yS x y

    x y inae

    =

    Analogno t-normama, i t-konorme se mogu proiriti na n-arne operatore na sledei nain:

    1. 1 1( ,..., ) max( ,..., )M n nS x x x x= ,

    2. 11

    ( ,..., ) 1 (1 )n

    P n ii

    S x x x=

    = ,

    3. 11

    ( ,..., ) min( ,1)n

    L n ii

    S x x x=

    = i

  • Upotreba fazi logike u relacionim bazama podataka

    20

    4. 1, , 0

    ( ,..., )1,

    i jD n

    x ako j i xS x x

    inae

    == .

    2.1.4 Fazi logika

    Prouavanje logike sa vie od dve istinitosne vrednosti je zapoeo Lukaijevi uvoenjem tree istinitosne vrednosti delimino tano (Lukasiewicz, 1920). Uvoenjem pojma fazi skupa (Zadeh, 1965), Zadeh je otvorio put za primenu logika sa vie istinitosnih vrednosti.

    Formalna definicija i razliite aksiomatike fazi logike se mogu nai u (Takai, Trougaone norme prioriteta i njihova primena na modeliranje ispunjenja fazi ogranienja, 2006) i, ire, u (Klement, Mesiar, & Pap, 2000), ali one izlaze van okvira ove disertacije. Bez zalaenja u detalje se moe rei da fazi logiku dobijamo fazifikacijom klasine logike. Skup istinitosnih vrednosti se proiruje sa {0,1} na jedinini interval [0,1], konjunkcija se zamenjuje t-normom, disjunkcija t-konormom, a negacija negacijom kakva je definisana u 2.1.3. Ovim je dat potreban aparat za izraunavanje istinitosnih vrednosti iskaza u fazi logici dovoljan za potrebe ove disertacije.

    2.1.5 Skupovna algebra fazi skupova

    Definicije negacije i trougaonih normi i konormi iz prethodnog paragrafa omoguavaju uvoenje elementarnih operacija nad fazi skupovima unije, preseka i komplementa.

    Neka su date t-norma T, t-konorma S i negacija N, kao i fazi skupovi A i B i njihove karakteristine funkcije ( )A x i ( )B x . Skupovi A B , A B i ( )NC A definiu se preko njihovih karakteristinih funkcija

    na sledei nain.

    Definicija 2.15: Unija dva fazi skupa A i B je data sa:

    =( ) ( ( ), ( ))A B A Bx S x x ,

  • Fazi skupovi i CSP

    21

    presek dva fazi skupa A i B je data sa:

    =( ) ( ( ), ( ))A B A Bx T x x ,

    dok je komplement fazi skupa A dat sa:

    =( )( ) ( ( ))NC A Ax N x .

    Osobine ovih operacija se mogu izvesti direktno iz osobina trougaonih normi, konormi i negacije.

    Interesantno je da, ak i u sluaju da je (T,S,N) De Morganova trojka, jednakosti =( )NA C A i =( )NA C A X ne vae za svaki fazi podskup A univerzuma X. Sa druge strane, ako je data De Morganova trojka ( , , )L L ST S N , ili takva De Morganova trojka da vai LT T , tada za

    svako A vai =( )NA C A i =( )NA C A X .

    Ako uzmemo u obzir da karakteristina funkcija oznaava meru pripadanja nekog elementa skupu, relacija podskupa se prirodno proiruje na fazi sluaj. Ona je data u definiciji 2.3. Na osnovu te definicije sledi da, u sluaju da je =( )A x , element x zadovoljava ne samo kriterijume pripadnosti skupu A sa vrednou , nego i sa svakom vrednou koja je manja od .

    Slino kao sa karakteristinom funkcijom fazi podskupa, moe se uvesti mera koliko je jedan fazi skup podskup nekog drugog fazi skupa. Za ove potrebe se najee koristi relacija kompatibilnosti dva fazi skupa.

    Definicija 2.16: Neka su A i B dva fazi skupa nad univerzumom X. Mera kompatibilnosti skupa A sa skupom B je data na sledei nain

    =,

    ( )( )A B

    P A BC

    P A.

    Gde je sa P predstavljena mera skupa, odnosno povrina u dvodimenzionalnom prostoru. Potrebno je uoiti da mera kompatibilnosti nije simetrina ni tranzitivna, ali jeste refleksivna. U sluaju da je A B , vai =, 1A BC . to je vie elemenata za koje vai >( ) ( )A Bx x , to je mera

    kompatibilnosti manja. Odnosno, to su dva skupa blia jedan drugom,

  • Upotreba fazi logike u relacionim bazama podataka

    22

    to je mera kompatibilnosti vea. Poto je podskup antisimetrina relacija, vai:

    ako je = =, ,1 1A B B AC C , onda =A B .

    Posmatrajmo primer mere kompatibilnosti dva trougaona fazi broja. Neka to budu trougaoni fazi brojevi koji predstavljaju broj priblino 99 i broj priblino 100 sa tolerancijom 1 (slika 2.6).

    0

    1

    99 100

    Slika 2.6. Kompatibilnost fazi skupova.

    Oigledno, mera kompatibilnosti ova dva trougaona fazi broja je 0.25.

    2.1.6 Poredak

    Uvoenje poretka meu fazi skupovima nije jednostavan problem. Tokom godina su prouene razliite vrste poredaka, a neki od rezultata se mogu nai u (Dubois & Prade, 1980), (Zadeh, 1971) i (Bodenhofer, 2003). Kompletan problem uvoenja poretka izlazi van okvira ove disertacije.

    U ovoj sekciji e biti opisan najei poredak koji nastaje kao uoptenje dobro poznate relacije .

    Neka je I skup svih podintervala skupa realnih brojeva. Generalizacija poretka nad I za intervale 1 1[ , ]a b i 2 2[ , ]a b je sledeeg oblika:

    1 1 2 2 1 2 1 2[ , ] [ , ]a b a b a a b b .

    Dakle, to je interval vie desno na x osi, on se smatra veim. Imajui ovu generalizaciju u vidu, opiimo poredak nad fazi skupovima.

  • Fazi skupovi i CSP

    23

    Definicija 2.17: Neka je poredak nad univerzumom X i neka je A fazi skup nad X. Fazi nadskup od A, u oznaci LTR(A) se definie na sledei nain:

    ( )( ) sup{ ( )}| }LTR A Ax y y x = ,

    analogno, RTL(A) se definie kao:

    ( )( ) sup{ ( )}| }RTL A Ax y x y = .

    LTR(A) je, u stvari, najmanji fazi nadskup od A sa neopadajuom karakteristinom funkcijom, dok je RTL(A) najmanji fazi nadskup od A sa nerastuom karakteristinom funkcijom.

    Definicija 2.18: Neka su A i B fazi skupovi nad univerzumom X. Tada se poredak 'F nad skupom svih fazi skupova nad univerzumom X,

    F(X), definie na sledei nain:

    ' ( ) ( ) ( ) ( )FA B LTR B LTR A RTL A RTL B .

    Odmah se primeuje da se dva fazi skupa sa razliitim visinama ne mogu ovako porediti. Da bi se ovaj problem prevaziao uvoenjem novog poretka, definie se skup A na sledei nain:

    1, ( ) ( )( )

    ( ),A

    AA

    x Hgt Ax

    x inae

    ==

    .

    Sada se moe dati definicija nove vrste poretka (Bodenhofer, 2003).

    Definicija 2.19: Za proizvoljne fazi skupove A i B nad univerzu-mom X, poredak F se uvodi na sledei nain:

    'F FA B A B .

    Poredak F ureuje fazi skupove u zavisnosti od njihove

    horizontalne pozicije na grafiku. to je karakteristina funkcija vie desno, vei je fazi skup. Ovo poreenje je takoe samo parcijalno. Fazi skupovi koji se njime ne mogu uporediti su prikazani na slici 2.7.

  • Upotreba fazi logike u relacionim bazama podataka

    24

    0 a c

    1

    d b

    Slika 2.7. Neuporedivi fazi skupovi.

    Uvoenje ovakvog poretka sa stanovita implementacije ne predstavlja naroit problem zbog toga to je jedino potrebno nai maksimum sa leve i desne strane za svaku taku. Kada je dat fazi skup, ovo moe da se uradi jednim prolazom kroz domen. Meutim, ako se ograniimo na uzak skup moguih vrsta karakteristinih funkcija (detaljno o ovoj temi se diskutuje u poglavlju 4), onda se, za fazi skup A, LTR(A) i RTL (A) pronalaze jednostavnije. Na primer:

    ( (180,10,10)) (170,180, ),LTR triangle fq inc=

    ( (180,10,10)) (180,190, ),RTL triangle fq dec=

    gde je sa triangle(a,b,c) predstavljen trougaoni fazi broj sa maksimumom u a i levim i desnim otklonom b i c, respektivno, a sa fq(a,b,inc/dec) opadajua ili rastua fazi veliina sa prevojima u a i b.

    Koristei poredak F i pojam jednakosti fazi skupova, moemo da

    izvedemo relacione operatore F< i F> na isti nain kao to izvodimo operatore < i > od operatora nad realnim brojevima.

    2.2 PFCSP SISTEMI

    Problemi zadovoljenja ogranienja (Constraint Satisfaction Problem), u daljem tekstu CSP, su izuavani u razliitim oblastima matematike. Cilj je pronalaenje reenja koje zadovoljava sva ogranienja za optimalno vreme (Dubois & Fortemps, 1999). U sluaju da zadovoljenje ogranienja ima istinitosnu vrednost iz intervala [0,1], odnosno, ako postoji vie nivoa zadovoljenja ogranienja, postaje jasno da se u CSP moe ugraditi fazi logika. Ogranienja se mogu modelirati kao fazi skupovi, te se

  • Fazi skupovi i CSP

    25

    na taj nain dobijaju fazi problemi zadovoljenja ogranienja (Fuzzy Constraint Satisfaction Problem, FCSP). U tom sluaju e mera zadovoljenja ogranienja biti vrednost karakteristine funkcije u datoj taki (Pap & Takai, 2005). Mera zadovoljenja svih ogranienja se dobija agregacijom vrednosti zadovoljenja pojedinanih ogranienja. Agregacija se vri pomou operatora fazi logike.

    2.2.1 CSP i FCSP

    CSP se moe posmatrati kao skup domena i ogranienja nad tim domenima koja su n-arne relacije nad Dekartovim proizvodom tih domena. Sledi definicija CSP-a (Bistarelli, Montanari, Rossi, Schiex, Verfaillie, & Fargier, 1999).

    Definicija 2.20: Problem zadovoljenja ogranienja je ureena trojka (X,D,C), gde su:

    1. Skup { | 1,2,..., }iX x i n= = je konaan skup promenljivih. 2. Skup { | 1,2,..., }iD d i n= = je konaan skup domena. Svaki

    domen id je skup koji sadri mogue vrednosti promenljive ix

    iz X. 3. Skup C je skup ogranienja:

    var( ){ : ( ) {0,1}, 1,2,..., }

    j i

    i jx R

    C R d i n

    = =

    gde var( )iR predstavlja skup promenljivih ogranienja iR .

    Dodela vrednosti promenljivoj iz odgovarajueg domena se naziva valuacijom promenljive. Ako uzmemo promenljivu x, njena valuacija se oznaava sa xv . Kombinovanom valuacijom se naziva istovremena

    valuacija svih promenljivih u skupu. Na primer, ako skup X sadri promenljive 1 2, ,..., nx x x , onda kombinovanu valuaciju oznaavamo sa

    1 2( , ,..., )

    nX x x xv v v v= .

    Iz kombinovane valuacije se izraunava vrednost karakteristine funkcije iR za svako ogranienje. U sluaju CSP-a, ogranienje moe biti ili

    potpuno zadovoljeno ili potpuno nezadovoljeno.

  • Upotreba fazi logike u relacionim bazama podataka

    26

    Agregacijom pojedinanih zadovoljenja se dobija globalno zadovoljenje ogranienja. U sluaju da elimo da sva ogranienja budu zadovoljena, kao operator agregacije koristimo konjunkciju, a u sluaju da nam treba zadovoljenje bar jednog ogranienja disjunkciju. Takoe, zadovoljenje moemo raunati kao proizvoljnu logiku formulu iji su simboli ogranienja.

    Proirenje CSP-a fazi ogranienjima otvara nove mogunosti njihove primene (Takai, 2005). Sledi definicija FCSP-a problema zadovoljenja ogranienja proirenog upotrebom fazi skupova i fazi logike.

    Definicija 2.21: Problem zadovoljenja fazi ogranienja je ureena

    trojka ( , , )fX D C , takva da je:

    1. Skup { | 1,2,..., }iX x i n= = je konaan skup promenljivih.

    2. Skup { | 1,2,..., }iD d i n= = je konaan skup domena. Svaki

    domen id je skup koji sadri mogue vrednosti promenljive

    ix X .

    3. Skup fC je skup fazi ogranienja:

    var( )

    { | : ( ) [0,1], 1,2,..., }fi f

    j i

    ffji R

    x R

    C R d i n

    = =

    gde je var( )fiR skup promenljivih ogranienja fiR .

    Potrebno je uoiti jasnu razliku izmeu CSP i FCSP sistema. Kod CSP-a su ogranienja funkcije koje preslikavaju Dekartov proizvod jednog ili vie domena iz D u skup {0,1}. Drugim reima to su relacije nad tim domenima. U definiciji FCSP-a je skup {0,1} zamenjen intervalom [0,1]. Dakle, na neki nain je dvovalentna logika zamenjena fazi logikom. Ovako su dobijene funkcije koje preslikavaju Dekartov proizvod jednog ili vie domena iz D u jedinini interval, a takve funkcije se mogu posmatrati kao karakteristine funkcije fazi skupova. Dakle, ogranienja u FCSP su fazi skupovi, a mera zadovoljenja ogranienja je vrednost karakteristine funkcije fazi skupa koji opisuje to ogranienje.

    Da bi se dobila globalna mera zadovoljenja ogranienja, koristi se fazi logika. U sluaju da sva ogranienja treba da budu zadovoljena, za operator agregacije se koristi t-norma. Ako najmanje jedno ogranienje

  • Fazi skupovi i CSP

    27

    treba da bude zadovoljeno, koristi se t-konorma. Slino kao kod CSP-a, dodavanjem negacije, zadovoljenje ogranienja se moe raunati kao proizvoljna formula fazi logike.

    Ako za FCSP ( , , )fX D C zadamo kombinovanu valuaciju Xv za sve

    promenljive u X, tada se stepen globalnog zadovoljenja ogranienja za tu valuaciju moe izraziti kao:

    var( )( ) { ( )| }f fi

    f fX RR

    v v R C = ,

    gde je operator agregacije. Reenje FCSP-a je kombinovana valuacija Xv za koju vai:

    0( )Xv ,

    gde je 0 predefinisani prag zadovoljenja.

    Ako elimo da utvrdimo da li je valuacija 1X

    v bolje reenje od

    valuacije 2X

    v potrebno je uvesti poredak na skupu valuacija koji

    oznaavamo sa . Najoiglednije ureenje je upotreba globalnog stepena zadovoljenja ogranienja:

    1 2 1 2( ) ( )X X X Xv v v v > .

    Ovo poreenje ima svojih mana. Na primer, ako uzmemo da je

    MT= , onda nastupa takozvani efekat uruavanja (drowning effect) koji

    oznaava da dve valuacije nee biti ispravno uporeene ak i ako su potpuno razliite. Na primer min(0,...,0) min(0,1,...,1)= . Da bi se ovaj

    efekat ispravio mogu se uvesti drugi poreci. Neki od njih su opisani u (Fortemps & Pirlot, 2004).

    Ve na ovom mestu je potrebno istai slinosti problema zadovoljenja ogranienja sa SQL jezikom. Osnovna struktura SQL naredbe se sastoji od klauzula SELECT, FROM i WHERE. Promenljive koje se navode iza SELECT se mogu posmatrati kao promenljive CSP-a, a nazivi tabela koji se navode posle FROM kao domeni tih promenljivih. Klauzula WHERE sadri niz ogranienja povezanih logikim veznicima, pa se, ba kao i u CSP sistemu zadovoljenje ogranienja rauna tako to se izraunaju zadovoljenja svakog pojedinog ogranienja, a zatim se izrauna istinitosna

  • Upotreba fazi logike u relacionim bazama podataka

    28

    vrednost formule. Ako CSP moemo fazifikovati i proiriti na FCSP koristei gore opisane mehanizme, onda sledi da i SQL moemo fazifikovati i dobiti FSQL. Tada bi uslovi u WHERE klauzuli mogli biti fazi skupovi, a izraunavanje istinitosne vrednosti bi se vrilo pomou operatora fazi logike t-norme, t-konorme i negacije. Takoe, u tom sluaju bi istinitosna vrednost bila broj iz jedininog intervala, pa bi torka ulazila u skup rezultata upita samo ako njena istinitosna vrednost prelazi unapred zadati prag, ba kao i kod FCSP-a. Ta ideja se u narednim poglavljima detaljno razrauje. No, pre toga je potrebno opisati dalja proirenja problema zadovoljenja ogranienja PFCSP i GPFCSP koja se dobijaju uvoenjem prioriteta.

    2.2.2 PFCSP

    Moe se desiti da ogranienja nemaju isti prioritet, odnosno da su neka vanija, a neka manje vana. Zbog toga se koncept FCSP-a moe proiriti uvoenjem prioriteta i na taj nain se dobija Prioritised Fuzzy Constraint Satisfaction Problem ili PFCSP. Pored stepena zadovoljenja, svako ogranienje dobija stepen vanosti, odnosno prioritet. to je ogranienje vanije, vie e uticati na agregirani rezultat. PFCSP se uvodi aksiomatski (Luo, Lee, Leung, & Jennings, 2003).

    Definicija 2.22: PFCSP je ureena etvorka ( , , , )fX D C , gde je

    ( , , )fX D C FCSP, a je funkcija prioriteta : [0, )fC .

    Definicija 2.23: Neka je dat PFCSP ( , , , )fX D C i kombinovana

    valuacija svih promenljivih iz X, Xv . Tada se ( )Xv , dato sa

    var( )( ) { ( ( ), ( ))| }f ff f f

    X RRv g R v R C = ,

    gde je : [0,1] [0,1]n , a : [0, ) [0,1] [0,1]g , naziva

    globalnim stepenom zadovoljenja ako su zadovoljene sledee osobine aksiome:

    1. Ako za fazi ogranienje maxfR vai

    max max max( ) max{ ( | )}f f f fR R R C = = ,

  • Fazi skupovi i CSP

    29

    tada vai i

    max maxvar( )( ) 0 ( ) 0f f XR Rv v = = .

    2. Ako 0 [0,1] takvo da f fR C vai da je 0( )

    fR = , onda

    je globalni stepen zadovoljenja ogranienja dat sa:

    var( )( ) { ( )| }f ff f

    X RRv v R C = ,

    gde je t-norma.

    3. Pretpostavimo da za ,f f fi jR R C vai ( ) ( )f f

    i jR R , neka je

    dato 0 > i neka su date dve kombinovane valuacije Xv i 'Xv ,

    takve da za f fR C vai:

    a. ako ff iR R i ffjR R , onda var( ) var( )( ) ( )

    'f f f fR R R R

    v v =

    b. ako ff iR R= , onda var( ) var( )( ) ( )'

    f f f fR R R Rv v = +

    c. ako ff jR R= , onda var( ) var( )( ) ( )'

    f f f fR R R Rv v = + .

    Tada, ako vai:

    var( ) var( )( ( ), ( )) ( ( ), ( )),f f f f

    i i j j

    f fi jR R R R

    g R v g R v

    onda sledi: ( ) ( )'X Xv v .

    4. Neka su date dve razliite kombinovane valuacije Xv i 'Xv sa

    osobinom da f fR C vai:

    var( ) var( )( ) ( )'

    f f f fR R R Rv v .

    Tada je ( ) ( )'X Xv v .

    5. Ako postoji kombinovana valuacija Xv takva da f fR C vai

    var( )( ) 1f fR Rv = , onda sledi ( ) 1Xv = .

    Ovakva definicija svakako zahteva dodatna objanjenja. Funkcija predstavlja prioritet pridruen svakom ogranienju. Vea vrednost ( )R

  • Upotreba fazi logike u relacionim bazama podataka

    30

    znai da ogranienje R ima vei prioritet. Funkcija g agregira prioritet svakog ogranienja sa vrednou toga ogranienja, odnosno stepenom njegovog zadovoljenja. Ovako agregirane vrednosti za sva ogranienja se agregiraju u globalni stepen zadovoljenja ogranienja pomou operatora agregacije .

    Aksiome takoe zasluuju dodatno pojanjenje. One u stvari tano definiu ta to znai prioritet ogranienja i kako se on ponaa. Prva aksioma kae da, ako ogranienje sa maksimalnim prioritetom ima stepen zadovoljenja 0, onda je i globalni stepen zadovoljenja ogranienja 0. Druga aksioma se bavi situacijom kada su svi prioriteti jednaki. Po njoj, PFCSP sistem tada prelazi u FCSP.

    Trea aksioma je veoma vana, u njoj se postavlja vana osobina ovakvog poimanja prioriteta. Taj uslov se moe interpretirati na sledei nain: ako jedno ogranienje ima vei prioritet, onda poveanje stepena zadovoljenja tog ogranienja rezultuje veim poveanjem globalnog stepena zadovoljenja ogranienja nego kada se za istu vrednost povea ogranienje sa manjim prioritetom. Ovaj koncept saglasan je optem pojmu prioriteta koji meri relativnu vanost meu stvarima kako bi se odredio njihov poredak. to je vei prioritet neke stvari, to nam je ona draa, tj. trebalo bi joj ranije pristupiti.

    etvrta aksioma definie monotonost prioriteta, dok peta sadri granine uslove.

    Sledi primer PFCSP sistema (Takai & krbi, Data Model of FRDB with Different Data Types and PFSQL, 2008), (Takai, Trougaone norme prioriteta i njihova primena na modeliranje ispunjenja fazi ogranienja,

    2006). Neka su , , fX D C definisani kao u definiciji 2.21, i neka je

    : [0, )fC , max max{ ( )| }f f fR R C = i

    max

    ( )( ) , 1,..., .

    ff i

    norm i

    RR i n

    = =

    Za operator agregacije uzmimo LT , a funkciju g definiimo kao

    ( ( ), ) (1 ( ), )f fP normi ig R v S R v = (tzv. standardna fazi implikacija). Tada

    dobijamo PFCSP, a globalni stepen zadovoljenja ogranienja se rauna na sledei nain:

  • Fazi skupovi i CSP

    31

    ( ) { (1 ( ), ( ))| }fi

    f f fX L P norm Xi iR

    v T S R v R C = .

    Detaljna objanjenja i dokaz da ovaj sistem zaista jeste PFCSP sistem je dat u (Takai, 2005). Ako se uzmu MT i MS takoe se dobija PFCSP

    sistem (Luo, Lee, Leung, & Jennings, 2003).

    Dakle, kako u stvari radi ovaj PFCSP sistem? Normalizacijom vrednosti prioriteta dobijamo situaciju u kojoj svako ogranienje ima vrednost prioriteta iz jedininog intervala, a ogranienje sa najveim prioritetom ima vrednost 1. Posle normalizacije koristimo operator

    (1 , )P i iS v , da bi izvrili agregaciju prioriteta i mere zadovoljenja svakog ogranienja ponaosob. to je vei prioritet ogranienja, to je vea ansa da e agregirana vrednost ostati nepromenjena. Na primer, za ogranienje sa prioritetom 1 dobijamo (0, )i iS v v= . U sluaju malog prioriteta dobijamo

    vrednost bliu jedinici, na primer (1, ) 1iS v = . Kako za izraunavanje

    globalnog ogranienja koristimo t-normu LT , jasno je da e manje vrednosti

    (ogranienja sa veim prioritetom) imati vei uticaj na rezultat.

    U disertaciji (Takai, Trougaone norme prioriteta i njihova primena na modeliranje ispunjenja fazi ogranienja, 2006) je detaljno predstavljen stroiji koncept prioriteta koji je usvojen i upotrebljen i u ovoj disertaciji. Osim toga, GPFCSP (Generalized Prioritised Fuzzy Constraint Satisfaction Problem) sistemi ija definicija sledi u sledeoj sekciji, su bazirani na ovom stroijem konceptu. On se dobija eliminacijom uslova:

    var( ) var( )( ( ), ( )) ( ( ), ( ))f f f f

    i i j j

    f fi jR R R R

    g R v g R v

    iz tree aksiome u definiciji PFCSP-a. Time se dobija nova vrsta PFCSP sistema ije su osobine ispitane u pomenutoj disertaciji. Vana izmena koju donosi brisanje datog uslova iz tree aksiome je da M MT S sistem prestaje

    da zadovoljava novu definiciju. Sa druge strane, L PT S sistem

    zadovoljava i novu definiciju, pa se on nadalje i koristi. Dokazi ova dva tvrenja se takoe mogu nai u (Takai, Trougaone norme prioriteta i njihova primena na modeliranje ispunjenja fazi ogranienja, 2006).

  • Upotreba fazi logike u relacionim bazama podataka

    32

    2.2.3 GPFCSP

    Ako fazi ogranienja interpretiramo kao uslove u WHERE klauzuli SQL jezika, kao to je sugerisano u sekciji 2.2.1, onda bi PFCSP sistemi dali formalnu osnovu za uvoenje prioriteta za svaki WHERE uslov. Problem lei u injenici da PFCSP sistemi dozvoljavaju jedino upotrebu konjunkcije, odnosno t-norme nad ogranienjima, to znai da bi u takvom SQL jeziku mogli dozvoliti upotrebu samo logikog operatora AND. Oigledno je potrebno generalizovati PFCSP sisteme da bi se omoguila upotreba disjunkcije i negacije. Rezultat ove generalizacije su generalizovani problemi zadovoljenja fazi ogranienja sa prioritetima ili GPFCSP (Takai, Towards Priority Based Logics, 2006). Dakle, tek GPFCSP sistemi daju formalne osnove za fazi SQL jezik sa prioritetima.

    Da bi se dolo do GPFCSP sistema, potrebno je proiriti aksiome date u prethodnoj sekciji. Prvo, proirujemo PFCSP uvoenjem disjunkcije i negacije. Za disjunkciju najee biramo t-konormu dualnu t-normi izabranoj za konjunkciju. Za negaciju uzimamo iskljuivo standardnu negaciju: ( ) 1N x x= .

    Koje izmene na PFCSP aksiomama su potrebne? Aksiome 1, 2 i 5 se odnose samo na konjunkciju ogranienja, tako da na njima nisu potrebne nikakve izmene. Aksioma 3 zahteva izmene u smislu dodavanja disjunkcije. Ovo ne predstavlja problem ukoliko se za disjunkciju izabere dualna konorma izabranoj t-normi kojom je predstavljena konjunkcija. Aksioma 4 takoe mora da se generalizuje u smislu da monotonost mora da vai jedino kada se ne upotrebljava negacija. Imajui ovo u vidu, GPFCSP se definie u sledeoj definiciji koja se znaajno razlikuje od definicije PFCSP-a zbog toga to se globalni stepen zadovoljenja ogranienja mora definisati na drugi nain.

    Definicija 2.24: Neka su , , ,fX D C i g definisani kao u definiciji

    2.23. GPFCSP je torka ( , , , , , , , )fX D C g .

    Elementarna formula je ureen par ( , ( ))fix R gde je f fiR C , a

    ( )fix Dom R je stepen zadovoljenja ogranienja fiR , dok je ( )

    fi ip R=

    njegov prioritet.

  • Fazi skupovi i CSP

    33

    Formula GPFCSP-a je definisana na sledei nain:

    1. Elementarna formula je formula. 2. Ako su 1f i 2f formule, onda su i 1 2( , )f f , 1 2( , )f f i 1( )f

    takoe formule.

    Izraunavanje stepena zadovoljenja ogranienja ( )F Xv za neku

    valuaciju Xv se izraunava u odnosu na interpretaciju veznika.

    Sistem je GPFCSP ako vai:

    1. Neka je {1,..., }i n iF f= GPFCSP formula, gde su , {1,..., }if i n

    elementarne formule i neka je FC skup ogranienja koji se pojavljuju u formuli. Ako za fazi ogranienje max

    FR vai

    max max max( ) max{ ( | )}F F F FR R R C = = ,

    tada za svaku formulu F vai i

    max maxvar( )( ) 0 ( ) 0F F F XR Rv v = = .

    2. Ako 0 [0,1] takvo da f fR C vai da je 0( )

    fR = , onda

    je globalni stepen zadovoljenja ogranienja dat sa:

    ( ) ( )F X Xv F v = ,

    gde je F interpretacija logike formule F u fazi logici ( , , ) .

    3. Pretpostavimo da za ,f f fi jR R C vai ( ) ( )f f

    i jR R , neka je

    dato 0 > i neka su date dve kombinovane valuacije Xv i 'Xv ,

    takve da za f fR C vai:

    a. ako ff iR R i ffjR R , onda var( ) var( )( ) ( )

    'f f f fR R R R

    v v =

    b. ako ff iR R= , onda var( ) var( )( ) ( )'

    f f f fR R R Rv v = +

    c. ako ff jR R= , onda var( ) var( )( ) ( )'

    f f f fR R R Rv v = + .

    Tada za formule 1,..., ( , ( )), ( )f

    k n k k kkF x R x Dom R== i

    1,..., ( , ( )), ( )f

    k n k k kkF x R x Dom R== vai ( ) ( )'

    F X F Xv v .

  • Upotreba fazi logike u relacionim bazama podataka

    34

    4. Neka su date dve razliite kombinovane valuacije Xv i 'Xv sa

    osobinom da f fR C vai:

    var( ) var( )( ) ( )'

    f f f fR R R Rv v .

    Tada, ako formula F ne sadri negaciju vai ( ) ( )'F X F Xv v .

    5. Neka postoji kombinovana valuacija Xv takva da F FR C

    vai var( )( ) 1F FR Rv = . Ako je F formula oblika {1,..., }i n iF f= ili

    {1,..., }i n iF f= , gde su , {1,..., }if i n elementarne formule, onda

    sledi ( ) 1F Xv = .

    Pored rada koji uvodi GPFCSP, (Takai, Towards Priority Based Logics, 2006), neke od primena ovih sistema su prikazane u (Takai & krbi, 2008), dok se (Takai, Perovi, & Jovanovi, 2008) bavi konzistentnou i odluivou GPFCSP sistema. Sledi primer jednog GPFCSP sistema koji se uvodi kao teorema.

    Teorema 2.1: Sledei sistem ( , , , , , , , , )fX D C g , gde je LT= ,

    LS= , SN= i, konano, ( , ) ( ,1 )i i P i ix p S x p = je GPFCSP. Globalni

    stepen zadovoljenja ogranienja valuacije Xv za formulu F se rauna na

    sledei nain:

    max

    ( )( ) { ( ) }| }

    i

    FF Fi

    F X x

    Rv v R C

    =

    gde je FC skup ogranienja formule F, max max{ ( ), }F F FiR R C = ,

    a je interpretacija formule F u GPFCSP.

    Dokazom ove teoreme se bavi (Takai, Towards Priority Based Logics, 2006).

    Izraunavanje globalnog stepena zadovoljenja ogranienja za datu valuaciju e sada biti prikazano na primeru. Takoe, svrha ovog primera je da se jasnije uoi slinost izmeu GPFCSP sistema i SELECT upita.

    Uzmimo kao primer skup studenata. Neka je na zadatak da zaposlimo najboljeg od njih kao asistenta, tako to emo ih rangirati po tri kriterijuma starosti, ocene dobijene na lekarskom pregledu i broja poena

  • Fazi skupovi i CSP

    35

    osvojenih na testu. Imali bismo, dakle, sledei skup promenljivih i njihovih domena:

    1. 1X =godine, 1 [0,150]d = ,

    2. 2X = ocena na pregledu, 3 [0,5]d = ,

    3. 3X = poeni na testu, 2 [0,10]d = .

    Neka skup ogranienja bude sledei:

    1. 1fR =oko 24 godine,

    2. 2fR = dobro zdravlje,

    3. 3fR =odlini rezultati na testu.

    Ogranienja su fazi podskupovi odgovarajuih domena. Modelirajmo prvo ogranienje kao trougaoni fazi broj iji je centar u broju 24, sa levom i desnom tolerancijom 6. Neka drugo ogranienje bude modelirano kao rastua fazi veliina koja raste od 2 do 3. Na kraju, neka tree ogranienje bude rastua fazi veliina koja raste od 8 do 10. Ova tri fazi skupa su prikazana na slici 2.8.

    0 18 24

    1

    30 0 8 10

    1

    0 2 3

    1

    Slika 2.8. Karakteristine funkcije ogranienja 1 2,f fR R i 3

    fR .

    Neka kriterijum za ocenjivanje kandidata (formula F) bude student mora da bude oko 24 godine i da ima dobro zdravlje ili odline rezultate na

    testu i neka su prioriteti dati sa 1( ) 0.7fR = , 2( ) 0.4

    fR = i 3( ) 1fR = .

    Dakle, najvaniji nam je broj poena na testu, pa zatim godine starosti i na kraju zdravlje. Svaki od etiri kandidata je prikazan valuacijom Xv , koja je

    data u tabeli 2.1.

  • Upotreba fazi logike u relacionim bazama podataka

    36

    student godina zdravlje test

    1 25 3 9.8

    2 23 4 9.2

    3 24 2 9.5

    4 28 5 9.4

    Tabela 2.1. Testni podaci za GPFCSP.

    Prvo je potrebno izraunati stepen zadovoljenja ogranienja za svako ogranienje, za svakog studenta. Ovi stepeni zadovoljenja ogranienja se dobijaju direktno kao vrednosti pojedinih karakteristinih funkcija u odgovarajuoj taki. Rezultati za svakog studenta i za svako ogranienje su dati u tabeli 2.2.

    student godite zdravlje test

    1 0.833 1 0.9

    2 0.833 1 0.6

    3 1 0 0.75

    4 0.333 1 0.7

    Tabela 2.2. Vrednosti karakteristinih funkcija svakog ogranienja za svakog studenta.

    Sada izraunavamo vrednost globalnog zadovoljenja ogranienja za svakog studenta ponaosob na sledei nain:

    1 2 31 2 3( ( ( ( ),1 ( )), ( ( ),1 ( ))), ( ( ),1 ( )))f f ff f f

    L L P P PR R RS T S v R S v R S v R = .

    Ako se uvrste vrednosti za prvog studenta, dobija se sledei izraz:

    ( ( (0.833,0.3), (1,0.6)), (0.9,0))L L P P PS T S S S = .

    Daljim raunom se dobija:

    ( (0.8831,1),0.9) (0.8831,0.9) 1L L LS T S = = = .

    Vrednosti za sve studente su date u tabeli 2.3. Dakle, po usvojenom kriterijumu, prva tri studenta u potpunosti zadovoljavaju postavljene kriterijume, dok ih etvrti student ne zadovoljava u potpunosti, nego sa pragom zadovoljenja 0.9831.

  • Fazi skupovi i CSP

    37

    student

    1 1

    2 1

    3 1

    4 0.9831

    Tabela 2.3. Stepeni globalnog zadovoljenja ogranienja za sve studente.

    Primetimo da bi se ovaj primer mogao dovesti u vezu sa sledeim upitom:

    SELECT * FROM studenti

    WHERE starost ="oko 24 godine" PRIORITY 0.7 AND

    zdravlje="dobro zdravlje" PRIORITY 0.4 OR

    test ="odlini rezultati" PRIORITY

  • Poglavlje 3

    FAZI BAZE PODATAKA

    Nemogunost modeliranja nejasnih i nepotpunih podataka se u nekim primenama moe posmatrati kao nedostatak relacionog modela. Ideja da se upotrebe fazi skupovi i fazi logika u svrhe proirivanja postojeih modela podataka, da bi se ti nedostaci prevazili nije nova i potie iz osamdesetih godina prolog veka. Iako se ova oblast istrauje due vreme, konkretne implementacije su veoma retke. U literaturi se mogu nai nekoliko modela reprezentacija fazi znanja u relacionom, ali i u drugim modelima podataka.

    U ovom poglavlju e biti prezentovana najpre izabrana ranija istraivanja u ovoj oblasti, a zatim i najnoviji rezultati. Potom e biti dat pregled istraivanja vezanih za upotrebu fazi logike u relacionim bazama podataka koja se sprovode na Univerzitetu u Novom Sadu. Najiri pregled razliitih pravaca istraivanja u ovoj oblasti je dat u (Galindo, Urrutia, & Piattini, 2006).

    3.1 PREGLED ISTRAIVANJA U OBLASTI FAZI BAZA PODATAKA

    Jedan od najranijih radova na ovu temu, Buckles-Petry model (Buckles & Petry, 1982), uvodi relacije slinosti (Zadeh, 1971) u relacioni model. U ovom radu je data struktura za predstavljanje nejasnih informacija u relacionim bazama podataka. Struktura se razlikuje od osnovnog relacionog modela u dva aspekta. Prvo, komponente torki ne moraju biti atomarne vrednosti i drugo, relacija slinosti se zahteva za svaki domen. Tipovi podataka koje ovaj model dozvoljava su:

    konaan skup skalara, konaan skup brojeva i

  • Upotreba fazi logike u relacionim bazama podataka

    40

    fazi brojevi.

    Prvi pokuaj uvoenja fazi logike u Enitity-Relationship model je dat u (Zvieli & Chen, 1986). Ovaj model uvodi fazi atribute u entitete i poveznike. Definiu se tri nivoa fazifikacije u ER modelu. Na prvom nivou, skupovi entiteta, skupovi poveznika i skupovi atributa mogu da imaju fazi vrednosti, tj. imaju stepen pripadnosti nekom odreenom modelu. Drugi nivo je povezan sa fazi pojavama skupova entiteta i skupova poveznika i opaanju koje pojave pripadaju tim skupovima i sa kojim stepenom pripadanja. Na primer, entitet Mladi_Zaposleni moe da ima pojave zaposlene, koji mu pripadaju svaki sa svojim stepenom pripadanja. Konano, trei nivo se bavi fazi vrednostima atributa specijalnih skupova entiteta i poveznika.

    Rad (Chaudhry, Moyne, & Rundensteiner, 1994) daje predlog metodologije dizajna fazi relacionih baza podataka koji se oslanja na proirenje ER modela koje su dali Zvieli i Chen. Ova metodologija sadri proirenja za reprezentaciju nepreciznosti u ER modelu i skup koraka koje je potrebno preduzeti da bi se od takvog ER modela dobila baza podataka. Takoe, obrauje se mogunost konvertovanja obinih u fazi baze podataka.

    Chen, G. u svojoj knjizi (Chen, 1998) obrauje osnovne principe modeliranja fazi podataka, naine za reprezentaciju fazi znanja i opisuje tipove fazi ogranienja integriteta. U istom izvoru se moe nai predlog vrlo detaljnog fazi ER modela iji opis izlazi van okvira ove disertacije. Taj model se proiruje u (Chen & Kerre, 1998) i (Kerre & Chen, 2000) uvoenjem fazi ekstenzija proirenog ER modela (EER model). Fazi logika je primenjena na osnovne elemente proirenog ER modela povezane sa pojmom generalizacije, odnosno, potklase i super klase.

    GEFRED (Generalized Model of Fuzzy Relational Databases) model (Medina, Pons, & Vila, 1994) je posibilistiki model koji ukljuuje generalizovane fazi domene i raspodelu verovatnoe u domenima. Ovaj fazi relacioni model sadri mogunosti za reprezentaciju irokog spektra fazi informacija. Takoe, u okviru njega se definiu fleksibilni mehanizmi za obradu takvih informacija. Ovaj model sadri i razlikuje koncepte nepoznatog, nedefinisanog i nula vrednosti koji su ranije opisani u (Umano

  • Fazi baze podataka

    41

    & Fukami, 1994). GEFRED model je doiveo kasnija proirenja koja su opisana u (Galindo, Medina, & Aranda, 1999) i (Galindo J. , Medina, Cubero, & Garcia, 2001).

    Prvi predlog proirenja SQL jezika u pravcu fazi logike su predloili Bosc i Pivert. U seriji radova u kojoj se istiu (Bosc & Pivert, 1994) i (Bosc & Pivert, 1995), oni definiu SQLf, jezik sa mogunou postavljanja nejasnih upita dobijen fazifikacijom SQL-a. Ovaj jezik je prvobitno namenjen za postavljanje upita nad obinim, relacionim bazama podataka u kojima nema fazi informacija. Meutim, u sledeem stadijumu razvoja je dat i okvir za reprezentaciju nepreciznih i nesigurnih informacija pomou fazi logike, a SQLf je proiren da bi podrao upite nad ovakvim bazama podataka.

    Grupa panskih naunika na elu sa dr Jose Galindom se bavi upotrebom fazi logike u bazama podataka dui niz godina. Neki od radova nastalih u okviru ovih istraivanja su ve pomenuti gore kod GEFRED modela. U daljim radovima (Galindo J. , Medina, Pons, & Cubero, 1998), (Galindo, Urrutia, & Piattini, 2004) i (Galindo, Urrutia, & Piattini, 2006), je detaljno opisana nova varijanta proirenja EER modela pomou fazi logike, FuzzyEER model, koja ukljuuje nove semantike aspekte. Takoe, opisane su mogunosti upotrebe ovog modela u modeliranju baze podataka i reprezentaciji fazi informacija.

    Nadalje, u okviru ovih istraivanja je dat algoritam za prevoenje FuzzyEER modela u FIRST-2 model za reprezentaciju fazi informacija u relacionoj bazi podataka. FIRST-2 ema uvodi koncept baze fazi meta podataka (Fuzzy Metaknowledge Base, FMB). Za svaku vrstu atributa, ovaj model definie nain reprezentacije njegovih vrednosti i informacija o tom atributu u bazi fuzzy meta podataka.

    Takoe, autori uvode i daju detaljan opis specifikacije i implementacije FSQL-a, proirenja SQL jezika fazi mogunostima. Ovaj jezik omoguava izvravanje fleksibilnih upita koristei sva proirenja definisana u FuzzyEER i FIRST-2 modelima. Implementacija je uraena u Oracle sistemu za upravljanje bazama podataka upotrebom PL/SQL uskladitenih procedura. Na taj nain je postojei moan SQL interpreter Oracle baze podataka proiren novim mogunostima.

  • Upotreba fazi logike u relacionim bazama podataka

    42

    Moe se zakljuiti da dostignuti stepen razvoja u ovoj oblasti ukljuuje zrela fazi proirenja EER modela koja opisuju irok spektar koncepata za modeliranje fazi baza podataka. Ovi konceptualni modeli su podrani robusnim modelima za reprezentaciju fazi informacija u relacionim bazama podataka. Jedan od takvih je svakako pomenuti FIRST-2. Naini za prevoenje konceptualnih modela u one zasnovane na relacionom modelu su takoe detaljno proueni. Implementacije i primeri upotrebe u praksi su, meutim, retki. FSQL jezik opisan u ovoj sekciji predstavlja praktino prvu sveobuhvatnu implementaciju upitnog jezika za fazi baze podataka koji ukljuuje najvei broj koncepata fazi logike.

    3.2 RAZVOJ IDEJE O UVOENJU KONCEPTA PRIORITETA

    Ova doktorska disertacija je deo viegodinjih istraivanja vezanih za mogunosti upotrebe fazi logike u relacionim bazama podataka koja se sprovode na Univerzitetu u Novom Sadu. U ovoj sekciji se opisuju razvijene ideje i postignuti rezultati u okviru ovih istraivanja.

    Osnovna ideja je ve nagovetena, a to je mogunost iskoriavanja slinosti izmeu CSP sistema i SELECT klauzule SQL jezika. Kako su CSP sistemi dobro istraeni, oni predstavljaju formalnu osnovu za razvoj fazi proirenja SQL jezika. Izabrana je specijalna vrsta ovih sistema, PFCSP sistemi, koji su prvi put uvedeni i opisani u (Luo, Lee, Leung, & Jennings, 2003). Dalji razvoj ovih sistema u smeru u kome su oni kasnije upotrebljeni kao osnova za fazi proirenja SQL-a je dat u (Takai, 2005) i u (Pap & Takai, 2005).

    Ideja o upotrebi PFCSP sistema u proirivanju SELECT klauzule SQL jezika fazi mehanizmima se prvi put opisuje u (Takai & krbi, 2005). Ovde se prikazuju samo pojedini tehniki aspekti implementacije prototipa fazi SQL interpretera koja je tada jo bila u toku. Dalja razrada ovih ideja je data u (Takai, Handling Priority Within a Database Scenario, 2006).

    U doktorskoj disertaciji (Takai, Trougaone norme prioriteta i njihova primena na modeliranje ispunjenja fazi ogranienja, 2006) su detaljno opisane trougaone norme i njihova upotreba u PFCSP sistemima. Opisan je i realizovan prototip interpretera prvobitne verzije jezika PFSQL ija se gramatika ovde dalje razrauje. Za potrebe realizacije ovog

  • Fazi baze podataka

    43

    interpretera je konstruisan i opisan jednostavan prototip modela za skladitenje fazi informacija u relacionu bazu podataka. U ovom radu su postavljene smernice za dalji tok istraivanja koje su i realizovane u kasnijim radovima. Treba napomenuti da se ovde radi o pojednostavljenoj verziji PFSQL-a koja sadri samo minimum proirenja konstrukcije SELECT klauzule. Takoe, GPFCSP sistemi ovde jo nisu bili uvedeni, tako da je ova verzija PFSQL jezika bazirana na PFCSP sistemima, to znai da od logikih veznika dozvoljava samo konjunkciju. Bez obzira na to, ovaj rad daje osnovu za itav dalji tok istraivanja.

    Uvoenje GPFCSP sistema kao proirenja PFCSP sistema je prvi put dato u (Takai, Towards Priority Based Logics, 2006). Razvoj ove nove ideje, opis osobina GPFCSP sistema i njihovo poreenje sa drugim sistemima se dalje mogu pratiti u (Takai & krbi, Comparing Priority, Weighted and Queries with Threshold in PFSQL, 2007), (Takai & krbi, Measuring the Similarity of Different Types of Fuzzy Sets in FRDB, 2007), (Takai & krbi, Short Review of Fuzzy Relational Databases, 2007) i (Takai, Perovi, & Jovanovi, 2008).

    Sva dotadanja istraivanja i rezultati su sumirani i detaljno opisani u (Takai & krbi, Data Model of FRDB with Different Data Types and PFSQL, 2008). Osim opisa svih dotada uvedenih koncepata, u ovom radu su razmatrane i do detalja razraene mogunosti za uvoenje poretka fazi skupova u novu, proirenu verziju jezika PFSQL. Uvoenje poretka otvara mogunosti za znaajna proirenja ovog jezika. Ova proirenja su uvedena, detaljno opisana i implementirana u ovoj disertaciji.

    Restrukturiranje interpretera PFSQL jezika u smeru njegove kasnije realizacije u ovoj doktorskoj disertaciji, kao i uvoenje ideje o realizaciji fazi JDBC drajvera su dati u (krbi & Takai, On Development of Fuzzy Relational Database Applications, 2008) i (Takai & krbi, Priority, Weight and Threshold in Fuzzy SQL Systems, 2008). Ovde je opisana osnovna struktura fazi JDBC drajvera koja je dalje razraena i implementirana u ovoj disertaciji.

  • Poglavlje 4

    SKLADITENJE FAZI PODATAKA

    U ovom poglavlju se daje detaljan opis projektovanog modela za skladitenje fazi podataka pomou relacione baze podataka. Osnovna namena tog modela i razlog njegovog uvoenja je implementacija jezika PFSQL opisana u sledeem poglavlju. Osim opisa modela, daje se i njegovo poreenje sa njegovom prethodnom varijantom detaljno opisanom u (Takai & krbi, Data Model of FRDB with Different Data Types and PFSQL, 2008) i sa jednim od najnaprednijih modela danas - FIRST-2 modelom.

    4.1 OSOBINE MODELA ZA SKLADITENJE FAZI PODATAKA

    Model za skladitenje fazi podataka opisan ovde skladiti precizno zadatu vrednost (engleski crisp) bez izmene u odnosu na relacioni model, dok se za fazi vrednosti definiu odreena proirenja relacionog modela. Kao to je ranije istaknuto, karakteristina funkcija nekog fazi skupa ga u potpunosti odreuje. Dakle, ako elimo da skladitimo neku fazi vrednost, moramo imati naina da skladitimo podatke o njenoj karakteristinoj funkciji. Teoretski, na ovaj nain bi se mogla skladititi bilo koja fazi vrednost. Meutim, ovo bi vodilo ka velikoj sloenosti baze podataka ve kod samog skladitenja. Zbog toga se uvodi mogunost upotrebe samo nekih dobro poznatih vrsta fazi skupova. U praksi, ove vrste fazi skupova pokrivaju ogroman procenat praktinih primena.

    Ako se ograniimo samo na neke vrste karakteristinih funkcija, onda je u bazi podataka dovoljno napraviti po jednu tabelu koja omoguava skladitenje parametara za svaki konkretan tip funkcije. Vrste

  • Upotreba fazi logike u relacionim bazama podataka

    46

    karakteristinih funkcija koje ovaj model podrava opisuju sledee vrste fazi skupova:

    1. trougaoni fazi brojevi, 2. trapezoidni fazi brojevi, 3. opadajue i rastue fazi veliine i 4. intervali.

    Osim ovih proirenja, uvodi se jo jedna vrsta proirenja vrednosti atributa lingvistike labele. One slue za zadavanje najeih i najire korienih izraza prirodnog jezika, kao to su visoki ljudi, male plate ili osrednji rezultati. Lingvistike labele su, u stvari, imenovane fazi vrednosti iz nekog domena. Da bismo koristili lingvistiku labelu, prvo je moramo definisati kao konkretnu fazi vrednost. Na primer, moemo definisati lingvistiku labelu visoki ljudi kao rastuu fazi veliinu koja raste od 185 do 200. Dakle, striktno gledano, lingvistike labele nisu novi tip fazi vrednosti, ve samo imenovane vrednosti ve uvedenih vrsta fazi skupova. Meutim, sa stanovita baze podataka i one moraju dobiti odgovarajuu reprezentaciju u modelu.

    Imajui u vidu ova proirenja, moemo definisati domen fazi atributa na sledei nain:

    = C D L

    D D F L

    Gde je C

    D klasian domen atributa, D

    F je skup svih fazi

    podskupova domena koji se mogu zadati pomou navedene etiri vrste fazi skupova, dok je

    LL skup lingvistikih labela.

    Da bismo ovakve podatke skladitili u relacionu bazu podataka, potrebno je da je proirimo fazi meta modelom koji ini centralni deo modela za skladitenje fazi podataka koji se ovde uvodi. Struktura fazi meta modela i naina povezivanja ovog segmenta baze podataka sa ostalim tabelama e biti prikazana na primeru relacionog modela baze podataka prikazanom na slici 4.1. Prvo e biti opisan ovaj relacioni model, a zatim e biti prikazana njegova fazifikacija, odnosno uvoenje fazi atributa i njihovo povezivanje sa fazi meta modelom. Radi se o relacionom modelu baze podataka dela informacionog sistema studentske sluba Prirodno-

  • Skladitenje fazi podataka

    47

    matematikog fakulteta u Novom Sadu koji se odnosi na obradu konkursa za upis studenata i polaganje prijemnog ispita.

    4.2 POLAZNI RELACIONI MODEL

    Centralna tabela u modelu datom na slici 4.1 je PrijemniGlPodaci koja sadri najvanije podatke o kandidatu. Ovi podaci su dopunjeni dodatnim podacima koji se nalaze u tabeli PrijemniPrijava. Pomona tabela StraniJezik sadri podatke o stranim jezicima koje je kandidat uio u ranijim kolama.

    Tabela PrijemniProfil sadri podatke o profilima na koje se kandidati prijavljuju. Ovi profili ne moraju biti jednaki onima koji se kasnije i upisuju, a koji su predstavljeni tabelom Profil. Na primer, kandidat moe da odabere prijemni-profil Matematika, a da se kasnije opredeli da upie profil Diplomirani matematiar koji je sadran u prijemni-profilu Matematika.

    Tabela SadrziProfil skladiti podatke o tome koji profil sadri koje prijemni-profile i obrnuto. Svaki prijemni-profil ima svoju kvotu, odnosno broj mesta za finansiranje iz budeta i za samofinansiranje. Ovi podaci se nalaze u tabeli PrijemniKvota. Tabela PrijemniPrioritet sadri prijemni-profile na koje kandidat konkurie poslagane po prioritetu.

    Za svaki prijemni-profil je definisana grupa predmeta iz kojih student polae prijemni ispit (tabela PrijemniGrupa). Podaci o predmetima koje ove grupe sadre se skladite pomou tabela PrijemniPredmet i PrijemniPripadaGrupi. Tabela PrijemniBodovi sadri podatke o ukupnom broju poena koje je kandidat osvojio za svaku od grupa predmeta koje je polagao.

    PrijemniRangLista je tabela koja sadri podatke o rangiranju kandidata po svakom profilu na koji se studenti prijavljuju u svakom konkursnom roku. Ovi podaci se generiu automatski po unosu svih podataka o prijemnim ispitima i skladite u ovu tabelu za dalju upotrebu.

    Prikazani model nije potpun, on sadri jo nekoliko tabela koje predstavljaju ifarnike za mesta, drave, kole, konkursne rokove itd. Da bi se dobilo na jasnoi, detalji o ovim tabelama nisu prikazani poto one ne uestvuju u fazifikaciji.

  • Upotreba fazi logike u relacionim bazama podataka

    48

    Slika 4.1. Relacioni model baze podataka studentska sluba PMF.

    Stra

    niJe

    zik

    sre

    dnja

    : N

    UM

    BER

    (5,

    0)sf

    rJez

    ik :

    NU

    MB

    ER(5

    , 0)

    sfrR

    okP

    rije

    mn

    i : N

    UM

    BER

    (5,

    0)sf

    rPr

    : V

    AR

    CH

    AR

    2(20

    )

    Pri

    jem

    niP

    redm

    et

    sfrP

    rije

    mni

    Pre

    dm

    et :

    NU

    MBE

    R(5

    , 0)

    nazi

    v :

    VA

    RC

    HA

    R2(

    255)

    sfrR

    okP

    rije

    mni

    : N

    UM

    BE

    R(5

    , 0)

    Pri

    jem

    niP

    rija

    va

    pol :

    NU

    MBE

    R(5

    , 0)

    dat

    Rod

    : D

    AT

    Ea

    drB

    orav

    ka :

    VA

    RC

    HA

    R2(

    255)

    tele

    fon

    : VA

    RC

    HA

    R2(

    40)

    em

    ail :

    VA

    RC

    HA

    R2(

    80)

    godM

    atu

    re :

    NU

    MBE

    R(5

    , 0)

    regV

    ojna

    O :

    NU

    MBE

    R(5

    , 0)

    usp

    eh1

    : N

    UM

    BER

    (5, 2

    )u

    spe

    h2 :

    NU

    MB

    ER(5

    , 2)

    usp

    eh3

    : N

    UM

    BER

    (5, 2

    )u

    spe

    h4 :

    NU

    MB

    ER(5

    , 2)

    sve

    doc

    anst

    vo :

    NU

    MB

    ER

    (5,

    0)d

    iplo

    ma

    : N

    UM

    BE

    R(5

    , 0)

    izvo

    dM

    KR

    : N

    UM

    BER

    (5,

    0)d

    atum

    Pri

    jave

    : D

    AT

    Esf

    rDrz

    avlj

    anst

    vo :

    NU

    MBE

    R(5

    , 0)

    sfrN

    aro

    dnos

    t : N

    UM

    BER

    (5,

    0)sf

    rSpr

    em

    a :

    NU

    MB

    ER

    (5, 0

    )sf

    rMes

    toR

    od :

    NU

    MBE

    R(5

    , 0)

    sfrM

    esto

    SSk

    : N

    UM

    BE

    R(5

    , 0)

    sfrM

    esto

    Bor

    : N

    UM

    BE

    R(5

    , 0)

    sfrS

    Skol

    a :

    NU

    MBE

    R(5

    , 0)

    sfrO

    pstin

    aR

    od

    : N

    UM

    BER

    (5,

    0)sf

    rOps

    tina

    Bora

    vka

    : N

    UM

    BER

    (5,

    0)SF

    RR

    epR

    odje

    nja

    : NU

    MB

    ER(5

    , 0)

    SFR

    Re

    pBo

    ravk

    a :

    NU

    MBE

    R(5

    , 0)

    upi

    san

    : N

    UM

    BER

    (2, 0

    )sf

    rRok

    Pri

    jem

    ni :

    NU

    MB

    ER

    (5,

    0)sf

    rPr

    : V

    AR

    CH

    AR

    2(20

    )

    1

    0..*1

    0..*

    >

    Pri

    jem

    niP

    ripa

    daG

    rupi

    sfrP

    rije

    mni

    Gru

    pa :

    NU

    MB

    ER

    (5, 0

    )sf

    rPri

    jem

    niP

    redm

    et :

    NU

    MBE

    R(5

    , 0)

    sfrR

    okP

    rije

    mni

    : N

    UM

    BE

    R(5

    , 0)

    10.

    .*1

    0..*

    >P

    rije

    mni

    Bodo

    vi

    sfrP

    r : V

    AR

    CH

    AR

    2(20

    )sf

    rPri

    jem

    niG

    rupa

    : N

    UM

    BER

    (5, 0

    )b

    rBo

    dova

    : N

    UM

    BER

    (5,

    2)sf

    rRok

    Pri

    jem

    ni

    : NU

    MB

    ER

    (5, 0

    )

    Pri

    jem

    niG

    LPo

    daci

    sfrP

    r :

    VA

    RC

    HA

    R2(

    20)

    ime

    : VA

    RC

    HA

    R2(

    80)

    pre

    zim

    e : V

    AR

    CH

    AR

    2(80

    )sr

    edn

    jeIm

    e : V

    AR

    CH

    AR

    2(80

    )u

    spe

    hOps

    ti : N

    UM

    BER

    (5,

    2)JM

    BG :

    VA

    RC

    HA

    R2(

    13)

    sfrR

    okP

    rije

    mn

    i : N

    UM

    BE

    R(5

    , 0)

    0..*

    1

    0..*

    1

    >

    0..1

    10.

    .11

    >

    Pri

    jem

    niR

    angL

    ista

    poe

    ni :

    NU

    MB

    ER(5

    , 2)

    prij

    em

    ni :

    NU

    MBE

    R(5

    , 2)

    usp

    eh

    : NU

    MBE

    R(5

    , 2)

    sta

    tus

    : NU

    MB

    ER

    (5, 0

    )sf

    rRo

    kPri

    jem

    niP

    rija

    va :

    NU

    MB

    ER(5

    , 0)

    sfrP

    r :

    VA

    RC

    HA

    R2(

    20)

    sfrR

    okP

    rije

    mni

    Kvo

    ta :

    NU

    MB

    ER

    (5,

    0)sf

    rPri

    jem

    niK

    vota

    : N

    UM

    BER

    (5,

    0)

    0..1

    1

    0..1

    1>

    Pro

    fil

    sfrP

    rofi

    l : N

    UM

    BE

    R(5

    , 0)

    nazi

    v :

    VA

    RC

    HA

    R2(

    80)

    skr

    : V

    AR

    CH

    AR

    2(10

    )sf

    rOd

    sek

    : N

    UM

    BER

    (5,

    0)sf

    rSpr

    em

    a :

    NU

    MBE

    R(5

    , 0)

    dipl

    om

    skiR

    ad

    : N

    UM

    BER

    (5, 0

    )br

    ojG

    odi

    naSt

    ud

    ija :

    NU

    MB

    ER(5

    , 0)

    sfrR

    okP

    rije

    mn

    i : N

    UM

    BE

    R(5

    , 0)

    sfrP

    rije

    mni

    Pro

    fil :

    NU

    MB

    ER(5

    , 0)

    Pri

    jem

    niG

    rupa

    sfrP

    rije

    mn

    iGru

    pa :

    NU

    MBE

    R(5

    , 0)

    nazi

    v :

    VA

    RC

    HA

    R2(

    255)

    1

    0..*

    1

    0..*

    >

    0..*

    0..1

    0..*

    0..1

    >

    Pri

    jem

    niP

    rior

    itet

    rb :

    NU

    MB

    ER(5

    , 0)

    sfrP

    r :

    VA

    RC

    HA

    R2(

    20)

    sfrR

    okP

    rije

    mni

    : N

    UM

    BER

    (5,

    0)pr

    ofi

    lSfr

    Ro

    kPri

    jem

    ni :

    NU

    MBE

    R(5

    , 0)

    sfrP

    rofi

    l : N

    UM

    BER

    (5,

    0)

    1

    0..*

    1

    0..*

    >

    Pri

    jem

    niK

    vota

    sfrP

    rije

    mni

    Kvo

    ta :

    NU

    MB

    ER

    (5, 0

    )na

    ziv

    : VA

    RC

    HA

    R2(

    255)

    bud

    zet :

    NU

    MB

    ER

    (5, 0

    )sa

    mo

    fin :

    NU

    MB

    ER

    (5,

    0)sf

    rRok

    Pri

    jem

    ni :

    NU

    MB

    ER

    (5, 0

    )

    0..*

    10.

    .*1

    >

    Sad

    rziP

    rofil

    sfrP

    rofi

    l : N

    UM

    BE

    R(5

    , 0)

    sfrR

    okP

    rije

    mni

    : N

    UM

    BE

    R(5

    , 0)

    sfrP

    rofi

    lPri

    jem

    ni :

    NU

    MB

    ER(5

    , 0)

    0..*

    1 0..*

    1>

    Pri

    jem

    niP

    rofil

    sfrP

    rije

    mni

    Gru

    pa :

    NU

    MB

    ER

    (5, 0

    )pr

    agB

    udz

    et :

    NU

    MB

    ER(5

    , 2)

    pra

    gSa

    mof

    in :

    NU

    MBE

    R(5

    , 2)

    pra

    gPri

    jem

    ni :

    NU

    MBE

    R(5

    , 2)

    sfrR

    okP

    rije

    mni

    : N

    UM

    BER

    (5,

    0)kv

    ota

    SfrR

    okP

    rije

    mni

    : N

    UM

    BER

    (5,

    0)sf

    rPri

    jem

    niK

    vota

    : N

    UM

    BER

    (5,

    0)n

    aziv

    : V

    AR

    CH

    AR

    2(10

    0)sf

    rPro

    fil

    : NU

    MBE

    R(5

    , 0)

    skr

    : V

    AR

    CH

    AR

    2(10

    )

    0..1

    1..*

    0..1

    1..*

    >

    1

    0..*

    1

    0..*

    >

    0..*

    0..1

    0..*

    0..1

    >

    0..*

    10..*

    1

    >

  • Skladitenje fazi podataka

    49

    4.3 FAZIFIKACIJA I FAZI META MODEL

    Fazifikacija prikazanog modela ukljuuje dodavanje tabela fazi meta modela, a zatim i izbor obeleja koja e se fazifikovati i njihovo povezivanje sa fazi meta modelom. Fazi-relacioni model za skladitenje podataka koji se opisuje ovde ukljuuje jedino mogunosti za fazifikaciju obeleja iji je tip podataka broj (ceo ili racionalan). Iako je ovo ogranienje karakteristino i za druge fazi-relacione modele koji se mogu nai, ono moe biti prevazieno. Dakle, mogua je fazifikacija i drugih tipova podataka, kao to su datumi, pa ak i stringovi. Ovakve varijante modela su u razmatranju i izlaze van okvira ove disertacije.

    Kompletan fazi-relacioni model je zbog svog obima podeljen na dve slike. Prva, slika 4.2, prikazuje model slian isto relacionom modelu sa slike 4.1 na kome su osenena obeleja koja postaju fazi skupovi. To su sledea obeleja:

    1. uspeh1, uspeh2, uspeh3, uspeh4 iz tabele PrijemniPrijava koja sadre prosek ocena kandidata za svaki razred srednje kole,

    2. uspehOpsti iz tabele PrijemniGLPodaci, koje skladiti prosean uspeh u sva etiri razreda srednje kole,

    3. bodovi iz tabele PrijemniBodovi, koje sadri broj bodova koje je kandidat osvojio na prijemnom ispitu iz date grupe predmeta,

    4. poeni, prijemni i uspeh iz tabele PrijemniRangLista, koja sadre ukupne poene, kao i poene na prijemnom ispitu i opti uspeh koji se nalaze na rang listi,

    5. budzet i samofin iz tabele PrijemniKvota, koja sadre broj budetskih i samofinansirajuih mesta za datu kvotu i

    6. pragBudzet, pragSamoFin i pragPrijemni iz tabele PrijemniProfil, koja sadre minimalan potreban broj poena za studiranje na budetu, samofinansiranju i minimalan broj potrebnih poena na prijemnom ispitu, respektivno.

    Tip podataka ovih obeleja je izmenjen u NUMBER(10,0) , to je ceo broj sa najvie 10 cifara. Sutina je u tome da su ovi brojevi samo kljuevi koji povezuju ova obeleja sa fazi meta modelom. Konkretne vrednosti ovih obeleja su opisane fazi meta modelom i ne nalaze se u matinim tabelama. Detaljniji opis naina reprezentacije fazi skupova i povezivanja

  • Upotreba fazi logike u relacionim bazama podataka

    50

    ovih obeleja sa vrednostima u fazi meta modelu se daje na osnovu slike 4.3 koja sadri fazi meta model.

    Veze izmeu ova dva modela su ostvarene prevlaenjem primarnog kljua valueID centralne tabele u fazi meta modelu FuzzyValue za svako od obeleja koje postaje fazi. Kardinaliteti ovih veza su 1-1. Dakle, svako oseneno obeleje na slici 4.2 je strani klju koji potie iz tabele FuzzyValue. Na taj nain je obezbeeno da svaka pojava nekog fazi obeleja bude povezana sa tano jednom pojavom u tabeli FuzzyValue. Dakle, tabela FuzzyValue predstavlja vezu izmeu fazifikovanog relacionog modela i fazi meta modela. U njoj se skladiti po jedan slog za svaku komponentu svakog sloga u bazi podataka koji sadri vrednosti oznaene kao fazi.

    Obeleje code u tabeli FuzzyValue je strani klju koji potie iz tabele FuzzyType. Ova tabela skladiti nazive svih vrsta fazi skupova dozvoljenih u modelu. U skladu sa prethodno iznetim, to su sledee vrednosti:

    1. Crisp, obini brojevi, 2. TriangularFN trougaoni fazi brojevi, 3. TrapezoidalFN trapezoidni fazi brojevi, 4. FuzzyQuantity fazi veliine, 5. Interval intervali predstavljeni kao fazi skupovi, i 6. LinguisticLabel lingvistike labele.

    Za svaku vrednost u ovoj listi postoji posebna tabela u meta modelu prilagoena skladitenju fazi vrednosti datog tipa. Nazivi tih tabela su jednaki nabrojanim vrednostima u tabeli FuzzyType. Svaka od ovih tabela sadri obeleje valueID, strani klju koji potie iz tabele FuzzyValue. Na ovaj nain je omogueno da se za svaki fazi tip podataka, konkretne vrednosti skladite u tabeli predvienoj za taj tip.

    U fazi meta modelu postoji jedna dodatna tabela, IsFuzzy, bez koje ovakav mehanizam ne bi funkcionisao, ili bi imao neprihvatljive performanse. Ova tabela jednostavno skladiti nazive obeleja za svaku tabelu u fazifikovanom relacionom modelu. Za svaku kombinaciju ime tabele-naziv obeleja, ovde je data vrednost atributa isFuzzy koja govori da li je atribut fazi ili ne.

  • Skladitenje fazi podataka

    51

    Slika 4.2. Fazifikacija relacionog modela.

    Prij

    emni

    Pred

    met

    sfrP

    rije

    mni

    Pred

    met

    : N

    UM

    BE

    R(5

    , 0)

    nazi

    v : V

    AR

    CH

    AR

    2(25

    5)sf

    rRok

    Prij

    emni

    : N

    UM

    BE

    R(5

    , 0)

    Prij

    emni

    Bod

    ovi

    sfrP

    r : V

    AR

    CH

    AR

    2(20

    )sf

    rPri

    jem

    niG

    rupa

    : N

    UM

    BE

    R(5

    , 0)

    sfrR

    okPr

    ijem

    ni :