v 8 v 9 v 5 C v 3 v 4

Koko: px
Aloita esitys sivulta:

Download "v 8 v 9 v 5 C v 3 v 4"

Transkriptio

1 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 sovelluksessa pisteet voivat olla kaupunkeja ja viivat - suorat yhteydet, eli tiet joita pitkiin kaupungista pääsee toiseen suoraan (ei muiden verkon kaupunkien kautta). Tässä kuva tyypillisestä verkosta. Käytämme sitä esimerkkinä usein jatkossa. v 1 B v 6 D E v 7 A v 8 v 9 v 5 v 2 F C v 3 v 4 G Viiva voi olla kaksisuuntainen, jolloin se voidaan kulkea molempiin suuntiin tai yhdensuuntainen, jolloin sitä voi kulkea vain yhteen suuntaan. Jälkimmäisessä tapauksessa viivalla on alkupiste ja loppupiste ja kuvissa se merkitään nuolena. Myös kaksisuuntaisen viivan tapauksessa puhumme alku-ja loppupisteestä, jolloin jompikumpi päätepiste voidaan sanoa alkupisteeksi (toinen on silloin loppupiste), riippuen siitä, mihin suuntaan halutaan kulkea. Esimerkiksi yllä olevassa kuvassa v 2 ja v 9 ovat yhdensuuntaisia, muut viivat kaksisuuntaisia. Hyväksymme myös silmukoita, eli viivoja, jotka yhdistävät piste itseensä (kuvassa v 7 ) ja monikertaisia viivoja eli erilaisia viivoja samojen pisteiden välillä - kuvassa viivoilla v 3 ja v 4 samat päätepisteet, mutta ne ajatellaan erilaisiksi viivoiksi. Painotettu verkko, on sellainen verkko, jossa jokaiseen viivaan on liitetty 1

2 joku lukuarvo, joka sanotaan viivan painoksi (weight). Esimerkiksi jos verkon pisteet edustavat kaupunkeja ja viivat- teitä, viivan paino voi olla kaupunkien välinen etäisyys eli tien pituus. Painotettu verkko näyttää seuraavanlaiselta - 1 B 2 D E 2 A 4 5 4,3 F 9 C 3 2 G Jos verkosta otetaan kaksi pistettä, niiden välillä ei välttämättä ole viivoja, mutta voi olla, että toisesta pääsee toiseen muutamaa viivaa pitkin. Tällaista kulkua sanotaan reitiksi tai poluksi. Formaalisti siis reitti pisteestä a pisteseen b on ketju viivoja w 0,w 1,...,w n, missä vivan w 0 alkupiste on a, w n loppupiste on b ja jokaisen seuraavan viivan v i alkupiste on edellisen viivan v i 1 loppupiste. Tällöin a on reitin alkupiste ja b reitin loppupiste. Jos verkko on painotettu, reitillä on pituus - se on summa siihen sisältyvien viivojen painoista. Esimerkiksi yllätarkastellussa verkossa (v 1,v 6 ) onpolkua:stä D:hen. Tietysti niiden välillä on olemassa myös lyhyempi polku, jossa on vain yksi viiva v 8. Mutta jos sama verkko tarkastellaan painotettuna verkkona kuten yllä, niin ensimmäisen reitin paino on 1+2 = 3, kun taas toisen reitin paino on 5. Jos nämä painot edustavat joitakin kustannuksia, ensimmäinen onkin edullisempi. Verkko, jossa jokaisesta pisteestä päästään jokaiseen toiseen pisteeseen polkua pitkin, sanomme yhtenäiseksi. 2

3 Optimisaatio verkossa. Verkkoihin liittyy luonnollisella tavalla monta tärkeätä optimointi-ongelmaa. Tarkastelemme niistä kaksi - minimaalisen virittävän puun ongelma ja lyhyemmän reitin ongelma. Minimaalisen virittävän puun ongelma Sykli verkossa on sellainen reitti, joka yhdistää pisteen itseensä eli jonka alku-jaloppupisteetovatsamapiste.esimerkiksi verkossaylläviivatv 1,v 6,v 8 muodostavat syklin, joka yhdistää A:n itseensä. Myös (v 3,v 4 ) on sykli. Puu on sellainen yhtenäinen verkko, jossa ei ole sykliä. Puussa ei ole turhia viivoja, vaan jokaisesta pisteestä päästään toiseen vain yhtä reittiä pitkin. Puu yhtenäisessä verkossa G on sellainen kokoelma sen pisteitä ja viivoja (aliverkko) joka on itse verkkona puu. Virittävä puu verkossa, on puu verkossa, joka sisältää kaikki sen pisteet. Virittävä puu on siis ikäänkuin minimaalinen tapa valita annetussa verkossa yhteyksiä (viivoja), niin että kaikki pisteet ovat yhteydessä, mutta viivoja on mahdollisimman vähän. Jos verkko on painotettu, haluamme löytää siinä minimaalinen virittävä puu, eli sellainen verkon alipuu, jolla on pienin mahdollinen paino (sen viivojen yhteenlaskettu paino). Minimaalisen virittävän puun löytäminen. Minimaalinen virittävä puu rakennetaan vaiheittain tietyn algoritmin mukaan, lisämällä siihen yksi uusi piste ja yksi viiva kerrallaan. Algoritmin jokaisessa vaiheessa verkon pisteet ovat jaettu kahteen luokkaan - luokka A, jossa on ne pisteet, jotka ovat jo lisätty puuhun ja luokka B, jossa on ne pisteet, jotka eivät ole vielä puussa. Algoritmin alussa A koostuu vain yhdestä pisteestä, jonka saa valittaa mielivaltaisesti. 3

