• Ei tuloksia

Approksimointialgoritmit (kev¨at 2010) Harjoitus 11 (26. huhtikuuta) Ratkaisuja (Jouni Siren)

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "Approksimointialgoritmit (kev¨at 2010) Harjoitus 11 (26. huhtikuuta) Ratkaisuja (Jouni Siren)"

Copied!
3
0
0

Kokoteksti

(1)

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.

(2)

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)

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

Viittaukset

LIITTYVÄT TIEDOSTOT

Koska l¨ aht¨ o- ja maalisolmun potentiaaliero on v¨ ahint¨ a¨ an 1 ja polulla olevien kaarten yhteispituus on v¨ ahint¨ a¨ an potentiaalieron verran, on jokainen du- aalin k¨

Optimaalisessa kokonaislukuratkaisussa taas kallis laitos on pakko ottaa k¨ aytt¨ o¨ on kokonaan, jolloin kaikki kaupungit voidaan kytke¨

N¨ain ollen v¨aite p¨atee my¨os kokoa n × n oleville matrii- seille ja lauseen v¨aite

[r]

[r]

Harjoitus 1:n tehtäviä voi

Jos v¨ aite p¨ atee, kun k = n, se p¨ atee, kun k = n + 1: jokaista k-pituista jonoa vastaa 5 sel- laista, jossa numeroiden summa on parillinen ja 5 sellaista, jossa numeroiden summa

Koska Aspergillus -pitoisuudet homogeenisuustarkastelussa vaihtelivat suspensionäytteessä log 0,3 molemmilla alustoilla ja materiaalinäytteissä log 0,5 M2 alustalla sekä log 0,7 DG-18