BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE. Adrian Horzyk. Akademia Górniczo-Hutnicza

Podobne dokumenty
ALGORYTMY GENETYCZNE ćwiczenia

Algorytm genetyczny (genetic algorithm)-

6. Klasyczny algorytm genetyczny. 1

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Algorytmy genetyczne w optymalizacji

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Algorytmy genetyczne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

Obliczenia ewolucyjne - plan wykładu

Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Algorytmy genetyczne

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Algorytmy genetyczne

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

Algorytmy genetyczne

Algorytmy ewolucyjne. wprowadzenie

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Dobór parametrów algorytmu ewolucyjnego

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Metody Rozmyte i Algorytmy Ewolucyjne

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG

Równoważność algorytmów optymalizacji

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Wstęp do Sztucznej Inteligencji

Program "FLiNN-GA" wersja 2.10.β

METODY INŻYNIERII WIEDZY

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Metody przeszukiwania

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Aproksymacja funkcji a regresja symboliczna

Automatyczny dobór parametrów algorytmu genetycznego

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

SZTUCZNA INTELIGENCJA

Algorytmy genetyczne (AG)

Techniki optymalizacji

SZTUCZNA INTELIGENCJA

Generowanie i optymalizacja harmonogramu za pomoca

METODY HEURYSTYCZNE wykład 3

Standardowy algorytm genetyczny

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

ALGORYTMY GENETYCZNE

Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji

Algorytmy ewolucyjne Część II

Algorytmy genetyczne w interpolacji wielomianowej

ALGORYTMY EWOLUCYJNE W ZASTOSOWANIU DO ROZWIĄZYWANIA WYBRANYCH ZADAŃ OPTYMALIZACJI1

METODY HEURYSTYCZNE wykład 3

Algorytmy ewolucyjne 1

Strategie ewolucyjne (ang. evolution strategies)

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA

Systemy Inteligentnego Przetwarzania wykład 4: algorytmy genetyczne, logika rozmyta

Algorytmy ewolucyjne (2)

Optymalizacja optymalizacji

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Zaawansowane programowanie

ALHE Z11 Jarosław Arabas wykład 11

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

Zadania laboratoryjne i projektowe - wersja β

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Algorytmy genetyczne Michał Bereta Paweł Jarosz (część teoretyczna)

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

METODY INŻYNIERII WIEDZY

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Optymalizacja ciągła