4 Algoritmin jokainen välivaihe on samanlainen- tarkastellaan kaikki viivat, joiden toinen päätepiste on A:ssä ja toinen B:ssä. Valitaan niistä viivoista sen, jolla on pienin paino ja lisätään se, sekä sen toinen päätepiste puuhun. Tällöin joukko A kasvaa ja joukko B pienenee. Jos viivoja jolla on pienin paino on enemmän kuin yksi, niistä valitaan kuitenkin vain yksi. Sen saa ottaa mielivaltaisesti. Algoritmi päättyy kun kaikki verkon pisteet kuuluvat puuhun. Esimerkki: Tarkastellaan seuraavaa verkkoa: b e a d 5 c 8 Aloitetaan minimaalisen puun konstruktio esim. pisteestä a (alkupisteen valinnalla ei ole merkitystä). Tarkastellaan kaikki a:sta lähtevät viivat (paitsi silmukat, joita ei nyt verkossa olekaan joka tapauksessa). Niistä painoltaan pienin on viiva ab, jonka paino 1. Lisätään siis tämä viiva ja sen loppupiste b puuhun. Seuraavaksi tarkastellaan viivoja, joiden toinen päätepiste on a tai b, mutta toinen ei ole. Nyt näistä pienin on be, sen paino on 3. Lisätään siis puuhun piste e ja viiva be. Jatketaan samalla tavalla. Seuraavassa vaiheessa pienin viiva on bd (paino 4), sitten seuraavassa vaiheessa df (paino 3). Nyt jäljellä on vain piste c. Kaikista viivoista, jotka johtavat pisteeseen c kaksi painoltaan pienintä ovat ac tai dc, molempien paino on 5. Näistä valitaan jompikumpi (mutta ei molempia, tällöin ei tule puuta!!!) f 4

5 Saadaan siis kaksi mahdollista ratkaisua. Näin ollen minimaalinen puu ei ole välttämättä yksikäsitteinen, mutta kaikilla mahdollisilla vastauksilla on sama pituus. Tässä tapauksessa minimaalisen puun pituus = 16. Sama lopputulos saadaan kun lähdetään liikkeelle mistä tahansa muusta pisteestä. Lyhyemmän reitin ongelma Olkoot a ja b jonkun painotetun verkon pisteitä. Halutaan löytää pituudeltaan mahdollisimman pieni reitti niiden välisssä. Tarkastelemme niin sanottua Dijekstran algoritmia, jonka avulla lyhyemmän reitin ongelma voidaan ratkaista. Algoritmi on monimutkaisempi kuin virittävän puu algoritmi. Edelleenkin jokaisessa algoritmin vaiheessa verkon pisteet jakautuvat kahteen luokkaan. Luokassa A ovat niin sanotut pysyvät pisteet, eli sellaiset pisteet joille on jo löydetty pienin reitti, joka yhdistää niitä pisteseen a. Jokaiselle pysyvälle pisteelle x on lisäksi annettu niin sanottu leima, joka on muodoltaan pari (t, y). Tämän parin ensimmäinen osa t on luku, joka kertoo, kuinka pitkä pituudeltaan on lyhin mahdollinen reitti pisteestä a tähän pisteeseen x. Toinen osa y on taas pisteen x edeltäjä tällaisessa reitissä. Leiman toisen osan avulla voidaan siis jäljittää myöhemmin lyhin reitti piste kerrallaan. Pysyvien pisteiden leimat eivät enää koskaan muutu vaikka algoritmi jatkuisi vielä. Algoritmi pysähtyy silloin, kun pisteestä b tulee pysyvä. Tällöin voidaan leimojen avulla jäljittää haluttu lyhin reitti. Miten se tapahtuu käytännössä selviää esimerkkeistä alla. Toisessa luokassa B on verkon kaikki muu, ei-pysyvät (tässä vaiheessa) pisteet, joihin asti, emme vielä löytäneet lyhintä reittiä pisteestä a. Joillakin ei-pysyvillä pisteillä on myös leimoja, jotka ovat muotoa (t, x), mutta ei välttämättä kaikilla. Lisöksi nämä leimat saattavat muuttua niiden kohdalla algoritmin edetessä, kun taas pysyvien pisteiden leimat eivät koskaan enää päivitty. 5

6 Leimoissa varastetaan samaa informaatiota kuin pysyvien pisteiden leimoissa, paitsi, että nyt kyse on mahdollisesta eli ainoastaan tähän mennessä löydetystä lyhimmästä reitistä. Jos löydetään lyhyempi, leima siis päivitetään. Algoritmin jokainen välivaihe näyttää seuraavalta. Tarkastellaan taas kaikki viivat, joiden alkapiste on A:ssä (pysyvien pisteiden luokassa) ja loppupiste on B:ssä. Olkoon v sellainen viiva, olkoon c sen alkupiste A:ssä ja d sen loppupiste B:ssä. Olkoon p(v) viivan v paino ja (t,y) pisteen c:n leima. Huomaa, että t on tällöin sellaisen reitin paino, joka yhdistää pisteitä a ja d, lisäksi lyhyemmän sellaisen. Jos tähän reittiin lisätään perään viiva v, saadaan eräs reitti pisteestä a pisteseen d. Jos pisteellä d ei vielä ole leimaa, asetetaan sen leimaksi (t + p(v),a). Ajatus tämän takana on seuraava - jos lyhin reitti pisteestä a pisteseen c on jo konstruoitu, niin eräs reitti pisteseen d saadaan, kun jatketaan edellinen reitti viivalla v. Tämä on ainakin jokin reitti a:stä d:hen, ja koska d:llä ei ole leimoja vielä, tämä reitti on ainakin toistaiseksi paras kandidaatti pienempään reittiin. Jos taas pisteellä d on jo leima (t,z), tämä tarkoittaa, että aikaisemmin löydettiin jo jokin mahdollisesti lyhin reitti a:stä d:hen, ja sen pituus on t. Toisaalta nyt meillä on myös uusi reitti pisteestä a pisteseen d pisteen c kautta ja sen paino on t+p(v). Verrataan tämä uusi reitti aikaisemman löydettyyn eli katsotaan onko t + p(v) mahdollisesti pienempi kuin t. Jos on, vanha reitti ei ollutkaan lyhin mahdollinen, joten muutetaan (eli päivitetään) d:n leima muotoon (t+p(v),a). Jos taas uusi reitti ei ollut pidempi kuin vanha eli t t+p(v), ei muuteta mitään. Näin siis tehdään jokaisen sopivan viivan kohdalla. Sopiva tässä yhteydessä siis tarkoittaa sellaista viiva jonka alkupiste on pysyvien joukossa ja loppupiste ei ole. Kierroksen lopussa tarkastellaan kaikki B:n pisteet, joilla on leima, ja valitaan niistä se piste, jolla on pienin leiman ensimmäinen osa (reitin pituus). Tämä piste siirretään leimaineen pysyvien joukkoon ja seuraava kierros alkaa. Jos pisteitä joilla on sama pienin leiman ensimmäinen osa on enemmän 6

