Sztuczna inteligencja/SI Moduł 4 - Wnioskowanie na podstawie wiedzy niepewnej i niepełnej

From Studia Informatyczne


Spis treści

Niedoskonała wiedza we wnioskowaniu

Metody wnioskowania w logice predykatów są - pod warunkiem korzystania z poprawnego systemu wnioskowania - niezawodne jeśli chodzi o prawdziwość wyciąganych wniosków. Oparte są one jednak na koniecznym założeniu, że stwierdzenia zawarte w początkowej bazie wiedzy i uznawane za prawdziwe są rzeczywiście prawdziwe. Pod warunkiem ich prawdziwości prawdziwe są także stwierdzenia wyprowadzane w wyniku wnioskowania. Założenie to może często nie być spełnione w odniesieniu do wiedzy, którą posiada człowiek - a przecież od niego musi pochodzić początkowa zawartość bazy wiedzy. Wiedza pochodząca od człowieka może być niedoskonała. Stosując do takiej wiedzy metody zakładające doskonałą wiedzę jesteśmy narażeni na uzyskiwanie wniosków, które nie muszą być prawdziwe i o których prawdziwości nie potrafimy nic powiedzieć. Celowe jest w związku z tym wyposażanie systemów wnioskujących na podstawie niedoskonałej wiedzy w specjalne mechanizmy jej przetwarzania, dzięki którym będzie możliwe charakteryzowanie rodzaju i stopnia niedoskonałości wiedzy pochodzącej od człowieka, a także nowej wiedzy wyprowadzonej na jej podstawie przez system wnioskujący.

Rodzaje niedoskonałości wiedzy

Wnikając głębiej w naturę niedoskonałości ludzkiej wiedzy można wskazać przynajmniej jej trzy podstawowe rodzaje:

niepewność: prawdziwość niektórych stwierdzeń nie jest pewna,
niepełność: niektóre prawdziwe stwierdzenia nie są znane, lecz nie można z tego powodu zakładać ich nieprawdziwości,
niedokładność: przynależność do niektórych relacji, odpowiadających predykatom występującym w stwierdzeniach, nie jest znana dokładnie.

W przypadku wiedzy niepewnej mamy do czynienia ze stwierdzeniami , o których w ogólnym przypadku nie można powiedzieć z pewnością, że są prawdziwe albo fałszywe. Potrzebne są w tym celu jakieś metody charakteryzowania stopnia przekonania o prawdziwości stwierdzeń - zarówno należących do początkowej bazy wiedzy, jak i uzyskiwanych w wyniku głosowania. Niepełność wiedzy oznacza, że status prawdziwości pewnych stwierdzeń potrzebnych do wnioskowania nie jest znany. Może to wymagać założenia ich prawdziwości w celu przeprowadzenia wnioskowania, lecz z pozostawieniem możliwości rewizji tego wnioskowania, gdyby następnie pojawiła się wiedza zaprzeczająca temu założeniu. Niedokładność polega na niemożliwości precyzyjnego odróżnienia w dziedzinie, na temat której zapisujemy wiedzę, obiektów należących do pewnej relacji od obiektów do niej nienależących.

Metody przetwarzania niedoskonałej wiedzy

Istnieje wiele technik przetwarzania wiedzy obarczonej różnymi rodzajami niedoskonałości w taki sposób, aby prowadzone na jej podstawie wnioskowanie prowadziło do wniosków, których „jakość” można w pewien sposób scharakteryzować, czyli odpowiedzieć na pytanie, jak bardzo doskonałe bądź niedoskonałe wnioski można wyciągnąć na podstawie niedoskonałej wiedzy. Do najbardziej znanych metod należą:

