Algorytmy genetyczne
Założenia Milestone 2 Docelowy wygląd interfejsu użytkownika, możliwość ustalania wszelkich parametrów z GUI, możliwe małe braki w funkcjonalności (zapewnione min. 80% funkcjonalności) Zaimplementowane API dla zewnętrznych problemów
Założenia Milestone 2 Implementacja algorytmów wielobitowych (krzyżowanie, mutacje, geny recesywne Zaawansowane algorytmy selekcji (mieszanie chromosomów, uciekanie z minimów lokalnych)
Założenia Milestone 2 Implementacja ok. 25% problemów prezentacyjnych wraz z wizualizacją (np. plansza z narysowaną trasą komiwojażera, itp.) Testowanie algorytmów, poszukiwanie najbardziej optymalnych ustawień programu
Problemy r
Wygląd GUI
Zaimplementowane API dla zewnętrznych problemów Posiadanie funkcjonalności dzięki której tworzenie kolejnych przypadków użycia algorytmu genetycznego jest nad wyraz proste
Implementacja algorytmów Zaimpementowanie algrytmów genetycznych które wykorzystują krzyżowania, mutacje oraz możliwość włączenie genów recesywnych
Zaawansowane algorytmy selekcji Implementacja w interfejsie algorytmu możlwiości rozwiązywania problemu dotyczącego minimum lokalnego Elita Ruletka Ranking
Rozwiązania problemów Problem komiwojażera
Problem komwojażera Problem komiwojażera (TSP - ang. traveling salesman problem) jest to zagadnienie z teorii grafów, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym. Nazwa pochodzi od typowej ilustracji problemu, przedstawiającej go z punktu widzenia wędrownego sprzedawcy (komiwojażera): dane jest n miast, które komiwojażer ma odwiedzić, oraz odległość pomiędzy każdą parą miast. Należy znaleźć najkrótszą trasę wychodzącą np. z Kutna i przechodzącą jednokrotnie przez wszystkie pozostałe miasta i wracającą do Kutna. Problem ten jest NP trudnym.
Problem komwojażera cd.. Rozwiązywanie tego problemu metodą matematyczną wymaga wielkich nakładów mocy obliczeniowej, a także czas samych obliczeń jest bardzo długi. Już przy 20 miastach, liczba możliwych rozwiązań wynosi 19!/2 czyli około 600000. Dlatego najefektywniejszym rozwiązaniem tego problemu jest użycie algorytmu genetycznego oraz samej idei ewolucji. Osobniki nowopowstałe poddawane są testowi na długość ścieżki liczonej, w naszym przypadku, liczone wg wzorów euklidesowych, ta wartość jest brana jako główne kryterium tworzenia kolejnego pokolenia.