7 kuin yksi, siirretään niistä joku yksi pysyvien joukkoon, ei ole väliä mikä. Algoritmi jatketaan kunnes b on siirtynyt pysyvien joukkoon. Esimerkki: Tarkastellaan vaihtelun vuoksi seuraavaa järjestettyä verkkoa, jossa siis kaikki viivat yhdensuuntaisia eli nuoleja. 100 b d 50 a c Halutaan löytää lyhyin reitti pisteiden a ja b välillä. e Alussa piste a on ainoa pysyvä piste ja se saa leiman (0,a) (ei tarvita mitään viivoja, että pääse a:stä a:han). Tarkastellaan kaikki viivat, jotka lähtevät a:stä. Niitä on- viiva ab, jonka paino 100 ja viiva ac, jonka paino 30. Koska pisteillä b ja c ei ole vielä leimoja, b saa leiman (100,a) ja c saa leiman (30, a). Leimoista kannattaa pitää erikseen kirjaa, esim. taulukkomuodossa. Nyt joukossa B sijaitsevat kaikki pisteet paitsi a ja niistä leimoja ovat saaneet b ja c. Pienin leima on c:llä (30), joten c siirretään pysyvien joukkoon. Algoritmin ensimmäinen kierros päättynyt. Kierros 2: Nyt pysyvien pisteiden joukossa on pisteet a ja c. Nyt pitäisi tarkastella kaikki nuolet, jotka alkavat a:ssä tai c:ssä ja päättyvät muihin pisteisiin. Mutta nuoli ab on jo tarkasteltu ensimmäisen kierroksen aikana, joten siitä ei tarvitse enää välitä. Sama havainto pätee itse asiassa jokaisen kierroksen kohdalla - riittää tarkastella vain niitä viivoja, jotka alkavat uudessa pisteessä, joka lisättiin siis edellisen kierroksen lopussa. Viiva cd tuo pisteelle d leiman (30+10 = 40,c) ja viiva ce - leiman (90,c) pisteelle e. Näistä pienin on pisteellä d, joten se siirtyy pysyvien pisteiden joukkoon. Kierros 3: Pysyvien pisteiden joukossa pisteet a, c, d. Tarkastellaan taas viivat, jotka alkavat tuoreessa pysyvässä pisteessä d ja loppuvat ei-pysyvään 7

8 pisteeseen. Tällaisia on kaksi - viiva de ja viiva db. Näistä de määrää reitin a c d e, jonka pituus on = 90. Tämä ei ole parempi kuin d leiman (90, c) ensimmäinen osa, joten sitä leimaa ei tarvitse päivitä. Sen sijaan jos tarkastellaan viivaa db, jonka pituus 15, niin koska = 55 < 100, tästä saadaan parempi tulos kuin aikaisempi b:n leima (100, 1). Muutetaan b:n leima siis leimaksi (55, d). Nyt ei-pysyvistä pisteistä b:llä on leima (55, d) ja e:llä leima (90, c). Näistä 55 on pienin, joten b:stä tulee pysyvä piste. Koska olemme etsineet lyhintä reittiä a:stä b:hen, voimme lopettaa. Pienin reitti on siis pituudeltaan 55. Sen viivoja voidaan jäljittää nyt menemällä leimoja pitkin taaksepäin. b:n leima on (55,d), joten sen edeltäjä on d. d:n leima puolestaan (40,c), joten sen edeltäjä c ja niin edelleen. Haluttu polku on siis a c d b. Alla kuva samasta verkosta, jossa lisätty informaatiota kaikista leimoista, jotka algoritmin suorituksen aikana tulivat esille (55, d) 100 (100, a) b d (40, c) 50 (0, a) a 30 c (30, a) 60 e (90, c) Huomaa, että lyhimmän reitin jokainen osa on myös lyhin mahdollinen. Näin ollen samalla olemme laskeneet, että lyhin reitti a:stä c:hen on a c ja lyhin reitti a:stä d:hen on a c d. Näitä ei tarvitse siis laskea samalla algoritmilla uudestaan. Lyhimmän reitin ongelma lineaarisena optimointiongelmana Lyhimmän reitti ongelma voidaan muotoilla myös lineaarisena optimointiongelmana. Sen jälkeen se voidaan ratkaista esimerkiksi Solverilla. 8

