• Ei tuloksia

Approksimointialgoritmit (kev¨at 2010) Harjoitus 10 (19. huhtikuuta) Ratkaisuja (Jouni Siren)

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "Approksimointialgoritmit (kev¨at 2010) Harjoitus 10 (19. huhtikuuta) Ratkaisuja (Jouni Siren)"

Copied!
2
0
0

Kokoteksti

(1)

Approksimointialgoritmit (kev¨ at 2010) Harjoitus 10 (19. huhtikuuta)

Ratkaisuja (Jouni Siren)

1. Osoitetaan, ett¨a pienimm¨an puolitusleikkauksen pseudoapproksimointialgoritmin tuottama ratkaisu ei ole v¨altt¨am¨att¨a hyv¨a ratkaisu (1/3)-tasapainoiseen leikkaukseen.

(a) Muodostetaan n solmun verkko ja sen leikkaus (S, S) siten, ett¨a |S| = n/3. Verk- koon kuuluvat ne kaaret, joiden p¨a¨at ovat leikkauksessa (S, S) samalla puolella. Nyt OPT1/3 = 0 jaOPT1/2=n2/12, joten puolitusleikkauksen ja (1/3)-tasapainoisen leik- kauksen optimiratkaisut voivat poiketa toisistaan huomattavasti.

(b) Tarkastellaannsolmun verkkoa, jonka solmut jakautuvat joukkoihinA,B jaC. Olete- taan, ett¨a |A|=n/3−1, |B|=n1/2 ja|C|= 2n/3 + 1−n1/2. JoukonA solmuihin ei liity kaaria. JoukotB jaCovat klikkej¨a, mink¨a lis¨aksi jokaisesta joukonB solmusta on kaarin1/4joukonCsolmuun.

Optimaalisessa (1/3)-tasapainoisessa leikkauksessa pienemm¨alle puolelle kuuluvat jou- kon A solmut sek¨a jokin joukon B solmuista. N¨ain ollen OPT1/3 = n1/2 +n1/4 −1.

Algoritmi puolestaan valitsee ensin kaikki joukonAsolmut, koska niihin ei liity kaaria.

Koska leikkaus ei ole viel¨a riitt¨av¨an tasapainoinen, joutuu algoritmi t¨aydent¨am¨a¨an sit¨a joukkojen B ja C solmuilla. Seuraavaksi algoritmi etsii osajoukon W ⊂ B∪C, mis- s¨a |W| ≤ |B∪C|/2 ja osajoukon W kaarilaajentuma on korkeintaan O(logn) kertaa optimaalista suurempi joukossaB∪C.

Optimaalinen valinta olisi joukko B, jonka kaarilaajentuma on n1/4. Yhdenkin joukon C solmun valitseminen tuottaisi kaarilaajentuman Ω(n1/2), joten t¨aytyy olla W ⊆B.

Jos taas |W| ≤ |B|/2, tulee kaarilaajentumaksi silloinkin Ω(n1/2). Valitun osajoukon W ⊆Bkoko on siis Θ(n1/2), joten algoritmin l¨oyt¨am¨an leikkauksen (A∪W, C∪B\W) kooksi tulee Ω(n3/4).

2. Olkoot b ja b0 vakioita, b ≤1/3 ja b < b0 ≤ 1/2. Luennoilla (sivu 322) esitettiin algoritmi l¨oyt¨a¨a (1/3)-tasapainoisen leikkauksen, jonka koko on korkeintaan O(logn)·OPT1/2. Algo- ritmi yleistyy suoraviivaisesti niin, ett¨a se l¨oyt¨a¨ab-tasapainoisen leikkauksen, jonka koko on korkeintaanO(logn)·OPTb0.

Kohdan 2 pys¨ahtymisehdoksi tulee |U| ≥ bn. Todistuksessa (sivut 323–324) tulee l¨ahinn¨a kiinnitt¨a¨a huomiota siihen, ett¨a suorituksen aikana|V0| ≥(1−b)n. Jos siis (T, T) on pienin b0-tasapainoinen leikkaus, joukkoihinV0∩T jaV0∩T kuuluu kumpaankin ainakin (b0−b)n solmua. Todistus etenee t¨alt¨a pohjalta kuten luennoilla.

3. Tarkastellaan metrisen tuotantolaitosten sijoitteluongelman muunnelmaa, jossa jokaisella lai- toksellai∈F on avaamiskustannuksensilis¨aksi lis¨akustannusti jokaista siihen liitetty¨a kau- punkia kohti. Muunnelma palautuu luonnollisella tavalla ongelman tavanomaiseen versioon:

