Algorytmika Problemów Trudnych
Wykªad 11 Tomasz Krawczyk
krawczyk@tcs.uj.edu.pl
Kraków, semestr letni 2020/21
plan wykªadu
I Programowanie Liniowe.
I Nierówno±ci Chernoa.
I Rutowanie pakietów w sieciach.
I Wa»ony SAT.
Programowanie Liniowe
Zadanie Programowania Liniowego deniujemy nast¦puj¡co:
zminimalizuj: P
n j=1c
jx
jprzy warunkach: P
nj=1a
ijx
j≥ b
ii = 1, . . . , m
x
j≥ 0 j = 1, . . . , n.
nierówno±¢ Chernoa dla sumy prób Poissona
Twierdzenie
Niech X
1, . . . , X
nb¦d¡ niezale»nymi próbami Poissona takimi, »e P(X
i= 1) = p
i. Niech X = P
ni=1X
ii niech µ = E[X ]. Wtedy, prawdziwe s¡ nast¦puj¡ce nierówno±ci
(1) dla dowolnego δ > 0
P(X ≥ (1 + δ)µ) 6
e
δ( 1 + δ)
(1+δ) µ,
(2) dla 0 < δ 6 1
P(X ≥ (1 + δ)µ) 6 e
−µδ2/3, (3) dla R ≥ 6µ
P(X ≥ R) 6 2
−R.
Nierówno±ci te zwane s¡ nierówno±ciami Chernoa dla prób Poissona.
nierówno±¢ Chernoa dla sumy prób Poissona
Twierdzenie
Niech X
1, . . . , X
nb¦d¡ niezale»nymi próbami Poissona takimi, »e P(X
i= 1) = p
i. Niech X = P
ni=1X
ii niech µ = E[X ]. Wtedy, dla 0 < δ 6 1 prawdziwe s¡
nast¦puj¡ce nierówno±ci:
(4)
P(X 6 (1 − δ)µ) 6
e
−δ( 1 − δ)
(1−δ) µ,
(5)
P(X 6 (1 − δ)µ) 6 e
−µδ2/2. Nierówno±ci te zwane s¡ nierówno±ciami Chernoa dla prób Poissona.
Wniosek: Dla 0 < δ < 1 mamy
P(|X − µ| ≥ δµ) 6 2e
−µδ2/3.
LP-rounding - schemat
Schemat algorytmów probabilistycznych opartych na (losowym) zaokr¡glaniu rozwi¡za« LP:
I Wyra¹ problem za pomoc¡ problemu programowania liniowego, caªkowitoliczbowego (zazwyczaj NPC).
I Rozwi¡» problem wielomianowo dopuszczaj¡c rozwi¡zania b¦d¡ce liczbami rzeczywistymi (wielomianowo).
I Zaokr¡glij (losowo) rozwi¡zanie rzeczywiste do rozwi¡zania
caªkowitoliczbowego i udowodnij, »e nie jest du»o gorsze od
optymalnego.
rutowanie - minimalizacja przeci¡»enia
I D = (V , E) - graf skierowany, {(s i , t i ) : i = 1, . . . , k} - zbiór par wierzchoªków.
I Naszym celem jest wybranie ±cie»ki p i z s i do t i dla ka»dej pary (s i , t i ) tak, aby zminimalizowa¢ warto±¢ przeci¡»enia
congestion(e) = |i : e ∈ p i |
po wszystkich kraw¦dziach sieci. cie»k¦ p i wybieramy ze zbioru danych na wej±ciu ±cie»ek dopuszczalnych P i .
I Przyjmujemy P = S k i=1 P i .
randomized LP-rounding - programowanie caªkowitoliczbowe
Równowa»ny problem programowania caªkowitoliczbowego.
Warunki:
I f
p∈ {0, 1} - dla ka»dej ±cie»ki p ∈ P
izmienna f
poznacza, czy pakiety z s
ido t
iprzesyªamy wzdªu» ±cie»ki p,
I z ka»dego P
iwybieramy dokªadnie jedn¡ ±cie»k¦:
X
p∈Pi
f
p= 1 dla ka»dego i = 1, . . . , k.
I warto±¢ przeci¡»enia dla ka»dej kraw¦dzi e jest ograniczona przez C:
X
wszystkie ±cie»ki p zawieraj¡ce e
f
p6 C dla ka»dej kraw¦dzi e.
Minimalizujemy:
I C.
Przez OPT oznaczamy optymalne rozwi¡zanie powy»szego programowania
caªkowitoliczbowego.
randomized LP-rounding - relaksacja problemu
Zezwalamy, aby zmienne f p przyjmowaªy warto±ci z przedziaªu [0, 1]. W wyniku powy»szej relaksacji otrzymujemy problem programowania liniowego.
Warunki:
I f p ∈ [ 0, 1] dla ka»dej ±cie»ki p,
I P
p∈P
if p = 1 dla ka»dego i = 1, . . . , k,
I P
p∈P:e∈p f p 6 C dla ka»dej kraw¦dzi e.
Funkcja celu:
I minimalizacja C.
Rozwi¡zanie programowania liniowego: C ∗ , f p ∗ . Oczywi±cie
C ∗ 6 OPT .
randomized rounding
Interpretujemy zmienne f p ∗ dla p ∈ P i jako rozkªad prawdopodobie«stwa wyboru ±cie»ki z s i do t i .
Wybieramy losowo ±cie»k¦ p i zgodnie z rozkªadem f p ∗ dla p ∈ P i , dla i = 1, . . . , k.
Chcemy wykaza¢, »e z du»ym prawdopodobie«stwem warto±¢
max e∈E | X e | , gdzie
X e = liczba wybranych ±cie»ek z kraw¦dzi¡ e
jest nie wiele wi¦ksze od C ∗ (a wi¦c tak»e od OPT ).
randomized rounding: analiza
Ustalmy kraw¦d¹ e i rozwa»my zmienn¡ losow¡ X e . Dla ka»dego i = 1, . . . , k deniujemy zmienn¡ losow¡ Y i
zdeniowan¡ nast¦puj¡co:
Y i =
1 wybrana z P i ±cie»ka przechodzi przez e, 0 w przeciwnym przypadku.
Wtedy:
E(Y i ) = X
p∈P
i: e∈p
f p ∗ i ostatecznie
E[X e ] = E[ X k
i=1
Y i ] = X
e∈p
f p ∗ 6 C ∗ 6 OPT .
nierówno±¢ Chernoa raz jeszcze
Twierdzenie
Niech X = P n i=1 X i , gdzie X i jest niezale»n¡ zmienn¡ losow¡
zero-jedynkow¡. Niech µ = E[X ]. Niech µ H b¦dzie takie, »e µ 6 µ H . Wtedy, dla dowolnego δ > 0,
P(X ≥ (1 + δ)µ H ) 6
e δ
(1 + δ) ( 1+δ)
µ
H.
randomized rounding: analiza
Z nierówno±ci Chernoa mamy:
P(X e ≥ ( 1 + δ)OPT ) 6
e δ
( 1 + δ) ( 1+δ)
OPT
.
Sieci z maksymalnym przeci¡»eniem OPT = ω(log n).
Oznacza to, »e dla ka»dego q > 0 istnieje n
0takie, »e dla ka»dej instancji wej±ciowej rozmiaru n koszt optymalny wynosi co najmniej q · log n.
Ustalmy δ > 0. Dobierzmy q tak, aby (
(1+δ)eδ(1+δ))
q=
12. Je»eli
OPT > 3 · q · log n (tak jest dla odpowiednio du»ych n), to prawa strona
powy»szej nierówno±ci b¦dzie mniejsza od n
−3. St¡d, maksymalne przeci¡»enie
po wszystkich kraw¦dziach odchyla si¦ od OPT o wi¦cej ni» (1 + δ)OPT z
prawdopodobie«stwem nie wi¦kszym ni» 1/n (sumujemy bª¦dy po wszystkich
n
2mo»liwych kraw¦dziach w sieci).
randomized rounding: analiza
Z nierówno±ci Chernoa mamy:
P(X
e≥ (1 + δ)OPT ) 6 e
δ( 1 + δ)
(1+δ) OPT. Rozwa»my sieci z dowolnym przeci¡»eniem. Mamy wówczas:
P(X
e≥ (1 + δ)OPT ) 6 e
δ(1 + δ)
(1+δ)6
e
( 1 + δ)
(1+δ).
Skorzystamy z faktu, »e rozwi¡zaniem równania x
x= n jest x =
log log ncnlog n= γ( n) dla pewnego c
n∈ [1, 2].
e
( 1 + δ)
(1+δ)=
e 1 + δ
(1+δe )·e=
1 γ( n)
γ(n)·e= 1 n
e,
gdzie γ(n) =
log log nc log n=
(1+δ)e. A zatem, z prawdopodobie«stwem przynajmniej (1 −
n0.721) nasz algorytm zwróci rozwi¡zanie ze wspóªczynnikiem aproksymacji ( 1 + δ) = O
log n log log n
.
rozwi¡zanie x x = n
Mamy równo±¢:
x
x= n.
Logarytmuj¡c dwukrotnie stronami otrzymujemy:
x log x = log n (1) oraz log x + log log x = log log n (2).
Dziel¡c (1) przez nierówno±¢ 2 log x ≥ log log n otrzymujemy x 6
log log n2 log n. Mno»¡c (2) przez x otrzymujemy x log x + x log log x = x log log n, co jest równowa»ne:
log n = x(log log n − log log x) 6 x · log log n,
co implikuje x ≥
log log nlog n.
wa»ony sat
Denicja problemu:
I Φ zbiór m klauzul nad zmiennymi x 1 , . . . , x n , ka»da jest alternatyw¡ i-literaªów (i = 1, 2, 3, . . .),
I w i waga i-tej klauzuli,
I chcemy znale¹¢ warto±ciowanie, które speªni klauzule o najwi¦kszej sumarycznej wadze.
Poka»emy algorytm probabilistyczny, który w oczekiwaniu speªni klauzule o sumarycznej wadze co najmniej 3 4 OPT .
Proste, je»eli ka»da klauzula ma co najmniej dwa literaªy!
problem równowa»ny
Szukamy:
I x i ∈ { 0, 1} wartosciowanie literaªu,
I z i ∈ { 0, 1} warto±ciowanie i-tej klauzuli, je»eli:
I
P(i) - zbiór niezanegowanych literaªów i-tej klauzuli,
I
N(i) - zbiór zanegowanych literaªów i-tej klauzuli, to z i musi speªnia¢ równanie:
z i 6 ( X
j∈P(i)
x j ) + X
j∈N(i)
( 1 − x j ).
I chcemy zmaksymalizowa¢ P m i=1 w i z i .
Dla przykªadu: dla klauzuli z i ≡ ( x 1 ∨ x 2 ∨ x 3 ∨ ¬ x 4 ∨ ¬ x 5 ) dostajemy równanie
z i 6 x 1 + x 2 + x 3 + (1 − x 4 ) + (1 − x 5 ).
relaksacja problemu: programowanie liniowe
Maksymalizujemy:
I P m
i=1 w i z i przy warunkach:
I x i ∈ [ 0, 1], z i ∈ [ 0, 1],
I dla ka»dej klauzuli:
z i 6 ( X
j∈P(i)
x j ) + X
j∈N(i)
( 1 − x j ).
Rozwi¡zanie LP: x i ∗ , z i ∗ . Oczywi±cie y ∗ = P m
i=1 w i z i ∗ jest
ograniczeniem górnym na OPT .
algorytm
Algorytm 1:
Z prawdopodobie«stwem x i ∗ ustaw x i = 1; w.p.p. ustaw x i = 0.
pojedyncza klauzula
i ta klauzula: z i ≡ ( x 1 ∨ x 2 ∨ x 3 ∨ ¬ x 4 ∨ ¬ x 5 ) ,
Mamy równanie: z i ∗ 6 x 1 ∗ + x 2 ∗ + x 3 ∗ + ( 1 − x 4 ∗ ) + ( 1 − x 5 ∗ ) = z (mo»e by¢ nierówno±¢, gdy suma > 1).
Prawdopodobie«stwo, »e klauzula z i nie jest speªniona:
P(z i nie jest speªniona ) = (1 − x 1 ∗ )( 1 − x 2 ∗ )( 1 − x 3 ∗ )( x 4 ∗ )( x 5 ∗ ) 6 (1 − z 5 )(1 − z 5 ) . . . (1 − z 5 )
= ( 1 − z 5 ) 5 6 (1 − z
i∗