• Nie Znaleziono Wyników

Algorytmika Problemów Trudnych Wykªad 12

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmika Problemów Trudnych Wykªad 12"

Copied!
26
0
0

Pełen tekst

(1)

Tomasz Krawczyk

krawczyk@tcs.uj.edu.pl

Kraków, semestr letni 2019/20

(2)

Wykorzystanie Liniowego Programowania w Aproksymacji:

I Odcinanie Parametryczne: Problem szeregowania zada«.

I Schemat prymalno-dualny: Minimalny zbiór rozcyklaj¡cy.

(3)

Szeregowanie Zada« na Maszynach Niejednorodnych:

Wej±cie: Dany jest zbiór zada« J, zbiór maszyn M oraz dla ka»dego j ∈ J, i ∈ M liczba p

ij

okre±laj¡ca czas wykonania zadania j na maszynie m.

Wyj±cie: Przypisanie zada« do maszyn minimalizuj¡cy czas wykonania zada« na wszystkich maszynach.

Oznaczenia:

I n  liczba zada«, I m  liczba maszyn,

I OPT  optymalny koszt wykonania wszystkich zada«.

(4)

Problem Szeregowania Zada« na Maszynach Niejednorodnych mo»emy wyrazi¢ za pomoc¡ Programowania Caªkowitoliczbowego nast¦puj¡co:

zminimalizuj: k przy warunkach: P

n

j=1

p

ij

x

ij

6 k dla ka»dej maszyny i ∈ [m]

P

m

i=1

x

ij

= 1 dla ka»dego zadania j ∈ [n]

x

ij

∈ {0, 1} i ∈ [m], j ∈ [n].

Interpretacja:

I x

ij

= 1 wtw, gdy zadanie i jest wykonywane na maszynie j.

(5)

Relaksacja PLC wygl¡da nast¦puj¡co:

zminimalizuj: k przy warunkach: P

n

j=1

p

ij

x

ij

6 k dla ka»dej maszyny i ∈ [m]

P

m

i=1

x

ij

≥ 1 dla ka»dego zadania j ∈ [n]

x

ij

≥ 0 i ∈ [m], j ∈ [n].

(6)

Idea:

I do±¢ ªatwo jest zaprojektowa¢ (wykorzystuj¡c Programowanie Liniowe) algorytm zwracaj¡cy rozwi¡zanie o koszcie

OPT + max{p

ij

, i ∈ [n], j ∈ [m]},

I Drugi skªadnik sumy mo»e by¢ dowolnie du»y wzgl¦dem OPT , co nie gwarantuje »adnego wspóªczynnika aproksymacji.

I Odcinanie Parametryczne: odci¦cie du»ych p

ij

, które i tak nie b¦d¡

wykorzystywane w rozwi¡zaniu.

(7)

I Ustalmy parametr T .

I Niech S

T

= {(i, j) ∈ [m] × [n] : p

ij

6 T }.

I Parametr T jest dopuszczalny je»eli zbiór nierówno±ci LP(T ):

P

j:(i,j)∈ST

p

ij

x

ij

6 T dla ka»dej maszyny i ∈ [m], P

i:(i,j)∈ST

x

ij

≥ 1 dla ka»dego zadania j ∈ [n], x

ij

≥ 0 ( i, j) ∈ S

T

.

posiada rozwi¡zanie, tzn. zmiennym x

ij

: (i, j) ∈ S

T

mo»na nada¢

dodatnie warto±ci tak, by speªni¢ wszystkie nierówno±ci LP(T ).

(8)

Przyjmijmy:

I T

 warto±¢ najmniejszego parametru dopuszczalnego, Fakty:

I istnieje algorytm wielomianowy, który dla parametru dopuszczalnego T konstruuje rozwi¡zanie o koszcie 6 2T ,

I T

6 OPT .

(9)

Algorytm (Szeregowanie Zada« na Maszynach Jednorodnych):

I stosuj¡c wyszukiwanie binarne, znajd¹ warto±¢ najmniejszego parametru dopuszczalnego T

,

I skonstruuj w czasie wielomianowym rozwi¡zanie o koszcie 2T

.

Poniewa» T

6 OPT , powy»szy algorytm jest algorytmem 2-aproksymacyjnym.

(10)

Lemat

T

6 OPT .

