• Nie Znaleziono Wyników

Efektywność Procedur Obliczeniowych

N/A
N/A
Protected

Academic year: 2021

Share "Efektywność Procedur Obliczeniowych"

Copied!
32
0
0

Pełen tekst

(1)

Efektywność Procedur

Obliczeniowych

wykład 6

(2)

Klasy problemów (1)

Klasę P tworzą wszystkie problemy decyzyjne,

które w co najwyżej wielomianowym czasie może rozwiązać DTM.

Klasę NP tworzą wszystkie problemy decyzyjne, które w co najwyżej wielomianowym czasie może rozwiązać NDTM

P  NP

(3)

Klasy problemów (2)

Klasa P – wielomianowa

(ang. polynomial)

Klasa NP – niedeterministycznie

wielomianowa

(ang. nondeterministic polynomial)

(4)

Klasy problemów (3)

Klasa P zawiera wszystkie te 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.

(5)

Transformacja wielomianowa (1)

Transformacją wielomianową (realizowaną w czasie

wielomianowym) problemu Π2do problemu Π12  Π1) jest funkcja f:DΠ2  DΠ1 spełniająca warunki:

1. Dla każdej instancji I2DΠ2odpowiedź brzmi

„tak” wtw., gdy dla instancji

f(I2)odpowiedź również brzmi „tak”

2. Czas obliczenia funkcji f przez DTM dla każdej instancji I2DΠ2 jest ograniczony od góry

przez wielomian od N(I2)

(6)

Transformacja wielomianowa (2)

Własności transformacji wielomianowej Lemat 1 Transformacja wielomianowa jest

przechodnia, tzn. jeśli Π2Π1 i Π2Π1, to Π3Π1 Lemat 2 Jeżeli Π2Π1 i Π1P, to Π2P

Lemat 3 Jeżeli Π2Π1 i Π2P, to Π1P

Wniosek: jeżeli Π2Π1, to problem Π1jest co najmniej tak trudny jak Π2.

(7)

Klasy problemów (4)

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.

(8)

Klasy problemów (5)

Zatem, jeśli istniałby algorytm wielomianowy do rozwiązywania jakiegokolwiek problemu NP–

zupełnego, to każdy problem klasy NP (w tym również problemy NP–zupełne) mógłby być rozwiązany za pomocą algorytmu

wielomianowego.

Ponieważ jak dotąd bezskuteczne są poszukiwania algorytmu wielomianowego dla

któregokolwiek problemu NP–zupełnego, wynika pesymistyczny wniosek, że prawie na pewno wszystkie problemy NP–zupełne można rozwiązać tylko przy użyciu algorytmów

ponadwielomianowych.

(9)

Klasy problemów – wnioski (6)

1. Klasa problemów NP–zupełnych zawiera problemy równoważne wielomianowo, tzn jeśli Π1 i Π2 są NP–

zupełne 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.

(10)

Klasy problemów – resume (7)

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.

(11)

Klasy problemów (powtórka 4)

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.

trudniejszy do udowodnienia jest punkt 1 czy 2?

(12)

Dowód NP–zupełności (1)

Twierdzenie

Problem plecakowy jest NP–zupełny.

jak to zrobić?

(13)

Dowód NP–zupełności (2)

1. Pokazać, że rozwiązanie Π1 (problem

plecakowy) jest weryfikowalne w czasie wielomianowym.

2. Pokazać transformację wielomianową Π2Π1 ze znanego problemu NP–zupełnego Π2 (?) do badanego problemu Π1.

(14)

Dowód NP–zupełności (3)

Skończony zbiór elementów E={e1,e2,…,en}.

Rozmiar elementu s(ei)>0 i wartość v(ei)>0.

Pojemność plecaka b>0 i próg (opłacalności) y>0.

Czy istnieje podzbiór E’  E taki, że:

𝑠(𝑒𝑖) ≤ 𝑏

𝑒𝑖∈𝐸

𝑣(𝑒𝑖) ≥ 𝑦

𝑒𝑖∈𝐸

(15)

Dowód NP–zupełności (4)

1. Pokazać, że rozwiązanie Π1 (problem

plecakowy) jest weryfikowalne w czasie wielomianowym.

Czy v(e1)+v(e2)+…+v(ek) ≥ y ? Czy s(e1)+s(e2)+…+s(ek) ≤ b ?

(16)

Dowód NP–zupełności (5)

W jakim czasie można wykonać każdy z tych kroków?

v(e1)+v(e2)+…+v(ek) ≥ y ? s(e1)+s(e2)+…+s(ek) ≤ b ?

(17)

Dowód NP–zupełności (6)

W jakim czasie można wykonać każdy z tych kroków?

v(e1)+v(e2)+…+v(ek) ≥ y ? s(e1)+s(e2)+…+s(ek) ≤ b ?

W czasie wielomianowym.

(18)

Dowód NP–zupełności (7)

2. Pokazać transformację wielomianową Π2Π1 ze znanego problemu NP–zupełnego Π2 (?) do badanego problemu Π1.

Π2 – jaki to problem?

(19)

Dowód NP–zupełności (8)

W 1971 roku Stephen Cook opublikował pracę pt. „The complexity of theorem proving

procedures”.

