V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Koko: px
Aloita esitys sivulta:

Download "V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen"

Transkriptio

1 V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen Luento omatoimisen luennan tueksi algoritmiikan tutkimusseminaarissa

2 Sisältö Esitellään ongelmat Steiner-puu Kauppamatkustajan ongelma (TSP) Minimaalinen monileikkaus (engl. Minimum Multiway Cut, ei Minimum Multi-Cut) Minimaalinen k-leikkaus (engl. Minimum k-cut) ja tarkastellaan niiden approksimointia. Kotitehtävät: 3.1, 3.2 ja

3 Steiner-puu Määritelmä: Kelvolliset syötteet muotoa ((V, E), w, R, S), missä: (V, E) on suuntaamaton verkko w : E Q + on painofunktio. R V on pakollisten solmujen ja S = V \ R Steiner-solmujen joukko. Tehtävä: Etsi kevein puu T, joka on G:n aliverkko ja sisältää kaikki joukon R solmut. 3

4 Metrinen Steiner-puu Lisätään tavallisen Steiner-puu -ongelman määritelmään ehto, että w toteuttaa kolmioepäyhtälön: w({x, y}) w({x, z}) + w({z, y}) Metrinen Steiner-puu on siis tavallisen Steiner-puun rajoitus. Seuraava approksimointisuhteen säilyttävä palautus osoittaa, ettei metristä Steiner-puuta ole kuitenkaan yhtään helpompi approksimoida. Seuraus: Jatkossa voidaan rajoittua tarkastelemaan metristä Steiner-puuta. 4

5 Palautus Kuvaus: ((V, E), w, R, S) (K V, w, R, S), missä w ({u, v}) = lyhimmän polun u v pituus ja K V on joukon V täydellinen verkko. Selvästi w (T ) w(t ) kaikille puille T E Palautus ei kasvata optimiratkaisun kustannusta. Olkoon T opt jokin optimiratkaisu palautuksen tuloksena syntyneeseen tapaukseen. Olkoon T opt puu, joka saadaan Korvaamalla puun T opt kaaret {u, v} lyhimmillä (verkon (V, E)) u v poluilla Poistamalla syntyneestä (V, E):n aliverkosta kaaria kunnes se on syklitön 5

6 Palautus jatkuu... Selvästi puulle T opt pätee w(t opt ) w (T opt) Palautus ei pienennä optimiratkaisun kustannusta. Lisäksi T opt saadaan puusta T opt polynomisessa ajassa. Siispä: palautus todellakin on approksimointisuhteen säilyttävä palautus. 6

7 Approksimointialgoritmi metriselle Steiner-puulle Joukon R virittävä puu on verkon (V, E) alipuu, jonka solmujoukko on täsmälleen R. Selvästi eräs kelvollinen ratkaisu Steiner-puu -ongelmalle on joukon R pienin virittävä puu (MST), joka osataan löytää polynomisessa ajassa. MST ei ole aina optimaalinen ratkaisu (kuva). Kuitenkin metrisessä tapauksessa pätee (todistus kirjassa): w(mst) 2 w(t opt ) Siispä: MST:n etsivä algoritmi on 2-approksimointialgoritmi metriselle Steiner-puulle. 7

8 Kauppamatkustajan ongelma (TSP) Määritelmä: Annettu täydellinen verkko (V, E), jonka kaaret on painotettu painofunktiolla w : E Q +. Tehtävä: Etsi kevein (V, E):n sykli, joka käy jokaisessa verkon solmussa tasan kerran. Tunnettu tosiasia (todistus kirjassa): Jos painofunktiosta w ei tehdä lisäoletuksia ja P NP, TSP:tä ei voi approksimoida lainkaan. 8

9 Metrinen TSP Kuten Steiner-puun tapauksessa, oletetaan että w täyttää kolmioepäyhtälön. Tällä lisäoletuksella TSP:lle saadaan yksinkertainen 3/2-approksimointialgoritmi (ns. Christofideen algoritmi): 1. Etsi (V, E):n MST T. 2. Etsi kevein täydellinen pariutus M niille solmuille, joiden aste T :ssä on pariton. Lisää M:n kaaret T :hen, tuloksena Eulerin (multi)verkko (so. verkko, jossa jokaisen solmun aste on parillinen). 3. Etsi Eulerin kierros T syntyneestä verkosta (so. kierros, joka kulkee täsmälleen kerran jokaista verkon kaarta pitkin). 4. Palauta kierros C, joka saadaan kulkemalla pitkin kierrosta T ja tulostamalla solmut siinä järjestyksessä kun ne kierroksella tulevat ensimmäistä kertaa vastaan. 9

10 Approksimointisuhteen todistus Merkitään symbolilla OPT TSP:n optimiratkaisun painoa. Lemma: Olkoon V V joukko, jossa on parillinen määrä alkioita, ja olkoon M V :n jokin kevein täydellinen pariutus. Tällöin w(m) w(opt)/2. Todistus: Suullinen (tai katso kirja). Koska T :n paritonasteisten solmujen lukumäärä on parillinen, lemmasta seuraa, että algoritmin etsimän Eulerin kierroksen paino on w(t ) + w(m) OPT OPT = 3 2 OPT. 10