9 Malli konstruoidaan seuraavalla tavalla. Muuttujat vastaavat verkon viivoja - yksi muuttuja per viiva. Yleensä muuttujat merkitään x ij, missä ij on se viiva, joka alkaa pisteessä i ja loppuu pisteeseen j. Objektifunktio saadaan kertomalla viiva ij vastaava muuttuja viivan painolla ja laskemalla kaikki nämä yhteen. Tämä funktio edustaa polun pituutta, joten se pitää minimoida. Esimerkiksi edellisessä esimerkissä ongelmassa olisi 7 muuttujaa - x ab,x ac, x cd, x db, x bc, x de ja x ce. Ajatus on siinä, että ratkaisussa muuttujan x ij arvosta nähdään onko vastaava viiva ij parhaassa reitissä vai eikö seuraavasti - jos vastaavan muuttujan arvo 0, viiva ei ole reitissä mukana, jos se on taas > 0, viiva on mukana. Yleensä jälkimmäisessä tapauksessa arvo on 1, mutta jos ratkaisu ei yksikäsitteinen (vähintään kaksi erilaista lyhintä reittiä), näin ei välttämättä ole. Reunaehtoja saadaan seuraavan periaatteen mukaisesti - jokaisessa verkon pisteessä sisään menevien nuolten summan pitää olla sama kuin ulospäin menevien. Lisäksi verkkoon lisätään yksi pisteeseen a menevä nuoli (ilman alkupistettä), jonka arvo 1, samoin yksi viiva joka lähtee b:stä. Eli edellisessä esimerkissä näin: 1 15 b d a c e Huomaa, nämä arvot 1 EIVÄT ole painoja, vaan vakioita, joita kohdellaan samalla tavalla kuin muuttujia. Nyt jokaista verkon pistettä vastaa yhtälö, jossa vasemmalla puolella - kaikki viivat (tai siis niitä vastaavat muuttujat tai vakiot) jotka tulevat pisteeseen sisään ja oikealla puolella - kaikki jotka menevät ulos. Siis: Piste a - 1 = x ab +x ac, Piste b - x ab +x db = x bc +1, Piste c - x ac +x bc = x cd +x ce, Piste d - x cd = x db +x de, Piste e - x ce +x de = 0. Nämä siis ovat vastaavan lineaarisen ongelman reunaehdot. 9

10 Jos ne kirjoittaa kuten on tapana sillä tavalla, että vasemmalla puolella on muuttujat ja oikealla vakiot, saadaan ehdot muotoon Piste a - x ab +x ac = 1, Piste b - x bc x ab x db = 1, Piste c - x ac +x bc x cd +x ce = 0, Piste d - x cd x db x de = 0, Piste e - x ce +x de = 0. Huomataan, että jos näiden kertoimia kootaan taulukoksi, jossa sarakkeet vastaavat muuttujia eli viivoja ja rivit pisteitä, se näyttää seuraavanlaiselta - Tyhjät kohdat vastaavat nollia. x ab x ac x bc x cd x ce x db x de a b c d e Tällainen taulukko konstruoidaan seuraavalla yksinkertaisella tavalla - jokaisessa sarakkeessa laitetaan 1 saraketta vastaavan viivan alkupisteen kohdalle ja 1 loppupisteen kohdalle. Loput alkiot nollia. Viimeinen sarake vastaa ehtojen oikeanpuoleisia vakioita- niistä etsityn reitin alkupisteettä vastaa 1, loppupistettä 1 ja loput nollia. Minimoittava objekti funktio on 100x x x x x x x 45. Katso myös sama esimerkki Excel-tiedostona ratkaistuna Solverin avulla. 10

Liite 2: Verkot ja todennäköisyyslaskenta

Liite 2: Verkot ja todennäköisyyslaskenta Ilkka Mellin Todennäköisyyslaskenta Liite 2: Verkot ja todennäköisyyslaskenta Verkot TKK (c) Ilkka Mellin (2007) 1 Verkko eli graafi: Määritelmä 1/2 Verkko eli graafi muodostuu pisteiden joukosta V, särmien

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

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

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 2. Luento 11 Ti Timo Männikkö Algoritmit 2 Luento 11 Ti 24.4.2018 Timo Männikkö Luento 11 Rajoitehaku Kapsäkkiongelma Kauppamatkustajan ongelma Paikallinen etsintä Lyhin virittävä puu Vaihtoalgoritmit Algoritmit 2 Kevät 2018 Luento

Lisätiedot

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

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen 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

Lisätiedot

Johdatus graafiteoriaan

Johdatus graafiteoriaan Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 126 Luku 3 Puut 3.1 Puu 3.2 Virittävä puu 3.3 Virittävän puun konstruointi 3.4 Minimaalinen virittävä puu

Lisätiedot

Johdatus verkkoteoriaan 4. luento

Johdatus verkkoteoriaan 4. luento Johdatus verkkoteoriaan 4. luento 28.11.17 Viikolla 46 läpikäydyt käsitteet Viikolla 47 läpikäydyt käsitteet Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot,

Lisätiedot

Liite: Verkot. TKK (c) Ilkka Mellin (2004) 1

Liite: Verkot. TKK (c) Ilkka Mellin (2004) 1 Liite: Verkot TKK (c) Ilkka Mellin (2004) 1 : Mitä opimme? Verkkoteoria on hyödyllinen sovelletun matematiikan osa-alue, jolla on sovelluksia esimerkiksi logiikassa, operaatiotutkimuksessa, peli-ja päätösteoriassa

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

= 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

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

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

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut Tietorakenteet ja algoritmit (syksy 0) Toinen välikoe, malliratkaisut. (a) Alussa puu näyttää tältä: Lisätään 4: 4 Tasapaino rikkoutuu solmussa. Tehdään kaksoiskierto ensin oikealle solmusta ja sitten

Lisätiedot

Harjoitus 3 (3.4.2014)

Harjoitus 3 (3.4.2014) Harjoitus 3 (3..) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i, j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

