W13 - Jak sobie radzić z NPH

Post on 21-Oct-2015

62 views 0 download

Transcript of W13 - Jak sobie radzić z NPH

Podstawy analizy algorytmów

Co możemy zrobić, kiedy musimy rozwiązać jeden z tych trudnychproblemów? Istnieją trzy ogólne podejścia.

1. Prawie na pewno rozwiązanie. Algorytm tego rodzaju:

(a) będzie działał w czasie wielomianowym

(b) kiedy znajdzierozwiązanie,to rozwiązanieto będzie zawsze

Podstawy analizy algorytmów

(b) kiedy znajdzierozwiązanie,to rozwiązanieto będzie zawszepoprawne

(c) nie zawsze znajdzie rozwiązanie, ale „prawie zawsze” (wtymsensie, że stosunek liczby sukcesówdo łącznej liczbyprzypadkówmoże być tak bliski 1, jak sobie sami tegożyczymy).

Co możemy zrobić, kiedy musimy rozwiązać jeden z tych trudnychproblemów? Istnieją trzy ogólne podejścia.

2. Prawie zawsze szybko. Algorytm tego rodzaju:

(a) zawsze znajdzie prawidłowe rozwiązanie

(b) będzie operowałw średnim czasiewielomianowym,co jest

Podstawy analizy algorytmów

(b) będzie operowałw średnim czasiewielomianowym,co jestlepsze niż w wykładniczym, chociaż okazjonalnie możewymagać czasu wykładniczego.

Co możemy zrobić, kiedy musimy rozwiązać jeden z tych trudnychproblemów? Istnieją trzy ogólne podejścia.

3. Prawie optymalne rozwiązanie. Algorytm tego rodzaju:

(a) zawsze działa w czasie wielomianowym

(b) zawszedajejakiś wynik

Podstawy analizy algorytmów

(b) zawszedajejakiś wynik

(c) gwarantuje,że wynik nie będzie oddalony od optymalnegorozwiązania o więcej, niż pewna ustalona wartość.

Niech A będzie algorytmem, który generuje rozwiązaniesuboptymalne dla każdej instancjiI problemuΠ. Niech FO(I) > 0będzie wartością rozwiązania optymalnego dlaI i niech FA(I) > 0będzie wartością rozwiązania generowanego przezA.

Podstawy analizy algorytmów

Dla pewnej stałejk algorytm A jest k-absolutnie aproksymacyjny,jeśli dla każdej instancjiI problemuΠ mamy:

|FO(I) − FA(I)| ≤ k

A jestk-aproksymacyjnym(albok-względnie aproksymacyjnym)algorytmemdla pewnej stałejk > 1, jeśli dla każdej instancjiIproblemuΠ

f(I) ≤ k, gdzie

f(I) = max{FO(I)/FA(I), FA(I)/FO(I)}

Podstawy analizy algorytmów

=),(/)(

),(/)()(

IFIF

IFIFIf

AO

OA jeśli Π jest minimalizacyjny

jeśli Π jest maksymalizacyjny

lub

A(ε) jest schematemaproksymacyjnym, jeśli dla każdegoustalonegoε > 0 i instancjiI, A(ε) generuje rozwiązanie przybliżoneFA(I) takie,że:

f(I) ≤ 1 + ε

Schemataproksymacyjnyjest wielomianowy, jeśli jego czas

Podstawy analizy algorytmów

Schemataproksymacyjnyjest wielomianowy, jeśli jego czasobliczeń jest wielomianemwzględemrozmiarun problemu.

Schemat aproksymacyjny, którego czas obliczeń jestwielomianowy zarówno pod względem rozmiarun, jak i stosunku1/ε nazywamy:

całkowicie wielomianowym schematem aproksymacyjnym(Fully Polynomial-Time Approximation Scheme(FPTAS)).

Podstawy analizy algorytmów

Istnieje bardzo mało NP-trudnych problemówoptymalizacyjnych, które posiadają algorytmy tegorodzaju. Jednymz nich jest wyznaczanie minimumkolorów potrzebnych do pokolorowania wierzchołkówgrafu planarnego.

Analogicznym problemem jest k-kolorowaniekrawędziowegrafuG, gdziecelemjestprzydzieleniek

Podstawy analizy algorytmów

krawędziowegrafuG, gdziecelemjestprzydzieleniekkolorów do krawędzi G w taki sposób,że każde dwiekrawędzie o wspólnym wierzchołku mają różnekolory. Indeks chromatyczny G, oznaczanyχ’ (G), jestnajmniejszą liczbą k, dla którejG jest k-kolorowalnykrawędziowo.

gdzie

1)(' +∆≤≤∆ Gχ

Z twierdzenia Vizinga [1964] wynika, że

Podstawy analizy algorytmów

∆ = ∆(G) jest stopniem grafu G

Zatem bardzo łatwo można obliczyć wartość indeksuchromatycznego grafuG z dokładnością do jednego koloru.

procedure PlanarColorability(G);begincase: V = ∅ : return (0);: E = ∅ : return (1);

Łatwo zauważyć, że następująca procedura działa w czasieproporcjonalnymdo ilości wierzchołków.

Podstawy analizy algorytmów

Kolorowalność grafów planarnychKolorowalność grafów planarnych

}O(1)}O(1)

