









Studiuj dzięki licznym zasobom udostępnionym na Docsity
Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium
Przygotuj się do egzaminów
Studiuj dzięki licznym zasobom udostępnionym na Docsity
Otrzymaj punkty, aby pobrać
Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium
Społeczność
Odkryj najlepsze uniwersytety w twoim kraju, według użytkowników Docsity
Bezpłatne poradniki
Pobierz bezpłatnie nasze przewodniki na temat technik studiowania, metod panowania nad stresem, wskazówki do przygotowania do prac magisterskich opracowane przez wykładowców Docsity
Możemy wpływać na rezultat algorytmu poprzez używanie odpowiednich selekcji, krzyżowań i mutacji genów. Więcej informacji o algorytmach genetycznych znajdziesz ...
Typologia: Prezentacje
1 / 17
Ta strona nie jest widoczna w podglądzie
Nie przegap ważnych części!
Wprowadzenie Przeczytaj Audiobook Sprawdź się Dla nauczyciela
W biologii populacją nazywamy grupę osobników jednego gatunku zamieszkujących dany obszar w określonym czasie. W ramach danej populacji występują różne procesy i zdarzenia, które wpływają na jej strukturę oraz potomstwo.
Podobnie funkcjonuje populacja w algorytmach genetycznych. Poszczególne jej osobniki, które reprezentują najlepsze rozwiązanie, są selekcjonowane i na ich podstawie powstaje nowe pokolenie. Możemy wpływać na rezultat algorytmu poprzez używanie odpowiednich selekcji, krzyżowań i mutacji genów.
Więcej informacji o algorytmach genetycznych znajdziesz w pozostałych e‐materiałach tej serii:
Algorytmy genetyczne, Algorytmy genetyczne – projektowanie, Algorytmy genetyczne – zastosowanie, Algorytmy genetyczne – przeszukiwanie dużych przestrzeni rozwiązań.
Twoje cele
Poznasz różne metody selekcji i krzyżowania osobników. Dowiesz się, na czym polega mutacja genu.
Źródło: CHUTTERSNAP, domena publiczna.
Zanim przystąpimy do szczegółowego omówienia poszczególnych etapów algorytmu genetycznego, przypomnijmy sobie podstawowy schemat jego działania zaprezentowany na poprzedniej lekcji.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Algorytm zaczyna swoje działanie od wygenerowania pierwszej populacji. Najczęściej jest to wykonywane w sposób losowy. Następnie za pomocą określonej funkcji przystosowania każdemu z osobników przypisywana jest wartość, która jest odwzorowaniem jego jakości z punktu widzenia rozwiązywanego problemu. Zależy nam, aby za pomocą odpowiedniej metody selekcji wybrać najbardziej interesujących nas osobników z danej populacji. Następnie są oni poddawani zmianom za pomocą operatorów genetycznych takich jak operator krzyżowania oraz operator mutacji. Następnie zgodnie z wybraną metodą sukcesji tworzymy nową populację, która ponownie może być poddana naszemu algorytmowi genetycznemu.
Wybór odpowiedniej metody selekcji podczas projektowania naszego algorytmu genetycznego ma bardzo duży wpływ na jego jakość. Oto najczęściej wykorzystywane metody:
metoda koła ruletki - polega ona na przydzieleniu każdemu osobnikowi takiego wycinka koła ruletki, jaki odpowiada jego jakości przystosowania w stosunku do innych
Załóżmy, że w naszym algorytmie genetycznym osobnik jest reprezentowany przez 8‐bitową liczbę całkowitą. Każdy z bitów to jego gen , czyli wartość odpowiadająca pewnej cesze.
Po wybraniu grupy interesujących nas osobników z danej populacji następuje ich krzyżowanie. Jest to proces wymiany części informacji genetycznej pomiędzy rodzicami. Chromosomy rodzicielskie rozcinane są na dwa lub więcej fragmentów, a następnie pewne dwa fragmenty są między nimi wymieniane. W ten sposób powstają nowe osobniki.
Przykład krzyżowania jednopunktowego Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Krzyżowanie nie zachodzi zawsze. Zazwyczaj w programie ustalamy pewne prawdopodobieństwo jego zajścia. Dodatkowo ze względu na liczbę punktów przecięć chromosomu wyróżniamy dwa rodzaje krzyżowań:
krzyżowanie jednopunktowe - dwa rodzicielskie chromosomy przecinamy w jednym konkretnym punkcie, najczęściej jest to środek; krzyżowanie wielopunktowe - dwa rodzicielskie chromosomy przecinamy w dwóch lub więcej punktach.
sukcesja z częściowym zastępowaniem - w nowej populacji znajdują się osobniki z poprzedniej i potomnej populacji. Metoda ta prowadzi zwykle do stabilniejszej pracy algorytmu ewolucyjnego, ale może spowodować tendencję do osiągania ekstremów lokalnych. sukcesja elitarna - gwarantuje, że w nowej populacji znajduje się co najmniej jeden najlepszy osobnik z poprzedniej populacji. Może to przyspieszyć znalezienie optymalnego rozwiązania, ale tym samym zwiększa prawdopodobieństwo osiągania ekstremów lokalnych.
Do lepszego wyjaśnienia mechanizmów działania populacji, prześledzimy działanie jednej iteracji algorytmu genetycznego na przykładowym problemie. Będziemy dążyć do minimalizacji wartości funkcji na zbiorze liczb całkowitych z przedziału. Nasza funkcja jest dana następującym wzorem:
Ponieważ poszukujemy najmniejszej wartości funkcji w przedziale , to osobnikiem w naszym algorytmie genetycznym będzie 5‐bitowa liczba całkowita. Będzie to argument naszej funkcji zapisany w systemie dwójkowym.
Parametry i metody naszego algorytmu genetycznego:
metoda selekcji : metoda koła ruletki, krzyżowanie : jednopunktowe,
prawdopodobieństwo krzyżowania : 1, prawdopodobieństwo mutacji : 0,02, metoda sukcesji : sukcesja z całkowitym zastępowaniem. rozmiar populacji : 6
Pozostaje jeszcze kwestia wyboru populacji startowej algorytmu genetycznego. W tym przypadku została ona wygenerowana w sposób losowy. Przy użyciu generatora liczb pseudolosowych wylosowano sześć liczb całkowitych z przedziału.
Numer osobnika
Populacja początkowa
Wartość Wartość Prawdopodobieństwo wylosowania osobnika
Liczba wylosowany kopii 1 00101 5 -1375 0,0856 0 2 10011 19 -5225 0,3253 2 3 00111 7 -2093 0,1304 1 4 01100 12 -3888 0,2421 2 5 11101 29 -1015 0,0632 0 6 01000 8 -2464 0,1534 1
Następnie po jednej iteracji algorytmu genetycznego otrzymujemy:
Pula rodzicielska
Wylosowany punkt krzyżowania
Populacja po krzyżowaniu
Populacja po mutacji
Wartość Wartość
Po jednej iteracji algorytmu najmniejszą wartością funkcji jaką udało nam się uzyskać w nowym pokoleniu jest. Jest to wynik gorszy niż w poprzednim pokoleniu, który wynosił. Taka sytuacja może się wydarzyć ze względu na losowość naszego algorytmu genetycznego. Można temu zapobiec, stosując inną metodę selekcji lub sukcesji. Innym możliwym rozwiązaniem jest zwiększenie liczby iteracji i zapisywanie najlepszego wyniku spośród wszystkich dotychczasowych populacji.
f
Polecenie 1
Przesłuchaj audiobook, a następnie zastanów się, jak dużą rolę pełni populacja w algorytmach genetycznych.
Audiobook można wysłuchać pod adresem: h ps://zpe.gov.pl/b/PuUOddMvA
Populacja w algorytmach genetycznych
Poznaliśmy już najważniejsze etapy funkcjonowania algorytmów genetycznych, a także przeanalizowaliśmy dokładnie, jak działają operatory krzyżowania oraz mutacji. Przyjrzyjmy się teraz bliżej samemu doborowi początkowej puli populacji. Jest to pierwszy, a zarazem dość istotny krok w przebiegu całego algorytmu i może wpłynąć między innymi na jakość finalnych rezultatów.
Zazwyczaj wybór populacji początkowej jest całkowicie losowy. Jednak bywają sytuacje, gdy wykorzystujemy inicjalizację heurystyczną. Polega ona na doborze konkretnej puli populacji, zazwyczaj mało różnorodnej. Tego typu rozwiązanie wykorzystuje się najczęściej, gdy wiemy, w jakich obszarach pragniemy szukać rozwiązań naszego problemu. Jednocześnie gwarantuje ono znacznie większą szybkość i niezawodność przeprowadzanych operacji.
Należy pamiętać jednak, że mniejsza różnorodność wiąże się również z uzyskaniem nieoptymalnego rozwiązania. Co ciekawe, istnieje możliwość połączenia obu typów inicjalizacji. Wybieramy gotową populację, a następnie dodajemy do niej grupę losowych rozwiązań. W ten sposób możemy zapewnić większą różnorodność w populacji niż w przypadku podejścia heurystycznego oraz większą szybkość i niezawodność przeprowadzanych operacji niż w przypadku inicjalizacji losowej. Teoretycznie można byłoby nazwać to rozwiązanie złotym środkiem, jednak należy pamiętać, że typ doboru początkowej populacji powinien być dostosowany do sytuacji.
Gdy wiemy już, jak wygląda wstępna inicjalizacja, warto poruszyć temat modeli populacji. Różne modele umożliwiają większe lub mniejsze dostosowanie przebiegu wykonywania algorytmu do naszych potrzeb i oczekiwań. Istnieje szereg różnych klasyfikacji modeli, jednakże my skupimy się na ich podziale na lokalne, regionalne i globalne. Podział ten bazuje na strategii wyboru rodziców, a także doboru obszaru
selekcji. W przypadku modelu globalnego proces selekcji odbywa się na całej populacji, nie ograniczając w żaden sposób doboru rodziców. Jest to wręcz klasyczny wariant
algorytmu genetycznego.
Model regionalny bazuje na podziale pełnej populacji na określoną ilość podgrup
zwanych subpopulacjami. Rodziców możemy dobrać tylko z obszaru tej samej subpopulacji. Po pewnym czasie nastąpić może proces migracji, w ramach którego część rozwiązań jest przenoszona do innych grup. Ma on na celu zwiększenie różnorodności pomiędzy osobnikami w tej samej populacji. Dużym plusem modelu
regionalnego jest znaczne przyspieszenie czasu przeprowadzania obliczeń.
Ostatnim rozpatrywanym modelem będzie model lokalny. Ogranicza on wybór
rodziców jedynie do sąsiadujących ze sobą rozwiązań. W ten sposób wraz z każdym kolejnym pokoleniem następować będzie przekazanie części genów przodków do
coraz dalej ulokowanych osobników.
Podsumowując, zarówno dobór początkowej populacji, jak i obrany jej model w znaczny
sposób wpłynąć mogą na sam przebieg wykonywania naszego algorytmu oraz jego rezultat. Szereg przedstawionych możliwości pozwala nam uzyskiwać ciekawe wyniki
oraz testować algorytmy genetyczne pod przeróżnymi kątami. Warto o tym pamiętać, nawet jeżeli zazwyczaj korzystać będziemy z klasycznej inicjalizacji losowej i modelu globalnego.
Ćwiczenie 4 Wskaż, na co wpływa wybór odpowiedniej metody sukcesji.
Na ryzyko osiągania lokalnych ekstremów.
Na ryzyko osiągania przedwczesnej zbieżności.
Na szybkość działania algorytmów.
Na ryzyko wyginięcia populacji.
Na szybkość znajdowania optymalnego rozwiązania.
Ćwiczenie 5 Oceń prawdziwość stwierdzenia: „sukcesja z całkowitym zastępowaniem najszybciej prowadzi do rozwiązania optymalnego”.
prawda
fałsz
Ćwiczenie 6 Zaznacz wszystkie najczęściej wykorzystywane metody sukcesji.
sukcesja z częściowym zastępowaniem
sukcesja militarna
sukcesja z całkowitym zastępowaniem
sukcesja z nadzorem
sukcesja elitarna
醙
醙
難
Ćwiczenie 7 Wstaw brakujące wyrażenia tak, aby treść poniższego tekstu była prawdziwa.
Osobniki powstałe w wyniku krzyżowania są następnie poddawane procesowi. Polega on na losowej zmianie wartości danego osobnika. Prawdopodobieństwo jej zajścia zazwyczaj wynosi około , ponieważ w przeciwnym razie w wynikach pojawiłoby się za losowości. Mutacja jest kluczowa do odpowiedniego przeszukiwania przestrzeni możliwych rozwiązań.
dużo chromosomów selekcji genów 10% 50% mało 1% mutacji
Ćwiczenie 8 Połącz w pary metody selekcji z ich opisami.
metoda koła ruletki
dzielimy osobniki populacji na podgrupy, a następnie wybieramy z każdej z nich osobnika o najlepszym przystosowaniu
selekcja rankingowa
polega na przydzieleniu każdemu osobnikowi prawdopodobieństwa wylosowania w sposób proporcjonalny do ich jakości
metoda turniejowa
po przydzieleniu każdemu osobnikowi pewnej rangi bazując na ich przystosowaniu, wybieramy pewną ilość najlepszych spośród nich
難
難
konektywizm.
Metody i techniki nauczania:
dyskusja; rozmowa nauczająca z wykorzystaniem multimedium i ćwiczeń interaktywnych; metody aktywizujące.
Formy pracy:
praca indywidualna; praca w parach; praca w grupach; praca całego zespołu klasowego.
Środki dydaktyczne:
komputery z głośnikami, słuchawkami i dostępem do internetu; zasoby multimedialne zawarte w e‐materiale; tablica interaktywna/tablica, pisak/kreda; telefony z dostępem do internetu.
Przebieg lekcji
Przed lekcją:
Faza wstępna:
Faza realizacyjna:
Faza podsumowująca:
Praca domowa:
Wskazówki metodyczne:
Treści w sekcji „Audiobook” można wykorzystać jako materiał służący powtórzeniu materiału.