13 Lyhimmät painotetut polut

13 Lyhimmät painotetut polut TIE-20100 Tietorakenteet ja algoritmit 297 13 Lyhimmät painotetut polut BFS löytää lyhimmän polun lähtösolmusta graafin saavutettaviin solmuihin. Se ei kuitenkaan enää suoriudu tehtävästä, jos kaarien

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

Demo 1: Simplex-menetelmä

Demo 1: Simplex-menetelmä MS-C2105 Optimoinnin perusteet Malliratkaisut 3 Ehtamo Demo 1: Simplex-menetelmä Muodosta lineaarisen tehtävän standardimuoto ja ratkaise tehtävä taulukkomuotoisella Simplex-algoritmilla. max 5x 1 + 4x

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 8. Aluekyselyt. 8.1 Summataulukko Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa

Lisätiedot

Harjoitus 3 (31.3.2015)

Harjoitus 3 (31.3.2015) Harjoitus (..05) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i,j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

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

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia 58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, 10..2014, vastauksia 1. [9 pistettä] (a) Todistetaan 2n 2 + n + 5 = O(n 2 ): Kun n 1 on 2n 2 + n + 5 2n 2 + n 2 +5n 2 = 8n 2. Eli

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 4 3.4.017 Tehtävä 1 Tarkastellaan harjoituksen 1 nopeimman reitin ongelmaa ja etsitään sille lyhin virittävä puu käyttämällä kahta eri algoritmia. a) (Primin algoritmi) Lähtemällä

Lisätiedot

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A000 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2..205 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x x 2 =

Lisätiedot

j n j a b a c a d b c c d m j b a c a d a c b d c c j

j n j a b a c a d b c c d m j b a c a d a c b d c c j TEKNILLINEN KORKEAKOULU Tietoliikenne- ja tietoverkkotekniikan laitos S-38.115 Liikenneteorian perusteet, Kevät 2008 Demonstraatiot Luento 12 29.2.2008 D12/1 Tarkastellaan verkkoa, jossa on solmua ja linkkiä.

Lisätiedot

Hilbertin aksioomat ja tarvittavat määritelmät Tiivistelmä Geometria-luentomonisteesta Heikki Pitkänen

Hilbertin aksioomat ja tarvittavat määritelmät Tiivistelmä Geometria-luentomonisteesta Heikki Pitkänen Hilbertin aksioomat ja tarvittavat määritelmät Tiivistelmä Geometria-luentomonisteesta Heikki Pitkänen 1. Hilbertin aksioomat 1-3 Oletetaan tunnetuiksi peruskäsitteet: piste, suora ja suora kulkee pisteen

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

Lineaarinen optimointitehtävä

Lineaarinen optimointitehtävä Lineaarinen optimointitehtävä Minimointitehtävä yhtälörajoittein: min kun n j=1 n j=1 c j x j a ij x j = b i x j 0 j = 1,..., n i = 1,..., m Merkitään: z = alkuperäisen objektifunktion arvo käsiteltävänä

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

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100

Lisätiedot

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta.

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta. 3 Suorat ja tasot Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta. 3.1 Suora Havaitsimme skalaarikertolaskun tulkinnan yhteydessä, että jos on mikä tahansa nollasta

Lisätiedot

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

Kuljetustehtävä. Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan. Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij Kuljetustehtävä Materiaalia kuljetetaan m:stä lähtöpaikasta n:ään tarvepaikkaan Kuljetuskustannukset lähtöpaikasta i tarvepaikkaan j ovat c ij Lähtöpaikan i kapasiteetti on a i (oletetaan, että a i > 0

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

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

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

A = a b B = c d. d e f. g h i determinantti on det(c) = a(ei fh) b(di fg) + c(dh eg). Matriisin determinanttia voi merkitä myös pystyviivojen avulla:

A = a b B = c d. d e f. g h i determinantti on det(c) = a(ei fh) b(di fg) + c(dh eg). Matriisin determinanttia voi merkitä myös pystyviivojen avulla: 11 Determinantti Neliömatriisille voidaan laskea luku, joka kertoo muun muassa, onko matriisi kääntyvä vai ei Tätä lukua kutsutaan matriisin determinantiksi Determinantilla on muitakin sovelluksia, mutta

Lisätiedot

Algoritmit 1. Luento 13 Ma Timo Männikkö

Algoritmit 1. Luento 13 Ma Timo Männikkö Algoritmit 1 Luento 13 Ma 26.2.2018 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

Algoritmit 2. Luento 12 Ke Timo Männikkö

Algoritmit 2. Luento 12 Ke Timo Männikkö Algoritmit 2 Luento 12 Ke 26.4.2017 Timo Männikkö Luento 12 Rajoitehaku Kauppamatkustajan ongelma Lyhin virittävä puu Paikallinen etsintä Vaihtoalgoritmit Geneettiset algoritmit Simuloitu jäähdytys Algoritmit

Lisätiedot

Helsingin, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 9.6.2014 klo 10 13

Helsingin, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 9.6.2014 klo 10 13 Helsingin, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 9.6.014 klo 10 13 1. Ratkaise seuraavat yhtälöt ja epäyhtälöt: x + a) 3 x + 1 > 0 c) x x + 1 = 1 x 3 4 b) e x + e x 3

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

1 Lukujen jaollisuudesta

1 Lukujen jaollisuudesta Matematiikan mestariluokka, syksy 2009 1 1 Lukujen jaollisuudesta Lukujoukoille käytetään seuraavia merkintöjä: N = {1, 2, 3, 4,... } Luonnolliset luvut Z = {..., 2, 1, 0, 1, 2,... } Kokonaisluvut Kun

Lisätiedot

Algoritmit 2. Luento 4 To Timo Männikkö

