O logikach rozmytych

Koncepcja umożliwiająca wprowadzenie do programów aplikacyjnych nieprecyzyjnego charakteru ludzkiego myslenia

Koncepcja umożliwiająca wprowadzenie do programów aplikacyjnych nieprecyzyjnego charakteru ludzkiego myslenia

Rozmyte wnioskowanie nie wygląda na coś, do czego powinni dążyć ludzie zajmujący się systemami informacyjnymi. Wszak w księgarniach i bibliotekach jest pełno narzędzi pomagających nam myśleć jaśniej, prościej i obiektywniej. Życie zawodowe spędzamy na próbach podniesienia naszych programów aplikacyjnych na wyższy poziom boolowskiej precyzji.

Mimo to rozmyte, czyli nieprecyzyjne wnioskowanie - metoda oparta na pewnej dziedzinie matematyki zwanej logikami rozmytymi - może stanowić panaceum na niepokoje związane z rozwojem programów aplikacyjnych. Wprowadzenie logik rozmytych do istniejących lub nowo tworzonych programów aplikacyjnych, które wspomagają podejmowanie decyzji o krytycznym znaczeniu, pozwala w efekcie na ich szybszy rozwój. Ponadto logiki rozmyte umożliwiają zastosowanie systemów informacyjnych do nowej klasy problemów, o których wcześniej uważano, że nie nadają się do automatyzacji ze względu na nieprecyzyjne parametry.

Wśród szczególnie dobrych kandydatów do zastosowania logik rozmytych są programy oceniające wysokość ryzyka ubezpieczenia i ryzyka finansowego. Zawierają one bowiem wiele zmiennych i zaproponowanych przez ekspertów reguł podejmowania decyzji. Dzięki logikom rozmytym system informacyjny może na przykład pozwolić użytkownikom na pytanie się o „wysokie" lub „niskie" ryzyko ubezpieczenia, bez potrzeby dostarczania komputerowi nadmiernej liczby zdań warunkowych.

Wnioskowanie rozmyte stwarza dziś możliwość wprowadzenia do oprogramowania komputerowego logiki bliższej sposobowi myślenia ludzi i ekspertów.

Ponieważ logiki rozmyte można stosować na maszynach ogólnego przeznaczenia, przygotowanie do tej metody nie wymaga poważnych zmian systemowych. Potrzebne zmiany muszą raczej zajść w sposobie pamiętania informacji w systemach informacyjnych. Musimy zweryfikować niektóre podstawowe kanony tworzenia programów aplikacyjnych.

Zawsze myśleliśmy, że komputer zaprojektowano do tego, by podejmował decyzje oparte na określonych wartościach. Jeśli A jest większe lub równe pięć, to wykonaj B". By móc budować efektywne systemy informacyjne, ludzie musieli nauczyć się myśleć tak jak komputery. '

Jednak w życiu, w tym także w biznesie, większość decyzji nie opiera się na „ostro określonych", czyli absolutnych, wartościach. Decyzje opierają się raczej na nieprecyzyjnej informacji, co w efekcie ogranicza stopień, w jakim można je przetwarzać automatycznie. Niedokładne określenia, takie jak „wysoki", „niski", „kilka", „wiele",nie znalazły jak dotąd miejsca w systemach informacyjnych -komputer nie potrafił zrozumieć tych pojęć.

Logiki rozmyte, opisane po raz pierwszy w roku 1963 przez Lotfi A. Zadeha, profesora z kalifornijskiego uniwersytetu w Berkeley, są w stanie wszystko to zmienić, pozwalając komputerom na myślenie w sposób taki, jak robimy to my. Umożliwią one komputerom ogólnego przeznaczenia przetwarzanie nieprecyzyjnych danych za pomocą nowych języków, bardziej zbliżonych do języka naturalnego.

Spojrzenie na teorię zbiorów rozmytych

Ponieważ logiki rozmyte to koncepcja ostatnich lat, zrozumienie ich możliwości wymaga pewnego wprowadzenia do teorii zbiorów rozmytych - zbiorów, do których element może należeć tylko częściowo (patrz historyjka powyżej).

Rozważmy na przykład pojęcie wysokich Amerykanów. Jakie wartości zmiennej „wzrost" powinno się uznać za wysokie? Klasyczna matematyczna teoria zbiorów wymagałaby tu funkcji przynależności. Innymi słowy, trzeba by po prostu stwierdzić, że każdy mający powyżej 190 cm wzrostu jest wysoki.