lis¨at¨a¨an jokaiseen yhdist¨amiskustannukseencij vastaava lis¨akustannus ti kaikilla laitoksilla i∈F ja kaupungeillaj ∈C.

Osoitetaan, ett¨a kolmioep¨ayht¨al¨o pysyy edelleen voimassa. Olkooti, i0∈F tuotantolaitoksia jaj, j0 ∈C kaupunkeja. Koska ongelmaa vastaava verkko on kaksijakoinen, riitt¨a¨a osoittaa, ettei polkup=j→i0→j0 →imuutu lyhyemm¨aksi kuin suora reittij →i. Alkuper¨aisest¨a verkosta tiedet¨a¨an kolmioyht¨al¨on nojalla cost(p) = ci0j +ci0j0 +cij0 ≥ cij. Muunnetussa verkossa taas p¨atee

cost0(p) = (ci0j+ti0) + (ci0j0+ti0) + (cij0+ti) =cost(p) + 2ti0+ti≥cij+ti, joten kolmioep¨ayht¨al¨o on edelleen voimassa.

4. Lis¨at¨a¨an metriseen tuotantolaitosten sijoitteluongelmaan kapasiteettiui jokaiselle tuotanto- laitoksellei∈F. Rajoite tarkoittaa, ett¨a laitokseeni saa kytke¨a korkeintaanui kaupunkia.

(2)

Lineaariseksi ohjelmaksi tulee nyt

minimoi X

i∈F,j∈C

cijxij+X

i∈F

fiyi ehdoilla X

i∈F

xij ≥1 kaikillaj∈C uiyi−X

j∈C

xij≥0 kaikillai∈F

xij ∈ {0,1} kaikillai∈F jaj∈C yi∈ {0,1} kaikillai∈F

Tarkastellaan kahta laitosta ja n kaupunkia. Laitos 1 on halpa, ja sill¨a p¨atee u1 = n−1, f1= 1 jac1j = 1 kaikillaj∈C. Laitos 2 on puolestaan kallis, ja sill¨a p¨ateeu2=n,f2=n2 jac2j = 1 kaikilla j ∈ C. Optimaalisessa murtolukuratkaisussa n−1 kaupunkia kytket¨a¨an halpaan laitokseen ja viimeinen kaupunki kalliiseen laitokseen, jolle asetetaan y2 = 1/n.

Optimaalisessa kokonaislukuratkaisussa taas kallis laitos on pakko ottaa k¨aytt¨o¨on kokonaan, jolloin kaikki kaupungit voidaan kytke¨a siihen. Niinp¨aOPTf = 2n+ 1 ja OPT=n2+n.

Viittaukset

LIITTYVÄT TIEDOSTOT

Jokainen alkuper¨ ai- sen verkon monensuuntainen leikkaus on siis k¨ ayp¨ a ratkaisu osajoukkotakaisinkytken- t¨ aongelmaan uudessa verkossa.. Vastaavasti jokainen painoltaan ¨

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¨

Koska harvimman leikkauksen teorian käsitteleminen luennoilla on kestänyt hieman odotettua kauemmin, tällä kertaa tehtäviä on hieman vähemmän ja ne sivuavat hieman aiheita,

Approksimointisuhteen s¨ ailytt¨ av¨ a palautus tasapainoisesta leikkauksesta mielivaltaisella b ≤ 1/2 puolitusleikkaukseen (eli tapaukseen b = 1/2) saadaan lis¨ a¨ am¨ all¨

(Vazirani 24.13) Metrisessä tuotantolaitosten sijoitteluongelmassa tuotantolaitoksella i on kiinteä avaa- miskustannus f i , joka sallii sen palvella mielivaltaisen monta

Vihje: numeroi laitoksen niiden tilapäisen avaamisen aikajärjestyksessä ja valitse verkossa H leksikogra- fisesti ensimmäinen maksimaalinen riippumaton joukko.. Nyt lisäksi

Koska jokainen luokan PCP(log n, 1) mukainen tarkastaja on my¨ os luokan PCP(log n, poly(n)) mukainen tarkastaja, p¨ atee PCP(log n, 1) ⊆ PCP(log

Suunnittele tehokas algoritmi, joka etsii vieruslistoina esitetyn suunnatun ver- kon jonkin alkusolmun, mik¨ ali verkossa sellaisia on.. Miten muuttaisit algoritmia, jos teht¨ av¨ an¨