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

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

Efektywność Procedur Obliczeniowych. wykład 5

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

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Lista 6 Problemy NP-zupełne

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Struktura danych. Sposób uporządkowania informacji w komputerze.

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Algorytmika Problemów Trudnych

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Logika stosowana. Ćwiczenia Złożoność obliczeniowa problemu spełnialności. Marcin Szczuka. Instytut Informatyki, Uniwersytet Warszawski

Typy algorytmów losowych. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

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

Złożoność problemów. 1 ruch na sekundę czas wykonania ok lat 1 mln ruchów na sekundę czas wykonania ok.

Zaawansowane algorytmy i struktury danych

Teoria obliczeń i złożoność obliczeniowa

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Algorytmy asymetryczne

Wstęp do programowania

Przykładowe zadania z teorii liczb

Indukcja matematyczna. Zasada minimum. Zastosowania.

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Schemat programowania dynamicznego (ang. dynamic programming)

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Indukcja matematyczna, zasada minimum i maksimum. 17 lutego 2017

Algorytmy i struktury danych.

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

TEORETYCZNE PODSTAWY INFORMATYKI

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

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

9. Schematy aproksymacyjne

2 Rodziny zbiorów. 2.1 Algebry i σ - algebry zbiorów. M. Beśka, Wstęp do teorii miary, rozdz. 2 11

Przykłady problemów optymalizacyjnych

Złożoność obliczeniowa wybranych problemów szeregowania zadań jednostkowych na równoległych procesorach

Indukcja matematyczna. Matematyka dyskretna

Korzystając z własności metryki łatwo wykazać, że dla dowolnych x, y, z X zachodzi

F t+ := s>t. F s = F t.

020 Liczby rzeczywiste

B jest liniowo niezależny V = lin (B) 1. Układ pusty jest bazą przestrzeni trywialnej {θ}. a i v i = i I. b i v i, (a i b i ) v i = θ.

Informacja o przestrzeniach Hilberta

Teoretyczne podstawy informatyki

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Problem P = NP. albo czy informacja może. biec na skróty

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Indukcja matematyczna

Podstawy Informatyki. Sprawność algorytmów

Wykład z równań różnicowych

Liczby pierwsze wielomianowo - ekstremalnie trudne?

Równoliczność zbiorów

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

Matematyka dyskretna

domykanie relacji, relacja równoważności, rozkłady zbiorów

7 Twierdzenie Fubiniego

Dowód pierwszego twierdzenia Gödela o. Kołmogorowa

Logika Stosowana. Wykład 2 - Logika modalna Część 3. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2017/2018

Projektowanie i analiza algorytmów

PROBLEMY NIEROZSTRZYGALNE

Topologia zbioru Cantora a obwody logiczne

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Zakładamy, że maszyna ma jeden stan akceptujacy.

Dystrybucje, wiadomości wstępne (I)

Matematyczne Podstawy Informatyki

Podstawy logiki i teorii mnogości Informatyka, I rok. Semestr letni 2013/14. Tomasz Połacik

Metody numeryczne w przykładach

Złożoność informacyjna Kołmogorowa. Paweł Parys

Elementy Teorii Obliczeń

Prawdopodobieństwo. Prawdopodobieństwo. Jacek Kłopotowski. Katedra Matematyki i Ekonomii Matematycznej SGH. 16 października 2018

ZALICZENIE WYKŁADU: 30.I.2019

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

jest ciągiem elementów z przestrzeni B(R, R)

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

Programowanie liniowe

Luty 2001 Algorytmy (4) 2000/2001

Generowanie i optymalizacja harmonogramu za pomoca

Wykład 7. Informatyka Stosowana. 21 listopada Informatyka Stosowana Wykład 7 21 listopada / 27

Optymalizacja. Algorytmy dokładne

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

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

Wielomiany. dr Tadeusz Werbiński. Teoria

Obliczenia inspirowane Naturą

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Algorytmy w teorii liczb

Przykªady problemów optymalizacji kombinatorycznej

Metody numeryczne. materiały do wykładu dla studentów. 1. Teoria błędów, notacja O

Zadanie 2. Obliczyć rangę dowolnego elementu zbioru uporządkowanego N 0 N 0, gdy porządek jest zdefiniowany następująco: (a, b) (c, d) (a c b d)

Zasada indukcji matematycznej

Zasady analizy algorytmów

Wykład 10. Stwierdzenie 1. X spełnia warunek Borela wtedy i tylko wtedy, gdy każda scentrowana rodzina zbiorów domkniętych ma niepusty przekrój.

