O autorze
Jestem profesorem AGH i dodatkowo przez ponad 30 lat byłem profesorem Uniwersytetu Ekonomicznego.

Kieruję utworzonym przeze mnie w 1973 roku Laboratorium Biocybernetyki AGH. Byłem też przez wiele lat kierownikiem Katedry Automatyki i Inżynierii Biomedycznej AGH, którą jednak w 2016 roku przekazałem w ręce jednego z moich dość licznych wychowanków, którzy dziś są już profesorami. Musiałem oddać kierownictwo Katedry ponieważ zaczęła obowiązywać na tym stanowisku kadencyjność. Ale Laboratorium nadal kieruję.

Kilka słów o mojej drodze do tego miejsca, w którym się obecnie znajduję:

Zawsze pasjonowała mnie nauka, więc zostałem naukowcem. A jak stwierdziłem, jaka ta nauka jest fajna, to zacząłem się starać przekonać o tym jak najwięcej ludzi. Przekazuję moją fascynację wiedzą, nauką i techniką moim studentom, w wyniku czego wypromowałem już ponad 300 magistrów i blisko 70 doktorów. Staram się także popularyzować wiedzę na różne sposoby: w książkach, w gazetach, w tygodnikach, w radiu, w telewizji i na odczytach. Zebrało się tego ponad 400 pozycji drukowanych i chyba drugie tyle w formie różnych wystąpień – na żywo i w mediach.

Ponieważ wiedza nieświeża jest równie niesmaczna jak nieświeża kiełbasa – więc staram się zawsze mieć dostęp do wiedzy najświeższej. A ponieważ taką świeżą wiedzę ma się wtedy, gdy się ją samemu wytwarza, więc z zapałem prowadzę badania naukowe. W badaniach tych staram się wykorzystywać moje kwalifikacje inżyniera na potrzeby biologii i medycyny oraz moją wiedzę biologiczną (po doktoracie z automatyki studiowałem na Akademii Medycznej) jako źródło inspiracji dla budowy nowych systemów technicznych. Czasem udaje mi się coś odkryć, a jak już odkryję, to wzorem wszystkich naukowców piszę publikacje. Tak mi to weszło w krew, że napisałem już tych publikacji dosyć dużo, ale jak licznik moich prac w wykazach Biblioteki Głównej AGH przekroczył tysiąc, to przestałem je liczyć.

Opierając się na nie sprawdzonym przekonaniu, że jak ktoś ma osiągnięcia naukowe, to rządzić też potrafi, społeczność mojej uczelni wybrała mnie, żebym pełnił rolę rektora AGH. Potem ten wybór powtórzono jeszcze dwa razy, więc dosyć długo paradowałem w tych królikach udających gronostaje. Potem wybrano mnie na członka Polskiej Akademii Nauk i Polskiej Akademii Umiejętności oraz kilku akademii zagranicznych. W PAN pełniłem funkcję prezesa Krakowskiego Oddziału tej Korporacji.

No a potem zaproszono mnie, żebym pisywał na tym blogu. No to pisuję - najlepiej, jak potrafię!

Jak korzystać w sztucznej inteligencji z nieprecyzyjnych informacji

Prezentuję kolejny obszar sztucznej inteligencji, związany z tak zwanymi zbiorami rozmytymi i z logiką rozmytą. Podobnie jak we wszystkich poprzednich wpisach - korzystam tu z możliwości obrazowej prezentacji rozważanej grupy metod sztucznej inteligencji za pomocą metafory "wyspy". Ta kolejna wyspa, będąca składnikiem proponowanego archipelagu sztucznej inteligencji, jest zamglona. Jej kontury są nieostre, a jej linia brzegowa jest słabo widoczna. Wszystko jest tu nieprecyzyjne, niedokładne, rozmyte... Ale dla tworzenia sztucznej inteligencji na bazie naśladowania intelektu człowieka jest to bardzo użyteczne, bo ludzkie rozumowanie jest często właśnie takie: niedokładne, rozmyte. Na pozór gorsze od matematycznej precyzji wnioskowania prowadzonego przez komputer. A jednak w wielu przypadkach okazuje się, że owo ludzkie rozumowanie - nieprecyzyjne, miękkie i intuicyjne - jest skuteczniejsze od żelaznej logiki komputerowych algorytmów.

