You are on page 1of 36

Podstawy analizy algorytmw

Podstawy analizy algorytmw

Co moemy zrobi, kiedy musimy rozwiza jeden z tych trudnych problemw? Istniej trzy oglne podejcia. 1. Prawie na pewno rozwizanie. Algorytm tego rodzaju: (a) bdzie dziaa w czasie wielomianowym (b) kiedy znajdzie rozwizanie, to rozwizanie to bdzie zawsze poprawne (c) nie zawsze znajdzie rozwizanie, ale prawie zawsze (w tym sensie, e stosunek liczby sukcesw do cznej liczby przypadkw moe by tak bliski 1, jak sobie sami tego yczymy).

Podstawy analizy algorytmw

Co moemy zrobi, kiedy musimy rozwiza jeden z tych trudnych problemw? Istniej trzy oglne podejcia. 2. Prawie zawsze szybko. Algorytm tego rodzaju: (a) zawsze znajdzie prawidowe rozwizanie (b) bdzie operowa w rednim czasie wielomianowym, co jest lepsze ni w wykadniczym, chocia okazjonalnie moe wymaga czasu wykadniczego.

Podstawy analizy algorytmw

Co moemy zrobi, kiedy musimy rozwiza jeden z tych trudnych problemw? Istniej trzy oglne podejcia. 3. Prawie optymalne rozwizanie. Algorytm tego rodzaju: (a) zawsze dziaa w czasie wielomianowym (b) zawsze daje jaki wynik (c) gwarantuje, e wynik nie bdzie oddalony od optymalnego rozwizania o wicej, ni pewna ustalona warto.

Podstawy analizy algorytmw

Niech A bdzie algorytmem, ktry generuje rozwizanie suboptymalne dla kadej instancji I problemu . Niech FO(I) > 0 bdzie wartoci rozwizania optymalnego dla I i niech FA(I) > 0 bdzie wartoci rozwizania generowanego przez A.

Dla pewnej staej k algorytm A jest k-absolutnie aproksymacyjny, jeli dla kadej instancji I problemu mamy: |FO(I) FA(I)| k

Podstawy analizy algorytmw

A jest k-aproksymacyjnym (albo k-wzgldnie aproksymacyjnym) algorytmem dla pewnej staej k > 1, jeli dla kadej instancji I problemu f(I) k, gdzie f(I) = max{FO(I)/FA(I), FA(I)/FO(I)} lub

FA ( I ) / FO ( I ), jeli jest minimalizacyjny f (I ) = FO ( I ) / FA ( I ), jeli jest maksymalizacyjny

Podstawy analizy algorytmw

A() jest schematem aproksymacyjnym, jeli dla kadego ustalonego > 0 i instancji I, A() generuje rozwizanie przyblione FA(I) takie, e: f(I) 1 + Schemat aproksymacyjny jest wielomianowy, jeli jego czas oblicze jest wielomianem wzgldem rozmiaru n problemu. Schemat aproksymacyjny, ktrego czas oblicze jest wielomianowy zarwno pod wzgldem rozmiaru n, jak i stosunku 1/ nazywamy: cakowicie wielomianowym schematem aproksymacyjnym (Fully Polynomial-Time Approximation Scheme (FPTAS)).

Podstawy analizy algorytmw

Podstawy analizy algorytmw

Istnieje bardzo mao NP-trudnych problemw optymalizacyjnych, ktre posiadaj algorytmy tego rodzaju. Jednym z nich jest wyznaczanie minimum kolorw potrzebnych do pokolorowania wierzchokw grafu planarnego. Analogicznym problemem jest k-kolorowanie krawdziowe grafu G, gdzie celem jest przydzielenie k kolorw do krawdzi G w taki sposb, e kade dwie krawdzie o wsplnym wierzchoku maj rne kolory. Indeks chromatyczny G, oznaczany (G), jest najmniejsz liczb k, dla ktrej G jest k-kolorowalny krawdziowo.

Podstawy analizy algorytmw

Z twierdzenia Vizinga [1964] wynika, e

