PROJEKTOWANIE BAZ REGUŁ
Transkrypt
PROJEKTOWANIE BAZ REGUŁ
www.kwmimkm.polsl.pl INTELIGENTNE TECHNIKI KOMPUTEROWE www.kwmimkm.polsl.pl STEROWNIKI ROZMYTE TAKAGI-SUGENO wykład 111 1 www.kwmimkm.polsl.pl • Baza reguł sterownika ma charakter rozmyty tylko w części IF. IF. 2 www.kwmimkm.polsl.pl Np.: R(1): IF prędkość is niska THEN hamowanie = prędkość R(2): IF prędkość is średnia THEN hamowanie = 4·prędkość • W części THEN występują zależności funkcyjne. funkcyjne. R(3): IF prędkość is wysoka THEN hamowanie = 8·prędkość Reguły Mamdaniego: Mamdaniego: wynikiem jest zbiór rozmyty B: μ IF x1=A1 AND x2=A2 … xn=An THEN y = B niska średnia wysoka 0.8 Reguły TakagiTakagi-Sugeno: Sugeno: wynikiem jest funkcja f (xi): IF x1=A1 AND x2=A2 … xn=An THEN y = f (x1, x2,..xn) Zwykle są to funkcje liniowe : f (xi) = y = a0+a1x1+anxn 3 0.3 0.1 2 Prędkość R(1): w1 = 0.3; r1 = 2 R(2): w2 = 0.8; r2 = 4·2 Hamowanie = R(3): w3 = 0.1; r3 = 8·2 ∑ w ⋅ r = 7.12 ∑w i www.kwmimkm.polsl.pl i i 4 www.kwmimkm.polsl.pl Informacja niezbędna do zaprojektowania sterownika: • numeryczna (ilościowa) – z czujników pomiarowych; • lingwistyczna (jakościowa) – od eksperta. PROJEKTOWANIE BAZ REGUŁ Stworzenie bazy wiedzy dla układu rozmytego – zadanie nietrywialne... nietrywialne... Siatka 5 Indywidualne funkcje 6 1 www.kwmimkm.polsl.pl Siatki: Siatki: • proste i skuteczne; • łączenie danych numerycznych i nienumerycznych poprzez uzupełnianie istniejącej bazy reguł o nowe reguły (na podstawie danych uczących); www.kwmimkm.polsl.pl Zadanie: Ustalenie reguł rozmytych tak, by sterownik generował właściwe sygnały wyjściowe. wyjściowe. 1. Określenie zakresu zm. danych WE [xi-, xi+] i WY [yi-, yi+] μ(x1) • Nk obszarów dla k wymiarów i N funkcji; - często słaba aproksymacja. μ(x2) 1 1 0 x1- Funkcje indywidualne: 0 x1 x1+ x2- x2+ x2 μ(y) • dokładniejsze, lepsza aproksymacja, mniej funkcji; 1 • trudniejsze w implementacji. 0 y- y y+ 7 www.kwmimkm.polsl.pl 2. Podział zakresów na podobszary, np.: n = 2N 2N+1 MN, ..., M1, S, D1, ..., DN 8 www.kwmimkm.polsl.pl 3. Określenie stopnia przynależności każdego z sygnasygnałów WE i WY do każdego z podobszarów. i przyjęcie funkcji przynależności (np. trójkątnej) dla każdego z podobszarów. μ(x1) M2 1 M1 S D1 μ(x1) μ(x2) M M M S D D 3 2 1 1 2 D2 D3 0 x1- 0 x1 x1+ x2- x2+ M1 S D1 μ(x2) M M M S D D 3 2 1 1 2 D2 D3 1 0 x2 μ(y) x1- 0 x1 x1(2) x1(1) x1+ x2- x2(1) x2(2) x2+ x2 μ(y) M2 1 M2 1 1 0 M1 S D1 D2 y- 0 y y+ M2 1 y- M1 S y(1) D1 y(2) y+ D2 y 9 www.kwmimkm.polsl.pl tu: - StPrzyn x1 do D1 = 0.8, 0.8, do D2 = 0.2, 0.2, do innych = 0; - x1 ma największy StPrzyn do D1, x2 do M1 - Dla każdej pary danych uczących można napisać jedną regułę. μ(x1) M2 1 M1 S D1 μ(x2) M M M S D D 3 2 1 1 2 D2 x1- 0 x1 x1(2) x1(1) x1+ x2- x2(1) x2(2) SP ( R(1) ) = μD1 ( x1 ) ⋅ μM1 ( x2 ) ⋅ μS ( y ) = 0.8 ⋅ 0.6 ⋅ 0.9 = 0.432 SP ( R(2) ) = μS ( x1 ) ⋅ μS ( x2 ) ⋅ μD1 ( y ) = 0.7 ⋅ 1 ⋅ 0.7 = 0.49 D3 x2+ x2 Jeśli pewne reguły okazują się sprzeczne – wybiera się regułę o największym stopniu prawdziwości. prawdziwości. μ(y) M2 1 0 y- M1 S y(1) D1 y(2) y+ www.kwmimkm.polsl.pl 4. Przyporządkowanie stopni prawdziwości (SP (SP)) do każdej reguły. Np. dla reguły: IF (x1 is A1 AND x2 is A2) THEN y is B 1 0 10 D2 y 11 12 2 5. Utworzenie bazy reguł rozmytych na podstawie tablicy: R : IF (x1 is D1 AND x2 is M1 ) x2 THEN y is S (1) www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl D3 D2 D1 S S M1 M2 M3 M2 M1 Siatka: • Regularna. Regularna. S D1 D2 x1 POŁĄCZENIE TECHNIK INTELIGENTNYCH • Nieregularna: Nieregularna: zagęść siatkę w miejscu największego błędu. • Metoda mieszana: mieszana: zacznij od regularnej siatki, przeprowadź adaptację parametrów. 13 www.kwmimkm.polsl.pl 14 www.kwmimkm.polsl.pl Sieci neuronowe: ☺ Możliwość uczenia, adaptacji i uogólniania. ☺ Przetwarzanie równoległe o wysokiej mocy oblicz. STEROWNIKI ROZMYTONEURONOWE (SR-N) Brak algorytmu ustalania liczby warstw i liczby neuronów w nich dla konkretnych zastosowań. Wiedza zawarta w SSN jest rozproszona – nieprzydatna dla obserwatora. Rozmyte układy sterowania: ☺ Nie jest wymagana szczegółowa wiedza o procesie. • Wiedza ma charakter jakościowy a nie ilościowy. 15 Sterowniki rozmytorozmyto- neuronowe (SRN): www.kwmimkm.polsl.pl • Łączą najlepsze cechy SR i SSN. Brak możliwości adaptacji uczenia (wiedza o regułach pochodzi od eksperta); 16 www.kwmimkm.polsl.pl R(1) : IF (x1 is A1 AND x2 is B1 ) THEN y is p1 x1 + q1 x2 + r1 R(2) : IF (x1 is A2 AND x2 is B2 ) THEN y is p2 x1 + q2 x2 + r2 • Moc obliczeniowa i zdolność uczenia SSN połączone z systemem rozumowania podobnym do ludzkiego (rozmytym); Wnioskowanie: SRSR-N jako wielowarstwowe sieci feedforward B1 A1 w1 Np. Sterownik Sugeno 1-go rzędu A2 Reguły: B2 y1 = p1 ⋅ x1 + q1 ⋅ x2 + r1 y2 = p2 ⋅ x1 + q2 ⋅ x2 + r2 w2 R(1) : IF (x1 is A1 AND x2 is B1 ) THEN y is p1 x1 + q1 x2 + r1 R(2) : IF (x1 is A2 AND x2 is B2 ) THEN y is p2 x1 + q2 x2 + r2 17 x1 x2 y= y1 ⋅ w1 + y2 ⋅ w2 w1 + w2 18 3 www.kwmimkm.polsl.pl ANFIS (Adaptive NeuroNeuro-Fuzzy Inference System) y= Przykładowa realizacja: realizacja: y1 ⋅ w1 + y2 ⋅ w2 w1 + w2 y1 w1 A1 x1 A2 B1 x2 1 Π B2 L1 y2 Π L2 w2 w1*y1 w2*y2 1 L3 Σ Σwi*yi a b Σ y Σwi www.kwmimkm.polsl.pl Warstwa L1: L1: • Każdy z elementów realizuje f. przynależności ZR Aik: i = 1, 2, .., - liczba danych WE); k = 1, 2, .., - liczba reguł. • Na wejście podawane są dane WE, na wyjściu warwartości f. przynależności dla tych danych. • Warstwa L1 ocenia stopień przynależności danych WE do odpowiednich zbiorów rozmytych. • Parametry f. przynależności są modyfikowane podczas uczenia. • Liczba elementów – liczba wszystkich zbiorów przynależności - (liczba_danych_WE)•(liczba_reguł) liczba_danych_WE)•(liczba_reguł) L4 19 20 www.kwmimkm.polsl.pl Warstwa L2: L2: • Jej konfiguracja odpowiada bazie reguł a elementy mnożące – blokowi wnioskowania, wnioskowania, • Na wyjściu wynik wnioskowania w postaci wartości funkcji przynależności. • Liczba elementów warstwy – liczba reguł. www.kwmimkm.polsl.pl Zalety SRSR-N w porównaniu z SSN • Warstwa i jej elementy, konfiguracja połączeń oraz wagi mają swoją fizyczną interpretację; interpretację; • Wiedza nie jest rozproszona i może być łatwo z sieci wyodrębniona i analizowana przez jej obserwatora. Uczenie: Warstwy L3 i L4: L4: • Realizacja bloku wyostrzania. • Wagi interpretuje się jako środki f. przynależności zbiorów rozmytych z wyjścia bloku L2. L2. • Wagi modyfikowane są w procesie uczenia. • Wyjście L4 – nierozmyta wartość WY sterownika. Propagacja wsteczna: - korekta parametrów sterownika dla danych uczących, by minimalizować błąd na wyjściu. 21 www.kwmimkm.polsl.pl 22 POŁĄCZENIE AE I SSN: www.kwmimkm.polsl.pl 1. Wspomagające (metody stosowane kolejno); kolejno); AE + SSN 2. Współdziałające (metody stosowane jednocześnie). jednocześnie). Ad. 1. (Połączenia wspomagające) SSN do wspomagania AE (rzadziej). • Zastosowanie: system hybrydowy do rozwiązania problemu połączeń drogowych: SSN – utworzenie populacji pocz. AE – procedura optymalizacyjna 23 ZADANIE SSN DANE (np. populacja pocz.) AE ROZWIĄZANIE 24 4 www.kwmimkm.polsl.pl AE do wspomagania SSN (częściej). a) AE do przygotowania danych dla SSN; b) AE do wyboru reguły uczenia lub parametrów sterujących uczeniem SSN; Ad. 2. (Połączenia współdziałające) www.kwmimkm.polsl.pl AE do uczenia SSN • Optymalizacja wag w sieci o ustalonej topologii (przy problemach z liczeniem pochodnych). ZADANIE AE DANE (np. wagi początkowe) SSN c) AE do analizy SSN – budowa narzędzi do wyjaśnienia działania SSN. ROZWIĄZANIE 25 AE do określania topologii SSN • Optymalizacja architektury SSN – poszukiwanie archiarchitektury, która działa najlepiej dla danego zadania przy zadanym kryterium optymalności. Systemy łączące adaptacyjne strategie SSN i AE 1. SSN do zadań optymalizacji i jednocześnie AE do ustawiania wag sieci 2. SSN realizuje operacje genetyczne (reprodukcja i krzyżowanie). www.kwmimkm.polsl.pl INNE METODY INTELIGENCJI OBLICZENIOWEJ 26 www.kwmimkm.polsl.pl DATA MINING (drążenie danych, eksploracja danych) 27 28 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl Etapy: Poszukiwanie zależności w dużych zbiorach danych i tworzenie modeli (np. biznesowych) z danych. • Znalezienie naturalnych podziałów danych (grupowanie); grupowanie); Np: • Czym charakteryzują się kierowcy powodujących wypadki ze skutkiem śmiertelnym? • Porządkowanie grup w segmenty; segmenty; • Tworzenie modeli zdolnych do działania (np. prognoprognozowania) zowania) w oparciu o nowe dane. • Jakie kosmetyki są najczęściej kupowane przez kobiety w wieku lat 3030-40? Wyniki w formie: • Jakie jest prawdopodobieństwo niespłacenia kredytu przez klienta banku? • reguł logicznych IF...THEN; • Którzy abonenci zrezygnują w najbliższym czasie z usług telekomunikacyjnych? • sieci neuronowych. • drzew decyzyjnych; 29 30 5 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl Komputerowe programy wspowspomagające decyzje lub zastępuzastępujące eksperta w danej dziedzinie. SYSTEMY EKSPERTOWE Dwa zasadnicze elementy: • Baza wiedzy będąca plikiem tekstowym. • System wnioskujący będący plikiem wykonywalnym. Dlaczego? • Wiedza eksperta jest zasobem rzadkim i drogim. • SE pozwalają większemu gronu ludzi działać jako „ekspert” (np. szkolenia). 31 Przykładowe obszary zastosowań SE: www.kwmimkm.polsl.pl • diagnozowanie chorób; • poszukiwanie złóż minerałów; • identyfikacja struktur molekularnych; • udzielanie porad prawniczych; • diagnostyka techniczna; • dokonywanie wycen i kalkulacji kosztów naprawy pojazdów przez firmy ubezpieczeniowe • Połączenie wiedzy kilku ekspertów może spowospowodować, dować, że SE działa lepiej niż pojedynczy ekspert. SZKIELET SYSTEMU – składniki: www.kwmimkm.polsl.pl • Interfejs użytkownika. użytkownika. Komunikacja z systemem to zwykle zadawanie pytań, udzielanie informacji systemowi i odbieranie od systemu odpowiedzi i wyjaśnień. • Edytor bazy wiedzy. wiedzy. Umożliwia modyfikację wiedzy zawartej w systemie, co pozwala na rozbudowę systemu. • Mechanizm wnioskowania. wnioskowania. Najważniejszy składnik systemu ekspertowego. Jego zadaniem jest wyciąganie wniosków z przesłanek i pytań wprowadzanych przez użytkownika i generowanie odpowiedzi. • Prolog – klasyczny język do tworzeniu SE. • Obecnie używa się gotowych szkieletów SE (szkielet to gotowy system ekspertowy pozbawiony wiedzy). • Mechanizm wyjaśniający. wyjaśniający. Umożliwia wyjaśnienie na życzenie użytkownika, dlaczego system udzielił takiej, a nie innej odpowiedzi, lub dlaczego system zadał użytkownikowi określone pytanie. • Najpopularniejsze, bezpłatne szkielety SE: CLIPS, CLIPS, JESS, JESS, MANDARAX 33 BAZA WIEDZY: WIEDZY: 32 www.kwmimkm.polsl.pl • Drugi pod względem ważności składnik systemu. 34 BAZA DANYCH ZMIENNYCH: ZMIENNYCH: www.kwmimkm.polsl.pl • Pomocnicza baza danych, w której przechowywane są wnioski uzyskane przez system podczas jego działania. • Baza ta umożliwia odtworzenie sposobu wnioskowania systemu i przedstawienie go użytkownikowi za pomocą mechanizmu wyjaśniającego. • W bazie wiedzy zawarta jest wyekstrahowana od ludzkich ekspertów wiedza dotycząca określonej dziedziny. • Wiedza ta zwykle zapisana jest za pomocą wybranego sposobu reprezentacji wiedzy, na przykład za pomocą reguł lub ram. Ekstrakcją wiedzy od ekspertów zajmują się na ogół inżynierowie wiedzy. wiedzy. Jest to zwykle długi i żmudny proces, ponieważ wiedza stosowana przez ludzkich ekspertów jest zwykle wiedzą praktyczną i intuicyjną. intuicyjną. 35 36 6 www.kwmimkm.polsl.pl SYSTEMY WIELOAGENTOWE SW to: www.kwmimkm.polsl.pl Programy komputerowe próbujące symulować różnoróżnorodne złożone zjawiska za pomocą wirtualnych „agen „agen-tów” tów” (np. reprezentujących elementy systemu biznesowego). • Zachowania agentów - proste reguły. reguły. • Interakcja poszczególnych agentów – symulacja zazachowania zbiorowego i jego wpływu na cały system. • Uruchomione modele realistycznie obrazują dany proces. 37 38 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl • źródło informacji na temat dynamiki naśladowanych systemów rzeczywistych. • strategiczne narzędzia dla analiz „what „what--if” if” (Komputer niekiedy generuje strategie, których użytkownik nigdy by nie rozważył). Często stosowane do rozwiązywania problemów o chacharakterze rozproszonym lub złożonych obliczeniowo, obliczeniowo, np.: • wyszukiwanie informacji w sieci; • zarządzanie sieciami telekomunikacyjnymi; • symulacja rynku; • wspomaganie zarządzania w przedsiębiorstwie; • kontrola ruchu lotniczego. PROGRAMOWANIE GENETYCZNE 39 40 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl programy, któ które powstają powstają samoczynnie... samoczynnie... • Automatyczne generowanie tekstów programów, programów, jeśli znane są kryteria oceny prawidłowości działania. • Język bazowy – LISP (program jest reprezentowany w idenidentyczny sposób jak dane - w postaci drzewa). Operatory genetyczne: uwzględnienie specyfiki metody kodowania i umożliwienie modyfikacji: • wartości w węzłach drzewa; • struktury drzewa. • Kodowanie binarne zastąpiono drzewiastym. drzewiastym. Obecnie: „programowanie genetyczne ” - często do określenia wszelkich algorytmów wykorzystujących drzewiastą reprezentację zadania i modyfikujących strukturę tej reprezentacji. • W węzłach mogą znajdować się: • symbole pewnego alfabetu; • wartości liczbowe - dyskretne i ciągłe; • stałe, zmienne lub funkcje. 41 42 7 www.kwmimkm.polsl.pl Kodowanie drzewiaste: • Chromosom jest kodowany jako drzewo, składające się z węzłów i krawędzi. krawędzi. Funkcja obliczająca pierwiastki rzeczywiste równania kwadratowego: 2 y = ax + bx + c • Informacja jest zawarta w węzłach, węzłach, zaś krawędzie określają wzajemne relacje pomiędzy węzłami. • Jeśli krawędź jest skierowana od węzła A do B, to A jest nazywany nadrzędnym, nadrzędnym, B - podrzędnym. podrzędnym. • Węzły: • terminalne (nie posiadają węzłów podrzędnych); • pośrednie (nieterminalne). nieterminalne). • Istnieje dokładnie jeden węzeł, nie posiadający nadrzędnego – korzeń drzewa. drzewa. www.kwmimkm.polsl.pl Przykład 43 www.kwmimkm.polsl.pl setq (delta -( *(b b) *(4 * (a c))) (defun pierwiastki (a b c) ( (setq (setq (delta -( *(b b) *(4 * (a c))))) c))))) (if <(delta 0) (setq n 0) ) (if =(delta 0) ( (setq (setq n 1) (setq x1 ( /((/((-b)(* (2 a)))) a)))) ) (if >(delta 0) ( (setq (setq n 2) (setq x1 ( /((/((-( -b sqrt(delta) sqrt(delta) )(* (2 a)))))) a)))))) (setq x2 ( /((+( -b sqrt(delta) a)))))) sqrt(delta) )(* (2 a)))))) ) ) ) 44 www.kwmimkm.polsl.pl Krzyżowanie: • Jest wykonywane dla pary osobników rodzicielskich i prowadzi do powstania pary osobników potomnych. setq delta • Z każdego z osobników rodzicielskich wyodrębniany jest losowo wybrany węzeł – pośredni (wraz ze swoim poddrzewem) lub terminalny. * b * b • Chromosomy potomne powstają w wyniku zamiany powstałych poddrzew. 4 * a c 45 www.kwmimkm.polsl.pl * + x y x - 32 2 x * x + / sin * 12 y y / sin sin 12 * www.kwmimkm.polsl.pl Mutacja - warianty: • Zmiana zawartości węzła terminalnego: * + sin 46 x x y 32 + x y 11 * 2 y 47 48 8 www.kwmimkm.polsl.pl Mutacja - warianty: www.kwmimkm.polsl.pl Mutacja - warianty: • Zamiana poddrzewa na inne: • Zamiana wę węzła terminalnego na korzeń korzeń losowego wygenerowanego poddrzewa: - + y - y + x y y + 12 * + x sin x 3 x 3 • Reorganizacja poddrzew: • Zamiana korzenia poddrzewa na wę węzeł zeł terminalny: - y y * x sin 4 * 13 3 cos cos y y x sin * 3 x 49 50 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl • Mrówki są praktycznie ślepe, lecz potrafią znaleźć najkrótszą drogę do pożywienia i z powrotem. SYSTEMY • Ich obserwacja była inspiracją do powstania (Dorigo, Dorigo, 1996) nowego typu algorytmów zwanych mrówkowymi (ant algorithms, algorithms, ant systems) (ALGORYTMY) Zastosowania - zad. optymalizacji kombinatorycznej: • problem komiwojażera; • harmonogramowanie • wyznaczanie tras w sieciach telekomunikacyjnych; MRÓWKOWE • wyznaczanie optymalnych tras w ruchu miejskim. 51 52 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl F • Czas (t) jest dyskretny; 1 F – food source N- nest 1 • Systemy bazujące na inteligencji masowej – populacja mrówek (podobnie jak w AE). • Każda mrówka w populacji poszukuje rozwiązania (najkrótszej drogi). C 0.5 B 1 • Wybór trasy na podstawie ilości feromonu. feromonu. • Wielokrotne powtarzanie: trasa optymalna. optymalna. 53 0.5 E 1 • Pozostawianie feromonu na trasie. D • W każ każdej jednostce czasu każ każda mró mrówka przemieszcza się się o d = 1 pozostawiają pozostawiając 1 jednostkę jednostkę feromonu. A • W chwili t = 0 brak feromonu na wszystkich krawę krawędziach. • Znaleźć Znaleźć najkró najkrótszą tszą drogę drogę mię między A i F... 54 9 F 16 www.kwmimkm.polsl.pl z F do A 16 1 1 D 1 0.5 E D 1 t=0 C z A do F A 55 www.kwmimkm.polsl.pl F 8 8 0.5 1 C D 8 t=2 8 0.5 16 E C 16 8 0.5 8 www.kwmimkm.polsl.pl 16 1 E B 56 F 16 1 1 16 16 1 A 16 1 t=1 0.5 B 1 D 0.5 C 1 B 8 16 E 0.5 1 www.kwmimkm.polsl.pl F 1 8 8 16 1 B t=2 0.5 8 16 1 A 57 www.kwmimkm.polsl.pl A 58 www.kwmimkm.polsl.pl http://iridia.ulb.ac.be /~mdorigo mdorigo/ACO/ /ACO/ACO.html ACO.html http://iridia.ulb.ac.be/~ • Proste podążanie ścieżką z największą ilością feroferomonu – szybkie utknięcie w optimum lokalnym. lokalnym. • Potrzebna jest eksploracja ścieżek – mrówki wybierają ścieżki z prawdopodobieństwem proporcjonalnym do intensywności śladu feromonowego na niej. • To, że mrówka wybierze daną ścieżkę zależy zarówno od intensywności feromonu jak również np. odległości od następnego miasta (TSP). • W celu zapewnienia braku nieograniczonego wzrostu ilości feromonu – parowanie feromonu. 59 60 10