• Nie Znaleziono Wyników

1.3 Problem zbioru niezale»nego

N/A
N/A
Protected

Academic year: 2021

Share "1.3 Problem zbioru niezale»nego"

Copied!
7
0
0

Pełen tekst

(1)

1 Problemy niepodatne

W ostatnim rozdziale omówimy dwie podstawowe klasy czasowej zªo»ono±ci obliczeniowej P oraz NP i sformuªujemy jeden z siedmiu problemów mileni- jnych.

1.1 Sprowadzalno±¢ problemu ±cie»ki Hamiltona do prob- lemu speªnialno±ci

Dla digrafu G=(V,E) o n wierzchoªkach ponumerowanych kolejnymi liczbami naturalnymi ze zbioru {1, . . . , n} zdeniujemy wyra»enie logiczne (funkcj¦

zdaniow¡) fG o n2 zmiennych xij, którym nadamy warto±¢ logiczn¡ 1 wtw, gdy j-ty wierzchoªek wyst¦puje na i-tej pozycji ±cie»ki Hamiltona.

Wtedy dla ka»dego digrafu G, G ma ±cie»k¦ Hamiltona wtw, gdy wyra»e- nie fG jest speªnialne.

fG jest koniunkcj¡ wyra»e« logicznych stwierdzaj¡cych:

1. Ka»dy wierzchoªek j musi si¦ pojawi¢ na ±cie»ce: (x1j∨ x2j∨ . . . ∨ xnj), ale co najwy»ej raz: (¬xkj ∨ ¬xij)dla wszystkich k 6= i;

2. Jaki± wierzchoªek musi by¢ na i-tej pozycji: (xi1∨ xi2∨ . . . xin), ale nie dwa: (¬xik∨ ¬xij) dla wszystkich k 6= j;

3. Kolejne wierzchoªki musz¡ by¢ poª¡czone kraw¦dzi¡: dla ka»dej pary (j, i) 6∈ E oraz k ∈ {1, . . . , n − 1} : (¬xkj ∨ ¬xk+1i);

Procedura sprowadzania musi speªnia¢ dodatkowe w-ki. Najogólniej, proces sprowadzania nie mo»e by¢ trudniejszy ni» sam problem.

Zakªada¢ b¦dziemy, »e j¦zyki s¡ rekurencyjne; w zwi¡zku z tym maszyny Turinga b¦d¡ zawsze si¦ zatrzymywa¢ i do odró»nienia sªów akceptowanych od odrzucanych wykorzystamy stany MT.

1.2 Redukcje

Funkcja R : X? −→ X? jest obliczalna przez deterministyczn¡ MT M w pami¦ci logarytmicznej o ile

1. M jest wielota±mowa,

2. ma dwie wyró»nione ta±my: wej±ciow¡ i wyj±ciow¡,

(2)

3. sªowo pojawiaj¡ce si¦ na ka»dej z pozostaªych ta±m (zwanych roboczymi) w czasie oblicze« M na sªowie x dªugo±ci n jest dªugo±ci O(log n).

Niech L,L' b¦d¡ j¦zykami nad ustalonym alfabetem X.

Denicja 1.1 Redukcj¡ j¦zyka L do L' nazywamy funkcj¦ R : X? −→ X?, która jest obliczalna przez deterministyczn¡ MT w pami¦ci logarytmicznej i sprowadzaj¡c¡ L do L':

x∈X? x ∈ L ←→ R(x) ∈ L0 Niech C b¦dzie klas¡ zªo»ono±ci.

Denicja 1.2 J¦zyk L ∈ C jest zupeªny dla C, je±li dla ka»dego L0 ∈ C istnieje redukcja L' do L.

Obecnie zajmiemy si¦ dwiema klasami zª»ono±ci: P jest klas¡ wszyskich j¦zyków rozpoznawanych przez deterministyczne maszyny Turinga w cza- sie wielomianowym; NP jest klas¡ wszyskich j¦zyków rozpoznawanych przez maszyny Turinga w czasie wielomianowym.

Twierdzenie 1.3 Niech M b¦dzie maszyn¡ Turinga, która jest determin- istyczna i operuje pami¦ci¡ O(log n). Wtedy M ma wielomianow¡ czasow¡

zªo»ono±¢ obliczeniow¡.

Twierdzenie 1.4 ( COOK (1971)) J¦zyk SAT wyra»e« logicznych, które s¡ speªnialne jest zupeªny w klasie NP.

‚wiczenie Wyka», »e SAT ∈ NP.