Twórcy metod sztucznej inteligencji dostrzegli zalety tej specyficznie ludzkiej umiejętności operowania nieprecyzyjnymi pojęciami i stworzyli narzędzia, które umiejętność tę w jakimś stopniu udostępniły także komputerom. Narzędziami tymi są wymienione w pierwszym zdaniu tego wpisu zbiory rozmyte i logika rozmyta.



Ideę zbiorów rozmytych najłatwiej będzie zrozumieć, gdy wprowadzę ją posługując się przykładem. Wyobraźmy sobie (żartobliwie!), że pewien bank wprowadził następująca zasadę:

Należy udzielać preferencyjnych kredytów studentom.

Taką regułę łatwo jest zaimplementować, bo sprawdzenie, czy ktoś jest studentem sprowadza się do sprawdzenia odpowiedniej legitymacji. Jest studentem - to dostanie kredyt. Nie jest studentem - nie dostanie. Proste!

Kontynuując ten żart można sobie wyobrazić, że inny bank postanowił pójść dalej i wprowadził zasadę:

Należy udzielać preferencyjnych kredytów młodzieży.

Informatycy wprowadzający tę zasadę do systemu obsługi kredytów napotkali jednak na kłopot. Jak komputer ma ustalić, kogo można zaliczyć do młodzieży, a kogo nie?

Z pewnością przynależność do młodzieży związana jest z wiekiem. Ale jak ustalić dokładnie ten moment życia, kiedy człowiek przestaje być dzieckiem i zaczyna zaliczać się do młodzieży? I jak wykryć ten dzień, godzinę, minutę i sekundę, kiedy już do młodzieży przestaje się zaliczać?

Takie i temu podobne pytania (na przykład: kiedy możemy mówić, że jest gorąco? kiedy kogoś można uznać za zamożnego? kiedy możemy powiedzieć, że leci dużo ptaków? itp.) uświadamiają nam, że pojęcia, którymi ludzie posługują się na co dzień, są często nieprecyzyjne. Mimo to, doskonale sobie radzimy z ich używaniem.

My tak, ale komputery - nie.

Dla komputera tylko dokładna reguła jest akceptowalna jako kryterium. Jeśli algorytm mówi, że jakąś czynność można wykonać dla wartości X = 2, to dla wartości X = 2,00000000001 nie będzie ona wykonana.

Ta okoliczność przez wiele lat utrudniała stosowania komputerów w licznych obszarach, w których zachodziła potrzeba podejmowania decyzji. Ludzie w takich okolicznościach posługiwali się nieprecyzyjnymi danymi i ogólnikowymi regułami, a mimo to wyciągali trafne wnioski. Natomiast komputery opierały się na dokładnych danych, analizowały te dane z matematyczną precyzją - i mimo to przedstawiały rozwiązania, których wdrażanie w charakterze decyzji prowadziło do niekorzystnych wyników.

Rozwiązanie zaproponował Lotfi Zadeh, amerykański informatyk pochodzenia azerskiego. Spotykałem go na konferencjach, więc trochę go znam - przemiły człowiek!

Zadeh wprowadził pojęcie funkcji przynależności określonego elementu do określonego zbioru. Ta funkcja zależna jest zawsze od jakiejś wartości liczbowej, decydującej o tej przynależności. W przypadku klasycznych (tradycyjnych) zbiorów funkcja przynależności przyjmuje tylko dwie wartości: 0 gdy element do zbioru nie należy oraz 1 (albo 100%) - jeśli z całą pewnością element do zbioru należy.

Jeśli rozważymy omawiane wyżej pojęcie "student" i założymy (dla uproszczenia), że bycie studentem zależy tylko od liczby punktów uzyskanych podczas rekrutacji, to funkcję przynależności dla zbioru studentów można narysować w taki sposób
Osoby które uzyskały w trakcie rekrutacji więcej punktów od założonego progu - studentami są. Osoby, które otrzymały punktów mniej (albo wcale nie starały się o przyjęcie na studia, co odpowiada zerowej liczbie uzyskanych punktów) - studentami nie są. I nie ma tu żadnych niejasności.

Natomiast jeśli wrócimy do nieostrego pojęcia "młodzież", to niewątpliwie o przynależności do tego zbioru decyduje wiek. Jednak odpowiednią funkcję przynależności można narysować w taki sposób:
Widać, że człowiek stopniowo wchodzi w obszar wiekowy, w którym już nie jest dzieckiem i zaczyna być zaliczany do młodzieży, a potem również stopniowo wychodzi z wieku młodzieńczego w kierunku dojrzałości i docelowo starości. Funkcja przynależności na obu krańcach rozważanego przedziału wieku zmienia się stopniowo, najpierw od 0 do 100%, a potem od 100% do 0. W związku z tym określona osoba może być zaliczana do młodzieży w pewnym stopniu - na przykład w 70% albo tylko w 10%. Daje to pożądaną elastyczność w podejmowaniu decyzji w takich granicznych przypadkach.