wnioskowanie probabilistyczne: metoda przetwarzania wiedzy niepewnej oparta na bezpośrednim wykorzystaniu rachunku prawdopodobieństwa, w której poszczególnym stwierdzeniom przypisuje się prawdopodobieństwo ich prawdziwości,
stopnie pewności: metoda przetwarzania wiedzy niepewnej, w której poszczególnym stwierdzeniom przypisuje się liczbowe stopnie pewności wyrażające subiektywne przekonanie człowieka o ich prawdziwości,
teoria Dempstera-Schaffera: metoda przetwarzania wiedzy niepewnej, w której prawdopodobieństwa prawdziwości przypisuje się tylko wybranym stwierdzeniom bazowym, a ocenę wiarygodności innych stwierdzeń przeprowadza się na podstawie ich związków ze stwierdzeniami bazowymi,
Logika rozmyta: metoda przetwarzania wiedzy niedokładnej, w której rozważa się „częściową” przynależność do relacji,
Logiki niemonotoniczne: metody przetwarzania wiedzy niepełnej, w których dopuszcza się, że pojawienie się nowych stwierdzeń może anulować wyprowadzenie wcześniejszych formuł.

W dalszym ciągu skupimy się na dwóch podejściach: wnioskowaniu probabilistycznym i logice rozmytej.

Wnioskowanie bayesowskie

Wnioskowanie probabilistyczne nazywamy także wnioskowaniem bayesowskim, ze względu na kluczową rolę, jaką w nim pełni wzór Bayesa - jeden z klasycznych wyników rachunku prawdopodobieństwa. Dla dowolnych dwóch zdarzeń A \, i B \, wzór opisuje następującą zależność prawdopodobieństw warunkowych:

\mathrm{Pr}(A|B) = \frac{\mathrm{Pr}(A)\mathrm{Pr}(B|A)} {\mathrm{Pr}(B)}  \, (1)

Zobaczymy, jak w najbardziej bezpośredni sposób można zależność taką wykorzystać do wnioskowania.

Uprawdopodobnianie hipotez przez fakty

Przyjmijmy, że wśród stwierdzeń, jakie są przetwarzane przy wnioskowaniu, wyróżnimi dwie kategorie:

fakty: stwierdzenia dotyczące dziedziny, których prawdziwość jest znana,
hipotezy: stwierdzenia o nieznanym prawdopodobieństwie prawdziwości.

Interesuje nas wnioskowanie o prawdziwości możliwych hipotez przy założeniu prawdziwości pewnego zestawu faktów. Aby zademonstrować, jak to jest możliwe, zapiszmy wzór Bayesa ze zmienionymi oznaczeniami:

\mathrm{Pr}(h|F) = \frac{\mathrm{Pr}(h)\mathrm{Pr}(F|h)} {\mathrm{Pr}(F)}  \, (2)

gdzie h \, oznacza pewną hipotezę a F \, pewien zbiór faktów. Tak interpretowany wzór Bayesa mówi, w jaki sposób na prawdopodobieństwo rozważanej hipotezy wpływa znajomość faktów. Zwróćmy szczególną uwagę na dwa występujące w nim prawdopodobieństwa dotyczące hipotezy:

\mathrm{Pr}(h) \,: prawdopodobieństwo a priori hipotezy h \, (bez znajomości lub uwzględniania żadnych faktów),
\mathrm{Pr}(h|F) \,: prawdopodobieństwo a posteriori hipotezy h \, po uwzględnieniu faktów F \,.

Możemy powiedzieć, że wzór Bayesa, podając przepis na wyznaczenie prawdopodobieństwa a posteriori, określa wpływ faktów na uprawdopodobnienie (albo unieprawdopodobnienie) hipotezy. Bezpośrednie zastosowanie w przedstawiony sposób wzoru Bayesa można traktować jako elementarny krok wnioskowania bayesowskiego, który jest w pewnym sensie odpowiednikiem zastosowania reguły wnioskowania w logice.

Zauważmy, że prawdopodobieństwo występujące w mianowniku ułamka nie zależy od rozważanej hipotezy. Wynika z tego, że gdyby interesowało nas wyłącznie wybranie hipotezy najbardziej prawdopodobnej z pewnego zestawu, wystarczy ograniczyć się do obliczenia licznika ułamka. Aby poznać dokładne, bezwzględne wartości prawdopodobieństw a posteriori poszczególnych hipotez, należy wziąć pod uwagę sytuację, w której mamy skończoną liczbę możliwych hipotez h_1,h_2,\dots,h_n \, wykluczających się parami i wyczerpujących wszystkie możliwości (czyli takich, że dokładnie jedna z nich jest prawdziwa). Wówczas:

\mathrm{Pr}(F) = \mathrm{Pr}(h_1)\mathrm{Pr}(F|h_1)+\dots+ \mathrm{Pr}(h_n)\mathrm{Pr}(F|h_n)  \, (3)

czyli:

\mathrm{Pr}(h_i|F) = \frac{\mathrm{Pr}(h_j)\mathrm{Pr}(F|h_i)} {\sum_{j=1}^n\mathrm{Pr}(h_j)\mathrm{Pr}(F|h_j)}  \, (4)

Oczywiście dla takich hipotez mamy:

\sum_{i=1}^n \mathrm{Pr}(h_i|F) = 1  \, (5)

W szczególności biorąc pod uwagę dwie wykluczające się hipotezy h \, i \neg h \, dostajemy w ten sposób:

\mathrm{Pr}(h|F) = \, \frac{\mathrm{Pr}(h)\mathrm{Pr}(F|h)} {\mathrm{Pr}(h)\mathrm{Pr}(F|h)+ \mathrm{Pr}(\neg h)\mathrm{Pr}(F|\neg h)} \, (6)
\mathrm{Pr}(\neg h|F) = \, \frac{\mathrm{Pr}(\neg h)\mathrm{Pr}(F|\neg h)} {\mathrm{Pr}(h)\mathrm{Pr}(F|h)+ \mathrm{Pr}(\neg h)\mathrm{Pr}(F|\neg h)} \, (7)

Uwzględnianie pojedynczych faktów

Dotychczas pokazaliśmy, jak można wyznaczyć prawdopodobieństwo a posteriori hipotezy h \, na podstawie zbioru znanych faktów F \,, pod warunkiem znajomości prawdopodobieństwa a priori \mathrm{Pr}(h) \, i prawdopodobieństwa faktów przy założeniu prawdziwości hipotezy \mathrm{Pr}(F|h) \,. Koniecznośc ustalenia prawdopodobieństwa a priori jest naturalną właściwością wnioskowania bayesowskiego - za pomocą tego prawdopodobieństwa wyrażamy aprioryczne przekonanie o prawdziwości hipotezy, bez uwzględniania jakichkolwiek faktów. Bardziej problematyczne jest określanie prawdopodobieństwa \mathrm{Pr}(F|h) \,, gdyż F \, może oznaczać dowolny zbiór znanych faktów. Jeśli mamy ustalony pewien zbiór \mathbb{F} \, wszystkich możliwych faktów, które mogą być uwzględniane przy wnioskowaniu, to F \, może być jego dowolnym podzbiorem. Bezpośrednie przypisanie każdemu podzbiorowi prawdopodobieństwa na ogół przekraczałoby możliwości eksperta czy użytkownika systemu wnioskującego.

Szczęśliwie przy pewnych założeniach można uniknąc konieczności określania \mathrm{Pr}(F|h) \, dla dowolnego F\subseteq\mathbb{F} \,, opierając się wyłącznie na prawdopodobieństwach dla pojedynczych faktów \mathrm{Pr}(f|h) \,, gdzie f\in\mathbb{F} \,. Dla dowolnego faktu f_1 \, możemy stosując wzór Bayesa uzyskać:

\mathrm{Pr}(h|f_1) = \frac{\mathrm{Pr}(h)\mathrm{Pr}(f_1|h)} {\mathrm{Pr}(f_1)}  \, (8)

Jeśli teraz dokładając kolejny znany fakt f_2 \, rozważymy dwuelementowy zbiór faktów \{f_1,f_2\} \,, otrzymujemy:

\mathrm{Pr}(h|f_1\land f_2) = \, \frac{\mathrm{Pr}(h|f_1)\mathrm{Pr}(f_2|f_1\land h)} {\mathrm{Pr}(f_2|f_1)}  \,  
= \, \frac{\mathrm{Pr}(h)\mathrm{Pr}(f_1|h)\mathrm{Pr}(f_2|f_1\land h)} {\mathrm{Pr}(f_1)\mathrm{Pr}(f_2|f_1)} \, (9)
= \, \frac{\mathrm{Pr}(h)\mathrm{Pr}(f_1|h)\mathrm{Pr}(f_2|f_1\land h)} {\mathrm{Pr}(f_1\land f_2)} \,  

Jeśli teraz założymy, że pojedyncze fakty są warunkowo niezależne względem hipotezy, czyli:

\mathrm{Pr}(f_2|f_1\land h) = \, \mathrm{Pr}(f_2|h) \, (10)
\mathrm{Pr}(f_1|f_2\land h) = \, \mathrm{Pr}(f_1|h) \, (11)

to możemy dalej uzyskać:

\mathrm{Pr}(h|f_1\land f_2) = \frac{\mathrm{Pr}(h)\mathrm{Pr}(f_1|h)\mathrm{Pr}(f_2|h)} {\mathrm{Pr}(f_1\land f_2)}  \, (12)

Wyprowadzenie to można analogicznie powtórzyć dla dowolnej liczby pojedynczych faktów, co prowadzi do ogólnego wzoru:

\mathrm{Pr}(h|f_1\land f_2\land\dots\land f_m) = \frac{\mathrm{Pr}(h)\prod_{k=1}^m\mathrm{Pr}(f_k|h)} {\mathrm{Pr}(f_1\land f_2\land\dots\land f_k)}  \, (13)

Aby posłużyć się nim w celu obliczenia bezwzględnych prawdopodobieństw a posteriori, należy tak jak poprzednio wziąć pod uwagę zbiór \{h_1,h_2,\dots,h_n\} \, hipotez wykluczających się parami i wyczerpujących wszystkie możliwości. Wówczas, przy założeniu warunkowej niezależności faktów względem każdej hipotezy, mianownik powyższego ułamka może być wyznaczony w następujący sposób:

\mathrm{Pr}(f_1\land f_2\land\dots\land f_m) = \sum_{i=1}^n\mathrm{Pr}(h_i)\prod_{k=1}^m\mathrm{Pr}(f_k|h_i)  \, (14)

W szczególności dla zbioru dwóch wykluczających się hipotez \{h,\neg h\} \, dostajemy w ten sposób:

\mathrm{Pr}(f_1\land f_2\land\dots\land f_m) = \mathrm{Pr}(h)\prod_{k=1}^m\mathrm{Pr}(f_k|h) + \mathrm{Pr}(\neg h)\prod_{k=1}^m\mathrm{Pr}(f_k|\neg h) \, (15)

W ten sposób uzyskaliśmy prosty mechanizm wnioskowania bayesowskiego, w którym możemy wyznaczać prawdopodobieństwa a posteriori dowolnych hipotez na podstawie znajomości dowolnych zbiorów faktów, pod warunkiem określenia prawdopodobieństw a priori każdej hipotezy oraz prawdopodobieństw każdego pojedynczego faktu pod warunkiem prawdziwości każdej hipotezy. Prawdopodobieństwa te stanowią reprezentację niepewnej wiedzy o dziedzinie wnioskowania, która musi być dostarczona systemowi wnioskującemu. Określenie tych prawdopodobieństw w rozsądny sposób jest często możliwe, chociaż oczywiście może niekiedy być trudne.

Ogólność przedstawionego mechanizmu wnioskowania bayesowskiego ogranicza przyjęte założenie o warunkowej niezależności faktów względem hipotez. Założenie to nie musi być spełnione w wielu praktycznych sytuacjach, a co gorsza - może być ono niekiedy1 niemożliwe do weryfikacji. Znane są bardziej zaawansowane algorytmy wnioskowania bayesowskiego odstępujące od tego założenia, oparte na tzw. sieciach bayesowskich.

Przykład: diagnostyka grypy. Rozważmy następującą prostą ilustrację przedstawionego mechanizmu wnioskowania, traktując rozważane w niej przykładowe fakty i hipotezy z należnym dystansem. Weźmiemy pod uwagę sytuację, w której diagnozując dolegliwości pacjenta ograniczono zbiór możliwych diagnoz do następujących dwóch wykluczających się hipotez:

h \,: pacjent jest chory na grypę,
\neg h \,: pacjent nie jest chory na grypę.

Podstawą do wnioskowania mogą być następujące pojedyncze fakty:

f_1 \,: pacjent ma katar,
f_2 \,: pacjent ma kaszel,
f_3 \,: pacjent ma gorączkę.

Przyjmijmy, że dostarczający wiedzę do systemu diagnostycznego ekspert ustalił następujące wartości prawdopodobieństw:

\mathrm{Pr}(h) =   \;   0.1   \;   \mathrm{Pr}(\neg h) =   \;   0.9 \,  
\mathrm{Pr}(f_1|h) =   \;   0.5   \;   \mathrm{Pr}(f_1|\neg h) =   \;   0.3 \,  
\mathrm{Pr}(f_2|h) =   \;   0.3   \;   \mathrm{Pr}(f_2|\neg h) =   \;   0.3 \,  
\mathrm{Pr}(f_3|h) =   \;   0.8   \;   \mathrm{Pr}(f_3|\neg h) =   \;   0.4 \,  

Na tej podstawie możemy obliczyć prawdopodobieństwa faktów:

\mathrm{Pr}(f_1) = \, \mathrm{Pr}(h)\mathrm{Pr}(f_1|h) + \mathrm{Pr}(\neg h)\mathrm{Pr}(f_1|\neg h) = 0.1\cdot 0.5+0.9\cdot 0.3 = 0.32 \,  
\mathrm{Pr}(f_2) = \, \mathrm{Pr}(h)\mathrm{Pr}(f_2|h) + \mathrm{Pr}(\neg h)\mathrm{Pr}(f_2|\neg h) = 0.1\cdot 0.3+0.9\cdot 0.3 = 0.3 \,  
\mathrm{Pr}(f_3) = \, \mathrm{Pr}(h)\mathrm{Pr}(f_3|h) + \mathrm{Pr}(\neg h)\mathrm{Pr}(f_3|\neg h) = 0.1\cdot 0.8+0.9\cdot 0.4 = 0.44 \,  

Aby wyznaczyć prawdopodobieństwa a posteriori rozważanych hipotez na podstawie każdego z pojedynczych objawów stosujemy bezpośrednio wzór Bayesa:

\mathrm{Pr}(h|f_1) = \, \frac{\mathrm{Pr}(h)\mathrm{Pr}(f_1|h)}{\mathrm{Pr}(f_1)} = \frac{0.1\cdot 0.5}{0.32} = 0.15625 \,  
\mathrm{Pr}(h|f_2) = \, \frac{\mathrm{Pr}(h)\mathrm{Pr}(f_2|h)}{\mathrm{Pr}(f_2)} = \frac{0.1\cdot 0.3}{0.33} = 0.1 \,  
\mathrm{Pr}(h|f_3) = \, \frac{\mathrm{Pr}(h)\mathrm{Pr}(f_3|h)}{\mathrm{Pr}(f_3)} = \frac{0.1\cdot 0.8}{0.44} = 0.18182 \,  

Przeprowadzenie obliczeń prawdopodobieństw a posteriori rozważanych hipotez na podstawie dowolnych dwóch objawów oraz wszystkich trzech objawów pozostawiamy jako ćwiczenie.

Logika rozmyta

Logika rozmyta została wprowadzona jako metoda reprezentacji i przetwarzania wiedzy o charakterze jakościowym. Podstawową zaletą logiki rozmytej jest stworzenie ścisłej interpretacji wiedzy o charakterze zdroworozsądkowym, która bazuje na pojęciach intuicyjnych lub kolokwialnych, takich jak „wysoki wzrost”, „wysokie dochody”, „niska cena”, „duża prędkość” itp. Pojęcia takie mogą być wykorzystane w połączeniu z regułami podobnymi jak w systemach wnioskowania w „tradycyjnej” logice.

Definicja zbioru rozmytego

Punktem wyjścia jest pojęcie zbioru rozmytego, które jest uogólnieniem pojęcia zbioru. Rozważmy zbiór wartości D \,. Każdy podzbiór A \in D \, może być opisany za pomocą funkcji charakterystycznej \chi_A \,, zdefiniowanej następująco:

\chi_A = \begin{cases} 0 & x \notin A\\ 1 & x \in A \end{cases}  \, (1)

Tak więc każdy element x \, z D \, albo należy do A \, (wówczas \chi_A(x) = 1 \,), albo do niego nie należy (a wtedy \chi_A(x) = 0 \,). Z kolei zbiór rozmyty A będący podzbiorem D \, ma tę cechę, że elementy mogą do niego należeć tylko częściowo (w pewnym stopniu). Odpowiednikiem funkcji charakterystycznej \chi_A \, jest funkcja przynależności \chi_ \mu \,, przyjmująca wartości 0 \le \mu_A(x) \le 1 \, Wartość 0 funkcji przynależności oznacza, że element x \, nie należy do zbioru A \,, zaś wartość większa od zera oznacza przynależność x \, do A \,.