' (G ) +1
gdzie = (G) jest stopniem grafu G

Zatem bardzo atwo mona obliczy warto indeksu chromatycznego grafu G z dokadnoci do jednego koloru.

Podstawy analizy algorytmw

Kolorowalno grafw planarnych atwo zauway, e nastpujca procedura dziaa w czasie proporcjonalnym do iloci wierzchokw. procedure PlanarColorability(G); begin case : V = : return(0); : E = : return(1); : G jest dwudzielny : return(2); : else return(4); end end;

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

Warto rwnie zauway, e w tym przypadku, na mocy twierdzenia o 4 barwach, mamy FA(G) (G) 1, gdzie (G) jest liczb chromatyczn G.

Podstawy analizy algorytmw

Twierdzenie: Jeli P NP, to aden wielomianowy algorytm aproksymacyjny dla problemu maksymalnego zbioru niezalenego danego grafu G nie moe zagwarantowa poniszej nierwnoci: |FO(G) FA(G)| k dla adnej staej k.

Podstawy analizy algorytmw

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

Podstawy analizy algorytmw

Podstawy analizy algorytmw

Zgodnie z definicj kady z 1-absolutnie aproksymacyjnych algorytmw wspomnianych wczeniej jest 4/3- aproksymacyjny. W tej czci wykadu poznamy dwa wyjtkowo proste algorytmy grafowe, ktre s 2-aproksymacyjne. Pierwszym naszym problemem jest NP-trudne kolorowanie krawdzi.

Podstawy analizy algorytmw

Naiwne kolorowanie krawdzi procedure NaiveColor(G); begin c := 1; for kada e E do begin niech C {1, ..., c} bdzie zestawem kolorw dopuszczalnych dla e; } O() if C then pokoloruj e dowolnym kolorem z C else begin c := c + 1; pokoloruj e kolorem c end end end; }O(m) = O(n2)

Podstawy analizy algorytmw

Jeli graf G jest dany w postaci wierzchokowokrawdziowych list incydencji, to do pokolorowania krawdzi e = {vi, vj} musimy sprawdzi (deg(vi) 1) + (deg(vj) 1) < 2 kolorw na listach wierzchokw vi i vj . Zoono tego algorytmu jest zatem O(n3). NaiveColor jest algorytmem 2-aproksymacyjnym

Podstawy analizy algorytmw

Naiwne pokrycie wierzchokowe procedure NaiveCover(G); begin 1. C := ; 2. E* := E; 3. while E* do begin 4. 5. 6. end end; C := C {u, v}; usu z E* kad krawd incydentn z u lub v; }O(m) }O(m)

niech {u, v} bdzie dowoln krawdzi w E*;

Podstawy analizy algorytmw

Podstawy analizy algorytmw

Czas dziaania algorytmu wynosi O(m), o ile uyjemy waciwej struktury danych do reprezentowania E*

NaiveCover jest algorytmem 2- aproksymacyjnym

Podstawy analizy algorytmw

Podstawy analizy algorytmw

Istnieje kilkadziesit cakowicie wielomianowych schematw aproksymacyjnych dla problemw klasycznych, z ktrych najbardziej znane to: 1. Problem plecakowy O(n(logn + 1/2)) [1975], O(nlog1/ + 1/4) [1977] 2. Problem Sumy Podzbiorw (The Subset Sum) O(n + 1/3) [1977]

Podstawy analizy algorytmw

Znane s rwnie wyniki negatywne. Niech I bdzie instancj problemu i niech length(I) bdzie liczb bitw w reprezentacji I. Niech max(I) bdzie wartoci najwikszej liczby wystpujcej w I. Bez straty oglnoci, moemy zaoy, e wszystkie liczby w I s liczbami cakowitymi. Dla pewnego wielomianu p niech p bdzie podproblemem ograniczonym do tych instancji I, dla ktrych p(length(I)) max(I). Problem nazywamy silnie NPtrudnym, jeli istnieje wielomian p taki, e problem p jest NP-trudny.

Podstawy analizy algorytmw