Algoritmit 2. Luento 4 To Timo Männikkö Algoritmit 2 Luento 4 To 21.3.2019 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2019 Luento 4

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

Tekijä Pitkä matematiikka On osoitettava, että jana DE sivun AB kanssa yhdensuuntainen ja sen pituus on 4 5

Tekijä Pitkä matematiikka On osoitettava, että jana DE sivun AB kanssa yhdensuuntainen ja sen pituus on 4 5 Tekijä Pitkä matematiikka 6..06 8 On osoitettava, että jana DE sivun AB kanssa yhdensuuntainen ja sen pituus on 5 sivun AB pituudesta. Pitää siis osoittaa, että DE = AB. 5 Muodostetaan vektori DE. DE =

Lisätiedot

P (A)P (B A). P (B) P (A B) = P (A = 0)P (B = 1 A = 0) P (B = 1) P (A = 1)P (B = 1 A = 1) P (B = 1)

P (A)P (B A). P (B) P (A B) = P (A = 0)P (B = 1 A = 0) P (B = 1) P (A = 1)P (B = 1 A = 1) P (B = 1) Harjoitustehtäviä (erä 1) 1 1. Käytetään yksinkertaisesti Bayesin kaavaa: P (A B) = P (A)P (B A). P (B) Tapauksessa B = 1 saadaan P (A = 0 B = 1) = P (A = 1 B = 1) = P (A = 0)P (B = 1 A = 0) P (A = 1)P

Lisätiedot

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa 9. Vektorit 9.1 Skalaarit ja vektorit Skalaari on koon tai määrän mitta. Tyypillinen esimerkki skalaarista on massa. Lukumäärä on toinen hyvä esimerkki skalaarista. Vektorilla on taas suuruus ja suunta.

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

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5.

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5. Tekijä Pitkä matematiikka 5 7..017 31 Kirjoitetaan yhtälö keskipistemuotoon ( x x ) + ( y y ) = r. 0 0 a) ( x 4) + ( y 1) = 49 Yhtälön vasemmalta puolelta nähdään, että x 0 = 4 ja y 0 = 1, joten ympyrän

Lisätiedot

Matematiikan tukikurssi, kurssikerta 1

Matematiikan tukikurssi, kurssikerta 1 Matematiikan tukikurssi, kurssikerta 1 1 Joukko-oppia Matematiikassa joukko on mikä tahansa kokoelma objekteja. Esimerkiksi joukkoa A, jonka jäseniä ovat numerot 1, 2 ja 5 merkitään A = {1, 2, 5}. Joukon

Lisätiedot

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä JYVÄSKYLÄN YLIOPISTO 4. Luennon sisältö Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä kevät 2012 TIEA382 Lineaarinen ja diskreetti optimointi Lineaarinen optimointitehtävä Minimointitehtävä

Lisätiedot

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen) TKT0001 Tietorakenteet ja algoritmit Erilliskoe 5.1.01, malliratkaisut (Jyrki Kivinen) 1. [1 pistettä] (a) Esitä algoritmi, joka poistaa kahteen suuntaan linkitetystä järjestämättömästä tunnussolmullisesta

Lisätiedot

Aki Taanila LINEAARINEN OPTIMOINTI

Aki Taanila LINEAARINEN OPTIMOINTI Aki Taanila LINEAARINEN OPTIMOINTI 26.4.2011 JOHDANTO Tässä monisteessa esitetään lineaarisen optimoinnin alkeet. Moniste sisältää tarvittavat Excel ohjeet. Viimeisin versio tästä monisteesta ja siihen

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

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

A-osio. Tehdään ilman laskinta ja taulukkokirjaa! Valitse tehtävistä A1-A3 kaksi ja vastaa niihin. Maksimissaan tunti aikaa suorittaa A-osiota.

A-osio. Tehdään ilman laskinta ja taulukkokirjaa! Valitse tehtävistä A1-A3 kaksi ja vastaa niihin. Maksimissaan tunti aikaa suorittaa A-osiota. MAA5.2 Loppukoe 24.9.2013 Jussi Tyni Valitse 6 tehtävää Muista merkitä vastauspaperiin oma nimesi ja tee etusivulle pisteytysruudukko Kaikkiin tehtävien ratkaisuihin välivaiheet näkyviin! A1. A-osio. Tehdään

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

Äärellisten mallien teoria

Äärellisten mallien teoria Äärellisten mallien teoria Harjoituksen 4 ratkaisut Tehtävä 1. Määritä suurin aste k, johon saakka kuvan verkot G ja G ovat osittaisesti isomorfisia: Ratkaisu 1. Huomataan aluksi, että G =4 G : Ehrenfeucht-Fraïssé

Lisätiedot

Johdatus graafiteoriaan

Johdatus graafiteoriaan Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 62 Luku 2 Yhtenäisyys 2.1 Polku 2.2 Lyhin painotettu polku 2.3 Yhtenäinen graafi 2.4 Komponentti 2.5 Aste

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

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A4/A6 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.9.25 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x + x 2

Lisätiedot

MS-C1340 Lineaarialgebra ja

MS-C1340 Lineaarialgebra ja MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt Vektoriavaruudet Riikka Kangaslampi kevät 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Idea Lineaarisen systeemin ratkaiseminen Olkoon

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

Vektorit. Kertausta 12.3.2013 Seppo Lustig (Lähde: avoinoppikirja.fi)

Vektorit. Kertausta 12.3.2013 Seppo Lustig (Lähde: avoinoppikirja.fi) Vektorit Kertausta 12.3.2013 Seppo Lustig (Lähde: avoinoppikirja.fi) Sisällys Vektorit Nimeäminen Vektorien kertolasku Vektorien yhteenlasku Suuntasopimus Esimerkki: laivan nopeus Vektorit Vektoreilla

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

