Wybrane podstawowe rodzaje algorytmów

Podobne dokumenty
Optymalizacja. Wybrane algorytmy

Programowanie dynamiczne i algorytmy zachłanne

Algorytmy metaheurystyczne podsumowanie

Techniki optymalizacji

Metody przeszukiwania

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Problem Komiwojażera - algorytmy metaheurystyczne

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Wyznaczanie optymalnej trasy problem komiwojażera

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Wykład 4. Droga i cykl Eulera i Hamiltona

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Techniki optymalizacji

Zaawansowane programowanie

Przykłady problemów optymalizacyjnych

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Algorytmy genetyczne

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Złożoność obliczeniowa klasycznych problemów grafowych

Metody Optymalizacji: Przeszukiwanie z listą tabu

Programowanie dynamiczne cz. 2

Algorytm genetyczny (genetic algorithm)-

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Techniki optymalizacji

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

Rozwiązanie problemu komiwojażera przy użyciu algorytmu genetycznego 2

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Zaawansowane programowanie

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP)

Matematyczne Podstawy Informatyki

Algorytmy stochastyczne laboratorium 03

SZTUCZNA INTELIGENCJA

Heurystyczne metody przeszukiwania

TEORIA GRAFÓW I SIECI

Przeszukiwanie lokalne

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

Tomasz M. Gwizdałła 2012/13

METODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19

Zadania laboratoryjne i projektowe - wersja β

LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne

Algorytmy ewolucyjne (3)

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Algorytmika Problemów Trudnych

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Kombinatoryczne problemy optymalizacyjne to problemy wyboru najlepszego rozwiązania z pewnego zbioru rozwiązań

Heurystyki. Strategie poszukiwań

Generowanie i optymalizacja harmonogramu za pomoca

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Suma dwóch grafów. Zespolenie dwóch grafów

Techniki optymalizacji algorytmy metaheurystyczne

Programowanie sieciowe. Tadeusz Trzaskalik

Szeregowanie zadań. Wykład nr 2. dr Hanna Furmańczyk. 12 października 2014

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

TEORIA GRAFÓW I SIECI

Wykład 10 Grafy, algorytmy grafowe

Klasyczne zagadnienie przydziału

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Algorytmy i Struktury Danych.

Algorytmy genetyczne

Schemat programowania dynamicznego (ang. dynamic programming)

PRZEWODNIK PO PRZEDMIOCIE

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

Tabu Search (Poszukiwanie z zakazami)

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Grafy. Jeżeli, to elementy p i q nazywamy końcami krawędzi e. f a b c d e γ f {1} {1,2} {2,3} {2,3} {1,3}

Wykłady z Matematyki Dyskretnej

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data / EC3 VIII LAB...

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Opracowanie prof. J. Domsta 1

Wstęp do Sztucznej Inteligencji

Harmonogramowanie przedsięwzięć

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Algorytmy zachłanne. dr inż. Urszula Gałązka

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Algorytmy ewolucyjne NAZEWNICTWO

SZTUCZNA INTELIGENCJA

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Heurystyki w podejmowaniu decyzji

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Wstęp do Sztucznej Inteligencji

Metody Programowania

Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson)

Kolorowanie wierzchołków grafu

ALGORYTM HYBRYDOWY DLA PROBABILISTYCZNEGO PROBLEMU KOMIWOJAŻERA A HYBRID ALGORITHM FOR PROBABILISTIC TRAVELING SALESMAN PROBLEM

Optymalizacja. Przeszukiwanie lokalne

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Transkrypt:

Wybrane podstawowe rodzaje algorytmów Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych i ich zastosowań w przemyśle" POKL.04.01.02-00-189/10

Wybrane podstawowe rodzaje algorytmów algorytmy dokładne i przybliżone algorytmy pełnego przeglądu metoda podziału i ograniczeń metaheurystyki algorytmy zachłanne algorytmy aproksymacyjne programowanie dynamiczne 2

Problem Komiwojażera - wprowadzenie Problem Komiwojażera (Travelling Saleseman Problem) w wersji optymalizacyjnej polega na znalezieniu cyklu Hamiltona o minimalnej długości w grafie ważonym Problem TSP jest silnie NP-trudny 3

Problem TSP-path Polega na znalezieniu najkrótszej ścieżki Hamiltona w grafie ważonym Problem TSP-path jest silnie NP-trudny 4

Algorytm pełnego przeglądu Wymagają wygenerowania i sprawdzenia każdego dopuszczalnego rozwiązania Wymagają systematycznej metody przeglądu zbioru wszystkich możliwych rozwiązań 5

Algorytm pełnego przeglądu dla problemu TSP-path Wygenerowanie wszystkich rozwiązań dopuszczalnych: wygenerowanie wszystkich możliwych ścieżek Hamiltona Sprawdzenie długości każdej ścieżki Hamiltona i wybranie jako rozwiązania ścieżki Hamiltona o najmniejszej możliwej długości Systematyczna metoda przeszukania zbioru wszystkich możliwych rozwiązań: Metoda rekurencyjna: wygenerowanie wszystkich możliwych permutacji n wierzchołków (wybranie pierwszego elementu i wygenerowanie (n-1)! Permutacji) Sprawdzenie permutacji wierzchołków, które są rozwiązaniami dopuszczalnymi 6

Algorytm pełnego przeglądu - zadanie Znaleźć najkrótszą drogę przechodzącą przez wszystkie miasta (Toruń, Bydgoszcz, Włocławek, Poznań), wiedząc, że odległości między miastami wynoszą: Toruń Bydgoszcz (40 km) Toruń Włocławek (50 km) Toruń Poznań (140 km) Bydgoszcz Włocławek (80 km) Bydgoszcz Poznań (150 km) Włocławek Poznań (180 km) 7

