A TIETORAKENTEET JA ALGORITMIT

Koko: px
Aloita esitys sivulta:

Download "A274101 TIETORAKENTEET JA ALGORITMIT"

Transkriptio

1 A 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 alkunsa Eulerin työstä v.176 Königsbergin (nyk. Kaliningrad) sillat: Kaupungin läpi virtaa joki, jossa on kaksi saarta Saaret on yhdistetty rantoihin 7 sillalla Voiko rannalta lähteä tietystä pisteestä, kulkea täsmälleen kerran jokaisen sillan yli ja palata lähtöpaikkaansa? Euler ratkaisi ongelman 176 ja kehitti samalla perustan verkkojen eli graafien teorialle KyAMK - TiRak, syksy HISTORIAA KÖNIGSBERGIN SILLAT - RATKAISU Yksinkertaistetaan kuvaa hieman N N K O K O S S KyAMK - TiRak, syksy KyAMK - TiRak, syksy

2 KÖNIGSBERGIN SILLAT - RATKAISU Kaikista neljästä solmusta lähtee pariton määrä kaaria Oletetaan, että seurataan viivoja nostamatta kynää Valitaan yksi solmu tarkasteltavaksi otetaan joku, josta lähte kaarta Kun 1. kerran saavut tähän solmuun, voit lähteä toista kaarta pitkin pois Tämän jälkeen solmuun voi vain saapua kerran Piirtäminen pitää päättää tähän solmuun Toinen vaihtoehto on aloittaa tästä solmusta, jolloin siinä voi vielä kerran käydä Solmu, josta lähtee pariton määrä kaaria voi ainoastaan aloittaa tai päättää reitin K N S O Graafi koostuu pisteistä eli solmuista (vertex) ja niitä yhdistävistä kaarista eli viivoista (edge) Formaalisti: Graafi (graph) on pari (V,E), missä V on pisteiden joukko ja E on pisteparien muodostama viivojen joukko KyAMK - TiRak, syksy KyAMK - TiRak, syksy Viivat ovat pistepareja (u, v) = (v, u) Pisteet u ja v ovat viivan (u, v) päätepisteet Suunnatuilla graafeilla (u, v) (v, u) eli pisteparien järjestyksellä on merkitystä Solmujen lukumäärää merkitään V :llä ja viivojen määrää E :llä Viivoja voidaan merkitä myös E = {,,, e n } Viivat voivat olla myös painotettuja: (u, v, c), missä c on paino Viivat, joilla on samat päätepisteet, ovat rinnakkaiset Viiva (v, v) on ns. silmukka Pisteet u ja v, joita yhdistää viiva ovat rinnakkaiset Pisteen v aste, merkitään d(v), on niiden viivojen lukumäärä, joiden päätepiste v on Piste, jonka aste on 1 on ns. loppupiste KyAMK - TiRak, syksy KyAMK - TiRak, syksy

3 Graafi, jossa ei ole lainkaan viivoja on tyhjä Graafi, jossa ei ole lainkaan pisteitä, on ns. nollagraafi Graafi, jossa on vain yksi piste, on triviaali Graafi on yksinkertainen, jos siinä ei ole rinnakkaisia viivoja, eikä silmukoita Graafi on yhtenäinen, jos sen jokaisesta pisteestä voidaan kulkea jokaiseen toiseen pisteeseen Graafissa G = (V, E) oleva pisteiden ja viivojen jono (v i0,e j0,v i1,e j1,v i2,,e jk,v ik ) on kulku, jos viivat (v i1,v i2 ), (v i2,v i ),,(v i(k- 1),v ik ) E Kulun pituus on k, v i0 on kulun alkupiste ja v ik kulun loppupiste Kulussa saavat samat pisteet ja viivat esiintyä useitakin kertoja Kulku on reitti, jos mikään viiva ei esiinny useita kertoja Reitti on polku, jos mikään piste ei esiinny kahta kertaa, päätepisteitä lukuun ottamatta KyAMK - TiRak, syksy KyAMK - TiRak, syksy EULERIN POLKU JA HAMILTONIN PIIRI Polku, jonka alku- ja päätepiste ovat samat, on piiri Huom. myös polku (v, v) on piiri, jonka pituus on 1 ja sitä sanotaan silmukaksi Graafin pisteet u ja v ovat yhdistetyt, jos on olemassa u-vkulku Jos pisteet u ja v ovat yhdistetyt sekä pisteet v ja w ovat yhdistetyt, niin myös u ja w ovat yhdistetyt Toisin sanoen jos graafissa on u-vkulku sekä v-w-kulku, niin siinä on myös u-w-kulku Eulerin polku (Euler path) kulkee jokaisen viivan kautta täsmälleen kerran Graafissa, jossa on Eulerin polku voi olla korkeintaan kaksi pistettä, joista lähtee pariton määrä viivoja Lisäksi tällaisessa graafissa on aina vähintään yksi Eulerin polku Hamiltonin piiri kulkee jokaisen pisteen kautta ainoastaan kerran ja sen alku- ja loppupisteet ovat samat KyAMK - TiRak, syksy KyAMK - TiRak, syksy