Techniki ewolucyjne - algorytm genetyczny i nie tylko

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Algorytmy ewolucyjne `

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Programowanie genetyczne, gra SNAKE

SZTUCZNA INTELIGENCJA

METODY INŻYNIERII WIEDZY

przetworzonego sygnału

Adrian Horzyk

TRANSFORMACJE I JAKOŚĆ DANYCH

Programowanie genetyczne

Optymalizacja. Wybrane algorytmy

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Metody Optymalizacji: Przeszukiwanie z listą tabu

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

LABORATORIUM 1: Program Evolutionary Algorithms

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2011, Oeconomica 285 (62), 45 50

Algorytm grupowania danych typu kwantyzacji wektorów

OBLICZENIA EWOLUCYJNE

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Gospodarcze zastosowania algorytmów genetycznych

OBLICZENIA EWOLUCYJNE

Transkrypt:

BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii Biomedycznej Laboratorium Biocybernetyki 30-059 Kraków, al. Mickiewicza 30, paw. C3/205 horzyk@agh.edu.pl, Google: Adrian Horzyk

ALGORYTMY EWOLUCYJNE Evolutionary Algorithms (EA) Odzwierciedlają naturalne procesy ewolucyjne zachodzące w przyrodzie. Posiadają zdefiniowane środowisko na podstawie rozwiązywanego problemu, w którym ewoluują rozwiązania reprezentowane przez osobniki o różnym przystosowaniu do tego środowiska. Dostosowanie osobników mierzymy przy pomocy funkcji przystosowania (fitness function) i na podstawie stopnia tego przystosowania określamy ich szansę na współudział w generowaniu nowych rozwiązań. Zgodnie z zasadami ewolucji największą szansę na przetrwanie i wpływ na reprodukcję w danym środowisku mają osobniki najlepiej przystosowane i to one generują nowe potencjalnie lepsze rozwiązania.

ALGORYTMY EWOLUCYJNE Evolutionary Algorithms (EA) Algorytmy ewolucyjne są procedurami heurystycznego przeszukiwania opartymi na mechanizmach doboru naturalnego i dziedziczenia, wykorzystując zasadę przeżycia osobników najlepiej przystosowanych. Od klasycznych metod optymalizacyjnych odróżnia je kilka istotnych cech: Nie przetwarzają bezpośrednio parametrów zadania, lecz ich zakodowaną postać. Nie wychodzą z pojedynczego punktu, lecz wykorzystują pewną ich populację (zwykle liczną). Nie korzytają z pochodnych ani innych informacji pomocniczych, lecz z funkcji celu/przystosowania. Nie stosują reguł deterministycznych, lecz probabilistyczne. Powyższe cechy EA dają im odporność oraz przewagę nad innymi metodami poszukiwania.

ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE W OPTYMALIZACJI I WYSZUKIWANIU Dążąc do znalezienia rozwiązań optymalnych dla postawionych problemów można wykorzystać: Metody analityczne działają lokalnie i są oparte o optymalizację gradientową: Pośrednie poszukują lokalnych ekstremów funkcji rozwiązując układ równań (zwykle nieliniowych), otrzymany na skutek przyrównania gradientu funkcji celu do zera. Bezpośrednie poszukują lokalnego optimum przez skakanie po wykresie funkcji w kierunku spadku gradientu. Metody przeglądowe przeszukują przestrzeń rozwiązań po kolei, lecz w związku z tym, iż taka przestrzeń może być bardzo duża lub nieskończona, metoda jest raczej rzadko stosowana, gdyż jest nieefektywna lub niewykonalna w sensownym czasie. Metody losowe przeszukują przestrzeń rozwiązań losowo i zapamiętują najlepsze rozwiązanie, lecz w dużej przestrzeni rzadko są w stanie trafić w rozwiązanie optymalne, mogą natomiast wspierać poszukiwanie takiego rozwiązania. Algorytmy ewolucyjne są rodzajem metod losowych wykorzystujących wiedzę o wcześniejszych wynikach poszukiwań o określonej jakości do wyznaczania potencjalnych nowych miejsc, w których mogą być rozwiązania lepszej jakości.

ALGORYTMY GENETYCZNE Genetic Algorithms (GA) To rodzaj losowego przeszukiwania heurystycznego przestrzeni rozwiązań występujące w przyrodzie, które naśladuje naturalne procesy dziedziczenia, selekcji, mutacji, i krzyżowania, dokonując wyboru możliwie najlepiej dostosowanych jednostek powstałych w wyniku tych procesów, które będą podstawą dla utworzenia kolejnej nowej generacji. Są wykorzystywane do różnych zadań optymalizacyjnych, gdy model dla określonego zadania nie jest znany lub potrzebne jest znalezienie możliwie optymalnych parametrów dla określonego modelu. Często służy do określenia sub-optymalnych parametrów innych modeli stosowanych w inteligencji obliczeniowej. Kodowanie osobników (chromosomów) przy pomocy ciągów zer i jedynek. GA należą do szerszej klasy algorytmów ewolucyjnych (evolutionary algorithms EA).

KODOWANIE I NAZEWNICTWO Wykorzystywane jest słownictwo zapożyczone z genetyki: Populacja to zbiór osobników o określonej liczebności. Osobnik / Organizm to zakodowany zbiór parametrów zadania określający potencjalne rozwiązanie. Chromosom to łańcuch (ciąg) kodowy uporządkowanych genów. Gen to cecha, znak lub detektor stanowiący elementarny element chromosomu. Genotyp to zespół (struktura) chromosomów danego osobnika. Fenotyp to zestaw wartości odpowiadających danemu genotypowi, czyli zdekodowana struktura będąca zbiorem parametrów zadania, a więc jego rozwiązaniem o określonej jakości. Allel to wartość danego genu, określana jakok wartość cechy lub jej wariant. Locus to pozycja wskazująca miejsce położenia danego genu w łańcuchu, czyli w chromosomie.

ALGORYTMY GENETYCZNE genetic algorithms (GA) Klasyczny algorytm genetyczny składa się z następujących kroków: 1. Inicjacja wybór lub wylosowanie początkowej populacji chromosomów (osobników) reprezentowanych przez ciągi binarne o określonej długości. 2. Ocena przystosowania chromosomów w populacji obliczonego na podstawie funkcji przystosowania (fitness function). 3. Sprawdzenie warunku zatrzymania na podstawie jakości przystosowania najlepszego chromosomu (osobnika) w populacji lub w przypadku braku generowania lepiej przystosowanych chromosomów w kolejnych generacjach. 4. Selekcja chromosomów w zależności od ich przystosowania się, dając największe szanse na wylosowanie tym osobnikom, które są najlepiej przystosowane (np. metoda koła ruletki roulette-wheel selection przydziela osobnikom taką część koła, jaka wynika z ich jakości przystosowania się, tzn. ich prawdopodobieństwo LaPlace a wyboru określone jest jako stosunek jakości przystosowania daneo osobnika do sumy jakości przystosowań wszystkich osobników). 5. Zastosowanie operatorów genetycznych (krzyżowania i mutacji). 6. Utworzenie nowej populacji chromosomów (potomnej) 7. Przejście do punktu 2.

ALGORYTMY GENETYCZNE UWAGI IMPLEMENTACYJNE Implementacja koła ruletki: 1. Dla każdego osobnika i określamy przy pomocy funkcji dopasowania, jego oddalenie od najgorszej wartości MAX w celu określenia jakości dopasowania p i. 2. Koło ruletki rozcinamy na pasek reprezentujący szersze i węższe przedziały dla poszczególnych osobników: 3. Tworzymy tablicę lub listę wartości p i dla poszczególnych osobników. 4. Następnie przechodzimy pętlą od początku do końca tej tablicy/listy i dodajemy do każdej komórki wartość poprzedniej: P[j] += P[j-1]. Te wartości będą określać koniec przedziałów paska. 5. Teraz możemy uruchomić generator liczb losowych i wylosować liczbę z zakresu 0 do p i. Algorytmem wyszukiwania połówkowego lub interpolowanego szybko wyznaczamy w którą część paska trafiliśmy i z którym osobnikiem ta część paska jest związana. Ten osobni zostaje wybrany. 6. Losowanie powtarzamy tyle razy, ile chcemy wylosować osobników do krzyżowania i mutacji.

ALGORYTMY GENETYCZNE METODY SELEKCJI Metoda koła ruletki (roulette-wheel selection) polega na przydzieleniu każdemu osobnikowi takiego wycinka koła ruletki, jaki odpowiada jakości jego przystosowania. Może to powodować zbyt szybką eksploatację przestrzeni rozwiązań i nie wystarczającą jej eksplorację, a więc utknięcie w minimum/maksimum lokalnym. Można wykorzystać do minimalizacji albo maksymalizacji. Selekcja rankingowa/rangowa (ranking selection) polega na uporządkowaniu osobników populacji według wartości ich przystosowania, nadając każdemu osobnikowi pewną rangę (rank). Liczba kopii każdego osobnika jest następnie ustalana zgodnie ze zdefiniowaną funkcją zależną od rangi osobnika. Można wykorzystać zarówno minimalizacji jak również maksymalizacji. Metoda turniejowa (tournament selection) dzieli osobniki populacji na podgrupy, a następnie wybiera z każdej z nich osobnika o najlepszym przystosowaniu. Wybór może być deterministyczny (z prawdopodobieństwem = 1) lub stochastyczny/losowy, gdy prawdopodobieństwo wyboru najlepszego jest < 1. Podgrupy mogą być dowolnego rozmiaru (zwykle 2-3 osobnikowe). Metoda nadaje się zarówno do minimalizacji jak również do maksymalizacji. Selekcja stłoczenia (crowding selection) dokonuje zastępowania najbardziej podobnych rodziców dziećmi niezależnie od ich funkcji przystosowania, co umożliwia zachowania różnorodności i zmienności populacji. Strategia elitarna (elitist strategy) polega na ochronie najlepszych chromosomów w kolejnych generacjach, zabezpieczając algorytm przed utratą osobnika/ów o najlepszym przystosowaniu.

ALGORYTMY GENETYCZNE Genetic Algorithms (GA) Algorytmy genetyczne składają się z czterech podstawowych operacji: Selekcji jednostek populacji, które spełniają dopasowanie wyznaczone przez funkcję dopasowania (celu). Reprodukcji umożliwia powielenie jednostek populacji (ciągów) w stosunku zależnym od wyznaczonej dla nich wartości funkcji dopasowania; w taki sposób powstaje pula rodzicielska. Krzyżowania - to losowe dobranie jednostek populacji (ciągów) z puli rodzicielskiej w pary, a następnie ich krzyżowanie polegające na wymianie części informacji zawartej w ciągach rodzicielskich i utworzeniu potomstwa będącego kombinacją ciągów rodzicielskich. Mutacji w trakcie której dochodzi do losowej zmiany wartości elementu ciągu kodowego (kodu jednostki).

ALGORYTMY GENETYCZNE Operatory genetyczne Operatory genetyczne mają za zadanie wygenerować nową populację chromosomów (osobniki potomne) na podstawie istniejącej populacji chromosomów w celu poprawy ich jakości przystosowania. W algorytmach genetycznych stosujemy dwa rodzaje operatorów: Operator krzyżowania (crossover) to podstawowy operator stosowany z prawdopodobieństwem 0,5 p k 1, a jego działanie polega na rozcięciu łańcuchów chromosomów w wylosowanym miejscu krzyżowania (locus), a następnie zamianę tych łańcuchów pomiędzy tymi łańcuchami. Operator mutacji (mutation) stosowany jest zwykle z niewielkim prawdopodobieństwem 0 p m 0,1, a jego działanie sprowadza się do losowej zamiany wartości genu na przeciwny w łańcuchu.

ALGORYTMY GENETYCZNE Operatory genetyczne Jak w sposób losowy najlepiej wykonać krzyżowania i mutacje, żeby uzyskać możliwie wysoką skuteczność działania tych operatorów? Operator krzyżowania (crossover) stosujemy w 2 zagnieżdżonych pętlach: 1. Losuje liczbę z zakresu 0 do maksymalnej przyjętej ilości krzyżowań lub długości chromosomu. Tyle razy wykonujemy 2. zagnieżdżoną pętlę: 2. W drugiej pętli losujemy bez powtórzeń kolejne locusy (miejsca krzyżowań) i dla każdego z nich osobno dokonujemy kolejnego losowania określającego prawdopodobieństwo 0,5 p k 1, czy w danym miejscu dokonamy krzyżowania. Operator mutacji (mutation) stosujemy też w 2 zagnieżdżonych pętlach: 1. Losuje liczbę z zakresu 0 do maksymalnej przyjętej ilości krzyżowań lub długości chromosomu. Tyle razy wykonujemy 2. zagnieżdżoną pętlę: 2. W drugiej pętli losujemy bez powtórzeń kolejne locusy (miejsca mutacji) i dla każdego z nich osobno dokonujemy kolejnego losowania określającego prawdopodobieństwo 0 p m 0,1, czy w danym miejscu dokonamy mutacji.

ALGORYTMY GENETYCZNE krzyżowanie i mutacja PRZYKŁAD: W chromosomach przodków (rodziców) losowany jest punkt krzyżowania (locus), następnie operacja genetycznego krzyżowania, a na końcu mutacja w genach potomków (dzieci).

ALGORYTMY GENETYCZNE RODZAJE KRZYŻOWAŃ Krzyżowanie jednopunktowe (crossover) losuje jeden punkt krzyżowania (locus). Krzyżowanie dwupunktowe (two-point crossover) losuje dwa punkty krzyżowania. Krzyżowanie wielopunktowe (multiple-point crossover) losuje większą ilość punktów krzyżowania. Krzyżowanie równomierne/jednolite/jednostajne (uniform crossover) wykorzystuje wylosowany wzorzec wskazujący geny dziedziczone od pierwszego z rodziców, a pozostałe pochodzą od drugiego z nich.

STRATEGIE i ALGORYTMY EWOLUCYJNE x ALGORYTMY Istnieje kilka zasadniczych różnic pomiędzy algorytmami ewolucyjnymi (EA) i genetycznymi (GA): EA operuje na wektorach liczb zmiennoprzecinkowych, a GA działa na wektorach liczb binarnych. W EA liczność generacji potomnej różni się od liczności generacji rodzicielskiej, zaś w GA liczności te są równe. W EA osobniki wybierane są bez powtórzeń, zaś w GA osobniki zwykle powtarzają się w zależności od ich przystosowania. Selekcja osobników w EA jest deterministyczna, zaś w GA losowa. W EA najpierw wykonuje się proces rekombinacji i/lub mutacji, a następnie proces selekcji (a więc potomek jest wybierany spośród rezultatów krzyżowania dwóch rodziców i/lub mutacji na podstawie funkcji dopasowania), zaś w GA najpierw odbywa się selekcja osobników, na których wykonywane są następnie operacje genetyczne krzyżowania i mutacji zgodnie z ustalonym prawdopodobieństwem. W EA parametry rekombinacji i mutacji zmieniają się w trakcie procesu adaptacji, zaś w GA prawdopodobieństwo krzyżowania i mutacji jest stałe w czasie całego procesu ewolucji.

STRATEGIA EWOLUCYJNA (1 + 1) W strategii ewolucyjnej 1+1 przetwarzany jest tylko jeden chromosom bazowy x: 1. Najpierw losowo ustalany jest początkowy wektor bazowy x. 2. Następnie dokonywana jest mutacja wektora x i powstaje wektor y poprzez dodanie do każdego z genów chromosomu x pewnej liczby losowej generowanej zgodnie z rozkładem normalnym, tzn.: y i = x i + N i (0,1) gdzie x i to i-ty gen chromosomu x, a określa zasięg mutacji, zaś N i (0,1) liczbę losową generowaną zgodnie z rozkładem normalnym dla i-tego genu. Zasięg mutacji zmienia się w trakcie działania algorytmu: Jeśli w kolejnych k generacjach stosunek lepszych chromosomów do wszystkich mutacji przewyższa 1/5, wówczas zwiększana jest wartość parametru np. = * 1,2, zaś w sytuacji, gdy ten stosunek jest mniejszy niż 1/5, zmniejsza się wartość parametru np. = * 0,82. 3. Porównywane są wartości funkcji przystosowania obu chromosomów F(x) i F(y) i wybierany jest ten, który charakteryzuje się większą wartością tej funkcji. Lepiej przystosowany staje się nowym chromosomem bazowym x. 4. Następnie sprawdzana jest jakość przystosowania osobnika x i jeśli jest ona nie wystarczająca, przechodzimy do kroku 2, za wyjątkiem sytuacji, gdy kolejne ewaluacje nie prowadzą do poprawy wyników działania, tzn. chromosomów lepiej przystosowanych.

STRATEGIA EWOLUCYJNA ( + ) Strategia ewolucyjna ( + ) korzysta z osobników populacji rodzicielskiej, która poprzez losową reprodukcję tworzy tymczasową populację osobników ( ), które podlegają operacjom krzyżowania i mutacji, tworząc populację potomną o liczności. Na końcu dokonywany jest wybór najlepszych osobników z populacji rodzicielskiej i potomnej. W tej metodzie do każdego chromosomu x dodano, zawierający wartości odchyleń standardowych wykorzystywanych podczas mutacji poszczególnych genów chromosomu x. Operator krzyżowania dotyczy zarówno wektora zmiennych niezależnych x, jak również wektora odchyleń standardowych. W trakcie krzyżowania losowane są dwa osobniki, pomiędzy którymi dochodzi do wymiany bądź uśrednienia wartości ich genów. Tak powstałe osobniki zastępują swoich rodziców.

STRATEGIA EWOLUCYJNA (, ) Strategia ewolucyjna (, ) stosowana jest częściej niż ( + ), gdyż umożliwia oderwanie się od dominujących osobników o dobrym dopasowaniu, lecz mogących reprezentować minima lokalne. Różnica polega na tym, iż populację potomną zawierającą osobników wybiera się tylko spośród najlepszych osobników, gdzie >. Osobniki z populacji rodzicielskiej nie mają bezpośredni wpływ na nową pulę osobników potomnych. Funkcja Ackleya

ALGORYTMY EWOLUCYJNE NACISK SELEKTYWNY, EKSPLORACJA I EKSPLOATACJA Naciskiem selektywnym nazywamy zdolność algorytmu ewolucyjnego do poprawiania średniej wartości przystosowania populacji. Mówimy, że algorytm ewolucyjny charakteryzuje się dużym naciskiem selektywnym, gdy większa jest wartość oczekiwana liczby kopii lepszego osobnika niż wartość oczekiwana liczby kopii gorszego osobnika. Nacisk selektywny jest ściśle powiązany z zależnością pomiędzy eksploracją a eksploatacją przestrzeni poszukiwań. EA dokonuje eksploracji, czyli globalnego przeszukiwania całej przestrzeni rozwiązań, w celu przybliżenia się do globalnego minimum lub maksimum będącego rozwiązaniem problemu. EA dokonuje eksploatacji, czyli lokalnego poruszania się po fragmencie przestrzeni w pobliżu globalnego minimum lub maksimum, w celu jego dokładnego zlokalizowania i znalezienia rozwiązania problemu.

ALGORYTMY EWOLUCYJNE NACISK SELEKTYWNY, EKSPLORACJA I EKSPLOATACJA Eksplorację przestrzeni rozwiązań uzyskujemy poprzez zmniejszenie nacisku selektywnego, gdyż wtedy wybierane są również osobniki nie tak dobrze przystosowane, co pozwala zachować pewną różnorodność populacji, a więc zwiększyć szansę na znalezienie optimum globalnego. Eksploatację przestrzeni rozwiązań osiągamy poprzez zwiększenie nacisku selektywnego, gdyż wtedy wybierane są przede wszystkim osobniki najlepiej dostosowane, a więc potencjalnie bliskie rozwiązania optymalnego. Najpierw wobec tego warto wykonać eksplorację przestrzeni rozwiązań, w celu określenia potencjalnych obszarów poszukiwania optimum globalnego, a następnie dla najlepszych uruchomić eksploatację tych podprzestrzeni, w celu odnalezienia tego optimum. Uruchomienie eksploatacji zbyt szybko, może spowodować utknięcie algorytmu ewolucyjnego w lokalnym minimum/maksimum. Nie uruchomienie w odpowiednim czasie eksploatacji może prowadzić do skakania pomiędzy suboptymalnymi punktami, lecz bez możliwości trafienia w rozwiązanie globalnie optymalne.

ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE RODZAJE MUTACJI I INWERSJA Operacja mutacji binarnej dokonuje zmiany na wartość przeciwną (0 1) w tych genach, gdzie wylosowana wartość jest mniejsza od przyjętego prawdopodobieństwa mutacji p m. Operacja mutacji zmiennoprzecinkowej nie mogąc przeprowadzić prostej negacji do wylosowany gen otrzymuje nową wylosowaną liczbę z zakresu [0,1] przemnożoną przez zakres określonego zakresu zmienności genu i odpowiednio przeskalowaną: y i = a i + (b i a i ) * U i (0,1) lub częściej stosuje się mutację polegającą na dodaniu do każdego wylosowanego do mutacji genu x i, pewnej zmiennej losowej z i : y i = x i + z i Inwersja to operacja zamiany kolejności alleli pomiędzy dwoma losowo wybranymi pozycjami (locus) chromosomu:

ZASTOSOWANIA ALGORYTMÓW GENETYCZNYCH I EWOLUCYJNYCH Stosowane są do dobieranie parametrów metod inteligencji obliczeniowej, np.: Poszukiwania optymalnej architektury sieci neuronowej (kodowanie oparte na połączeniach, węzłach, warstwach lub ścieżkach) Poszukiwania wag sieci neuronowej Równoczesnego określania architektury i wag sieci neuronowej Ewolucji systemów rozmytych (podejście Michigan, Pittsburgh, uczenie iteracyjne) W RapidMinerze (narzędziu udostępniającym różne metody inteligencji obliczeniowej) posiadamy operatory Optimize Parameters, Selection, Weights (Evolutionary), Logistic Regression (Evolutionary), Support Vector Machine (Evolutionary) i Optimize by Generation (Evolutionary Aggregation) pozwalające wykorzystać rozwiązania ewolucyjne do poszukiwania optymalnych rozwiązań:

ZASTOSOWANIA NEURO-EWOLUCYJNE Algorytmy genetyczne lub metody ewolucyjne często są stosowane w trakcie tworzenia inicjalnej struktury sieci neuronowych. Stosowane są często również do inicjalnego określenia wartości wag sieci neuronowej. Mogą być stosowane również do wylosowania różnych funkcji aktywacji neuronów w niejednorodnych sieciach neuronowych. W takich przypadkach powstałe sieci neuronowe uczone są przez pewną ilość epok obliczeniowych (zwykle 100-1000), po czym na podstawie wartości funkcji błędu wyznaczane jest ich przystosowanie jako osobników. Oczywiście im błąd jest mniejszy, tym lepsze przystosowanie osobnika (tutaj sieci neuronowej). Krzyżowanie struktur sieci neuronowych polega zwykle na zmianie ilości neuronów w warstwach ukrytych, aczkolwiek można również stosować tą zasadę do połączeń synaptycznych, które nie muszą być tworzone na zasadzie każdy z każdym.

AI CIĄGLE EWOLUUJE