Lista 6 Problemy NP-zupełne

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

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

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

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

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

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

Efektywność Procedur Obliczeniowych. wykład 5

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

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

Języki, automaty i obliczenia

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

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

10110 =

Metoda Tablic Semantycznych

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

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

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

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

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

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

Matematyczne Podstawy Informatyki

O ISTOTNYCH OGRANICZENIACH METODY

Wstęp do programowania

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

Semantyka rachunku predykatów

Imię, nazwisko, nr indeksu

TEORETYCZNE PODSTAWY INFORMATYKI

Matematyczne Podstawy Informatyki

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

LOGIKA Klasyczny Rachunek Zdań

PRZEWODNIK PO PRZEDMIOCIE

Adam Meissner.

OBLICZALNOŚĆ I NIEOBLICZALNOŚĆ

Obliczenia inspirowane Naturą

Matematyka dyskretna

Trudność aproksymacji problemów NP-trudnych

Algorytmika Problemów Trudnych

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

Programowanie deklaratywne i logika obliczeniowa

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

Matematyka ETId Elementy logiki

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

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

O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ

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}

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

Programowanie dynamiczne i algorytmy zachłanne

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

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

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.

Problemy NP-zupełne. Spis treści. Osoba prowadząca wykład i ćwiczenia: dr inż. Marek Sawerwain. Ostatnia zmiana: 15 styczeń Notatki.

Grafy i sieci w informatyce - opis przedmiotu

Opis efektów kształcenia dla modułu zajęć

Elementy logiki i teorii mnogości

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

Dopełnienie to można wyrazić w następujący sposób:

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Semantyka rachunku predykatów pierwszego rzędu. Dziedzina interpretacji. Stałe, zmienne, funkcje. Logika obliczeniowa.

Algebra Boole a i jej zastosowania

Matematyczne Podstawy Informatyki

1 Automaty niedeterministyczne

Matematyka dyskretna - 8. Egzaminy próbne. Uwaga! Niektórych z tych zadań nie obejmuje program dla studiów zaocznych - proszę się tym nie niepokoić -

Składnia rachunku predykatów pierwszego rzędu

Zaawansowane algorytmy i struktury danych

JAKIEGO RODZAJU NAUKĄ JEST

Matematyka dyskretna dla informatyków

Teoretyczne podstawy informatyki

Zastosowanie logiki matematycznej w procesie weryfikacji wymagań oprogramowania

O ALGORYTMACH I MASZYNACH TURINGA

KURS MATEMATYKA DYSKRETNA

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

Programowanie liniowe

Definicja: zmiennych zdaniowych spójnikach zdaniowych:

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Złożoność obliczeniowa

O geometrii semialgebraicznej

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

Elementy logiki matematycznej

Algorytmy asymetryczne

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

Rekurencyjna przeliczalność

Sortowanie topologiczne skierowanych grafów acyklicznych

4 Klasyczny rachunek zdań

Wykład nr 3 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

1. Elementy logiki matematycznej, rachunek zdań, funkcje zdaniowe, metody dowodzenia, rachunek predykatów

Metody Programowania

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

LOGIKA I TEORIA ZBIORÓW

Logika matematyczna i teoria mnogości (I) J. de Lucas

Matematyka Dyskretna Discrete Mathematics. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Układy równań i nierówności liniowych

Alan M. TURING. Matematyk u progu współczesnej informatyki

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia

Metody numeryczne w przykładach

10. Kolorowanie wierzchołków grafu

KARTA MODUŁU KSZTAŁCENIA

Transkrypt:

