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

Samankaltaiset tiedostot
Kuvausta f sanotaan tällöin isomorfismiksi.

Diskreetin matematiikan perusteet Laskuharjoitus 6 / vko 13

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja

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

3.3 KIELIOPPIEN JÄSENNYSONGELMA Ratkaistava tehtävä: Annettu yhteydetön kielioppi G ja merkkijono x. Onko

Rekursioyhtälön ratkaisutapa #1: iteratiivinen korvaus

T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (Predikaattilogiikka )

Diskreetin matematiikan perusteet Ratkaisut 4 / vko 11

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 5 Demonstraatiotehtävien ratkaisut. ja kaikki a Σ ovat säännöllisiä lausekkeita.

Matematiikan johdantokurssi, syksy 2017 Harjoitus 6, ratkaisuista. 1. Onko jokin demojen 5 tehtävän 3 relaatioista

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

OSA 1: POLYNOMILASKENNAN KERTAUSTA, BINOMIN LASKUSÄÄNTÖJÄ JA YHTÄLÖNRATKAISUA

Riemannin integraalista

12. Liikenteenhallinta verkkotasolla

763333A KIINTEÄN AINEEN FYSIIKKA Ratkaisut 1 Kevät 2014

Määritelmä Olkoon C R m yksinkertainen kaari ja γ : [a, b] R m sen yksinkertainen parametriesitys, joka on paloittain C 1 -polku.

II.1. Suppeneminen., kun x > 0. Tavallinen lasku

12. Liikenteenhallinta verkkotasolla

3 Integraali ja derivaatta

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015

Matematiikan tukikurssi

S Laskennallinen systeemibiologia

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

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

Sähkömagneettinen induktio

LINSSI- JA PEILITYÖ TEORIAA. I Geometrisen optiikan perusaksioomat

2.4 Pienimmän neliösumman menetelmä

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali

Neliömatriisin A determinantti on luku, jota merkitään det(a) tai A. Se lasketaan seuraavasti: determinantti on

Syksyn 2015 Pitkän matematiikan YO-kokeen TI-Nspire CAS -ratkaisut

Q = {q 1, q 2, q 3, q 4 } Σ = {a, b} F = {q 4 },

Lyhyt johdatus joukko-oppiin ja relaatioihin

solmujoukko V omassa säiliössä (sekvenssi) kaarijoukko E kaarialkio-säiliössä kussakin kaarialkiossa viite sen alku- ja loppusolmuun

MS-A010{2,3,4,5} (SCI, ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali

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

Reaalinen lukualue. Millainen on luku, jossa on päättymätön ja jaksoton desimaalikehitelmä?

2.6 SÄÄNNÖLLISET LAUSEKKEET Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

11. MÄÄRÄTTY INTEGRAALI JA TILAVUUS

Säännöllisten operaattoreiden täydentäviä muistiinpanoja

Matematiikan tukikurssi

5 Epäoleellinen integraali

Algoritmi on periaatteellisella tasolla seuraava:

Kertymäfunktio. Kertymäfunktio. Kertymäfunktio: Mitä opimme? 2/2. Kertymäfunktio: Mitä opimme? 1/2. Kertymäfunktio: Esitiedot

Graafinen ohjeisto. Julkis- ja yksityisalojen toimihenkilöliitto Jyty

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen)

6 Integraalilaskentaa

3.5 Kosinilause. h a c. D m C b A

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

TEHTÄVÄ 1. Olkoon (f n ) jono jatkuvia funktioita f n : [a, b] R, joka suppenee välillä [a, b] tasaisesti kohti funktiota f : [a, b] R.

7.lk matematiikka. Geometria 1

2.1 Vaillinaiset yhtälöt

10. MÄÄRÄTYN INTEGRAALIN KÄYTTÖ ERÄIDEN PINTA-ALOJEN LASKEMISESSA

Olkoon. M = (Q, Σ, δ, q 0, F)

Esimerkki 8.1 Määritellään operaattori A = x + d/dx. Laske Af, kun f = asin(bx). Tässä a ja b ovat vakioita.

Riemannin integraali

Olkoon. äärellinen automaatti. Laajennetaan M:n siirtymäfunktio yksittäisistä syötemerkeistä merkkijonoihin: jos q Q, x Σ, merkitään

