• Ei tuloksia

58053-7 Algoritmien suunnittelu ja analyysi (kev¨at 2004) Harjoitus 8 (18.–19. maaliskuuta)

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "58053-7 Algoritmien suunnittelu ja analyysi (kev¨at 2004) Harjoitus 8 (18.–19. maaliskuuta)"

Copied!
1
0
0

Kokoteksti

(1)

58053-7 Algoritmien suunnittelu ja analyysi (kev¨ at 2004) Harjoitus 8 (18.–19. maaliskuuta)

1. Hahmottele simuloitua j¨a¨ahdytyst¨a k¨aytt¨av¨a ratkaisumenetelm¨a NP-t¨aydelliselle solmupeiteon- gelmalle (Vertex Cover). Valitse sopiva kustannusfunktio ja symmetrinen, tasa-asteinen naa- purustorakenne. Varmista, ett¨a osaat tuottaa naapurustorakenteen mukaisia satunnaisia naapu- reita tasaisen jakauman mukaan. Mink¨alaista j¨a¨ahdytysaikataulua ongelman ratkaisemiseen n solmun verkossa tulisi k¨aytt¨a¨a luennolla esitetyn konvergenssilauseen mukaan?

2. (a) Esit¨a pseudokoodina toteutus binomikasojen yhdist¨amisess¨a k¨aytetylle alirutiinille Binomial-Heap-Merge.

(b) Simuloi yhdist¨amisoperaatiota Binomial-Heap-Union(H1, H2) (luennot s. 216) itse va- litsemillasi binomikasoilla H1 ja H2. ValitseH1 ja H2 siten, ett¨a algoritmin kaikki haarat tulevat k¨aytetyksi.

3. (a) Osoita, ett¨a n-solmuiseen binomikasaan kohdistuvat operaatiot Binomial-Heap- Insert,Binomial-Heap-Minimum, Binomial-Heap-Extract-Min, Binomial-Heap- Union,Binomial-Heap-Decrease-KeyjaBinomial-Heap-Deletevoivat vaatia ajan Ω(logn).

(b) Joillekin n¨aist¨a operaatioista on kuitenkin olemassa mielivaltaisen suuria n, joilla tasan n-solmuiseen kasaan kohdistuvat operaatiot toimivat vakioajassa. Mitk¨a operaatiot n¨am¨a ovat? Mink¨a tyyppisist¨a non kysymys?

4. Tarkastellaan seuraavaa periaatealgoritmia pienimm¨an viritt¨av¨an puun l¨oyt¨amiseksi:

MST(V, E):

T :=∅

olkoonV ={v1, . . . , vn} fori:= 1 tondo

Vi:={vi}

Ei:={(u, v)∈E|u=vi taiv=vi} whilejoukkojaVi on enemm¨an kuin yksido

valitse jokin joukkoVi

valitse painoltaan pienin kaari (u, v)∈Ei ja poista se oletetaanu∈Vi jav∈Vj

ifi6=j then

T :=T∪ {(u, v)} Vi:=Vi∪Vj; tuhoaVj

Ei:=Ei∪Ej; tuhoaEj

Miten toteuttaisit algoritmin binomikasoja k¨aytt¨aen? Esit¨a mahdolliset lis¨aykset ja muutokset, joita tarvitset tietorakenteeseen tai operaatioihin. Mik¨a on algoritmin aikavaativuus?

5. Todista, ett¨a edellisen teht¨av¨an algoritmi aina todella l¨oyt¨a¨a pienimm¨an viritt¨av¨an puun.

Viittaukset

LIITTYVÄT TIEDOSTOT

(Operaation Copy (P, Q) j¨ alkeen kumpikin pino on samassa tilassa kuin pino P ennen operaatiota.) Suunnit- tele pinoille taulukkototeutus, jossa kopiointioperaation yhteydess¨

Oletetaan annetuksi alirutiini, joka palauttaa joukon S mediaanin ajassa O(|S|). kun peitet¨ a¨ an kaikki valkoiset pisteet eik¨ a yht¨ a¨ an mustaa pistett¨ a, virhe on

Repunpakkausongelmassa (Knapsack Problem) on annettu n esinett¨ a, joiden kunkin arvo ja koko tiedet¨ a¨ an, ja teht¨ av¨ an¨ a on pakata esineist¨ a mahdollisimman arvokas

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

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