1 Wprowadzenie Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Teoretyczne Podstawy Informatyki Lista 6 Problemy NP-zupełne Problem abstrakcyjny Q jest to relacja dwuargumentowa na zbiorze I egzemplarzy problemu i zbiorze S rozwiązań problemu. Uściślając problem decyzyjny to problem dla którego oczekujemy odpowiedzi tak/nie. Można powiedzieć, że rozwiązaniem problemu jest funkcja która zbiór egzemplarzy problemu I przekształca w zbiór rozwiązań {0, 1}. Przykłady problemów decyzyjnych: mając ciąg znaków T oraz P, pytamy się: Czy ciąg P jest podciągiem T? istnieją dwa zbiory S oraz T, Czy zbiory zawierają takie same elementy? mając graf G z całkowitymi wartościami na krawędziach oraz liczbę k interesuje nas: Czy istnieje minimalne drzewo rozpinające o wadze co najwyżej k? Omawiając problemy związane z klasą NP i NP-zupełną będziemy ograniczać się tylko do problemów decyzyjnych. Od danego rozwiązania algorytmu oczekujemy tylko odpowiedzi tak bądź nie. Wiele problemów abstrakcyjnych to nie problemy decyzyjne, ale raczej optymalizacyjne, w których pewną wielkość trzeba zminimalizować albo zmaksymalizować. Żeby zastosować teorię NP-zupełności do problemów optymalizacyjnych, musimy przerobić je na problemy decyzyjne. Zazwyczaj taka przeróbka polega na narzuceniu ograniczenia na optymalizowaną wielkość. Przykładem jest problem najkrótszej ścieżki, możemy go sformułować np.: w następujący sposób: dany jest graf G = (V, E), dwa wierzchołki u, v V i nieujemna liczba całkowita k. Pytamy się czy istnieje ścieżka w G łącząca u i v, o długości co najwyżej k? Jeśli i = G, u, v, k jest egzemplarzem tego problemu, to PATH(i) = 1 czyli tak, jeżeli najkrótsza ścieżka od u do v ma długość co najwyżej k. Gdy tak nie jest to PATH(i) = 0. Podsumowując jeżeli potrafimy szybko rozwiązać problem optymalizacyjny, to umiemy także szybko rozwiązać odpowiadający mu problem decyzyjny. 1.1 Klasy złożoności P oraz NP i co-np O problemach z klasy P mówimy, że są szybko rozwiązywalne, natomiast o problemach z klasy NP o szybko weryfikowalnych. Klasy złożoności możemy określić w następujący sposób: P = k N DT (n k ) NP = k N NT (n k ) (1) Klasę co-np definiuje się jako dopełnienie tych języków które nie należą do klasy NP: L NP Problem z klasy NP nazwany został problemem szybko weryfikowalnym. Algorytm weryfikacji definiujemy jak algorytm A o dwóch argumentach. Jeden z nich jest zwykłym ciągiem wejściowym x, natomiast drugi to ciąg binarny y zwany świadectwem. Dwuargumentowy algorytm A weryfikuje ciąg x, jeśli istnieje świadectwo y takie, że A(x, y) = 1. 1

Należy to rozumieć w następujący sposób: algorytm A weryfikuje język L, jeśli dla każdego słowa x L istnieje świadectwo y, które może zostać użyte przez A w celu wykazania, że x L. Co więcej, dla żadnego słowa x / L nie może istnieć świadectwo tego iż x L. Na przykład w problemie cyklu Hamiltona świadectwem jest lista wierzchołków. Jeśli graf jest hamiltonowski, sam cykl Hamiltona wnosi wystarczającą informację do sprawdzenia, czy istotnie wierzchołki przynależą do cyklu Hamiltona. Podobnie w przypadku problemu ścieżki od wierzchołka u do v. Mając daną ścieżkę p łatwo możemy sprawdzić, czy nie przekracza ona zadanej długości p. Dzięki algorytmowi weryfikacji można ściślej zdefiniować klasę NP: język L należy do klasy NP wtedy i tylko wtedy, gdy istnieją dwuparametrowy wielomianowy algorytm A i stała c takie, że L = {x {0, 1} : istnieje takie świadectwo y, gdzie y = O( x c ), że A(x, y) = 1} Twierdzenie 1 Dla niedeterministycznej maszyny Turinga M o czasowej złożoności obliczeniowej f(n) takiej, że n f(n) dla wszystkich n N, istnieje deterministyczna maszyna Turinga M 1 rozpoznająca ten sam język, której czasowa złożoność obliczeniowa jest rzędu O(c f(n) ), dla pewnej liczby c > 1. 1.2 Redukcje Redukcja to pojęcie umożliwiające określenie, kiedy jeden problem jest przynajmniej tak trudny jak inny. Oznacza to, że chcemy stwierdzić, że problem A jest co najmniej tak trudny jak problem B, gdy B redukuje się do A. Definicja 1 Mówimy że B redukuje się do A, jeżeli istnieje transformacja R, w wyniku której dla każdego przykładu x problemu B powstaje równoważny mu przykład R(x). Rysunek 1: Redukcja problemu B do A Taka definicja pozwala na określenie czym jest klasa złożoności. W kontekście następnej definicji klasa złożoności łączy w sobie problemy które mogą być wzajemnie redukowane. Definicja 2 Niech C będzie klasą złożoności i niech L będzie językiem z klasy C. Powiemy, że L jest C-zupełny, jeżeli dowolny język L C może być zredukowany do L. Za efektywną redukcję przyjmiemy redukcję w pamięci ograniczonej przez funkcję log n. Powiemy więc, że język L 1 jest redukowalny do L 2, jeżeli istnieje funkcja R określona na słowach i o wartościach w zbiorze słów, obliczana przez maszynę Turinga wykorzystującą co najwyżej pamięć O(log n). Dla funkcji tej dla każdego słowa wejściowego x zachodzi x L 1 wtedy i tylko wtedy, gdy R(x) L 2. Wtedy funkcję R nazywamy redukcją L 1 do L 2. Lemat 1 Jeśli L 1, L 2 {0, 1} są językami takimi, że L 1 P L 2, to z tego, że L 2 P wynika także L 1 P. 2

