Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska

Slides:



Advertisements
Podobne prezentacje
ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
Advertisements

Metody optymalizacyjne w logistyce
Algorytmy genetyczne.
„Wielokryterialna optymalizacja pracy systemu wytwarzania o strukturze przepływowej – algorytm memetyczny” Przygotował: Dominik Żelazny, IIAR.
Wprowadzenie do optymalizacji wielokryterialnej.
Algorytmy ewolucyjne Termin EC (Evolutionary Computation) obliczenia ewolucyjne obejmuje wiele technik obliczeniowych kluczowym elementem jest model procesów.
Algorytmy genetyczne Nowak Sławomir
Programowanie genetyczne (Genetic Programming)
Badania operacyjne. Wykład 2
Zrównoleglanie programu sekwencyjnego
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu
Algorytmy genetyczne Motto:
Hybrydowe metody optymalizacji geometrii. Prezentacja wyników.
Zmienność organizmów i jej przyczyny
Macierze Maria Guzik.
Nieelitystyczne algorytmy ewolucyjnej optymalizacji wielokryterialnej
Sztuczna Inteligencja Szukanie heurystyczne II
Wykład 2: Upraszczanie, optymalizacja i implikacja
Opracował: dr inż. Michał Krzemiński
Algorytmy genetyczne - plan wykładu
Algorytmy genetyczne - plan wykładu
Algorytmy genetyczne - plan wykładu
Odkrywanie wzorców sekwencji
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
Zapis informacji Dr Anna Kwiatkowska.
Algorytmy genetyczne.
Algorytmy genetyczne.
WYKŁAD 7. Spójność i rozpięte drzewa Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja.
Hipoteza cegiełek, k-ramienny bandyta, minimalny problem zwodniczy
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Rekurencja.
Algorytm genetyczny.
Algorytmy memetyczne i ich zastosowania
IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM
Graf - jest to zbiór wierzchołków, który na rysunku przedstawiamy za pomocą kropek oraz krawędzi łączących wierzchołki. Czasami dopuszcza się krawędzie.
Algorytmy i struktury danych
Badania operacyjne Wykład 5.
ALGORYTMY ROZWIĄZYWANIA GIER C.D.
Typy wykresów Bartosz Celiński.
Systemy liczbowe.
Figury w układzie współrzędnych.
Zasady przywiązywania układów współrzędnych do członów.
Dziedziczenie cech jednogenowych.
Autor: Karol Podsiadło Kierujący pracą: dr inż. Ewa Płuciennik-Psota
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Liczby naturalne Ułamki zwykłe Ułamki dziesiętne Liczby całkowite Liczby ujemne Procenty Wyrażenia algebraiczne Równania i nierówności Układ współrzędnych.
Algorytmika.
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
Metody numeryczne szukanie pierwiastka metodą bisekcji
Rozwiązywanie układów równań liniowych różnymi metodami
Metody matematyczne w Inżynierii Chemicznej
Komputerowa optymalizacja obszaru logistyki
System gromadzenia i udostępniania informacji o ruchu pojazdów i przesyłek w przedsiębiorstwie kurierskim Autor: Karol Podsiadło gr. OS1 Promotor: dr inż.
Czy komputery zabiją genomikę?. Problemy Ogromne ilości danych do przechowywania Zbyt słabe komputery aby „łączyć” sekwencje Nieoptymalne formaty danych.
Ruch jednowymiarowy Ruch - zmiana położenia jednych ciał względem innych, które nazywamy układem odniesienia. Uwaga: to samo ciało może poruszać się względem.
Optymalizacja Monte-Carlo - algorytmy inspirowane przyrodniczo (algorytmy genetyczne, symulowane wyżarzanie, stadne strategie obliczeniowe) Przykład 2.
SZTUCZNA INTELIGENCJA
Modelowanie matematyczne – złożoność obliczeniowa, teoria a praktyka
Zmiany w informacji genetycznej
Excel 2007 dla średniozaawansowanych Zajęcia z Prowadzący: Artur Kołos.
Zagadnienia transportowe Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
1.22. Odczytywanie informacji genetycznej – przepis na białko
GEODEZYJNE W PRZETRZENIACH METRYCZNYCH
Matematyka przed egzaminem czyli samouczek dla każdego
Metody matematyczne w Inżynierii Chemicznej
Co do tej pory robiliśmy:
Sztuczna Inteligencja Szukanie heurystyczne II
ALGORYTMY I STRUKTURY DANYCH
Sztuczna Inteligencja Szukanie heurystyczne II
Zapis prezentacji:

Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska Problem komiwojażera Anna Tomkowska Politechnika Koszalińska

