• Ei tuloksia

58053-7 Algoritmien suunnittelu ja analyysi (kev¨ at 2004) Harjoitus 6 (4.–5. maaliskuuta)

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "58053-7 Algoritmien suunnittelu ja analyysi (kev¨ at 2004) Harjoitus 6 (4.–5. maaliskuuta)"

Copied!
1
0
0

Kokoteksti

(1)

58053-7 Algoritmien suunnittelu ja analyysi (kev¨ at 2004) Harjoitus 6 (4.–5. maaliskuuta)

1. Esit¨a luennoilla tarkastellulle matriisien kertolaskuj¨arjestyksen m¨a¨ar¨a¨amisongelmalle ahneeseen heuristiikkaan perustuva algoritmi. Osoita esimerkill¨a, ett¨a algoritmi ei aina anna optimaalista tulosta.

2. Osoita, ett¨a erilaistenn-solmuisten bin¨a¨aripuiden lukum¨a¨ar¨a bn saadaan kaavasta

bn = 1 n+ 1

2n n

.

(Vihje: Yll¨a annettut luvut bn tunnetaan nimell¨a Catalanin luvut; kirjallisuudesta l¨oytyy lis¨aohjeita t¨all¨a hakusanalla.)

3. (a) Laadi luennolla esitetyst¨a Floydin-Warshallin algoritmista versio, joka lyhimpien polkujen pituuksien laskennan lis¨aksi pit¨a¨a kirjaa siit¨a, mit¨a kautta polut kulkevat.

(b) Simuloi algoritmisi toimintaa seuraavassa verkossa:

-

@

@

@

@

@

@

@

I

6

? - 35

5 15 5

3 4

1 2

60

20 10

40

4. Repunpakkausongelmassa(Knapsack Problem) on annettunesinett¨a, joiden kunkin arvo ja koko tiedet¨a¨an, ja teht¨av¨an¨a on pakata esineist¨a mahdollisimman arvokas osajoukko reppuun, jonka koko on annettu. Muodollisemmin, ongelmassa on annettunlukuparia (vi, ci),i= 1, . . . , n, ja luku C. Ongelman mahdollisia ratkaisuja ovat osajoukot I ⊆ {1, . . . , n}, joilla P

i∈Ici ≤C.

Tarkoituksena on l¨oyt¨a¨a n¨aist¨a mahdollisista ratkaisuista paras, s. o. sellainen ett¨a P

i∈Ivi

on suurin mahdollinen. Repun koko C ja esineiden arvot vi ja koot ci ovat kaikki positiivisia kokonaislukuja.

Esit¨a repunpakkausongelmalle yksinkertainen ahneeseen heuristiikkaan perustuva ratkaisualgo- ritmi. Osoita, ett¨a algoritmisi ei aina l¨oyd¨a parasta ratkaisua.

5. Esit¨a edellisen teht¨av¨an repunpakkausongelmalle algoritmi, joka l¨oyt¨a¨a parhaan ratkaisun ajassa O(nC). Osoittaako t¨am¨a, ett¨a ongelma ratkeaa polynomisessa ajassa?

Viittaukset

LIITTYVÄT TIEDOSTOT

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, ett¨ a jos solmupeiteongelman p¨ a¨ at¨ osversio VC (joka siis on NP-t¨ aydellinen) osattaisiin ratkaista polynomisessa ajassa, niin my¨ os vastaava etsint¨

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

Oletetaan, ett¨a pillin alap¨a¨a nousee suoraan yl¨osp¨ain lasin sivua pitkin ja et- t¨a pillin tukipiste lasin yl¨areunassa pysyy samana (eli tilanne on tietyss¨a