Zastosowania zbiorów rozmytych
1. Tworzenie systemu z logiką rozmytą - rankingowanie opcji decyzyjnych
Dla ilustracji tego procesu wykorzystamy prosty przykład analizy preferencji klientów. Przyjmijmy, że naszym celem jest stworzenie systemu oceniania preferencji nabywców, związanych z zakupem kalkulatora.
Aby rozwiązać ten problem, wykorzystamy podejście wielokryterialne, polegające na wyodrębnieniu istotnych atrybutów, pod kątem których oceniać będziemy badane wyroby (kryteriów oceny). Zagregowane wartości poszczególnych kryteriów śluzą do określenia użyteczności wyrobu dla potencjalnych nabywców.
Istnieje wiele metod rozwiązywania zagadnień wielokryterialnych. Metody stosowane tradycyjnie wymagają jednak zwykle silnych założeń związanych z niezależnością poszczególnych atrybutów. Przyjmuje się w nich zwykle liniowy model użyteczności końcowej, traktowanej jako suma ważona wartości poszczególnych kryteriów (użyteczności cząstkowych). Problem sprowadzany jest, więc jedynie do wyznaczenia wag, określających udział danego atrybutu w końcowej preferencji. Założenie o niezależności atrybutów w rzeczywistej sytuacji decyzyjnej ma często charakter poważnie upraszczający. Występowanie interakcji między kryteriami powoduje nieadekwatność liniowego modelu preferencji. Wykorzystanie systemu ekspertowego do agregacji użyteczności cząstkowych pozwala nie tylko na bardziej realistyczne podejście do analizy problemu, ale również umożliwia ominięcie wzmiankowanych założeń.
Pierwsza faza tworzenia modelu polega na identyfikacji atrybutów, wykorzystywanych w ocenie użyteczności kalkulatorów. Sposób postępowania w tym przypadku jest w zasadzie niezależny od przyjętego modelu decyzyjnego. Kryteria oceny dla danej grupy towarów uzyskane mogą być na podstawie analiz rynku, lub po prostu wyspecyfikowane przez doświadczonego eksperta marketingu. Przyjmijmy, że w rozważanym przypadku kalkulatory oceniane są pod kątem następujących atrybutów:
rodzaj kalkulatora (RK), na przykład: naukowy, biznesowy, czterodziałaniowy;
działanie kalkulatora (DK) z uwzględnieniem dokładności, szybkości obliczeń, efektywności i wygody zarówno w układzie klawiszy, jak i definiowaniu ich sekwencji itp.;
wielkość kalkulatora (WK);
cena kalkulatora (CK).
Zmienną wyjściową w naszym modelu będzie, zgodnie z tym, co powiedzieliśmy wcześniej, użyteczność kalkulatora (UK), stanowiąca miarę preferencji wyrażaną w stosunku do niego przez klientów.
2. Kwantyzacja przestrzeni zmiennych systemu
Teoria zbiorów rozmytych umożliwia ludziom opisanie sposobu podejmowania decyzji za pomocą języka naturalnego, a następnie przekształcenie otrzymanych informacji w model matematyczny, na podstawie którego można stworzyć system informatyczny. Zakładamy więc, że opinie na temat kalkulatorów wyrażone będą w postaci stwierdzeń postaci:
„Kalkulator powinien być tani,
niewielki i
umożliwiać wykonywanie prostych obliczeń arytmetycznych".
Jednym z najistotniejszych problemów jest, więc ustalenie słownika wartości lingwistycznych, tzn. co należy rozumieć przez określenia tani, niewielki, oraz proste obliczenia arytmetyczne.
Na potrzeby modelowania systemu ekspertowego przyjmowana jest zwykle jednolita postać wykorzystywanych w nim zbiorów rozmytych. Typowe funkcje przynależności mają kształt trójkątny lub dzwonokształtny (typu gaussowskiego).
Podstawą zdefiniowania zbioru wartości zmiennej jest określenie tzw. terminów podstawowych (pierwotnych). Na ich podstawie tworzone mogą być zbiory rozmyte opisujące terminy złożone, definiowane za pomocą operatorów działań na zbiorach rozmytych (lub, i, nie, patrz podrozdział 4.3) oraz modyfikatorów kształtu (bardzo, mniej więcej, większy niż, patrz podrozdział 4.4). Proces kolejnego przekształcania terminów pierwotnych, poprzez zastosowanie modyfikatorów, tak aby wynikowy zbiór rozmyty w jak najlepszy sposób opisywał modelowane pojęcie nazywamy aproksymacją lingwistyczną.
Zajmijmy się teraz utworzeniem zbiorów terminów pierwotnych dla poszczególnych zmiennych tworzonego systemu. Typowym sposobem postępowania jest równomierne kwantowanie przestrzeni wartości, polegające na jej podzieleniu na określoną liczbę zbiorów rozmytych o jednakowej szerokości. Ten prosty sposób określenia terminów pierwotnych przynosi dobre rezultaty w zaskakująco dużej liczbie przypadków. Ma on naturalny i zdroworozsądkowy charakter. W niektórych przypadkach może jednak zachodzić konieczność zastosowania nierównomiernego podziału przestrzeni wartości zmiennej. Kwestia wyboru liczby i funkcji przynależności terminów pierwotnych musi być oczywiście przedmiotem konsultacji budowniczego systemu z ekspertem. W przypadku, gdy brak jest dostatecznej wiedzy dla bezpośredniego określenia terminów pierwotnych możliwe jest otrzymanie funkcji przynależności na podstawie analizy obserwacji zachowania modelowanego systemu. Zagadnieniem tym zajmiemy się w dalszej części rozdziału.
Na potrzeby naszego systemu całkowicie wystarczające będzie przyjęcie równomiernego kwantowania przestrzeni wejść. Rozważmy jako pierwszą cenę kalkulatora (CK). Zmienna ta ma charakter numeryczny i przyjmuje wartości w określonym przedziale. Ceny kalkulatorów na rynku wahają się od kilku do stu kilkudziesięciu złotych.
Przestrzenią rozważanych obiektów, w której zdefiniujemy zbiory rozmyte, będzie, więc przedział zmian cen kalkulatorów. Podzielimy ją na trzy terminy podstawowe (definicje zbiorów przedstawiono na rysunku 4.23):
cena kalkulatora (CK): {tani, rozsądny, drogi}
W przypadku zmiennej rodzaj kalkulatora (RK) wartości będą miały charakter raczej symboliczny niż liczbowy. Określać mają one pułap możliwości danego kalkulatora. Dostępne na rynku kalkulatory podzielimy na trzy grupy:
{czterodziałaniowy, biznesowy, naukowy}.
Przez wartość naukowy rozumiemy skomplikowany kalkulator z wieloma funkcjami, możliwością programowania. Wartości biznesowy oraz czterodzialaniowy związane będą z coraz prostszymi kalkulatorami, w skrajnym przypadku jedynie czterodziałaniowymi. Pojawia się tu pytanie, czy wartości zmiennej RK powinny być zbiorami rozmytymi.
Być może wystarczy potraktować je jako etykiety odrębnych klas kalkulatorów, co pozwalałoby na konstruowanie zwykłych warunków w logice binarnej, typu:
RK = biznesowy.
Logika rozmyta pozwala jednak na większą elastyczność działania systemu. Możliwości kalkulatora niekoniecznie muszą lokować go dokładnie w jednej z wyszczególnionych kategorii. Porównajmy kalkulator wyłącznie czterodziałaniowy z kalkulatorem wyposażonym dodatkowo w możliwość obliczania pierwiastków. Ten drugi jest, co prawda bardziej skomplikowany, ale chyba trudno byłoby zaliczyć go już do kategorii biznesowy. Podobnie możemy porównać dwa kalkulatory o bardzo bogatym zestawie funkcji, z których tylko jeden ma możliwość oprogramowywania rejestrów.
Zastosowanie dla zmiennej RK wartości rozmytych pozwala na wyrażenie stanów pośrednich tej zmiennej. W sensie logiki rozmytej ten sam kalkulator może być w pewnym stopniu naukowy i w pewnym stopniu biznesowy. Ponieważ zmienna RK nie przyjmuje konkretnych wartości liczbowych, więc trudno jest tu mówić o przedziale jej zmienności. Jako przestrzeń rozważanych obiektów dla wartości rozmytych musimy, więc przyjąć jakąś przestrzeń abstrakcyjną. Może być to przedział [0, 1]. Możliwości kalkulatora oceniać będziemy, więc w skali od 0 do 1, przy czym oczywiście 0 oznacza kalkulator o najmniejszych możliwościach, natomiast 1 kalkulator o możliwościach największych. Definicje wartości rozmytych zmiennej RK przedstawiono na rysunku 4.24.
Kolejna zmienna systemu (DK) opisuje działanie kalkulatora. Przyjmować ona będzie następujące trzy wartości:
{słabe, średnie, dobre}
Podobnie jak w poprzednim przypadku, zmienna DK ma charakter jakościowy. Jej wartości zdefiniujemy, więc również w przedziale [0, 11. Zbiory rozmyte dla wartości zmiennej DK przedstawiono na rysunku 4.25.
Analogicznie potraktujemy zmienną wielkość kalkulatora = WK. Przedział wartości zmiennej WK podzielimy na pięć zbiorów rozmytych:
{bardzo-mały, mały, średnio mały, średnio duży, duży}-
Zwróćmy uwagę, że zbiór bardzo-mały nie jest wynikiem zastosowania modyfikatora bardzo do zbioru mały, lecz dodatkową wartością zmiennej WK. Zbiory rozmyte odpowiadające wartościom zmiennej WK zaprezentowane zostały na rysunku 4.26.
Pozostają nam do zdefiniowania wartości zmiennej wyjściowej naszego systemu ekspertowego.
Wyjściem systemu jest użyteczność wyrobu w oczach klientów (UK). Rozumiemy przez nią ocenę preferencji klienta związaną z decyzją zakupu danego kalkulatora, podjętą na podstawie wszystkich wymienionych wcześniej kryteriów. Przyjmijmy, podobnie jak w poprzednich przypadkach, że miara użyteczności przyjmuje wartości z przedziału [0, 1].
Na potrzeby naszego systemu podzielmy przedział wartości zmiennej UK na pięć zbiorów rozmytych:
{niska, średnio niska, średnia, średnio wysoka, wysoka}
Ich funkcje przynależności przedstawiono na rysunku 4.27
3. Budowa bazy wiedzy
Wiedzę niezbędną do budowy naszego systemu powinniśmy pozyskać od klientów. Wykorzystanie logiki rozmytej ułatwia ten proces, umożliwiając opis sposobu podejmowania decyzji przy wykorzystaniu języka naturalnego. Fakt usprawnienia komunikacji między inżynierem wiedzy a jej źródłem jest istotnym czynnikiem wpływającym na możliwość szybkiego prototypowania systemu.
Najważniejszą jednak kwestią związaną z wykorzystaniem logiki rozmytej jest fakt, że umożliwia ona budowę i działanie modelu, nawet, jeśli wiedza leżąca u jego podstaw jest zbyt mało precyzyjna i dokładna, aby można ją było sformalizować w inny sposób.
Nie bez znaczenia jest przy tym fakt, że ludzie w swoim rozumowaniu posługują się kategoriami i związkami rozmytymi. Próba ich ujęcia w postaci ścisłego formalizmu matematycznego prowadzić może do poważnej komplikacji modelu. Wyrażane w sposób rozmyty asocjacje myślowe eksperta są często zaskakująco proste i oczywiste. Nawet w przypadku, gdy dysponujemy dostateczną wiedzą na temat rozwiązywanego problemu, by zastosować precyzyjne metody jego modelowania, system rozmyty często oferuje rozwiązanie znacznie prostsze, a przy tym działające zaskakująco dobrze.
Przyjmijmy, że uzyskaliśmy od klientów następujące informacje na temat rozważanego problemu:
Rodzaj kalkulatora jest nieistotny
Jeśli kalkulator jest tani, jego użyteczność jest co najmniej średnia, nawet jeżeli jest średnio duży i działa słabo.
Jeśli kalkulator jest drogi, to, aby był akceptowalny musi być mały i dobrze działać.
Duże kalkulatory są nieakceptowalne.
Idealny kalkulator powinien być mały, tani i dobrze działać.
Wydaje się, że tak skromna wiedza nie może wystarczyć do rozwiązania problemu. Przedstawione stwierdzenia wydają się być dosyć ogólne i przy tym niezbyt precyzyjnie formułują zależności w tworzonym modelu. W zasadzie jedno tylko wydaje się oczywiste: możemy zrezygnować ze zmiennej RK (rodzaj kalkulatora). Zwróćmy jednak uwagę, że nawet w przypadku tak prostego problemu zależności te są jednak dosyć złożone.
Poszczególne kryteria pozostają między sobą w wyraźnej interakcji. Inne czynniki są istotne, gdy cena kalkulatora jest wysoka, inne zaś, gdy jest on tani. Potwierdzają się, więc nasze wstępne założenia o nieadekwatności liniowego modelu preferencji. Nic możemy przydzielić każdemu z kryteriów stałej wagi określającej jego udział w końcowej preferencji, ponieważ waga ta zmienia się w zależności od wartości innych kryteriów.
Nawet jednak tak skromna wiedza wystarczy do zbudowania szkieletu systemu doradczego przy wykorzystaniu logiki rozmytej. Prześledźmy sposób konstrukcji kilku reguł na podstawie powyższych informacji. Zgodnie z punktem 5 największą użyteczność w oczach klientów uzyskują kalkulatory małe, tanie i o dobrym działaniu. Otrzymujemy więc natychmiast regułę: