Docsity
Docsity

Przygotuj się do egzaminów
Przygotuj się do egzaminów

Studiuj dzięki licznym zasobom udostępnionym na Docsity


Otrzymaj punkty, aby pobrać
Otrzymaj punkty, aby pobrać

Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium


Informacje i wskazówki
Informacje i wskazówki

Algorytmy genetyczne – populacja, Prezentacje z Informatyka

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

2022/2023

Załadowany 24.02.2023

guns_pistols
guns_pistols 🇵🇱

4.5

(13)

79 dokumenty

1 / 17

Toggle sidebar

Ta strona nie jest widoczna w podglądzie

Nie przegap ważnych części!

bg1
Algorytmy genetyczne – populacja
Wprowadzenie
Przeczytaj
Audiobook
Sprawdź się
Dla nauczyciela
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Podgląd częściowego tekstu

Pobierz Algorytmy genetyczne – populacja i więcej Prezentacje w PDF z Informatyka tylko na Docsity!

Algorytmy genetyczne – populacja

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.

Algorytmy genetyczne – populacja

Przeczytaj

Schemat działania algorytmu genetycznego

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.

Metody selekcji

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

  • im lepszy osobnik, tym większy wycinek koła zajmuje. Oznacza to, że rozkładamy prawdopodobieństwo wylosowania osobników w sposób proporcjonalny do ich jakości. selekcja rankingowa - polega na przydzieleniu każdemu osobnikowi pewnej rangi, bazując na wartości jego przystosowania. Dzięki temu porządkujemy danych osobników w kolejności od najlepszego do najgorszego. Następnie wybieramy pewną określoną liczbę najlepszych osobników, którzy wezmą udział w rozmnażaniu. Osobniki, które nie zostały wybrane, są usuwane z populacji. metoda turniejowa - metoda ta dzieli populację na grupy, a następnie pomiędzy osobnikami z danej grupy jest rozgrywany turniej. Polega on na wyborze najlepszego osobnika w sposób deterministyczny lub losowy. Kolejną populację tworzą zwycięzcy turnieju z każdej grupy. Rozmiar grup może być dowolny, jednak najczęściej składają się one z dwóch lub trzech osobników.

Krzyżowanie osobników

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.

Przykład algorytmu genetycznego

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,

[0, 31]

f(x) = x^3 − 24x^2 − 180x

[0, 31]

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.

Zastosowania algorytmów genetycznych

[0, 31]

x f(x)

x f(x)

f

f(20) = −

f(19) = −

Audiobook

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: hps://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ą:

  1. Przygotowanie do zajęć. Nauczyciel loguje się na platformie i udostępnia e‐materiał: „Algorytmy genetyczne – populacja”. Nauczyciel prosi uczniów o zapoznanie się z treściami w sekcji „Przeczytaj”.

Faza wstępna:

  1. Nauczyciel wyświetla i odczytuje temat lekcji oraz cele zajęć. Prosi uczniów o sformułowanie kryteriów sukcesu.
  2. Rozpoznanie wiedzy uczniów. Uczniowie tworzą pytania dotyczące tematu zajęć, na które odpowiedzą w trakcie lekcji.

Faza realizacyjna:

  1. Praca z tekstem. Jeżeli przygotowanie uczniów do lekcji jest niewystarczające, nauczyciel prosi o indywidualne zapoznanie się z treścią zawartą w sekcji „Przeczytaj”. Każdy uczestnik zajęć podczas cichego czytania wynotowuje najważniejsze kwestie poruszane w tekście.
  2. Praca z multimedium. Uczniowie pracują w parach. Słuchają audiobooka, a następnie zastanawiają się jak dużą rolę pełni populacja w algorytmach genetycznych. Wspólnie z nauczycielem omawiają wnioski.
  1. Ćwiczenie umiejętności. Uczniowie wykonują indywidualnie ćwiczenia nr 1‐8 po wykonaniu każdego z nich następuje omówienia rozwiązania przez nauczyciela.

Faza podsumowująca:

  1. Nauczyciel ponownie wyświetla na tablicy temat i cele lekcji zawarte w sekcji „Wprowadzenie”. W kontekście ich realizacji następuje omówienie ewentualnych problemów z rozwiązaniem ćwiczeń z sekcji „Sprawdź się”.

Praca domowa:

  1. Uczniowie opracowują FAQ (minimum 3 pytania i odpowiedzi) do tematu lekcji („Algorytmy genetyczne – populacja”).

Wskazówki metodyczne:

Treści w sekcji „Audiobook” można wykorzystać jako materiał służący powtórzeniu materiału.