Dowód:

I Zauwa»my, »e OPT jest parametrem dopuszczalnym. Rzeczywi±cie, maj¡c rozwi¡zanie o koszcie OPT , warto±ciowanie

x

ij

=

 1 je»eli zadanie i jest wykonywane na maszynie j 0 w p.p.

speªnia ukªad nierówno±ci LP(OPT ).

(11)

I Ustalmy parametr dopuszczalny T .

I Skonstruujemy w czasie wielomianowym rozwi¡zanie o koszcie 2T .

(12)

P

j:(i,j)∈ST

p

ij

x

ij

6 T dla ka»dej maszyny i ∈ [m], P

i:(i,j)∈ST

x

ij

≥ 1 dla ka»dego zadania j ∈ [n], x

ij

≥ 0 (i, j) ∈ S

T

.

I Zbiór rozwi¡za« dopuszczalnych LP(T ) deniuje wielo±cian wypukªy w R

r

.

I Rozwa»my rozwi¡zanie ektremalne x

= ( x

ij

: ( i, j) ∈ S

T

) zbioru nierówno±ci LP(T ) (rozwi¡zanie ekstremalne LP(T ) to rozwi¡zanie nie b¦d¡ce kombinacj¡ liniow¡ innych rozwi¡za« LP(T )).

I Dla rozwi¡zania ekstremalnego x

, r nierówno±ci LPT (T ) staje si¦

równo±ciami.

I W konsekwencji, w rozwi¡zaniu ekstremalnym r − (n + m) zmiennych x

ij

jest ustawione na 0, a n + m zmiennych x

ij

ma warto±¢ wi¦ksz¡ od 0.

(13)

Ustalmy rozwi¡zanie ekstremalne x

LP(T ).

Zadanie i jest ustawione w caªo±ci na maszynie j je»eli x

ij

= 1.

Zadanie i jest ustawione w cz¦±ciach je»eli x

ij

< 1 dla ka»dego j.

Wniosek: W dowolnym rozwi¡zaniu ekstremalnym x

co najmniej n − m zada«

jest ustawionych w caªo±ci.

(14)

I Niech G = (M, J, E) b¦dzie grafem dwudzielnym, gdzie:

I

M  zbiór maszyn,

I

J  zbiór zada«,

I

ji ∈ E je»eli j ∈ M, i ∈ J, oraz x

ji

> 0.

I Niech C ⊂ J b¦dzie zbiorem zada« ustawionych w cz¦±ciach.

Wtedy:

I ka»da skªadowa spójna w grae G na k wierzchoªkach ma co najwy»ej k kraw¦dzi (kolejne slajdy),

I istnieje dopasowanie wierzchoªków z C do wierzchoªków M w G (kolejne

slajdy).

(15)

Algorytm konstruuj¡cy przydziaª zada« o koszcie 2T : I oblicz rozwi¡zanie ekstremalne x

programu LP(T ),

I je»eli zadanie i jest ustawione w caªo±ci na maszynie j, przydziel zadanie i do maszyny j,

I znajd¹ dopasowanie zbioru zada« ustawionych w cz¦±ciach do zbioru maszyn M,

I przydziel zadanie i ustawione w cz¦±ciach do maszyny j zgodnie z dopasowaniem.

Koszt rozwi¡zania 6 2T :

I wszystkie zadania ustawione w caªo±ci wykonuj¡ si¦ w czasie T , I wszystkie zadania ustawione w cz¦±ciach wykonuj¡ si¦ w czasie

max{p

ij

: ( i, j) ∈ S

T

} 6 T .

(16)

I Zaªó»my, »e skªadowa spójna S ma k wierzchoªków i wiecej ni» k kraw¦dzi.

I Rozwa»my problem szeregowania zada« zaw¦»ony do zada« i maszyn z S.

I x

zaw¦»one do S, x

|S, jest rozwi¡zaniem dopuszczalnym LP

S

( T ), gdzie LP

S

(T ) jest odpowiednikiem LP(T ) w odniesieniu do zada« i maszyn z S,

I x

|S nie jest rozwi¡zaniem ekstremalnym LP

S

(T ) (ma za du»o zmiennych x

ij

> 0),

I x

| S jest kombinacj¡ liniow¡ innych rozwi¡za« LP

S

