• Ei tuloksia

58053-7 Algoritmien suunnittelu ja analyysi (kev¨at 2004) Harjoitus 13 (29.–30. huhtikuuta)

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "58053-7 Algoritmien suunnittelu ja analyysi (kev¨at 2004) Harjoitus 13 (29.–30. huhtikuuta)"

Copied!
1
0
0

Kokoteksti

(1)

58053-7 Algoritmien suunnittelu ja analyysi (kev¨ at 2004) Harjoitus 13 (29.–30. huhtikuuta)

1. Osoita, ett¨a jos solmupeiteongelman p¨a¨at¨osversioVC (joka siis on NP-t¨aydellinen) osattaisiin ratkaista polynomisessa ajassa, niin my¨os vastaava etsint¨aongelma osattaisiin.

2. Tarkastellaan solmupeiteongelman ahnetta heuristiikkaa, joka aina seuraavaksi valitsee muodos- tettavaan solmupeitteeseen solmun, joka peitt¨a¨a mahdollisimman monta viel¨a peitt¨am¨att¨a ole- vaa kaarta. Osoita, ett¨a t¨am¨a eiole 2-approksimointialgoritmi. (Vihje:Tarkastele kaksijakoisia verkkoja, joissa toisen puolen solmujen asteluku on vakio.)

3. T¨aydellisen verkon G solmujoukko V muodostuu tason pisteist¨a (i, j), miss¨a i = 1,2,3 ja j = 1,2,3. Solmuja on siis yhdeks¨an kappaletta. Solmujen v¨alisen kaaren kustannus on yht¨a kuin solmujen et¨aisyys tasossa. Muodosta verkkoon G kauppamatkustajan reitti k¨aytt¨am¨all¨a luennolla esitettyj¨a kahta ∆TSP-approksimointialgoritmia (MST-TSP ja Christofidesin algorit- mi). Kokeile kahta (tai useampaa) erilaista pienint¨a viritt¨av¨a¨a puuta algoritmien l¨aht¨okohtana.

Kuinka suureen tai pieneen suhteelliseen virheeseen algoritmit p¨a¨atyv¨at t¨ass¨a esimerkkiverkossa?

4. Repunpakkausongelmassa on annettu n hinta-koko lukuparia (vi, ci), i = 1,2, . . . , n, ja luku C. Kyse on aina positiivisista kokonaisluvuista, ja ci ≤C kaikille i. Teht¨av¨an¨a on l¨oyt¨a¨a I ⊆ {1,2, . . . , n}, jolle P

i∈Ici ≤C ja arvoP

i∈Ivi on suurin mahdollinen. Ongelma on tunnetusti NP-kova.

Oletetaan, ett¨a alkiot on jo lajiteltu yksikk¨ohinnan vci

i mukaiseen laskevaan j¨arjestykseen, eli

v1 c1vc2

2 ≥ · · · ≥ vcn

n. Luonteva ahne heuristiikka k¨asittelee alkiot j¨arjestyksess¨a i= 1,2, . . . , n ja lis¨a¨a k¨asitellyn alkion reppuun aina, jos sille on viel¨a tilaa. Osoita, ett¨a jos sy¨otteelle T optimaalisen ratkaisun arvo on opt(T), niin yll¨aolevan ahneen heuristiikan l¨oyt¨am¨alle ratkaisulle Ip¨atee

X

i∈I

vi ≥ opt(T)−max{vi|1≤i≤n} .

P¨a¨attele t¨ast¨a, ett¨a ahneen heuristiikan modifiointi, joka palauttaa joko yll¨amainitun ahneen rat- kaisun tai parhaanyksialkioisenratkaisun (mik¨ali se on parempi), on 2-approksimointialgoritmi repunpakkausongelmalle. (Vihje: OlkoonI ahne ratkaisu jaI jokin optimaalinen ratkaisu. Ol- koonj= min{i|i6∈I jai∈I}. Osoita, ett¨aP

i∈Ivi ≥ opt(T)−vj.) 5. Tarkastellaan seuraavaa NP-kovaalokerointiongelmaa (Bin Packing):

On annettu jono v¨alin (0,1) rationaalililukujax1, . . . , xn. Luvut on ositettava mah- dollisimman pieneen m¨a¨ar¨a¨an osajoukkoja (”lokeroita”) siten, ett¨a kunkin osajoukon alkioiden summa on korkeintaan 1.

Ongelman ahneFirst Fit-approksimointialgoritmi toimii seuraavasti: Luvut k¨asitell¨a¨an j¨arjes- tyksess¨a x1, . . . , xn. Lukuxi sijoitetaan lokeroiden j¨arjestyksess¨a ensimm¨aiseen lokeroon, jossa sille on viel¨a tilaa. Osoita, ett¨a t¨am¨a menettely on 2-approksimointialgoritmi. (Vihje: kuinka moni lokero voi j¨a¨ad¨a puolilleen?)

Viittaukset

LIITTYVÄT TIEDOSTOT

Teht¨ av¨ an¨ a on suorittaa yksiprosessorisella tietokoneella joukko t¨ oit¨ a, jotka ovat kaikki valmiina suoritettavaksi ja joista jokaisen vaatima suoritusaika tunnetaan.. Ty¨

Hahmottele simuloitua j¨ a¨ ahdytyst¨ a k¨ aytt¨ av¨ a ratkaisumenetelm¨ a NP-t¨ aydelliselle solmupeiteon- gelmalle ( Vertex Cover ).. Valitse sopiva kustannusfunktio ja

Osoita, ett¨ a luokkaan perustuva tasapainotus ilman mit¨ a¨ an polkujen tiivist¨ amist¨ a takaa Union- Find-operaatioiden suorituksen ajassa O(log n) per operaatio..

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

Suunnittele tehokas algoritmi, joka l¨ oyt¨ a¨ a vieruslistoina esitetyst¨ a yhten¨ aisest¨ a suuntaamatto- masta verkosta solmun, joka ei ole artikulaatiopiste.. Algoritmisi tulee

Osoita, miten seuraavat ongelmat voidaan ratkaista palauttamalla ne tavalliseen maksimi- vuonm¨ a¨ ar¨ a¨ amisongelmaan:.. (a) M¨ a¨ ar¨ a¨ a maksimivuo verkossa, jossa kaarten

Osoita, miten algoritmista B saadaan aina polynomisessa ajassa toimiva algoritmi, joka ainakin todenn¨ ak¨ oisyydell¨ a 1/2 vastaa oikein ja muuten vastaa.. ”en

Todista oikeaksi yhdeks¨ an jaollisuuss¨ a¨ ant¨ o (luku on jaollinen yhdek- s¨ all¨ a, mik¨ ali luvun numeroiden summa on jaollinen yhdeks¨ all¨