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

Samankaltaiset tiedostot
6. Approksimointialgoritmit

Johdatus graafiteoriaan

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Algoritmi on periaatteellisella tasolla seuraava:

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

Algoritmit 2. Luento 11 Ti Timo Männikkö

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

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

Johdatus graafiteoriaan

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

Algoritmit 1. Luento 13 Ti Timo Männikkö

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)

Algoritmit 1. Luento 8 Ke Timo Männikkö

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

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

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

v 8 v 9 v 5 C v 3 v 4

j(j 1) = n(n2 1) 3 + (k + 1)k = (k + 1)(k2 k + 3k) 3 = (k + 1)(k2 + 2k + 1 1)

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

Algoritmit 2. Luento 13 Ti Timo Männikkö

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

isomeerejä yhteensä yhdeksän kappaletta.

Algoritmit 1. Luento 13 Ma Timo Männikkö

Pienin virittävä puu (minimum spanning tree)

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

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

MS-A0402 Diskreetin matematiikan perusteet

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

Puiden karakterisointi

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

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

Diskreetit rakenteet

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

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

Ei-yhteydettömät kielet [Sipser luku 2.3]

Datatähti 2019 loppu

Algoritmit 2. Luento 12 Ke Timo Männikkö

13 Lyhimmät painotetut polut

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

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

Mat Lineaarinen ohjelmointi

Algoritmit 1. Luento 14 Ke Timo Männikkö

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

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

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

VERKKOTEORIAN ALKEITA. Martti E. Pesonen

Algoritmit 1. Luento 9 Ti Timo Männikkö

Eulerin verkkojen karakterisointi

Silmukkaoptimoinnista

Johdatus verkkoteoriaan 4. luento

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe malliratkaisut ja arvosteluperusteet

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

7. Satunnaisalgoritmit (randomized algorithms)

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

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

5.2 Eulerin kehät ja -polut

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

Algoritmit 2. Luento 13 Ti Timo Männikkö

Tarkennamme geneeristä painamiskorotusalgoritmia

MS-A0401 Diskreetin matematiikan perusteet

Algoritmit 1. Luento 1 Ti Timo Männikkö

Tietorakenteet, esimerkkivastauksia viikon 12 laskareihin

Algoritmit 2. Luento 14 To Timo Männikkö

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Yleinen paikallinen vakautuva synkronointialgoritmi

PARITUS KAKSIJAKOISESSA

Johdatus graafiteoriaan

Voidaanko verkkoteoriaa opettaa lukiolaisille?

Diskreetin matematiikan perusteet Esimerkkiratkaisut 3 / vko 10

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

10. Painotetut graafit

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

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:

Algoritmit 1. Luento 7 Ti Timo Männikkö

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

Tietorakenteet, esimerkkivastauksia viikon 12 laskareihin

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

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

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen)

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

Polkuintegraali yleistyy helposti paloitain C 1 -poluille. Määritelmä Olkoot γ : [a, b] R m paloittain C 1 -polku välin [a, b] jaon

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

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

Laskennan vaativuus ja NP-täydelliset ongelmat

Shorin algoritmin matematiikkaa Edvard Fagerholm

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

3.4 Peruutus (backtracking)

Algoritmit 2. Luento 6 Ke Timo Männikkö

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

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

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Verkon värittämistä hajautetuilla algoritmeilla

Kiinalaisen postimiehen ongelma

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

Algoritmit 2. Luento 2 To Timo Männikkö

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

A TIETORAKENTEET JA ALGORITMIT

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

Transkriptio:

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

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 4.2. 2

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

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

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

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

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

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

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

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 + 1 2 OPT = 3 2 OPT. 10

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

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

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

Minimaalisen k-leikkauksen approksimointi Algoritmi: 1. Laske syöteverkon Gomory-Hu -puu (katso J. van Leeuwen, Handbook of Theoretical Computer Science, Volume A, sivut 605-608). 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

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