Jednak w życiu zakres wzrostu uważanego za wysoki nie jest dobrze określony. Choć większość z nas uważa każdego mającego powyżej 210 cm wzrostu za wysokiego, a kogoś poniżej 150 cm za niskiego, co z ludźmi, którzy mają 170 cm, 185 cm albo 195 cm wzrostu? Nasza skłonność do uznania, że ktoś jest wysoki, rośnie wraz ze zwiększaniem się wzrostu.

Dlatego właśnie możemy stwierdzić, że wysoki nie jest pojęciem „ostrym" czy ściśle określonym. Takie pojęcie własności, jak „wysoki" jest w istocie zbiorem rozmytym.

Poziom lub stopień przynależności do zbioru rozmytego zaznacza się na wykresie pomiędzy wartościami 0 i 1. W naszym przykładzie z wysokością wartość 0 mogłaby reprezentować osobę skrajnie niską, a 1 skrajnie wysoką.

Odwzorowanie wartości skalarnej na oś poziomą zbioru wysokości (zob. wykres A powyżej) daje nam „prawdziwość" lub „wartość wskaźnika zgodności", czyli liczbę między 0 a 1 pokazującą stopień, w jakim obiekt jest częścią zbioru rozmytego.

Patrząc na wykres, możemy zobaczyć, że osoba, która ma 120 cm wzrostu, nie jest wysoka, ponieważ stopień przynależności, czyli prawdziwości, wynosi na tej skali 0.

Ktoś, kto ma 160 cm wzrostu, jest umiarkowanie wysoki ze stopniem zgodności wynoszącym 0.23, a ktoś, kto ma 180 cm wzrostu, jest wysoki w większym stopniu ze zgodnością wynoszącą 0.70. Każdy powyżej 195 cm jest bezwzględnie wysoki.

Kształt zbioru rozmytego określa jego charakterystykę przynależności. Weźmy na przykład pojęcie średniego wieku. Pojęcie to można określić jako: WIEK OKOŁO 40 LAT.

W ostro określonym zbiorze definicja wieku średniego obejmowałaby ludzi w wieku ponad 30 lat i poniżej 50 lat włącznie.

Zbiór rozmyty natomiast oferuje nam lepszą metodę opisu średniego wieku reprezentując ten obszar jako symetryczną krzywą w kształcie dzwonu (zob. wykres B).

Gdy zmienną „wiek" odwzoro-wuje się na zbiór rozmyty „wiek średni", jej przynależność do tego zbioru zwiększa się, gdy wiek zbliża się do 40 lat, co jest wielkością w pełni należącą do tego zbioru.

Gdy wiek wzrasta powyżej 40 lat, przynależność stopniowo spada do zera, wskazując, że choć jednostkę można nadal uważać za osobę w wieku średnim, przechodzi już ona do innego zbioru rozmytego, takiego jak człowiek w starszym wieku lub człowiek zasłużony.

Logiki rozmyte pozwalają także brać pod uwagę nasz osobisty punkt widzenia. Okazuje się na przykład, że w wypadku większości ludzi ocena tego, czy ktoś jest „stary" zależy od wieku oceniającego. Dla człowieka 30-letniego, 30 lat to niedużo i przy odwzorowaniu daje on tej liczbie 0.25 prawdziwości. Z tej samej perspektywy osoba 45-letnia jest stara z prawdziwością około 0,55-

Własna semantyka

Gdy zbiory rozmyte, takie jak wysoki i stary, umieszczone są w strukturze zdania, nazywamy je wówczas zmiennymi lingwistycznymi. Możemy ich użyć na przykład do zapytań skierowanych do baz danych z żądaniem znalezienia ludzi, którzy są zarówno wysocy, jak i starzy. Na przykład jednym z takich zapytań m łoby być: WYBIERZ PRACOWNIKÓW, KTÓRZY POD WZGLĘDEM WZROSTU SĄ WYSOCY A POD WZGLĘDEM WIEKU - STARZY.

Do modyfikowania zmiennych lingwistycznych używa się tzw. obwarowań. Obwarowaniami są słowa używane do modyfikacji kształtu powierzchni zbioru rozmytego. Mogą one przyzbliżać, wzmacniać, osłabiać i odwracać i profil przynależności. Obwarowań przybliżających, takich jak „około", „powyżej" i „w zaokrągleniu" używa się do przekształcania ściśle określonych zbiorów w zbiory rozmyte. Obwarowania intensyfikujące, takie jak „bardzo", i osłabiające, takie jak „raczej") przesuwają wartości zbioru roz-„mytego w lewą lub prawą stronę jego powierzchni. Obwarowania odwracające, takie jak „nie", zmieniają wartości zbioru rozmytego odwracając kształt krzywej.