11 Minimaalinen monileikkaus Määritelmä: Annettu yhtenäinen suuntaamaton verkko (V, E), painofunktio w : E Q + ja solmujoukko S = {s 1,..., s k } V. Etsittävä kevein monileikkaus eli kaarten joukko A, jonka poistaminen E:stä eristää kaikki solmut s i toisistaan. A on siis monileikkaus joss jokainen s i s j polku, i j, kulkee jonkin A:n kaaren kautta. Tunnettua: Tapaus k = 2 on tavallinen verkkovuo-ongelma ja siis helppo, mutta NP-täydellinen kaikilla kiinteillä k 3. Kirjassa esitetty (2 2/k)-approksimointialgoritmi todistuksineen, kannattaa lukea. Myöhemmin kirjassa esitetään myös 3/2-approksimointialgoritmi (luku 19). 11

12 Minimaalinen k-leikkaus Määritelmä: Annettu yhtenäinen suuntaamaton verkko (V, E), painofunktio w : E Q + ja k N. Etsittävä minimaalinen k-leikkaus eli kaarten joukko A E, jolle Verkossa (V, E \ A) on k yhtenäistä komponenttia Jos w(a ) < w(a), niin verkossa (V, E \ A ) on alle k komponenttia. Kiinteälle k ongelma osataan ratkaista polynomisessa ajassa, mutta jos k on osa syötettä kuten yllä, ongelma on NP-täydellinen. 12

13 Gomory-Hu -puut Kirjassa esitetty (2 2/k)-approksimointialgoritmi perustuu Gomory-Hu -puihin. Niille annettu määritelmä kirjassa on hieman epämääräinen... Painotetun suuntaamattoman verkon ((V, E), w), missä w : E Q +, Gomory-Hu -puu on painotettu puu T = (V, T ), jonka painofunktiolle w : T Q + pätee: Solmut u, v V verkossa (V, E) erottavan minimaalisen leikkauksen paino on min{w (e i ) e 1,..., e s on polku u v puussa T } Kaari e = {u 0, u 1 } T vastaa leikkausta (U 0, U 1 ) verkossa (V, E), missä U i on solmun u i sisältävä puun (V, T \ {e}) yhtenäinen komponentti. 13

14 Minimaalisen k-leikkauksen approksimointi Algoritmi: 1. Laske syöteverkon Gomory-Hu -puu (katso J. van Leeuwen, Handbook of Theoretical Computer Science, Volume A, sivut ). 2. Tulosta puun k 1 keveintä kaarta vastaavien leikkausten yhdiste. Jos tulostettavien kaarten joukon poistaminen leikkaa verkon yli k komponenttiin, kaaria voidaan palauttaa mielivaltaisessa järjestyksessä kunnes jäljellä on tasan k komponenttia. 14

15 Analyysin idea Se, että tulostettava kaarten joukko pilkkoo verkon (vähintään) k komponenttiin on ilmeistä (?). Approksimointisuhteen analyysin ideana on: Jos optimaalisen A E poistaminen leikkaa V :n k osaan V 1,..., V k (ja A on joukkoinkluusion suhteen minimaalinen tälläinen joukko), niin A = k i=1 A i, missä A i on V i :n muusta verkosta erottava kaarijoukko. Selvästi kukin e A kuuluu tasan kahteen joukkoon A i, joten k i=1 w(a i) = 2 w(a). Olettaen, että A k on kaarijoukoista painavin, pätee edelleen k 1 i=1 w(a i) 2(1 1/k)w(A). Riittää siis osoittaa, että puun T k 1 keveimmän kaaren painojen summa k 1 i=1 w(a i) (kirjassa). 15

6. Approksimointialgoritmit

6. Approksimointialgoritmit 6. Approksimointialgoritmit Tässä luvussa käsitellään lyhyesti approksimointiin liittyvät peruskäsitteet ja joitain keskeisiä approksimoituvuustuloksia. Tavoitteena on, että opiskelija näkee approksimointialgoritmien

Lisätiedot

Algoritmi on periaatteellisella tasolla seuraava:

Algoritmi on periaatteellisella tasolla seuraava: Algoritmi on periaatteellisella tasolla seuraava: Dijkstra(V, E, l, v 0 ): S := { v 0 } D[v 0 ] := 0 for v V S do D[v] := l(v 0, v) end for while S V do valitse v V S jolle D[v] on minimaalinen S := S

Lisätiedot

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I. Vaihto-ominaisuudella on seuraava intuition kannalta keskeinen seuraus: Olkoot A I ja B I samankokoisia riippumattomia joukkoja: A = B = m jollain m > 0. Olkoon vielä n = m A B, jolloin A B = B A = n.

Lisätiedot

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä Luku 7 Verkkoalgoritmit Verkot soveltuvat monenlaisten ohjelmointiongelmien mallintamiseen. Tyypillinen esimerkki verkosta on tieverkosto, jonka rakenne muistuttaa luonnostaan verkkoa. Joskus taas verkko

Lisätiedot

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari Tehtävä 9 : 1 Merkitään kirjaimella G tehtäväpaperin kuvan vasemmanpuoleista verkkoa sekä kirjaimella H tehtäväpaperin kuvan oikeanpuoleista verkkoa. Kuvan perusteella voidaan havaita, että verkko G on