1.3 Problemy NP-zupełne Podana w poprzednim punkcie definicja redukcji w czasie wielomianowym umożliwia na podanie formalnej metody dowodzenia, że jeden problem jest przynajmniej tak trudny jak inny, naturalnie z dokładnością do czynnika wielomianowego. Co oznacza, że jeśli L 1 P L 2, to L 1 jest nie więcej niż o wielomianowy czynnik trudniejszy od problemu L 2. Wykorzystując algorytm weryfikacji oraz definicję redukcję definicja problemu NP-zupełnego przyjmuje następującą postać: Definicja 3 Język L {0, 1} jest NP-zupełny, jeśli: (1) L NP oraz (2) L P L dla każdego L NP Jeśli język L spełnia własność (2), lecz własność (1) nie jest spełniona, to mówimy, że L jest NP-trudny. Klasę problemów NP-zupełnych będziemy oznaczać także NPC. 2 Zadania 1. Wykazać, że gdy p(x) i q(x) reprezentują algorytmy o złożoności wielomianowej to wielomianami będą także funkcje: (a) p(n) + q(n) (b) p(n)q(n) (c) p(q(n)) 2. Udowodnić następujące twierdzenie: Twierdzenie 2 Liczba p bool (n) wszystkich funkcji ze zbioru wartości boolowskich, zależnych od n zmiennych x 1, x 2,..., x n, jest równa 2 2n. 3. Udowodnić lemat 1. 4. Udowodni następujący lemat: Lemat 2 Niech Q będzie abstrakcyjnym problemem decyzyjnym na zbiorze egzemplarzy I i niech k 1 i k 2 będą wielomianowo równoważnymi kodowaniami na I. To prawdziwa jest zależność k 1 (Q) P k 2 (Q) P. 5. Udowodnić twierdzenie 1. 6. Podać naiwny algorytm sprawdzajacy czy w grafie nieskierowanym znajduje się cykl Hamiltona? 7. Wykazać że problem osiągalności wierzchołka w grafie należy do klasy P. 8. Wykazać że problem wyznaczenia wartości sieci logicznej (CIRCUIT-VALUE) należy do klasy P. Inaczej mówiąc należy udowodnić twierdzenie: 3