Operacje na zbiorach rozmytych

Na zbiorach rozmytych można definiować te same operacje co w klasycznej teorii zbiorów.

Dopełnieniem zbioru A \subseteq D \, jest zbiór \overline{A} \subseteq  D \,, którego funkcja przynależności jest określona następująco

\forall x \in D \quad \mu_ \overline{A} (x) = 1- \mu_A(x)  \, (2)

Sumą zbiorów A \subseteq D \, i B \subseteq D \, jest taki zbiór C \subseteq D \,, którego funkcja przynależności jest określona następująco

\forall x \in D \quad \mu_ C (x) = S(\mu_A(x), \mu_B(x) )  \, (3)

gdzie S \, jest funkcją, nazywaną s-normą (s od ang. sum), spełniająca następujące warunki

S(m,n) \geq m \, (4)
S(m,n) \geq n \, (5)
S(m,n) \leq 1 \, (6)

Iloczynem zbiorów A \subseteq D \, i B \subseteq D \, jest taki zbiór C \subseteq D \,, którego funkcja przynależności jest określona następująco

\forall x \in D \quad \mu_ C (x) = P(\mu_A(x), \mu_B(x) )  \, (7)

gdzie P \, jest funkcją, nazywaną p-normą (p od ang. product), spełniająca następujące warunki

P(m,n) \leq m \, (8)
P(m,n) \leq n \, (9)
P(m,n) \geq 0 \, (10)

Typowo wybiera się jako s-normę i p-normę następujące pary funkcji

s-norma p-norma
max(m,n) \, min(m,n) \,
min(m+n, 1) \, m \cdot n \,

Logika rozmyta

Załóżmy, że D \, jest zbiorem wartości argumentu pewnej funkcji zdaniowej f(x) \,. Posługując się tradycyjną definicją zbioru możemy definiować zbiór A \, argumentów funkcji zdaniowej f(x) \, , dla których przyjmuje ona wartość „prawda”. Zauważmy, że funkcja charakterystyczna \chi_A(x) \, jednoznacznie wyznacza funkcję zdaniową, gdyż f(x) \,=„prawda” wtedy i tylko wtedy gdy \chi_A (x)=1 \,. Tak więc pojęcia prawdy i fałszu mogą być zdefiniowane za pomocą funkcji charakterystycznej zbioru.

W przypadku zbiorów rozmytych, prowadzi to do uogólnienia pojęcia prawdy - pojawia się „prawda częściowa”, której miernikiem jest wartość funkcji przynależności. Funkcje zdaniowe mogą przyjmować wartości z zakresu [0,1]. Korzystając z definicji operacji na zbiorach, można podać definicje negacji, alternatywy i koniunkcji, działające na wartościach z zakresu [0,1].

Negacją rozmytą wartości x \in [0,1] \, jest wartość

y=\neg x = 1-x  \, (11)

Alternatywą rozmytą wartości x, y \in [0,1] \, jest wartość

z= x \lor y = S(x,y)  \, (12)

gdzie S \, oznacza s-normę

Koniunkcją rozmytą wartości x, y \in [0,1] \, jest wartość

z=x \land y = P(x,y)  \, (13)

gdzie P \, oznacza p-normę.

Wnioskowanie rozmyte

Wnioskowanie jest procesem polegającym na sprawdzaniu możliwości wyprowadzenia formuły ze zbioru innych formuł, przy znanych regułach. Wnioskowanie rozmyte przebiega według takiego samego schematu jak wnioskowanie „w logice klasycznej”, z tym że definicje reguł wnioskowania ulegają modyfikacjom uwzględniającym konieczność posługiwania się wartościami „prawdziwości” z zakresu [0,1] \,.

Przykładowo, w regule modus ponens [odnośnik] zakłada się, że reguła \alpha \rightarrow \beta \, jest prawdziwa w stopniu 1 \,, natomiast stopień prawdziwości formuły \beta \, jest identyczny stopniowi prawdziwości formuły \alpha \,.

