JEŻELI
DK jest dobre I
WK jest mały I
CK jest tani
TO UK jest bardzo bardzo bardzo wysoka.
Reguła ta opisuje największą możliwą użyteczność.
Jeżeli kalkulator jest drogi, to w świetle naszych informacji (punkt 3) jest zaledwie akceptowalny, nawet, jeżeli jest mały i działa dobrze. Otrzymujemy, więc regułę:
JEŻELI
DK jest dobre I
WK jest mały I
CK jest drogi
TO UK jest średnio niska.
W ten sposób na podstawie przedstawionej wiedzy możemy zbudować szkielet modelu. Oczywiście system w tej fazie należy uznać za prototyp, który będzie poprawiany na etapie dalszych konsultacji. Stosunkowo łatwo możemy utworzyć reguły dla kluczowych punktów bazy wiedzy. W kolejnym kroku musimy wypełnić luki między nimi.
Reguły przedstawione powyżej wyznaczają granice, w jakich zmienia się użyteczność, wraz ze zmianą CK (ceny kalkulatora), przy ustalonych wartościach innych zmiennych. Użyteczność UK spada w miarę wzrostu ceny. Gorzej widziane w oczach klientów są jednak również kalkulatory większe. Który atrybut powoduje szybszy spadek użyteczności? Wielkość kalkulatora (WK) tak naprawdę staje się istotna dopiero w momencie, gdy kalkulator jest duży. W przypadku niewielkiego wzrostu rozmiaru wyraźnie ważniejszą rolę odgrywa kryterium ceny. Możemy, więc zaproponować następujące reguły:
JEŻELI
DK jest dobre I
WK jest mały I
CK jest rozsądny
TO UK jest bardzo wysoka.
JEŻELI
DK jest dobre I
WK jest średnio mały I
CK jest tani
TO UK jest bardzo bardzo wysoka.
Postępując dalej w sposób analogiczny, otrzymamy prototypową bazę wiedzy dla rozważanego problemu analizy rynku kalkulatorów. Po jej utworzeniu niezbędna jest oczywiście dalsza konsultacja ze źródłem, od którego pozyskano wiedzę (w naszym przypadku grupą klientów, od których uzyskaliśmy informacje), w celu uzupełnienia ewentualnych luk oraz dokładnego dostrojenia wykorzystywanych reguł. Obszerne fragmenty bazy wiedzy utworzonej do analizy preferencji klientów zaprezentowane zostały w tablicy 4.2.
Tablica 4.2. Fragmenty bazy wiedzy dla problemu rankingowania kalkulatorów
Wartości oddzielone przecinkiem połączone są spójnikiem lub, zaś skrót b oznacza modyfikator bardzo, b2 - bardzo bardzo itd.).
4. Działanie systemu
Tworzenie naszego systemu zostało już niemal zakończone. Wykorzystamy go teraz do oszacowania użyteczności kilku przykładowych kalkulatorów. W opisie kalkulatorów pozostawiono zmienną rodzaj kalkulatora (RK). Nie jest ona przydatna w analizowanym modelu, ale wykorzystywana będzie w dalszej części rozdziału.
Rozważmy trzy następujące kalkulatory:
• Kalkulator Rachmistrz 1:
rodzaj kalkulatora (RK):1/naukowy
działanie kalkulatora (DK): 1 /dobre,
wymiary kalkulatora (WK): I/ średnio mały,
cena kalkulatora (CK): 1/ rozsądny.
• Kalkulator Rachmistrz 2:
rodzaj kalkulatora (RK): 1/ naukowy,
działanie kalkulatora (DK): 0,6/średnie+0,4/słabe,
wymiary kalkulatora (WK): 1/mały,
cena kalkulatora (CK):1/ rozsądny.
• Kalkulator Rachmistrz 3:
rodzaj kalkulatora (RK): 0,6/naukowy+0,4/nienaukowy,
działanie kalkulatora (DK): dobre ale nie bardzo dobre,
wymiary kalkulatora (WK): 1 /średnio mały,
cena kalkulatora (CK): 45 złotych.
Jak widać z powyższych przykładów wartości zmiennych wejściowych w rozmytym systemie ekspertowym mogą być podawane na kilka różnych sposobów.
Przyjrzyjmy się cenie kalkulatora CK. Jest to typowa zmienna ilościowa, której naturalnym sposobem określenia jest podanie dokładnej liczbowej wartości. Cena kalkulatora Rachmistrz 3 z przykładu wynosi 45 złotych. Wartości zmiennych tego typu zwykle będą miały charakter ostry (nierozmyty). Cena kalkulatora może być jednak znana jedynie w przybliżeniu. Wówczas wartość zmiennej CK określić możemy poprzez zbiór rozmyty.
Wartości te mogą mieć również charakter złożony, np. więcej niż tani, ale nie drogi.
Nieco inaczej jest w przypadku pozostałych zmiennych. Weźmy dla przykładu działanie kalkulatora (DK). Można sobie wyobrazić, że zmienna ta będzie podana w postaci dokładnej wartości liczbowej, jako ocena wystawiona w ankiecie:
Określ działanie kalkulatora w skali od 0 do 1: .
Ten sposób postępowania (dosyć częsty w systemach nierozmytych) jest jednak dosyć trudny dla użytkownika. Nie jest łatwo wyspecyfikować natężenie cechy niemierzalnej w postaci wartości liczbowej. Znacznie bardziej naturalne jest wyrażenie jej w postaci opisu lingwistycznego. Dla kalkulatora Rachmistrz 3 wyglądałoby to w sposób następujący:
Działanie kalkulatora jest: dobre, ale nie bardzo dobre.
Zmienne mogą być określane również w inny sposób. W systemach ekspertowych często zbiór wartości zmiennej jest zestawem określonych kategorii. Użytkownik korzystający z systemu wybiera jedynie jedną z nich:
Określ działanie kalkulatora:
Słabe,
średnie,
dobre.
Wykorzystanie logiki rozmytej umożliwia określenie stopnia przynależności do każdej z kategorii. W przypadku kalkulatora Rachmistrz 2 wartość zmiennej DK podana zostaje w sposób następujący:
Określ działanie kalkulatora:
słabe: 0,4
średnie: 0,6
dobre:
Wszystkie wymienione sposoby określania wartości zmiennych umożliwiają prowadzenie wnioskowania w systemie rozmytym. Przyjrzyjmy się po kolei działaniu naszego systemu w odniesieniu do każdego z trzech opisanych kalkulatorów.
W podrozdziale 4.5.2 przedstawiono kilka wariantów procesu wnioskowania w systemie rozmytym. Przypomnijmy krótko sposób jego działania.
1. W przeciwieństwie do klasycznego systemu ekspertowego w modelu rozmytym uaktywniane są wszystkie reguły. Dla każdej z nich:
na podstawie stopnia dopasowania poszczególnych wejść do warunków reguły obliczany jest stopień prawdziwości poprzednika,
na podstawie korelacji poprzednika z następnikiem znajdowany jest zbiór rozmyty będący wynikiem działania reguły.
2. Wyniki działania pojedynczych reguł wnioskowania scalane są ostatecznie w jeden zbiór wyjściowy.
Na potrzeby naszego modelu analizy preferencji wykorzystamy operację minimum do realizacji koniunkcji warunków w regule (4.40), korelację minimum następnika z poprzednikiem (4.41) oraz scalanie działania reguł poprzez operację maksimum (4.43).
Kalkulator Rachmistrz 1. W przypadku kalkulatora Rachmistrz 1 atrybuty określone zostały celowo w sposób sprowadzający działanie modelu do klasycznego systemu ekspertowego. Wszystkie wartości wejściowe systemu określone zostały poprzez wybór ostrej (nierozmytej) kategorii.
Dla każdej reguły systemu (patrz tablica 4.2) musimy więc określić stopień jej aktywacji (prawdziwość poprzednika). Rozważmy regułę 1: Rl: JEŻELI
DK jest dobre I
WK jest mały I
CX jest tani
TO UK jest bardzo bardzo bardzo wysoka.
Musimy określić dopasowanie wartości wejściowych poszczególnych zmiennych do ich wartości, uwzględniając warunki reguły Rl. Wartość wejściowa zmiennej DK dla kalkulatora Rachmistrz 1 wynosi 1/dobre, stopień dopasowania do warunku dla zmiennej DK w regule Rl wynosi więc 1. Wartość wejściowa WK z kolei wynosi 1/średnio mały. WK do zbioru mały, znajdującego się w warunku reguły Rl, przynależy zatem w stopniu 0. Stąd stopień dopasowania do reguły Rl dla tej zmiennej wynosi 0. Analogicznie rozumując, ponieważ wejściowa wartość ceny CK wynosi 1/rozsądny, to jej dopasowanie do Rl wynosi również 0. Stopień prawdziwości poprzednika reguły Rl wynosi więc:
=min(l,0,0) = 0. (4.46)
Obliczając następnie wynikowy zbiór rozmyty dla reguły Rl otrzymujemy:
(4.47)
Wynikiem działania reguły R1 jest, więc w tym przypadku zbiór pusty (ponieważ jego funkcja przynależności jest stale równa 0).
Podobnie będzie w przypadku większości reguł: wynikiem ich działania będą zbiory puste. Jedynie reguła R5 będzie miała stopień aktywacji większy od 0:
R5: JEŻELI
DK jest dobre I
WK jest średnio małe I
CK jest rozsądny
TO UK jest wysoka.
Łatwo zauważyć, że w przypadku reguły R5 stopień dopasowania wszystkich zmiennych wejściowych kalkulatora Rachmistrz 1 wynosi 1. Stopień prawdziwości poprzednika wynosi:
(4.48)
Wynikiem działania reguły R5 jest, zatem zbiór rozmyty B'5, którego funkcja przynależności określona jest następująco:
(4.49)
Prawdziwość reguły wyniosła 1, czyli B'5 jest równy po prostu następnikowi reguły R5.
Ponieważ wynikiem działania pozostałych reguł były zbiory puste, to po scaleniu otrzymujemy:
( (4.50)
gdzie B' jest rozmytą wartością użyteczności UK dla kalkulatora Rachmistrz 1 (rysunek 4.28).
Otrzymaną wartość użyteczności dla kalkulatora Rachmistrz 1 zapiszemy następująco:
UK=1/wysoka. (4.51)
Zauważmy, że w przypadku, gdy dane wejściowe podane zostały w sposób precyzyjny, system rozmyty działał dokładnie jak klasyczny system ekspertowy. Uaktywniona została tylko jedna reguła, której poprzednik dokładnie odpowiadał podanym danym. Wynikiem działania systemu jest następnik tej reguły. Kalkulator Rachmistrz 2. W przypadku kalkulatora Rachmistrz 2 większość danych stanowią również kategorie nierozmyte. Jedynie wartość atrybutu DK {działanie kalkulatora) określona została poprzez zbiór rozmyty: 0,6/średnie+0,4/słabe.
Podobnie jak w poprzednim przypadku, dla większości reguł znajdujących się w bazie wiedzy prawdziwość poprzednika wynosi 0. Działają jedynie dwie z nich: Rll oraz R17.
Reguła Rl 1 ma postać:
Rll: JEŻELI
DK jest średnie I
WK jest mały I
CA jest rozsądny
TO UK jest wysoka.
Stopień dopasowania dla zmiennej DK wynosi 0,6, dla pozostałych zmiennych 1. Prawdziwość poprzednika reguły Rl 1:
=min(0,6, 1, 1) = 0,6. (4.52)
Wynikiem działania reguły R11 jest zbiór rozmyty (rysunek 4.29), o funkcji przynależności:
(4.53)
Dla reguły R17, mającej postać: R17:
JEŻELI
DK jest słabe I
WK jest mały I
CK jest rozsądny
TO UK jest średnio wysoka
stopień dopasowania zmiennej DK wynosi 0,4, a zatem:
=min(0,4, 1, l) = 0,4. (4.54)
Wynikiem działania tej reguły jest więc zbiór rozmyty B'X1, dla którego:
/7/(f7 (x) = min(/7vm/„„, „,„„,„ (x), 0,4). (4.55)
Wykres funkcji przynależności tego zbioru znajduje się na rysunku 4.30.
103
średnio wysoka
średnio niska
wysoka
niska
średnia
O 0,2 0,4 0,6 0,8 1 UK
Rys. 430. Wynik działania reguły R17 dla kalkulatora Rachmistrz 2
U), HB{1 Zbiór B' przedstawiony został na rysunku 4.31.
Ostatecznie po scaleniu wyniku działania reguł Rl 1 i R17 otrzymujemy rozmytą wartość użyteczności dla kalkulatora Rachmistrz 2:
(4.56)
niska
średnio niska
średnia
średnio wysoka
0,2 0,4 0,6 0,8
Rys. 4.31. Użyteczność kalkulatora Rachmistrz 2
wysoka
1 UK
Możemy więc powiedzieć, że użyteczność UK kalkulatora Rachmistrz 2 należy w stopniu 0,4 do kategorii średnio wysoka oraz w stopniu 0,6 do kategorii wysoka. Zapiszemy to w postaci:
UK = 0A/średnio wysoka + 0,6/wysoka.
(4.57)
Kalkulator Rachmistrz 3. Dla ostatniego z naszych przykładowych kalkulatorów opisy atrybutów podano w nieco bardziej złożony sposób. Bezpośredni stopień przynależności do kategorii rozmytej, w przeciwieństwie do poprzednich przypadków, wskazano jedynie dla wymiaru kalkulatora (WK= \l średnio mały). Działanie kalkulatora określone zostało w postaci rozmytej (DK-dobre ale nie bardzo dobre), zaś cena
104
w postaci liczbowej (CK = 45). Dla dwu ostatnich zmiennych stopień ich przynależności do warunków określonych w przesłankach reguł musimy dopiero wyznaczyć.
Rozważmy więc zmienną działanie kalkulatora. Zgodnie z tym, co powiedzieli s'my w podrozdziale 4.4 przysłówek bardzo możemy wyrazić, wykorzystując funkcję kwadratową:
Mbardzo dobre « = Mdobre (*). (4.58)
Stosując dalej operator dopełnienia zbioru rozmytego (4.11) otrzymujemy:
Mnie bardzo dobre W = I - n]obre (x). (4.59)
Ostateczna wartość zmiennej DK jest iloczynem zbioru dobre oraz zbioru nie bardzo dobre. Stosując więc operator minimum jako iloczyn zbiorów rozmytych, otrzymujemy:
I*dobre ale me bardzo dobre M = min(Mdobre W, 1 ~ Mdobre (*))• (4-60)
Zbiór ten przedstawiony został na rysunku 4.32.
nie bardzo dobre
dobre
'0,4 0,6 0,8 1 DK
Rys. 4.32. Wartość DK = dobre ale nie bardzo dobre
Stopień dopasowania wartości zmiennej DK do poszczególnych kategorii występujących w przesłankach reguł (patrz rysunek 4.33) możemy wyznaczyć na podstawie
(4.39):
1'DK, dobre- maX .ve| 0.1 I m^n(Mdobre ale nie bardzo dobre (X)' (Hdobre M) ~ 0,62, l)K. .vWn,V= 1TlaX .re| 0.1 1 ™n(Mdobre ale nie bardzo dobre W, (Mśrednie (*)) *" 0,50, (4.6 1 )
r/>A. .,/„/„■= m''x ,„!„_,, min(/Jllnhrr ale „,„ himlzo dohre{x),{^slahe{x)) « 0. Ostatecznie wartość zmiennej DK możemy wyrazić:
105
średnie
dobre
i słabe
dobre ale nie bardzo dobre
0 0,2 0,4 0,6 0,8 1 DK
Rys. 4.33. Dopasowanie zmiennej DK do przesłanek reguł bazy wiedzy
DK = 0,51 średnie + 0,62/dobre.
(4.6J
W przypadku ceny (CK) kalkulatora Rachmistrz 3 dysponujemy jej dokładiu; wartos'cią. Zgodnie z (4.38) dopasowanie CA'do poszczególnych zbiorów rozmytych, występujących w przesłankach reguł równe jest po prostu wartości funkcji przyna leżności w punkcie CK = 45 (patrz rysunek 4.34):
*.,™^,™-(45) = 0,65,
~ 0.35,
TCK,rozsqdny
(4.() i
* CK.drogi
rozsądny
drogi
tani
0 20 45 60 80 100 120 140 160 CK
Rys. 4.34. Dopasowanie zmiennej CA^do przestanek reguł bazy wiedzy
Ostatecznie, pod względem ceny, kalkulator Rachmistrz 3 możemy określić jako:
CK = 0,65/tani + 0,35/rozsądny. (4.64 i
Z bazy wiedzy naszego systemu ekspertowego (tablica 4.2) jedynie reguły R4 R5, R13 i R14 osiągną stopień aktywacji (prawdziwość poprzednika) większy od xc ra. Reguła R4 przyjmuje postać:
106
R4: JEŻELI
DK jest dobre I
WK jest średnio mały I
CA'jest /ani TO Ć/A" jest b2 wysoka. Stopień aktywacji dla tej reguły wynosi więc:
r4 = min(0,62, 1, 0,65) = 0,62. (4.65)
Zbiór rozmyty B'4 będący wynikiem działania tej reguły możemy zatem opisać za pomocą następującej funkcji przynależności:
juB,Ą(x) = min(//hardzo bardzo wys(lka(x), 0,62) = 0,62 / b2 wysoka. (4.66)
Z kolei dla reguły R5: R5: JEŻELI
DK jest dobre I
WK jest średnio mały I
CA" jest rozsądny TO UK jest wysoka otrzymujemy następującą prawdziwość poprzednika:
r4 = min(0,62, 1, 0,35) = 0,35. (4.67)
W wyniku jej działania możemy określić zbiór B'5 o funkcji przynależności:
/V, U) = mm(juwysokl, (jc), 0,35) = 0,35 / wysoka. (4.6S)
Reguła R13 ma postać: R13: JEŻELI
DA" jest średnie I
WK jest średnio mały I
CK jcsl lani TO UK jest ht.wAy/. Prawdziwość poprzednika wynosi:
T13 = min(0,5, 1, 0,65) = 0,5. (4.69)
Wynik działania reguły za pomocą funkcji przynależności:
VliU(x)= min(/un,vxokJx), 0,5) = Q,5/wysoka. (4.70)
pozwala opisać zbiór /?,',.
Ostatnią z reguł jest reguła R14: R14: JEŻELI
DA" jest średnie I
WK jest średnio mały I
CA" jest rozsądny TO t/A" jest średnio wysoka.
107
Dla tej reguły prawdziwość poprzednika wynosi:
T14 = min(0,5, 1, 0,35) = 0,35. (4.71)
Wynikiem działania reguły jest więc zbiór opisany za pomocą funkcji:
/y„4 ix) = min(// średnill wysoka (x), 0,35) = 0,35 /średnio wysoka. (4.72)
Zauważmy, że B'5 jest podzbiorem B'n więc wynikowy zbiór B' dla kalkulatora Rachmistrz 3 możemy opisać za pomocą funkcji:
/B,(x),^B,U),//fif3(x),//Bf4U)= (4_73)
Użyteczność UK dla tego kalkulatora wynosi więc (rysunek 4.35):
UK = 0,35 / średnio wysoka + 0,5 / wysoka + 0,62 / b2 wysoka. (4.74)
średnio niska
średnio wysoka
wysoka
niska
średnia
0,2
0 0,2 0,4 0,6 0,8 1
Rys. 4.35 Użyteczność kalkulatora Rachmistrz 3.
4.6.1.5. Interpretacja wyników
Spróbujemy teraz zinterpretować wyniki otrzymane przy wykorzystaniu rozmytego systemu ekspertowego. Przypomnijmy, że dla poszczególnych kalkulatorów otrzymaliśmy następujące oceny użyteczności: Rachmistrz 1: UK= ]/wysoka (rysunek 4.28).
Rachmistrz 2: UK = OA/średnio wysoka + 0,6/wysoka (rysunek 4.31). Rachmistrz 3: UK = 0,35/średnio wysoka + 0,5/wysoka + 0,62/b2 wysoka
(rysunek 4.35).
Analizowany przez nas system, na podstawie wartości poszczególnych kryteriów oceny, klasyfikuje kalkulatory do jednej z kilku grup użyteczności (wysoka, średnio wysoka itd.). Zadania klasyfikacji należą bez wątpienia do najczęściej pojawiających się w praktyce problemów decyzyjnych. Do tej grupy zaliczyć można
108
przede wszystkim zadanie wyboru jednego wariantu ze skończonego zbioru wariantów decyzyjnych.
Techniki konwencjonalne zwykle zakładają jednoznaczność przydziału wzorca do klasy. Założenie to często jest jednak nierealistyczne. System nierozmyty w rozważanym przez nas przypadku wybrałby jedną z kategorii użyteczności, do której zaliczyłby badany wyrób. Jeśli spojrzymy na wyniki uzyskane przez poszczególne kalkulatory, to najprawdopodobniej dla każdego z nich byłaby to kategoria wysoka, ponieważ przynależność do niej jest najwyższa we wszystkich trzech przypadkach (użyteczność bardzo bardzo wysoka jest podkategorią wysokiej). Klasyfikator nierozmyty zaliczyłby więc wszystkie badane kalkulatory dokładnie do tej samej klasy.
Metody rozmyte natomiast pokazują, w jaki sposób kształtuje się przynależność do każdej z rozważanych kategorii. Jest to szczególnie przydatne w przypadku występowania źle określonych zależności w postaci częściowo pokrywających się klas. Kalkulator Rachmistrz 2 najprawdopodobniej rzeczywiście należy to kategorii wysoka. Istnieją jednak pewne przesłanki, aby zaliczyć go do kategorii średnio wysoka. Pozwala to na zwiększenie możliwości dyskryminacji (rozróżnienia) między poszczególnymi klasami.
System rozmyty nie decyduje samodzielnie, którą z kategorii wybrać. Pozostawia decyzję w rękach użytkownika, sygnalizując jedynie występujące możliwości. W tym sensie klasyfikator rozmyty raczej wspomaga proces decyzyjny. Jeśli zachodzi taka potrzeba, łatwo możemy na podstawie wyników działania systemu rozmytego przejść do kategorii ostrych, przyjmując prostą regułę decyzyjną: wybierz klasę, do której badany obiekt należy w stopniu najwyższym.
Przyjrzyjmy się teraz dokładniej wynikom działania systemu dla wszystkich kalkulatorów. Spróbujmy uporządkować je według wysokości ocen klientów. Który z badanych towarów jest najlepszy, a który najgorszy? Kalkulator Rachmistrz 1 jest z całą pewnością wyżej oceniany przez klientów niż Rachmistrz 2. Nie jest to już jednak takie oczywiste w przypadku Rachmistrza 3. Aby rozstrzygnąć ten problem, potrzebne nam są dokładniejsze informacje o preferencjach klientów w stosunku do badanych kalkulatorów. Chcielibyśmy otrzymać konkretną wartość użyteczności dla każdego z nich. Potraktowanie naszego problemu jako zadania klasyfikacji jest więc wygodne z punktu widzenia analizy jednego obiektu. Łatwiej jest zinterpretować informację w postaci symbolicznej (tzn. użyteczność kalkulatora jest wysoka lub średnia, a może częściowo wysoka, częściowo średnia), niż otrzymaną w postaci dosyć enigmatycznej liczby z przedziału [0, 1]. Do sporządzenia rankingu, abyśmy mogli porównywać kalkulatory zbliżonej klasie, niezbędne jest jednak wykorzystanie większej ilości informacji.
Zbiory rozmyte oferują nam łatwe przejście od symbolicznej do numerycznej postaci informacji. W punkcie 4.5.3 mówiliśmy o wyostrzaniu wyników. W praktyce zwykle zbiory rozmyte przechowywane są w postaci stablicowanej, co umożliwia stosowanie prostego wzoru na centroid (4.45b), nie wymagającego obliczenia całek. W naszym przypadku, wykorzystując tę zależność, otrzymujemy dokładne wartości obliczonej użyteczności:
10')