ZASTOSOWANIE TABLIC PODOBIE STW W ROZMYTYM J ZYKU ZAPYTA MAGDALENA KRAKOWIAK Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Streszczenie W artykule zaprezentowano rozwi zanie dotycz ce zastosowania tablic podobie stw w rozmytym j zyku zapyta. W ramach przeprowadzonych bada na podstawie własnych definicji zapytania rozmytego, opracowano algorytm analizatora predykatu, który uwzgl dnia budow i korzystanie z istniej cych tablic podobie stw. Stanowi on cz analizatora zapytania w zaprojektowanym modelu interaktywnego rozmytego j zyka zapyta MELSQL. Słowa kluczowe: systemy wspomagania decyzji, dane niepewne, warto lingwistyczna, zmienna lingwistyczna, tablice podobie stw, rozmyty j zyk zapyta. 1. Wprowadzenie Wymagania stawiane współczesnym systemom zarz dzania stale rosn. Wspomaganie w podejmowaniu decyzji na podstawie informacji precyzyjnych zgromadzonych w bazie lub hurtowni danych przestało by wystarczaj ce. Konieczno ci stało si modelowanie i przetwarzanie danych niepewnych, b d cych dla niektórych systemów s jedynymi dzi dost pnymi informacjami. Jednym z najcz ciej wyst puj cych obecnie rodzajów niepewno ci danych jest niepewno lingwistyczna [1]. Charakteryzuje si warto ci lingwistyczn jako jedyn dost pn informacj pochodz c od ludzi. To wła nie człowiek w swoim umy le tworzy model otaczaj cej go rzeczywisto ci w oparciu o takie nieprecyzyjne leksykalne poj cia jak: zimno, daleki, niski, mały itp. Stanowi one warto ci lingwistyczne okre lonych zmiennych lingwistycznych takich jak: temperatura, odległo, wzrost czy obrót finansowy. Fakt, e człowiek (jako ródło danych) my li i opisuje rzeczywisto w kategoriach informacji rozmytych wymusza na współczesnych systemach wspomagania decyzji obsług danych niepewnych lingwistycznie. Poza człowiekiem (jego wra enia, ocena, opis) ródłem danych rejestrowanych w bazach lub hurtowniach danych s tak e urz dzenia pomiarowe. Niestety odczytane z nich informacje bardzo cz sto obarczone s pewnym bł dem pomiarowym [3]. Stanowi one drugi rodzaj niepewno ci danych tzw. niepewno pomiarow, dla której jedynymi dost pnymi informacjami s liczby rozmyte (np. około 3 ). Dzi nie budzi ju w tpliwo ci konieczno obsługi procesu wspomagania decyzji tak e na podstawie danych niepewnych pomiarowo, poniewa stanowi cz sto, a niekiedy jedynie osi galn informacj. Trzeci rodzaj niepewno ci danych stanowi niepewno wynikaj ca z rachunku prawdopodobie stwa (niepewno stochastyczna). W tym przypadku dost pna informacja wyst puje w postaci warto ci prawdopodobie stwa [1] i wielokrotnie stanowi podstaw, na której opiera si podejmowanie decyzji w informatycznych systemach zarz dzania. Klasyfikacj i modelowanie danych niepewnych przedstawia rysunek 1.
112 Zastosowanie tablic podobie stw w rozmytym j zyku zapyta ródło: opracowanie własne [1] Rys. 1. Klasyfikacja i modelowanie danych niepewnych Istotnym aspektem obsługi danych niepewnych jest sposób ich modelowania w systemie. W zale no ci od rodzaju niepewno ci i zwi zanych z tych dost pnych informacji stosuje si ró ne rodki modelowania rozmytego. Najbardziej powszechne jest stosowanie funkcji przynale no ci liczb do zbioru rozmytego stanowi cego warto lingwistyczn (np. mało ) lub liczb rozmyt (np. około 3 ). W przypadku danych niepewnych stochastycznie buduje si tablice prawdopodobie stwa i funkcji rozkładu mo liwo ci. Do obsługi warto ci lingwistycznych oprócz funkcji przynale no ci mo na zastosowa tak e tablice podobie stw elementów z przestrzeni lingwistycznej zmiennej[1]. Celem niniejszej pracy jest analiza stosowania tablic podobie stw (ich u ycie i budowa) w zaprojektowanym modelu rozmytego j zyka zapyta MELSQL. 2. Charakterystyka zapyta rozmytych Główna funkcja zaprojektowanego modelu j zyka MELSQL to analiza zapytania rozmytego w celu jego transformacji na zapytanie w standardzie SQL. Punktem wyj cia do zdefiniowania zapytania rozmytego dla potrzeb działania j zyka było proste zało enie, e zapytanie rozmyte ma nast puj c posta : SELECT <lista kolumn/wyra e >
POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 23, 2009 113 FROM <lista tabel> WHERE <warunki rozmyte>. (2.1) W wyniku analizy budowy warunku w zapytaniu SQL-owym (w instrukcji SELECT wyst puj cy po słowie kluczowym WHERE i stanowi cy parametry operacji selekcji) wyodr bniono predykaty proste poł czone operatorem logicznym. Zało ono, e o warunku rozmytym decyduje wyst pienie w nim rozmytego predykatu prostego i/lub operatora kompensacyjnego. Na tej podstawie w modelowanym j zyku MELSQL przyj to nast puj c definicj zapytania rozmytego [2]: SELECT [I] A 1, A 2... FROM T 1, T 2... [WHERE P 1 X ok O l P 2...] [GROUP BY [HAVING P]] A [ORDER BY A 1 S, A 2 S...], (2.2) gdzie: I - dana liczba krotek odpowiedzi (konkretna liczba lub procent) A - atrybut lub funkcja agreguj ca (count(), min(), max(), avg(), sum()) T - tabela P - predykat prosty (twardy lub rozmyty) X ok - współczynnik operatora kompensacyjnego (waga, próg reakcji) O l - operator logiczny (AND, OR) S - porz dek sortowania (0 kolejno rosn ca, 1- kolejno malej ca) Predykat rozmyty charakteryzuje si wyst pieniem w nim przynajmniej jednego z elementów [2]: warto ci rozmyte atrybutów (warto ci lingwistyczne, liczby rozmyte) rozmyte operatory arytmetyczne rozmyte kwantyfikatory. Na tej podstawie przyj to nast puj c posta predykatu prostego: P = X k K A X o O X w W, (2.3) gdzie: X k - warto funkcji przynale no ci dla kwantyfikatora K K - kwantyfikator twardy (istnieje, wszyscy, aden) lub rozmyty (prawie wszyscy, prawie aden) A - atrybut X o - warto podobie stwa dla operatora arytmetycznego O O - operator arytmetyczny twardy (=,, <, >, =>, =<) lub rozmyty (prawie =, prawie, prawie <, prawie >) X w - warto funkcji przynale no ci dla warto ci atrybutu W - warto atrybutu precyzyjna lub rozmyta (warto lingwistyczna, liczba rozmyta); ewentualnie podzapytanie.
114 Zastosowanie tablic podobie stw w rozmytym j zyku zapyta 3. Relacja podobie stwa Tablice podobie stw s macierzami stosowanymi w modelowaniu atrybutów w przypadku dziedzin dyskretnych. Dla ka dej pary warto ci z przestrzeni rozwa a danej zmiennej okre lany jest stopie ich wzajemnego podobie stwa warto ciami stopni przynale no ci (z przedziału <0;1>). Zatem relacja podobie stwa P w przestrzeni rozwa a X jest relacja rozmyt o nast puj cej postaci: P: XxX -> (0;1), (3.1) gdzie: P X - relacja podobie stwa - przestrze rozwa a zmiennej (lingwistyczna lub numeryczna). Relacja P okre lana jest nast puj cymi własno ciami: zwrotno P X (x,x)=1, x X (3.2) symetryczno P X (x,y)= P X (y,x), x,y X (3.3) przechodnio P X (x,z)= 1- P X (x,y)- P X (y,z), x,y,z X. (3.4) Przykładowo numeryczna przestrze rozwa a zmiennej wzrost została zadana przedziałem minimalnej (110cm) i maksymalnej (210cm) warto ci jak mo na osi gn w interesuj cej nas grupie osób, co ilustruje tabela 1. Tabela 1. Tablica podobie stw wzrostu Wzrost [cm] 110 120 130 140 150 160 170 180 190 200 210 110 1,0 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0,0 120 0,9 1,0 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 130 0,8 0,9 1,0 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 140 0,7 0,8 0,9 1,0 0,9 0,8 0,7 0,6 0,5 0,4 0,3 150 0,6 0,7 0,8 0,9 1,0 0,9 0,8 0,7 0,6 0,5 0,4 160 0,5 0,6 0,7 0,8 0,9 1,0 0,9 0,8 0,7 0,6 0,5 170 0,4 0,5 0,6 0,7 0,8 0,9 1,0 0,9 0,8 0,7 0,6 180 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 0,9 0,8 0,7 190 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 0,9 0,8 200 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 0,9 210 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 ródło: Opracowanie własne.
POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 23, 2009 115 4. Tablice podobie stw w analizie predykatu Analizator predykatu stanowi główny blok algorytmu analizatora warunku realizowanego w ramach analizy zapytania w opracowanym modelu rozmytego j zyka MELSQL. Algorytm działania analizatora predykatu podzielony został na trzy, kolejno wyst puj ce po sobie, cz ci odpowiadaj ce elementom determinuj cym jego rozmyty charakter: analiza warto ci atrybutu W i identyfikacja X w analiza operatora arytmetycznego O i identyfikacja X o analiza kwantyfikatora K i identyfikacja X k. W zaproponowanej w modelu j zyka MELSQL definicji predykatu prostego (2.3) warto podobie stwa cechuje współczynnik X o zwi zany z operatorem arytmetycznym. Zastosowanie tablic podobie stw w analizie predykatu ma zatem miejsce w jej drugiej cz ci. Maj c na uwadze tytuł i cel niniejszej pracy poni ej omówiona zostanie tylko analiza operatora arytmetycznego O i identyfikacja X o (rys.2). Pierwszy krok w drugim etapie analizy predykatu to sprawdzenie istnienia współczynnika X o. Jego brak wiadczy o wyst pieniu twardego operatora arytmetycznego, co nie podlega transformacji i nast puje przej cie do trzeciego etapu. Natomiast wykrycie współczynnika X o wiadczy o wyst pieniu rozmytego operatora i wymaga zamiany predykatu na standard SQL. Do przeprowadzenia powy szej operacji stosuje si omawiane tablice podobie stw. Nale y zatem sprawdzi, czy dla zadaj cego zapytanie u ytkownika i dla danego atrybutu taka istnieje. W przypadku jej braku nale y j zbudowa - nast puje przej cie do bloku Budowa nowej tabeli podobie stw (rys. 3). Gdy w bazie danych jest ju zarejestrowana wymagana tablica podobie stw kolejnym krokiem jest jej weryfikacja. Nale y sprawdzi, czy istnieje zgodno z obecnymi preferencjami u ytkownika (nale y mie na wzgl dzie ich zmienno!). Gdy tablica zostaje pozytywnie zweryfikowana nast puje pobranie warto ci podobie stwa X o a tak e typu operatora, poniewa interpretacja znaczenia wyst puj cego współczynnika operatora arytmetycznego X o zale na jest od jego typu. Przykładowo warto podobie stwa dla operatora X o = 0,5 w przypadku operatora prawie= oznacza minimalny akceptowalny stopie podobie stwa czyli warunek spełniaj te warto ci, których stopie podobie stwa do podanej warto ci atrybutu mie ci si w przedziale <0,5;1>. Natomiast dla operatora prawie jest to maksymalny akceptowalny stopie podobie stwa czyli przedział <0;0,5>. (Skrajny przypadek, gdy warto podobie stwa X o = 1 odpowiada wyst pieniu twardego operatora =.) Ostatnim krokiem jest zatem pobranie z tabeli okre lonego przedziału warto ci i wprowadzenie zmiany w warunku. W przypadku, gdy u ytkownik zmienił swoje preferencje wymagana jest budowa nowej tablicy czyli tak e nast puje przej cie do bloku Budowa nowej tabeli podobie stw.
116 Zastosowanie tablic podobie stw w rozmytym j zyku zapyta Analiza predykatu Analiza warto ci W i identyfikacja X w Czy istnieje X O? NIE TAK Czy istnieje tabela podobie stw dla danego A? NIE TAK Weryfikacja preferencji Czy istnieje tabela zgodna z obecnymi preferencjami? NIE Budowa nowej tabeli podobie stw TAK Pobierz X O Pobierz O Pobierz z tabeli okre lony przedział warto ci odpowiadaj cy X O i O i zamie w warunku Analiza kwantyfikatora K i identyfikacja X k Koniec ródło: Opracowanie własne. Rys. 2. Algorytm działania analizatora predykatu
POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 23, 2009 117 Przykładowo z bazy sportowców chcemy pozyska dane (imi i nazwisko) tych sportowców, którzy s podobnego wzrostu (np. w stopniu 0,8) co Jan Kowalski. Rozmyte zapytanie mogłoby mie nast puj c posta : SELECT IMIE, NAZWISKO FROM SPORTOWCY WHERE WZROST 0.8 prawie= (SELECT WZROST FROM SPORTOWCY WHERE IMI = JAN AND NAZWISKO = KOWALSKI ) (4.1) Zakładaj c, e zarejestrowany w bazie sportowiec Jan Kowalski ma 180 cm wzrostu i przedstawiona tablica podobie stw wzrostu (tabela 1) odpowiada preferencjom u ytkownika mo emy na jej podstawie okre li przedział warto ci wzrostu odpowiadaj cy warunkowi 0.8 prawie=. W wyniku zapytania otrzymamy list sportowców, którzy s takiego wzrostu, e jego poziom podobie stwa do 180 cm mie ci si w przedziale <0,8;1>. Analizuj c tablic 1 mo emy wytypowa nast puj cy przedział warto ci wzrostu <160cm;200cm>. Po dokonaniu transformacji zapytanie przyjmie nast puj c posta w standardzie SQL: SELECT IMIE, NAZWISKO FROM SPORTOWCY WHERE WZROST >=160 AND WZROST <=200 (4.2) 5. Budowa tablic podobie stw Sposób tworzenia tablic podobie stw zale ny jest od rodzaju przestrzeni rozwa a zmiennej. Dla atrybutu w analizowanym predykacie budowana jest przestrze lingwistyczna lub numeryczna, której wyboru nale y dokona w pierwszym kroku algorytmu bloku Budowa nowej tabeli podobie stw. W przypadku wyboru warto ci liczbowych (przykładowo jak dla zmiennej wzrost ) wystarczy tylko poda zakres wytypowanych warto ci czyli granice rozwa anego przedziału, których stopie podobie stwa b dzie wynosi 0. Do zbudowania np. tabeli 1 wymagane s dwie warto ci 110cm i 210cm. Prezentowane w tablicy warto ci z analizowanej przestrzeni (poza stałymi zadanymi granicami) mog by zmienne i nie ma potrzeby rejestrowania ich w bazie danych. Przy tworzenie tablic podobie stw dowolnych rozmiarów na podstawie zadanego przedziału warto ci korzysta si m.in. z własno ci relacji podobie stwa ((3.2)(3.3)(3.4)). Wypełnienie tablicy zadan liczb warto ci polega na obliczeniu odległo ci pomi dzy nimi (kroku): k = (b-a)/(i-1) dla a < = X < = b, (5.1) gdzie: a, b - granice przestrzeni X - przestrze numeryczna zmiennej i - liczba elementów zbioru k - krok. W przypadku przestrzeni numerycznej o stałej zadanej ró nicy mi dzy kolejnymi warto ciami warto podobie stwa mo na wyliczy z nast puj cego wzoru: P (X m, X n ) = 1 - m-n / (i -1), (5.2) gdzie:
118 Zastosowanie tablic podobie stw w rozmytym j zyku zapyta X m, X n - m-ty i n-ty element przestrzeni X i - liczba elementów zbioru m, n - numer elementu w przestrzeni. Budowa przestrzeni lingwistycznej zmiennej wymaga zarejestrowania w bazie danych jej wszystkich elementów. Mog to by warto ci lingwistyczne pochodz ce z bazy danych i/lub wprowadzone przez u ytkownika. Kolejnym krokiem, który nie dotyczył warto ci numerycznych, jest ustalenie kompletno ci, a nast pnie kolejno ci elementów. W bazie danych rejestruje si relacj podobie stwa wszystkich elementów do elementu pierwszego, co pozwala na podstawie własno ci przechodnio ci (3.4) utworzy cał tabel podobie stw. ródło: Opracowanie własne. Rys. 3. Algorytm tworzenia tabeli podobie stw
POLSKIE STOWARZYSZENIE ZARZ DZANIA WIEDZ Seria: Studia i Materiały, nr 23, 2009 119 Przykład przestrzeni lingwistycznej mo e stanowi paleta barw dla zmiennej kolor. Uło enie kolorów od najja niejszego do najciemniejszego (b d odwrotnie) jest naturaln kolejno ci w celu budowy tablicy podobie stw, która mogłaby mie zastosowanie w analizie zapyta rozmytych do systemów botanicznych. Wielu u ytkowników mogłoby by zainteresowanych np. nazwami kwiatów o barwie podobnej (w okre lonym stopniu) do konkretnego gatunku kwiatów. Wówczas algorytm analizy predykatu, a dokładnie jego rodkowej cz ci wykonałby si dokładnie tak samo jak w przypadku zapytania o sportowców. 6. Podsumowanie Przedstawiony w pracy model rozmytego j zyka MELSQL ma m.in. za zadanie przybli y u ytkownika do naturalnej komunikacji człowiek-komputer. Jedn z form jest mo liwo zadawania jak najbardziej zbli onych do naturalnych zapyta do bazy danych i st d konieczno ich transformacji na zapytania w standardzie SQL. Zastosowanie tablic podobie stw w analizie predykatu zdecydowanie zwi kszyło efektywno pracy analizatora zapytania i otworzyło nowe kierunki rozwoju. Przede wszystkim w ramach modelowania rozmytego istnieje mo liwo zapisu w tablicach oceny jako ciowej podobie stwa i przynale no ci do zbioru, a tak e mo liwo zadawania pyta w tak skrajnej postaci jak np.: W jakim stopniu jasny jest kolor ciemny?. Bibliografia 1. Budzi ski R., Krakowiak M.: Modelowanie zapyta i bazy reguł w regułowym j zyku zapyta z wykorzystaniem logiki rozmytej. W: Studia i Materiały Polskiego Stowarzyszenia Zarz dzania Wiedz, nr 13, Bydgoszcz 2008, s.5-15. 2. Lipi ska M. 1 : Metoda transformacji zapyta na zapytania w standardzie SQL w bazach danych. W: Materiały VIII Sesji Naukowej Informatyki., Szczecin 2003. 3. Piegat A.: Modelowanie i sterowanie rozmyte, Akademicka Oficyna Wydawnicza Exit, Warszawa 1999. 1 publikacja własna pod poprzednim nazwiskiem
120 Zastosowanie tablic podobie stw w rozmytym j zyku zapyta APPLYING OF SIMILARITY MATRIX IN FUZZY QUERRY LANGUAGE Summary The paper presents a solution concerning of applying of similarity matrix in fuzzy query language. Making in the work analysis, upon individual fuzzy query, was presented algorithm of analyser of predykat. It is a part of query s analyser in designed model of interactive query language using fuzzy logic MELSQL. Keywords: computer decisions making systems, uncertain data, linguistic value, linguistic variable, similarity matrix, fuzzy query language Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie e-mail: makrakowiak@wi.zut.edu.pl