Algorytmy genetyczne Michał Bereta Paweł Jarosz (część teoretyczna)
|
|
- Artur Leśniak
- 9 lat temu
- Przeglądów:
Transkrypt
1 1 Zagadnienia Sztucznej Inteligencji laboratorium Wprowadzenie Algorytmy genetyczne Michał Bereta Paweł Jarosz (część teoretyczna) Dana jest funkcja f, jednej lub wielu zmiennych. Należy określić wartości zmiennych, dla których funkcja f osiąga ekstrema tj. wartość minimalną lub maksymalną. Zadanie maksymalizacji może być w prosty sposób zamienione na zadanie minimalizacji i odwrotnie. Numeryczne metody wyznaczania ekstremum funkcji, powinny działać szybko i przy jak najmniejszej ilości pamięci [7]. 1.1 Optymalizacja lokalna i globalna Optymalizacja to wyznaczanie optymalnego (tj. najkorzystniejszego, najlepszego), ze względu na wybrane kryteria rozwiązania danego problemu, przy użyciu metod matematycznych (numerycznych). Przyjęto, że R oznacza zbiór wszystkich rozwiązań rozpatrywanego problemu. Punkt x* w przestrzeni R jest minimum globalnym, jeśli dla każdego x należącego do R f ( x * ) f ( x). x = x * x R f ( x*) f ( x) W takim przypadku (najbardziej idealnym), x* jest optimum globalnym. Częściej formułowanym problemem (łatwiejszym do rozwiązania) jest znalezienie takiego x l, dla którego f(x l )<f(x l +t), gdzie: t>0, x l +t są punktami z najbliższego sąsiedztwa x l. x = x f ( x ) f ( x + t), t 0 l l Tak sformułowany problem określa minimum lokalne. Klasyczne metody optymalizacji znajdują zazwyczaj minima lokalne. Na rysunku 1 pokazano optima lokalne i globalne przykładowej funkcji jednej zmiennej, w przedziale [X 1, X 2 ]. Maksima istnieją w punktach A, C, E, G, przy czym A, C, E są maksimami lokalnymi. W punkcie G jest maksimum globalne. Natomiast w punktach B, D i F znajdują się minima: B i F to minima lokalne. W punkcie D jest minimum globalne. Korzystając z klasycznych metod optymalizacji (np. metod gradientowych) i szukając minimum dla wartości początkowych w punktach X, Y lub Z rozwiązaniem jest zawsze punkt F, który jest minimum lokalnym [7]. l Rysunek 1. Przykład funkcji z oznaczonymi ekstremami [7]
2 2 W wielu praktycznych zastosowaniach pojawiają się trudności przy korzystaniu z tradycyjnych metod optymalizacji. Większość ma zasięg lokalny. Ich sposób działania zależy od istnienia pochodnych i nie są one dostatecznie odporne na nieciągłości, rozległe wielomodalności lub występowanie zakłóceń w przeszukiwanej przestrzeni [4]. 1.2 Algorytmy genetyczne podstawowe pojęcia Michalewicz w [4] pisze: Pomysł leżący u podstaw algorytmów genetycznych polega na zrobieniu tego samego, co robi natura. Weźmy dla przykładu króliki. W każdej chwili mamy jakąś populację królików. Niektóre z nich są szybsze i sprytniejsze od innych. Szybsze i sprytniejsze króliki mają większą szansę umknięcia przed lisem. Wobec tego więcej ich przeżywa, aby zrobić to, co króliki robią najlepiej, a mianowicie nowe króliki. Oczywiście, niektóre z wolniejszych i głupszych królików też przeżyją, bo mają szczęście. Ta ocalała populacja królików wydaje potomstwo. Jest ono dobrą mieszaniną materiału genetycznego. Niektóre wolne króliki krzyżują się z szybkimi, niektóre szybkie z szybkimi, niektóre sprytne z głupimi itd. A do tego natura dorzuca od czasu do czasu dziką kartą, wprowadzając mutację do genetycznego materiału królików. Urodzone w wyniku takiego procesu króliki będą (średnio) szybsze i sprytniejsze niż te z początkowej populacji, ponieważ szybsi i sprytniejsi rodzice umknęli przed lisami. Ten obrazowy przykład przedstawia analogię pomiędzy algorytmem genetycznym a naturą. W algorytmach genetycznych stosuje się pojęcia zapożyczone z genetyki naturalnej. Istnieje populacja rozwiązań. Każde rozwiązanie jest nazywane osobnikiem. Na populacji dokonujemy selekcji (słabe osobniki giną), krzyżowania (czyli tworzenia nowych osobników) i mutacji (dzika karta). W terminologii algorytmów genetycznych używa się następujących pojęć [6]: Populacja zbiór osobników o określonej liczebności. Osobniki populacji w algorytmach genetycznych to zakodowane w postaci chromosomów zbiory parametrów zadania, czyli rozwiązania, określane też jako punkty przestrzeni poszukiwań. Chromosomy inaczej łańcuchy lub ciągi kodowe to uporządkowane ciągi genów. Gen nazywany też cecha, znakiem, detektorem jest to pojedynczy element genotypu, w szczególności chromosomu. Genotyp, czyli struktura - to zespół chromosomów danego osobnika. Osobnikami populacji mogą być genotypy albo pojedyncze chromosomy. Fenotyp - zestaw wartości odpowiadający danemu genotypowi, czyli zdekodowana struktura. Jest to zbiór parametrów zadania (rozwiązanie, punkt przestrzeni poszukiwań). Allel to wartość danego genu (określana też jako wartość cechy lub wariant cechy). Locus to położenia danego genu w łańcuchu czyli w chromosomie. Funkcja przystosowania (ang. fitness function) nazywana też funkcją dopasowania lub funkcją oceny. Stanowi ona miarę przystosowania (dopasowania) danego osobnika w populacji. Funkcja przystosowania pozwala ocenić stopień przystosowania poszczególnych osobników w populacji. Na tej podstawie wybiera się osobniki najlepiej przystosowane (o największej wartości funkcji przystosowania). Jest to zgodne z ewolucyjną zasadą przetrwania najsilniejszych (najlepiej przystosowanych). Ma ona duży wpływ na działanie algorytmów genetycznych i musi być odpowiednio zdefiniowana. Generacja to kolejna iteracja w algorytmie genetycznym. Pokolenie (nowe pokolenie lub pokolenie potomków) to nowoutworzona populacja osobników. W algorytmie genetycznym, w każdej jego iteracji, jest oceniane przystosowanie każdego osobnika danej populacji za pomocą funkcji przystosowania. Na tej podstawie tworzona jest nowa populacja osobników, którzy stanowią zbiór potencjalnych rozwiązań problemu, np. zadania optymalizacji.
3 3 1.3 Klasyczny algorytm genetyczny Mechanizm działania klasycznego (elementarnego, prostego) algorytmu genetycznego jest prosty. Polega na kopiowaniu ciągów i wymianie podciągów. Na rysunku 2 pokazano schemat działania algorytmu genetycznego, które składa się z następujących kroków [6]: Inicjacja utworzenie populacji początkowej, poprzez losowy wybór ustalonej liczby chromosomów. Ocena przystosowania obliczenie wartości funkcji przystosowania dla każdego chromosomu. Selekcja chromosomów wybór chromosomów, które biorą udział w tworzeniu nowej populacji. Zastosowanie operatorów genetycznych na grupie chromosomów, wybranej drogą selekcji działają operatory genetyczne. W klasycznym algorytmie genetycznym są operatory krzyżowania i mutacji. Przy czym, krzyżowanie powinno zachodzić znacznie częściej niż mutacja. Utworzenie nowej populacji Chromosomy otrzymane jako rezultat działania operatorów genetycznych na chromosomy tymczasowej populacji wchodzą w skład nowej populacji. W klasycznym algorytmie genetycznym cała poprzednia populacja chromosomów jest zastępowana przez tak samo liczną nowa populacje potomków. Wyprowadzenie najlepszego chromosomu najlepszym rozwiązaniem jest chromosom o największej wartości funkcji przystosowania. Nową populację tworzą chromosomy powstałe w wyniku selekcji i działania operatorów genetycznych. Nowa populacja zastępuje w całości starą, i staje się bieżącą w kolejnej generacji (iteracji) algorytmu genetycznego. START INICJACJA OCENA PRZYSTOSOWANIA SELEKCJA OPERATORY GENETYCZNE NOWA POPULACJA Rysunek 2. Schemat algorytmu genetycznego Charakterystyczny dla klasycznego algorytmu genetycznego jest sposób kodowania. Chromosomy są zakodowanie binarnie - geny mogą przyjmować tylko wartości 0 i 1. Selekcji dokonuje się z wykorzystaniem metody ruletki. Krzyżowanie jest jednopunktowe (rysunek 3) [4].
4 4 Przed krzyżowaniem Po krzyżowaniu Rysunek 3. Schemat krzyżowania jednopunktowego Metoda ruletki (koła ruletki) jedna z najbardziej podstawowych metod selekcji. Polega na utworzeniu koła ruletki z polami odpowiadającymi poszczególnym chromosomom. Wielkość pól jest proporcjonalna do wartości funkcji przystosowania. Proces selekcji oparty jest na obrocie ruletką tyle razy ile osobników jest w populacji i na wyborze za każdym razem jednego chromosomu do nowej populacji. Pewne chromosomy są wybierane więcej niż jeden raz, niektóre dokładnie raz, a niektóre wcale [4]. Krzyżowanie jednopunktowe krzyżowanie zachodzi z pewnym prawdopodobieństwem p c ; dla każdego osobnika losuje się liczbę i sprawdza, czy zachodzi krzyżowanie. Następnie dobiera się wybrane chromosomy losowo w pary. Losuje się liczbę określającą miejsce krzyżowania i wymienia kod Mutacja również zachodzi z pewnym zadanym prawdopodobieństwem. Dla każdego osobnika losuje się liczbę sprawdzając czy będzie on podlegał mutacji. Jeśli tak to losuje się gen, który będzie zmutowany i dokonuje się mutacji, czyli zamiany wartości genu na przeciwny [4]. Mutacja w klasycznym algorytmie genetycznym odgrywa drugorzędną rolę. Częstość mutacji potrzebna do uzyskania dobrych wyników w empirycznych badaniach nad algorytmami genetycznymi jest rzędu jeden do tysiąca skopiowanych bitów. W naturalnych populacjach częstość jest równie mała lub nawet mniejsza [3]. 1.4 Metody kodowania Kodowanie binarne przyjęto w klasycznym algorytmie genetycznym. Oznacza to, że allele wszystkich genów w chromosomie są równe 0 lub 1. Michalewicz w [4] pisze: Reprezentacja rozwiązań w postaci łańcuchów binarnych zdominowała badania nad algorytmami genetycznymi. Kodowanie to ułatwia także analizę teoretyczną i umożliwia wprowadzenie eleganckich operatorów genetycznych. Stosuje się różne modyfikacje tego sposobu kodowania. Kod Gray a jest jedną z alternatyw dla prostego kodowania binarnego. Ma on tę zaletę, że chromosomy odpowiadające dwóm kolejnym liczbom całkowitym różnią się tylko jednym bitem. Na rysunku 4 przedstawiono procedury zamiany kodu binarnego na kod Gray a i na odwrót. Procedure Binary-to-Gray { g 1 = b 1 ; } for(k=2;k<m;k++) G k =b k-1 XOR b k ; Procedure Gray-to-Binary { value =g 1 ; b1=value; for(k=2;k<m;k++) { if(g k ==1) value= NOT value; b k =value Rysunek 4. Procedury zmiany kodu binarnego na kod Gray a i odwrotnie [4] Kodowanie logarytmiczne jest kolejnym przykładem modyfikacji kodowania binarnego. Ten sposób kodowania jest stosowany celem zmniejszenia długości chromosomów w algorytmie genetycznym. W kodowaniu logarytmicznym pierwszy bit ( ) ciągu kodowego oznacza znak funkcji wykładniczej, drugi bit ( ) oznacza znak wykładnika funkcji, a pozostałe bity (bin) są reprezentacją wykładnika funkcji [3].
5 5 Wprowadzenie zapisu zmiennopozycyjnego można uznać za kolejną modyfikację metod kodowania. Każdy chromosom jest zapisany jako wektor liczb zmiennopozycyjnych. Dokładność takiego podejścia jest zwykle znacznie wyższa niż przy kodowaniu binarnym. Reprezentacja zmiennopozycyjna może objąć całkiem duże lub nawet nieznane dziedziny. W przypadku kodowania zmiennopozycyjnego znacznie łatwiej jest zaprojektować specjalistyczne narzędzia ułatwiające postępowanie w przypadku nie trywialnych ograniczeń [4]. Goldberg w [3] pisze: W pewnym sensie wybór kodu dla zadania rozwiązywanego przy użyciu algorytmu genetycznego nie stanowi żadnego problemu, gdyż programista jest ograniczony głównie swoją własną wyobraźnią.(...) Patrząc z innego punktu widzenia, ta swoboda wyboru stanowi wątpliwe błogosławieństwo dla niedoświadczonego użytkownika; widok całych szeregów możliwych sposobów kodowania może zarówno dodawać otuchy, jak i oszałamiać. Jedną z podstawowych zasad przy wyborze kodu jest zasada minimalnego alfabetu. Mówi ona [3], że należy wybrać najmniejszy alfabet, w którym rozpatrywane zadanie wyraża się w sposób naturalny. Wynika stąd, że można przyjąć struktury inne niż wektory tj. listy, drzewa, macierze, permutacje. Należy pamiętać, że przy wyborze metody kodowania ważne jest, aby zakodowane osobniki były możliwie podobne do rzeczywistych rozwiązań oraz, że do wybranej metody należy zaprojektować odpowiednio specjalistyczne operatory. 1.5 Metody selekcji W algorytmach genetycznych wyróżniamy etap selekcji, który z bieżącej populacji osobników wybiera te o największej wartości funkcji przystosowania do populacji rodzicielskiej. Selekcję metodą koła ruletki omówiono przy okazji klasycznego algorytmu genetycznego (rozdz.1.3). Jest to metoda prosta i daje w miarę zadowalające wyniki. Ma jednak wady. Jedną z nich jest możliwość stosowania metody ruletki tylko do jednej klasy zadań, tzn. tylko do maksymalizacji (lub tylko do minimalizacji). Takie ograniczenie jest niewątpliwie jej wadą [6]. Bardziej istotną wadą metody ruletki jest zbyt wczesne eliminowanie z populacji osobników o bardzo małej wartości funkcji przystosowania. Może to prowadzić do zbyt wczesnej zbieżności algorytmu [2]. Dlatego stosuje się inne metody selekcji takie jak: selekcja turniejowa, rankingowa i strategia elitarna. Selekcja turniejowa polega na podzieleniu populacji na podgrupy k-elementowe (k to rozmiar turnieju zwykle 2 lub 3) i wyborze z każdej podgrupy osobnika o najlepszym przystosowaniu. Można to zrobić poprzez wybór losowy lub wybór deterministyczny. Wtedy wyboru dokonuje się z prawdopodobieństwem równym 1. Metoda turniejowa nadaje się zarówno do problemów maksymalizacji jak i minimalizacji. W selekcji rankingowej osobniki populacji są ustawiane kolejno w zależności od funkcji przystosowania tzn. od najlepiej do najgorzej przystosowanego. Każdemu osobnikowi przyporządkowana jest liczba zwana rangą i oznaczająca jego pozycję na liście. Liczba kopii danego osobnika wprowadzonych do nowej populacji jest ustalana na podstawie wcześniej zdefiniowanej funkcji, zależnej od rangi (Rysunek 5) [2]. Liczba kopii Ranga Rysunek 5. Przykład funkcji określającej zależność liczby osobników w nowej populacji od wartości rangi [2]
6 6 W strategii elitarnej nacisk położony jest na zachowanie w kolejnych iteracjach najlepiej przystosowanych osobników. W klasycznym algorytmie genetycznym możliwa jest sytuacja, w której do nowej populacji nie wejdą najlepsze osobniki. Model elitarny ma za zadanie do tego nie dopuścić [4]. Wymienione powyżej metody selekcji są pewnymi podstawowymi kanonami. Michalewicz w [4] opisał wiele modyfikacji podstawowych metod selekcji. Ich celem była poprawa selekcji dla konkretnego zadania. Metody selekcji można podzielić na statyczne i dynamiczne. Statyczna selekcja oznacza, że prawdopodobieństwa wyboru są stałe dla wszystkich pokoleń, w selekcji dynamicznej natomiast takiego wymagania nie ma. Inny podział metod selekcji wyróżnia metody wygaszające i zachowujące. W selekcji zachowującej są niezerowe prawdopodobieństwa wyboru dla każdego osobnika. Natomiast w selekcji wygaszającej nie istnieją. Selekcje wygaszające można podzielić na lewe i prawe. W selekcji wygaszającej lewej nie dopuszcza się najlepszych osobników do reprodukcji, aby uniknąć przedwczesnej zbieżności. W prawej tego takiej zasady nie ma. Niektóre metody selekcji można nazwać jako wyłączne, co oznacza, że rodzice mogą reprodukować tylko w jednym pokoleniu tak więc czas życia osobnika jest ograniczony do jednego pokolenia. Można wyróżnić selekcje pokoleniowe i w locie. W selekcji pokoleniowej zbiór rodziców jest stały dopóki nie zostanie utworzona nowa populacja i dopiero wtedy następuje zamiana. Natomiast w selekcji w locie potomek wymienia rodzica natychmiast po utworzeniu [4]. Skalowanie funkcji celu stosuje się, aby zapobiec przedwczesnej zbieżności algorytmu genetycznego. Przedwczesna zbieżność algorytmu polega na tym, że najlepsze ale jeszcze nie optymalne chromosomy dominują w populacji. Ponadto w końcowej fazie algorytmu, w przypadku, gdy populacja zachowuje znaczną różnorodność, średnia wartość przystosowania niewiele odbiega od maksymalnej. Skalowanie funkcji przystosowania może wówczas zapobiec takiej sytuacji, że osobniki przeciętne i najlepsze otrzymują prawie taką samą liczbę potomków w następnych generacjach, co jest zjawiskiem niepożądanym. Skalowanie funkcji przystosowania chroni populację przed dominacją nieoptymalnego chromosomu. Skalowanie polega na odpowiednim przekształceniu funkcji przystosowania. Podstawowe metody skalowania to: skalowanie liniowe, skalowanie -obcinające typu sigma i skalowanie potęgą [3][6]. Skalowanie liniowe (ang. linear scalling) polega na przekształceniu funkcji przystosowania f do postaci f poprzez przekształcenie liniowe według wzoru: f ' = af + b Współczynniki a i b powinny: zachować niezmienioną wartość średniego przystosowania oraz ustalić maksymalną wartość wyskalowanego przystosowania na poziomie określonej krotności średniego przystosowania. Te dwa warunki łącznie zapewniają, że przeciętny osobnik populacji otrzymuje przeciętnie jednego potomka, a najlepszy tylu ile wynosi wspomniana krotność. Skalowanie liniowe działa dobrze, za wyjątkiem, gdy funkcja f przyjmuje wartości ujemne. Skalowanie -obcinające typu sigma (ang. sigma truncation). Przekształcenie funkcji przystosowania f do postaci f dokonuje się według następującej zależność: f ' = f + ( f c σ ) gdzie: f jest średnią wartością funkcji przystosowania w populacji, c jest małą liczbą naturalną (zwykle 1 do 5) [6], jest odchyleniem standardowym w populacji Wartości ujemne f przyjmuje się jako równe zeru. Skalowanie potęgą (ang. power law scaling), polega na podniesieniu pierwotnej funkcji przystosowania f do pewnej ustalonej potęgi k: k f ' = f
7 7 Wartość k jest liczbą bliska 1 i zależy od rozpatrywanego problemu. Może wymagać zmiany w kolejnych generacjach aby doprowadzić do rozciągnięcia lub ściągnięcia zakresu, zależnie od potrzeby [3], [6]. 1.6 Operatory genetyczne Następnym po etapie selekcji, jest etap nazywany też ewolucją. Polega on stosowaniu operatorów genetycznych, tzn. krzyżowania i mutacji, które dokonują rekombinacji genów w chromosomach Operator krzyżowania Operacja krzyżowania polega na wymianie fragmentów łańcuchów dwóch chromosomów rodzicielskich. Krzyżowanie jest kluczowym operatorem w algorytmach genetycznych, stanowiącym o ich sile i efektywności. Mutacja odgrywa znacznie mniejsza rolę [6]. Ideą operatorów krzyżowania jest wymiana kodu genetycznego pomiędzy osobnikami, tak jak to się dzieje w naturze. Stworzono wiele teorii i rodzajów krzyżowań, które stosowane są do różnych rodzajów zadań i są zależne od sposobu kodowania. Dla potrzeb klasycznego algorytmu genetycznego opisano operator krzyżowania jednopunktowego. Stosuje się również inne rodzaje krzyżowania: dwupunktowe (ang. two-point crossover), wielopunktowe (ang. multi-point crossover), równomierne (ang. uniform crossover) [6]. Krzyżowanie wielopunktowe można stosować, gdy chromosomy są zakodowane zarówno jako wektory binarne jak i zmiennopozycyjne. Dwie inne popularne metody krzyżowania: krzyżowanie arytmetyczne i heurystyczne. Krzyżowanie arytmetyczne. Jest to dwuargumentowy operator, zdefiniowany jako liniowa kombinacja dwóch wektorów. Jeżeli do krzyżowania zostały wybrane wektory (chromosomy) x 1 i x 2, to potomkowie są wyznaczani następująco: x 1 =a x 1 +(1-a) x 2 x 2 =a x 2 +(1-a) x 1. gdzie: a jest wartością przedziału [0,1], co gwarantuje, że potomkami są rozwiązania dopuszczalne. Krzyżowanie heurystyczne. Jest to operator do kierunku poszukiwań używa wartości funkcji celu. Tworzy tylko jednego potomka i może w ogóle nie utworzyć potomka [4]. Nowy osobnik jest określany następująco: ch 3 =r(ch 2 -ch 1 )+ch 2 gdzie: r jest wartością losową z przedziału [0,1] i F(ch2) F(ch1) [6] Na rysunku 6 pokazano schemat krzyżowania wielopunktowego dla trzech punktów. Przed krzyżowaniem Po krzyżowaniu Operator mutacji Rysunek 6. Schemat działania krzyżowania trzy punktowego Mutacja polega na wprowadzeniu do istniejących zakodowanych chromosomów, pewnych losowych zmian. Mutacja tworzy nowego osobnika na bazie jednego i tylko jednego rodzica. Jest wiele metod tworzenia nowych osobników u operatora mutacji. Podstawową formę mutacji można zapisać następująco: x ' = m( x) gdzie: x jest chromosomem rodzica, m funkcją mutacji, x chromosomem potomka [3]. W przypadku chromosomów zakodowanych binarnie (klasyczny algorytm genetyczny) nie ma problemu ze stosowaniem mutacji (po prostu zamieniamy wartość genu na przeciwny).
8 8 W przypadku wartości zmiennopozycyjnych nie jest to już takie oczywiste. Poniżej przedstawiono kilka sposobów implementacji operatora mutacji. Mutacja równomierna. Operator ten działa na jednym rodzicu x tworzy potomka x. Operator wybiera losowo pozycję genu, który zostanie mutowany k (1,..,q). Mutowany wektor x=(x 1,..,x k,...,x q ) przekształca się w nowy x =(x 1,..,x k,...,x q ), gdzie x k przyjmuję wartość losową z dozwolonego przedziału dla tej wartości. Operator ten odgrywa szczególnie ważną rolę we wczesnych fazach procesu ewolucyjnego [4]. Mutacja brzegowa. Działa na podobnych zasadach, co mutacja równomierna. Natomiast x k może z jednakowym prawdopodobieństwem przyjąć wartości brzegów dozwolonego przedziału. Operator ten jest przydatny dla zadań optymalizacji, gdy poszukiwane rozwiązanie leży blisko brzegu dopuszczalnej przestrzeni poszukiwań [4]. Mutacja nierównomierna. Jest stosowana głównie do dokładnego dostrojenia się systemu. Jeżeli do mutacji wybrano element x k rodzica x, to x k może wynosić: x k ' = Funkcja (t,y) przyjmuje wartości z przedziału [0,y] prawdopodobieństwo, że ta wartość jest bliska 0, gdy t wzrasta (t jest numerem pokolenia). P(k) jest wartością prawego brzegu przedziału, natomiast L(k) lewego. zdefiniowane jest w następujący sposób: t,y)=y(1-r (1-t/T)b ) gdzie: r jest liczbą losową z przedziału [0,1], T jest najwyższym numerem pokolenia, b jest parametrem systemu określającym stopień niejednorodności [4]. Operacja mutacja jest niezbędna, ponieważ operacje krzyżowania mogą okazać się zbyt nadgorliwe i wyeliminować potencjalnie obiecujący materiał genetyczny. Sama w sobie mutacja jest błądzeniem przypadkowym w przestrzeni ciągów kodowych. Stosowana oszczędnie jako dodatek do pozostałych operatorów, stanowi swego rodzaju polisę na wypadek utraty ważnych składników rozwiązania Operator inwersji x x k k + ( t, P( k) xk ) ( t, x L( k)) jeżeli losową liczbą jest 1 k jeżeli losową liczbą jest 0 Operator inwersji. Jest to operator, którego nie można zakwalifikować ani jako operator krzyżowania ani jako operator mutacji. Operuje on na istniejącym chromosomie i wszystkie geny pochodzą z istniejącego chromosomu nie ma żadnej dzikiej karty. Operacja inwersji jest głównym mechanizmem odpowiedzialnym za rekonfigurację kodu. Podczas inwersji chromosom ulega przecięciu w dwóch wybranych punktach, a następnie środkowy jego odcinek ulega odwróceniu i połączeniu z dwoma pozostałymi. Operator inwersji działa przeciwko wstrzymującemu przeszukiwanie brakowi różnorodności [6].
9 9 Program Evol Program Evol jest prostym narzędziem do wizualizacji i analizy algorytmu genetycznego zastosowanego do rozwiązania problemu optymalizacji funkcji jednowymiarowej. Umożliwia szukanie zarówno minimum jak iz maksimum. Obecnie zaimplementowane elementy: wszystkie elementy klasycznego algorytmu genetycznego, tj. kodowanie binarne, selekcja za pomocą metody koła ruletki, krzyżowanie jednopunktowe, mutacja jednopunktowa. dodatkowa metoda selekcji metoda rankingowa prezentacja ewolucji populacji rozwiązań na wykresie funkcji prezentacja najlepszych, średnich oraz najgorszych rozwiązań w formie wykresu dziesięć funkcji jednowymiarowych wielomodalnych, tj. o wielu minimach (maksimach) y = sin(2*x) + log(x 2 ) w przedziale [1 ; 15] y = sin(2*x) + ( cos(4*x) ) 3 w przedziale [-1 ; 1] y = x 2 + ( cos(4*x) ) 3 w przedziale [-1.5 ; 2.5] y = log( x 3 ) - log( x 5 ) + ( cos(4*x) ) 3 w przedziale [5 ; 12] y= x + sin(3*cos(5*x)) w przedziale [0 ; 2] y= x 1/3 + sin(5*x) w przedziale [1.5 ; 5] y = 0.5*x + sin(x 3 ) w przedziale [0 ; 4] y = x 3 x 2 + sin(4*x) - cos(15*x) w przedziale [-1 ; 1] y = - x 2 - x + cos(10*x) - sin(50*x) w przedziale [-1 ; 1] y = - x + sin(5*x) - cos(13*x) w przedziale [-1 ; 1] Poniżej przedstawiony jest główny panel programu umożliwiający ustawienie szeregu parametrów algorytmu.
10 Główny panel programu Evol. 10
11 11 Wykres funkcji oraz populacji. Na zielono zanznaczony aktualny najlepszy osobnik. Okno wykresu zmiany jakości osobników w kolejnych iteracjach.
12 12 Zadania do wykonania Pracując z funkcjami wskazanymi przez prowadzącego przeprowadź symulacje potrzebne do opracowania odpowiedzi na poniższe pytania, jak również ich uzasadnienia i wizualizacji. 1. Sprawdź jaki wpływ na działanie algorytmu maja wartości parametrów: wielkość populacji (4, 10, 20, 40, 100) prawdopodobieństwo krzyżowania (0.7, 1, 0.5, 0.1) prawdopodobieństwo mutacji (0.1, 0.5, 0.7) wybrana metoda selekcji liczba iteracji 2. Jaki wpływ na dokładność znalezionego rozwiązania ma liczba bitów, którymi opisany jest jeden osobnik? Podaj dokladny wzór na maksymalną dokładność znalezionego rozwiązania w zależności od liczby bitów przypadających w danym osobniku na kodowanie jednego wymiaru. 3. Jak przebiega ewolucja przy wyłączonej mutacji (prawdopodobieństwo równe 0)? Czy populacja równie łatwo zawsze znajduje rozwiązanie? 4. Jak przebiega ewolucja przy wyłączonym krzyżowaniu (prawdopodobieństwo równe 0)? Czy populacja równie łatwo zawsze znajduje rozwiązanie? 5. Co się stanie jeśli wyłączona zostanie zarówno mutacja jak i krzyżowanie (działa tylko selekcja)? Od czego zależy wtedy znalezione rozwiązanie? 6. Jaki wpływ na końcowy wynik i ewolucję ma rozmiar turnieju w przypadku selekcji turniejowej? Rozważ przypadek, gdy rozmiar turnieju jest większy niż rozmiar populacji (losowanie ze zwracaniem). 7. Co można odczytać z wykresów uzyskanych z programu Evol? Zwróć szczególną uwage na wykres średniej wartości optymalizowanej funkcji w kolejnych iteracjach (generacjach). Wnioski i spostrzeżenia powinny być zobrazowane uzyskanymi wykresami jak i wykresami wykonanymni samodzielnie. Jako że efekty uzyskane przez tego typu algorymy w dużej mierze zależą od początkowej losowej populacji, przeprowadź obliczenia dla tych samych ustawień kilkakrotnie i wnioski oprzyj na uśrednionych wynikach (co najmniej 5 przebiegów dla każdego ustawienia). Przedstaw te uśrednione wyniki w postaci tabel oraz wykonanych własnoręcznie wykresów. Przeprowadź obliczenia dla minimalizacji jak i maksymalizacji funkcji.
13 13 Przykładowe pytania do zaliczenia laboratorium: 1. Określ zasady działania algorytmu genetycznego. 2. Czym charakteryzuje się klasyczny algorytm genetyczny? 3. Wyjaśnij zasady selekcji metodą koła ruletki 4. Na czym polega krzyżowanie jednopunktowe? 5. Jakie są najważniejsze parametry algorytmu genetycznego wpływające na jego działanie? 6. Wyjaśnij pojęcia: chromosom, gen, populacja. 7. Podaj różnice pomiędzy kodowaniem binarnym a rzeczywistym. Literatura: [1] pakiet Genetic Algorithm Toolbox (GA-Toolbox). [2] Arabas J., Wykłady z algorytmów ewolucyjnych, WNT, Warszawa 2001 [3] Goldberg D.E., Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998 [4] Michalewicz Z., Algorytmy genetyczne+struktury danych=programy ewolucyjne, WNT, Warszawa 1999 [5] Osowski S., Sieci neuronowe w ujęciu algorytmicznym, WNT, Warszawa 1997 [6] Rutkowska D., Piliński M., Rutkowski L., Sieci neuronowe, algorytmy genetyczne i systemy rozmyte, Wydawnictwo Naukowe PWN, Warszawa 1999 [7] Press W.H., Teukolsky S.A., Vetterling W.T., Flannery B.P, Numerical Recipes, Cambridge University Press, Cambridge 1992
PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA
PLAN WYKŁADU Operator krzyżowania Operator mutacji Operator inwersji Sukcesja Przykłady symulacji AG Kodowanie - rodzaje OPTYMALIZACJA GLOBALNA Wykład 3 dr inż. Agnieszka Bołtuć OPERATOR KRZYŻOWANIA Wymiana
Algorytm genetyczny (genetic algorithm)-
Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie
6. Klasyczny algorytm genetyczny. 1
6. Klasyczny algorytm genetyczny. 1 Idea algorytmu genetycznego została zaczerpnięta z nauk przyrodniczych opisujących zjawiska doboru naturalnego i dziedziczenia. Mechanizmy te polegają na przetrwaniu
Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych
Algorytm Genetyczny zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Dlaczego Algorytmy Inspirowane Naturą? Rozwój nowych technologii: złożone problemy obliczeniowe w
Algorytmy genetyczne w optymalizacji
Algorytmy genetyczne w optymalizacji Literatura 1. David E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998; 2. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy
PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG
PLAN WYKŁADU OPTYMALIZACJA GLOBALNA Wykład 2 dr inż. Agnieszka Bołtuć Historia Zadania Co odróżnia od klasycznych algorytmów Nazewnictwo Etapy Kodowanie, inicjalizacja, transformacja funkcji celu Selekcja
LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania
Algorytmy genetyczne
Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania
Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki
Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Obliczenia ewolucyjne (EC evolutionary computing) lub algorytmy ewolucyjne (EA evolutionary algorithms) to ogólne określenia używane
Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba
Algorytmy ewolucyjne - algorytmy genetyczne I. Karcz-Dulęba Algorytmy klasyczne a algorytmy ewolucyjne Przeszukiwanie przestrzeni przez jeden punkt bazowy Przeszukiwanie przestrzeni przez zbiór punktów
Obliczenia ewolucyjne - plan wykładu
Obliczenia ewolucyjne - plan wykładu Wprowadzenie Algorytmy genetyczne Programowanie genetyczne Programowanie ewolucyjne Strategie ewolucyjne Inne modele obliczeń ewolucyjnych Podsumowanie Ewolucja Ewolucja
Algorytmy genetyczne
9 listopada 2010 y ewolucyjne - zbiór metod optymalizacji inspirowanych analogiami biologicznymi (ewolucja naturalna). Pojęcia odwzorowujące naturalne zjawiska: Osobnik Populacja Genotyp Fenotyp Gen Chromosom
SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO
SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania
Algorytmy genetyczne
Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania
Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne
Algorytmy genetyczne Materiały do laboratorium PSI Studia niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki, pojęć
Algorytmy ewolucyjne NAZEWNICTWO
Algorytmy ewolucyjne http://zajecia.jakubw.pl/nai NAZEWNICTWO Algorytmy ewolucyjne nazwa ogólna, obejmująca metody szczegółowe, jak np.: algorytmy genetyczne programowanie genetyczne strategie ewolucyjne
Zadanie 5 - Algorytmy genetyczne (optymalizacja)
Zadanie 5 - Algorytmy genetyczne (optymalizacja) Marcin Pietrzykowski mpietrzykowski@wi.zut.edu.pl wersja 1.0 1 Cel Celem zadania jest zapoznanie się z Algorytmami Genetycznymi w celu rozwiązywanie zadania
Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne
Algorytmy genetyczne Materiały do laboratorium PSI Studia stacjonarne i niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki,
Algorytmy ewolucyjne. wprowadzenie
Algorytmy ewolucyjne wprowadzenie Gracjan Wilczewski, www.mat.uni.torun.pl/~gracjan Toruń, 2005 Historia Podstawowy algorytm genetyczny został wprowadzony przez Johna Hollanda (Uniwersytet Michigan) i
ALGORYTMY GENETYCZNE ćwiczenia
ćwiczenia Wykorzystaj algorytmy genetyczne do wyznaczenia minimum globalnego funkcji testowej: 1. Wylosuj dwuwymiarową tablicę 100x2 liczb 8-bitowych z zakresu [-100; +100] reprezentujących inicjalną populację
Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny
Algorytmy stochastyczne, wykład 01 J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-21 In memoriam prof. dr hab. Tomasz Schreiber (1975-2010) 1 2 3 Różne Orientacyjny
METODY HEURYSTYCZNE wykład 3
METODY HEURYSTYCZNE wykład 3 1 Przykład: Znaleźć max { f (x)=x 2 } dla wartości całkowitych x z zakresu 0-31. Populacja w chwili t: P(t)= {x t 1,...x t n} Założenia: - łańcuchy 5-bitowe (x=0,1,...,31);
ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ
ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ Zalety: nie wprowadzają żadnych ograniczeń na sformułowanie problemu optymalizacyjnego. Funkcja celu może być wielowartościowa i nieciągła, obszar
METODY HEURYSTYCZNE wykład 3
SCHEMAT DZIAŁANIA AG: METODY HEURYSTYCZNE wykład 3 procedure Algorytm_genetyczny t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do t:=t+ wybierz P(t) z P(t-) (selekcja)
Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009
Algorytmy genetyczne Paweł Cieśla 8 stycznia 2009 Genetyka - nauka o dziedziczeniu cech pomiędzy pokoleniami. Geny są czynnikami, które decydują o wyglądzie, zachowaniu, rozmnażaniu każdego żywego organizmu.
Standardowy algorytm genetyczny
Standardowy algorytm genetyczny 1 Szybki przegląd 2 Opracowany w USA w latach 70. Wcześni badacze: John H. Holland. Autor monografii Adaptation in Natural and Artificial Systems, wydanej w 1975 r., (teoria
Modyfikacje i ulepszenia standardowego algorytmu genetycznego
Modyfikacje i ulepszenia standardowego algorytmu genetycznego 1 2 Przypomnienie: pseudokod SGA t=0; initialize(p 0 ); while(!termination_condition(p t )) { evaluate(p t ); T t =selection(p t ); O t =crossover(t
Algorytmy genetyczne (AG)
Algorytmy genetyczne (AG) 1. Wprowadzenie do AG a) ewolucja darwinowska b) podstawowe definicje c) operatory genetyczne d) konstruowanie AG e) standardowy AG f) przykład rozwiązania g) naprawdę bardzo,
Równoważność algorytmów optymalizacji
Równoważność algorytmów optymalizacji Reguła nie ma nic za darmo (ang. no free lunch theory): efektywność różnych typowych algorytmów szukania uśredniona po wszystkich możliwych problemach optymalizacyjnych
Strategie ewolucyjne (ang. evolu4on strategies)
Strategie ewolucyjne (ang. evolu4on strategies) Strategia ewolucyjna (1+1) W Strategii Ewolucyjnej(1 + 1), populacja złożona z jednego osobnika generuje jednego potomka. Kolejne (jednoelementowe) populacje
Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny
Soft computing Soft computing tym róŝni się od klasycznych obliczeń (hard computing), Ŝe jest odporny na brak precyzji i niepewność danych wejściowych. Obliczenia soft computing mają inspiracje ze świata
LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl OBLICZENIA EWOLUCYJNE LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność
Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS
Algorytmy ewolucyjne Łukasz Przybyłek Studenckie Koło Naukowe BRAINS 1 Wprowadzenie Algorytmy ewolucyjne ogólne algorytmy optymalizacji operujące na populacji rozwiązań, inspirowane biologicznymi zjawiskami,
Algorytmy ewolucyjne 1
Algorytmy ewolucyjne 1 2 Zasady zaliczenia przedmiotu Prowadzący (wykład i pracownie specjalistyczną): Wojciech Kwedlo, pokój 205. Konsultacje dla studentów studiów dziennych: poniedziałek,środa, godz
Techniki ewolucyjne - algorytm genetyczny i nie tylko
Reprezentacja binarna W reprezentacji binarnej wybór populacji początkowej tworzymy poprzez tablice genotypów (rys.1.), dla osobników o zadanej przez użytkownika wielkości i danej długości genotypów wypełniamy
Algorytmy genetyczne
Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą
ALGORYTMY GENETYCZNE (wykład + ćwiczenia)
ALGORYTMY GENETYCZNE (wykład + ćwiczenia) Prof. dr hab. Krzysztof Dems Treści programowe: 1. Metody rozwiązywania problemów matematycznych i informatycznych.. Elementarny algorytm genetyczny: definicja
Generowanie i optymalizacja harmonogramu za pomoca
Generowanie i optymalizacja harmonogramu za pomoca na przykładzie generatora planu zajęć Matematyka Stosowana i Informatyka Stosowana Wydział Fizyki Technicznej i Matematyki Stosowanej Politechnika Gdańska
Metody Rozmyte i Algorytmy Ewolucyjne
mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb
Techniki optymalizacji
Techniki optymalizacji Algorytm kolonii mrówek Idea Smuga feromonowa 1 Sztuczne mrówki w TSP Sztuczna mrówka agent, który porusza się z miasta do miasta Mrówki preferują miasta połączone łukami z dużą
Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)
Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) 1 2 Wstęp Termin zaproponowany przez Pablo Moscato (1989). Kombinacja algorytmu ewolucyjnego z algorytmem poszukiwań lokalnych, tak że algorytm poszukiwań
BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE. Adrian Horzyk. Akademia Górniczo-Hutnicza
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
Metody przeszukiwania
Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania
Aproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
Algorytmy ewolucyjne Część II
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Algorytmy ewolucyjne Część II Metaheurystyki Treść wykładu Zastosowania Praktyczne aspekty GA Reprezentacja Funkcja dopasowania Zróżnicowanie dopasowania
ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA
INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 0 ALGORYTMY EWOLUCYJNE 2 Dla danego problemu można określić wiele sposobów kodowania i zdefiniować szereg operatorów (np. zadanie komiwojażera). AE to rozwinięcie
Dobór parametrów algorytmu ewolucyjnego
Dobór parametrów algorytmu ewolucyjnego 1 2 Wstęp Algorytm ewolucyjny posiada wiele parametrów. Przykładowo dla algorytmu genetycznego są to: prawdopodobieństwa stosowania operatorów mutacji i krzyżowania.
Automatyczny dobór parametrów algorytmu genetycznego
Automatyczny dobór parametrów algorytmu genetycznego Remigiusz Modrzejewski 22 grudnia 2008 Plan prezentacji Wstęp Atrakcyjność Pułapki Klasyfikacja Wstęp Atrakcyjność Pułapki Klasyfikacja Konstrukcja
Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne
Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-27 1 Mutacje algorytmu genetycznego 2 Dziedzina niewypukła abstrakcyjna
Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek
Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę
Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek
Strategie ewolucyjne Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne, a algorytmy genetyczne Podobieństwa: Oba działają na populacjach rozwiązań Korzystają z zasad selecji i przetwarzania
Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego
Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Piotr Rybak Koło naukowe fizyków Migacz, Uniwersytet Wrocławski Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 1 / 17 Spis
Algorytmy genetyczne w interpolacji wielomianowej
Algorytmy genetyczne w interpolacji wielomianowej (seminarium robocze) Seminarium Metod Inteligencji Obliczeniowej Warszawa 22 II 2006 mgr inż. Marcin Borkowski Plan: Przypomnienie algorytmu niszowego
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA WYKŁAD 15. ALGORYTMY GENETYCZNE Częstochowa 014 Dr hab. nż. Grzegorz Dudek Wydzał Elektryczny Poltechnka Częstochowska TERMINOLOGIA allele wartośc, waranty genów, chromosom - (naczej
LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch
OBLICZENIA EWOLUCYJNE LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE opracował: dr inż. Witold Beluch witold.beluch@polsl.pl Gliwice 2012 OBLICZENIA EWOLUCYJNE LABORATORIUM 5 2 Cel ćwiczenia
Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Algorytmy ewolucyjne Treść wykładu Wprowadzenie Zasada działania Podział EA Cechy EA Algorytm genetyczny 2 EA - wprowadzenie Algorytmy ewolucyjne
Teoria algorytmów ewolucyjnych
Teoria algorytmów ewolucyjnych 1 2 Dlaczego teoria Wynik analiza teoretycznej może pokazać jakie warunki należy spełnić, aby osiągnąć zbieżność do minimum globalnego. Np. sukcesja elitarystyczna. Może
LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch
OBLICZENIA EWOLUCYJNE LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE opracował: dr inż. Witold Beluch witold.beluch@polsl.pl Gliwice 12 OBLICZENIA EWOLUCYJNE LABORATORIUM
Obliczenia Naturalne - Algorytmy genetyczne
Literatura Obliczenia Naturalne - Algorytmy genetyczne Paweł Paduch Politechnika Świętokrzyska 20 marca 2014 Paweł Paduch Obliczenia Naturalne - Algorytmy genetyczne 1 z 45 Plan wykładu Literatura 1 Literatura
Zadania laboratoryjne i projektowe - wersja β
Zadania laboratoryjne i projektowe - wersja β 1 Laboratorium Dwa problemy do wyboru (jeden do realizacji). 1. Water Jug Problem, 2. Wieże Hanoi. Water Jug Problem Ograniczenia dla każdej z wersji: pojemniki
PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory
PLAN WYKŁADU Specyfika zadania komiwojażera Reprezentacje Operatory OPTYMALIZACJA GLOBALNA Wykład 5 dr inż. Agnieszka Bołtuć ZADANIE KOMIWOJAŻERA Koncepcja: komiwojażer musi odwiedzić każde miasto na swoim
Programowanie genetyczne, gra SNAKE
STUDENCKA PRACOWNIA ALGORYTMÓW EWOLUCYJNYCH Tomasz Kupczyk, Tomasz Urbański Programowanie genetyczne, gra SNAKE II UWr Wrocław 2009 Spis treści 1. Wstęp 3 1.1. Ogólny opis.....................................
Optymalizacja ciągła
Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej
Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji
Kolejna metoda informatyczna inspirowana przez Naturę - algorytmy genetyczne Struktura molekuły DNA nośnika informacji genetycznej w biologii Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania
przetworzonego sygnału
Synteza falek ortogonalnych na podstawie oceny przetworzonego sygnału Instytut Informatyki Politechnika Łódzka 28 lutego 2012 Plan prezentacji 1 Sformułowanie problemu 2 3 4 Historia przekształcenia falkowego
5. Algorytm genetyczny przykład zastosowania
5. Algorytm genetyczny przykład zastosowania Zagadnienie magicznych kwadratów Opis działania algorytmu Zagadnienie magicznych kwadratów polega na wygenerowaniu kwadratu n n, w którym elementami są liczby
Optymalizacja. Przeszukiwanie lokalne
dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Idea sąsiedztwa Definicja sąsiedztwa x S zbiór N(x) S rozwiązań, które leżą blisko rozwiązania x
Algorytmy ewolucyjne (2)
Algorytmy ewolucyjne (2) zajecia.jakubw.pl/nai/ ALGORYTM GEETYCZY Cel: znaleźć makimum unkcji. Założenie: unkcja ta jet dodatnia. 1. Tworzymy oobników loowych. 2. Stoujemy operacje mutacji i krzyżowania
WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego
WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego Algorytm ewolucyjny algorytm ewolucyjny inicjuj P 0 {P 0 1, P 0 2... P 0 μ } t 0 H P 0 while! stop for (i 1: λ) if (a< p c ) O t i mutation(crossover
KARTA MODUŁU KSZTAŁCENIA
KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne 1 Nazwa modułu kształcenia Sztuczna inteligencja 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki, Zakład Informatyki Stosowanej 3 Kod modułu (wypełnia
Program "FLiNN-GA" wersja 2.10.β
POLSKIE TOWARZYSTWO SIECI NEURONOWYCH POLITECHNIKA CZĘSTOCHOWSKA Zakład Elektroniki, Informatyki i Automatyki Maciej Piliński Robert Nowicki - GA Program "FLiNN-GA" wersja 2.10.β Podręcznik użytkownika
w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą
Strategie ewolucyjne (ang. evolution strategies)
Strategie ewolucyjne (ang. evolution strategies) 1 2 Szybki przegląd Rozwijane w Niemczech w latach 60-70. Wcześni badacze: I. Rechenberg, H.-P. Schwefel (student Rechenberga). Typowe zastosowanie: Optymalizacja
Wstęp do Sztucznej Inteligencji
Wstęp do Sztucznej Inteligencji Algorytmy Genetyczne Joanna Kołodziej Politechnika Krakowska Wydział Fizyki, Matematyki i Informatyki Metody heurystyczne Algorytm efektywny: koszt zastosowania (mierzony
Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.
Algorytmy genetyczne jako metoda wyszukiwania wzorców Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż. Marcin Borkowski Krótko i na temat: Cel pracy Opis modyfikacji AG Zastosowania
Algorytmy ewolucyjne `
Algorytmy ewolucyjne ` Wstęp Czym są algorytmy ewolucyjne? Rodzaje algorytmów ewolucyjnych Algorytmy genetyczne Strategie ewolucyjne Programowanie genetyczne Zarys historyczny Alan Turing, 1950 Nils Aall
Systemy Inteligentnego Przetwarzania wykład 4: algorytmy genetyczne, logika rozmyta
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
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA WYKŁAD 13. PROBLEMY OPTYMALIZACYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska PROBLEMY OPTYMALIZACYJNE Optymalizacja poszukiwanie
ALHE Z11 Jarosław Arabas wykład 11
ALHE Z11 Jarosław Arabas wykład 11 algorytm ewolucyjny inicjuj P 0 {x 1, x 2... x } t 0 while! stop for i 1: if a p c O t,i mutation crossover select P t, k else O t,i mutation select P t,1 P t 1 replacement
Algorytmy ewolucyjne
Algorytmy ewolucyjne Dr inż. Michał Bereta p. 144 / 10, Instytut Modelowania Komputerowego mbereta@pk.edu.pl beretam@torus.uck.pk.edu.pl www.michalbereta.pl Problemy świata rzeczywistego często wymagają
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA WYKŁAD 17. ALGORYTMY EWOLUCYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska KODOWANIE BINARNE Problem różnych struktur przestrzeni
LABORATORIUM 1: Program Evolutionary Algorithms
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl OBLICZENIA EWOLUCYJNE LABORATORIUM 1: Program Evolutionary Algorithms opracował:
Optymalizacja parametryczna (punkt kartezjańskim jest niewypukła).
METODY INTELIGENCJI OBLICZENIOWEJ wykład RODZAJE ZADAŃ OPTYMALIZACJI (w zależno ności od przestrzeni szukiwań) Optymalizacja parametryczna (punkt U jest wektorem zm. niezależnych nych):. Zadania ciągłe
METODY HEURYSTYCZNE 3
METODY HEURYSTYCZNE wykład 3 1 ALGORYTMY GENETYCZNE 2 SCHEMAT DZIAŁANIA ANIA AG: procedure algorytm_genetyczny begin t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do
Wykład 4 Przebieg zmienności funkcji. Badanie dziedziny oraz wyznaczanie granic funkcji poznaliśmy na poprzednich wykładach.
Wykład Przebieg zmienności funkcji. Celem badania przebiegu zmienności funkcji y = f() jest poznanie ważnych własności tej funkcji na podstawie jej wzoru. Efekty badania pozwalają naszkicować wykres badanej
ALGORYTMY GENETYCZNE
ALGORYTMY GENETYCZNE Algorytmy Genetyczne I. Co to są algorytmy genetyczne? II. Podstawowe pojęcia algorytmów genetycznych III. Proste algorytmy genetyczne IV. Kodowanie osobników i operacje genetyczne.
Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
Optymalizacja optymalizacji
7 maja 2008 Wstęp Optymalizacja lokalna Optymalizacja globalna Algorytmy genetyczne Badane czasteczki Wykorzystane oprogramowanie (Algorytm genetyczny) 2 Sieć neuronowa Pochodne met-enkefaliny Optymalizacja
Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła
Problemy 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga 3 Ocena
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane
Problemy z ograniczeniami
Problemy z ograniczeniami 1 2 Dlaczego zadania z ograniczeniami Wiele praktycznych problemów to problemy z ograniczeniami. Problemy trudne obliczeniowo (np-trudne) to prawie zawsze problemy z ograniczeniami.
Heurystyki. Strategie poszukiwań
Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja
Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j
Kompresja transformacyjna. Opis standardu JPEG. Algorytm JPEG powstał w wyniku prac prowadzonych przez grupę ekspertów (ang. Joint Photographic Expert Group). Prace te zakończyły się w 1991 roku, kiedy
1.1. Pozycyjne systemy liczbowe
1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego
METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne
METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne dr hab. inż. Andrzej Obuchowicz, prof. UZ Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski A. Obuchowicz: MSI - algorytmy ewolucyjne
Systemy uczące się Lab 4
Systemy uczące się Lab 4 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 26 X 2018 Projekt zaliczeniowy Podstawą zaliczenia ćwiczeń jest indywidualne wykonanie projektu uwzględniającego
Programowanie celowe #1
Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem
FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2011, Oeconomica 285 (62), 45 50
FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2011, Oeconomica 285 (62), 45 50 Anna Landowska KLASYCZNY ALGORYTM GENETYCZNY W DYNAMICZNEJ OPTYMALIZACJI MODELU
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny
Programowanie genetyczne - gra SNAKE
PRACOWNIA Z ALGORYTMÓW EWOLUCYJNYCH Tomasz Kupczyk, Tomasz Urbański Programowanie genetyczne - gra SNAKE II UWr Wrocław 2009 Spis treści 1. Wstęp 3 1.1. Ogólny opis.....................................