( T ) istotnie ró»nych od x

|S,

I x

jest te» kombinacj¡ liniow¡ rozwi¡za« dopuszczalnych LP(T ) innych ni» x

,

I x

nie jest rozwi¡zaniem ekstremalnym LP(T ), sprzeczno±¢.

(17)

Istnieje dopasowanie zada« z C w zbiór maszyn M:

I ka»dy wierzchoªek z C ma stopie« co najmniej 2 w G,

I zaªó»my, »e istnieje zbiór A, A ⊆ C, nie speªniaj¡cy warunku Halla, I graf A ∪ N(A) ma co najmniej 2|A| kraw¦dzi i istotnie mniej ni» 2|A|

wierzchoªków,

I skªadowa spójna zawieraj¡ca A ma wi¦cej kraw¦dzi ni» wierzchoªków, co

nie jest mo»liwe na mocy poprzedniej obserwacji.

(18)

Dla zadania programowania liniowego, zwanego zadaniem prymalnym, zminimalizuj: P

n

j=1

c

j

x

j

przy warunkach: P

n

j=1

a

ij

x

j

≥ b

i

i = 1, . . . , m x

j

≥ 0 j = 1, . . . , n.

zadanie dualne deniujemy nast¦puj¡co:

zmaksymalizuj: P

m i=1

b

i

y

i

przy warunkach: P

m

i=1

a

ij

y

i

6 c

j

j = 1, . . . , n

y

i

≥ 0 i = 1, . . . , m.

(19)

Twierdzenie (sªabe twierdzenie o dualno±ci PL)

Je»eli x = (x

1

, . . . , x

n

) i y = (y

1

, . . . , y

m

) s¡ dowolnymi rozwi¡zaniami

dopuszczalnymi odpowiednio dla zadania prymalnego oraz zadania dualnego, to

m

X

i=1

b

i

y

i

6

n

X

j=1

c

j

x

j

.

Wniosek: Je»eli zadanie prymalne jest relaksacj¡ problemu minimalizacyjnego P, y jest rozwi¡zaniem dopuszczalnym dla problemu dualnego, to

m

X

i=1

b

i

y

i

6 OPT ,

gdzie OPT jest kosztem rozwi¡zania optymalnego problemu P.

(20)

Minimalny Zbiór Rozcyklaj¡cy w Turniejach:

Wej±cie: Turniej G = (V , A).

Wyj±cie: Minimalny zbiór kraw¦dzi przecinaj¡cy wszystkie cykle turnieju G.

(21)

Prgram Caªkowitoliczbowy dla problemu Minimalnego Zbioru Rozcyklaj¡cego wygl¡da nast¦puj¡co:

zminimalizuj: P

(i,j)∈A

x

ij

przy warunkach: P

(i,j)∈C

x

ij

≥ 1 dla ka»dego cyklu C w G

x

ij

∈ {0, 1} dla ka»dego (i, j) ∈ A.

(22)

Relaksacja programu caªkowitoliczbowego, zadanie prymalne:

zminimalizuj: P

(i,j)∈A

x

ij

przy warunkach: P

(i,j)∈C

x

ij

≥ 1 dla ka»dego cyklu C w G x

ij

≥ 0 dla ka»dego (i, j) ∈ A.

Zadanie dualne:

zmaksymalizuj: P

C∈C

y

C

przy warunkach: P

C∈C:(i,j)∈C

y

C

6 1 dla ka»dej kraw¦dzi (i, j) w T y

C

≥ 0 dla ka»dego C ∈ C,

gdzie C to wszystkie cykle G.

(23)

Algorytm RandFAS:

Wej±cie: Turniej G = (V , A).

Wyj±cie: Porz¡dek wierzchoªków V (G).

Algorytm RandFAS:

I wybierz losowo piwot i ∈ V (G), I L = {j : (j, i) ∈ A}, R = {j : (i, j) ∈ R},

I wywoªaj si¦ rekurencyjnie na turnieju zaw¦»onym do L (zwraca ci¡g L

0

) oraz na turnieju zaw¦»onym do R (zwraca R

0

),

I zwró¢ ci¡g L

0

iR

0

.

Kraw¦dzie rozcyklaj¡ce: kraw¦dzie wsteczne w porz¡dku liniowym zwróconym

przez RandFAS.