Tekijä Pitkä matematiikka b) Kuvasta nähdään, että b = i 4 j. c) Käytetään a- ja b-kohtien tuloksia ja muokataan lauseketta.

Tekijä Pitkä matematiikka b) Kuvasta nähdään, että b = i 4 j. c) Käytetään a- ja b-kohtien tuloksia ja muokataan lauseketta. Tekijä Pitkä matematiikka 4 9.1.016 79 a) Kuvasta nähdään, että a = 3i + j. b) Kuvasta nähdään, että b = i 4 j. c) Käytetään a- ja b-kohtien tuloksia ja muokataan lauseketta. 5a b = 5(3i + j) ( i 4 j)

Lisätiedot

Matemaatiikan tukikurssi

Matemaatiikan tukikurssi Matemaatiikan tukikurssi Kurssikerta 1 1 Funktiot Funktion määritelmä Funktio on sääntö, joka liittää kahden eri joukon alkioita toisiinsa. Ollakseen funktio tämän säännön on liitettävä jokaiseen lähtöjoukon

Lisätiedot

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen) 58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen) 1. Avaimet 1, 2, 3 ja 4 mahtuvat samaan lehtisolmuun. Tässä tapauksessa puussa on vain yksi solmu, joka on samaan aikaan juurisolmu

Lisätiedot

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt Vektoriavaruudet Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2015 1 / 17 R. Kangaslampi Vektoriavaruudet Vektoriavaruus

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

Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim.

Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim. Injektio Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim. Funktio f on siis injektio mikäli ehdosta f (x 1 ) = f (x 2 ) seuraa, että x 1 = x 2.

Lisätiedot

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016 BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016 1. Hahmottele karkeasti funktion f : R R 2 piirtämällä sen arvoja muutamilla eri muuttujan arvoilla kaksiulotteiseen koordinaatistoon

Lisätiedot

Markov-ketjut pitkällä aikavälillä

Markov-ketjut pitkällä aikavälillä MS-C2111 Stokastiset prosessit 2A Markov-ketjut pitkällä aikavälillä Tämän harjoituksen tavoitteena on oppia lukemaan siirtymämatriisista tai siirtymäkaaviosta, milloin Markov-ketju on yhtenäinen ja jaksoton;

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

Ota tämä paperi mukaan, merkkaa siihen omat vastauksesi ja tarkista oikeat vastaukset klo 11:30 jälkeen osoitteesta

Ota tämä paperi mukaan, merkkaa siihen omat vastauksesi ja tarkista oikeat vastaukset klo 11:30 jälkeen osoitteesta MAA5.2 Loppukoe 26.9.2012 Jussi Tyni Valitse 6 tehtävää Muista merkitä vastauspaperiin oma nimesi ja tee etusivulle pisteytysruudukko Kaikkiin tehtävien ratkaisuihin välivaiheet näkyviin! 1. Olkoon vektorit

Lisätiedot

Algoritmit 2. Demot Timo Männikkö

Algoritmit 2. Demot Timo Männikkö Algoritmit 2 Demot 4 24.-25.4.2019 Timo Männikkö Tehtävä 1 (a) int laske(n) { if (n

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

Suorista ja tasoista LaMa 1 syksyllä 2009

Suorista ja tasoista LaMa 1 syksyllä 2009 Viidennen viikon luennot Suorista ja tasoista LaMa 1 syksyllä 2009 Perustuu kirjan Poole: Linear Algebra lukuihin I.3 - I.4 Esko Turunen esko.turunen@tut.fi Aluksi hiukan 2 ja 3 ulotteisen reaaliavaruuden

Lisätiedot

Tekijä Pitkä matematiikka Poistetaan yhtälöparista muuttuja s ja ratkaistaan muuttuja r.

Tekijä Pitkä matematiikka Poistetaan yhtälöparista muuttuja s ja ratkaistaan muuttuja r. Tekijä Pitkä matematiikka 4 16.12.2016 K1 Poistetaan yhtälöparista muuttuja s ja ratkaistaan muuttuja r. 3 r s = 0 4 r+ 4s = 2 12r 4s = 0 + r+ 4s = 2 13 r = 2 r = 2 13 2 Sijoitetaan r = esimerkiksi yhtälöparin

Lisätiedot

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään Ohjelmointi Ohjelmoinnissa koneelle annetaan tarkkoja käskyjä siitä, mitä koneen tulisi tehdä. Ohjelmointikieliä on olemassa useita satoja. Ohjelmoinnissa on oleellista asioiden hyvä suunnittelu etukäteen.

Lisätiedot

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014 Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan

Lisätiedot

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

j(j 1) = n(n2 1) 3 + (k + 1)k = (k + 1)(k2 k + 3k) 3 = (k + 1)(k2 + 2k + 1 1) MS-A0401 Diskreetin matematiikan perusteet Tentti ja välikokeiden uusinta 10.11.015 Kirjoita jokaiseen koepaperiin nimesi, opiskelijanumerosi ym. tiedot! Laskimia tai taulukoita ei saa käyttää tässä kokeessa!

Lisätiedot

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

Polkuintegraali yleistyy helposti paloitain C 1 -poluille. Määritelmä Olkoot γ : [a, b] R m paloittain C 1 -polku välin [a, b] jaon Polkuintegraali yleistyy helposti paloitain C 1 -poluille. Määritelmä 4.1.3. Olkoot : [a, b] R m paloittain C 1 -polku välin [a, b] jaon P = {a = t 1 < < t k = b} ja joukko D R m sellainen, että ([a, b])

Lisätiedot

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

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta). Matematiikan laitos Johdatus Diskreettiin Matematiikaan Harjoitus 1 03.11.2010 Ratkaisuehdotuksia Aleksandr Nuija 1. Tarkastellaan joukkoja A = {1,3,4}, B = {2,3,7,9} ja C = {2, 5, 7}. Määritä joukot (a)

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

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

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

Vektoreiden A = (A1, A 2, A 3 ) ja B = (B1, B 2, B 3 ) pistetulo on. Edellisestä seuraa

Vektoreiden A = (A1, A 2, A 3 ) ja B = (B1, B 2, B 3 ) pistetulo on. Edellisestä seuraa Viikon aiheet Pistetulo (skalaaritulo Vektorien tulot Pistetulo Ristitulo Skalaari- ja vektorikolmitulo Integraalifunktio, alkeisfunktioiden integrointi, yhdistetyn funktion derivaatan integrointi Vektoreiden

Lisätiedot

Tekijä Pitkä matematiikka

Tekijä Pitkä matematiikka K1 Tekijä Pitkä matematiikka 5 7..017 a) 1 1 + 1 = 4 + 1 = 3 = 3 4 4 4 4 4 4 b) 1 1 1 = 4 6 3 = 5 = 5 3 4 1 1 1 1 1 K a) Koska 3 = 9 < 10, niin 3 10 < 0. 3 10 = (3 10 ) = 10 3 b) Koska π 3,14, niin π