Prosty regulator rozmyty (FLC)

Logika rozmyta jest wykorzystywana na szerszą skalę przede wszystkim w systemach sterowania. Przedstawimy teraz prosty regulator rozmyty (FLC - fuzzy logic controller), którego zadaniem jest obserwacja wartości wielu sygnałów wejściowych (zakłóceń) i określanie wartości sygnału wyjściowego (sterowania). Tego typu regulatory są dość chętnie wykorzystywane w praktyce, np. do sterowania siłą ciągu odkurzacza, określenia ustawień czasu naświetlania i przesłony na podstawie pomiaru natężenia oświetlenia, określania nastaw filtrów obrazu itp.

W takich zastosowaniach człowiek dość łatwo jest w stanie wyrazić sposób obsługi urządzenia za pomocą prostych reguł typu: „jeśli temperatura pomieszczenia jest niska i wolno spada, to ogrzewanie powinno być silniejsze”. Cechą charakterystyczną tego rodzaju reguł jest określanie wartości wielkości wejściowych i wyjściowych za pomocą wartości nieprecyzyjnych (typu „niskie”, „wysokie”, „szybkie”, „wolne”). W regulatorze FLC takie nieprecyzyjne wartości są reprezentowane jako rozmyte funkcje zdaniowe.

Schemat działania regulatora FLC jest naszkicowany na poniższym rysunku


Grafika: SI M4 schemat FLC.png

Regulator obserwuje liczbowe wartości wielkości wejściowe. Wartości te są następnie poddawane rozmywaniu: są zamieniane na ich jakościowe odpowiedniki - wartości lingwistyczne, na przykład „mały”, „średni” i „duży”. (Formalnie rzecz ujmując, dla każdej wielkości wejściowej i dla każdej z jej wartości lingwistycznych definiujemy opisującą ją funkcję zdaniową). Wynikiem rozmywania jest utworzenie wielu stwierdzeń, typu „x1 jest małe”, których stopień prawdziwości wynika z wartości funkcji zdaniowych dla obserwowanych wartości wejściowych.

Regulator FLC jest wyposażony w zestaw reguł, których części przesłankowe są koniunkcjami stwierdzeń, zaś konkluzjami są stwierdzenia (rozmyte) o wielkości wyjściowej.

W czasie wnioskowania, dla każdej reguły z bazy reguł określa się stopień prawdziwości części przesłankowej (na podstawie stwierdzonego w fazie rozmywania stopnia prawdziwości każdego ze stwierdzeń). Przyjmuje się, że stopień prawdziwości konkluzji i części przesłankowej są sobie równe dla każdej reguły. W ten sposób, stosując reguły, otrzymuje się wiele stwierdzeń (rozmytych) o wartości wielkości wyjściowej; stwierdzenia te pozostają ze sobą w alternatywie. Otrzymuje się zatem nową funkcję zdaniową f_y: D_y \to [0, 1] \, (D_y \, jest zbiorem wartości wielkości wejściowej), będącą wynikiem etapu wnioskowania.

Ostatnim etapem jest wyostrzanie, w którym wyznacza się wartość liczbową wielkości wyjściowej na podstawie uzyskanej w czasie wnioskowania funkcji zdaniowej. Sposób przeprowadzenia tej operacji jest trudny do uzasadnienia na gruncie logiki rozmytej. Mamy bowiem zastąpić funkcję f_y \, jedną liczbą - wykonujemy zatem działanie zbliżone do obliczenia wartości oczekiwanej zmiennej losowej na podstawie znajomości jej funkcji gęstości.

Znanych jest wiele różnych metod wyostrzania. Najbardziej rozpowszechnione są

  • metoda środka ciężkości - CoA (ang. Center of Area)
y_{CoA}=\frac{\int_D x f_y(x) d x}{\int_D f_y(x) d x}  \, (14)
  • metoda średniej z maksimów - MoM (Mean of Maximum)
y_{MoM}=\frac{\int_D x m_y(x) d x}{\int_D m_y(x) d x}  \, (15)
gdzie m_y(x) \, jest określona następująco
m(y)= \begin{cases} f_y(x) & \textit{jesli\ } f_y(x) = f^* \\ 0 & \textit{w\ przeciwnym\ przypadku} \end{cases}  \, (16)
zaś f^*=\max_D f_y(x) \,.