4 SUUNNATUT GRAAFIT KÄYTÄNNÖN SOVELLUKSIA Suunnattu graafi on vahvasti yhtenäinen (strongly connected), jos sen jokaisesta pisteestä on polku kaikkiin muihin pisteisiin Suunnattu graafi on heikosti yhtenäinen (weakly connected), jos se ei ole vahvasti yhtenäinen mutta olisi suuntaamattomana yhtenäinen Suunnatun graafin pisteen v tuloaste (in-degree) on v:hen päättyvien viivojen (u, v) lukumäärä Solmun v lähtöaste (out-degree) on puolestaan v:stä lähtevien viivojen (v, w) lukumäärä Suunnatun graafin suunnattua piiriä sanotaan sykliksi (cycle) Suunnattu graafi on syklitön (acyclic), jos siinä ei ole yhtään sykliä, muutoin syklinen (cyclic) Useimmat käytännön ongelmia mallintavat graafit ovat painotettuja. Useimmiten ne lisäksi ovat suunnattuja, mutta eivät aina. Lentokenttäverkko Solmu (u, v, c): u on lähtökenttä, v on tulokenttä ja c voi olla välimatka, lentoaika tms. Liikennevirta Solmu (u, v, c): u on mistä, v on minne ja c voi olla tien pituus, kapasiteetti, suurin sallittu nopeus tms KyAMK - TiRak, syksy KyAMK - TiRak, syksy GRAAFIN ESITTÄMISTAPOJA Miten graafia ei kannata esittää? Graafi tulisi esittää niin, että sitä voidaan käsitellä ohjelmallisesti Ei välttämättä ole helppoa ja itsestään selvää Seuraavassa käsitellään paria tuttua tietorakennetta Ovatko ne käyttökelpoisia graafin esittämiseen? GRAAFIN ESITTÄMISTAPOJA 1. Voitaisiin ajatella, että graafi olisi kätevä esittää binääripuun tapaan: linkitetty rakenne jokainen piste sisältää kentät kaikille mahdollisille viivoille Kritiikkiä: Pisteisiin liittyvien viivojen määrä voi vaihdella Jokaisessa pisteessä tulee varata tilaa viivoille pahimman tapauksen mukaisesti Toinen ongelma on solmujen tavoittaminen: Mistä ja miten etenemällä jokin tietty solmu löytyy? KyAMK - TiRak, syksy KyAMK - TiRak, syksy