Algorytmy
k-bezwzgldnie aproksymacyjne

Pozytywne przykady
Kolorowanie grafu planarnego (k = 1) Kolorowanie krawdzi (k = 1) Maksymalna liczba zapamitanych programw (k = 1) Minimalny stopie drzewa Steinera (k = 1) Planarny komiwojaer (k = 3/2) Szeregowanie zada niezalenych (k = 4/3) Pakowanie pudeek (k = 11/9) Suma podzbioru (k = 2) Pokrycie wierzchokowe (k = 2) Problem plecakowy Suma podzbioru

Negatywne przykady
Problem plecakowy Klika Suma podzbioru Oglny komiwojaer Programowanie cakowitoliczbowe Oglne kolorowanie grafu Klika

k-(wzgldnie) aproksymacyjne cakowicie wielomianowe schematy aproksymacyjne

Problemy silnie NP-trudne

Tabela 13.1

Podstawy analizy algorytmw

Twierdzenie: aproksymacyjny dla problemu komiwojaera speniajcy f(I) < . Dowd: Przypumy przeciwnie, e istnieje taki algorytm aproksymacyjny. Oznacza to, e istnieje algorytm wielomianowy A speniajcy f(I) k dla pewnej staej k. Zobaczymy, jak A moe by uyty do rozwizania NP-zupenego problemu CYKLU HAMILTONA w grafie. Niech G = (V, E) bdzie rozpatrywanym grafem. Budujemy dla G odpowiedni instancj I problemu komiwojaera, przyporzdkowujc V zestaw miast i definiujc odlego d(u, v) pomidzy dwoma miastami u i v poprzez przyjcie, e d(u, v) = kn, gdy {u,v}E i 1 w przeciwnym przypadku.
Jeeli P NP, to nie istnieje wielomianowy algorytm

Podstawy analizy algorytmw

Podstawy analizy algorytmw

Oczywicie, skonstruowanie I i uruchomienie A na danych I wymaga czasu wielomianowego, poniewa k jest niezalene od rozmiaru G. atwo zauway, e jeeli G ma cykl Hamiltona, to FO(I) = n, jeli za G nie ma takiego cyklu, to FO(I) > kn. Jest zatem ogromny rozziew midzy tymi wartociami. Dlatego, na mocy zaoenia dotyczcego gwarancji dla A, bdziemy mie FA(I) kn wtedy i tylko wtedy, gdy G jest hamiltonowski. Oznacza to tylko jedn moliwo - mianowicie, e FA(I) = n. Zatem hipotetyczne istnienie takiego k-aproksymacyjnego algorytmu A implikuje, e CYKL HAMILTONA jest w klasie P i, w konsekwencji, e P = NP. Prowadzi to do sprzecznoci z zaoeniem pocztkowym, ktre mwio, e P NP.

Podstawy analizy algorytmw

Najnowsze trendy w dziedzinie algorytmw dla problemw NPNP-trudnych


1. Konstruowanie algorytmw wykadniczych o zoonoci parametryzowanej. W algorytmach tego typu czas dziaania zaley nie tylko od rozmiaru danych, ale i od pewnego parametru k charakteryzujcego dane. Dla przykadu, mona zada pytanie: Jak zoono ma problem znalezienia pokrycia wierzchokowego rozmiaru k? Okazuje si, e istnieje ideowo prosty algorytm o zoonoci~O(2kn), za najlepszy algorytm ma zoono O(1,2738kn), co oznacza, e moemy bada grafy majce pokrycia rzdu kilkudziesiciu wierzchokw.

Podstawy analizy algorytmw

Najnowsze trendy w dziedzinie algorytmw dla problemw NPNP-trudnych


2. Konstruowanie aproksymacyjnych. superwielomianowych algorytmw

Na przykad, w problemie waonego pokrycia zbioru n-elementowego Cygan i in. (2009) pokazali, e dla dowolnego r > 1 istnieje algorytm (1+lnr)-aproksymacyjny dziaajcy w czasie O(2n/r). A zatem, im wiksza dokadno (mniejsze r), tym algorytm dziaa duej. Idea tego algorytmu polega na pomyle zmniejszania instancji problemu (kompresji danych) kosztem utraty dokadnoci i uruchamianiu algorytmu dokadnego na tak zmienionych danych.

