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

Podobne dokumenty
Temat: Algorytmy zachłanne

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

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

Luty 2001 Algorytmy (4) 2000/2001

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Programowanie dynamiczne i algorytmy zachłanne

Wstęp do programowania

Teoria grafów - Teoria rewersali - Teoria śladów

TEORETYCZNE PODSTAWY INFORMATYKI

Wybrane podstawowe rodzaje algorytmów

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

Wykład 8. Drzewo rozpinające (minimum spanning tree)

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

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

Algorytmika Problemów Trudnych

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

Jeszcze o algorytmach

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.

Wstęp do programowania

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk

Algorytmika w bioinformatyce

Wstęp do programowania

Metody numeryczne w przykładach

Algorytmy i struktury danych.

9. Schematy aproksymacyjne

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

Problemy z ograniczeniami

Sortowanie. Bartman Jacek Algorytmy i struktury

Algorytmika w bioinformatyce

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

Problem straŝaka w drzewach. Agnieszka Skorupka Matematyka Stosowana FTiMS

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

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 9. Karol Tarnowski A-1 p.

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Algorytmy przeszukiwania

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

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

Efektywność Procedur Obliczeniowych. wykład 5

Filogeneza: problem konstrukcji grafu (drzewa) zależności pomiędzy gatunkami.

Wykład 3. Metoda dziel i zwyciężaj

Metody numeryczne. Sformułowanie zagadnienia interpolacji

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

Algorytmy stochastyczne laboratorium 03

Fakt 3.(zastosowanie różniczki do obliczeń przybliżonych) Przy czym błąd, jaki popełniamy zastępując przyrost funkcji

Funkcje dwóch zmiennych

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

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

Kolorowanie wierzchołków grafu

Aproksymacja. funkcji: ,a 2. ,...,a m. - są funkcjami bazowymi m+1 wymiarowej podprzestrzeni liniowej X m+1

Notatki z Analizy Matematycznej 2. Jacek M. Jędrzejewski

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Analiza algorytmów zadania podstawowe

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Jednym z najprostszych sposobów porządkowania jest technika stosowana przy sortowaniu listów:

D. Miszczyńska, M.Miszczyński KBO UŁ 1 GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO

Algorytmy i Struktury Danych, 2. ćwiczenia

INTERPOLACJA I APROKSYMACJA FUNKCJI

Scenariusz lekcji. podać definicję metody zachłannej stosowanej w algorytmie; wymienić cechy algorytmów zachłannych;

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

Zestaw C-11: Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp i.h)!!! Zad. 1: Zad. 2:

Sortowanie zewnętrzne

I V X L C D M. Przykłady liczb niewymiernych: 3; 2

Zadanie 1. Korale (8 pkt) Rozważamy następującą rekurencyjną procedurę Korale, której parametrem jest dodatnia liczba całkowita n.

Złożoność algorytmów. Wstęp do Informatyki

Podejście zachłanne, a programowanie dynamiczne

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

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

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Generowanie i optymalizacja harmonogramu za pomoca

9. BADANIE PRZEBIEGU ZMIENNOŚCI FUNKCJI

Algorytmy zrandomizowane

Złożoność obliczeniowa zadania, zestaw 2

VIII. Zastosowanie rachunku różniczkowego do badania funkcji. 1. Twierdzenia o wartości średniej. Monotoniczność funkcji.

5. Rozwiązywanie układów równań liniowych

Algorytm genetyczny (genetic algorithm)-

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

7 zaokr aglamy do liczby 3,6. Bład względny tego przybliżenia jest równy A) 0,8% B) 0,008% C) 8% D) 100

Metody numeryczne I Równania nieliniowe

KONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.)

2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1

Instrukcje dla zawodników

Algorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

[1] E. M. Reingold, J. Nievergelt, N. Deo Algorytmy kombinatoryczne PWN, 1985.

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Analiza algorytmów zadania podstawowe

Przygotowanie do poprawki klasa 1li

Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 5 i 6. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie

Zaawansowane algorytmy i struktury danych

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

Problemy optymalizacyjne - zastosowania

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Zadania laboratoryjne i projektowe - wersja β

Algorytmy aproksymacyjne i parametryzowane

Algorytmy asymetryczne

Matematyczne Podstawy Informatyki

9.9 Algorytmy przeglądu

Transkrypt:

D: PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE I. Strategia zachłanna II. Problem przetasowań w genomie III. Sortowanie przez odwrócenia IV. Algorytmy przybliżone V. Algorytm zachłanny dla problemu znalezienia motywu Strategia zachłanna- Problem plecaka Strategia zachłanna: wyznaczanie rozwiązania globalnie optymalnego w oparciu o aktualne lokalnie dobierane (w każdym kroku wyboru) najlepsze rozwiązania D. Makowiec: D: algorytmy zachłanne 80 Problem kasjera: jak wydać resztę Strategia na skróty wciąga w pułapki Problem plecakowy: Input : zbiór elementów o określonej wadze i wartości oraz plecak o zadanym udźwigu Problem jest NP-trudny: nie znamy rozwiązania o złożoności wielomianowej Output: podzbiór elementów taki, że suma wartości jest możliwie największa, a suma wag jest niewiększa niż udźwig plecaka. http://pl.wikipedia.org/wiki/problem_plecakowy 1

Strategia zachłanna- problem plecaka D. Makowiec: D: algorytmy zachłanne 81 1. Posortuj przedmioty według stosunku wartości do wagi 2. Wybieraj od góry te przedmioty, które mieszczę się w plecaku Złożoność obliczeniowa : wybrano (1) i (3): 11$ i 11 kg Rozwiązanie pełne: O(2 n ) Rozwiązanie greedy: O(n log n) Optymalny wybór: (1) i (5): 12$ i 14 kg wyzwanie D. Makowiec: D: algorytmy zachłanne 82 Czy, a jeśli tak to jak, można zapanować nad błędem popełnianym przez algorytm, który realizuje strategią zachłanną? Odpowiedź to : algorytmy aproksymacyjne 2

Problem sortowania naleśników D. Makowiec: D: algorytmy zachłanne 83 Christos Papadimitrou (nauczyciel) i Bill Gates (student) odwracają stos naleśników Lata 70-te University of Texas at Dallas Problem porządkowania stosu naleśników: Dany jest stos n naleśników o różnych rozmiarach. Jaka jest minimalna ilość odwróceń tego stosu, aby uzyskać ułożenie uporządkowane przy czym możliwe są jedynie odwrócenia łopatkowe Problem sortowania naleśników D. Makowiec: D: algorytmy zachłanne 84 Operacja odwrócenia stosu przez łopatkę r(1, i) : permutacja prefiksowa Dana jest permutacja p. Znaleźć ilość d prefix (p) = minimalna liczbą permutacji prefiksowych r(1, i) porządkujących p. Podejście zachłanne: 2 odwrócenia prefiksowe są potrzebne, aby umieścić naleśnik na swoim miejscu, (razem będzie zatem 2(n 1) operacji) zastosowano 5 odwróceń 1-szy krok: odwróć stos tak, by największy element przenieść na górę 2-gi krok: odwróć stos od właściwej pozycji elementu z góry 3

