Bazy danych
Transkrypt
Bazy danych
2011-04-04 PLAN WYKŁADU Optymalizacja rojem cząsteczek Sztuczne systemy immunologiczne Algorytm selekcji klonalnej OPTYMALIZACJA GLOBALNA Wykład 9 dr inż. Agnieszka Bołtuć RÓJ CZĄSTECZEK RÓJ CZĄSTECZEK Kennedy i Eberhart w roku 1995 publikują artykuł dotyczący modelu opierającego się na zachowaniu stada, Zwrócili oni uwagę na umiejętność sprawnego poruszania się w grupie obserwowaną w społecznościach żywych organizmów - w stadzie ptaków lub ławicy ryb, Poszukiwali zasad wpływających na taką dynamikę ruchu - jednym z fundamentalnych założeń było przyjęcie możliwości komunikowania się między osobnikami i dzielenia się informacją, zwierzęta poruszają się stadem bądź ławicą w poszukiwaniu żywności, w celu uniknięcia zagrożeń i rozprzestrzenienia się materiału genetycznego, dlatego informacje zdobyte przez jednego osobnika muszą stać się własnością całego stada, cechy stada: bezpieczeństwo ruchu, rozprzestrzenianie, skupianie, orientacja 1 2011-04-04 RÓJ CZĄSTECZEK Modele które są wykorzystywane w optymalizacji są związane z jedynie dwoma własnościami: skupianie i orientacja, Z tego powodu nie nazywa się ich ostatecznie stadem czy ławicą a rojem (Millonas), RÓJ CZĄSTECZEK W swoim działaniu każda cząsteczka realizuje kompromis pomiędzy trzema możliwymi wyborami: Pójść swoją własną drogą, Pójść w stronę swojej dotychczas najlepszej znalezionej pozycji, Pójść w stronę najlepszego położenia znalezionego przez sąsiadów. RÓJ CZĄSTECZEK Własności cząsteczki (nie mają wagi ani rozmiaru, jednak posiadają prędkość): posiada precyzyjnie określone położenie (współrzędne) i prędkość, zna swoje współrzędne oraz wartość funkcji ewaluacyjnej dla tych współrzędnych, zna najlepsze położenie, jakie dotychczas osiągnęła, oraz wartość funkcji ewaluacyjnej dla tego położenia, zna swoich sąsiadów, ich najlepsze położenie, jakie dotychczas osiągnęli, oraz wartość funkcji ewaluacyjnej dla tego położenia. RÓJ CZĄSTECZEK t Wyliczenie nowych wartości będące kompromisem pomiędzy trzema wariantami: v ,x yt t y *t c1 , c2 , c3 r1 , r2 , r3 - - - - vt 1 c1r1v t xt 1 xt c2 r2 ( y t x t ) c3r3 ( y *t x t ), vt 1 , prędkość i położenie w chwili t najlepsza dotychczas znaleziona przez cząsteczkę pozycja dla chwili czasowej t, najlepsza dotychczas znaleziona przez sąsiadów pozycja (lub najlepszy z sąsiadów) dla chwili czasowej t, współczynniki określające na ile cząsteczka ufa sobie, swojemu doświadczeniu czy sąsiadom i ich doświadczeniu, wartości losowe z przedziału <0,1> określane dla każdego ruchu cząsteczki. 2 2011-04-04 RÓJ CZĄSTECZEK RÓJ CZĄSTECZEK Wyliczanie nowych wartości cząsteczek dla k-tego wymiaru przestrzeni przeszukiwań: v t 1[k ] c1r1vt [k ] c2 r2 ( y t [k ] x t [k ]) c3r3 ( y*t [k ] x t [k ]), Schemat Utwórz i zainicjuj optymalizator S dla przestrzeni n-wymiarowej; do { for (i=1;i<liczba_cząsteczek;i++) x t 1[k ] xt [k ] vt 1[k ], { if (f(S.xi)<f(S.yi)) S.yi=S.xi; vt [k ], y t [k ], xt [k ], y*t [k ] if (f(S.yi)<f(S.y*)) S.y*=S.yi; - k-te współrzędne wektorów v,y,x,y* w chwili czasu t } Aktualizacja wszystkich cząsteczek z S; } while (war_stop) INICJALIZACJA OPTYMALIZATORA S Przy założeniu, że mamy korzystać z s cząsteczek, a przestrzeń poszukiwań jest n-wymiarowa, mamy następujące kroków: Zainicjowanie wszystkich początkowych położeń cząsteczek S.xij (j-ta współrzędna położenia i-tej cząsteczki) dla każdej wartości i i j, wartościami losowymi pochodzącymi z generatora liczb losowych o rozkładzie równomiernym z przedziału <xmin,xmax>, INICJALIZACJA OPTYMALIZATORA S Zainicjowanie wszystkich początkowych prędkości cząsteczek w ten sam sposób, możliwe jest też ustawieni ich na zero, Zainicjowanie yi=xi, można też dla każdej cząsteczki generować dwa punkty losowe, lepszego przypisać pod y, gorszego pod x, duży koszt, rzadko stosowane, 3 2011-04-04 KWESTIA SĄSIEDZTWA sposoby określania wartości zmiennej S.y*, tj. najlepszej dotychczas znalezionej przez sąsiadów pozycji, gdzie S.y* to: najlepsze znalezione rozwiązanie z całej populacji cząsteczek (nazywane wersją gbest, czyli global best particie), najlepsze znalezione rozwiązanie z cząsteczek z sąsiedztwa i-tej cząsteczki (nazywane wersją Ibest, tj. local best position, lub alternatywnie wersją neighbourhood best - najlepszy z sąsiedztwa), W ERSJA BINARNA ALGORYTMU KWESTIA SĄSIEDZTWA Najprostszym sposobem określenia zbioru sąsiadów i-tej cząsteczki jest wzięcie l cząsteczek o indeksach poprzedzających i oraz l - o indeksach następujących po i, Zachowanie algorytmu w zależności od sposobu wyboru S.y*: w pierwszym przypadku szybciej zbiega do optimum, w drugim bardziej odporny na optima lokalne. W ERSJA BINARNA ALGORYTMU Wartości wektora xi to wartości binarne, Prędkość nie jest reprezentowana przez wartości binarne, Określanie nowych wartości cząsteczek: Wyliczenie nowych wartości prędkości v t+1, Wyliczenie funkcji sigmoidalnej, 1 sig (vit, j ) 1 exp( vit, j ) Określenie nowych wartości położenia xit, j1 0 gdy r3t, j sig (vit, j1 ), 1 w przeciwnym przypadku, źródło: K. Trojanowski, „Metaheurystyki praktyczne” 4 2011-04-04 MODYFIKACJE ALGORYTMU OPTYMALIZACJI ROJEM CZĄSTECZEK WSPÓŁCZYNNIK INERCJI Dzielimy te modyfikacje na dwie klasy: wzmacniające zbieżność algorytmu do optimum, współczynnik inercji, selekcja, hodowla cząsteczek, podtrzymujące różnorodność zbioru cząsteczek, wzmacniające eksploracyjne cechy algorytmu przestrzenne sąsiedztwo, topologie sąsiedztwa. SELEKCJA Cel – wzmocnienie zbieżności, Pochodzenie – algorytmy ewolucyjne, selekcja turniejowa, Przeprowadzana przed aktualizacją cząsteczek, Etapy: dla cząsteczki wybranej z roju dokonujemy porównania wartości funkcji dopasowania dla tej cząsteczki z wartościami dopasowania zbioru losowo wybranych k cząsteczek, jeżeli wybrana wcześniej cząsteczka jest lepsza, zostaje jej przyznany jeden punkt; powtarzamy dla wszystkich cząsteczek w roju. Polega na wprowadzeniu inercji - dodatkowego współczynnika wagi do równania na nową prędkość cząsteczki v t 1[k ] c1r1v t [k ] c2 r2 ( y t [k ] x t [k ]) c3r3 ( y *t [k ] x t [k ]), współczynnik inercji, badany eksperymentalnie jako stały i dynamiczny, Badano działanie algorytmu przy zmniejszającym się od 0.9 do 0.4, przy dużym współczynniku – duża eksploracja, przy małym lokalne poszukiwania, porównuje się do temperatury w algorytmie symulowanego wyżarzania. SELEKCJA Uporządkowanie cząsteczek według liczby przyznanych im punktów - od tych o największej liczbie do tych o najmniejszej liczbie punktów, Wybór lepszej połowy zbioru cząsteczek i skopiowanie położeń wybranych cząsteczek (ale nie prędkości) odpowiednio na położenia cząsteczek połowy gorszej; informacja o najlepszych dotychczas znalezionych rozwiązaniach w cząstkach gorszych pozostaje nie zmieniona, Po procesie selekcji następuje aktualizacja prędkości cząsteczek. 5 2011-04-04 SELEKCJA HODOWLA CZĄSTECZEK Wyniki badań eksperymentalnych podejścia z selekcją były lepsze od wyników podejścia klasycznego w wersji dla funkcji jednomodalnych, ale gorsze - dla funkcji wielomodalnych, Wynika to z cechy selekcji która powoduje tendencję zbiegania algorytmu do optimów i zatrzymywania się wówczas w optimach lokalnych, Tak więc selekcja wzmocniła cechy przeszukiwania lokalnego, ale osłabiła – globalnego. HODOWLA CZĄSTECZEK HODOWLA CZĄSTECZEK Z puli oznakowanych cząsteczek wybierane są losowo dwie i wykonywane jest krzyżowanie arytmetyczne na ich wektorach położenia i prędkości, * Dokonana zostaje zmiana y i w skrzyżowanych cząsteczkach z wartości zapamiętanych na nowe bieżące położenia powstałe w wyniku krzyżowania: yi* xi Pochodzenie – reprodukcja, rekombinacja, Używane razem i nazwane mechanizmem hodowli, Etapy: Po obliczeniu nowych położeń i prędkości cząsteczek z wykorzystaniem równań klasycznych, następuje oznaczenie każdej z cząsteczek jako potencjalnego rodzica i nadanie jej prawdopodobieństwa wyboru na rodzica Pb, Krzyżowanie arytmetyczne cząsteczek a i b xat 1[k ] rxat [k ] (1 r ) xbt [k ], xbt 1[k ] rxbt [k ] (1 r ) xat [k ] vat 1[k ] vat [k ] vbt [k ] t va , vat vbt vbt 1[k ] vat [k ] vbt [k ] t vb , vat vbt gdzie r - losowa liczba z przedziału (0,1), a operacja przejście z postaci wektorowej na skalarną poprzez obliczenie długości wskazanego wektora to 6 2011-04-04 MODYFIKACJE PODTRZYMUJĄCE HODOWLA CZĄSTECZEK Wyniki eksperymentów mówią, że hodowla cząsteczek: spowalnia zbieżność algorytmu dla funkcji unimodalnych, co czyni ten algorytm nawet mniej wydajnym od klasycznego podejścia, w przypadku funkcji wielomodalnych sytuacja jest odwrotna - nowy algorytm wyprzedza w uzyskanych rezultatach algorytm klasyczny. RÓŻNORODNOŚĆ ZBIORU CZĄSTECZEK Bazują na manipulacji głównie pojęciem sąsiedztwa, Spowolnienie zbieżności zbioru cząsteczek do jednego małego obszaru na rzecz podtrzymywania rozproszenia cząsteczek w całej dziedzinie jest uzyskiwane głównie poprzez ograniczenie prędkości transferu informacji między cząsteczkami, Skutkiem tłumienia transferu ma być utrzymanie różnorodności zbioru. PRZESTRZENNE SĄSIEDZTWO PRZESTRZENNE SĄSIEDZTWO Koncepcja sąsiedztwa oparta na długości euklidesowej, Za sąsiadów uznaje się cząsteczki, które są dostatecznie blisko nas, a więc dystans między nami byłby poniżej pewnej wartości progowej, Dla każdej pary cząsteczek obliczamy: xa xb d max gdzie dmax to największa zmierzona odległość między dwoma cząsteczkami w całym zbiorze. Wartość porównywana jest z wartością progową (będącą parametrem algorytmu, wartość z przedziału <0,1>) i za sąsiadów uznajemy tylko te cząsteczki dla których jest mniejsza, Cecha modyfikacji – duża złożoność obliczeniowa, Dopuszczane jest także przyjęcie progu zmiennego w procesie iteracyjnym, np.: prog (k ) 3k 0.6k max k max gdzie kmax było maksymalną przewidywaną liczbą iteracji w całym eksperymencie. 7 2011-04-04 PRZESTRZENNE SĄSIEDZTWO TOPOLOGIE SĄSIEDZTWA Pierścień – rozpatrywanie sąsiadów cząsteczki na podstawie ich pozycji względem niej w liście wszystkich cząsteczek, Gwiazda - wszystkie cząsteczki połączone są z jedną wybraną cząsteczką centralną i nie ma innych połączeń bezpośrednio między cząsteczkami, Pierścień i gwiazda, w wersji "z błędem„ – wersja zaburzona, np. w wersji pierścień dwa wybrane sąsiedztwa, np. 7 i 8 oraz 13 i 14 były zamienione; po zamianie sąsiadem cząsteczki 7 była cząsteczka 14, a cząsteczki 13 – cząsteczka 8, źródło: K. Trojanowski, „Metaheurystyki praktyczne” SZTUCZNE SYSTEMY IMMUNOLOGICZNE Są metaforą systemu immunologicznego ssaków, Złożoność systemu immunologicznego powoduje że metody obliczeniowe inspirowane tym tematem są różnorodne, Podstawowym zadaniem systemu immunologicznego jest zapewnienie stabilności organizmowi funkcjonującemu w środowisku, które przenika do niego – z wiedzą i wolą organizmu lub bez. SZTUCZNE SYSTEMY IMMUNOLOGICZNE Zadanie systemu – sprawdzenie czy nowe cząsteczki, które pojawiają się w organizmie, są dla niego bezpieczne i mogą w nim pozostać lub stać się jego budulcem i integralnym komponentem, czy też nie okażą się patogenami - cząsteczkami, które należy usunąć, ponieważ stanowią dla organizmu zagrożenie, Struktury które wywołują reakcję systemu immunologicznego nazywamy antygenami (obiekty powodujące produkcję przeciwciał) i nie muszą to być ciała obce, czasem to sam organizm wytwarza takie produkty, 8 2011-04-04 SZTUCZNE SYSTEMY IMMUNOLOGICZNE SZTUCZNE SYSTEMY IMMUNOLOGICZNE Własności systemu immunologicznego: zdolność rozpoznawania wzorców, unikalność - każdy żywy organizm ma swój własny system immunologiczny dostosowany do indywidualnych warunków życia, identyfikacja własnej osoby - system jest w stanie zauważyć każdą komórkę, cząsteczkę lub dowolny inny obiekt w organizmie i zidentyfikować go jako własny lub obcy, różnorodność - bogactwo struktur (komórki, cząsteczki, proteiny, itp.), które razem tworzą jeden system, nietrwałość – w sensie pozytywnym, system podlega ciągłej przemianie: cząsteczki wchodzące w jego skład nieustannie umierają i jednocześnie są zastępowane przez nowe, autonomiczność - brak centralnego elementu kontrolującego cały system, gdyż system składa się ze zbioru autonomicznych jednostek, każda o określonym zadaniu; wszystkie one w razie uszkodzenia lub zniszczenia mogą być w krótkim czasie zastąpione. Każda grupa cząsteczek ma dobrze zdefiniowane własne zadania i każda z nich wykonuje wyłącznie swoją rolę, włączając się w ten sposób w działanie całego systemu, SZTUCZNE SYSTEMY IMMUNOLOGICZNE SZTUCZNE SYSTEMY IMMUNOLOGICZNE wielowarstwowość - polegająca na rozdzieleniu zadań na poszczególne komponenty organizmu (szpik kostny produkuje komórki krwi, grasica jest miejscem, gdzie limfocyty T nabywają swoich indywidualnych właściwości niezbędnych później do identyfikowania patogenów, itp.), brak obszarów chronionych - dowolne miejsce i dowolna komórka w organizmie (nawet własna) mogą zostać zaatakowane przez system immunologiczny, detekcja anomalii - rozpoznawanie w organizmie tych obcych obiektów, które nigdy przedtem w nim nie występowały, dynamicznie zmienny obszar kontroli - organizm nie zawiera w sobie takiego dużego repertuaru komórek i cząsteczek, aby móc rozpoznawać jednocześnie wszystkie możliwe typy patogenów; dlatego system dysponuje nieustannie zmieniającym się zbiorem limfocytów (o krótkim czasie życia), co sprawia, że nieustannie muszą być wymieniane na inne, nowe cząsteczki; dzięki temu, mimo braku kontroli całej dziedziny możliwych typów w danym momencie, w nieco dłuższej perspektywie system jako całość jest już jednak w stanie rozpoznać dowolny patogen, 9 2011-04-04 SZTUCZNE SYSTEMY IMMUNOLOGICZNE rozproszenie - cały organizm jest jednocześnie systemem obronnym; pojawienie się patogenów w dowolnym miejscu organizmu powoduje natychmiastową reakcję systemu, który jest rozproszony po całym organizmie, a więc jest wszędzie obecny, tolerancja na błędy i szum – aby system zaczął działać nie musi w 100% rozpoznać patogenu; system jest też odporny na ewentualny szum w komórkach własnych, SZTUCZNE SYSTEMY IMMUNOLOGICZNE żywotność - wynikająca z autentycznej różnorodności i mnogości komórek, uczenie się i pamięć - polegają na umiejętności szybkiej adaptacji cząsteczek systemu immunologicznego do różnych zadań obronnych, które muszą podejmować; mechanizmy te poparte są funkcjonującą w systemie silną presją selektywną, która pozwala najlepiej dostosowanym cząsteczkom pozostawać w systemie najdłużej, integracja - z pozostałymi systemami organizmu, SZTUCZNE SYSTEMY IMMUNOLOGICZNE odporność na zaburzenia – zaburzenia mogą sprawić, że system immunologiczny będzie działał mniej efektywnie, lub wręcz niektóre z jego czynności zostaną całkiem wstrzymane, ale dzięki swojej rozproszonej strukturze nie zaprzestanie on jednak podejmować postawionych przed nim zadań (być może w mniejszym stopniu), odporność na własne błędy - jeżeli system wytworzył w sobie odporność na pewien określony typ patogenu, a następnie komórki odpowiedzialne za tę odporność zostały utracone, to inne komórki podejmą próbę przeciwstawienia się występującemu patogenowi, SZTUCZNE SYSTEMY IMMUNOLOGICZNE działanie w stylu "drapieżnik - ofiara„ - system pomnaża komórki, które są w stanie rozpoznać patogeny i je zniszczyć; im więcej patogenów występuje w organizmie, tym więcej komórek, które je zwalczają, jest w stanie wytworzyć system; gdyby tak się nie stało, patogeny zdominowałyby system i doprowadziłyby do jego zniszczenia; wyeliminowanie patogenów powoduje, że system wraca do swego stabilnego stanu, a liczba komórek zdolnych rozpoznać dany rodzaj patogenów jest redukowana, 10 2011-04-04 SZTUCZNE SYSTEMY IMMUNOLOGICZNE samoorganizacja - braku wskazówek, jak komórki przeciwciał mają się dostosowywać do określonych rodzajów antygenów; zamiast tego następuje selekcja klonalna tych komórek, których przeciwciała są lepiej dostosowane niż inne - klonowanie tych komórek oraz mutacja powstałych klonów; pozwala to na stworzenie jeszcze lepiej dopasowanych przeciwciał, przy czym siła reakcji zależy od podobieństwa - im większe jest podobieństwo przeciwciał, tym więcej klonów powstanie z tej komórki, w ten sposób następuje promocja komórek lepiej dopasowanych, a w konsekwencji samoadaptacja do nowego wzorca; te najlepiej dopasowane z czasem stają się komórkami pamięciowymi, a czas ich życia znacznie się wydłuża, SZTUCZNE SYSTEMY IMMUNOLOGICZNE Praktyczne zastosowania sztucznych systemów immunologicznych: rozpoznawanie wzorców, detekcja błędów i anomalii, analiza danych (data mining, klasyfikacja, itp.), systemy agentowe, harmonogramowanie, maszynowe uczenie, autonomiczna nawigacja i sterowanie, metody szukania i optymalizacji, sztuczne życie, bezpieczeństwo systemów informatycznych. ALGORYTM SELEKCJI KLONALNEJ ALGORYTM SELEKCJI KLONALNEJ algorytmy selekcji klonalnej bazują na modelu opisującym sposób radzenia sobie przez system immunologiczny z pojawiającymi się w organizmie elementami obcymi - antygenami, antygenem jest dowolna substancja, która w wyniku kontaktu z komórkami układu immunologicznego może wywołać jego reakcję obronną, wyróżniamy antygeny własne i obce, każda komórka wytwarza autoantygeny, w normalnej sytuacji niegroźne, patogenty - antygeny obcych struktur, uruchamiają reakcję obronną, Schemat przeciwdziałania intruzowi przez system immunologiczny: limfocyty B - wyposażone w przeciwciała są odpowiedzialne za rozpoznanie antygenów i ich eliminację, przeciwciała znajdują się na jego powierzchni i wyposażone są we wzorce, w które wyposażone są również antygeny, Wzorce są porównywane i jeżeli podobieństwo jest wysokie, zaczyna się proces proliferacji i różnicowania, 11 2011-04-04 ALGORYTM SELEKCJI KLONALNEJ proliferacja - proces namnażania limfocytu, który dzieli się, tworząc nowe, w celu sprawniejszego usunięcia intruza z organizmu; nowe komórki silnie mutują, tworząc w ten sposób również nowe wzorce, bazując jednak na tych, z których pochodzą; tworzą się nowe komórki o nieco gorszym ale też jeszcze lepszym dopasowaniu do antygenu, aktywacja egzogeniczna - pobudzenie limfocytów w wyniku rozpoznania antygenów, aktywacją endogeniczną - pobudzenie wynikające z podobieństwa przeciwciał względem siebie, ALGORYTM SELEKCJI KLONALNEJ dojrzewania limfocytów - proces wielokrotnej proliferacji, dojrzała forma limfocytu B, jeśli nie zetknie się z agresorem, żyje krótko; w przeciwnym przypadku limfocyt ulega transformacji do komórki plazmatycznej, produkującej przeciwciała, albo staje się długo żyjącym limfocytem pamięci immunologicznej , który jest bardziej aktywny w reagowaniu na dany antygen. ALGORYTM SELEKCJI KLONALNEJ SAIS (SIMPLE ARTIFICIAL IMMUNE SYSTEM) inicjalizacja: wybór zbioru rozwiązań początkowych P Prezentacja antygenu: do { Określanie podobieństwa do antygenu: ustalenie podobieństwa rozwiązań z P do antygenu; Selekcja klonalna: wybór n1 osobników z P o najwyższym podobieństwie do antygenu, a następnie wygenerowanie klonów tych osobników w ilościach wprost proporcjonalnych do ich podobieństwa; Hipermutacja: wszystkie klony podlegają mutacji, przy czym siła mutacji jest odwrotnie proporcjonalna do podobieństwa do antygenu; Dojrzewanie: dodanie zmutowanych klonów do P, Metadynamika: wymiana n2 najgorszych rozwiązań z populacji na nowe, wygenerowane losowo. } Różnice w stosunku do selekcji klonalnej: dodatkowy mechanizm zarządzania populacją przeciwciał - aktywacja endogeniczna, brak etapu Metadynamiki, różnica wynikająca ze sposobu oceny podobieństwa rozwiązania do antygenu: w algorytmie selekcji klonalnej jest to wartość funkcji oceny dla danego rozwiązania, zaś tu podobieństwo do ustalonego punktu w przestrzeni (ustalane na bazie np. odległości Hamminga czy euklidesowa). while (warunek_konca_algorytmu) 12 2011-04-04 SAIS SAIS Schemat: faza ewaluacji - ulegają proliferacji te komórki, których podobieństwo do optimum jest najwyższe, dla wszystkich przeciwciał oblicza się tzw. poziom aktywacji egzogenicznej exi (poziom aktywacji itego przeciwciała jest wprost proporcjonalny do jego podobieństwa do antygenu, w szczególności może być po prostu jego wartością funkcji oceny), tworzona jest robocza populacja Pex poprzez wybranie określonej liczby przeciwciał o najwyższym poziomie aktywacji, SAIS Gęstość przeciwciała: dla reprezentacji binarnej - liczba przeciwciał, będących kopiami tego samego łańcucha binarnego, podzielona przez całkowitą liczbę wszystkich przeciwciał w populacji, dla reprezentacji rzeczywistoliczbowej gęstością jest liczba innych przeciwciał pozostających od niego w odległości nie przekraczającej pewnego eksperymentalnie ustalonego limitu e (odległości mierzonej na sposób euklidesowy) również podzielona przez całkowitą liczbę wszystkich przeciwciał w populacji. pozostałe przeciwciała będą przechodziły natomiast proces tzw. aktywacji endogenicznej i utworzą populację Pen , generowanie populacji Pex polega na zastosowaniu selekcji turniejowej na zbiorze przeciwciał o najwyższym poziomie aktywacji tyle razy, ile potrzeba do utworzenia całej populacji roboczej, generowanie populacji Pen wymaga najpierw określenia dla wszystkich pozostałych przeciwciał ich poziomu aktywacji endogenicznej i en 1 / ns di 1 ns - liczba różnych przeciwciał w populacji di - gęstość i-tego przeciwciała SAIS generowanie populacji roboczej Pen polega na zastosowaniu selekcji turniejowej na zbiorze przeciwciał, tworzone jest tyle przeciwciał, z ilu dokonywany był wybór, Kolejny krok to hipermutacja, która dokonywana jest tylko na elementach zbioru Pex , Etap dojrzewania lub rekrutacji - polega na utworzeniu nowej populacji bazowej na podstawie osobników z Pen i Pex ; elementy z Pen całkowicie zastępują grupę osobników, z których powstały, natomiast zmutowane klony z Pex zastępują odpowiednio swoje osobniki rodzicielskie w taki sam sposób, w jaki były wybierane - na zasadzie turnieju. 13 2011-04-04 YASAIS (YET ANOTHER SAIS) Algorytm dla samego autora okazał się być mało zadowalający i stworzył on algorytm zwany YASAIS, Ten drugi jednak jest naśladownikiem systemów ewolucyjnych z następującymi własnościami: reprodukcja i sukcesja osobników jest oparta na dość szczególnym sposobie prowadzenia turnieju, mutacja prowadzona jest dużo intensywniej niż w klasycznym algorytmie ewolucyjnym, brakuje krzyżowania, rezygnacja całkowicie z funkcjonującej w SAIS aktywacji endogenicznej. AIIA Reguła włączania nowych rozwiązań do zbioru roboczego P: Zamiast usuwania najgorszych rozwiązań i wprowadzania rozwiązań nowych, zastosowano zasadę, że klony mogą zastępować tylko te przeciwciała, z których same pochodzą. Wynika stąd że zastępowane było zawsze n1 najlepszych rozwiązań, przy czym były to dokładnie te rozwiązania, które wcześniej zostały wybrane na etapie selekcji klonalnej. Każde z nich było zastępowane przez najlepszego ze swoich zmutowanych klonów. Jeśli żaden ze zmutowanych klonów nie okaże się lepszy od oryginału, jeden z klonów zawsze pozostanie nie zmieniony. To gwarantowało, że w najmniej korzystnym przypadku po etapie Dojrzewania otrzymamy to samo rozwiązanie, jakie było na początku. ALGORYTM SELEKCJI KLONALNEJ AIIA AIIA (Artificial Immune Iterated Algorithm), inspirowany zarówno podejściami klasycznym jak i SAIS, różnice: siła mutacji nie zależy od jakości oryginału z którego pochodził mutowany klon, ale była stała i jednakowa dla wszystkich klonów, dotyczy reguły włączania nowych rozwiązań do zbioru roboczego P. BCA (B-CELL ALGORITHM) charakterystyczną cechą dla BCA jest zastosowany w nim operator mutacji ciągłej - losowany jest punkt startowy oraz długość obszaru mutacji, a następnie zanegowaniu poddawany jest cały wybrany fragment genotypu, pominięto tutaj etap Metadynamiki obecny w algorytmie klonalnym, ciekawostką algorytmu BCA jest format zapisu wektorów współrzędnych - każda współrzędna rozwiązania reprezentowana była jako 64-bitowy ciąg binarny i interpretowana jako binarny zapis liczby typu double, 14 2011-04-04 PODOBIEŃSTWO SYSTEMÓW IMMUNOLOGICZNYCH DO AE IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA Nazewnictwo: rozwiązania to "przeciwciała" a nie "osobniki", funkcja oceny to "podobieństwo do antygenu" a nie "dopasowanie", Brak krzyżowania, Mutacja w algorytmach selekcji klonalnej jest dużo bardziej rozbudowana, a sukcesja może być bardziej selektywna, Algorytm jest inspirowany teorią sieci immunologicznej oraz mechanizmem prezentacji peptydów MHC (Major Histocompatibility Complex), Zadania n-komiwojażera - problem komiwojażera w wersji mnogiej, tj. w wersji, gdzie dysponujemy pewną liczbą komiwojażerów, których zadaniem jest odwiedzić wszystkie miasta w taki sposób, aby żadne miasto nie zostało odwiedzone przez kilku komiwojażerów, oraz aby suma ich tras była minimalna. IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA Cząsteczki MHC są podstawowym nośnikiem informacji o rodzaju intruza, jaki wniknął do organizmu, Kluczowa decyzja o uruchomieniu reakcji obronnej, jaka musi być w tym momencie podjęta, spoczywa na limfocytach typu T, Ich rolą jest uaktywnić limfocyty B wyposażone w przeciwciała, aby zaczęły one proces proliferacji i różnicowania, którego celem jest wytworzenie przeciwciał. kiedy komórki organizmu pochłaniają wirus, to poddają go enzymatycznej obróbce, a następnie prezentują jego zdegradowane białka (peptydy) w formie kompleksu MHC-peptyd na swojej powierzchni, wyróżniamy dwa rodzaje cząsteczek MHC: cząsteczki klasy I i klasy II, 15 2011-04-04 IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA Inicjalizacja początkowej postaci zbioru roboczego cząsteczek MHC do { Makrofag: ocena cząsteczek MHC ze zbioru roboczego while (stan_konkurencji_miedzy_cząsteczkami) { Limfocyt T: eliminacja stanu konkurencji między cząsteczkami MHC } Limfocyt B: tworzenie nowych cząsteczek MHC, ich ocena i włączenie nowych do zbioru roboczego } while (warunek_konca_algorytmu) W algorytmie pojedyncze rozwiązanie (cząsteczka MHC klasy II) reprezentuje ścieżkę jednego komiwojażera, dlatego też populacja liczy tyle cząsteczek MHC, ilu jest komiwojażerów, Populacja składa się z rozwiązań cząstkowych, czyli tras każdego z komiwojażerów, Łączną trasę wszystkich komiwojażerów uzyskuje się z połączenia rozwiązań cząstkowych i dopiero cała populacja stanowi rozwiązanie problemu, W skład pojedynczej cząsteczki wchodzi lista miast, jakie ma odwiedzić dany komiwojażer. O jakości cząsteczki decyduje długość trasy komiwojażera wyznaczająca jej "dopasowanie”, IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA Inicjalizacja losowe przypisanie miast poszczególnym komiwojażerom; każdemu komiwojażerowi przypisywana jest losowa liczba losowo wybranych miast Makrofag obliczana jest długość trasy dla każdego z komiwojażerów, czyli jakość tych tras, dalej sprawdzamy czy nie ma stanu konkurencji, tzn. czy dwóch lub więcej komiwojażerów nie odwiedza tych samych miast, jeśli tak to stosowana jest metoda Limfocyt T w celu jego wyeliminowania Limfocyt T Etapy: etap 1 - eliminację stanu konkurencji przeprowadza się indywidualnie dla każdego komiwojażera zgodnie ze schematem: dla każdego z miast ustalana jest jego liczba wystąpień na ścieżce każdego z komiwojażerów i zapamiętywana w liście, która zawiera liczby wystąpień dla wszystkich miast. Miasta, które nie występują w żadnej ze ścieżek, mają liczbę wystąpień = 0. 16 2011-04-04 IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA Przeglądana jest ścieżka każdego z komiwojażerów. Odczytywane są kolejno numery miast i w liście sprawdzane jest, ile razy występują one w ścieżkach. Jeżeli dane miasto nie występuje lub występuje, tylko jeden raz, nie są wykonywane żadne działania. Natomiast jeżeli dane miasto występuje w ścieżkach więcej niż jeden raz, wtedy, o ile jest to możliwe, zamieniane jest na pierwsze miasto z listy tych, które do tej pory nie wystąpiły ani razu i aktualizowana jest lista z liczbą wystąpień poszczególnych miast, Proces jest powtarzany, aż wszystkie miasta na ścieżce komiwojażera zostaną sprawdzone. IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA Dla każdego komiwojażera, któremu podczas realizacji poprzedniego etapu udało się wyeliminować stany konkurencji, porównywane są jakości jego trasy przed zmianą, kiedy stan konkurencji występował, i po zmianie, już bez stanu konkurencji. Jeżeli jakość trasy bez stanu konkurencji jest wyższa od jakości ze stanem konkurencji usunięcie stanu konkurencji jest zatwierdzane, w przeciwnym przypadku nie jest zatwierdzane a trasa przyjmuje początkową postać. IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA etap 2 – zatwierdzanie eliminacji konkurencji, Jeśli po tym etapie pozostaną jeszcze jakieś stany konkurencji przeprowadza się ich dodatkową eliminację, dla wszystkich komiwojażerów, którzy do metody Limfocyt T weszli ze stanami konkurencji, dokonujemy dodatkowej oceny ścieżek - najpierw indywidualnie, a potem parami: IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA Wśród komiwojażerów ze stanami konkurencji (również tych, którym zmiany w trasach zostały cofnięte w poprzednim kroku), następuje jeszcze jedna próba naprawy. Znajdowane są wszystkie pary konkurujących komiwojażerów i stan konkurencji jest usuwany u tego z porównywanych komiwojażerów, którego trasa okaże się dłuższa. Jeżeli po wykonaniu powyższych dwóch kroków istnieje jeszcze stan konkurencji w którejkolwiek z tras, to jest on usuwany, przy czym jest to wykonywane zawsze i bez uwzględniania wpływu na zmianę jakości rozwiązań. 17 2011-04-04 IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA Limfocyt B sekwencyjnie zostają wywołane trzy metody: "Mutacja", "Zamiana" oraz "Migracja„, „Mutacja”: - poszukiwana jest najkrótsza trasa odwiedzania miast przez poszczególnych komiwojażerów, - ścieżka każdego komiwojażera podlega klonowaniu oraz mutacji i inwersji, odbywają się z one ustalonym prawdopodobieństwem, a ich stosowanie ma na celu odnalezienie takiej kolejności odwiedzanych miast, aby trasa danego komiwojażera była jak najkrótsza, IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA "Zamiana„ - dokonywana jest (z ustalonym prawdopodobieństwem) zamiana pojedynczych miast pomiędzy dwoma losowo wybranymi komiwojażerami oraz zamiana fragmentów ścieżek, zawierających losową liczba miast, pomiędzy dwoma losowo wybranymi komiwojażerami, - po przeprowadzeniu zamiany obliczana jest łączna suma tras wszystkich komiwojażerów; jeżeli jest ona mniejsza od sumy, jaka była przed dokonaniem zamiany, to jej efekty są zapamiętywane, w przeciwnym razie nie. - - dla wszystkich klonów obliczana jest ich jakość; w przypadku, gdy jakość jednego z klonów jest wyższa od jakości "starego rozwiązania", wtedy "stare rozwiązanie" jest zastępowane tym właśnie klonem, należy zaznaczyć, że metoda "Mutacja" działa lokalnie, nie rozważa ona na całości rozwiązania, tylko jego fragmenty, IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA "Migracja„ - z ustalonym prawdopodobieństwem przenosi miasta pomiędzy ścieżkami, - może zmienić liczbę miast, jaką ma odwiedzić dany komiwojażer, - odbywa się według następujących etapów: 1. zapamiętanie miast przyporządkowanych poszczególnym komiwojażerom, 2. dla wybranego miasta obliczane są odległości do wszystkich jego sąsiadów, będących na trasie pozostałych komiwojażerów, 18 2011-04-04 IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA IMMUNOLOGICZNY ALGORYTM OPTYMALIZACJI ZADANIA N-KOMIWOJAŻERA 3. Odległości te są sortowane rosnąco, 4. Z ustalonym prawdopodobieństwem następuje przeniesienie danego miasta do tego komiwojażera, którego ścieżka zawiera miasta znajdujące się w najbliższej odległości, 5. Po przeniesieniu miasta do trasy innego komiwojażera następuje obliczenie łącznej sumy tras wszystkich komiwojażerów. Jeżeli suma ta jest mniejsza od dotychczasowej, następuje zapamiętanie efektu migracji, w przeciwnym razie następuje powrót do kroku 4 gdzie sprawdzane jest następne w kolejności miasto, Zakończenie „Migracji”: dla danego miasta - gdy zostanie przeniesione ono do ścieżki innego komiwojażera, lub gdy sprawdzona zostanie ustalona liczba miast leżących w najbliższej odległości, dla wszystkich miast - po wykonaniu kroków 1-5 dla każdego z miast w ścieżkach wszystkich komiwojażerów, Powstaje nowa populacja ścieżek; jeżeli jest ona lepsza od tej początkowej to nowa zastępuje dotychczasową, w przeciwnym razie wynik jest odrzucany, a algorytm korzysta z dotychczasowego rozwiązania. W YKŁAD PRZYGOTOWANO NA PODSTAWIE K. Trojanowski, „Metaheurystyki praktyczne”, WIT, 2005, 19