Twierdzenie 3 Problem wyznaczania wartości sieci logicznej jest P-zupełny. 9. Podać algorytm sprawdzający czy formuła logiczna jest spełnialna. 10. Pokazać w jaki sposób można zredukować problem osiągalności wierzchołka w grafie do problemu wartości sieci logicznej. 11. Pokazać w jaki sposób problem CIRCUIT SAT redukuje się do SAT. 12. Wykazać, że P relacją przechodnią na zbiorze języków. Należy wykazać, prawdziwość implikacji (L 1 P L 2 L 2 P L 3 ) L 1 P L 3 13. Udowodnić lemat: Lemat 3 Jeżeli R jest redukcją obliczalną przez maszynę Turinga M, to dla każdej danej x maszyna M zatrzymuje się po wielomianowej licznie kroków. 14. Mamy dwa grafy G 1, G 2, udowodnić, że alg. sprawdzający czy grafy są izomorficzne należy do NP poprzez podanie wielomianowego algorytmu weryfikacji. 15. Udowodnić, następujące lematy: (a) problem cyklu hamiltonowskiego należy do klasy NP (b) problem spełnialności należy do klasy NP (c) pokrycie wierzchołkowe należy do klasy NP 16. Niech φ będzie formułą logiczną zbudowaną ze zmiennych logicznych x 1, x 2, x 3,..., x k, operatorów negacji, koniunkcji oraz alternatywy oraz nawiasów. Formuła φ jest tautologią, jeśli przy każdym przypisaniu wartości 1 i 0 występującym w niej zmiennym ma ona wartość 1. Wykazać, że rozstrzygnięcie iż φ będzie tautologią należy do problemu co-np. 17. Pokazać w jaki sposób można sprowadzić problem ścieżki Hamiltona do problemu spełnialności. 18. Udowodnić, że problem zbioru niezależnego jest NP-zupełny, sprowadzając język 3SAT- NF do problemu zbioru niezależnego. 19. Udowodnić twierdzenie Cooka: Twierdzenie 4 Problem SAT jest NP-zupełny. 20. Wykazać, że nie istnieje klasyczny 1 algorytm wielomianowy, który rozwiązuje problem Deutscha-Jozsy, czyli badania czy funkcja jest stała bądź zrównoważona 2. 21. Podać niedeterministyczny, a więc należący dla klasy NP algorytm rozwiązujący problem Deutscha-Jozsy. 1 Obecnie istnieje tylko kwantowy algorytm rozwiązujący ten problem w czasie wielomianowym. 2 Warto wykorzystać twierdzenie 2 4

22. Udowodnić twierdzenie: Twierdzenie 5 Jeśli jakikolwiek problem NP-zupełny jest rozwiązywalny w czasie wielomianowym, to P=NP. Jeśli jakikolwiek problem w NP nie jest rozwiązywalny w czasie wielomianowym, to żaden problem NP-zupełny nie jest rozwiązywalny w czasie wielomianowym. 3 Dalsze informacje Poniższe pozycje odnoszą się do wszystkich list z ćwiczeniami z przedmiotu teoretyczne podstawy informatyki. Literatura [1] David Harel: Rzecz o istocie informatyki Algorytmika, Edycja polska Wydanie drugie Wydawnictwa Naukowo-Techniczne 2000 [2] Tomasz Bilski, Krzysztof Chmiel, Janusz Stokłosa: Zbiór zadań ze złożoności obliczeniowej algorytmów. Politechnika Poznańska 1992 [3] Janusz Stokłosa: Zadania ze złożoności obliczeniowej algorytmów, Politechnika Poznańska 1989 [4] L. Banachowski, Antoni Kreczmar: Elementy analizy algorytmów, Wydawnictwa Naukowo-Techniczne 1982 [5] John E.Hopcroft, Jeffrey D.Ullman: Wprowadzenie do teorii automatów, języków i obliczeń. Wydawnictwo Naukowe PWN 2003 [6] Mordechai Ben-Ari: Logika matematyczna w informatyce, Wydawnictwa Naukowo- Techniczne 2005 [7] Christos H.Papadimitriou: Złożoność obliczeniowa, Wydawnictwa Naukowo-Techniczne 2002 [8] R.L. Graham, D.E. Knuth, O.Patashnik: Matematyka konkretna,wydawnictwo Naukowe PWN 2002 [9] Kenneth A.Ross, Charles R.B.Wright: Matematyka dyskretna, Wydawnictwo Naukowe PWN 2000 [10] Piotr Wróblewski,: Algorytmy struktury danych i techniki programowania, Helion 1997 [11] Materiały ze strony dr inż. Janusza Majewskiego dotyczące przedmiotu Automaty i języki formalne. 5