Tak więc zmienna lingwistyczna zmodyfikowana obwarowaniem mogłaby wyglądać następująco: WYBIERZ PRACOWNIKÓW, KTÓRZY POD WZGLĘDEM WZROSTU SĄ RACZEJ WYSOCY A POD WZGLĘDEM WIEKU - NIE STARZY.

Logiki rozmyte używają tych odmian zbiorów rozmytych w zapytaniach w języku naturalnym, regułach i procedurach, które mają istotne znaczenie przy tworzeniu systemów informacyjnych.

Logiki rozmyte w systemach informacyjnych

Dzięki logikom rozmytym w systemach informacyjnych można teraz zautomatyzować całkowicie nowe dziedziny komputerowych zastosowań, takie jak: • Odzyskiwanie informacji. Wyobraźmy sobie, o ile prostsze mogłoby być odzyskiwanie informacji, gdyby system informacyjny, szukając na zlecenie kierownictwa potencjalnych kandydatów do kooperacji, zamiast używać faktycznych wartości liczbowych, mógł użyć zdania w postaci: WYBIERZ WSZYSTKIE INSTYTUCJE, KTÓRYCH DOCHODY GWAŁTOWNIE ROSNĄ, A STOSUNEK ZYSKU DO ZAROBKU JEST BARDZO NISKI (patrz historyjka poniżej).

Nie tylko użytkownikom łatwiej jest myśleć tymi kategoriami. Również możliwość wyszukania rekordów przy użyciu takich kryteriów pojawia się dopiero dzięki technice rozmytego wnioskowania.

• Tworzenie systemów ekspertowych. Powszechnym sposobem budowania systemów ekspertowych jest życzenie sobie, by fachowiec zajmujący się inżynierią wiedzy wspomagany przez eksperta zapisał „reguły" reprezentujące proces myślenia tegoż eksperta. Ale eksperci są ludźmi i, podobnie jak inni ludzie, nie rozumują w kategoriach sztywnych wartości, lecz w kategoriach wartości ze świata rzeczywistego.

Logiki rozmyte mogą umożliwić ekspertowi od spraw medycznych tak oto określić swą regułę, która ma być stosowana w programie aplikacyjnym: JEŚLI PACJENT JEST BARDZO STARY, NIE ZALECAJ MU WYTĘŻONYCH ĆWICZEŃ. Takie nieprecyzyjnie określone reguły jest bardzo trudno wprowadzić do większości współczesnych systemów ekspertowych, a czasem nie można ich wprowadzić w ogóle. • Pielęgnowanie i rozwijanie programów. Powodem ponad połowy poprawek w programach aplikacyjnych przeznaczonych dla ludzi biznesu są dziś zmieniające się warunki w instytucjach, w których oni pracują. Pielęgnacja programu często polega na zmianie aktualnych wartości i tablic.

Zmniejszając liczbę reguł w programie aplikacyjnym i wydzielając zmienne rządzące tymi regułami, logiki rozmyte mogą zredukować nakłady związane zarówno z pielęgnacją programu, jak i jego inicjowaniem.

Pozwalając komputerom myśleć w sposób bliższy człowiekowi, stwarzamy możliwość całkowicie nowych zastosowań systemów informacyjnych (zob. historyjki poniżej i na stronie 14). Gdy w języku rozumianym przez komputer będziemy potrafili wyrazić rzeczywistą nieprecyzyjność, zwiększą się wówczas nasze możliwości tworzenia i pielęgnowania programów aplikacyjnych lepiej dostosowanych i o znacznie większych możliwościach.

Słowa i terminy

Wnioskowanie przybliżone:

Wnioskowanie, w którym używa się zbiorów rozmytych i obwarowań.

Zbiór ściśle określony: Zbiór w pojęciu matematycznym z wyraźnie określonymi punktami granicznymi (np. 180 cm to WYSOKI ale 179,5 cm to NIE-WYSOKI); tradycyjna definicja zbioru w logice klasycznej.

Logika rozmyta: Uogólnienie matematycznego pojęcia przynależności do zbioru, w którym w odróżnieniu od tradycyjnej logiki boo-lowskiej wymagającej odpowiedzi typu tak/nie (zob. zbiór ściśle określony) element może tylko częściowo należeć do zbioru.