5 GRAAFIN ESITTÄMISTAPOJA 2. Pisteestä lähtevien viivojen määrää ei haluta rajoittaa Viivat voitaisiin esittää myös linkitettyinä listoina Kritiikkiä: Rakenne on varsin raskastekoinen Solmujen tavoittaminen ei ole yhtään helpompaa kuin edellisessä menetelmässä GRAAFIN SIVULUETTELO Sivuluettelossa nimen mukaisesti luetellaan verkon sivut eli viivat Luettelon alkiot ovat joko pareja (painottamaton) tai kolmikoita (painotettu) Suuntaamattomassa graafissa jokainen sivu esiintyy kahteen kertaan Toisaalta, jos tiedetään, että graafi on suuntaamaton, ja sivu (u, v) sisältyy graafiin, sivua (v, u) ei tarvitse ilmoittaa, koska sen tiedetään automaattisesti olevan mukana KyAMK - TiRak, syksy KyAMK - TiRak, syksy GRAAFIN SIVULUETTELO NAAPURUUSMATRIISI 1 5 Ohessa on eräs graafi sekä suuntaamattomana että suunnattuna ja molemmissa tapauksissa sivuluettelo Suunnattuun graafiin on lisäksi liitetty painot Samaa graafia käytetään esimerkkinä myös jatkossa Sivuluettelo 1, 2, 1 1,, 2 1, 4 4, 1 2, 1 4, 5 2, 5, Painottamaton Painotettu 1, 2 1, 2, 1, 1,, 7 1, 4 1, 4, 5 2, 2,, 4 4, 5 4, 5, KyAMK - TiRak, syksy Naapuruusmatriisi eli vierusmatriisi on V x V - neliömatriisi: Matriisissa on graafin pisteiden määrän verran sekä sarakkeita että rivejä. Painottamattomalla graafilla rivin u sarakkeen v alkio on 1, jos viiva (u, v) sisältyy graafiin, ja 0 muulloin Painotetulla graafilla viivaa (u, v, c) vastaava matriisin alkion arvo on viivan paino c Puuttuvia viivoja vastaavat matriisin alkiot tulee olla sellaisia, että niitä ei voi sekoittaa viivojen painoihin (esim. -1, -99, tms.) Suuntaamatonta graafia vastaava matriisi on symmetrinen (eli A T = A): Jos viiva (u, v) sisältyy graafiin, niin myös viiva (v, u) sisältyy ko. graafiin KyAMK - TiRak, syksy

6 NAAPURUUSMATRIISI Esimerkki Suuntaamaton verkko Suunnattu verkko Naapuruusmatriisin tilavaatimus on O( V 2 ) käyttökelpoinen esitysmuoto tiheillä (dense) graafeilla, joissa on paljon viivoja Harvojen (sparse) graafien esittämiseen soveltuu paremmin seuraavassa esitettävä naapuruuslista NAAPURUUSLISTA Naapuruuslistassa kutakin pistettä vastaa listan tunnussolu Kyseisestä pisteestä lähtevät viivat tallennetaan tunnussolusta lähtevään linkitettyyn listaan Suuntaamattomille graafeille jokainen listasolu esiintyy kahdessa eri listassa Painottaman graafin listasolu sisältää verkon pisteen numeron sekä linkin seuraavaan soluun Painotetun graafin listasolu sisältää lisäkentän, johon talletetaan viivan paino KyAMK - TiRak, syksy KyAMK - TiRak, syksy NAAPURUUSLISTA Esimerkki Suunnatun graafin naapuruuslista: Tämän esitystavan tilavaatimus on O( V + E ). GRAAFIN PISTEEN TIEDOT KÄYTÄNNÖSSÄ Graafin pisteiden nimet ovat harvoin numeroita Yleensä pisteet sisältävät merkkijonoja, esim. kaupunkien nimiä Numerointi on kuitenkin varsin oleellinen sekä naapuruusmatriisi- että naapuruuslistaesityksessä Tällöin voidaan menetellä seuraavasti: Kun graafia luettaessa vastaan tulee aiemmin esiintymätön piste, annetaan sille seuraava järjestysnumero Pisteen nimi talletetaan sopivaan hakurakenteeseen (esim. binääripuu, hajautustaulu) Kun nimeä tarvitaan, haku on nopeaa (esim. tietyn pisteen esiintyminen, tulostukset, ) KyAMK - TiRak, syksy KyAMK - TiRak, syksy

Graafiteoria matematiikkaako?

Graafiteoria matematiikkaako? Koostanut: Elina Viro, Juho Lauri Opettajalle Graafiteoria matematiikkaako? Kohderyhmä: 7.-9.-luokkalaiset Esitiedot: - Taustalla oleva matematiikka: Graafiteoria, looginen ajattelu Ajankäyttö: Varsinainen

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

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

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

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

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT GRAAFITEHTÄVIÄ JA -ALGORITMEJA Lähteet: Timo Harju, Opintomoniste Keijo Ruohonen, Graafiteoria (math.tut.fi/~ruohonen/gt.pdf) GRAAFIN LÄPIKÄYMINEN Perusta useimmille

Lisätiedot

Johdatus graafiteoriaan

Johdatus graafiteoriaan Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 166 Luku 4 Erilaisia graafeja 4.1 Eulerin graafi 4.2 Hamiltonin graafi 4.3 Tasograafi 4.4 Graafin värittäminen

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

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

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

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

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

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

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

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