Jaki jest problem? Problem KOMIWOJAŻERA polega na znalezieniu jak najkrótszej drogi pomiędzy danymi miastami, przy czym: należy odwiedzić wszystkie miasta należy wrócić do miasta początkowego każde miasto można odwiedzić TYLKO jeden raz można zacząć od dowolnego miasta kolejność odwiedzanych miast jest dowolna Problem jest NP_zupełny (komplikacja problemu szybko wzrasta) Zwiększenie liczby miast o jedno komplikuje problem wielokrotnie, proporcjonalnie do liczby wszystkich miast. Liczba kombinacji rozwiązań wyraża się wzorem: Dla n = 10 miast istnieje 181440 kombinacji. Dla n=11 miast istnieje już 1814400 możliwości.

Rozwiązanie nieoptymalne? Rozwiązanie problemu uzyskane przy pomocy Algorytmu Genetycznego jest rozwiązaniem suboptymalnym – czyli możliwie jak najlepszym rozwiązaniem uzyskanym w znacznie krótszym czasie niż jego optymalny odpowiednik. Znalezienie optymalnego rozwiązania dla większej liczby miast zajęłoby od kilku do kilkunastu lat, podczas gdy wynik suboptymalny uzyskamy po kilku sekundach/minutach (nieco gorszy)

Dane do zadania Dane są współrzędne 7 miast. miasto x y Miasto 1 15 33 Miasto 2 23 12 Miasto 3 67 7 Miasto 4 47 90 Miasto 5 5 79 Miasto 6 88 Miasto 7 55 57 Do obliczenia odległości pomiędzy dwoma miastami można wykorzystać wzór na odległość Euklidesową pomiędzy dwoma punktami na płaszczyźnie:

Fenotyp Fenotypem jest przykładowa trasa komiwojażera zaznaczona na mapie. Fenotyp jest poprawny jeżeli wszystkie miasta spięte są jednym cyklem (każde miasto tylko jeden raz). Trasa 1 2 7 6 3 5 4

Genotyp - kodowanie permutacyjne Genotyp – budowa chromosomu Długość chromosomu (liczba genów) jest równa liczbie miast. Kodowanie permutacyjne W kolejnych genach zapisujemy kolejne miasta trasy. W ten sposób geny w chromosomie są ułożone dokładnie tak jak miasta w cyklu. Dwa przykładowe chromosomy: zalety: bardzo prosta, intuicyjna reprezentacja szybka jeśli chodzi o wyliczenie funkcji oceny dla każdego osobnika wady: skrzyżowanie dwóch tras może dać osobnika nieprawidłowego. 3 5 4 1 2 7 6 1 2 7 6 3 5 4 3 5 4 1 2 7 6 3 5 4 1 przed krzyżowaniem po krzyżowaniu 1 2 7 6 3 5 4 1 2 7 6

Genotyp - kodowanie klasyczne W genie o indeksie odpowiadającemu numerowi danego miasta zapisujemy inny numer miasta, do którego chcemy przejść. Chromosom z zakodowaną trasą : 1 2 3 4 5 6 7 Trasa 1 2 7 6 3 5 4 2 7 5 1 4 3 6 wady: mniej intuicyjna reprezentacja uciążliwa jeśli chodzi o wyliczenie funkcji oceny dla każdego osobnika skrzyżowanie dwóch tras może dać osobnika nieprawidłowego. 2 7 5 1 4 3 6 2 7 5 1 4 przed krzyżowaniem po krzyżowaniu 2 3 6 5 1 7 4 1 2 7 6