Dowód polega na zbudowaniu w pami¦ci logarytmicznej dla dowolnej MT M, operuj¡cej wej±ciowym alfabetem X , o wielomianowej czasowej zªo»ono±ci obliczeniowej, oraz dowolnego sªowa x ∈ X?wyra»enia logicznego R(x), które jest speªnialne wtw, gdy x jest akceptowane przez M.

Zaªó»my, »e maszyna M maj¡c na wej±ciu sªowo x wykonuje co najwy»ej

|x|k ruchów przed zaakceptowaniem lub odrzuceniem sªowa.

Poniewa» M jest lewostronnie ograniczona, aby prze±ledzi¢ dziaªanie M na x wystarczy obserwowa¢ tablic¦ T |x|k na |x|k, gdzie wiersze odpowiada¢

b¦d¡ ta±mie M w kolejnych krokach oblicze«: T(i,j) reprezentuje j-t¡ pozycj¦

na ta±mie w i-tym kroku oblicze«. Nale»y te» uwzgl¦dni¢ stany M, wi¦c elementy T nie b¦d¡ tylko literami ale równie» trójkami (stan, litera, numer- nastepnej-instrukcji). Je»li stan jest ko«cowym, b¦dzie nas tylko interesowa¢, czy jest akceptuj¡cy.

Formalnie:

(3)

• Γ oznacza zbiór symboli mog¡cych pojawi¢ si¦ w tablicy.

• q oznacza maksymaln¡ ilo±¢ instrukcji, które M mo»e wykona¢ w ka»dej konguracji; zakªadamy »e denicja M obejmuje numerowanie kole- jnymi liczbami naturalnymi wszystkich instrukcji dotycz¡cych danej konguracji (stan, litera).

• Obliczenia zatrzymuj¡ si¦ dokªadnie w |x|k− 1 krokach, czyli wiersz o numerze |x|k− 1odpowiada konguracji ko«cowej.

Je»li w wierszu |x|k − 1 pojawia si¦ konguracja akceptujaca, to tablic¦ T nazywamy akceptuj¡c¡.

Oczywi±cie, sªowo x jest akceptowane przez M wtw, gdy istnieje akceptu- j¡ca tablica oblicze« M na x.

Podobnie jak dla problemu ±cie»ki Hamiltona, skonstruujemy wyra»enie logiczne, koduj¡ce wszystkie tablice oblicze« M na x, które jest speªnialne dokªadnie, gdy jedna z nich jest akceptuj¡ca. Wprowadzamy zmienne TijY, gdzie i, j ∈ {0, 1, . . . , |x|k− 1}, Y ∈ Γ. R(x) wyra»a:

1. dla ka»dych i,j prawdziwa jest dokªadnie jedna zmienna TijY;

^

i,j

_

Y

(TijY ∧ ^

Z6=Y

(¬TijY ∨ ¬TijZ))

2. zbiór {T0jY} opisuje konguracj¦ pocz¡tkow¡ M z x na wej±ciu; Niech x = a1a2...an, czyli n = |x|

(a) T00B

(b) T01Y1∨ . . . ∨ T01Yq, gdzie Yi odpowiada za wybór kolejnej instrukcji i 6 q

(c) V26i6nT0iai (d) Vn<i<nk−1T0iB

3. zbiór {TijY} dla i = |x|k− 1opisuje konguracj¦ ko«cow¡;

_

0<j6nk−1

(_

Z∈F

Tnk−1jZ)

gdzie F jest zbiorem stanów ko«cowy akceptuj¡cych.

(4)

4. zbiór {Ti+1jY}powstaje z {TijY}przez wykonanie instrukcji M; element (i+1,j) w tablicy oblicze« jest jednoznacznie okre±lony przez elementy (i,j-1), (i,j), (i,j+1). Mo»na zdeniowa¢ predykat f(V,X,Y,Z), który mówi, »e Z jest na pozycji j, o ile w poprzednim kroku oblicze« V, X, Y byªy na pozycjach j-1, j, j+1.

^

0<i<nk−1

^

0<j<nk−1

( _

f (V,X,Y,Z)

Tij−1V ∧ TijX ∧ Tij+1Y ∧ Ti+1jZ)

Udowodnij, »e wygenerowanie wyra»enia R(x) mo»na przeprowadzi¢

w pami¦ci logarytmicznej.

Denicja 1.5 Wyra»enie logiczne jest w postaci normalnej koniunkcyjnej PNK, je»li jest koniunkcj¡ alternatyw zmiennych lub ich zaprzecze«.