8.5. Järjestyssuhteet 1 / 19

8.5. Järjestyssuhteet 1 / 19 8.5. Järjestyssuhteet 1 / 19 Määritelmä 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ä).

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

7.4. Eulerin graafit 1 / 22

7.4. Eulerin graafit 1 / 22 7.4. Eulerin graafit 1 / 22 Viivojen läpikäynti Graafin pisteiden/viivojen läpikäyminen esiintyy usein sovelluksissa: Etsintäalgoritmit, reititykset Läpikäyminen tehdään nopeimmin, kun yhtäkään viivaa/pistettä

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

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

Kuva Suomen päätieverkko 1 Moottoritiet on merkitty karttaan vihreällä, muut valtatiet punaisella ja kantatiet keltaisella värillä.

Kuva Suomen päätieverkko 1 Moottoritiet on merkitty karttaan vihreällä, muut valtatiet punaisella ja kantatiet keltaisella värillä. POHDIN projekti TIEVERKKO Tieverkon etäisyyksien minimointi ja esimerkiksi maakaapeleiden kokonaismäärän minimointi sekä ylipäätään äärellisen pistejoukon yhdistäminen reitityksillä toisiinsa niin, että

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

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

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

GRAAFITEORIA. Keijo Ruohonen

GRAAFITEORIA. Keijo Ruohonen GRAAFITEORIA Keijo Ruohonen 2013 Sisältö 1 I MÄÄRITELMIÄ JA PERUSTULOKSIA 1 1.1 Määritelmiä 5 1.2 Kulku. Reitti. Polku. Piiri. Yhtenäisyys. Komponentti 10 1.3 Graafien operaatioita 14 1.4 Irrotus 17 1.5

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

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

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

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

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento

Lisätiedot

GRAAFITEORIAA. Pertti Koivisto Riitta Niemistö

GRAAFITEORIAA. Pertti Koivisto Riitta Niemistö GRAAFITEORIAA Pertti Koivisto Riitta Niemistö Esipuhe Tämän monisteen tarkoituksena on tutustuttaa lukija graafiteorian peruskäsitteisiin ja -tuloksiin. Vaikka algoritminen graafiteoria on tietokoneiden

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

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

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

Pertti Koivisto ja Riitta Niemistö. Graafiteoriaa

Pertti Koivisto ja Riitta Niemistö. Graafiteoriaa Pertti Koivisto ja Riitta Niemistö Graafiteoriaa TAMPEREEN YLIOPISTO INFORMAATIOTIETEIDEN YKSIKÖN RAPORTTEJA 60/2018 TAMPERE 2018 TAMPEREEN YLIOPISTO INFORMAATIOTIETEIDEN YKSIKÖN RAPORTTEJA 60/2018 TAMMIKUU

Lisätiedot

Algoritmit 1. Luento 10 Ke Timo Männikkö

Algoritmit 1. Luento 10 Ke Timo Männikkö Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot

Lisätiedot

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento

Lisätiedot

Sosiaalisten verkostojen datan notaatio. Notation for Social Network Data

Sosiaalisten verkostojen datan notaatio. Notation for Social Network Data Sosiaalisten verkostojen datan notaatio Notation for Social Network Data Jari Jussila 14.11.2008 2 Notaatio Notaatiota tarvitaan / auttaa kuvaamaan: toimijat tai toimijoiden muodostamat joukot, toimijoiden

Lisätiedot

Suunnatut, etumerkilliset ja arvotetut graafit Sosiaalisten verkostojen analysoinnin näkökulmalla

Suunnatut, etumerkilliset ja arvotetut graafit Sosiaalisten verkostojen analysoinnin näkökulmalla Suunnatut, etumerkilliset ja arvotetut graafit Sosiaalisten verkostojen analysoinnin näkökulmalla Hypermedian jatko-opintoseminaari 2008-2009 12.12.2008 Jaakko Salonen jaakko.salonen@tut.fi TTY / Hypermedialaboratorio

Lisätiedot

Algoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö

Algoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö Algoritmit 1 Luento 10 Ke 11.2.2015 Timo Männikkö Luento 10 Algoritminen ongelman ratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Väliinsijoituslajittelu Valintalajittelu

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

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

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

Datatähti 2019 loppu

Datatähti 2019 loppu Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

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

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

MS-A0401 Diskreetin matematiikan perusteet

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

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

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

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

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

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