Konstrukcja liczb rzeczywistych przy pomocy ciągów Cauchy ego liczb wymiernych

Informacja o przestrzeniach Sobolewa

Uwaga 1. Zbiory skończone są równoliczne wtedy i tylko wtedy, gdy mają tyle samo elementów.

TEORETYCZNE PODSTAWY INFORMATYKI

Lista zagadnień omawianych na wykładzie w dn r. :

Wykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

Funkcje. Oznaczenia i pojęcia wstępne. Elementy Logiki i Teorii Mnogości 2015/2016

Transkrypt:

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

DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych x(i) takich, że IεD π zatrzymuje się po czasie działania t p( x(i) ) dla każdego x(i) i pewnego wielomianu p, oraz kończy obliczenia w stanie q y, dla wszystkich x(i) takich, że IεY π i tylko dla nich.

Intuicyjne pojmowanie klas P i NP Klasa P zawiera te wszystkie problemy decyzyjne, dla których znaleziono wielomianowe algorytmy ich rozwiązania. Klasa NP zawiera te wszystkie problemy decyzyjne, dla których znaleziono ponadwielomianowe algorytmy ich rozwiązania (w wielomianowym czasie można odgadnąć rozwiązanie i sprawdzić czy to rozwiązanie daje odpowiedź "tak").

Pytanie, czy problemy NP-zupełne można rozwiązywać w czasie wielomianowym, jest największą zagadką informatyki teoretycznej. Problem P = NP czy P NP jest problemem otwartym umieszczonym na liście Problemów milenijnych.

Do dziś rozwiązano tylko jeden: hipoteza Poincarego została potwierdzona w 2006 przez rosyjskiego matematyka Grigorija Perelmana. Problemy milenijne (ang. Millennium Prize Problems) - zestaw siedmiu zagadnień matematycznych ogłoszonych przez Instytut matematyczny Claya 24 maja 2000 roku. Za rozwiązanie każdego z nich wyznaczono milion dolarów nagrody.

Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca warunki: 1. Dla każdej instancji I 2 εd π2 odpowiedź brzmi tak, wtedy i tylko wtedy, gdy dla instancji f(i 2 ) odpowiedź również jest tak, 2. Czas obliczenia funkcji f przez DMT dla każdej instancji I 2 εd π2 jest ograniczony od góry przez wielomian od N I 2.

Własności transformacji wielomianowej Lemat 1 Transformacja wielomianowa jest przechodnia, tzn. jeśli π 2 π 1 i π 3 π 2, to π 3 π 1. Lemat 2 Jeżeli π 2 π 1 i π 1 εnp, to π 2 εnp. Lemat 3 Jeżeli π 2 π 1 i π 2 εnp, to π 1 εnp. Wniosek Jeżeli π 2 π 1, to problem π 1 jest co najmniej tak trudny jak π 2.

Problem decyzyjny π 1 jest nazywany NP-zupełnym, jeśli: 1. π 1 εnp, 2. Dla każdego innego problemu decyzyjnego π 2 εnp jest π 2 π 1. Zatem, jeśli istniałby algorytm wielomianowy do rozwiązywania jakiegokolwiek problemu NP-zupełnego, to każdy problem z klasy NP (w tym również problemy NP-zupełne) mógłby być rozwiązany za pomocą algorytmu wielomianowego. Z bezskuteczności poszukiwań algorytmu wielomianowego dla któregokolwiek problemu NP-zupełnego wynika, że prawie na pewno wszystkie problemy NP-zupełne można rozwiązać tylko przy użyciu algorytmów ponadwielomianowych.

Wnioski 1. Klasa problemów NP-zupełnych zawiera problemy równoważne wielomianowo, tzn. jeśli π 1 jest NP-zupełny i π 2 jest NP-zupełny, to π 2 π 1 i π 1 π 2. 2. Klasa problemów NP-zupełnych zawarta jest w klasie NP. 3. Jeśli dla pewnego problemu NP-zupełnego istnieje wielomianowy algorytm rozwiązania, to wszystkie problemy NP-zupełne są rozwiązywalne w czasie wielomianowym. 4. Klasa problemów NP-zupełnych zawiera najtrudniejsze problemy z klasy NP.

Podsumowanie P klasa problemów rozwiązywalnych w czasie wielomianowym. NP klasa problemów nie rozwiązywalnych w czasie wielomianowym. Problemy otwarte to takie, dla których nie znaleziono algorytmu wielomianowego rozwiązania ani nie wykazano NP-zupełności.