Lisätiedot

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko, Tehtävä 1 : 1 a) Olkoon G heikosti yhtenäinen suunnattu verkko, jossa on yhteensä n solmua. Määritelmän nojalla verkko G S on yhtenäinen, jolloin verkoksi T voidaan valita jokin verkon G S virittävä alipuu.

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia 58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, 652013, vastauksia 1 [6 pistettä] Vastaa jokaisesta alla olevasta väittämästä onko se tosi vai epätosi ja anna lyhyt perustelu Jokaisesta kohdasta

Lisätiedot

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 1. Luento 8 Ke Timo Männikkö Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin

Lisätiedot

Eräs keskeinen algoritmien suunnittelutekniikka on. Palauta ongelma johonkin tunnettuun verkko-ongelmaan.

Eräs keskeinen algoritmien suunnittelutekniikka on. Palauta ongelma johonkin tunnettuun verkko-ongelmaan. 5. Verkkoalgoritmeja Eräs keskeinen algoritmien suunnittelutekniikka on Palauta ongelma johonkin tunnettuun verkko-ongelmaan. Palauttaminen edellyttää usein ongelman ja algoritmin pientä modifioimista,

Lisätiedot

v 8 v 9 v 5 C v 3 v 4

v 8 v 9 v 5 C v 3 v 4 Verkot Verkko on (äärellinen) matemaattinen malli, joka koostuu pisteistä ja pisteitä toisiinsa yhdistävistä viivoista. Jokainen viiva yhdistää kaksi pistettä, jotka ovat viivan päätepisteitä. Esimerkiksi

Lisätiedot

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

Lisätiedot

Tehtävä 4 : 2. b a+1 (mod 3)

Tehtävä 4 : 2. b a+1 (mod 3) Tehtävä 4 : 1 Olkoon G sellainen verkko, jonka solmujoukkona on {1,..., 9} ja jonka särmät määräytyvät oheisen kuvan mukaisesti. Merkitään lisäksi kirjaimella A verkon G kaikkien automorfismien joukkoa,

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 2.5.2017 Timo Männikkö Luento 13 Merkkijonon sovitus Horspoolin algoritmi Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys

Lisätiedot

isomeerejä yhteensä yhdeksän kappaletta.

isomeerejä yhteensä yhdeksän kappaletta. Tehtävä 2 : 1 Esitetään aluksi eräitä havaintoja. Jokaisella n Z + symbolilla H (n) merkitään kaikkien niiden verkkojen joukkoa, jotka vastaavat jotakin tehtävänannon ehtojen mukaista alkaanin hiiliketjua

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit 811312A Tietorakenteet ja algoritmit 2015-2016 V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit Sisältö 1. Johdanto 2. Leveyshaku 3. Syvyyshaku 4. Kruskalin algoritmi 5. Dijkstran algoritmi

Lisätiedot

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m.

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Väite: T (n) (a + b)n 2 + a. Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Huomaa että funktion x x 2 + (m 1 x) 2 kuvaaja on ylöspäin aukeava paraabeli, joten funktio saavuttaa suurimman

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet

MS-A0402 Diskreetin matematiikan perusteet MS-A0402 Diskreetin matematiikan perusteet Osa 6: Verkkoteoria Riikka Kangaslampi 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Verkkojen peruskäsitteitä Motivaatiota (...) networks may

Lisätiedot

Pienin virittävä puu (minimum spanning tree)

Pienin virittävä puu (minimum spanning tree) Pienin virittävä puu (minimum spanning tree) Jatkossa puu tarkoittaa vapaata puuta (ks. s. 11) eli suuntaamatonta verkkoa, joka on yhtenäinen: minkä tahansa kahden solmun välillä on polku syklitön: minkä

Lisätiedot

Näin ollen saadaan tulos rad(g) diam(g). Toisaalta huomataan, että verkon G kaikilla solmuilla x ja y pätee kolmioepäyhtälön nojalla havainto

Näin ollen saadaan tulos rad(g) diam(g). Toisaalta huomataan, että verkon G kaikilla solmuilla x ja y pätee kolmioepäyhtälön nojalla havainto Tehtävä 3 : 1 Olkoon G mielivaltainen epätyhjä verkko. Erityisesti siltä ei vaadita äärellisyyttä. Polut ovat verkon G koosta riippumatta määritelmän mukaan aina äärellisiä, joten kahden solmun välisen

Lisätiedot

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( ) Königsbergin sillat 1700-luvun Königsbergin (nykyisen Kaliningradin) läpi virtasi joki, jonka ylitti seitsemän siltaa. Sanotaan, että kaupungin asukkaat yrittivät löytää reittiä, joka lähtisi heidän kotoaan,

Lisätiedot

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120 Tehtävä 1 : 1 Merkitään jatkossa kirjaimella H kaikkien solmujoukon V sellaisten verkkojen kokoelmaa, joissa on tasan kolme särmää. a) Jokainen verkko G H toteuttaa väitteen E(G) [V]. Toisaalta jokainen

Lisätiedot

Näytetään nyt relaatioon liittyvien ekvivalenssiluokkien olevan verkon G lohkojen särmäjoukkoja. Olkoon siis f verkon G jokin särmä.

Näytetään nyt relaatioon liittyvien ekvivalenssiluokkien olevan verkon G lohkojen särmäjoukkoja. Olkoon siis f verkon G jokin särmä. Tehtävä 6 : 1 Oletetaan ensin joukon X olevan sisältymisen suhteen minimaalinen solmut a ja b toisistaan erotteleva joukon V(G)\{a, b} osajoukko. Olkoon x joukon X alkio. Oletuksen nojalla joukko X\{x}