: V = ∅ : return (0);: E = ∅ : return (1); : G jest dwudzielny : return (2);: else return(4);end end;

Warto również zauważyć, że w tym przypadku, na mocytwierdzenia o 4 barwach, mamy FA(G) – χ(G) ≤ 1, gdzieχ(G)jest liczbą chromatyczną G.

}O(1)}O(n)}O(1)

Jeśli P ≠ NP, to żaden wielomianowy algorytmaproksymacyjny dla problemu maksymalnego zbioruniezależnego danego grafuG nie może zagwarantowaćponiższejnierówności:

Podstawy analizy algorytmów

Twierdzenie:

poniższejnierówności:

|FO(G) − FA(G)| ≤ k

dlażadnej stałejk.

Podstawy analizy algorytmów

|FA(Gk+1) – FO(Gk+1)| = |FA(Gk+1) – (k+1)FO(G)| ≤ k

Podstawy analizy algorytmów

Zgodnie z definicją każdy z 1-absolutnie aproksymacyjnychalgorytmówwspomnianych wcześniej jest 4/3- aproksymacyjny.

W tej części wykładu poznamy dwa wyjątkowo prostealgorytmy grafowe, które są 2-aproksymacyjne.

Pierwszymnaszymproblememjest NP-trudnekolorowaniekrawędzi.

Podstawy analizy algorytmów

krawędzi.

procedure NaiveColor(G);

begin

c := 1;

for każda e ∈ E do

begin

Naiwne kolorowanie krawędziNaiwne kolorowanie krawędzi

Podstawy analizy algorytmów

}O(m) = O(n2)

begin

niech C ⊆ {1, ..., c} będzie zestawem kolorów

dopuszczalnych dla e;

if C ≠ ∅ then pokoloruj edowolnym kolorem z C

else beginc := c + 1; pokoloruj ekolorem c end

end

end;

} O(∆)

Jeśli graf G jest dany w postaci wierzchołkowo-krawędziowych list incydencji, to do pokolorowania krawędzie = {vi, vj} musimy sprawdzić (deg(vi) − 1) + (deg(vj) − 1) < 2∆kolorówna listach wierzchołkówvi i vj .

Złożoność tego algorytmu jest zatem O(n3).

Podstawy analizy algorytmów

Złożoność tego algorytmu jest zatem O(n ).

NaiveColor jest algorytmem2-aproksymacyjnym

procedure NaiveCover(G);

begin

1. C := ∅ ;

2. E* := E;

3. while E* ≠ ∅ do begin

Podstawy analizy algorytmów

Naiwne pokrycie wierzchołkoweNaiwne pokrycie wierzchołkowe

}O(m)

}O(m)3. while E* ≠ ∅ do begin

4. niech {u, v} będzie dowolną krawędzią w E*;

5. C := C ∪ { u, v};

6. usuń z E* każdą krawędź incydentną z u lub v;

end

end;

}O(m)

Podstawy analizy algorytmów

Czas działania algorytmu wynosi O(m), o ile użyjemy właściwejstruktury danych do reprezentowaniaE*

NaiveCover jest algorytmem 2- aproksymacyjnym

Podstawy analizy algorytmów

Podstawy analizy algorytmów

Istnieje kilkadziesiąt całkowicie wielomianowych schematówaproksymacyjnych dla problemówklasycznych, z którychnajbardziej znane to:

1. Problemplecakowy – O(n(logn + 1/ε2)) [1975], O(nlog1/ε + 1/ε4)[1977]

Podstawy analizy algorytmów

[1977]

2. ProblemSumy Podzbiorów(The Subset Sum) – O(n + 1/ε3)[1977]

Niech I będzie instancją problemu Π i niech length(I)będzie liczbą bitów w reprezentacjiI. Niech max(I) będziewartością największej liczby występującej w I. Bez stratyogólności, możemy założyć, że wszystkie liczby w I są

Znane są również wyniki negatywne.

Podstawy analizy algorytmów

ogólności, możemy założyć, że wszystkie liczby w I sąliczbami całkowitymi. Dla pewnego wielomianup niech Πp