Problem decyzyjny π 1 jest nazywany NP-zupełnym, jeśli: 1. π 1 εnp, 2. Dla każdego innego problemu decyzyjnego π 2 εnp jest π 2 π 1. Zatem, jeśli istniałby algorytm wielomianowy do rozwiązywania jakiegokolwiek problemu NP-zupełnego, to każdy problem z klasy NP (w tym również problemy NP-zupełne) mógłby być rozwiązany za pomocą algorytmu wielomianowego czyli NP = P. Z bezskuteczności poszukiwań algorytmu wielomianowego dla któregokolwiek problemu NP-zupełnego (chyba NP P) wynika, że prawie na pewno wszystkie problemy NP-zupełne można rozwiązać tylko przy użyciu algorytmów ponadwielomianowych.

Jak wykazać 2. Dla każdego innego problemu decyzyjnego π 2 εnp jest π 2 π 1.?

Niech π 2 będzie dowolnym problemem NP-zupełnym. Zatem każdy problem π 3 NP można przetransformować wielomianowo w π 2 tzn. π 3 π 2 (z definicji). Załóżmy, że wykażemy π 2 π 1 Stąd z przechodniości relacji mamy (π 3 π 2 π 2 π 1 ) π 3 π 1 wykażemy, że każdy problem π 3 NP można przetransformować wielomianowo w π 1. Wystarczy wykazać, że π 2 π 1.

Do udowodnienia NP-zupełności problemu decyzyjnego π wystarczy: 1. Dowieść, że πεnp, 2. Przetransformować wielomianowo dowolny znany problem NP-zupełny do problemu π. W celu zbadania złożoności obliczeniowej danego problemu, staramy się znaleźć dla niego optymalny deterministyczny algorytm wielomianowy lub wykazać trudność tego problemu. Aby wykazać trudność, wystarczy udowodnić NP-zupełność. Do klasy problemów NP-zupełnych należą najtrudniejsze problemy klasy NP.

Fundamentalne dla teorii złożoności obliczeniowej jest Twierdzenie Cook a, które wskazuje pewien problem jako NPzupełny. Twierdzenie Cook a Problem spełnialności wyrażeń logicznych jest NP-zupełny.

Problemami NP-zupełnymi są: Problem podziału, Problem komiwojażera, Problem cyklu Hamiltona.

Twierdzenie Problem plecakowy jest NP-zupełny. Cel: Udowodnić NP-zupełność problemu plecakowego poprzez wielomianową transformację problemu podziału, który jest NP-zupełny, do plecakowego.

Problem podziału zbioru Dane: C = c 1,, c i,, c k zbiór k elementów, Rozmiar s c i > 0 elementu c i, gdzie s(c i ) N +, N + = 1,2,, B N +, k σ i=1 s c i Pytanie: = 2B. Czy istnieje podzbiór C C taki, że σ ci C s c i = B?

Problem plecakowy wersja decyzyjna Dane: Skończony zbiór elementów A = a 1, a 2,, a n. Rozmiar s a i > 0 i waga w a i > 0 elementu a i. Pojemność plecaka b > 0 i stała y > 0. Zadanie: Czy istnieje podzbiór A A taki, że: a i A s( a i ) b σ ai A w(a i ) y?

Dowód, że Problem plecakowy π 1 NP Aby rozwiązać instancję (konkretny problem) I π 1, NDMT musi wygenerować podzbiór A A i sprawdzić w co najwyżej wielomianowym czasie, czy odpowiedź dla tego problemu brzmi tak. Należy sprawdzić nierówności s( a i ) b a i A w(a i ) y a i A

Dowód, że Problem plecakowy π 1 NP NDMT dla Problemu plecakowego Głowica zapisująca Moduł zgadujący Sterowanie Głowica odczytująco-zapisująca.. Łańcuch S Dane wejściowe.. -4-3 -2-1 0 1 2 3 4 Łańcuch S - liczba binarna, której i-ta pozycja wskazuje czy i-ty element zbioru A należy do wygenerowanego rozwiązania A Dane wejściowe n s a 1 s a n w a 1 w a n b y