Todistus (2.2) Todistus (2.2) jatkoa. (2.2): Oletetaan, että0 n 1,1 n 1 / P i (F) aina kuni = 1,2,...,n. Olkoonf F painoltaan pienin joukonf alkio.

Todistus (2.2) Todistus (2.2) jatkoa. (2.2): Oletetaan, että0 n 1,1 n 1 / P i (F) aina kuni = 1,2,...,n. Olkoonf F painoltaan pienin joukonf alkio. Todistus (2.2) (2.2): Oletetaan, että0 n 1,1 n 1 / P i (F) aina kuni = 1,2,...,n. Olkoonf F painoltaan pienin joukonf alkio. Selvästi bittijono f sisältää ainakin yhden1:sen. Voidaan olettaa, että f 1

Lisätiedot

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Kytkentäkentät, luento 2 - Kolmiportaiset kentät

Kytkentäkentät, luento 2 - Kolmiportaiset kentät Kytkentäkentät, luento - Kolmiportaiset kentät Kolmiportaiset kytkentäkentät - esitystapoja ja esimerkkejä Kytkentäkenttien vertailuperusteet ƒ Estottomuus, looginen syvyys, ajokyky Closin -verkko Paull

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

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

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

Algoritmit 1. Luento 12 Ti Timo Männikkö

Algoritmit 1. Luento 12 Ti Timo Männikkö Algoritmit 1 Luento 12 Ti 19.2.2019 Timo Männikkö Luento 12 Osittamisen tasapainoisuus Pikalajittelun vaativuus Lajittelumenetelmien vaativuus Laskentalajittelu Lokerolajittelu Kantalukulajittelu Algoritmit

Lisätiedot

Algoritmit 1. Luento 6 Ke Timo Männikkö

Algoritmit 1. Luento 6 Ke Timo Männikkö Algoritmit 1 Luento 6 Ke 25.1.2017 Timo Männikkö Luento 6 Järjestetty lista Listan toteutus dynaamisesti Linkitetyn listan operaatiot Vaihtoehtoisia listarakenteita Puurakenteet Binääripuu Järjestetty

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

Algoritmit 1. Luento 12 Ke Timo Männikkö

Algoritmit 1. Luento 12 Ke Timo Männikkö Algoritmit 1 Luento 12 Ke 15.2.2017 Timo Männikkö Luento 12 Pikalajittelu Pikalajittelun vaativuus Osittamisen tasapainoisuus Lajittelumenetelmien vaativuus Laskentalajittelu Lokerolajittelu Kantalukulajittelu

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

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

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

Algoritmit 2. Luento 7 Ti Timo Männikkö

Algoritmit 2. Luento 7 Ti Timo Männikkö Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26

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

Eulerin verkkojen karakterisointi

Eulerin verkkojen karakterisointi Eulerin verkkojen karakterisointi Pro Gradu -tutkielma Jenni Heikkilä 373175 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 018 Sisältö Johdanto 1 Verkkojen peruskäsitteet 3 1.1 Verkon määrittely.........................

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

Lineaariset yhtälöryhmät ja matriisit

Lineaariset yhtälöryhmät ja matriisit Lineaariset yhtälöryhmät ja matriisit Lineaarinen yhtälöryhmä a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2. a m1 x 1 + a m2 x 2 + + a mn x n = b m, (1) voidaan esittää

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen

Lisätiedot

Rakenteellinen tasapaino ja transitiivisyys

Rakenteellinen tasapaino ja transitiivisyys 1 Hypermedian jatko-opintoseminaari 2008-2009 Rakenteellinen tasapaino ja transitiivisyys 20.2.2009 Seppo Pohjolainen 2 Rakenteellinen tasapaino Käsitteitä: Arvotettu graafi (signed graph) (+ tai - ) Suuntaamaton

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

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PUURAKENTEET, BINÄÄRIPUU, TASAPAINOTETUT PUUT MIKÄ ON PUUTIETORAKENNE? Esim. Viereinen kuva esittää erästä puuta. Tietojenkäsittelytieteessä puut kasvavat alaspäin.

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 20.3.2018 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2018 Luento 3 Ti 20.3.2018

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

TIE Tietorakenteet ja algoritmit 261

