Krótkie wprowadzenie do algorytmów genetycznych

18 Apr 10:48 am


Original: http://www.cs.bgu.ac.il/~sipper/ga.html

Pomysł stosowania biologiczną zasadę naturalnej ewolucji do systemów sztucznej, wprowadzone ponad trzy dekady temu, odnotowano imponujący wzrost w ciągu ostatnich kilku lat. Zazwyczaj zgrupowane pod pojęciem algorytmów ewolucyjnych lub obliczeń ewolucyjnych, znajdziemy domeny algorytmy genetyczne, strategie ewolucyjne, programowanie ewolucyjne i programowania genetycznego [Sip02, B96, Mic96, Mit96, Sch95, Fog95, Koz92, Gol89, Hol75]. Algorytmy ewolucyjne są wszechobecne w dzisiejszych czasach, które zostały z powodzeniem zastosowane do wielu problemów z różnych dziedzin, w tym optymalizacji, programowania automatycznego, uczenia maszynowego, ekonomii, badań operacyjnych, ekologii, genetyki populacji, badania ewolucji i nauki oraz systemów społecznych [Mit96]. W ostatnich opinii obecnego stanu techniki, czytelnik w [Tom96, Tom95]. (Grudzień 2003 r. – nowe referencje: [Sip02, Banzhaf97, Fogel99, Koza99, Vose99].)
Jako ogólny przykład sztucznej ewolucji, uważamy, algorytmy genetyczne [Hol75].

Algorytm genetyczny jest iteracyjnym, że składa się z stałej wielkości populacji osobników, z których każda reprezentuje skończony ciąg symboli, znany jako genomu, kodujących możliwe rozwiązanie w danej przestrzeni problemu. Przestrzeń ta, o których mowa w przestrzeni poszukiwań, obejmuje wszystkie możliwe rozwiązania tego problemu. Ogólnie rzecz biorąc, algorytm genetyczny jest stosowane do pomieszczeń, które są zbyt duże, aby być dokładnie przeszukano. Alfabet używany symbol jest często binary, choć inne reprezentacje były również wykorzystywane, w tym kodowania znaków, opartych na wartościach rzeczywistych kodowania, oraz – przede wszystkim – reprezentacje drzew.

Średnia algorytmu genetycznego przebiega w następujący sposób: Początkowa populacja osób jest generowany losowo lub heurystycznie. Każdy krok ewolucyjny, znany jako pokolenie, osoby w obecnej populacji są dekodowane i oceniane według niektórych predefiniowanych kryterium jakości, o którym mowa w przydatności lub funkcji fitness. W celu utworzenia nowej populacji (nowej generacji), jednostki są wybierane w zależności od ich przydatności. Wiele Procedury wyboru są obecnie w użyciu, jednym z najprostszych jest oryginalna fitness-proporcjonalne Holland wybór, gdzie osoby są wybierane z prawdopodobieństwem proporcjonalnym do ich względnej sprawności. Zapewnia to, że oczekuje się, ile razy dana osoba jest wybrana jest w przybliżeniu proporcjonalna do ich względnej skuteczności w populacji. Tak więc, wysoki-fitness (“ dobry”) osoby mają większe szanse na “ odtwarzania”, podczas gdy niski fitnes z nich są bardziej prawdopodobne, aby zniknąć.

Wybór nie jest w stanie przedstawić żadnych nowych jednostek w populacji, to znaczy, że nie może znaleźć nowe punkty w przestrzeni poszukiwań. Są one generowane przez operatorów inspirowanych genetycznie, z których najbardziej znane są zwrotnica i mutacji. Crossover jest wykonywana z prawdopodobieństwa pcross (“ prawdopodobieństwo rozjazd” lub stopa zwrotnicy “”) pomiędzy dwoma wybranymi osób, rodzice wezwali poprzez wymianę części swoich genomów (czyli kodowanie), tworząc dwie nowe osoby, zwane potomstwo; W swojej najprostszej postaci, podciągi są wymieniane po wybranej losowo punkt przejścia. Ten operator ma tendencję, aby umożliwić proces ewolucyjny ruch w kierunku” “ obiecujących regionach przestrzeni poszukiwań. Operator mutacji wprowadzono, aby zapobiec przedwczesnej zbieżności lokalnej optima losowo próbek nowych punktów w przestrzeni poszukiwań. Jest ono prowadzone przez przerzucanie bitów losowo, niektóre (małe) PMUT prawdopodobieństwa. Algorytmy genetyczne są stochastyczne iteracyjny procesy, które nie są gwarantowane do konwergencji; warunek zakończenia mogą być określone jako pewnej ustalonej, liczby maksymalnej pokoleń lub osiągnięcia akceptowalnego poziomu sprawności fizycznej. Rysunek 1 przedstawia standardowy algorytm genetyczny w postaci pseudo-kodu.