Rozwiązanie lepsze D. Makowiec: D: algorytmy zachłanne 85 zastosowano 4 odwrócenia William Gates and Christos Papadimitriou pokazali, że można problem ten rozwiązać za pomocą co najwyżej 5/3 (n + 1) prefiksowych odwróceń Problem przetasowań w genomie D. Makowiec: D: algorytmy zachłanne 86 Mitochondrialne genotypy kapusty i rzepy są w 99% identyczne - Jeffrey Palmer (1980) ALE!!! Różne jest uporządkowanie genów w mitochondrialnym DNA 1-5 4-3 2 1 2 3 4 5 (1,2,3,4,5) (1,-5,4,-3, 2) 3 przetasowania (permutacje ze znakiem 4

Problem przetasowań w genomie D. Makowiec: D: algorytmy zachłanne 87 Zestawy genów są IDENTYCZNE (prawie) ale są one różnie poustawiane. Uważa się, że poprzez zmianę porządku genów ujawnia się EWOLUCJA. Rozmieszczenie genów z ludzkiego genotypu na genotypie myszy [87] Rozmieszczenie genów z mysiego genotypu na genotypie człowieka Historia chromosomu X D. Makowiec: D: algorytmy zachłanne 88 Rat Genome Sequencing Consortium, Nature 428,2004 Drzewo filogenetyczne drzewo rekonstrukcji gatunków 5

Problem przetasowań w genomie D. Makowiec: D: algorytmy zachłanne 89 1.Odwróć kolejność bloków od pozycji 2 do 3 2.Odwróć kolejność bloków od pozycji 3 do 5 3.Odwróć kolejność bloków od pozycji 1 do 3 przez Sortowanie odwrócenia Sortowanie przez odwrócenia D. Makowiec: D: algorytmy zachłanne 90 Odwrócenie: najprostsza postać przetasowania 1 2 3 8 4 9 10 7 1 2 3 6 5 9 10 8 4 oznaczenie r(4,8) 7 6 5 skąd dokąd 6

Przetasowania w genomie D. Makowiec: D: algorytmy zachłanne 91 Niech geny w genomie są oznaczane kolejnymi liczbami naturalnymi : 1,2, n Niech ciąg (1, 2,, n) oznacza uporządkowany ciąg genów Przetasowaniem nazywamy każdą permutację p tego ciągu. r( i, j) Odwrócenie pozycji j włącznie p 1,2,..., n) ( p, p,..., ( 1 2 n to takie przetasowanie, które odwraca kolejność od pozycji i do Przykład odwróceń D. Makowiec: D: algorytmy zachłanne 92 Uwaga: argumenty r to pozycje a nie wartości 7

Sortowanie przez odwrócenia D. Makowiec: D: algorytmy zachłanne 93 t nazywamy odległością permutacji s i p Jeśli s jest identycznością to problem staje się sortowaniem: Sortowanie przez odwrócenia D. Makowiec: D: algorytmy zachłanne 94 Poszerzanie prefiksowe (algorytm zachłanny) znajdź pozycję elementu i-tego zastosuj odwrócenie 8

Ocena jakości algorytmu zachłannego D. Makowiec: D: algorytmy zachłanne 95 O p t y m a li z a c y j n e dla algorytmu minimalizacjnego Gwarancja dla algorytmu przybliżonego błąd najgorszego przypadku max p min p ALG( OPT( wynik z algorytmu aproksymującego prawdziwy wynik dla algorytmu maksymalizacjnego Gwarancja algorytmu aproksymacyjnego D. Makowiec: D: algorytmy zachłanne 96 Jeśli A to algorytm minimalizacyjny z gwarancją a: to wartość rzeczywista minimum znajduje się w przedziale A( OPT ( A( a a max π ALG( OPT( Jeśli A to algorytm maksymalizacyjny z gwarancją a: to wartość rzeczywista maksimum znajduje się w przedziale 1 min a π ALG( OPT( ALG( OPT( aalg( Najlepszy algorytm sortowania przez odwrócenia daje gwarancje 1.375 9

Punkty łamiące permutacji D. Makowiec: D: algorytmy zachłanne 97 Dana jest permutacja p p... p 1... p i, p i 1 Def: Parę sąsiadujących elementów p i, p i 1 w permutacji p nazywamy uzgodnioną jeżeli p, są kolejnymi liczbami. i p i 1 W przeciwnym wypadku parę p i p i n, nazywamy punktem łamiącym 1 Przykład p ( 1 9 3 4 7 8 2 6 5 ) 0 10 pary uzgodnione punkty łamiące Oznaczenie: b(p)= ilość punktów łamiących w p Co tu brakuje? Def: Taśmą w permutacji p nazywamy przedział pomiędzy kolejnymi punktami łamiącymi. Taśma może być rosnąca lub malejąca. Taśmy łamiące w algorytmie D. Makowiec: E: algorytmy zachłanne 98 Tw.1 Jeśli permutacja Π zawiera taśmę malejącą, to istnieje odwrócenie ρ takie, które zmniejsza liczbę punktów łamiących, czyli Tw.2 Powyższy algorytm jest algorytmem aproksymacyjnym z gwarancją wyniku 4 1 ( OPT ( ( 4 10

Podsumowanie D. Makowiec: E: algorytmy zachłanne 99 5 3 Przypomnienie: geny w genomie mają zwrot. Algorytmy porządkowania powinny więc dotyczyć permutacji ze znakiem! 1 2 3 4 5-1 2-3 -4-5 Jeśli uporządkowanie genów jest identyczne, ale zwroty genów są inne, to te permutacje są różne Permutacje ze znakiem D. Makowiec: D: algorytmy zachłanne 100 Każde odwrócenie zmienia znak (1,2,3,4,5,6,7,8,9,10) (1,2,3,-8,-7,-6,-5,-4,9,10) Para zorientowana, to para kolejnych liczb całkowitych o różnych znakach (0,3,1,6,5,-2,4,7) pary zorientowane: (3,-2) and (1,-2). Odwrócenie zorientowane to takie odwrócenie, które z pary zorientowanej tworzy parę kolejnych liczb (3,-2) : (0,3,1,6,5,-2,4,7) (0,3,2,-5,-6,-1,4,7) (1,-2) : (0,3,1,6,5,-2,4,7) (0,3,-5,-6,-1,-2,4,7) Jakość odwrócenia zorientowanego to ilość nowych zorientowanych par Algorytm: tak długo, jak w jest para zorientowana zastosuje odwrócenie zorientowane takie, które maksymalizuje jakość odwrócenia. Wynik: permutacja o elementach dodatnich. 11

Uzupełnienie poszukiwania motywu D. Makowiec: E: algorytmy zachłanne 101 Wybór najlepszego motywu na podstawie dwóch pierwszych sekwencji ( n 2 l nlt) Wyznaczenie pozycji najlepiej dopasowanych l-merow 12