Lisätiedot

Ratkaisu. Tulkitaan de Bruijnin jonon etsimiseksi aakkostossa S := {0, 1} sanapituudelle n = 4. Neljän pituisia sanoja on N = 2 n = 16 kpl.

Ratkaisu. Tulkitaan de Bruijnin jonon etsimiseksi aakkostossa S := {0, 1} sanapituudelle n = 4. Neljän pituisia sanoja on N = 2 n = 16 kpl. iskreetti matematiikka, syksy 00 arjoitus, ratkaisuista. seta 8 nollaa ja 8 ykköstä renkaaksi niin, että jokainen yhdistelmä 0000, 000,..., esiintyy täsmälleen kerran. Vihje: Tulkitse de ruijnin jonon

Lisätiedot

b) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan

b) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan Tehtävä 7 : 1 a) Olkoon G jokin epäyhtenäinen verkko. Tällöin väittämä V (G) 2 pätee jo epäyhtenäisyyden nojalla. Jokaisella joukolla X on ehto X 0 voimassa, joten ehdot A < 0 ja F < 0 toteuttavilla joukoilla

Lisätiedot

Diskreetit rakenteet

Diskreetit rakenteet Diskreetit rakenteet 811120P 5 op 7. Oulun yliopisto Tietojenkäsittelytieteiden laitos 2015 / 2016 Periodi 1 Mikä on verkko? verkko (eli graafi) koostuu solmuista ja väleistä, jotka yhdistävät solmuja

Lisätiedot

= k 0 NTIME(n k + k) Siis polynomisessa ajassa epädeterministisellä Turingin koneella tunnistettavien kielten joukko

= k 0 NTIME(n k + k) Siis polynomisessa ajassa epädeterministisellä Turingin koneella tunnistettavien kielten joukko 238 7.2 Luokka NP Luokka NP on: NP = { NTIME(t) t on polynomi } = k 0 NTIME(n k + k) Siis polynomisessa ajassa epädeterministisellä Turingin koneella tunnistettavien kielten joukko P NP Luokan NP ongelmista

Lisätiedot

Algoritmit 1. Luento 14 Ke 25.2.2015. Timo Männikkö

Algoritmit 1. Luento 14 Ke 25.2.2015. Timo Männikkö Algoritmit 1 Luento 14 Ke 25.2.2015 Timo Männikkö Luento 14 Heuristiset menetelmät Heuristiikkoja kapsäkkiongelmalle Kauppamatkustajan ongelma Lähimmän naapurin menetelmä Kertaus ja tenttivinkit Algoritmit

Lisätiedot

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-.34 Lineaarinen ohjelmointi 5..7 Luento Kertausta Lineaarinen ohjelmointi - Syksy 7 / LP ja Simplex Kurssin rakenne Duaalisuus ja herkkyysanalyysi Verkkotehtävät Kokonaislukutehtävät Lineaarinen ohjelmointi

Lisätiedot

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

Tehtävä 8 : 1. Tehtävä 8 : 2

Tehtävä 8 : 1. Tehtävä 8 : 2 Tehtävä 8 : 1 Merkitään kirjaimella G tarkasteltavaa Petersenin verkkoa. Olkoon A joukon V(G) niiden solmujen joukko, joita vastaavat solmut sijaitsevat tehtäväpaperin kuvassa ulkokehällä. Joukon A jokaisella

Lisätiedot

C.C. McGeoch, Toward an experimental method for algorithm simulation. algorithm simulation = algoritmin testaus, experimental algorithmics

C.C. McGeoch, Toward an experimental method for algorithm simulation. algorithm simulation = algoritmin testaus, experimental algorithmics C.C. McGeoch, Toward an experimental method for algorithm simulation algorithm simulation = algoritmin testaus, experimental algorithmics testiparametrit, esim. tapauksen koko, erilaiset tietorakennevaihtoehdot,

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward

Lisätiedot

Silmukkaoptimoinnista

Silmukkaoptimoinnista sta TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. joulukuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe F maanantai 14.12. klo 12 rekisteriallokaatio Arvostelukappale

Lisätiedot

VERKKOTEORIAN ALKEITA. Martti E. Pesonen 28.2.2013

VERKKOTEORIAN ALKEITA. Martti E. Pesonen 28.2.2013 VERKKOTEORIAN ALKEITA Martti E. Pesonen 28.2.2013 1 Sisältö 1 VERKOISTA 1 1.1 Mitä matemaattiset verkot ovat?................ 1 1.1.1 Verkkoteorian synty.................... 1 1.2 Suuntaamaton verkko.......................

Lisätiedot

5.2 Eulerin kehät ja -polut

5.2 Eulerin kehät ja -polut 5.2 Eulerin kehät ja -polut Königsbergin sillat: onko mahdollista tehdä (kuivin jaloin) kävelyretki siten, että jokainen silta kuljetaan tasan kerran Eulerin polku on verkon polku, joka kulkee jokaisen

Lisätiedot

Kysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla?

Kysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla? 7.7. Tasograafit Graafi voidaan piirtää mielivaltaisen monella tavalla. Graafin ominaisuudet voivat näkyä selkeästi jossain piirtämistavoissa, mutta ei toisessa. Eräs tärkeä graafiryhmä, pintagraafit,