będzie podproblememΠ ograniczonymdo tych instancjiI, dlaktórychp(length(I)) ≥ max(I). ProblemΠ nazywamysilnie NP-trudnym, jeśli istnieje wielomianp taki, że problemΠp jestNP-trudny.

Algorytmy Pozytywne przykłady Negatywne przykładyKolorowanie grafu planarnego (k = 1)Kolorowanie krawędzi (k = 1)Maksymalna liczba zapamiętanychprogramów (k = 1)Minimalny stopień drzewa Steinera (k = 1)

Problem plecakowy

Klika

Suma podzbioru

Planarny komiwojażer (k = 3/2) Ogólny komiwojażer

k-bezwzględnieaproksymacyjne

Podstawy analizy algorytmów

Planarny komiwojażer (k = 3/2)Szeregowanie zadań niezależnych (k = 4/3)Pakowanie pudełek (k = 11/9)Suma podzbioru (k = 2)Pokrycie wierzchołkowe (k = 2)

Ogólny komiwojażerProgramowanie całkowitoliczboweOgólne kolorowanie grafuKlika

Problem plecakowy

Suma podzbioru

Problemy silnie NP-trudne

k-(względnie)

aproksymacyjne

całkowiciewielomianoweschematy aproksymacyjne

Tabela 13.1

Dowód:

Przypuśćmy przeciwnie, że istnieje taki algorytmaproksymacyjny. Oznaczato, że istniejealgorytmwielomianowy

Podstawy analizy algorytmów

Twierdzenie:

Jeżeli P ≠ NP, to nie istnieje wielomianowy algorytmaproksymacyjny dla problemu komiwojażera spełniający f(I) < ∞.

aproksymacyjny. Oznaczato, że istniejealgorytmwielomianowyA spełniający f(I) ≤ k dla pewnej stałejk. Zobaczymy, jakA możebyć użyty do rozwiązania NP-zupełnego problemu CYKLUHAMILTONA w grafie.

Niech G = (V, E) będzie rozpatrywanymgrafem. Budujemydla G odpowiednią instancję I problemu komiwojażera,przyporządkowując V zestawmiast i definiując odległość d(u, v)pomiędzy dwoma miastami u i v poprzez przyjęcie, żed(u, v) = kn, gdy {u,v} ∉E i 1 w przeciwnymprzypadku.

Podstawy analizy algorytmów

Oczywiście, skonstruowanieI i uruchomienieA na danychIwymaga czasu wielomianowego, ponieważ k jest niezależne odrozmiaruG. Łatwo zauważyć, że jeżeli G ma cykl Hamiltona, toFO(I) = n, jeśli zaś G nie ma takiego cyklu, toFO(I) > kn. Jestzatemogromny rozziewmiędzy tymi wartościami. Dlatego, namocy założenia dotyczącego gwarancji dlaA, będziemy miećF (I) ≤ kn wtedy i tylko wtedy, gdy G jest hamiltonowski.

Podstawy analizy algorytmów

FA(I) ≤ kn wtedy i tylko wtedy, gdy G jest hamiltonowski.Oznacza to tylko jedną możliwość - mianowicie,że FA(I) = n.Zatem hipotetyczne istnienie takiegok-aproksymacyjnegoalgorytmuA implikuje, że CYKL HAMILTONA jest w klasie Pi, w konsekwencji,że P = NP. Prowadzi to do sprzeczności zzałożeniempoczątkowym, które mówiło,że P≠ NP.

Podstawy analizy algorytmów

Najnowsze trendy w dziedzinie algorytmów Najnowsze trendy w dziedzinie algorytmów dla problemów NPdla problemów NP--trudnychtrudnych

1. Konstruowanie algorytmówwykładniczych o złożonościparametryzowanej.

W algorytmachtego typu czasdziałaniazależy nie tylkoW algorytmachtego typu czasdziałaniazależy nie tylkood rozmiaru danych, ale i od pewnego parametrukcharakteryzującego dane. Dla przykładu, można zadaćpytanie: Jaką złożoność ma problem znalezienia pokryciawierzchołkowego rozmiaruk? Okazuje się, że istnieje ideowoprosty algorytmo złożoności O(2kn), zaś najlepszy algorytmma złożoność O(1,2738kn), co oznacza,że możemy badaćgrafy mające pokrycia rzędu kilkudziesięciu wierzchołków.

~

Podstawy analizy algorytmów

Najnowsze trendy w dziedzinie algorytmów Najnowsze trendy w dziedzinie algorytmów dla problemów NPdla problemów NP--trudnychtrudnych

2. Konstruowanie superwielomianowych algorytmówaproksymacyjnych.