TIE Tietorakenteet ja algoritmit 261 TIE-20100 Tietorakenteet ja algoritmit 261 12 Graafit Seuraavaksi tutustutaan tietorakenteeseen, jonka muodostavat pisteet ja niiden välille muodostetut yhteydet graafiin. Keskitymme myös tyypillisimpiin

Lisätiedot

Kytkentäkentät, luento 2 - Kolmiportaiset kentät

Kytkentäkentät, luento 2 - Kolmiportaiset kentät Kytkentäkentät, luento - Kolmiportaiset kentät Kolmiportaiset kytkentäkentät - esitystapoja ja esimerkkejä Kytkentäkenttien vertailuperusteet Estottomuus, looginen syvyys, ajokyky Closin -verkko Paull

Lisätiedot

Puiden karakterisointi

Puiden karakterisointi Puiden karakterisointi LuK-tutkielma Airta Ella 2502661 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2018 Sisältö Johdanto 2 1 Johdatus verkkoteoriaan 3 1.1 Verkko käsitteenä.........................

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

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48 MS-A3/A5 Matriisilaskenta Malliratkaisut 5 / vko 48 Tehtävä (L): a) Onko 4 3 sitä vastaava ominaisarvo? b) Onko λ = 3 matriisin matriisin 2 2 3 2 3 7 9 4 5 2 4 4 ominaisvektori? Jos on, mikä on ominaisarvo?

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta

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

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 21.3.2017 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2017 Luento 3 Ti 21.3.2017

Lisätiedot

VERKOT. SUHTEIKOT JA VERKOT 1. Johdanto... 1 2. Pisteiden asteet...7 3. Yhtenäisyys... 11 4. Kulku suhteikossa... 18 5. Hamiltonin kulut...

VERKOT. SUHTEIKOT JA VERKOT 1. Johdanto... 1 2. Pisteiden asteet...7 3. Yhtenäisyys... 11 4. Kulku suhteikossa... 18 5. Hamiltonin kulut... Heikki Junnila VERKOT. LUKU I SUHTEIKOT JA VERKOT 1. Johdanto..... 1 2. Pisteiden asteet...7 3. Yhtenäisyys.... 11 4. Kulku suhteikossa.... 18 5. Hamiltonin kulut....... 26 Harjoitustehtäviä......35 LUKU

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

9. Graafit. 9.1. Graafin abstrakti tietotyyppi

9. Graafit. 9.1. Graafin abstrakti tietotyyppi 9. Graafit Graafeilla eli verkoilla esitetään yhteystietoja. Esimerkkejä niistä ovat kaupunkikartan kadut ja tietoverkon tietokoneet. Tämä luku tarkastelee verkkojen perusasioita. 9.1. Graafin abstrakti

Lisätiedot

Tietorakenteet, laskuharjoitus 10, ratkaisuja. 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Tietorakenteet, laskuharjoitus 10, ratkaisuja. 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] = = T [i + 1] 4 return True 5

Lisätiedot

Tietorakenteet ja algoritmit. Verkot. Ari Korhonen

Tietorakenteet ja algoritmit. Verkot. Ari Korhonen Tietorakenteet ja algoritmit Verkot Ari Korhonen 1 10. VERKOT ( graphs ) 10.1 Yleistä 10.2 Terminologiaa 10.3 Verkon esittäminen 10.4 Verkon läpikäyntialgoritmit (graph traversal) 10.5 Painotetut verkot

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

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

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen)

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen) 58131 Tietorakenteet Erilliskoe 11.11.2008, ratkaisuja (Jyrki Kivinen) 1. (a) Koska halutaan DELETEMAX mahdollisimman nopeaksi, käytetään järjestettyä linkitettyä listaa, jossa suurin alkio on listan kärjessä.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 16.2.2010 1 / 41 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila Lineaarialgebra ja matriisilaskenta II Syksy 29 Laskuharjoitus (9. - 3..29) Ratkaisuehdotuksia Vesa Ala-Mattila Tehtävä. Olkoon V vektoriavaruus. Todistettava: jos U V ja W V ovat V :n aliavaruuksia, niin

Lisätiedot

(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun:

(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun: Tietorakenteet ja algoritmit, kevät 201 Kurssikoe 1, ratkaisuja 1. Tehtävästä sai yhden pisteen per kohta. (a) Invariantteja voidaan käyttää algoritmin oikeellisuustodistuksissa Jokin väittämä osoitetaan

Lisätiedot