Lisätiedot

7. Satunnaisalgoritmit (randomized algorithms)

7. Satunnaisalgoritmit (randomized algorithms) 7. Satunnaisalgoritmit (randomized algorithms) Satunnaisuudella on laskentaongelmien ratkaisemisessa moninaisia käyttötapoja. Tässä tarkastellaan lähinnä perinteisten algoritmien nopeuttamista, ja sitäkin

Lisätiedot

Parinmuodostuksesta tietojenkäsittelytieteen silmin. Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto

Parinmuodostuksesta tietojenkäsittelytieteen silmin. Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto Parinmuodostuksesta tietojenkäsittelytieteen silmin Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto Suomalainen Tiedeakatemia Nuorten Akatemiaklubi 18.10.2010 Sisältö Mitä tietojenkäsittelytieteessä

Lisätiedot

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

Lisätiedot

Kurssikoe on maanantaina 29.6. Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

Kurssikoe on maanantaina 29.6. Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla. HY / Avoin ylioisto Johdatus yliopistomatematiikkaan, kesä 201 Harjoitus 7 Ratkaisut palautettava viimeistään perjantaina 26.6.201 klo 16.00. Huom! Luennot ovat salissa CK112 maanantaista 1.6. lähtien.

Lisätiedot

Yleinen paikallinen vakautuva synkronointialgoritmi

Yleinen paikallinen vakautuva synkronointialgoritmi Yleinen paikallinen vakautuva synkronointialgoritmi Panu Luosto 23. marraskuuta 2007 3 4 putki 1 2 α α+1 α+2 α+3 0 K 1 kehä K 2 K 3 K 4 Lähdeartikkeli Boulinier, C., Petit, F. ja Villain, V., When graph

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

Lisätiedot

Tietorakenteet, esimerkkivastauksia viikon 12 laskareihin

Tietorakenteet, esimerkkivastauksia viikon 12 laskareihin Tietorakenteet, esimerkkivastauksia viikon laskareiin (a) Oletetaan seuraavan kuvan mukainen verkko ja etsitään lyyimpiä polkuja solmusta Ensimmäiseksi käsitellään solmu B, jonka etäisyys on kolme Seuraavaksi

Lisätiedot

Voidaanko verkkoteoriaa opettaa lukiolaisille?

Voidaanko verkkoteoriaa opettaa lukiolaisille? Voidaanko verkkoteoriaa opettaa lukiolaisille? Tuotetun oppimateriaalin analysointia aiheesta painotetut verkot Pro gradu -tutkielma Mika Koponen Itä-Suomen yliopisto Fysiikan ja matematiikan laitos 1.

Lisätiedot

C C. x 2. x 3 x 3. Lause 3SAT p m VC Todistus. Olk. φ = C 1 C 2 C m 3-cnf-kaava, jossa esiintyvät muuttujat. φ toteutuva:

C C. x 2. x 3 x 3. Lause 3SAT p m VC Todistus. Olk. φ = C 1 C 2 C m 3-cnf-kaava, jossa esiintyvät muuttujat. φ toteutuva: Lause 3SAT p m VC Todistus. Olk. φ = C 1 C C m 3-cnf-kaava, jossa esiintyvät muuttujat x 1,..., x n. Vastaava solmupeiteongelman tapaus G, k muodostetaan seuraavasti. G:ssä on solmu kutakin literaalia

Lisätiedot

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina Hakupuut tässä luvussa tarkastelemme puita tiedon tallennusrakenteina hakupuun avulla voidaan toteuttaa kaikki joukko-tietotyypin operaatiot (myös succ ja pred) pahimman tapauksen aikavaativuus on tavallisella

Lisätiedot

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut JYVÄSKYLÄN YLIOPISTO 14. Luennon sisältö Kuljetustehtävä esimerkki Verkkoteoria ja optimointi verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut kevät 2012 TIEA382 Lineaarinen ja diskreetti

Lisätiedot

Dominointianalyysi. Teppo Niinimäki. Helsinki Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Dominointianalyysi. Teppo Niinimäki. Helsinki Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Dominointianalyysi Teppo Niinimäki Helsinki 10.5.2010 Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta

Lisätiedot

Algoritmit 1. Luento 7 Ti Timo Männikkö

Algoritmit 1. Luento 7 Ti Timo Männikkö Algoritmit 1 Luento 7 Ti 31.1.2017 Timo Männikkö Luento 7 Järjestetty binääripuu Binääripuiden termejä Binääripuiden operaatiot Solmun haku, lisäys, poisto Algoritmit 1 Kevät 2017 Luento 7 Ti 31.1.2017

Lisätiedot

3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin.

3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin. 3. Hakupuut Hakupuu on listaa tehokkaampi dynaamisen joukon toteutus. Erityisesti suurilla tietomäärillä hakupuu kannattaa tasapainottaa, jolloin päivitysoperaatioista tulee hankalampia toteuttaa mutta

Lisätiedot

3.4 Peruutus (backtracking)

3.4 Peruutus (backtracking) 3.4 Peruutus (backtracking) Tarkastellaan kahta esimerkkiongelmaa: Kahdeksan kuningattaren ongelma: sijoitettava 8 8 ruudun pelilaudalle 8 nappulaa siten, että millekään vaaka-, pysty- tai viistoriville