Podstawy analizy algorytmw

Najnowsze trendy w dziedzinie algorytmw dla problemw NPNP-trudnych


3. Metoda mierz i zwyciaj. Innym podejciem do tworzenia algorytmw dokadnych rozwizujcych problemy NP-trudne jest prba dowodzenia, e prosty algorytm przeszukujcy przestrze rozwiza jest szybszy ni to si wydaje na pierwszy rzut oka. Spjrzmy na problem maksymalnego zbioru niezalenego. Naiwne przejrzenie wszystkich moliwych podzbiorw zbioru wierzchokw grafu o n wierzchokach wymaga czasu O(2n).

Podstawy analizy algorytmw

Najnowsze trendy w dziedzinie algorytmw dla problemw NPNP-trudnych


3. Metoda mierz i zwyciaj. Dodajc jednak pewne usprawnienia (np. mona bra do zbioru zawsze wierzchoki o stopniu nie wikszym ni 1 oraz usuwa ssiadw wierzchokw ju wybranych do zbioru), mona osign znacznie lepsze rezultaty. Stosujc metod mierz i zwyciaj staramy si mierzy rozmiar instancji problemu nie w klasyczny sposb liczb n, lecz bardziej skomplikowanym potencjaem, lepiej oddajcym trudno instancji. W ten sposb przyspieszono algorytm dla znajdowania maksymalnego zbioru niezalenego do poziomu O(20.288n), o czym ju wspominalimy wczeniej (Fomin i in. [2006]).

Podstawy analizy algorytmw

Najnowsze trendy w dziedzinie algorytmw dla problemw NPNP-trudnych


4. Redukcja do pamici wielomianowej. Jedn z technik unikania wykadniczego kosztu pamiciowego (a tym samym moliwego poprawiania zoonoci czasowej) jest zastosowanie zasady wcze i wycze. Klasycznym wynikiem jest algorytm dla problemu komiwojaera, a ostatnio takich algorytmw doczeka si problem drzewa Steinera (Nederlof [2009]).

Podstawy analizy algorytmw

Inne techniki
1. Zastosowanie technik rozrzedzania grafw. Rozrzedzanie polega na tym, e zamiast bada wejciowy graf peny, konstruujemy wielomianowo pewne pokrycie ciekowe. Nastpnie nasz algorytm dziaa na grafie rzadkim, np. skierowanym grafie 2-regularnym. Dla przykadu, Thorup i Wick [2001] pokazali, e dla dowolnego grafu mona skonstruowa w oczekiwanym czasie O(kmn1/k) struktur danych rozmiaru O(kn1+1/k), pozwalajc na obliczenie w czasie O(k) odlegoci midzy dowoln par wierzchokw z bdem aproksymacji 2k-1. Techniki rozrzedzania wprowadziy niemay zamt w dziedzinie znajdowania maksymalnego przepywu w sieci i mamy obecnie do czynienia z wieloma rnymi algorytmami optymalnymi.

Podstawy analizy algorytmw

Inne techniki
2. Dynamiczna orientacja grafw rzadkich. Orientacja grafu nieskierowanego to nadanie jego krawdziom kierunkw. Wanym problemem jest konstrukcja algorytmw utrzymujcych orientacj dla rzadkiego grafu dynamicznie zmieniajcego si w czasie, tak aby stopnie wychodzce wszystkich wierzchokw byy niewielkie. Taka struktura moe suy do reprezentowania dynamicznych grafw rzadkich, poniewa umoliwia szybkie udzielanie odpowiedzi na pytania o istnienie cieki czcej dwa wierzchoki. Na przykad istnieje algorytm, ktry bazujc na takiej strukturze, udziela odpowiedzi na pytania o istnienie takiej cieki w czasie O(n) (Diks i Sankowski [2007]).

KONIEC

You might also like