Udowodnił, że problem SAT jest problemem NP–zupełnym.

Od tego momentu można stosować transformacje wielomianowe do dowodzenia NP–zupełności.

(20)

Dowód NP–zupełności (9)

Inne znane problemy NP–zupełne (6 z ~1000) 1. Problem trójspełnialności (3SAT)

2. Znajdowanie cyklu Hamiltona

3. Znajdowanie pokrycia wierzchołkowego 4. Kolorowanie grafu

5. Problem plecakowy

6. Problem podziału zbioru

(21)

Dowód NP–zupełności (10)

Ogólna procedura transformacji wielomianowej Dane problemu znanego transformujemy (musi się to odbyć w czasie wielomianowym, inaczej nie będzie to transformacja wielomianowa) w dane problemu badanego, a następnie wykonujemy program (na DTM) rozwiązujący problem badany i otrzymujemy odpowiedź tak lub nie.

(22)

Dowód NP–zupełności (11)

Problemu podziału zbioru

X={x1,…,xi,…,xn} – zbiór n elementów xiN+,

gdzie N+={1,2,…}

𝑥𝑖

𝑛𝑖=1 = 2B

Czy istnieje podzbiór X’ X takie, że 𝑥 𝑥𝑖

𝑖∈𝑋1 =B ?

(23)

Dowód NP–zupełności (12)

Związek PPZ i PP – na słonikach 

Stado słoników E zwiera m słoników w określonym wieku.

Czy można podzielić to stado na takie dwa stada b i X, że suma wieku słoników w stadzie b będzie równa

sumie wieku słoników w stadzie X?

(24)

Dowód NP–zupełności (14)

Transformacja wielomianowa z problemu PZ

v(e)= x(e) s(e)=x(e) y = 0,5Σx(e) b = 0,5Σx(e)

(25)

Dowód NP–zupełności (15)

Transformacja musi zachowywać równoważność problemów

Załóżmy, że dla PZ odpowiedź DTM jest tak.

Zatem istnieją takie e1,e2,…,ek, że 0,5 𝑘𝑖=1 𝑥𝑖

co po transformacji wg reguł…

(26)

Dowód NP–zupełności (16)

co po transformacji wg reguł:

v(e)= x(e)  s(e)=x(e) 

y = 0,5Σx(e)  b = 0,5Σx(e)

daje: v(e1)+v(e2)+…+v(ek) ≥ y s(e1)+s(e2)+…+s(ek) ≤ b

(27)

Dowód NP–zupełności (17)

daje:

v(e1)+v(e2)+…+v(ek) ≥ y s(e1)+s(e2)+…+s(ek) ≤ b

Czyli, odpowiedź dla PP będzie… (?)

(28)

Dowód NP–zupełności (18)

daje:

v(e1)+v(e2)+…+v(ek) ≥ y s(e1)+s(e2)+…+s(ek) ≤ b

Czyli, odpowiedź dla PP będzie… TAK

(29)

Dowód NP–zupełności (19)

Transformacja musi zachowywać równoważność problemów

Załóżmy, że dla PP odpowiedź DTM jest tak.

Zatem istnieją takie

v1,v2,…,vk ≥ y  s1,s2,…,sk ≤ b

Zatem, w związku z tym, że…

(30)

Dowód NP–zupełności (20)

v(e)= x(e) s(e)=x(e) y=b=0,5Σx(e)

więc 0,5 𝑘𝑖=1 𝑥𝑖 ≥ 0,5  0,5 𝑘𝑖=1 𝑥𝑖 ≤ 0,5 zatem 0,5 𝑘𝑖=1 𝑥𝑖 = 0,5

czyli, odpowiedź dla PPZ będzie brzmieć tak.

(31)

NP–trudność problemów opt.

Jeśli wersja decyzyjna problemu

optymalizacyjnego jest NP–zupełna, to taki problem optymalizacyjny jest NP–trudny.

(32)

I…

…na tym koniec na dzisiaj 

Cytaty

Powiązane dokumenty

[r]

Je±li pewna pochodna funkcji zeruje si¦ na pewnym przedziale, to wszystkie jej pochodne wy»szych rz¦dów równie» s¡ stale równe zero na tym przedziale... St¡d wynika, »e R

Nie można mówić, że dla problemu NP-zupełnego najprawdopodobniej nie zostanie znaleziony wielomianowy algorytm rozwiązujący.. Następny slajd

Temat: Równania reakcji chemicznych – powtórzenie wiadomości.. Cel: Utrwalenie uzgadniania i interpretowania równań

Chcę mieć z Wami stały kontakt (do 18.00), a niektórzy nie odezwali się jeszcze do mnie ani razu... Karta pracy nr 7: Twierdzenie Pitagorasa – pola i

Teoria złożoności obliczeniowej odnosi się bezpośrednio do problemów decyzyjnych, a pośrednio do problemów optymalizacyjnych.. Rodzaje i podział

Jedno-, wielotaśmowa MT oraz maszyna RAM są równoważne w przypadku, jeśli dany problem jest rozwiązywany przez jeden model w czasie ograniczonym od góry

Jedno-, wielotaśmowa MT oraz maszyna RAM są równoważne w przypadku, jeśli dany problem jest rozwiązywany przez jeden model w czasie ograniczonym od góry