Logika rozmyta
Transkrypt
Logika rozmyta
Logika rozmyta Wprowadzenie 1 Zbiory rozmyte Pojęcia: zbioru, elementu zbioru, w matematyce klasycznej, zaliczamy do pojęć pierwotnej, których nie definiujemy. Klasyczny zbiór może być określony w następujący sposób: A = {x : p(x)} ,gdzie powyższy wzór czytamy następująco: A jest zbiorem elementów x spełniających formułę zdaniową p(x) Logika rozmyta bazuje na pojęciu zbioru rozmytego. Zbiory rozmyte są to zbiory nie posiadające jasno zdefiniowanej granicy, elementy zbioru posiadają jedynie pewien stopień przynależności. Stopień przynależności elementów do zbioru rozmytego jest określony poprzez funkcję przynależności (ang. membership function (MF) ). Z tego powodu zbiór rozmyty można zdefiniować jako rozszerzenie definicji zbioru klasycznego. Jeśli X oznacza przestrzeń elementów będących przedmiotem rozważania, to zbiór rozmyty A można zdefiniować na X jako uporządkowaną parę: A = {x, µ(x)|x ∈ X} ,µ(x) jest tzw. funkcją przynależności elementów x do zbioru A. Funkcja przynależności wskazuje na stopień przynależności każdego elementu przestrzeni X do zbioru A. Stopień przynależności przyjmuje wartości z zakresu [0, 1]. 2 Operatory logiczne Operatory logiczne stosowane w logice rozmytej są rozszerzeniem logicznych operatorów stosowanych w logice Boolowskiej. Własność ta najlepiej przejawia się w chwili gdy rozmytym zmiennym logicznym przypiszemy ich ekstremalne wartości: 1 (kompletna prawda) i 0 (kompletny fałsz). Wówczas rozmyte operatory logiczne są równoważne standardowym operatorom logicznym (AN D, OR, N OT ). Przykładami rozmytych operatorów logicznych mogą być funkcje: min(A, B) - odpowiednik AandB, max(A, B) - odpowiednik AorB, 1 − A - odpowiednik notA. Można zauważyć, że stosując rozmyte operatory logiczne tabelki prawdy zmiennych logicznych dwuwartościowych zostają niezmienione. Jednakże funkcje min(A, B), max(A, B), 1−A, nie są jedynymi które możemy zastosować jako operatory w logice rozmytej. Środowisko Matlab umożliwia nam tworzenie własnych operatorów logicznych. Formalna definicja rozmytego operatora logicznego AND - iloczynu dwóch zbiorów, mówi o odwzorowaniu dwuwartościowym T, które jest określone w następujący sposób: µA,B (x) = T (µA (x), µB (x)) Ponadto operator (T − norm) musi spełniać następujące warunki: • T (0, 0) = 0, T (a, 1) = T (1, a) = a • T (a, b) ≤ T (c, d) jeli a ≤ c b≤d • T (a, b) = T (b, a) 1 • T (a, T (b, c)) = T (T (b, a), c) Rozmyta wersja operatora OR - sumy dwóch zbiorów, zdefiniowana jest jako operator: µA,B (x) = S(µA (x), µB (x)) Operator S − norm musi spełniać następujące warunki: • S(1, 1) = 1, S(a, 0) = S(0, a) = a • S(a, b) ≤ S(c, d) jeli a ≤ c b≤d • S(a, b) = S(b, a) • S(a, S(b, c)) = S(S(b, a), c) 3 Wnioskowanie rozmyte Wnioskowanie rozmyte jest procesem formułowania zależności wejściowo-wyjściowej przy wykorzystaniu logiki rozmytej. F uzzyLogicT oolbox oferuje dwa typy systemów wnioskowania rozmytego ( Mamdani, Sugeno ). Wnioskowanie typu Mamdani, charakteryzuje się łączeniem następników każdej reguły poprzez operator agregacji a nstępnie przeprowadzaniem defazyfikacji w celu otrzymania odpowiedzi systemu. Model typu Sugeno jest systemem, w którym następnik każdej reguły jest liniową kombinacją wejść systemu. Wyjście systemu jest ważoną kombinacją liniową następników reguł definiujących system. Proces wnisokowania rozmytego składa się z następujących etapów: a) rozmywanie zmiennych wejściowych b) zastosowanie rozmytych operatorów logicznych (AND lub OR) do poprzedników reguł systemu c) utworzenie następników reguł d) agregacja następników reguł e) defazyfikacja w celu utworzenia odpowiedzi systemu 4 Zadania do wykonania 1. Zapoznaj się z charakterystyką następujących funkcji przynależności udostępnianych przez środowisko Matlab: dsigmf,gauss2mf,gaussmf,gbellmf,pimf,psigmf,smf,sigmf,trapmf,trimf,zmf 2. Zapoznaj się z narzędziem Matlab-a FIS Editor (polecenie fuzzy). 3. Zaprojektuj system rozmyty typu Mamdani, który będzie oceniał prawdopodobieństwo spowodowania wypadku podczas jazdy samochodem. Zmienne wejściowe: • prędkość jazdy (10 − 200 km h ): mała,średnio,szybko,bardzo szybko • widoczność (0.05 − 4km): bardzo słaba, średnia, dobra Wyjście systemu: • Prawdopodobieństwo spowodowania wypadku (0 − 1): bardzo małe, małe, średnie, duże 2