Kształt funkcji przynależności dla zbiorów rozmytych jest zwykle przyjmowany arbitralnie - na przykład w formie trójkąta, jak na rysunku poniżej pokazującym rozmyty zbiór "pracownicy średnio zarabiający":
albo trapezu (jak na rysunku pokazującym kształt funkcji przynależności dla zbioru "młodzież"). Oczywiście użytkownik systemu wykorzystującego zbiory rozmyte musi określić dokładny kształt charakterystyki, punkty jej załamań itp., ale jest to łatwiejsze, niż formowanie całej funkcji przynależności w formie jakichś skomplikowanych krzywoliniowych przejść między 0 a 100% i odwrotnie.

Osoby stykające się z teorią zbiorów rozmytych po raz pierwszy bardzo często są skłonne kojarzyć funkcję przynależności z rozkładem prawdopodobieństwa. Łatwo o taką pomyłkę, bo prawdopodobieństwo też wyrażane jest liczbą od 0 do 1 (lub do 100%).

Jednak pomiędzy nieostrym zdefiniowaniem jakiegoś faktu i jego niepewnym wystąpieniem jest zasadnicza różnica. Niepewność, dająca się mierzyć prawdopodobieństwem, jest miarą naszej niewiedzy, jaki fakt zajdzie. Mogę być niepewny, czy wygram do Totolotka i mogę oceniać prawdopodobieństwo sukcesu, ale w samym fakcie wygrania lub przegrania żadnej nieostrości nie ma. Gdy zostanie przeprowadzone losowanie to będzie miał miejsce konkretny fakt - albo wygram, albo nie. Ten fakt nie jest niepewny w żadnym sensie. Wygram, albo przegram. Nie można wygrać w jakimś stopniu, podobnie jak nie można być tak trochę w ciąży.

Natomiast z nieostrym zdefiniowaniem jakiegoś faktu możemy mieć do czynienia w innych okolicznościach, na przykład przy ubieganiu się o pracę. Przedstawiając potencjalnemu pracodawcy swoją kandydaturę mogę mieć świadomość, że udało mi się spełnić jego oczekiwania jedynie w pewnym stopniu. Nie w 100%, ale też nie w stopniu całkowicie zerowym. Nie ma w tym żadnej losowości dającej się oceniać za pomocą prawdopodobieństwa. Spełniam kryteria na przykład w 70% - i to jest fakt absolutnie pewny. Natomiast w sensie informacji: "nadaję się, albo nie" - jest to informacja rozmyta, bo w istocie nadaję się w pewnym stopniu, a nie w 100%.

Oczywiście jest w tym także element przypadkowości, bo jako zdarzenie losowe mogę traktować to, co zdecyduje pracodawca. Albo mi to stanowisko powierzy, albo nie - i zależeć to może od losowych uwarunkowań, na przykład od tego, jacy się zgłoszą konkurenci. Ale losowość wyniku końcowego nie zmieni faktu, że niezależnie od tego, czy ten angaż dostanę, czy nie - mój rozmyty stopień spełniania kryteriów wynosi zawsze 70%.

Jaki to ma konsekwencje?

Otóż wiadomość na temat rozmycia inaczej rzutuje na proces podejmowania decyzji, niż wiadomość na temat losowości. Wyobraźmy sobie, że ktoś nam podaje filiżankę kawy z informacją, iż jest 1% prawdopodobieństwa, że ta kawa została zatruta.
Oznacza to, że w 99 przypadkach na 100 wypijemy kawę i będziemy jedynie cieszyć się jej smakiem, ale mamy szansę 1:100, że będzie to ostatnia kawa w naszym życiu. Sądzę, że większość Czytelników by się takiej kawy wyrzekło.

Natomiast można otrzymać wraz z kawą informację rozmytą: kawa jest zatruta w stopniu odpowiadającym około 1% dawki śmiertelnej. Tu nie ma losowości, to jest fakt pewny - chociaż nieprecyzyjny.