Lisätiedot

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Esimerkkejä polynomisista ja ei-polynomisista ongelmista Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia

Lisätiedot

PARITUS KAKSIJAKOISESSA

PARITUS KAKSIJAKOISESSA PARITUS KAKSIJAKOISESSA GRAAFISSA Informaatiotekniikan t iik seminaari i Pekka Rossi 4.3.2008 SISÄLTÖ Johdanto Kaksijakoinen graafi Sovituksen peruskäsitteet Sovitusongelma Lisäyspolku Bipartite matching-algoritmi

Lisätiedot

Shorin algoritmin matematiikkaa Edvard Fagerholm

Shorin algoritmin matematiikkaa Edvard Fagerholm Edvard Fagerholm 1 Määritelmiä Määritelmä 1 Ryhmä G on syklinen, jos a G s.e. G = a. Määritelmä 2 Olkoon G ryhmä. Tällöin alkion a G kertaluku ord(a) on pienin luku n N \ {0}, jolla a n = 1. Jos lukua

Lisätiedot

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005 Graafin 3-värittyvyyden tutkinta T-79.165 Graafiteoria, projektityö (eksakti algoritmi), kevät 2005 Mikko Malinen, 36474R 29. maaliskuuta, 2005 Tiivistelmä Artikkelissa käydään läpi teoriaa, jonka avulla

Lisätiedot

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta AVL-puut eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta pohjana jo esitetyt binäärihakupuiden operaatiot tasapainotus vie pahimmillaan lisäajan lisäys- ja

Lisätiedot

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 9. marraskuuta 2009

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 9. marraskuuta 2009 TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 9. marraskuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe D tiistai 10.11. klo 10 välikielen generointi Vaihe E tiistai

Lisätiedot

Verkon värittämistä hajautetuilla algoritmeilla

Verkon värittämistä hajautetuilla algoritmeilla Verkon värittämistä hajautetuilla algoritmeilla 5 12 30 19 72 34 Jukka Suomela 15 77 18 4 9. tammikuuta 2012 19 2 68 Verkko 2 Verkko solmu 3 Verkko solmu kaari 4 Hajautettu järjestelmä solmu (tietokone)

Lisätiedot

Tietorakenteet, esimerkkivastauksia viikon 12 laskareihin

Tietorakenteet, esimerkkivastauksia viikon 12 laskareihin Tietorakenteet, esimerkkivastauksia viikon laskareiin (a) Oletetaan seuraavan kuvan mukainen verkko ja etsitään lyyimpiä polkuja solmusta Ensimmäiseksi käsitellään solmu B, jonka etäisyys on kolme Seuraavaksi

Lisätiedot

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos: 8 Kanta Tässä luvussa tarkastellaan aliavaruuden virittäjävektoreita, jotka muodostavat lineaarisesti riippumattoman jonon. Merkintöjen helpottamiseksi oletetaan luvussa koko ajan, että W on vektoreiden

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT VERKOT ELI GRAAFIT Lähteet: Timo Harju, Opintomoniste Keijo Ruohonen, Graafiteoria (math.tut.fi/~ruohonen/gt.pdf) HISTORIAA Verkko- eli graafiteorian historia on saanut

Lisätiedot

Kiinalaisen postimiehen ongelma

Kiinalaisen postimiehen ongelma Kiinalaisen postimiehen ongelma Kimmo Kontio 1.12.2015 Ohjaaja/Valvoja: Harri Ehtamo [5] Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla. Muilta osin kaikki oikeudet pidätetään.

Lisätiedot

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto) 811 Tietorakenteet (kevät 9) Harjoitus 11, ratkaisuja (Topi Musto) 1. Bellmanin-Fordin algoritmin alustusvaiheen jälkeen aloitussolmussa on arvo ja muissa solmuissa on arvo ääretön. Kunkin solmun arvo

Lisätiedot

0 v i v j / E, M ij = 1 v i v j E.

0 v i v j / E, M ij = 1 v i v j E. Vieruspistematriisi Graafi esitetään tietokoneessa useimmiten matriisin avulla. Graafin G = (V, E), V = {v 1, v 2,..., v n } vieruspistematriisi (adjacency matrix)on n n matriisi M = (M ij ), missä n on

Lisätiedot

Laskennan vaativuus ja NP-täydelliset ongelmat

Laskennan vaativuus ja NP-täydelliset ongelmat Laskennan vaativuus ja NP-täydelliset ongelmat TRAK-vierailuluento 13.4.2010 Petteri Kaski Tietojenkäsittelytieteen laitos Tietojenkäsittelytiede Tietojenkäsittelytiede tutkii 1. mitä tehtäviä voidaan

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta 811312A Tietorakenteet ja algoritmit 2016-2017 Kertausta jälkiosasta IV Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden aikakompleksisuus