Lisätiedot

Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa

Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa Matematiikka Sakke Suomalainen Helsingin matematiikkalukio Ohjaaja: Ville Tilvis 29. marraskuuta 2010 Tiivistelmä Harppi ja viivain

Lisätiedot

Reaalilukuvälit, leikkaus ja unioni (1/2)

Reaalilukuvälit, leikkaus ja unioni (1/2) Luvut Luonnolliset luvut N = {0, 1, 2, 3,... } Kokonaisluvut Z = {..., 2, 1, 0, 1, 2,... } Rationaaliluvut (jaksolliset desimaaliluvut) Q = {m/n m, n Z, n 0} Irrationaaliluvut eli jaksottomat desimaaliluvut

Lisätiedot

6.4. Järjestyssuhteet

6.4. Järjestyssuhteet 6.4. Järjestyssuhteet Joukon suhteilla voidaan kuvata myös alkioiden järjestystä tietyn ominaisuuden suhteen. Järjestys on myös kaksipaikkainen suhde (ja on monia erilaisia järjestyksiä). Suhde R joukossa

Lisätiedot

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio x = x 2 = 5/2 x 3 = 2 eli Ratkaisu on siis x = (x x 2 x 3 ) = ( 5/2 2) (Tarkista sijoittamalla!) 5/2 2 Tämä piste on alkuperäisten tasojen ainoa leikkauspiste Se on myös piste/vektori jonka matriisi A

Lisätiedot

Harjoitus 1 (20.3.2014)

Harjoitus 1 (20.3.2014) Harjoitus 1 (20.3.2014) Tehtävä 1 Piirretään tilanteesta verkko, jossa kaupungeille on annetttu seuraavat numerot: 1 = Turku 2 = Tampere 3 = Hämeenlinna 4 = Imatra 5 = Jyväskylä. 5 2 149(5) 190(4) 113(1)

Lisätiedot

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon

Lisätiedot

MAB3 - Harjoitustehtävien ratkaisut:

MAB3 - Harjoitustehtävien ratkaisut: MAB - Harjoitustehtävien ratkaisut: Funktio. Piirretään koordinaatistoakselit ja sijoitetaan pisteet:. a) Funktioiden nollakohdat löydetään etsimällä kuvaajien ja - akselin leikkauspisteitä. Funktiolla

Lisätiedot

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt Yhtälöryhmät 1/6 Sisältö Yhtälöryhmä Yhtälöryhmässä on useita yhtälöitä ja yleensä myös useita tuntemattomia. Tavoitteena on löytää tuntemattomille sellaiset arvot, että kaikki yhtälöt toteutuvat samanaikaisesti.

Lisätiedot

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä) Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe 26.10.2017 Ratkaisuehdotus 1. (35 pistettä) (a) Seuraavat matriisit on saatu eräistä yhtälöryhmistä alkeisrivitoimituksilla. Kuinka monta ratkaisua yhtälöryhmällä

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta 811312A Tietorakenteet ja algoritmit 2018-2019 Kertausta jälkiosasta V Hashtaulukot ja binääriset etsintäpuut Hashtaulukot Perusajatus tunnettava Tiedettävä mikä on tiivistefunktio Törmäysongelman hallinta:

Lisätiedot

1 Aritmeettiset ja geometriset jonot

1 Aritmeettiset ja geometriset jonot 1 Aritmeettiset ja geometriset jonot Johdatus Johdatteleva esimerkki 1 Kasvutulille talletetaan vuoden jokaisen kuukauden alussa tammikuusta alkaen 100 euroa. Tilin nettokorkokanta on 6%. Korko lisätään

Lisätiedot

Vastauksia. Topologia Syksy 2010 Harjoitus 1

Vastauksia. Topologia Syksy 2010 Harjoitus 1 Topologia Syksy 2010 Harjoitus 1 (1) Olkoon X joukko ja (T j ) j J perhe X:n topologioita. Osoita, että T = {T j : j J} on X:n topologia. (2) Todista: Välit [a, b) muodostavat R 1 :n erään topologian kannan.

Lisätiedot

1 Kannat ja kannanvaihto

1 Kannat ja kannanvaihto 1 Kannat ja kannanvaihto 1.1 Koordinaattivektori Oletetaan, että V on K-vektoriavaruus, jolla on kanta S = (v 1, v 2,..., v n ). Avaruuden V vektori v voidaan kirjoittaa kannan vektorien lineaarikombinaationa:

Lisätiedot