Dowód, że Problem plecakowy π 1 NP n s(a 1 ) s a n w a 1 w a n b y N I = + n i=1 log 2 n + 1 + n i=1 ( log 2 s a i + 1) ( log 2 w a i + 1) + (log 2 b + 1 + (log 2 y x - najmniejsza liczba całkowita nie mniejsza niż x N(I) < (2n + 3)( log 2 max{n, s a i : 1, n, {w a i : {1, n}}, b, y} + 1) 1. Zgadnięcie rozwiązania to wygenerowanie ciągu n bitów. 2. Do sprawdzania nierówności: σ ai A s( a i ) b, σ ai A w(a i ) y wystarcza 2 A 2 2n operacji dodawania i 2 operacje porównania.

Dowód, że Problem plecakowy π 1 NP Do sprawdzania nierówności: σ ai A s( a i ) b, σ ai A w(a i ) y wystarcza 2 A porównania. 2 2n operacji dodawania i 2 operacje Operacje porównania i dodawania dwóch liczb b 1 i b 2 DTM może wykonać w czasie wielomianowym zależnym od (log 2 b 1 i (log 2 b 2. Zatem złożoność weryfikacji odgadniętego rozwiązania jest ograniczona od góry przez wielomian p(n I ) czyli π 1 NP.

Dowód, że Problem podziału π 2 π 1 Problem podziału π 2 jest NP-zupełny Dla instancji I 2 εd π2 konstruujemy instancję I 1 εd π1 taką, że: n = k, wzajemnie jednoznaczne przyporządkowanie g c i = a i, s a i = s(c i ) dla iε{1, n}, w a i = s(c i ) dla iε{1, n}, b = y = B.

Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca warunki: 1. Dla każdej instancji I 2 εd π2 odpowiedź brzmi tak, wtedy i tylko wtedy, gdy dla instancji f(i 2 ) odpowiedź również jest tak, 2. Czas obliczenia funkcji f przez DMT dla każdej instancji I 2 εd π2 jest ograniczony od góry przez wielomian od N I 2.

Dowód, że Problem podziału π 2 π 1 1. Dowód, że dla każdej instancji I 2 εd π2 odpowiedź brzmi tak, wtedy i tylko wtedy, gdy dla instancji I 1 π 1 odpowiedź również jest tak. Niech odpowiedź dla I 1 π 1 brzmi tak. Zatem istnieje A A taki, że: σ ai A s( a i ) b, σ ai A w(a i ) y. Ponieważ s a i = w a i =s c i dla iε{1, n} oraz b = y = B, a więc dla zbioru C = {c i : c i =

Dowód, że Problem podziału π 2 π 1 1. Dowód, że dla każdej instancji I 2 εd π2 odpowiedź brzmi tak, wtedy i tylko wtedy, gdy dla instancji I 1 π 1 odpowiedź również jest tak. Niech odpowiedź dla I 2 εd π2 brzmi tak. Zatem istnieje C C taki, że: σ ci C s(c i ) = B. Ponieważ s a i = w a i =s c i dla iε{1, n} oraz b = y = B, a więc dla zbioru A = a i : a i = s c i c i εc prawdziwe jest s( a i ) = w a i a i A a i A = b = y

Dowód, że Problem podziału π 2 π 1 2. Czas obliczenia funkcji f przez DMT dla każdej instancji I 2 εd π2 jest ograniczony od góry przez wielomian od N I 2. Czas konstrukcji danych I 1 εd π1 jest ograniczony od góry przez wielomian od rozmiaru I 2 εd π2, ponieważ DMT musi przepisać 2n + 3 liczb.

W celu wykazania NP-zupełności problemu π 1 należy: 1. Pokazać, że π 1 NP, 2. Wybrać odpowiedni NP-zupełny problem π 2, 3. Skonstruować transformację f: D π2 D π1, 4. Pokazać, że f jest obliczana w czasie wielomianowym, 5. Pokazać, że: Jeśli odpowiedź dla I 1 εd π1 brzmi tak, to dla instancji I 2 εd π2 odpowiedź brzmi tak, (ew. dowód nie wprost). 6. Pokazać, że: Jeśli odpowiedź dla I 2 εd π2 brzmi tak, to dla instancji I 1 εd π1 odpowiedź brzmi tak Zwykle najtrudniejsze są punkty 2. i 6.

Problem optymalizacyjny jest NP-trudny, jeśli odpowiadający mu problem decyzyjny jest NP-zupełny. NP-zupełny NP-trudny ang. NP-complete ang. NP-hard Aby wykazać NP-trudność problemu optymalizacyjnego należy udowodnić NP-zupełność jego wersji decyzyjnej.

Zasadnicze techniki dowodzenia NP-zupełności problemów decyzyjnych: Ograniczanie, Lokalna zamiana, Projektowanie części składowych. Którą z technik zastosowano dowodząc NP-zupełności Problemu plecakowego poprzez przetransformowanie do niego Problemu podziału?