Systemy Inteligentnego Przetwarzania wykład 4: algorytmy genetyczne, logika rozmyta Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej e-mail: Jacek.Mazurkiewicz@pwr.edu.pl
Wprowadzenie Problemy rozwiązywane przez podglądanie biologii Selekcja naturalna i mechanizmy dziedziczenia Zadania optymalizacyjne funkcja przystosowania Kiedy podejście klasyczne zawodzi lub jest trudne Współpraca z sieciami neuronowymi
Historia zjawiska 1957-1960: początki - biolodzy Barricelli, Fraser symulacja algorytmów genetycznych 1962: algorytmy genetyczne w zastosowaniach poza biologią J. Holland 1967: algorytmy genetyczne w prostych grach 1970: rozpoznawanie osób - tam gdzie klasyczne podejście zawodzi 1971: algorytmy genetyczne w optymalizacji
Zastosowania Programowanie komputerów Sztuczna inteligencja Optymalizacja Sztuczne sieci neuronowe algorytmy uczenia
Algorytmy genetyczne - słownik (1) Populacja zbiór osobników Osobnicy z populacji chromosom koduje informacje o osobniku Chromosomy uporządkowane ciągi genów Gen pojedynczy element genotypu - w szczególności chromosomu
Algorytmy genetyczne - słownik (2) Genotyp zespół chromosomów osobnika Fenotyp zestaw wartości odpowiadających danemu genotypowi Allel wartość danego genu (wariant cechy) 1 Locus pozycja genu w chromosomie
Algorytmy genetyczne - słownik (3) Generacja kolejna iteracja w algorytmie genetycznym Pokolenie wynik generacji nowo utworzona populacja Funkcja przystosowania miara przystosowania danego osobnika w populacji ocena stopnia przystosowania danego osobnika w populacji wybór osobników najlepiej przystosowanych
1 4 7 10 13 16 19 22 25 28 31 1000 800 600 x 2 Przykład optymalizacji (1) 400 200 0 x Funkcja: f(x) = x 2, x [0, 31], x N Początkowa populacja: - wybrana i zakodowana Prawdopodobieństwo wyboru osobnika: Nr Osobnik Wartość x Przystosowanie f(x) p S p S f ( x) = f ( x) f(x) funkcja przystosowania f(x) przystosowanie dla populacji 1 01101 13 169 0,14 2 11000 24 576 0,49 3 01000 8 64 0,06 4 10011 19 361 0,31 Średnia 293 0,25 Max 576 0,49
Przykład optymalizacji (2) Wybór rodziców, kojarzenie par losowe, krzyżowanie Nr Rodzice Nr partnera Nowa populacja x f(x) 1 0110 1 2 01100 12 144 2 1100 0 1 11001 25 625 3 11 000 4 11011 27 729 4 10 011 3 10000 16 256 Średnia 439 Max 729 Wygenerowano nowe pokolenie chromosomów New Average = 1.5 * Old Average New Max = 1.5 * Old Max
Klasyczny algorytm genetyczny (1) Inicjalizacja wybór początkowej populacji chromosomów losowy wybór żądanej liczby chromosomów reprezentowanych przez ciągi binarne o określonej długości Ocena przystosowanie chromosomów w populacji obliczenie wartości funkcji przystosowania dla każdego chromosomu populacji im większa wartość funkcji tym lepsze przystosowanie danego chromosomu Kontrola warunku zatrzymania uzyskanie żądanej wartości optymalnej z wymaganą dokładnością kolejne kroki algorytmu nie poprawiają uzyskanej już wartości ograniczenia na czas wykonania algorytmu lub liczbę iteracji
Klasyczny algorytm genetyczny (2) Selekcja chromosomów wybór chromosomów biorących udział w tworzeniu potomków następnego pokolenia zasada naturalnej selekcji największe szanse na wybór chromosomy o największej wartości funkcji przystosowania Reprodukcja tworzenie nowej populacji z wybranej puli rodziców krzyżowanie mutacja Nowa populacja otrzymane chromosomy nowa populacja nowa pula rodziców Chromosom najlepiej przystosowany
Metoda ruletki Generalia ciągi kodowe o lepszym przystosowaniu mają większe prawdopodobieństwo wprowadzenia potomków do kolejnego pokolenia Symulacja wykalibrowanej ruletki każdy chromosom to sektor wielkość sektora proporcjonalna do przystosowania n-krotne losowanie osobników z bieżącej populacji wybrane osobniki do nowej populacji ruletka startuje n-razy n liczba osobników w populacji Prawdopodobieństwo selekcji f(x) funkcja przystosowania f(x) przystosowanie dla populacji p S f ( x) = f ( x) 8% 1 1 % 2 2.8 % 1 3.1 % 1 9.6 % 2 5.5 %
Ranking liniowy Generalia przystosowanie zależy od położenia osobnika na liście posortowanej według funkcji oceny Cechy metody dostraja kompresuje - dystans do najlepszego rozwiązania redukuje gdy jest zbyt znaczący zwiększa gdy zbyt mały Prawdopodobieństwo wyboru p x x p x przystosowanie osobnika przystosowanie populacji p S = px p X X
Ruletka ranking liniowy - przykład przystosowanie wartość prawdopodobieństwa wartość ruletka ranking liniowy 1 5 5/25 20% 1/6 16,6% (najgorszy) 3 13 13/25 52% 3/6 50% (najlepszy) 7 7/25 28% 2 2/6 33,3%
Turniej Generalia losowy wybór kilku osobników z całej populacji (grupa turniejowa) wybór najlepiej przystosowanego osobnika z grupy i wstawienie go do nowo tworzonej populacji Operacja powtarzana do momentu utworzenia całej nowej populacji Klucz decyzyjny ważna jest jedynie lepszość jednego rozwiązania nad innymi nie jest wymagana maksymalizacja funkcji oceny - jak w metodzie ruletki i rankingu liniowego
Krzyżowanie (1) Generalia wymiana materiału genetycznego pomiędzy dwoma osobnikami powstanie dwóch nowych osobników (dzieci) w wyniku operacji krzyżowania dwóch osobników (rodziców) zastąpienie rodziców przez dzieci w populacji Kroki wybór par chromosomów z puli rodzicielskiej w sposób losowy zgodnie z prawdopodobieństwem krzyżowania p c (0.5, 1) losowanie punktu krzyżowania l k (pozycji genu w chromosomie) poprzez losowanie liczby z przedziału [1, L-1], L długość chromosomu tworzenie potomków przez wymianę genów obu rodziców
Krzyżowanie (2) Rodzice Dzieci 0 1 0 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 przed krzyżowaniem po krzyżowaniu
Krzyżowanie (3) jednopunktowe dwupunktowe Parent A 1 1 0 1 1 1 0 1 Child A 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 Child B 1 0 1 0 0 0 1 1 Parent B wielopunktowe chromosomy rodziców są dzielone na kilka części dzieci tworzone są na podstawie przeplatanych wycinków rodziców równomierne wylosowany wzorzec wskazujący pokazuje, które geny są dziedziczone od pierwszego z rodziców a pozostałe od drugiego
Mutacja nie tak ważny operator częstość mutacji potrzebna do uzyskania dobrych wyników jest rzędu 1:1000 kopiowanych bitów droga wyjścia z lokalnych minimów zapobiega odrzuceniu wyeliminowanego przez selekcję i krzyżowanie potencjalnie obiecującego materiału genetycznego odwraca wartości genu w chromosomie 0 na 1 lub 1 na 0 - prawdopodobieństwo mutacji p m [0, 0.1] geny do zmutowania losowaniu liczby z przedziału [0, 1] dla każdego genu i wybraniu tych genów do mutacji, dla których wylosowana liczba jest mniejsza lub równa p m
Inwersja otrzymywanie nowych potomków - różniących się od chromosomów rodzicielskich - obok krzyżowania i mutacji działa na pojedynczym chromosomie - zmieniając kolejność alleli między dwiema losowo wybranymi pozycjami chromosomu występuje w rozszerzonych algorytmach genetycznych
Strategie szczególne reprodukcji strategia elitarna ochrona najlepszych chromosomów w kolejnych iteracjach - w algorytmie klasycznym osobniki najlepiej przystosowane nie zawsze wchodzą do następnej generacji z częściową wymianą populacji część populacji przechodzi do następnej generacji bez jakichkolwiek zmian - nie podlega operacjom krzyżowania i mutacji
Funkcja przystosowania (1) ocenia wynik każdego możliwego rozwiązania wartość numeryczna (dodatnia) pokazująca jak dane rozwiązanie rozwiązuje cały problem rosnące wartości oznaczają coraz lepsze przystosowanie zadanie algorytmu genetycznego: znalezienie, które rozwiązanie ma największą wartość funkcji przystosowania spośród całego zestawu możliwych rozwiązań przekształcanie funkcji celu w funkcję przystosowania funkcja celu może przyjmować wartości ujemne i dodatnie funkcja przystosowania jest nieujemnym kryterium oceny
Funkcja przystosowania (2) Funkcja celu g(x) w funkcję przystosowania f(x) czasem bezpośrednio f(x) = g(x) czasem przekształcenie liniowe Przykład 1: znaleźć maksimum g(x) Funkcja przystosowania: f(x) = g(x) + c min
Funkcja przystosowania (3) Przykład 2: znaleźć minimum funkcji g(x) Funkcja przystosowania: f(x) = c max - g(x)
Skalowanie przystosowania (1) gdy średnia wartość przystosowania f avg (x) << f max (x) zapobiega przedwczesnej zbieżności - ponadprzeciętnych osobników - w pierwszych pokoleniach Założenia: 1. f avg = f avg 2. C współczynnik zwielokrotnienia; średnia liczba potomków osobnika o maksymalnym przystosowaniu Zbliża osobniki przeciętne do najlepszych początek populacji
Skalowanie przystosowania (2) jeśli f avg (x) < f max (x) zapobiega błądzeniu przypadkowemu wśród przeciętniaków w najmłodszych pokoleniach populacji Założenia: 1. f avg = f avg 2. f min = 0 osobniki najgorzej przystosowane mają: f(x) = 0 najlepsi separowani są od przeciętnych dojrzała populacja
GA w służbie ANN optymalizacja topologii sieci neuronowych dobór wag sieci neuronowych algorytmy genetyczne w sieciach rekurencyjnych
Wnioskowanie rozmyte Plan Teoria logiki rozmytej Zbiory Rozmyte Logika Rozmyta Systemy bazujące na rozmytym wnioskowaniu Aplikacje
Teoria logiki rozmytej Zasadnicze założenie logiki rozmytej -to przynależność elementu do zbioru rozmytego z pewnym stopniem przynależności. Zbiór rozmyty ma rozmyte granice Nie mamy już logiki dwuwartościowej prawda i fałsz, mamy częściową prawdę i częściowy fałsz. Stopień przynależności do prawdy i fałszu to liczba z przedziału [0,1] Logika rozmyta to rozszerzenie logiki dwuwartościowej prawdziwość wyrażenia nie jest ograniczona to dwóch stanów
Zbiory rozmyte (1) Klasyczny przykład zbioru rozmytego - zbiór ludzi wysokich. Elementami zbioru rozmytego ludzi wysokich - są wszyscy, lecz stopień ich przynależności do tegoż zbioru zależy od ich wzrostu Name Chris Mark John Tom David Mike Bob Steven Bill Height, cm 208 205 198 181 179 172 167 158 155 Degree of Membership Crisp Fuzzy 1 1.00 1 1.00 1 0.98 1 0.82 0 0.78 0 0.24 0 0.15 0 0.06 0 0.01 Rozmyty zbiór ludzi wysokich Peter 152 0 0.00
Zbiory rozmyte (2) Degree of Membership 1.0 Crisp Sets 0.8 0.6 Tall Men 0.4 Klasyczny i rozmyty zbiór ludzi wysokich 0.2 0.0 150 160 170 180 190 200 210 Degree of Membership 1.0 Fuzzy Sets Height, cm 0.8 0.6 0.4 0.2 0.0 150 160 170 180 190 200 210 Height, cm
Zbiory rozmyte (3) Oś x reprezentuje zakres zmienności dziedziny czyli zakres wszystkich możliwych wartości naszej zmiennej. ta zmienna to oczywiście wzrost człowieka. zakładamy, że do zbioru ludzi wysokich przynależą wszyscy. Oś y reprezentuje wartość przynależności do zbioru rozmytego. Innymi słowy zbiór ludzi wysokich powstaje przez mapowanie wzrostu człowieka z pewną wartością przynależności.
Zbiory rozmyte (4) Każdy zbiór rozmyty ma swoje ograniczenia Niech X to zbiór wartości wejściowych, a jego elementy to: x. W klasycznej teorii zbiorów, zbiór A w X jest definiowany funkcją f A (x) zwaną charakterystyką cechą zbioru A f A (x): X {0, 1}, gdzie f A ( x) = 1, if 0, if x x A A
Zbiory rozmyte (5) W teorii zbiorów rozmytych, zbiór rozmyty A przestrzeni X jest definiowany funkcją A (x) zwaną funkcją przynależności do zbioru A A (x): X [0, 1], gdzie A (x) = 1 gdy x w pełni zawarty w A; A (x) = 0 gdy x nie jest zawarty w A; 0 < A (x) < 1 gdy x jest częściowo zawarty w A. Dla każdego elementu x z przestrzeni X, wartość funkcji przynależności A (x) równa się stopniowi z jakim x jest elementem zbioru A. Ten stopień wartość zawarta między 0 a 1, reprezentuje stopień przynależności elementu x do zbioru A.
Zbiory rozmyte (6) Degree of Membership Crisp Sets 1.0 0.8 Short Average Short Tall Tall Men 0.6 0.4 0.2 Przykład opisu zbioru klasycznego i rozmytego 0.0 150 160 170 180 190 200 210 Degree of Membership 1.0 Fuzzy Sets Height, cm 0.8 0.6 Short Average Tall 0.4 0.2 Tall 0.0 150 160 170 180 190 200 210
Zbiory rozmyte (7) X Fuzzy Subset A (x) 1 Crisp Subset A 0 Fuzziness Fuzziness x Typowymi funkcjami używanymi do opisu zbiorów rozmytych są: sigmoid, funkcja Gaussowska oraz PI. Funkcje bardziej złożone wyraźnie wydłużają czas przewarzania danych opisanych zbiorami rozmytymi. Stąd w praktyce najczęściej używane są liniowe funkcje wyznaczające przynależność do zbioru rozmytego.
Zbiory rozmyte (8) Zmienna lingwistyczna jest zmienną rozmytą. Dla przykładu Janek jest wysoki - implikuje zmienną lingwistyczną Janek - przyjmującą lingwistyczną wartość wysoki. Zakres możliwych wartości lingwistycznej zmiennej reprezentuje przestrzeń zmienności tej wartości. Przykład zakres zmienności lingwistycznej zmiennej prędkość opisanej liczbowo od 0 do 220 km/h może przyjmować wartości rozmyte takie jak: bardzo wolno, wolno, średnio, szybko, i bardzo szybko. Innymi słowy zmienne lingwistyczne mogą mieć dodatkowe parametry rozmyte, zwane przedrostkami. Przedrostki modyfikują kształt zbioru rozmytego. To określenia takie jak: bardzo, trochę, nieco, więcej, mniej, znacząco.
Przedrostek bardzo zbioru rozmytego Degree of Membership 1.0 0.8 0.6 Short Average Short Tall 0.4 0.2 Very Short Very Tall Tall 0.0 150 160 170 180 190 200 210 Height, cm
Zbiory rozmyte (9) Operacje na zbiorach rozmytych - dopełnienie Zbiór klasyczny: Kto/co do zbioru nie należy? Zbiór rozmyty: W jakim stopniu ktoś/coś nie należy do zbioru? Przykład mamy zbiór osób wysokich, dopełnienie zbiór osób niewysokich. Jeśli A jest zbiorem rozmytym, to dopełnienie -A opisujemy następująco: -A (x) = 1 A (x)
Zbiory rozmyte (10) Operacje na zbiorach rozmytych - zawieranie Zbiór klasyczny: Które elementy należą do innych zbiorów? Zbiór rozmyty: Które elementy należą do innych zbiorów?? W zbiorze ludzi wysokich zbiór ludzi bardzo wysokich jest podzbiorem ludzi wysokich. Zauważmy, że zbiór ludzi wysokich jest także podzbiorem zbioru ludzie. W zbiorach klasycznych elementy podzbiorów przynależą w całości do zbioru większego. W zbiorach rozmytych sytuacja jest podobna, lecz: elementy mają mniejszą wartość przynależności do podzbioru niż do zbioru większego.
Zbiory rozmyte (11) Operacje na zbiorach rozmytych - przekrój Zbiór klasyczny: Które elementy należą do obu zbiorów? Zbiór rozmyty: Jak mocno elementy należą do obu zbiorów?? W zbiorach klasycznych do przekroju należą elementy nakładające się zbiorów macierzystych. W zbiorach rozmytych elementy mogą należeć do obu zbiorów macierzystych z różnymi wartościami funkcji przynależności. Rozmyty przekrój to niższa wartość funkcji przynależności. Zatem rozmyty przekrój zbiorów rozmytych A i B w przestrzeni X: A B (x) = min [ A (x), B (x)] = A (x) B (x), gdzie: x X
Zbiory rozmyte (12) Operacje na zbiorach rozmytych - suma Zbiór klasyczny: Który element należy do któregoś ze zbiorów? Zbiór rozmyty: Jak mocno element należy do któregoś ze zbiorów?? Dla zbiorów klasycznych suma zbiorów jest wynikiem logicznej operacji OR. Dla zbiorów rozmytych suma jest odwrotnością przekroju. Tym samym, suma powstaje jako produkt największej wartości funkcji przynależności. Suma rozmyta dwóch rozmytych zbiorów A i B w przestrzeni X może być opisana jako: A B (x) = max [ A (x), B (x)] = A (x) B (x), gdzie: x X
Zbiory rozmyte (13) ( x ) 1 0 1 A Not A x ( x ) 1 0 1 A B A B x Operacje na zbiorach rozmytych 0 0 Complement x Containment ( x ) ( x ) x 1 A B 1 A B 0 x 0 x 1 A B 1 0 Intersection x 0 A B Union x
Logika rozmyta (1) Logika rozmyta to rozszerzenie logiki dwuwartościowej prawdziwość zdania is nie jest ograniczona do prawdy i fałszu Przykłady zdań rozmytych: Φ = Height(John, tall) Φ = 0.9 Ψ = Speed(Mazda, fast) Ψ = 0.3 Prawdziwość zdania może być definiowana: -Φ = 1 Φ Φ Ψ = min { Φ, Ψ } /* t-norm */ Φ Ψ = max { Φ, Ψ } /* t-conorm */ Φ Ψ = min {1 - Φ + Ψ, 1} /* Lukasiewicz */
Logika rozmyta (2) Cztery klasy logiki rozmytej Logika klasyczna klasyczne wyrażenie: Height(John, 180) Weight(John, 60) klasyczne dane: Height(John, 180) Rozmyta baza wiedzy rozmyte wyrażenie: Height(John, tall) Weight(John, heavy) klasyczne dane: Height(John, 180) Niepewna baza wiedzy klasyczne wyrażenie: Height(John, 180) Weight(John, 60) rozmyte dane: Height(John, tall) Niepewna rozmyta baza wiedzy rozmyte wyrażenie: Height(John, tall) Weight(John, heavy) rozmyte dane: Height(John, tall)
Rozmyte systemy bazy wiedzy (1) Rozmyte systemy bazy wiedzy lub systemy sterowania rozmytego są specjalnym typem wielowartościowej logiki Reguły rozmyte są użyte do operowania na zbiorach rozmytych Prawdziwość każdej reguły rozmytej jest równa 1 Reprezentacja reguły rozmytej IF x is A THEN y is B gdzie x i y są zmiennymi lingwistycznymi; A i B są wartościami lingwistycznymi pozyskiwanymi ze zbiorów rozmytych odpowiednio w przestrzeni X i Y.
Rozmyte systemy bazy wiedzy (2) Reguła rozmyta może mieć wiele założeń: IF AND AND THEN project_duration is long project_staffing is large project_funding is inadequate risk is high Podobnie możemy mieć wiele wyników: IF temperature is hot THEN hot_water is reduced; cold_water is increased
Rozmyte systemy bazy wiedzy (3) Reguły wnioskowania klasyczne i rozmyte: Reguła klasyczna: IF speed is >100 THEN stopping_distance is long reguła rozmyta: IF speed is fast THEN stopping_distance is long W systemach rozmytych reguły mogą być odpalane etapami. Założenie i reakcja wniosek mają ten sam poziom przynależności.