Symbolem PNK oznaczymy zbiór wszystkich takich wyra»e«, SAT-PNK oznacza zbiór wszystkich wyra»e« w PNK, które s¡ speªnialne.

UWAGA Nie wszystkie wyra»enia logiczne rozwa»ane wcze±niej byªy koniunkcjami alternatyw zmiennych zdaniowych lub ich zaprzecze«, chocia»

ªatwo je zast¡pi¢ równowa»nymi w tej postaci.

W istocie mo»na udowodni¢

Twierdzenie 1.6 J¦zyk SAT-PNK jest NP-zupeªny.

Na zako«czenie przedstawimy trzy NP-zupeªne problemy grafowe.

W tym celu rozwa»ymy j¦zyk SAT-3PNK speªnialnych wyra»e« w PNK, w której ka»da alternatywa ma co najwy»ej trzy elementy.

Zadanie Rozwa»my wyra»enie logiczne f(x) = x1∨ x2∨ . . . ∨ xm, gdzie m > 3oraz g(x, y) = (x1∨x2∨y1)∧(¬y1∨x3∨y2)∧. . .∧(¬ym−3∨xm−1∨xm). Wyka», »e Ka»de warto±ciowania zmiennych x, dla których f staje si¦ zdaniem prawdziwym, wyznacza warto±ciowanie zmiennych x, y, dla których g staje si¦ zdaniem prawdziwym oraz ka»de warto±cowanie x, y, przy którym g staje si¦ prawdziwe, jest te» warto±ciowaniem przy którym f staje si¦ prawdziwe.

Twierdzenie 1.7 J¦zyk SAT-3PNK jest NP-zupeªny.

Dowód twierdzenia opiera si¦ o powy»sze zadanie, które daje redukcj¦

problemu SAT-PNK do SAT-3PNK i nast¦puj¡cy

(5)

Lemat 1.8 Je»eli R jest redukcj¡ j¦zyka L1 do L2, a R0 redukcj¡ L2 do L3, to R0◦ R jest redukcj¡ L1 do L3.

Dowód Poniewa» R, R0 s¡ redukcjami otrzymujemy od razu, »e x ∈ L1 wtw, gdy R0(R(x)) ∈ L3. Istotne jest, czy obliczanie R0(R(x))mo»na przeprowadzi¢

w pami¦ci logarytmicznej. Niech MR, MR0 b¦d¡ maszynami Turinga, które obliczaj¡ R i R0 odpowiednio, w pami¦ci logarytmicznej. M konstruujemy nast¦puj¡co: skªadamy obie maszyny w jedn¡ trakuj¡c ta±m¦ wej±ciow¡ MR jako wej±ciow¡ M, a ta±m¦ wyj±ciow¡ MR0 jako wyj±ciow¡ M. Wtedy ta±ma wyj±ciowa MR nie mo»e by¢ ta±m¡ robocz¡ M, bo na niej mog¡ si¦ pojawia¢

zbyt dªugie sªowa. Nale»y zamiast niej u»y¢ ta±my, na której generowane b¦d¡ numery liter wyj±cia MR potrzebne do symulowania instrukcji MR0. Nale»y zbudowa¢ M, która:

1. maj¡c na wej±ciu x i na tej ta±mie i symuluje obliczenia MR aby wyp- isa¢ i-t¡ liter¦ R(x),

2. potem wykonuje jedn¡ instrukcj¦ MR0.

Wniosek 1.9 Niech j¦zyk L ∈ NP b¦dzie NP -zupeªny. Je±li istnieje re- dukcja j¦zyka L do j¦zyka L0 ∈ N P, to L0 jest NP - zupeªny.

1.3 Problem zbioru niezale»nego

Niech G=(V,E) b¦dzie grafem. Zbiór wierzchoªków I nazywamy nieza- le»nym, je±li »adne dwa wierzchoªki z I nie s¡ poª¡czone kraw¦dzi¡. Oczy- wi±cie ka»dy graf ma zbiór niezale»ny!

Problem ZN Dla grafu G=(V,E) i k ∈ N rozstrzygn¡¢, czy G ma zbiór niezale»ny mocy k.

Twierdzenie 1.10 Problem zbioru niezale»nego jest NP-zupeªny.

Dowód Sprowadzenie j¦zyka SAT-3PNK do problemu ZN.

Idea: wyra»eniu α = V16i6mi1 ∨ αi2 ∨ αi3) przyporz¡dkujemy graf o 3m wierzchoªkach, który posiada zbiór niezale»ny mocy m wtw, gdy wyra»enie α jest speªnialne. Wprowadzamy wierzchoªki αij, 1 6 i 6 m, 1 6 j 6 3, kraw¦dziami ª¡czymy te, które nale»¡ do jednego elementu koniunkcji oraz te, które odpowiadaj¡ zmiennej i jej zaprzeczeniu (patrz rysunek!).