Zbiór rozmyty: Pojęciowa reprezentacja zbioru, która dopuszcza różne stopnie przynależności elementu do zbioru.

Obwarowania: Język transformacyjny, który modyfikuje zbioru rozmytego przez intensyfikację („bardzo"), osłabienie („nieco") lub odwrócenie („nie") profilu przynależności.

Zmienne lingwistyczne: Pojęcia semantyczne (takie jak „wysoki" lub „niski"), które odnoszą się do zbioru rozmytego.

Przynależność do zbioru rozmytego: Wartość między 0 a 1, która wskazuje poziom przynależności elementu do zbioru. Na poziomie 0 element nie należy do zbioru, na poziomie 1 należy do niego w pełni.

Poszukuje się łatwego sposobu odzyskiwania danych

Oprogramowanie rozmyte pozwala użytkownikom wybierać dane za pomocą nieprecyzyjnych określeń.

Logik rozmytych można użyć do zbudowania programów, w których nie możemy określić dokładnej charakterystyki wyszukiwanych danych. Dobrym tego przykładem jest wybór rekordów z hipotetycznego systemu obsługującego kartotekę kryminalną -Komunalnego Systemu Identyfikacji Przestępców (KSIP). Dzięki oprogramowaniu opartemu na logice rozmytej użytkownicy tego systemu i jego bazy danych mogą, posługując się kategoriami ogólnymi, opisywać osoby podejrzane i uzyskiwać listę potencjalnych podejrzanych.

KSIP utrzymuje bazę aktualnych opisów fizycznych cech przestępców poszukiwanych w danym rejonie. Dla naszych celów przyjrzymy się tylko kilku cechom -wiekowi, wzrostowi i wadze (czyli zbiorom rozmytym „stary", „wysoki" i „ciężki").

Lista poszukiwanych osób wygląda następująco:

Załóżmy, że w nocy 1 czerwca 18-letnia Susan Elliot zostaje zaatakowana i obrabowana podczas powrotu z wieczornych lekcji w lokalnej szkole. Złodzieja widzi jedynie przez chwilę.

W komisariacie Susan opowiada osobie obsługującej system KSIP to, co zapamiętała; mówi, że napastnik był starszym mężczyzną, raczej wysokim i raczej szczupłym.

Na podstawie opisu podanego przez Susan operator systemu KSIP wprowadza do komputera przybliżony opis, uwzględniając jego nieprecyzyjny charakter i punkt widzenia Susan: WYBIERZ Z BAZY DANYCH NAZWISKA I CYFROWE PORTRETY TYCH OSÓB, KTÓRYCH WZROST JEST UMIARKOWANIE DUŻY, WAGA NIEZBYT DUŻA I KTÓRE POD WZGLĘDEM WIEKU, Z PUNKTU WIDZENIA OSOBY MŁODEJ, SĄ STARE.

System KSIP przeszukuje listę podejrzanych stosując do każdej kombinacji atrybutów poziomy przynależności do zbioru rozmytego. Z listy tej wyłącza się te złożone oceny, które wypadają poniżej krytycznego poziomu prawdziwości.

Komputer produkuje nową listę złożoną z Williamsa (0,87 prawdziwości), Lee (0,55), Tosco (0,92) i Nguyena (0,42).

Tymczasem w komisariacie Susan czeka, aż operator systemu KSIP wyświetli na ekranie cyfrowy obraz Tosco, który ma największy poziom przynależności.

Oficer: Proszę spojrzeć na tego podejrzanego.

Susan (rozlewając kawę): Mój Boże!

Oficer: To ten człowiek? Susan: Me, to mój wujek Hurry! Oficer: W porządku, spójrzmy na następnego najbardziej prawdopodobnego kandydata. Co pani o nim sądzi? Susan (studiując portret Williamsa): Tak, to on.

W ten sposób logika rozmyta dostarcza bogatego narzędzia do komunikacji pozwalającego nam wyspecyfikować wiele ogólnych, niekonkretnych danych w słowniku naszego programu aplikacyjnego.

W codziennych programach aplikacyjnych przeznaczonych dla biznesu zastosowanie zbiorów rozmytych będzie miało poważne następstwa. Pozwolą one bowiem na formułowanie problemów, wybór informacji i tworzenie modeli pojęciowych przy użyciu żywego języka naturalnego.


TOP 200