Wiedza niepewna i wnioskowanie Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Wiedza niepewna Wnioskowanie oparte na logice predykatów zakłada, że wiedza ma charakter dwuwartościowy: fakty zawarte w bazie wiedzy oraz uzyskane na ich podstawie konkluzje mogą być albo prawdziwe, albo fałszywe. W życiu codziennym występują jednak pojęcia i zjawiska, które mają charakter wieloznaczny i nieprecyzyjny. Opisanie ich za pomocą klasycznej teorii zbiorów oraz logiki dwuwartościowej jest niemożliwe. W przypadku przetwarzania wiedzy niepewnej lub niepełnej stosowana jest teoria zbiorów rozmytych i oparte na niej metody wnioskowania np. wnioskowanie przybliżone, logika rozmyta itd. Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 2 Wiedza niepewna Rodzaje „niedoskonałości” wiedzy: niepewność – nie można jednoznacznie stwierdzić, czy dane fakty są prawdziwe, czy fałszywe niepełność – brak wystarczającej wiedzy, aby stwierdzić prawdziwość pewnych faktów (nie oznacza to jednak, że są one fałszywe) niedokładność – nie można precyzyjnie odróżnić (dla danej dziedziny wiedzy) obiektów należących do pewnej relacji od obiektów do niej nienależących Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 3 Wiedza niepewna Podstawowe pojęcia teorii zbiorów rozmytych Za pomocą zbiorów rozmytych możemy formalnie określić pojęcia nieprecyzyjne i wieloznaczne np. „średni wzrost”, „wysoka temperatura”, „duże miasto”. Zbiorem rozmytym A w pewnej niepustej przestrzeni X (A ⊆ X) nazywamy zbiór par: A = {(x, µA(x); x ∈ X}, w którym µA : X → [0, 1] jest funkcją przynależności zbioru rozmytego A. Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 4 Wiedza niepewna Funkcja przynależności każdemu elementowi x ∈ X przypisuje jego stopień przynależności do zbioru rozmytego A. Możemy rozróżnić trzy przypadki: µA(x) = 1 – pełna przynależność elementu x do zbioru A (x ∈ A), µA(x) = 0 – brak przynależność elementu x do zbioru A (x ∉ A), 0<µA(x)<1 – częściowa przynależność elementu x do zbioru A Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 5 Wiedza niepewna Popularną notacją zbiorów rozmytych jest zapisywanie par (stopień przynależności, element zbioru) w postaci ułamków z kreską poziomą, ukośną lub pionową. Jeżeli X jest przestrzenią o skończonej liczbie elementów X = {x1, x2, ... , xn}, to zbiór rozmyty A ⊆ X zapiszemy jako: n A = µA(x1)|x1 + µA(x2)|x2 + ... + µA(xn)|xn = ∑ µA(xi)|xi i=1 Elementami xi ∈ X mogą być liczby, osoby, przedmioty lub inne pojęcia. Jeżeli X jest przestrzenią o nieskończonej liczbie elementów, to zbiór rozmyty A ⊆ X zapisujemy jako: A = ∫ X µA(x)|x = ∑ µA(x)|x X Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 6 Wiedza niepewna Przykład 1 Niech X jest zbiorem liczb naturalnych. Pojęcie zbioru liczb naturalnych „bliskich liczby 7” opisuje definicja zbioru A: A = 0,2|4 + 0,5|5 + 0,8|6 + 1|7 + 0,8|8 + 0,5|9 + 0,2|10 Przykład 2 Niech X jest zbiorem liczb rzeczywistych. Pojęcie zbioru liczb rzeczywistych „bliskich liczby 7” opisuje definicja zbioru B: B = ∫ X (1+(x-7)2)-1 | x Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 7 Wiedza niepewna 1.0 1.0 0.5 0.5 0.0 0.0 4 5 6 7 8 9 10 x Liczba naturalna „około 7” Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 5 7 5 x Liczba rzeczywista „około 7” 8 Wiedza niepewna Klasy funkcji przynależności W praktycznych zastosowaniach teorii zbiorów rozmytych często korzysta się z kilku rodzajów funkcji przynależności w dziedzinie liczb rzeczywistych R. Podstawowe klasy funkcji przynależności: funkcja klasy Γ (gamma) 1.0 Γa,b = 0.5 0.0 a b 0 . x 0 Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 0 dla x≤a (x-a)/(b-a) dla a<x≤b 1 dla x>b 9 Wiedza niepewna funkcja klasy L 1.0 0.5 La,b = 1 dla x≤a (b-x)/(b-a) dla a<x≤b 0 dla x>b 0.0 a b x funkcja klasy Λ (lambda) 1.0 0 dla x≤a ∨ x≥c Λa,b,c= (x-a)/(b-a) dla a<x≤b (c-x)/(c-b) dla b<x<c 0.5 0.0 a b c x Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 10 Wiedza niepewna funkcja klasy Π (Pi) 1.0 0 (x-a)/(b-a) 1 (d-x)/(d-c) Πa,b,c,d = 0.5 0.0 a b c d dla x≤a ∨ x≥d dla a<x≤b dla b<x ≤c dla c<x<d x funkcja typu s 1.0 sa,b = 0.5 0.0 a (a+b)/2 b 0 2*((x-a)/(b-a))2 1-2*((x-b)/(b-a))2 1 dla x≤a dla a<x≤(a+b)/2 dla (a+b)/2<x<b dla x≥b x Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 11 Wiedza niepewna funkcja klasy π 1.0 b 0.5 πb,c = sc-b,c(x) 1- sc,c+b(x) dla x<c dla x≥c 0.0 c-b c c+b x Przedstawione definicje klas funkcji przynależności wykorzystują bardzo proste kształty funkcji: składają się z fragmentów funkcji liniowej oraz fragmentów funkcji kwadratowej. Wiele zjawisk rzeczywistych można lepiej scharakteryzować przy użyciu innych krzywych np. wielomianów wyższych stopni, funkcji wymiernych lub wykładniczych. Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 12 Wiedza niepewna Przedstawiony powyżej zestaw funkcji przynależności jest niespójny. Klasa funkcji Γ jest przeciwieństwem klasy funkcji L: La,b(x) = 1 - Γa,b(x) Γa,b(x) = 1 - La,b(x) Zestaw funkcji przynależności można więc rozszerzyć przez zdefiniowanie funkcji przeciwnych (w powyższym sensie) dla pozostałych funkcji np. dla funkcji Λ otrzymamy funkcję V: 1.0 Va,b,c= 1 - Λa,b,c= 0.5 1 dla x≤a ∨ x≥c (b-x)/(b-a) dla a<x≤b (x-b)/(c-b) dla b<x<c 0.0 a b c x Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 13 Wiedza niepewna W literaturze można spotkać wiele innych przykładów definiowania funkcji przynależności (np. przez łączenie funkcji monotonicznych należących do różnych klas). Powyższy zestaw należy więc traktować jako otwarty. W zastosowaniach praktycznych występują dwa przypadki definiowania zbioru rozmytego: przez eksperta, który wybiera najlepszą funkcję przynależności dla danego problemu w wyniku aproksymacji zbioru wartości liczbowych (użytkownik decyduje tylko o wyborze rodzaju aproksymacji) Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 14 Wiedza niepewna Przykład 1 Na obwodnicy miejskiej obowiązuje ograniczenie prędkości do 70 km/h. Należy za pomocą zbiorów rozmytych określić znaczenie następujących terminów: „mała prędkość”, „średnia prędkość” oraz „duża prędkość” (terminy te dotyczą prędkości samochodów jadących obwodnicą). 1.0 mała prędkość średnia prędkość duża prędkość 0.5 0.0 20 40 60 80 100 V [km/h] Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 15 Wiedza niepewna Przykład 2 Rozpatrzmy system ułatwiający wyszukiwanie kandydatów w biurze matrymonialnym. System uwzględnia następujące dane: wiek (w latach), wzrost (w cm), zarobki (roczne brutto w tysiącach) i inne. W systemie zdefiniowano następujące zbiory rozmyte: wiek: „młody” – Π18,20,30,40(x) „stary” – Γ40,60(x) wzrost: „niski” – L160,180(x) „wysoki” – Γ170,190(x) zarobki: „niskie” – z15,40(x) „wysokie” – s30,60(x) Uwaga! Funkcja za,b(x) = 1 – sa,b(x) Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 16 Wiedza niepewna Własności zbiorów rozmytych Nośnikiem zbioru rozmytego A (supp A) nazywamy zbiór elementów przestrzeni X, dla których µA(x)>0: supp A = {x ∈ X: µA(x)>0} Wysokością zbioru rozmytego (h(A)) nazywamy liczbę będącą supremum (kresem górnym) wartości funkcji przynależności tego zbioru: h(A) = sup µA(x), dla x ∈ X Zbiór rozmyty A nazywamy normalnym, gdy h(A) = 1. Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 17 Wiedza niepewna α-przekrojem zbioru rozmytego A (Aα) nazywamy zbiór ostry elementów przestrzeni X, dla których µA(x) ≥ α: Aα = {x ∈ X: µA(x) ≥ α}, gdzie α∈[0,1]. Przykład Niech A = 0,2|1 + 0,4|2 + 0,7|4 + 0,5|5 (dla X={1,2,3,4,5,6}) supp A = {1,2,4,5} h(A) = 0,7 A0,5 = {4,5} Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 18 Wiedza niepewna Operacje na zbiorach rozmytych Iloczynem (przecięciem) zbiorów rozmytych A, B ⊆ X jest zbiór rozmyty A∩B o funkcji przynależności: µA∩B(x) = min(µA(x), µB(x)), dla każdego x∈X. Sumą zbiorów rozmytych A, B ⊆ X jest zbiór rozmyty A∪B o funkcji przynależności: µA∪B(x) = max(µA(x), µB(x)), dla każdego x∈X. Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 19 Wiedza niepewna Dopełnieniem zbioru rozmytego A ⊆ X jest zbiór rozmyty ¬A o funkcji przynależności: µ¬A(x) = 1 - µA(x), dla każdego x∈X. 1.0 1.0 1.0 0.0 0.0 0.0 x A∩B x A∪B Autor: Dariusz Banasiak – Katedra Informatyki Technicznej x ¬A 20 Wiedza niepewna Przykład Niech X = {1,2,3,4,5,6,7} oraz: A = 0,9|3 + 1|4 + 0,6|6 B = 0,7|3 + 1|5 + 0,4|6 Dla zbiorów rozmytych A i B otrzymujemy: A∩B = 0,7|3 + 0,4|6 A∪B = 0,9|3 +1|4 + 1|5 + 0,6|6 ¬A = 1|1 + 1|2 +0,1|3 + 1|5 + 0,4|6 + 1|7 ¬B = 1|1 + 1|2 +0,3|3 + 1|4 + 0,6|6 + 1|7 Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 21 Wiedza niepewna W literaturze można spotkać próby znalezienia „lepszych” operacji sumy i iloczynu zbiorów rozmytych. Funkcje te powinny spełniać jednak pewne warunki. W tym celu wprowadzono pojęcie S-normy (dla sumy) oraz T-normy (dla iloczynu). S-normy i T-normy są funkcjami, które powinny być łączne, przemienne, monotoniczne oraz muszą spełniać odpowiednie warunki brzegowe. T-normy i S-normy można zdefiniować za pomocą operatorów algebraicznych: iloczyn: µA∩B(x) = µA(x)*µB(x) suma: µA∪B(x) = µA(x)+µB(x) - µA(x)*µB(x) Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 22 Wiedza niepewna Iloczyn kartezjański zbiorów rozmytych A i B (A x B), przy czym A ⊆ X i B ⊆ Y, definiujemy jako: µAxB(x,y) = min(µA(x), µB(y)), dla x∈X, y∈Y. lub µAxB(x,y) = µA(x) * µB(y), dla x∈X, y∈Y. Przykład X = {2,4}, Y = {2,4,6} A = 0,5|2 + 0,9|4 B = 0,3|2 + 0,7|4 + 0,1|6 A x B = 0,3|(2,2) + 0,5|(2,4) + 0,1|(2,6) + 0,3|(4,2) + 0,7|(4,4) + 0,1(4,6) Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 23 Wiedza niepewna Koncentracją zbioru rozmytego A (gdzie A ⊆ X) nazywamy zbiór rozmyty CON(A) o wartościach funkcji przynależności podniesionych do kwadratu: µCON(A)(x) = [µA(x)]2, dla x∈X. Rozcieńczeniem (rozrzedzeniem) zbioru rozmytego A (gdzie A ⊆ X) nazywamy zbiór rozmyty DIL(A) o wartościach funkcji przynależności będących pierwiastkami kwadratowymi wartości funkcji przynależności zbioru A: µDIL(A)(x) = [µA(x)]0,5, dla x∈X. Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 24 Wiedza niepewna Relacje rozmyte Relacje rozmyte pozwalają sformalizować nieprecyzyjne sformułowania typu „x relacja y” np. „x jest prawie równe y”. Relacją rozmytą R określoną na niepustych, ostrych zbiorach X i Y nazywamy zbiór rozmyty określony na iloczynie kartezjańskim X x Y: R=∫ XxY µR(x,y)|(x,y) Dla zbiorów skończonych: X = {x1, x2, ... , xn} i Y = {y1, y2, ... , ym} relację rozmytą można wyrazić tzw. macierzą rozmytą. Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 25 Wiedza niepewna Przykład Niech X = {3,4,5} oraz Y = {4,5,6}. Określić relację rozmytą odpowiadającą stwierdzeniu: „y jest mniej więcej równe x”. y1=4 y2=5 y3=6 x1=3 0,8 0,6 0,4 x2=4 1,0 0,8 0,6 x3=5 0,8 1,0 0,8 µR(x,y) = Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 1 0,8 0,6 0,4 jeżeli x=y jeżeli |x-y| = 1 jeżeli |x-y| = 2 jeżeli |x-y| = 3 26 Wiedza niepewna Przykład Zdefiniować relacje między dwoma skończonymi zbiorami osób: instruktorów X = {a,b,c} oraz kursantów Y = {d,e,f,g}. Każdą osobę opisują dwa argumenty: wiek (w latach) i wzrost (w cm): a b c d e f g wiek 35 45 50 15 20 25 30 wzrost 178 182 168 188 180 182 198 Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 27 Wiedza niepewna Na zbiorach X i Y określić relacje: R – „instruktor dużo starszy od kursanta” S – „instruktor podobnego wzrostu co kursant” R d15 e20 f25 g30 S a35 0,9 0,7 0,5 0,4 a178 0,3 0,8 0,8 0,2 b45 1,0 0,8 0,6 0,5 b182 0,3 0,8 1,0 0,2 c50 1,0 0,9 0,8 0,6 c168 0 0 0 Autor: Dariusz Banasiak – Katedra Informatyki Technicznej d188 e180 f182 g198 0 28 Wiedza niepewna Liczby rozmyte W teorii zbiorów rozmytych ważną grupę stanowią zbiory zdefiniowane w przestrzeni liczb rzeczywistych np. zbiór liczb „bliskich wartości 7”. Zbiór rozmyty A określony w zbiorze liczb rzeczywistych (A ⊆ R) nazywamy liczbą rozmytą jeżeli spełnione są następujące warunki: zbiór A jest normalny (supx∈R µA(x)=1), zbiór A jest wypukły (µA[λx1+(1- λ)x2]≥min{µA(x1),µA(x2)}, λ∈[0,1]) funkcja µA(x) jest funkcją przedziałami ciągłą. Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 29 Wiedza niepewna Przykłady liczb rozmytych: 1 liczba ujemna µA(x) liczba dodatnia x Liczba rozmyta A⊆R jest dodatnia, jeżeli µA(x)=0 dla x<0. Liczba rozmyta A⊆R jest ujemna, jeżeli µA(x)=0 dla x>0. Dla liczb rozmytych można zdefiniować podstawowe operacje arytmetyczne. Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 30 Wiedza niepewna Zasada rozszerzania Zasada rozszerzania pozwala zdefiniować różne operacje matematyczne dla zbiorów rozmytych. Dane jest pewne nierozmyte odwzorowanie f przestrzeni X w przestrzeń Y: f: X→Y Niech A będzie danym zbiorem rozmytym (A⊆X): A = µA(x1)|x1 + µA(x2)|x2 + ... + µA(xn)|xn Zbiór rozmyty B (B⊆Y) indukowany przez odwzorowanie f na podstawie A ma postać: B = f(A) = µA(x1)|f(x1) + µA(x2)|f(x2) + ... + µA(xn)|f(xn) Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 31 Wiedza niepewna Zasadę rozszerzania można uogólnić na przypadek, gdy X jest iloczynem kartezjańskim zbiorów nierozmytych, czyli: f : X1 × X2 × ... × Xn → Y W przypadku operacji arytmetycznych na liczbach rozmytych odwzorowanie f ma postać: y = f (x1,x2) = x1+x2 x1 -x2 x1 *x2 x1 / x2 dla dodawania liczb rozmytych A1 i A2 dla odejmowania liczb rozmytych A1 i A2 dla mnożenia liczb rozmytych A1 i A2 dla dzielenia liczb rozmytych A1 i A2 Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 32 Wiedza niepewna Dodawanie liczb rozmytych A1 i A2 oznaczamy jako: A1 ⊕ A2 = B , przy czym funkcja przynależności jest określona wzorem: µB(y) = sup min {µA1(x1), µA2(x2)} x1,x2 y=x1+x2 Przykład Dodać dwie liczby rozmyte A1 i A2: A1 = 0,7|2 + 1|3 + 0,6|4 A2 = 0,8|3 + 1|4 + 0,5|6 A1⊕A2= min(0,7;0,8)|5 + max{min(0,7;1),min(1;0,8)}|6 + max{min(1;1),min(0,6;0,8)}|7+max{min(0,7;0,5),min(0,6;1)}|8 + min(1;0,5)|9 + min(0,6;0,5)}|10 = 0,7|5 +0,8|6 +1|7 +0,6|8 +0,5|9 +0,5|10 Autor: Dariusz Banasiak – Katedra Informatyki Technicznej 33