Lisätiedot

Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle.

Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle. Kombinatoriikka, kesä 2010 Harjoitus 1 Ratkaisuehdotuksia (RT (5 sivua Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle. 1. Osoita, että vuoden

Lisätiedot

Algoritmit 2. Luento 6 Ke Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu

Lisätiedot

Algoritmit 2. Luento 14 Ke Timo Männikkö

Algoritmit 2. Luento 14 Ke Timo Männikkö Algoritmit 2 Luento 14 Ke 3.5.2017 Timo Männikkö Luento 14 Ositus ja rekursio Rekursion toteutus Kertaus ja tenttivinkit Algoritmit 2 Kevät 2017 Luento 14 Ke 3.5.2017 2/30 Ositus Tehtävän esiintymä ositetaan

Lisätiedot

DMP / Kevät 2016 / Mallit Harjoitus 6 / viikko 13 / alkuviikko

DMP / Kevät 2016 / Mallit Harjoitus 6 / viikko 13 / alkuviikko DMP / Kevät 2016 / Mallit Harjoitus 6 / viikko 13 / alkuviikko Alkuviikon tuntitehtävä 1: Montako kahdeksaan yhtäsuureen sektoriin leikattua pitsaa voidaan tehdä kolmesta täytteestä siten, että kukin sektori

Lisätiedot

Verkon virittävät puut

Verkon virittävät puut Verkon virittävät puut Olkoon G = (V, E) suuntaamaton yhtenäinen verkko verkon yhtenäisyydellä tarkoitamme että kaikki verkon solmut ovat saavutettavissa toisistaan, eli verkossa ei ole erillisiä osia

Lisätiedot

keskenään isomorfiset? (Perustele!) Ratkaisu. Ovat. Tämän näkee indeksoimalla kärjet kuvan osoittamalla tavalla: a 1 b 3 a 5

keskenään isomorfiset? (Perustele!) Ratkaisu. Ovat. Tämän näkee indeksoimalla kärjet kuvan osoittamalla tavalla: a 1 b 3 a 5 Johdatus diskreettiin matematiikkaan Harjoitus 6, 21.10.2015 1. Ovatko verkot keskenään isomorfiset? (Perustele!) Ratkaisu. Ovat. Tämän näkee indeksoimalla kärjet kuvan osoittamalla tavalla: a 2 b 4 a

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa II

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa II MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa II G. Gripenberg Aalto-yliopisto 3. huhtikuuta 2014 G. Gripenberg (Aalto-yliopisto) MS-A0402 Diskreetin matematiikan perusteetesimerkkejä,

Lisätiedot

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti. Tietorakenteet, laskuharjoitus 11, ratkaisuja 1. Leveyssuuntaisen läpikäynnin voi toteuttaa rekursiivisesti käsittelemällä jokaisella rekursiivisella kutsulla kaikki tietyllä tasolla olevat solmut. Rekursiivinen

Lisätiedot

Lisää pysähtymisaiheisia ongelmia

Lisää pysähtymisaiheisia ongelmia Lisää pysähtymisaiheisia ongelmia Lause: Pysähtymättömyysongelma H missä H = { w111x w validi koodi, M w ei pysähdy syötteellä x } ei ole rekursiivisesti lueteltava. Todistus: Pysähtymisongelman komplementti

Lisätiedot

3SAT-ongelman NP-täydellisyys [HMU ]

3SAT-ongelman NP-täydellisyys [HMU ] 3SAT-ongelman NP-täydellisyys [HMU 10.3.4] erotukseksi yleisestä CNF-esityksestä, kaikilla kaavoilla ei ole 3-CNF-esitystä; esim. x 1 x 2 x 3 x 4 esitämme muunnoksen, jolla polynomisessa ajassa mielivaltaisesta

Lisätiedot

SAT-ongelman rajoitetut muodot

SAT-ongelman rajoitetut muodot SAT-ongelman rajoitetut muodot olemme juuri osoittaneet että SAT on NP-täydellinen perusidea on nyt osoittaa joukolle kiinnostavia ongelmia A NP että SAT p m A, jolloin kyseiset A myös ovat NP-täydellisiä

Lisätiedot

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

7. Aikavaativuus. Ohjelmistotekniikan laitos OHJ-2300 Johdatus tietojenkäsittelyteoriaan, syksy

7. Aikavaativuus. Ohjelmistotekniikan laitos OHJ-2300 Johdatus tietojenkäsittelyteoriaan, syksy 212 7. Aikavaativuus Edellä tarkasteltiin ongelmien ratkeavuutta kiinnittämättä huomiota ongelman ratkaisun vaatimaan aikaan Nyt siirrytään tarkastelemaan ratkeavien ongelmien aikavaativuutta Periaatteessa

Lisätiedot

Luento 9: Permutaatiot ja symmetriat 1 MS-A0401 Diskreetin matematiikan perusteet, syksy 2014 Harri Varpanen Aalto-yliopisto Matematiikan ja systeemianalyysin laitos Keskiviikko 8.10.2014 Ryhmän toiminta

Lisätiedot

1 sup- ja inf-esimerkkejä

1 sup- ja inf-esimerkkejä Alla olevat kohdat (erityisesti todistukset) ovat lähinnä oheislukemista reaaliluvuista, mutta joihinkin niistä palataan myöhemmin kurssilla. 1 sup- ja inf-esimerkkejä Kaarenpituus. Olkoon r: [a, b] R

Lisätiedot

Verkkojen värittäminen

Verkkojen värittäminen Verkkojen värittäminen Pro gradu -tutkielma Tiina Aaltonen 165231 Itä-Suomen yliopisto Fysiikan ja matematiikan laitos 10. tammikuuta 2012 Sisältö 1 Johdanto 1 2 Verkkojen peruskäsitteitä 4 2.1 Solmu,

Lisätiedot

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,

Lisätiedot

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

Lisätiedot

Yhtenäisyydestä. Johdanto. Lähipisteavaruus. Tuomas Korppi

Yhtenäisyydestä. Johdanto. Lähipisteavaruus. Tuomas Korppi Solmu 2/2012 1 Yhtenäisyydestä Tuomas Korppi Johdanto Tarkastellaan kuvassa 1 näkyviä verkkoa 1 ja R 2 :n (eli tason) osajoukkoa. Kuvan 2 verkko voidaan jakaa kolmeen osaan niin, että osien välillä ei

Lisätiedot

T : Max-flow / min-cut -ongelmat

T : Max-flow / min-cut -ongelmat T-61.152: -ongelmat 4.3.2008 Sisältö 1 Määritelmät Esimerkki 2 Max-flow Graafin leikkaus Min-cut Max-flow:n ja min-cut:n yhteys 3 Perusajatus Pseudokoodi Tarkastelu 4 T-61.152: -ongelmat Virtausverkko

Lisätiedot

Graafin virittävä puu 1 / 20

Graafin virittävä puu 1 / 20 Graafin virittävä puu 1 / 20 Graafin virittävä puu PuuT on graafingvirittävä puu (spanning tree), jos se sisältää kaikkig:n pisteet. Virittäviä puita: 2 / 20 Yhdistämisongelma Yhdistämisongelma:(Connector

Lisätiedot

Tehtävä 1. Arvioi mitkä seuraavista väitteistä pitävät paikkansa. Vihje: voit aloittaa kokeilemalla sopivia lukuarvoja.

Tehtävä 1. Arvioi mitkä seuraavista väitteistä pitävät paikkansa. Vihje: voit aloittaa kokeilemalla sopivia lukuarvoja. Tehtävä 1 Arvioi mitkä seuraavista väitteistä pitävät paikkansa. Vihje: voit aloittaa kokeilemalla sopivia lukuarvoja. 1 Jos 1 < y < 3, niin kaikilla x pätee x y x 1. 2 Jos x 1 < 2 ja y 1 < 3, niin x y

Lisätiedot

Datatähti 2000: alkukilpailun ohjelmointitehtävä

Datatähti 2000: alkukilpailun ohjelmointitehtävä Datatähti 2000: alkukilpailun ohjelmointitehtävä 1 Lyhyt tehtävän kuvaus Tehtävänä on etsiä puurakenteen esiintymiä kirjaintaulukosta. Ohjelmasi saa syötteenä kirjaintaulukon ja puun, jonka jokaisessa

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu 832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa

Lisätiedot

Tehtävä 5 : 1. Tehtävä 5 : 2

Tehtävä 5 : 1. Tehtävä 5 : 2 Tehtävä 5 : 1 Merkitään kirjaimella H kuvan punaisten solmujen virittämää verkon G yhtenäistä aliverkkoa, jossa on yhteensä kolme särmää. Aliverkosta H voidaan kahdella tavalla valita kahden solmun joukko

Lisätiedot

6. Tekijäryhmät ja aliryhmät

6. Tekijäryhmät ja aliryhmät 6. Tekijäryhmät ja aliryhmät Tämän luvun tavoitteena on esitellä konstruktio, jota kutsutaan tekijäryhmän muodostamiseksi. Konstruktiossa lähdetään liikkeelle jostakin isosta ryhmästä, samastetaan alkioita,

Lisätiedot

Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan koulutusohjelma. Kaariväritysongelma. Kandidaatintyö. 29. huhtikuuta 2012. Sami J.

Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan koulutusohjelma. Kaariväritysongelma. Kandidaatintyö. 29. huhtikuuta 2012. Sami J. Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan koulutusohjelma Kaariväritysongelma Kandidaatintyö 29. huhtikuuta 2012 Sami J. Lehtinen Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan

Lisätiedot

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio Ellipsoidimenetelmä Kokonaislukuoptimointi Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 1 Sisällys Ellipsoidimenetelmän geometrinen perusta ja menetelmän idea Formaali ellipsoidimenetelmä

Lisätiedot

Oikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen.

Oikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen. Tietorakenteet, kevät 2012 Kurssikoe 2, mallivastaukset 2. (a) Järjestämistä ei voi missään tilanteessa suorittaa nopeammin kuin ajassa Θ(n log n), missä n on järjestettävän taulukon pituus. Epätosi: Yleisessä

Lisätiedot

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

Lisätiedot

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n)) Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia

Lisätiedot

ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012

ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012 ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012 1.1. (a) Jaettava m, jakaja n. Vähennetään luku n luvusta m niin kauan kuin m pysyy ei-negatiivisena. Jos jäljelle jää nolla, jaettava oli tasan jaollinen. int m,

Lisätiedot

Lause (Cook-Levin) Kieli SAT = { on toteutuva lausekalkyylin kaava } on NP-täydellinen.

Lause (Cook-Levin) Kieli SAT = { on toteutuva lausekalkyylin kaava } on NP-täydellinen. 261 Lause (Cook-Levin) Kieli SAT = { on toteutuva lausekalkyylin kaava } on NP-täydellinen. Pitää osoittaa siis, että A mp SAT mielivaltaisella A NP Ainoa, mitä A:sta tiedetään on, että sillä on polynomisessa

Lisätiedot