x k 1 Riemannin summien käyttö integraalin approksimointiin ei ole erityisen tehokasta; jatkuvasti derivoituvalle funktiolle f virhe b

Numeeriset menetelmät TIEA381. Luento 9. Kirsi Valjus. Jyväskylän yliopisto. Luento 9 () Numeeriset menetelmät / 29

VALTIOTIETEELLINEN TIEDEKUNTA TILASTOTIETEEN VALINTAKOE Ratkaisut ja arvostelu

Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

Integraalilaskentaa. 1. Mihin integraalilaskentaa tarvitaan? MÄNTÄN LUKIO

Painopiste. josta edelleen. x i m i. (1) m L A TEX 1 ( ) x 1... x k µ x k+1... x n. m 1 g... m n g. Kuva 1. i=1. i=k+1. i=1

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

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause

TAMPEREEN YLIOPISTO Valinnaisten opintojen syventäviin opintoihin kuuluva tutkielma. Lauri Kumpulainen. Büchin automaateista

Kirjallinen teoriakoe

MS-A010{2,3,4,5} (SCI,ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause

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

Suorat, käyrät ja kaarevuus

( ) Pyramidi 4 Analyyttinen geometria tehtävien ratkaisut sivu 321 Päivitetty Saadaan yhtälö. 801 Paraabeli on niiden pisteiden ( x,

Automaatin tunnistama kieli on sen hyväksymien merkkijonojen joukko. Täsmällinen muotoilu: δ,q 0,{q 2,q 3,q 6 }), missä

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

5 Riemann-integraali ANALYYSI B, HARJOITUSTEHTÄVIÄ, KEVÄT Ala- ja yläintegraali

a = x 0 < x 1 < x 2 < < x n = b f(x) dx = I. lim f(x k ) x k=1

Pythagoraan lause. Pythagoras Samoslainen. Pythagoraan lause

1. Derivaatan Testi. Jos funktio f on jatkuva avoimella välillä ]a, b[ ja x 0 ]a, b[ on kriit. tai singul. piste niin. { f (x) > 0, x ]a, x 0 [

Kattoeristeet - nyt entistä parempia kokonaisratkaisuja. Entistä suurempi Kuormituskestävyys ja Jatkuva Keymark- Laadunvalvontajärjestelmä

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Menetelmä useasti yhdistettyjen asyklisten uskomusverkkojen tiedon päivittämiseen

Käydään läpi: ääriarvo tarkastelua, L Hospital, integraalia ja sarjoja.

Paraabelikin on sellainen pistejoukko, joka määritellään urakäsitteen avulla. Paraabelin jokainen piste toteuttaa erään etäisyysehdon.

SARJAT JA DIFFERENTIAALIYHTÄLÖT Funktiojonot 1

Pinta-alan laskeminen

Täydentäviä muistiinpanoja epädeterministisistä äärellisistä automaateista

12. Liikenteenhallinta verkkotasolla

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

Ristitulo ja skalaarikolmitulo

ANALYYSI I, kevät 2009

Integraalilaskenta. Määrätty integraali

Itseopiskeluohje to

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja

4 DETERMINANTTI JA KÄÄNTEISMATRIISI

Viivaintegraali: "Pac- Man" - tulkinta. Viivaintegraali: "Pac- Man" - tulkinta. "Perinteisempi" tulkinta: 1D 3/19/13

Analyysi 2. Harjoituksia lukuihin 1 3 / Kevät Anna sellainen välillä ] 2, 2[ jatkuva ja rajoitettu funktio f, että

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

4 Taso- ja avaruuskäyrät

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

1.3 Toispuoleiset ja epäoleelliset raja-arvot

9 A I N. Alkuperäinen piiri. Nortonin ekvivalentti R T = R N + - U T = I N R N. Théveninin ekvivalentti DEE SÄHKÖTEKNIIKAN PERUSTEET

isomeerejä yhteensä yhdeksän kappaletta.

Transkriptio:

583 Tietorkenteet j lgoritmit (kevät 205) Toinen välikoe, mllirtkisut. () Brnh n oun. Brnh n oun on lgoritmityyppi, joss tutkitn kikki ongelmn mhollisi rtkisuj puumisess rkenteess. Kun hvitn, että jokin rtkisuhr ei voi enää joht hluttuun lopputulokseen, sen tutkint lopetetn. Esimeriksi rnh n ouni voin käyttää kuppmtkustjn ongelmn rtkisemiseen - jos on löyetty jo jokin mhollinen kikkien kupunkien kutt kulkev reitti, voin hylätä kikki keskeneräiset reitit joien pituus on jo ksvnut tuot kokonist reittiä piemmäksi. () Yksinkertinen polku. Verkon polku on yksinkertinen, jos kukin polun solmu esiintyy polull vin kerrn. Polku lsketn yksinkertiseksi myös, jos sen viimeinen j ensimmäinen solmu ovt smt, jolloin polku kutsutn sykliksi. () Hrv verkko. Verkko snotn hrvksi, jos siinä on suhteellisesti vähän kri solmujen määrään n nähen. Esimerkiksi verkko, joss kri on kksinkertinen määrä solmujen määrään nähen on hrv (O(n) krt). Toislt verkoss, joss jokisest solmust on kri jokiseen muuhun solmuun on (n)(n ) = O(n 2 ) krt, eikä verkko tällöin ole hrv. () Suunntun verkon vhvsti yhtenäinen komponentti. Suunntun verkon solmut voin in jk vhvsti yhtenäisiin komponentteihin. Kunkin komponentin sisällä jokisest solmust on olemss polku muihin komponentin solmuihin. Täsmällisesti verkon vhvsti yhtenäisille komponenteille V, V 2,..., V n pätee siis: Jokinen solmu kuuluu tsn yhteen komponenttiin, ts. v V i v / V j, jos i j. Jokisest solmust on polku jokiseen smn komponenttiin kuuluvn solmuun, v V i j u V i v u j u v Jos u V i, v V j j i j, ei ole olemss molempi poluist u v j v u. Kusskin likohss toistui usein smt virheet. Brnh n oun oli usein sekoitettu hjoit j hllitse -peritteeseen, polun yksinkertisuus yksikäsitteisyyteen j verkon hrvuus ei-yhtenäisyyteen. Vhvsti yhtenäiset komponentit näkyivät olleen hyvin tieoss. Pisteen smiseen riitti lyhyt j ytimekäs määritelmä, pienistä epätrkkuuksist sttoi menettää ospisteitä, tehtävän kokonispisteet pyöristettiin lopuksi ylöspäin. 2. Tehtävännnoss minitut puopertiot voin toteutt mksimi-3-keolle seurvsti: prent(i) return (i + )/3 left(i) return 3i mile(i) return 3i

right(i) return 3i + Hepifyn toteutus ei itse siss trvitse prent-opertion toteutust, joten sen puuttumisest ei tietenkään menettänyt pisteitä. Vrsininen hepify voin toteutt nyt hyvin smll tvll kuin inäärikeolle, joskin suurin rvo täytyy nyt etsiä kikist kolmest lpsest khen sijn. Algoritmi voin toteutt esim. seurvsti: hepify(a,i) l = left(i) 2 m = mile(i) 3 r = right(i) 4 if l A.hep-size 5 lrgestvlue = A[l] 6 lrgestinex = l 7 if m A.hep-size && lrgestvlue < A[m] 8 lrgestvlue = A[m] 9 lrgestinex = m 0 if r A.hep-size && lrgestvlue < A[r] lrgestvlue = A[r] 2 lrgestinex = r 3 if A[i] < lrgestvlue 4 A[lrgestInex] = A[i] 5 A[i] = lrgestvlue 6 hepify(a, lrgestinex) Riveillä -3 solmun i lpset otetn muuttujiin l,m j r, kuten luennoill esitetyssä inäärikeon lgoritmiss. Uloin if-ehto rivillä 4 trkist onko solmull vsent lst, toisin snoen onko lpsi ollenkn. Jos vsen lpsi on olemss, setetn vsen lpsi suurimmksi löyetyksi lpsisolmuksi. Tämän jälkeen riveillä 7-2 trkistetn, löytyykö solmult muit lpsi j onko suurin rvo josskin niistä. Riville 3 tultess lsten suurin rvo on löytynyt, j sen rvo on muuttujss lrgestvlue j ineksi kekotulukoss muuttujss lrgestinex. Rivin if-ehto trkist, onko lsten suurin rvo suurempi kuin solmun i rvo, j jos on, suoritt rvojen vihot j rekursiokutsun kuten inäärikeon tpuksess (rivit 4-6). Hepify-opertio on selvästi vkioikinen lukuunottmtt viimeisen rivin rekursiokutsu, joten suorituksen ikvtivuus määräytyy suoritettujen rekursiokutsujen määrän mukn. Keon kullkin solmull (limpi kht tso lukuunottmtt) on kolme lst, joten keon korkeueksi sn O(log 3 (n)), joten myös hepifyopertion phimmn tpuksen ikvtivuus on O(log 3 (n)). Huomttvn pljon pistemenetyksiä iheutti hepifyn sekoittminen hep-insertiin, jolloin kekoehto korjttiin rkenteess ylöspäin. Monelt vstjlt oli myös unohtunut trkist, kuuluuvtko lkiot left, mile j right kekoon. Suuress osss lähes oikeit rtkisuj hepify toimii väärin keon limmn tson lpsi trkstelless, jos A.hep-size==m j A[l]>A[m]. Täyet pisteet si toimivll lgoritmill, jonk puopertiot oli kirjoitettu oikein uki j ikvtivuus nnettu oikein. Yksittäinen pieni 2

huolimttomuusvirhe ei välttämättä johtnut pistemenetyksiin jos se ei vikuttnut lgoritmin rkenteeseen rtkisevsti. 3. () Oike vstus on kyllä j pelkästään oikest vstuksest si yhen pisteen. Tässä esimerkki eräästä tvst toist väite: Toistuksemme muistutt hiemn lemmn 8.8 toistust. Olkoon meillä verkko G = (V, E), jok toteutt tehtävännnon ehot, eli khell eri krell ei ole sm pino. Olkoon S V joukko verkon G solmuj. Lemmn 8.8 perusteell tieetään, että jos e on kevyin kri, jok yhistää solmut joukoist S j V \S, niin se kuuluu johonkin pienimpään virittävään puuhun. Toistetn, että tässä tpuksess se kuuluu itsesiss jokiseen pienimpään virittävään puuhun. Tehään vstoletus: on olemss pienin virittävä puu T, johon e ei kuulu. Nyt kun lisäämme puuhun T kren e, niin siihen syntyy sykli. Täten puuss T on olemss sellinen kri e, että se yhistää joukkoihin S j V \S kuuluvt solmut j T = (T \{e }) {e} on puu. Nyt e e, joten kri e on iosti pinvmpi kuin e, j täten puun T pino on iosti pienempi kuin puun T pino, eikä T voi oll pienin virittävä puu. Täten kri e kuuluu jokiseen pienimpään virittävään puuhun. Nyt voimme toist pienimmän virittävän puun yksikäsitteisyyen. Olkoon v mielivltinen verkon G solmu, merkitään S = {v }. Nyt kevyin kri e, jok yhistää joukot S j V \S kuuluu jokiseen pienimpään virittävään puuhun. Olkoon sitten v 2, se kren e päätepiste, jok ei kuulu joukkoon S, j S 2 = S {v 2 }, nyt meillä on yksikäsitteinen kri e 2, jok on kevyin joukot S 2 j V \S 2 yhistävä kri... Tätä jtkmll smme vlituksi kret e, e 2,..., e n, missä n = V, jotk kuuluvt jokiseen pienimpään virittävään puuhun. Kosk virittävässä puuss voi oll enintään n krt, on pienimpiä virittäviä puit inostn yksi. Vihtoehtoinen tp. Olkoon G verkko, jonk jokisen kren pino on eri j T Krusklin lgoritmin löytämä pienin virittävä puu verkolle G. Olkoon T jokin pienin virittävä puu siten että T T. Nyt on kevyin sellinen kri e T, jok ei ole puuss T. Tätä krt kevyemmille krille f pätee f T f T, sillä ensinnäkin tieetään, että jos w(f) < w(e) j f T, niin f T, sillä e oli kevein puun T kri, jok ei kuulu puuhun T. Toislt jos tällinen f T, niin selvästikään se ei voi muoost sykliä sellisten puuss T olevien krien g knss, joien pinolle pätee w(g) < w(e), sillä nämä sisältyvät myös puuhun T. Täten Krusklin lgoritmin on vlittv myös tämä kri puuhun T. Olkoon e = (, ). Nyt siinä yksiselitteisessä yksinkertisess poluss pisteestä pisteeseen puuss T on oltv kri e, jonk pino on suurempi ti yhtä suuri kuin kuin kren e pino, muuss tpuksess tämä polku sisältyisi puuhun T j yhessä kren e knss näistä stisiin muoostettu sykli. Kosk e T j jokisell krell on eri pinot, pätee w(e ) > w(e). Täten (T \{e }) {e} on puu, jok virittää verkon G j jonk pino on iosti pienempi kuin puun T pino, eikä T voi oll täten pienin virittävä puu. Olemme toistneet, että T on verkon G ino pienin virittävä puu. Joitkin toistusyritelmiä j mikä niissä menee pieleen: Ehkä yleisin mok tässä tehtävässä oli olett, että jos T j T ovt verkon G pienimpiä virittäviä puit, niin ne erovt vin yhellä krell, j tässä tpuksess yk- 3

sikäsitteisyyen toistminen on hyvin helppo. Tämä ei kuitenkn toist mitään tilnteest, joss puut erovt enemmällä kuin yhellä krell. Toinen kohtuullisen yleinen tp yrittää toist tätä väitettä oli toet, että Krusklin lgoritmin ti Primin lgoritmin löytämät pienimmät virittävät puut ovt yksikäsitteiset. Näistä lgoritmeist tieetään kuitenkin vin se, että ne löytävät jonkun pienimmän virittävän puun, kikki pienimmät virittävät puut eivät välttämättä ole löyettävissä näillä lgoritmeil (ti inkn tätä ei ole kurssill toistettu, eikä kenenkään koevstuksess). Yksi tp oli trkstell solmujen jko khteen epätyhjään joukkoon j olett, että pienimmässä virittävässä puuss on vin yksi kri, jok yhistää nämä joukot. Tämäkään ei ole tott, jok nähään esimerkiksi miettimällä pienimmän virittävän puun kksiväritystä, väreinä vlkoinen j must. Tällöin jos otetn trkstelunlisiksi joukoiksi vlkoiset solmut j mustt solmut, niin jokinen pienimmän virittävän puun kri yhistää nämä joukot. Viimeisenä esimerkkinä on toistusyritelmä inuktioll, joit oli muutmi. Juoni meni suunnilleen näin: jos verkoss on solmu, niin väite pätee selvästi. Päteköön väite sitten verkolle, joss on m solmu. Jos tälliseen verkkoon G lisätään yksi solmu s j jokin joukko kri solmust s verkkoon G, niin smme verkon G. Nyt verkon G pienin virittävä puu on T e, missä T on verkon G (yksikäsitteinen) pienin virittävä puu j e on kevein krist, jok yhistää solmun s verkkoon G, j se on täten yksikäsitteinen. Tässä rtkisuss ei otet huomioon sitä, että verkon G pienimmässä virittävässä puuss voi oll usempi kuin yksi näistä "uusist krist". Kuten iemmin toettiin, si tehtävästä yhen pisteen jo oikell rvuksell. Kksi pistettä si hiemn puutteellisest, mutt muuten järkevästä toistusyrityksestä. () Väite on epätosi, j siihen on melko yksinkertinen vstesimerkki. Verkon pienimpiä virittäviä puit ovt muun muss 4

eli niitä on inkin 6, vikk verkoss on kri vin 5. Pelkästä oikest vstuksest si yhen pisteen, kksi pistettä si jos oli puutteellinen/muuten ongelmllinen, mutt jossin määrin järkevä vstesimerkki. 4. Tehtävä on vnh lskuhrjoitustehtävä vk t5. Algoritmin perusien oikein smisest si 4p, p jos ikvtivuus oli nlysoitu oikein j p si myös siitä, että lgoritmi toell löytää turvllisimmn polun, eikä vin toennäköisyyttä mtktvroien ktomiselle turvllisimmll polull. Pisteitä menetti muun muss liin tehottomst ohjelmst, tehtävännnoss ei suorn minittu mitään tehokkusvtimuksi ohjelmlle, mutt trkoituksen on etsiä tietynlinen polku verkost jonk solmuin ovt kikki milmn lentokentät j krin kikki näien väliset suort lennot. Täten eksponentilinen lgoritmi ei tule kysymykseenkään, sillä sellisell ongelmn rtkisuun stt mennä jop miljooni vuosi, ti pljon enemmänkin. Myös siitä menetti pisteitä, jos ei ollut selkeästi kertonut, mitä kohti pitää muutt verkoss ti Dijkstrss. 5