800 likes | 1k Views
Algorytmy immunologiczne. Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki mbereta@pk.edu.pl beretam@torus.uck.pk.edu.pl www.michalbereta.pl. Zapobieganie przedwczesnej zbieżności.
E N D
Algorytmy immunologiczne Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki mbereta@pk.edu.pl beretam@torus.uck.pk.edu.pl www.michalbereta.pl
Zapobieganie przedwczesnej zbieżności • Przedwczesna zbieżność ma miejsce, kiedy algorytm ewolucyjny traci zdolność przeszukiwania przestrzeni rozwiązań przed osiągnięciem optimum globalnego. • Nie można mu zapobiec całkowicie, gdyż wynika on z nacisku selektywnego
Zapobieganie przedwczesnej zbieżności Zapobieganie przedwczesnej zbieżności • Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej • Uwzględniania czasu życia osobników • Deformacje funkcji przystosowania • Uzależnienie nacisku selektywnego nie tylko od funkcji przystosowania lecz również od jego genotypu • Metody generacji populacji początkowej • Związek odporności AE od liczności populacji
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Zakładamy, że istnieje algorytm przeszukiwania lokalnego, który każdemu chromosomowi znajdującemu się w obszarze przyciągania danego optimum lokalnego przyporządkowuje to optimum lokalne. Przykład: Algorytm opt-2 w problemie komiwojażera uruchamiany dla każdego chromosomu.
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Korzyści: AE szybko lokalizuje obiecujące obszary w przestrzeni poszukiwań, jednak znalezienie dokładnej wartości optimum (dostrajanie) jest żmudnym i długotrwałym procesem.
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Sposoby łączenie AE i metod lokalnych • Przeszukiwanie lokalne jako dodatkowy operator genetyczny • Przeszukiwanie lokalne jako jeden z elementów odwzorowania genotypu w fenotyp
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Przeszukiwanie lokalne jako dodatkowy operator genetyczny • Osobnik X jest zastępowany przez osobnika Y uzyskanego w wyniku optymalizacji lokalnej • Można wykonać jedynie kilka kroków optymalizacji lokalnej • Może to prowadzić do przyspieszenia ewolucji Przykład: Korzystanie z gradientu funkcji
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Wada Wykorzystanie optymalizacji lokalnej jest źródłem dodatkowego nacisku selektywnego, które może wprowadzić tendencję do preferowania maksimów lokalnych. Należy dbać wtedy o zachowanie różnorodności osobników w populacji.
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Przeszukiwanie lokalne jako jeden z elementów odwzorowania genotypu w fenotyp • Wykorzystywane podczas obliczania funkcji przystosowania osobnika • Oryginalny chromosom X (jego fenotyp) stanowi punkt startowy dla metody lokalnej. Uzyskiwany jest osobnik Y oraz jego ocena. • Dysponujemy dwoma osobnikami i dwiema wartościami funkcji oceny.
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Dysponujemy dwoma osobnikami i dwiema wartościami funkcji oceny. Można je wykorzystać na kilka sposobów. • Wartości Y oraz F(Y) są zapamiętywane, lecz nie są wprowadzane do populacji bazowej (mogą być wykorzystane podczas oceny osobników lub w kryterium zatrzymania)
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Dysponujemy dwoma osobnikami i dwiema wartościami funkcji oceny. Można je wykorzystać na kilka sposobów. • Wartości Y oraz F(Y) są zapamiętywane, lecz nie są wprowadzane do populacji bazowej (mogą być wykorzystane podczas oceny osobników lub w kryterium zatrzymania) • Wartość F(Y) jest traktowana jako wartość przystosowania osobnika X (efekt Baldwina)
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Dysponujemy dwoma osobnikami i dwiema wartościami funkcji oceny. Można je wykorzystać na kilka sposobów. • Wartości Y oraz F(Y) są zapamiętywane, lecz nie są wprowadzane do populacji bazowej (mogą być wykorzystane podczas oceny osobników lub w kryterium zatrzymania) • Wartość F(Y) jest traktowana jako wartość przystosowania osobnika X (efekt Baldwina) • Osobnik Y zastępuje osobnika X, wykorzystywana jest funkcja oceny F(Y) (ewolucja lamarkowska)
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Baldwin (amerykański ewolucjonista) doszedł do wniosku, że genotyp osobnika określa jego predyspozycje, które w wyniku • doświadczeń, • oddziaływań środowiska • uczenia się prowadzą do modyfikacji fenotypu i zwiększania funkcji przystosowania. Przyczyną występowania wspólnych cech nie jest dziedziczenie cech nabytych lecz jedynie predyspozycji.
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Efekt Baldwina • Jest to przypisanie osobnikowi wartości funkcji przystosowania , która jest wynikiem działania metody optymalizacji lokalnej, modelującej proces adaptacji fenotypowych cech osobnika do warunków środowiska • Metoda lokalna działa na fenotypie • Z punktu widzenia osobników funkcja przystosowania przybiera postać wielu płaskowyżów, z których każdy pokrywa się z obszarem przyciągania maksimum (minimum) lokalnego
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Efekt Baldwina
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Lamarkizm • Hipoteza rozwoju gatunków polegająca na dziedziczeniu cech nabytych w trakcie życia osobniczego. • Współczesny ewolucjonizm odrzuca ten pogląd z powodu braku dowodów na istnienie mechanizmów modyfikacji genotypów na podstawie adaptacji całego organizmu • Można jednak wykorzystać tę ideę do tworzenia AE
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Ewolucja lamarkowska • W AE polega na tym, że znaleziony w wyniku optymalizacji lokalnej nowy osobnik Y zastępuje osobnika oryginalnego X. • W wyniku tego cała populacja jest ściągana do optimów lokalnych i następuje zmniejszenie różnorodności populacji – algorytm ma bardzo eksploatacyjny charakter.
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Ewolucja lamarkowska Zastępowanie powoduje niebezpieczeństwo zaniku różnorodności populacji
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Ewolucja lamarkowska Zastępowanie powoduje niebezpieczeństwo zaniku różnorodności populacji Takie same lub bardzo podobne osobniki.
Połączenie algorytmu ewolucyjnego i metod optymalizacji lokalnej Ewolucja lamarkowska - wady • Mało odporna na pułapki ewolucyjne – potrzebne makromutacje by uciec z minimów lokalnych • Mechanizm ten może utrudniać powstawanie osobników tzw. „ogniw pośrednich” – zazwyczaj gorszych niż chromosomy bliskie lokalnych optimów. • Wymaga dodatkowych mechanizmów zwiększających różnorodność populacji
Uwzględniania czasu życia osobników Sukcesja elitarna gwarantuje przeżycie najlepszego osobnika • Zaleta – szybsza zbieżność algorytmu • Wada – mała odporność na pułapki ewolucyjne oraz zaburzenia procesu samoczynnej adaptacji (np. parametrów mutacji)
Uwzględniania czasu życia osobników Możliwe rozwiązanie • Wprowadzenie maksymalnego czasu życia osobnika • Ze starej populacji bazowej usuń wszystkie osobniki, których czas życia przekroczył limit • Wyłoń elitę z pozostałych osobników Taki schemat wprowadzono w strategiach ewolucyjnych (μ, κ, λ) μ – rozmiar populacji bazowej κ – maksymalny czas życia λ – rozmiar populacji potomnej Rozmiar populacji jest stały.
Uwzględniania czasu życia osobników Możliwe rozwiązanie 2 • Uzależnić czas życia osobnika od wartości jego przystosowania oraz przystosowania innych osobników w populacji w poprzednich k pokoleniach • Zmienny rozmiar populacji • Należy określić postać funkcji fl(X) przydzielającej długość życia osobnikom w momencie ich powstawania • Reprodukcja zachodzi z jednakowym prawdopodobieństwem dla każdego • Im lepszy osobnik tym więcej potomstwa wyda, gdyż dłużej żyje
Uwzględniania czasu życia osobników Funkcja liniowa lmax – maksymalny czas życia lmin – mininalny czas życia lav = (lmin + lmax)/2 – średni czas życia Fmin, Fmax, Fav – minimalna, maksymalna i średnia wartość funkcji przystosowania w pewnym oknie czasowym
Uwzględniania czasu życia osobników Funkcja proporcjonalna lmax – maksymalny czas życia lmin – mininalny czas życia lav = (lmin + lmax)/2 – średni czas życia Fmin, Fmax, Fav – minimalna, maksymalna i średnia wartość funkcji przystosowania w pewnym oknie czasowym
Uwzględniania czasu życia osobników Funkcja biliniowa lmax – maksymalny czas życia lmin – mininalny czas życia lav = (lmin + lmax)/2 – średni czas życia Fmin, Fmax, Fav – minimalna, maksymalna i średnia wartość funkcji przystosowania w pewnym oknie czasowym
Uwzględniania czasu życia osobników Liczba nowych potomków w każdej iteracji • Stała wartość λ – bardziej stabilny algorytm – skończona maksymalny rozmiar populacji λ*(lmax+1) • Stała proporcja λ/μ – rozmiar populacji może rosnąć w nieskończoność
Uwzględniania czasu życia osobników • Eksperymenty pokazują, że właściwości tego algorytmu w niewielkim stopniu zależą od liczności początkowej populacji bazowej. • Oznacza to, że można uniknąć kłopotliwego dobierania optymalnej liczności populacji bazowej.
Optymalizacja wielomodalna • Funkcja przystosowania nie zawsze uwzględnia wszystkie elementy mające wpływ na jakość rozwiązania • Wynikać to może z pewnych niemierzalnych cech (np. estetyka rozwiązania) bądź koniecznych uproszczeń zastosowanych w modelu • Oznacza to, że w zbiorze rozwiązań globalnych zadania mogą występować lepsze i gorsze • Może się okazać, że ostatecznie wybrane zostanie jedno z rozwiązań lokalnie optymalnych
Optymalizacja wielomodalna • Mając to na uwadze, czasami warto prowadzić poszukiwania wielu rozwiązań optymalnych oraz suboptymalnych • Optymalizacja wielomodalna ma na celu znalezienie jak największej liczby jak najlepszych, różnych maksimów funkcji przystosowania.
Optymalizacja wielomodalna • Podstawowym wymogiem w ewolucyjnej optymalizacji wielomodalnej jest utrzymywanie różnorodności populacji • Przeszkodą w osiągnięciu tego celu jest globalny zasięg działania selekcji • W czasie selekcji konkurują ze sobą wszystkie osobniki, w wyniku czego pod koniec ewolucji w populacji dominują potomkowie najlepszego z nich
Optymalizacja wielomodalna Rozwiązanie problemu • Dodanie czynnika losowego, niezależnego od stanu populacji • Zmniejszenie zasięgu selekcji – ograniczenie konkurencji do osobników podobnych do siebie w przestrzeni genotypów. Mowa jest wtedy o kształtowaniu się nisz
Optymalizacja wielomodalna Dodanie czynnika losowego, niezależnego od stanu populacji • Wprowadzanie osobników losowych (tzw. technika losowych imigrantów) • Część populacji potomnej powstaje w wyniku operacji genetycznych na aktualnej populacji, część jest losowo wygenerowanymi nowymi osobnikami • Ułatwia uniknięcia optimów lokalnych ale prowadzi do wolniejszej zbieżności • Można to traktować jako operator genetyczny podobny do mutacji
Optymalizacja wielomodalna Dodanie czynnika losowego, niezależnego od stanu populacji • Okresowa odnowa algorytmu (algorytm ewolucyjny z odnową lub algorytm z destrukcyjnym restartem) • Polega na wykonaniu ciągu powiązanych ze sobą AE • Pierwszy algorytm zaczyna od całkowicie losowej populacji początkowej • Kolejne uruchomienia są inicjowane na podstawie rozwiązań otrzymanych z poprzedniego uruchomienia algorytmu poprzez wykorzystanie mutacji o dużym zasięgu
Optymalizacja wielomodalna Dodanie czynnika losowego, niezależnego od stanu populacji • Losowe zaburzenia funkcji przystosowania • Polega na dodaniu szumu do funkcji przystosowania, tak że jej wartość staje się zmienną losową • Najczęściej wykorzystywany jest rozkład normalny o zerowej wartości średniej i wariancji stałej bądź zmniejszanej wraz z kolejnymi generacjami • Metoda dobrze radzi sobie z „płytkimi” pułapkami ewolucyjnymi
Optymalizacja wielomodalna Wyłanianie nisz • Wyróżnianie podpopulacji na podstawie odległości genotypów, podział jest odnawiany co jakiś czas • Koewolucja – równoległa ewolucja wielu autonomicznych populacji z częściową wymianą materiału genetycznego • Lokalna deformacja funkcji przystosowania
Osłabienie konkurencyjności w ramach selekcji Metoda podziału przystosowania (ang. fitness sharing) • Polega na obniżeniu wartości funkcji przystosowania osobnika w stopniu proporcjonalnym do liczby osobników w jego otoczeniu • Wymagane jest określenie postaci funkcji podziału fs • Na nową wartość oceny wpływa ocena wszystkich osobników w populacji
Fitness sharing Zmodyfikowana funkcja przystosowania Gdzie |X-Y| jest metryką w przestrzeni genotypów Funkcja fs(d) powinna spełniać warunki:
Fitness sharing Oddziaływanie funkcji podziału na funkcję przystosowania polega na obniżaniu jej w miejscach, w których gęstość liczby osobników jest duża.
Fitness sharing Populację osobników Y, dla których fs(|X-Y|)>0 nazywa się niszą. Algorytm wykorzystujący tę technikę nazywamy algorytmem niszowym (ang. nichingevolutionaryalgorithm)
Fitness sharing Przykład dla funkcji gdzie σshare - rozmiar otoczenia wokół danego rozwiązania α– parametr skalujący
Fitness sharing σshare= 3.0 α = 0.5
Fitness sharing Może się zdarzyć, że chromosomy znajdujące się blisko globalnego maksimum będą miały tak obniżoną wartość funkcji przystosowania, że będą miały problemy z przekazaniem swoich genów. Może wtedy dojść do „migotania” populacji czyli oscylacji między obszarami przyciągania różnych maksimów.
Fitness sharing Migotania można się pozbyć ustalając mianownik związany z podziałem jako różny dla każdego osobnika. Z dwóch osobników identycznych większą ocenę otrzyma osobnik, który jako pierwszy był brany pod uwagę.
Metody grupowania w AE AE można zmodyfikować w taki sposób, by przed wykonaniem reprodukcji populację bazową Pt podzielić na v rozłącznych populacji Ptc c= 1..v Dla każdej z grup wykonuje się osobno selekcję i operacje genetyczne. Podpopulacje mogą się zmieniać z generacji na generację.
Metody grupowania w AE Grupowanie polega na wyodrębnieniu takich grup, by osobnik w obrębię każdej grupy był maksymalnie do siebie podobne i maksymalnie się różniły od osobników w innych grupach. Algorytmy C-means (k-średnich) FuzzyC-means itp.
Preselekcja • Metoda podobna do metod bazujących na grupowaniu • Polega na modyfikowaniu sukcesji, podczas której uwzględnia się, oprócz wartości funkcji przystosowania, również relację między genotypami osobników.
Preselekcja Schemat: • Po utworzeniu nowego osobnika zwyczajnym sposobem (selekcja + operatory genetyczne) z populacji bazowej usuwany jest jeden osobnik • Po zakończenie cyklu reprodukcji i operatorów genetycznych populacja potomna i resztki populacji bazowej tworzą nową populację bazową
Preselekcja Dwa sposoby wyboru osobników do wymiany • Jeden z osobników rodzicielskich (np. o najmniejszej wartości funkcji przystosowania jeśli jest gorszy od potomka) • Osobnik z populacji, który jest najbardziej podobny do potomka (ścisk) (niezależnie od jego oceny) • Schemat ze ściskiem: w celu przyspieszenia obliczeń można wybrać pewien podzbiór osobników populacji bazowej (o liczności k – współczynnik ścisku), spośród których wybrany zostanie osobnik do odrzucenia.