Symulacja FLC

Prześledźmy działanie regulatora FLC na przykładzie zadania podjęcia decyzji o wartości przyspieszenia samochodu w sytuacji dojeżdżania do skrzyżowania, na którym światło zmieniło się z zielonego na żółte. Wielkościami wpływającymi na decyzję będą: aktualna prędkość samochodu i odległość od skrzyżowania. Pomierzone wartości tych wielkości są następnie poddawane rozmywaniu: są zamieniane na ich jakościowe odpowiedniki - „mały”, „średni” i „duży” (Formalnie rzecz ujmując, dla każdej wielkości wejściowej definiujemy trzy funkcje zdaniowe, odpowiadające wymienionym terminom lingwistycznym). Wartości funkcji zdaniowych dla wartości lingwistycznych obu wielkości wejściowych są przedstawione na poniższych rysunkach.

Grafika:SI M4 Odleglosc FP.png

Grafika:SI M4 Predkosc FP.png

Rozważmy trzy przypadki wielkości wejściowych:


  1. odległość prędkość
    30 50

  2. odległość prędkość
    100 50

  3. odległość prędkość
    30 65
Wartości lingwistyczne są dla tych przypadków następujące (odczytujemy je z wykresów funkcji przynależności):


  1.   odległość prędkość
    mała 0,6 0,3
    średnia 0,4 0,7
    duża 0 0

  2.   odległość prędkość
    mała 0 0,3
    średnia 1 0,7
    duża 0 0

  3.   odległość prędkość
    mała 0,6 0
    średnia 0,4 1
    duża 0 0
Następuje faza wnioskowania. W naszym przykładzie, wnioskowanie odbywa się zgodnie z zestawem reguł zamieszczonym poniżej.

odległość prędkość przyspieszenie
mała Mała duże-
średnia Mała małe-
duża Mała małe-
mała Średnia duże+
średnia Średnia małe-
duża Średnia małe-
mała Duża małe+
średnia Duża duże-
duża Duża małe-

Poniżej wymieniono reguły wraz ze stopniem prawdziwości konkluzji (określonym na podstawie koniunkcji przesłanek) dla rozważanych przypadków; dla wygody, pominęliśmy reguły z nieprawdziwą koniunkcją przesłanek:


  1. odległość prędkość przyspieszenie min(odległość, prędkość)
    mała Mała duże- 0,3
    średnia Mała małe- 0,3
    mała Średnia duże+ 0,6
    średnia Średnia małe- 0,4

  2. odległość prędkość przyspieszenie min(odległość, prędkość)
    mała Średnia duże+ 0,3
    średnia Średnia małe- 0,7

  3. odległość prędkość przyspieszenie min(odległość, prędkość)
    mała Średnia duże+ 0,6
    średnia Średnia małe- 0,4
Tak więc wynikiem wnioskowania będą następujące wartości lingwistyczne (podane wraz ze stopniem prawdziwości):


  1. przyspieszenie  
    duże- 0,3
    małe- 0,3
    małe+ 0
    duże+ 0,6

  2. przyspieszenie  
    duże- 0
    małe- 0,7
    małe+ 0
    duże+ 0,3

  3. przyspieszenie  
    duże- 0
    małe- 0,4
    małe+ 0
    duże+ 0,6
Przechodzimy do wyostrzania. Załóżmy funkcje przynależności dla zmiennej wyjściowej jak na poniższym rysunku.

Grafika:SI M4 Przyspieszenie FP.png

W wyniku wnioskowania, dla każdego z rozważanych trzech przypadków, otrzymamy inne kształty funkcji przynależności, zobrazowane na rysunkach poniżej. W celu wyznaczenia wartości liczbowej przyspieszenia zastosujemy metodę środka ciężkości (CoA). Wynik wyostrzania jest podany poniżej (obok każdego rysunku). Grafika:SI M4 Przyspieszenie Wyn1.png 0.150

Grafika:SI M4 Przyspieszenie Wyn2.png 0.140

Grafika:SI M4 Przyspieszenie Wyn3.png 0.305