Genotyp - kodowanie z listą odniesienia Chromosom z zakodowaną trasą : Dekodowanie: 1 5 4 2 nr genu wartość genu lista odniesienia trasa 1 1-2-3-4-5-6-7 2 2-3-4-5-6-7 3 5 3-4-5-6-7 7 4 3-4-5-6 6 3-4-5 4-5 Trasa 1 2 7 6 3 5 4 wady: mało intuicyjna reprezentacja uciążliwa jeśli chodzi o wyliczenie funkcji oceny dla każdego osobnika zaleta: skrzyżowanie dwóch tras zawsze daje osobnika prawidłowego. 1 5 4 2 1 5 4 3 przed krzyżowaniem po krzyżowaniu 1 3 1 3

Ocena przystosowania Kolejnym elementem algorytmu genetycznego jest ocena osobników. W przypadku problemu komiwojażera oceną poszczególnych osobników jest długość trasy jaką reprezentują. Wartość funkcji oceny: Miasta 1-2 -> 22.4722 Miasta 2-7 -> 55.2178 Miasta 7-6 -> 34.4819 Miasta 6-3 -> 63.5689 Miasta 3-5 -> 95.0158 Miasta 5-4 -> 43.4166 Miasta 4-1 -> 65.3682 379.5413 miasto x y Miasto 1 15 33 Miasto 2 23 12 Miasto 3 67 7 Miasto 4 47 90 Miasto 5 5 79 Miasto 6 88 Miasto 7 55 57 Trasa 1 2 7 6 3 5 4

Krzyżowanie - problemy Kodowanie permutacyjne – problemy podczas krzyżowania 1 2 7 6 3 5 4 1 2 7 6 5 przed krzyżowaniem po krzyżowaniu 3 6 7 4 5 1 2 3 6 7 4 5

Rozwiązanie problemu z krzyżowaniem W przypadku kodowania permutacyjnego jak i klasycznego standardowe krzyżowanie x-punktowe nie sprawuje się dobrze. Dlatego dla problemu komiwojażera (i innych jemu podobnych) wymyślono kilka innych rodzajów krzyżowań, które zawsze dają rozwiązania dopuszczalne. np: krzyżowanie z pożądkowaniem (OX) W przypadku trzeciej reprezentacji (kodowanie z listą odniesienia) standardowe operatory krzyżowania x-punktowego zawsze dadzą prawidłowych potomków.

Krzyżowanie z pożądkowaniem (OX) W krzyżowaniu OX potomków tworzy się na podstawie podtras pobranych z rodziców (podtrasa pierwszego dziecka pobierana jest z drugiego rodzica natomiast podtrasa drugiego dziecka z pierwszego). 1 2 7 6 3 5 4 x 6 7 4 5 1 przed krzyżowaniem potomkowie 3 6 7 4 5 1 2 x 2 7 6 3 5 Teraz uzupełnia się te trasy tak żeby nie powstał konflikt (dwa takie same miasta w trasie): Po krzyżowaniu 2 6 7 4 5 1 3 ominęliśmy 4 i 1 ponieważ te miasta już występują 4 2 7 6 3 5 1 ominęliśmy 3 i 2 ponieważ te miasta już występują

Mutacja w zależności od rodzaju reprezentacji można zastosować standardowe operatory mutacji, bądź jakieś bardziej wyrafinowane. W przypadku kodowania permutacyjnego najprostrzym rodzajem mutacji jest wymiana ze sobą dwóch miast w rozwiązaniu. Np: przed mutacją Po mutacji 1 2 7 6 3 5 4 1 5 7 6 3 2 4 Można również przesunąć jakieś miasto (lub grupę miast) w ramach rozwiązania. Wstawienie miasta 1 pomiędzy 6 i 3 przed mutacją Po mutacji 1 2 7 6 3 5 4 2 7 6 1 3 5 4 W przypadku kodowania z listą odniesienia mutacja sprowadza się do zamiany wartości z pozycji i losową wartością z przedziału od 1 do n-i+1 (n - liczba wszystkich miast).

Klasyczny algorytm genetyczny Czyli losowanie danej liczby przypadkowych cykli Czyli obliczenie długości trasy dla każdego z cykli Np.: określona liczba epok Chromosom przechowujący najkrótszą trasę