Wtedy wielu Czytelników mogłoby przeprowadzić takie rozumowanie:
Tak słabo zatruta kawa chyba mi nie zaszkodzi. W końcu co chwilę słyszę, że dodatki do wędlin są szkodliwe, że używanie cukru jest szkodliwe, że powinienem wyrzec się alkoholu - a ja sobie pozwalam na różne rzeczy, i jednak żyję. A ponadto nie wiadomo dokładnie ile tej trucizny jest - może znacznie mniej niż 1%? Zaryzykuję, bo ta kawa bardzo mnie kusi!

Jak widać, niepewność rozumiana jako stopień prawdopodobieństwa i niepewność wyrażana stopniem rozmycia są czymś odmiennym i mają odmienny wpływ na nasze działania. I świetnie, że dzięki zbiorom rozmytym mamy możliwość uwzględnić te oba rodzaje niepewności w systemach komputerowych (które z rachunku prawdopodobieństwa korzystały "od zawsze"), bo dzięki temu systemy te mogą lepiej odwzorowywać skomplikowaną rzeczywistość, w której nic nigdy nie jest do końca pewne, a każda obserwacja, pomiar lub opinia może być niedokładna lub nieostra.

Użycie zbiorów rozmytych w sztucznej inteligencji jest dodatkowo korzystne dzięki temu, że opracowano dla nich specjalne reguły tak zwanej logiki rozmytej. W zwykłej logice używa się podstawowo trzech operatorów: negacji, alternatywy i koniunkcji. Operują one na wartościach logicznych prawda i fałsz, zapisywanych zwykle matematycznie jako 1 albo 0, co można traktować jako wartości funkcji przynależności do zbioru stwierdzeń prawdziwych.

Wprowadzenie zbiorów rozmytych pozwala pewne stwierdzenia traktować jako nie całkiem prawdziwe albo częściowo fałszywe - co zbliża te modele rozumowania do sytuacji rzeczywistych, w których często o prawdziwości lub fałszywości pewnych stwierdzeń można mówić jedynie w przybliżeniu. Świat nie jest czarno-biały!

Operatorem odpowiadającym negacji jakiegoś stwierdzenia jest w logice rozmytej branie funkcji przynależności obliczanej jako 100% minus wartość funkcji przynależności negowanego stwierdzenia. Popatrzmy na rysunek poniżej: Pokazano na nim (u góry) funkcję przynależności dla rozmytego zbioru odpowiadającego pojęciu "młody", oraz u dołu negację tej funkcji przynależności, wyznaczającą rozmyty zbiór "NIE młody".
Innym operatorem logicznym używanym w tradycyjnej logice jest alternatywa. Operator ten powoduje, że zdanie złożone "A lub B" jest (jako całość) prawdziwe, jeśli przynajmniej jedno ze stwierdzeń składowych A lub B jest prawdziwe. Korzystając z alternatywy, można stosunkowo łatwo osiągnąć prawdziwość wyniku końcowego, bo tyko sytuacja, gdy A i B są równocześnie fałszywe daje w efekcie fałsz całości.

Jeśli A i B są zbiorami rozmytymi, to odpowiednikiem alternatywy jest tak zwana s-norma, której najprostsza realizacja polega na braniu pod uwagę większej z tych dwóch składowych funkcji przynależności. Ilustruje to rysunek:
Łatwo się przekonać, że dla zbiorów o ostro zarysowanych granicach (nie rozmytych) podana reguła jest identyczna z odpowiednią regułą logiki klasycznej .

Ostatnią funkcja logiczną, do której się tu odwołamy, jest koniunkcja. W tradycyjnej logice koniunkcję buduje się używając spójnika "i", na przykład "A i B". Koniunkcja jest bardzo wymagająca: na to, żeby całe zdanie było prawdziwe konieczne jest, żeby prawdziwe były zarówno A jak i B. Muszą być prawdziwe razem, co powoduje, że koniunkcja bardzo często rozstrzyga negatywnie o prawdziwości zdania złożonego.

Odpowiednikiem koniunkcji w logice rozmytej jest tzw. t-norma, której najprostszą formą jest minimum. Do zdania złożonego "A i B", gdzie A i B są zbiorami rozmytymi, przypisujemy w każdym punkcie mniejszą z dwóch wartości funkcji przynależności odpowiednio dla zbiorów A i B. Ilustruje to rysunek:
Połączenie zbiorów rozmytych i logiki rozmytej daje bardzo użyteczne narzędzie sztucznej inteligencji, znajdujące obecnie bardzo liczne zastosowania.
Trwa ładowanie komentarzy...