(24)

Minimalnego Zbioru Rozcyklaj¡cego w Turniejach.

Dowód:

I T  wszystkie cykle dªugo±ci 3 w G,

I Dla cyklu T ∈ T niech X

T

b¦dzie zmienn¡ losow¡ indykatorow¡

przyjmuj¡c¡ warto±¢ 1 wtw, gdy w momencie dzielenia trojk¡ta T (tzn. w wywoªaniu rekurencyjnym, w którym przynajmniej jeden wierzchoªek T l¡duj¡ w lewym podzadaniu i przynajmniej jeden wierzchoªek T l¡duje w prawym podzaniu) piwotem jest wierzchoªek z T .

I X  zmienna losowa okre±laj¡ca liczb¦ kraw¦dzi wstecznych.

I Zauwa»my, »e X = P

T ∈T

X

T

. Istotnie, dla kraw¦dzi wstecznej u → v

powstaj¡cej w momencie dzielenia wzgl¦dem piwota t, trójk¡t

T = {v → t → u → v} speªnia X

T

= 1. Nietrudno jest zauwa»y¢, »e

odwzorowanie tak okre±lone jest bijekcj¡ ze zbioru wszystkich kraw¦dzi

wstecznych w zbiór wszystkich trójk¡tów T dla których X

T

= 1.

(25)

T ∈T T

I Przyjmijmy y

C

=



pC

3

je»eli C jest cyklem dªugo±ci 3 z C, 0 je»eli C jest cyklem ≥ 4 z C.

I Poka»emy, »e y

jest rozwi¡zaniem dopuszczalnym zadania dualnego.

St¡d wynika, »e 1 3

X

T ∈T

p

T

6 OPT 6 X

T ∈T

p

T

, a zatem RandFAS jest algorytmem 3-aproksymacyjnym.

I Aby sprawdzi¢, »e y

jest rozwi¡zaniem dopuszczalnym, wystarczy sprawdzi¢ nierówno±¢

X

T ∈T :(i,j)∈T

p

T

3 6 1 (*)

dla ka»dej kraw¦dzi (i, j).

(26)

I Zdarzenia B ∩ (X

T1

= 1) oraz B ∩ (X

T2

= 1) s¡ rozª¡czne dla ka»dych dwóch T

1

, T

2

∈ T takich, »e (i, j) ∈ T

1

, T

2

.

I Je»eli zachodzi zdarzenie B, to zachodzi równie» jedno ze zdarze«

X

T

= 1 dla pewnego T ∈ T zawieraj¡cego (i, j).

I Mamy wi¦c:

P(B) = P

T ∈T :(i,j)∈T

P(B ∩ (X

T

= 1))

= P

T ∈T :(i,j)∈T

P(B|X

T

= 1) · P(X

T

= 1)

= P

T ∈T :(i,j)∈T 1 3

p

T

= P

T ∈T :(i,j)∈T pT 3

.

I Nierówno±¢ P(B) 6 1 dowodzi nierówno±ci (*), co ko«czy dowód

twierdzenia.

Cytaty

Powiązane dokumenty

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

Znajdź minimum tej

Ogólnie, i-t¡ warstw¡ grafu G nazywamy pierwsz¡ warstw¦ grafu planarnego powstaªego z G przez usuni¦cie wierzchoªków z warstw od 1 do i −

Ogólnie, i-t¡ warstw¡ grafu G nazywamy pierwsz¡ warstw¦ grafu planarnego powstaªego z G przez usuni¦cie wierzchoªków z warstw od 1 do i −

krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2020/21.. Algorytmy wykªadnicze dla SAT

Algorytm A dla problemu P jest algorytmem pseudowielomianowym je»eli czas jego dziaªania jest wielomianowy w zale»no±ci od rozmiaru wej±cia przy zaªo»eniu, »e liczby na

I Zaokr¡glij (losowo) rozwi¡zanie rzeczywiste do rozwi¡zania caªkowitoliczbowego i udowodnij, »e nie jest du»o gorsze od optymalnego... Rozwa»my sieci z

Trasa komiwoja»era jest unormowana je»eli wchodzi i wychodzi do ka»dego kwadratu podziaªu tylko i wyª¡cznie przez przej±cia tego kwadratu.. Niestety, istniej¡ takie zbiory punktów