rozpocząć GA
g: = 0 {counter generacji}
Inicjowanie populacji P (g)
Ocenić populacji P (g) {tj. obliczeniowe wartości Fitness}
natomiast nie zrobił zrobić
g: = g+ 1
Wybierz P (g) z P (g-1)
Crossover P (g)
Mutują P (g)
Ocenić P (g)
end, podczas gdy
końca GA

Rysunek 1: Pseudo-kod standardowego algorytmu genetycznego.

Rozważmy następujący prosty przykład, ze względu na [Mit96], wykazując algorytmu genetycznego w funkcjonowanie. Populacja składa się z 4 osób, które są kodowane binarnie łańcuchy (genomów) o długości 8. Wartość siłownia jest równa liczbie tych, w łańcuch bitów, z pcross = 0,7 i PMUT = 0,001. Bardziej typowe wielkości populacji i długość genomu w zakresie 50-1000. Należy również zauważyć, że obliczenia fitness w tym przypadku jest bardzo proste, ponieważ nie złożone dekodowania ani oceny jest konieczne. Początkowy (losowo wygenerowanym) populacja może wyglądać tak:

Fitness Genome Label
00000110 2
B 11101110 6
C 00100000 1
D 00110100 3

Korzystanie wyboru fitness-proporcjonalny musimy wybrać 4 osób (dwa zestawy rodziców), z prawdopodobieństwem proporcjonalnym do ich wartości fitness. W naszym przykładzie załóżmy, że dwie pary rodziców są {B, D} i {B, C} (uwaga, że ​​nie dostał wybrana jako naszego postępowania jest probabilistyczny). Gdy para rodziców jest zaznaczone, zwrotnica jest pomiędzy nimi z pcross prawdopodobieństwa, w wyniku dwóch potomstwa. Jeśli nie rozjazd dokonuje (z prawdopodobieństwem 1-pcross), to potomstwo jest dokładne kopie każdego z rodziców. Załóżmy, że w naszym przykładzie, że zwrotnica ma miejsce między rodzicami B i D na (losowo wybrane) pozycji pierwszego bitu, tworząc potomstwo E = 10110100 i F = 01101110, a nie zwrotnica jest pomiędzy rodzicami B i C, tworząc potomstwo, które są dokładne kopie B i C. Następnie, każdy potomek podlega mutacji z PMUT prawdopodobieństwa na bit. Załóżmy na przykład, e potomstwo jest zmutowany w szóstej pozycji w postaci e ‘= 10110000, potomstwo B jest zmutowany w pierwszej pozycji bitowej w postaci B’ = 01101110, i F potomstwo i C nie są zmutowane w ogóle. Następna populacja generacji, stworzony przez powyższych operatorów selekcji, crossover i mutacji jest zatem:

Fitness Genome Label
E ‘10110000 3
F 01101110 5
C 00100000 1
B ‘01101110 5

Należy pamiętać, że w nowej populacji, choć najlepszy indywidualny z fitnessem 6 zostało utracone, średnia siłownia wzrosła. Iteracji tej procedury, algorytm genetyczny w końcu znaleźć idealne ciąg, tj. z wartości maksymalnej przydatności do 8.

Wdrożenie algorytmu ewolucyjnego, sprawa, która zazwyczaj pozostaje w tle, jest dość kosztowne w wielu przypadkach, ponieważ populacje rozwiązań są zaangażowane ewentualnie w połączeniu z obliczeniowo ocen fitness. Jednym z możliwych rozwiązań jest zrównoleglenia procesu, pojęcie, które zostały zbadane w pewnym stopniu w ostatnich latach (patrz opinie według [Tom96, CP95]). Podczas pozowanie ma większych problemów w zasadzie, może to wymagać rozsądne modyfikacje istniejących algorytmów lub wprowadzenie nowych, w celu spełnienia ograniczeń danego urządzenia równoległego. Nasz projekt zakłada komórkowej programowania ewolucyjny algorytm używany ewoluować nierównomierny automatów komórkowych. Algorytm jest lokalny charakter czyni go bardziej podatne na równoległej realizacji i budowy `ware rozwijającej ‘, evolware.

Aby uzyskać łącza do dodatkowych informacji, kliknij tutaj.

Idź do strony Programowanie Komórkowej.

M. Sipper, Nature maszyny: Coming Age of Computing Bio-Inspired, McGraw-Hill, New York, 2002.

O tym dokumencie …

Krótkie wprowadzenie do algorytmów genetycznych

Niniejszy dokument został wygenerowany za pomocą LaTeX2HTML wersję tłumacz 96,1 (5 luty, 1996) © Copyright 1993, 1994, 1995, 1996, Nikos Drakos, Jednostka Computer Based Learning, University of Leeds.

Argumenty wiersza poleceń to:
latex2html-split 0 ga.tex.

Tłumaczenie zostało zainicjowane przez Mosze Sipper Wto 13 listopada 14:16:09 GMT +0200 1996

Comments are closed