Approksimointialgoritmit (kev¨ at 2010) Harjoitus 11 (26. huhtikuuta)
Ratkaisuja (Jouni Siren)
1. Laitostensijoitteluongelman approksimointialgoritmin vaiheessa 2 valitaan v¨aliaikaisesti avat- tujen laitosten muodostamasta verkostaH maksimaalinen riippumaton joukko I, jonka lai- tokset avataan. VerkossaH on kaari laitostenijai0 v¨alill¨a, jos jokin kaupunkijon maksanut laitostenijai0 avaamisesta eli kaaret (i, j) ja (i0, j) ovat erityisi¨a alkuper¨aisess¨a verkossa.
Muutetaan algoritmia niin, ett¨a laitosten i ja i0 v¨alille tulee kaari, jos jokin kaupunki j on maksanut niin paljon, ett¨a se voitaisiin yhdist¨a¨a kumpaan tahansa laitoksistaijai0. T¨all¨oin sanotaan, ett¨a alkuper¨aisen verkon kaaret (i, j) ja (i0, j) ovat tiukkoja. Osoitetaan, ett¨a nyt luentojen lemma 3.76 ei en¨a¨a p¨ade, vaan laitokseen i yhdistetyll¨a kaupungilla j voi olla cij >3αej, miss¨aαej on yhdist¨amiseen k¨aytetty osuus kaupungin j maksamasta hinnasta.
Tarkastellaan verkkoa, jossa on laitoksetijai0sek¨a kaupungitj,j0jak. Kummankin laitoksen avauskustannus onf1=f2= 1, ja yhdist¨amiskustannuksille p¨ateeci0j = 1,cij0 =ci0j0 = 100 jacik = 100. Muut yhdist¨amiskustannukset saadaan lyhimmist¨a poluista. Algoritmi etenee nyt seuraavasti:
t αj αj0 αk βi βi0 Tapahtumat
0 0 0 0 0 0
1 1 1 1 0 0 (i0, j) tiukka 2 2 2 2 0 1 (i0, j) erityinen
100 2 100 100 0 1 (i, j0),(i0, j0) ja (i, k) tiukkoja 101 2 100 101 1 1 (i, k) erityinen
Lihavoitu arvo tarkoittaa, ett¨a kyseinen kaupunki on yhdistetty tai laitos on v¨aliaikaisesti avattu.
Vaiheessa 1 avattiin siis molemmat laitokset v¨aliaikaisesti. Verkkoon H tulee niiden v¨alille kaari, sill¨a kaaret (i, j0) ja (i0, j0) ovat tiukkoja. Jos riippumattomaksi joukoksi valitaan{i}, yhdistet¨a¨an kaikki kaupungit laitokseeni. Koskacij= 201, p¨atee sillecij >3αej = 6.
Ongelma voidaan korjata numeroimalla laitokset sen mukaan, miss¨a j¨arjestyksess¨a ne avattiin, ja valitsemalla verkon H maksimaaliseksi riippumattomaksi joukoksi niist¨a leksikografisesti ensimm¨ainen. Lis¨aksi jos kaupunkijjoudutaan yhdist¨am¨a¨an ep¨asuorasti johonkin sen yhdis- tystodisteeni0 riippumattomassa joukossa I olevaan naapuriin verkossaH, valitaan n¨aist¨a naapureista j¨arjestyksess¨a ensimm¨ainen. Olkoon t¨am¨a laitosi. Koska H on leksikografisesti ensimm¨ainen maksimaalinen riippumaton joukko, seuraa t¨ast¨a i < i0.
On syyt¨a huomata, ett¨a vaikka monta asiaa saattaa tapahtua hetkell¨a t, on n¨aill¨a tapahtu- milla aina jokin j¨arjestys. Jos siis jollain kaupungillajmuuttuisi samanaikaisesti monta kaar- ta tiukoiksi, ei n¨ait¨a muuttumisia kuitenkaan en¨a¨a k¨asitell¨a sen j¨alkeen, kun jokin tiukaksi muuttunut kaari (i, j) yhdist¨a¨a kaupungin v¨aliaikaisesti avoimeen laitokseeni.
Tarkastellaan kaupunkiaj, joka on yhdistetty ep¨asuorasti laitokseenija jonka yhdistystodiste on laitos i0. Laitosten i ja i0 v¨alill¨a on kaari verkossa H, joten kaaret (i, j0) ja (i0, j0) ovat tiukkoja jollain kaupungillaj0. Koska laitosi0 on kaupunginj yhdistystodiste, p¨atee selv¨asti αj ≥ci0j.
Oletetaan, ett¨a hetkell¨atlaitosion avautunut v¨aliaikaisesti ja kaupunkij0on liittynyt siihen.
Koska my¨os kaari (i0, j0) on tiukka, t¨aytyy sen olla muuttunut tiukaksi ennen hetke¨a t, eli ci0j0 ≤ t. Jos kaari (i, j0) muuttui tiukaksi hetkell¨a t, ei laitos i0 voinut olla viel¨a auki. Jos taas laitosiavautui hetkell¨at, ei laitosi0voinut viel¨a auki, koskai < i0. Laitosi0 avautuu siis vasta hetkent j¨alkeen. Koska αj kasvaa, kunnes laitosi0 avautuu, t¨aytyy ollaαj≥t≥ci0j0. Toisaalta αj0 lakkaa kasvamasta viimeist¨a¨an hetkell¨a t, mist¨a seuraa αj ≥ t ≥ αj0 ≥ cij0. N¨ain ollen lemma 3.76 on taas voimassa.
2. Esitet¨a¨an tuotantolaitosten sijoitteluongelmaa vastaava kokonaislukuohjelma. Oletetaan, ett¨a jokaisella tuotantolaitoksellai∈F on kapasiteettiuija ett¨a kukin laitos voidaan avata useita kertoja.
minimoi X
i∈F,j∈C
cijxij+X
i∈F
fiyi ehdoilla X
i∈F
xij ≥1 kaikillaj∈C
yi−xij≥0 kaikillai∈F jaj∈C uiyi−X
j∈C
xij≥0 kaikillai∈F
xij ∈ {0,1} kaikillai∈F jaj∈C
yi∈N kaikillai∈F
Lineaarisessa l¨oysenn¨oksess¨a on luonnollisestixij ≥0 jayi≥0. Duaaliksi tulee t¨all¨oin:
maksimoi X
j∈C
αj
ehdoilla αj−βij−γi≤cij kaikillai∈F jaj∈C uiγi+X
j∈C
βij≤fi kaikillai∈F αj≥0 kaikillaj∈C
βij ≥0 kaikillai∈F jaj∈C γi≥0 kaikillai∈F
Kiinnitet¨a¨an duaalissa γi = 3fi/4ui jolloin sit¨a vastaava primaali kuvaa tuotantolaitosten sijoitteluongelmaa ilman kapasiteetteja:
minimoi X
i∈F,j∈C
cij+3fi
4ui
xij+X
i∈F
fi
4Yi ehdoilla X
i∈F
xij ≥1 kaikillaj∈C
Yi−xij ≥0 kaikillai∈F jaj∈C
xij ≥0 kaikillai∈F jaj∈C
Yi≥0 kaikillai∈F
Kolmioyht¨al¨o on edelleen voimassa, joten ongelma voidaan ratkaista luennoilla (sivut 330–
349) esitetyll¨a 3-approksimointialgoritmilla. N¨ain saadaan kokonaislukuratkaisu (x, Y), jonka kustannukselle p¨atee
X
i∈F,j∈C
cij+ 3fi
4ui
xij+ 3X
i∈F
fi
4Yi ≤3X
j∈C
αj. (1)
T¨ast¨a saadaan k¨ayp¨a ratkaisu alkuper¨aiseen ongelmaan avaamalla kukin laitos riitt¨av¨a m¨a¨ar¨a kertoja:
yi=
Pj∈Cxij ui
kaikilla i∈F.
KoskaYi= 1, jos laitokseenFi on kytketty kaupunkeja, p¨atee nyt yi≤Yi+
P
j∈Cxij
ui kaikilla i∈F. (2)
Ep¨ayht¨al¨oist¨a 1 ja 2 seuraa nyt X
i∈F,j∈C
cijxij+3 4
X
i∈F
fiyi≤3X
j∈C
αj.
Nyt siis (x, y) on k¨ayp¨a ratkaisu alkuper¨aiseen kokonaislukuohjelmaan, ja sill¨a p¨atee X
i∈F,j∈C
cijxij+X
i∈F
fiyi≤4X
j∈C
αj,
joten meill¨a on 4-approksimointialgoritmi tarkasteltavaan ongelmaan.
3. Esitet¨a¨an vakioapproksimointialgoritmi ryv¨astysongelmaan.
Oletetaan, ett¨a ett¨a optimaalisessa ryv¨astyksess¨a jotkin pisteet u1, . . . , ut on liitetty keski- pisteeseenc = (u1+· · ·+ut)/t, ja u1 on n¨aist¨a pisteist¨a l¨ahimp¨an¨a keskusta c. Jos ryv¨as- tyskeskuksena k¨aytett¨aisiinkin pistett¨au1, saataisiin n¨aiden pisteiden osuudeksi ryv¨astyksen kustannuksesta
t
X
i=1
||ui−u1||22=
t
X
i=1
||ui−c||22+t||u1−c||22≤2
t
X
i=1
||ui−c||22.
T¨ass¨a yht¨al¨o seuraa siit¨a, ett¨acon pisteidenui keskiarvo, ja ep¨ayht¨al¨o taas siit¨a, ett¨au1on pisteist¨a l¨ahinn¨a keskustac.
Valitsemalla pisteetv1, . . . , vn sek¨a kaupunkien ett¨a laitosten joukoksi saadaan siisk-medi- aaniongelman tapaus, jonka optimiratkaisu on korkeintaan kaksi kertaa kalliimpi kuin ryv¨as- tysongelman tapauksen. Lis¨aksi jokainenk-mediaaniongelman ratkaisu on my¨os sellaisenaan ryv¨astysongelman ratkaisu.
Ylim¨a¨ar¨aisen¨a haasteena on kuitenkin se, ett¨a pisteiden v¨aliset et¨aisyydet eiv¨at toteuta kol- mioep¨ayht¨al¨o¨a, vaan ainoastaan et¨aisyyksien neli¨ojuuret. T¨am¨a vaikuttaa k-mediaaniongel- man approksimointialgoritmissa aliohjelmana k¨aytett¨av¨a¨an tuotantolaitosten sijoitteluongel- man approksimointialgoritmiin niin, ett¨a approksimointikerroin 3 muuttuukin kertoimeksi 9. Ero tulee lemmasta 3.76, jonka todistuksessa tarvitaan kolmioep¨ayht¨al¨o¨a. Jos yhdist¨a- miskustannuksen neli¨ojuuri enint¨a¨an kolminkertaistuu ep¨asuorassa yhdist¨amisess¨a, kasvaa kustannus korkeintaan yhdeks¨ankertaiseksi.
Kolmioep¨ayht¨al¨o¨a tarvitaan my¨os py¨orist¨amisen yhteydess¨a lemmassa 3.79. Luentojen sivun 369 toinen ep¨ayht¨al¨orivi muuttuu nyt muotoon
√ci3,j ≤2√
ci1,j+√
ci2,j ⇐⇒ ci3,j ≤4ci1,j + 4√
ci1,jci2,j+ci2,j
ja sit¨a seuraava odotusarvo vastaavasti muotoon
E[cφ(j),j] ≤ bci2,j+a2ci1,j+ab(4ci1,j+ 4√
ci1,jci2,j+ci2,j)
= aci1,j(a+ 4b) +bci2,j(1 +a) + 4ab√
ci1,jci2,j
≤ aci1,j(1 + 3b) +bci2,j(1 +a) + 4ab·ci1,j+ci2,j
2
= aci1,j(1 + 5b) +bci2,j(1 + 3a)
≤ (aci1,j+bci2,j)(1 + 5·max{a, b}).
Py¨orist¨amisvaihe kasvattaa siis kustannuksen korkeintaan kuusinkertaiseksi (k-mediaanion- gelmassa kaksinkertaiseksi). L¨oydetty ratkaisu on siis korkeintaan 2·9·6 = 108 kertaa huo- nompi kuin ryv¨astysongelman optimiratkaisu.
4. Osoitetaan, ett¨aPCP(logn, poly(n))⊆NP.
Tarkastellaan mielivaltaista luokanNPkielt¨aLja muodostetaan sille ratkaisualgoritmiA, jo- ka simuloi tarkastajaa. AlgoritmiA aloittaa arvaamalla ep¨adeterministisesti sy¨otett¨a xvas- taavan todistukseny. T¨am¨an j¨alkeen se k¨ay l¨api kaikki mahdolliset tarkastajan satunnaisjo- not ja selvitt¨a¨a jokaisella satunnaisjonollar, hyv¨aksyyk¨o tarkastaja sy¨otteenxtodistuksella yja satunnaisjonolla r.
Koska erilaisia satunnaisjonoja on polynominen m¨a¨ar¨a, toimii algoritmi A polynomisessa ajassa. Jos sy¨otexkuuluu kieleenL, tarkastaja hyv¨aksyy sy¨otteen kaikilla satunnaisjonoilla.
Muussa tapauksessa tarkastaja hylk¨a¨a sy¨otteen ainakin puolella satunnaisjonoista. Polynomi- sessa ajassa toimiva ep¨adeterministinen algoritmiAtunnistaa siis kielenL, joten kieli kuuluu luokkaanNP.
Edell¨a todistettiin PCP(logn, poly(n)) ⊆ NP. PCP-teoreeman perusteella tiedet¨a¨an, ett¨a PCP(logn,1) =NP. Koska jokainen luokanPCP(logn,1) mukainen tarkastaja on my¨os luokan PCP(logn, poly(n)) mukainen tarkastaja, p¨ateePCP(logn,1)⊆PCP(logn, poly(n)). N¨ain ol- len p¨ateePCP(logn,1) =PCP(logn, poly(n)).