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

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

6. Approksimointialgoritmit

4.3. Matemaattinen induktio

missä on myös käytetty monisteen kaavaa 12. Pistä perustelut kohdilleen!

missä on myös käytetty monisteen kaavaa 12. Pistä perustelut kohdilleen!

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Suunnittelu ja skedulointi terveydenhuollossa Optimointiopin seminaari - Syksy Esitelmä 17 -Jarno Ruokokoski.

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

b) Määritä myös seuraavat joukot ja anna kussakin tapauksessa lyhyt sanallinen perustelu.

Pikalajittelu: valitaan ns. pivot-alkio esim. pivot = oikeanpuoleisin

2.2.1 Ratkaiseminen arvausta sovittamalla

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

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.

Matematiikan tukikurssi, kurssikerta 5

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

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

Luku 4. Derivoituvien funktioiden ominaisuuksia.

Analyysi III. Jari Taskinen. 28. syyskuuta Luku 1

Algoritmit 1. Luento 12 Ti Timo Männikkö

Ratkaisu: Käytetään induktiota propositiolauseen A rakenteen suhteen. Alkuaskel. A = p i jollain i N. Koska v(p i ) = 1 kaikilla i N, saadaan

Miten osoitetaan joukot samoiksi?

Diskreetin Matematiikan Paja Ratkaisuhahmotelmia viikko 1. ( ) Jeremias Berg

Onko kuvaukset injektioita? Ovatko ne surjektioita? Bijektioita?

Algoritmit 1. Luento 13 Ti Timo Männikkö

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

Algoritmit 1. Luento 12 Ke Timo Männikkö

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

1 Supremum ja infimum

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

1. Logiikan ja joukko-opin alkeet

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015

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

1 sup- ja inf-esimerkkejä

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

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

d ) m d (I n ) = 2 d n d. Koska tämä pätee kaikilla

Täydentäviä muistiinpanoja laskennan rajoista

Formalisoidaan hieman täsmällisemmin, millaisia suoritustakuita satunnaisalgoritmeilta voidaan vaatia.

Matematiikan tukikurssi

Ensimmäinen induktioperiaate

Ensimmäinen induktioperiaate

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

Testit laatueroasteikollisille muuttujille

Valitsemalla sopivat alkiot joudutaan tämän määritelmän kanssa vaikeuksiin, jotka voidaan välttää rakentamalla joukko oppi aksiomaattisesti.

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Kahden suoran leikkauspiste ja välinen kulma (suoraparvia)

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

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

2 Funktion derivaatta

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

MS-A0402 Diskreetin matematiikan perusteet

Lisää pysähtymisaiheisia ongelmia

Kanta ja dimensio 1 / 23

min x x2 2 x 1 + x 2 1 = 0 (1) 2x1 1, h = f = 4x 2 2x1 + v = 0 4x 2 + v = 0 min x x3 2 x1 = ± v/3 = ±a x 2 = ± v/3 = ±a, a > 0 0 6x 2

1 sup- ja inf-esimerkkejä

IV. TASAINEN SUPPENEMINEN. f(x) = lim. jokaista ε > 0 ja x A kohti n ε,x N s.e. n n

2.5. Matriisin avaruudet ja tunnusluvut

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin

Muita vaativuusluokkia

1 Määrittelyjä ja aputuloksia

SAT-ongelman rajoitetut muodot

7.4 Sormenjälkitekniikka

Kokonaislukuoptimointi

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Shorin algoritmin matematiikkaa Edvard Fagerholm

KOMPLEKSIANALYYSI I KURSSI SYKSY 2012

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Diskreetti matematiikka, syksy 2010 Harjoitus 7, ratkaisuista

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

Matematiikan ja tilastotieteen laitos Matematiikka tutuksi Harjoitus 2, malliratkaisut

Todennäköisyyslaskenta IIa, syyslokakuu 2019 / Hytönen 2. laskuharjoitus, ratkaisuehdotukset

Johdatus matemaattiseen päättelyyn

Avaruuden R n aliavaruus

TOD.NÄK JA TILASTOT, MAA10 Kombinaatio, k-kombinaatio

Luku 2. Jatkuvien funktioiden ominaisuuksia.

Selvästi. F (a) F (y) < r x d aina, kun a y < δ. Kolmioepäyhtälön nojalla x F (y) x F (a) + F (a) F (y) < d + r x d = r x

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

Luonnollisten lukujen induktio-ominaisuudesta

Kuljetustehtävä. Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan. Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij

Johdatus matematiikkaan

Luonnollisten lukujen ja kokonaislukujen määritteleminen

2017 = = = = = = 26 1

Reaalifunktioista 1 / 17. Reaalifunktioista

Sovellettu todennäköisyyslaskenta B

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

Testaa taitosi 1: Lauseen totuusarvo

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Vieruskaverisi on tämän päivän luennolla työtoverisi. Jos sinulla ei ole vieruskaveria, siirry jonkun viereen. Esittäytykää toisillenne.

Todennäköisyyden ominaisuuksia

LUKUTEORIA johdantoa

Transkriptio:

C.C. McGeoch, Toward an experimental method for algorithm simulation algorithm simulation = algoritmin testaus, experimental algorithmics testiparametrit, esim. tapauksen koko, erilaiset tietorakennevaihtoehdot, jne. design point, kokeessa kiinnitetty parametrien kombinaatio periaate: - tarkastelun kannalta epäolennaiset parametrit kiinnitetään - oleellisten parametrien arvoja varioidaan - parametrit, joiden merkitystä ei ymmärretä tai joita ei voida kontrolloida, satunnaistutetaan

esim. bin-packing ( lokerointiongelma, muuttolaatikon pakkausongelma ) - syötteenä n reaalilukua väliltä (0,1] - luvut on jaettava mahdollisimman pieneen määrään osajoukkoja siten, että kunkin osajoukon alkioiden summa on korkeintaan 1 - lukuisia approksimointialgoritmeja - first-fit (FF): numeroidaan luvut johonkin järjestykseen sijoitetaan luvut vuorollaan ensimmäiseen mahdolliseen lokeroon - first-fit-decreasing (FFD): sama kuin FF, mutta luvut on järjestetty laskevaan järjestykseen - best-fit (BF): sama kuin FF, mutta lokeroksi valitaan se, mihin jää vähiten tyhjää tilaa lisäyksen jälkeen - best-fit-decreasing (BFD): sama kuin BF, mutta luvut on järjestetty laskevaan järjestykseen - heuristiikkoja helppo keksiä lisää...

voidaan todistaa, että FF:n ja BF:n tulos on aina korkeintaan 1.7 OPT + 2 lokeroa, missä OPT on optimitulos voidaan todistaa, että FFD:n ja BFD:n tulos on aina korkeintaan 1.22 OPT + 4 lokeroa bin-packing ei kuulu luokkaan PTAS (ei voida tuottaa mielivaltaisen hyviä approksimaatioita polynomisessa ajassa) mikä tarkoittaa että... Tarkastellaan jotain optimointiongelmaa ja sen approksimointialgoritmia A. Jos kaikilla tapauksilla algoritmin tuottamalle arvolle C ja optimitulokselle OPT pätee C εopt, niin sanotaan, että algoritmin A suhteellinen virhe on ε.

Lause 1. FF:n suheellinen virhe on 2. Tod. Tarkastellaan bin packing -ongelman tapausta, jossa luvut ovat a 1,..., a n. Optimitulokselle OPT pätee siis OPT a 1 +... + a n. Oletetaan, että FF tarvitsee m lokeroa. Näistä (m 1) lokeroa on enemmän kuin puoliksi täynnä. (Muuten lokeroita tarvittaisiin vähemmän.) On siis (m 1) / 2 < a 1 +... + a n OPT m 1 < 2 OPT m 2 OPT

Lause 2. Bin packing -ongelmalle ei ole olemassa approksimointialgoritmia, jonka suhteellinen virhe olisi pienempi kuin 3/2 (paitsi jos P = NP). Tod. Jos tällainen approksimointialgoritmi olisi olemassa, niin voitaisiin ratkaista NP-täydellinen PARTITION-ongelma polynomisessa ajassa. (Olkoon annettuna joukko S lukuja. Voidaanko S jakaa kahteen osaan niin, että lukujen summa molemmissa joukoissa on sama.) Olkoon annettuna PARTITION-ongelman tapaus. Muodostetaan bin packing -ongelman tapaus PARTITION-ongelman luvuista ja asetetaan lokeron kooksi puolet kaikkien lukujen summasta. Jos alkuperäisellä PARTITION-ongelmalla on ratkaisu, niin bin packing ongelman optimitulos on 2. Toisaalta on helppoa sijoittaa luvut kolmeen lokeroon. Saadaan siis approksimointialgoritmi, jonka suhteellinen virhe on 3/2. Jos suhteellinen virhe pienenee, löytyy optimi 2. Jos siis olisi approksimointialgoritmi, jonka suhteellinen virhe on pienempi kuin 3/2, löytyisi optimi 2 ja samalla ratkeaisi alkuperäinen PARTITION-ongelma. Tämä on mahdollista vain jos P = NP.

Määr. Ongelma kuuluu luokkaan PTAS, jos kaikilla ε > 0 on olemassa tapauksen koon suhteen polynomisessa ajassa toimiva approksimointialgoritmi A ε jonka suhteellinen virhe (1 + ε ). Lauseen 2 perusteella bin packing ei kuulu luokkaan PTAS. Määr. Ongelma kuuluu luokkaan APTAS, jos kaikilla ε > 0 on olemassa polynomisessa ajassa toimiva approksimointialgoritmi A ε jonka suhteellinen virhe (1 + ε ) + k, missä k on jokin vakio. Bin packing kuuluu luokkaan APTAS (todistus sivuutetaan). ----- Määr. Ongelma kuuluu luokkaan FPTAS, jos kaikilla ε > 0 on olemassa tapauksen koon ja (1/ ε):n suhteen polynomisessa ajassa toimiva approksimointialgoritmi A ε jonka suhteellinen virhe (1 + ε ).

PTAS FTAS APTAS