Je±li wyra»enie α jest speªnialne, to przy pewnym warto±ciowaniu zmi- ennych w nim wystepuj¡cych, ka»da z koniunkcji ma warto±¢ 1, a pewien

(6)

@

x2 @x3 x1

@

¬x2 @¬x3

¬x1

@

x2 @x3

¬x1

 

  & %

Rysunek 1: (x1∨ x2∨ x3) ∧ (¬x1∨ ¬x2∨ ¬x3) ∧ (¬x1∨ x2∨ x3)

skªadnik ka»dej z alternatyw równie» ma warto±¢ 1. Do zbioru niezale»nego wybieramy po jednym takim skªadniku. Odwrotnie, ka»dy zbiór niezale»ny wyznacza takie warto±ciowanie, »e dokªadnie jeden skªadnik ka»dej z alter- natyw ma warto±¢ 1.

1.4 Przykªad dwóch pokrewnych problemów NP-zupeª- nych

Problem kliki: Dla grafu G i k ∈ N rozstrzygn¡¢, czy istnieje peªny pod- graf G o k wierzchoªkach.

Problem pokrycia wierzchoªkowego: Dla grafu G i k ∈ N rozstrzygn¡¢, czy istnieje k-elementowy zbiór B wierzchoªków taki, »e ka»da kraw¦d» w G jest koincydentna przynajmniej z jednym wierzchoªkiem z B.

Šatwo sprowadzi¢ problem zbioru niezale»nego, do ka»dego z tych prob- lemów.

Zbiór K ⊆ V grafu G=(V,E) jest klik¡ wtw, gdy jest zbiorem niezale»nym grafu G=(V,E'), gdzie {i, j} ∈ E0 ←→ {i, j} 6∈ E.

Zbiór K ⊆ V grafu G=(V,E) jest pokryciem wierzchoªkowym wtw, gdy zbiór V-K jest niezale»ny.

1.5 Problem P=NP

Problem P=NP jest jednym z siedmiu wielkich problemów milenijnych. Prob- lemy te zostaªy sformuªowane w czasie sesji Clay Mathematical Institute w College de France w Pary»u w maju 2000 r przez znanych uczonych J.Tate i M.Atyiaha. Za rozwi¡zanie ka»dego z tych problemów jest wyznaczona na- groda w wysoko±ci 1 miliona dolarów. Cho¢ dominuje prze±wiadczenie, »e nie jest prawd¡, i» P=NP (prównaj Hopcroft, Ullman str. 419-423) nie brak

(7)

te» prób udowodnienia tej równo±ci. Standardowo poszukuje si¦ algorytmów deterministycznych o wielomianowej zªo»ono±ci czasowej dla problemów NP- zupeªnych.

A wi¦c do dzieªa!

Mam nadziej¦, »e nagroda miliona dolarów jest wystarczaj¡c¡ zach¦t¡, cho¢ i wzgl¦dy praktyczne s¡ równie wa»ne, gdy» lista problemów NP-zupeªnych jest bardzo dªuga i zawiera mnóstwo praktycznych (dla informatyków) prob- lemów. Wystarczy tu wspomnie¢ o problemie caªkowitoliczbowego programowa- nia liniowego czy problemie komiwoja»era.

Cytaty

Powiązane dokumenty

[r]

Oblicz wy- soko±¢ i promie« podstawy tego walca, którego obj¦to±¢ jest najwi¦ksza6. Rozpatrujemy wszystkie sto»ki, których przekrojem osiowym jest trójk¡t o

Warto´ s´ c oczekiwana zmiennej losowej X = liczba E(X) b¸ed¸ aca ´srednia wa˙zon¸ a rozk ladu prawdopodobie´ nstwa przy za lo˙zeniu, ˙ze wag¸ a jest prawdopodobie´ nstwo

Zadania ze statystyki matematycznej (Statystyka B) Rok akad... nazywamy ´srednim pr´obkowym

Rozwi¡zanie: We wszystkich punktach x, dla których log |x| ̸= 0 (czyli x ̸= ±1) funkcja jest ró»niczkowalna, jako

[r]

oznaczaj¡c¡ liczb¦ klientów sklepu

oka», »e je»eli samolot wyl¡duje przed punktem P , to zatrzyma si¦.. przed ko«cem