Na przykład, w problemie ważonego pokrycia zbioruNa przykład, w problemie ważonego pokrycia zbiorun-elementowego Cygan i in. (2009) pokazali,że dladowolnegor > 1 istnieje algorytm(1+lnr)-aproksymacyjnydziałający w czasie O(2n/r). A zatem, imwiększa dokładność(mniejszer), tym algorytmdziała dłużej. Idea tego algorytmupolega na pomyśle zmniejszania instancji problemu(kompresji danych) kosztem utraty dokładności iuruchamianiu algorytmu dokładnego na tak zmienionychdanych.

Podstawy analizy algorytmów

Najnowsze trendy w dziedzinie algorytmów Najnowsze trendy w dziedzinie algorytmów dla problemów NPdla problemów NP--trudnychtrudnych

3. Metodamierz i zwyciężaj.

Innym podejściem do tworzenia algorytmówdokładnychrozwiązujących problemy NP-trudne jest próba dowodzenia,rozwiązujących problemy NP-trudne jest próba dowodzenia,że prosty algorytmprzeszukujący przestrzeń rozwiązań jestszybszy niż to się wydaje na pierwszy rzut oka. Spójrzmy naproblem maksymalnego zbioru niezależnego. Naiwneprzejrzenie wszystkich możliwych podzbiorów zbioruwierzchołkówgrafu on wierzchołkach wymaga czasu O(2n).

Podstawy analizy algorytmów

Najnowsze trendy w dziedzinie algorytmów Najnowsze trendy w dziedzinie algorytmów dla problemów NPdla problemów NP--trudnychtrudnych

3. Metodamierz i zwyciężaj.

Dodając jednak pewne usprawnienia (np. można brać dozbioru zawszewierzchołki o stopniunie większymniż 1 orazzbioru zawszewierzchołki o stopniunie większymniż 1 orazusuwać sąsiadów wierzchołków już wybranych do zbioru),można osiągnąć znacznie lepsze rezultaty. Stosując metodęmierz i zwyciężaj staramy się mierzyć rozmiar instancjiproblemu nie w klasyczny sposób liczbą n, lecz bardziejskomplikowanym potencjałem, lepiej oddającym trudnośćinstancji. W ten sposób przyspieszono algorytmdlaznajdowania maksymalnego zbioru niezależnego do poziomuO(20.288n), o czymjuż wspominaliśmy wcześniej (Fomin i in.[2006]).

Podstawy analizy algorytmów

Najnowsze trendy w dziedzinie algorytmów Najnowsze trendy w dziedzinie algorytmów dla problemów NPdla problemów NP--trudnychtrudnych

4. Redukcja do pamięci wielomianowej.

Jedną z technik unikania wykładniczego kosztuJedną z technik unikania wykładniczego kosztupamięciowego (a tym samym możliwego poprawianiazłożoności czasowej) jest zastosowanie zasady włączeń iwyłączeń. Klasycznymwynikiem jest algorytmdla problemukomiwojażera, a ostatnio takich algorytmówdoczekał sięproblemdrzewa Steinera (Nederlof [2009]).

Podstawy analizy algorytmów

Inne technikiInne techniki

1. Zastosowanie technik rozrzedzania grafów.

Rozrzedzanie polega na tym,że zamiast badać wejściowygraf pełny, konstruujemy wielomianowo pewne pokrycieścieżkowe. Następnie nasz algorytmdziała na grafie rzadkim, np.skierowanymgrafie 2-regularnym. Dla przykładu, Thorup i Wick[2001] pokazali,że dla dowolnego grafu można skonstruować woczekiwanym czasie O(kmn1/k) strukturę danych rozmiaruO(kn1+1/k), pozwalającą na obliczenie w czasie O(k) odległościmiędzy dowolną parą wierzchołkówz błędemaproksymacji 2k-1.

Techniki rozrzedzania wprowadziły niemały zamęt wdziedzinie znajdowania maksymalnego przepływu w sieci imamy obecnie do czynienia z wieloma różnymi algorytmami„optymalnymi”.

Podstawy analizy algorytmów

Inne technikiInne techniki

2. Dynamiczna orientacja grafówrzadkich.

Orientacja grafu nieskierowanego to nadanie jegokrawędziom kierunków. Ważnym problememjest konstrukcjaalgorytmów utrzymujących orientację dla rzadkiego grafudynamicznie zmieniającego się w czasie, tak aby stopniedynamicznie zmieniającego się w czasie, tak aby stopniewychodzące wszystkich wierzchołkówbyły niewielkie. Takastruktura może służyć do reprezentowania dynamicznych grafówrzadkich, ponieważ umożliwia szybkie udzielanie odpowiedzi napytania o istnienieścieżki łączącej dwa wierzchołki. Na przykładistnieje algorytm, który bazując na takiej strukturze, udzielaodpowiedzi na pytania o istnienie takiejścieżki w czasie O(√n)(Diks i Sankowski [2007]).

KONIECKONIEC