Metoda podziału i ograniczeń (B&B) Przegląd zupełny zastępowany jest przeglądem ukierunkowanym Rozwiązania są dzielone na rozłączne zbiory (podział) Definiuje się ograniczenia: Ograniczenie górne: pewne dopuszczalne rozwiązanie uzyskane z bieżącego częściowego rozwiązania za pomocą np. heurystyki Ograniczenie dolne: wyznacza się poprzez osłabienie ograniczeń obszaru dopuszczalnego Część zbiorów rozwiązań może zostać odrzucona bez potrzeby przeglądania ich (odcięcie) 8

Zadanie znajdź metodą B&B rozwiązanie problemu TSP-path Problem przedstawiony jako drzewo wyborów kolejnych wierzchołków w ścieżce Hamiltona Podział wg kolejnego wierzchołka w ścieżce Hamiltona Ograniczenie (reprezentacja: macierz sąsiedztwa n*n): Upper bound wartość najlepszego aktualnie znalezionego rozwiązania problemu TSP (na początku wartość dowolnej ścieżki Hamiltona) Lower bound wartość częściowego rozwiązania dla danego poddrzewa o wysokości k, powiększona o sumę n-k najmniejszych wartości z macierzy sąsiedztwa, wybranych dowolnie z tych wierszy i kolumn, z których elementy nie znajdują się w częściowym rozwiązaniu 9

Algorytm zachłanny W każdym kroku algorytmu dokonuje się lokalnie optymalnego wyboru Algorytm zachłanny nie musi gwarantować znalezienia optymalnego rozwiązania Należy zdefiniować: Zbiór kandydatów Funkcję oceny doboru kandydata Ocenę możliwości wybrania kandydata Funkcję celu Funkcję sprawdzającą, czy znaleziono pełne rozwiązanie 10

Zadanie znajdź metodą zachłanną rozwiązanie problemu TSP-path Wybór dowolnego wierzchołka (miasta) startowego z listy wszystkich możliwych kandydatów jako rozwiązania częściowego i usunięcie tego wierzchołka (miasta) z listy kandydatów Łańcuch stanowiący rozwiązanie częściowe jest rozszerzany, poprzez dodanie na jego końcu wierzchołka (miasta), do którego łuk prowadzący z ostatniego wierzchołka (miasta) rozwiązania częściowego ma najniższą wagę (odległość pomiędzy miastami jest najmniejsza) Wybrany do rozwiązania częściowego wierzchołek (miasto) jest usuwany z listy kandydatów Jeśli lista kandydatów jest niepusta to następuje powrót do 2 kroku algorytmu 11

Metaheurystyki Ogólny sposób postępowania do znajdowania przybliżonych rozwiązań problemów obliczeniowych Wielomianowa metoda obliczeniowa iteracyjnie polepszająca rozwiązanie Definiuje się pojęcie sąsiedztwa danego rozwiązania Najbardziej znane metaheurystyki to: Taboo Search Algorytm Ewolucyjny Symulowane wyżarzanie GRASP 12

Algorytm ewolucyjny Metoda optymalizacyjna inspirowana ewolucją biologiczną; wprowadza się pojęcia: Populacja Osobnik Genotyp Fenotyp Wykorzystuje mechanizmy zaczęrpnięte z przyrody takie jak: Rekombinacja Selekcja Mutacja Reprodukcja 13

Zadanie algorytm ewolucyjny do rozwiązania problemu TSP-path (1) Populacja: zbiór ścieżek Hamiltona w grafie ważonym Funkcja oceny heurystycznej: długość ścieżki Hamiltona w grafie Krzyżowanie: wybór najdłuższych wspólnych podścieżek dwóch osobników i ich permutacja Mutacja: zamiana miejscem dwóch wierzchołków w rozwiązaniu (ścieżki Hamiltona) Zwykle w procesie eksperymentu obliczeniowego określa się parametry problemu takie jak wielkość populacji, prawdopodobieństwo mutacji, liczba iteracji 14

Zadanie algorytm ewolucyjny do rozwiązania problemu TSP-path (2) Populacja: Poznań, Toruń, Bydgoszcz, Włocławek Włocławek, Bydgoszcz, Poznań, Toruń Poznań, Bydgoszcz, Toruń, Włocławek Liczba iteracji: 2 Prawdopodobieństwo mutacji : 0.05 Wielkość populacji: 3 15

Algorytmy aproksymacyjne Algorytm znajdujący przybliżone ( prawie optymalne ) rozwiązanie problemu optymalizacyjnego w czasie wielomianowym Najważniejszą różnicą pomiędzy heurystykami a algorytmami aproksymacyjnymi jest ograniczenie względne p(n) występujące dla algorytmów aproksymacyjnych: gdzie: max( C C - C* to koszt rozwiązania optymalnego, * C C - C to koszt rozwiązania znalezionego przez przez algorytm aproksymacyjny * ) p( n) 16

Biblioteki oligonukleotydów antykomplementarnych sformułowanie problemu 5 6 2 11 18 14 7 3 22 12 8 9 4 2 15 16 SUMA = 110 17

Biblioteki oligonukleotydów antykomplmentarnych- algorytm aproksymacyjny Metoda aproksymacyjna Wybierana jest ćwiartka o najwyższej sumie elementów Wybierana jest ćwiartka leżąca naprzeciwko tej ćwiartki 5 6 2 11 18 14 7 3 22 12 8 9 4 2 15 16 SUMA = 91 18

Biblioteki oligonukleotydów antykomplementarnych oszacowanie jakości algorytmu aproksymacyjnego Metoda aproksymacyjna: Wybierana jest ćwiartka o najwyższej sumie elementów Wybierana jest ćwiartka leżąca naprzeciwko tej ćwiartki n-1 1 n n-1 19