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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet ) T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen

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

Harjoitus 1 (17.3.2015)

Harjoitus 1 (17.3.2015) Harjoitus 1 (17.3.2015) Tehtävä 1 Piirretään tilanteesta verkko, jossa kaupungeille on annetttu seuraavat numerot: 1 = Turku 2 = Tampere 3 = Helsinki 4 = Kuopio 5 = Joensuu. a) Tehtävänä on ratkaista Bellman

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

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 1 25.-26.1.2017 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka laskee kahden kokonaisluvun välisen jakojäännöksen käyttämättä lainkaan jakolaskuja Jaettava m, jakaja n Vähennetään luku

Lisätiedot

Oikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen.

Oikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen. Tietorakenteet, kevät 2012 Kurssikoe 2, mallivastaukset 2. (a) Järjestämistä ei voi missään tilanteessa suorittaa nopeammin kuin ajassa Θ(n log n), missä n on järjestettävän taulukon pituus. Epätosi: Yleisessä

Lisätiedot

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti. Tietorakenteet, laskuharjoitus 11, ratkaisuja 1. Leveyssuuntaisen läpikäynnin voi toteuttaa rekursiivisesti käsittelemällä jokaisella rekursiivisella kutsulla kaikki tietyllä tasolla olevat solmut. Rekursiivinen

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

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

MS-A0402 Diskreetin matematiikan perusteet

MS-A0402 Diskreetin matematiikan perusteet MS-A040 Diskreetin matematiikan perusteet Osa : Relaatiot ja funktiot Riikka Kangaslampi 017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Relaatiot Relaatio Määritelmä 1 Relaatio joukosta A

Lisätiedot

S: siirtää listan ensimmäisen luvun viimeiseksi V: vaihtaa keskenään listan kaksi ensimmäistä lukua

S: siirtää listan ensimmäisen luvun viimeiseksi V: vaihtaa keskenään listan kaksi ensimmäistä lukua A Lista Sinulle on annettu lista, joka sisältää kokonaisluvut 1, 2,, n jossakin järjestyksessä. Tehtäväsi on järjestää luvut pienimmästä suurimpaan käyttäen seuraavia operaatioita: S: siirtää listan ensimmäisen

Lisätiedot

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012 TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. tammikuuta 2012 Sisällys Sisällys Äärellisiä automaatteja PUSH ON PUSH OFF Q T Q J C C H S C,Q C,Q 0 50s 1e

Lisätiedot

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

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut JYVÄSKYLÄN YLIOPISTO 14. Luennon sisältö Kuljetustehtävä esimerkki Verkkoteoria ja optimointi verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut kevät 2012 TIEA382 Lineaarinen ja diskreetti

Lisätiedot

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

Tehtävä 8 : 1. Tehtävä 8 : 2 Tehtävä 8 : 1 Merkitään kirjaimella G tarkasteltavaa Petersenin verkkoa. Olkoon A joukon V(G) niiden solmujen joukko, joita vastaavat solmut sijaitsevat tehtäväpaperin kuvassa ulkokehällä. Joukon A jokaisella

Lisätiedot

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina Hakupuut tässä luvussa tarkastelemme puita tiedon tallennusrakenteina hakupuun avulla voidaan toteuttaa kaikki joukko-tietotyypin operaatiot (myös succ ja pred) pahimman tapauksen aikavaativuus on tavallisella

Lisätiedot

Jos d-kohdan vasemmalla puolella perusjoukkona on X, niin oikealla puolella

Jos d-kohdan vasemmalla puolella perusjoukkona on X, niin oikealla puolella DISKREETTI MATEMATIIKKA, harjoitustehtävät Tehtäviä tulee todennäköisesti lisää. Uudet tehtävät tulevat aikanaan ladattavaksi samalle sivulle, josta tämäkin moniste löytyi. Ilmoitustaululta on nähtävissä

Lisätiedot

Hamiltonin sykleistä graateoriassa

Hamiltonin sykleistä graateoriassa Hamiltonin sykleistä graateoriassa Pro gradu -tutkielma Ohto Nordberg 1335868 Matemaattisten tieteiden laitos Oulun yliopisto Kevät 2013 Sisältö Johdanto 2 1 Historiaa 3 1.1 Euler................................

Lisätiedot

Determinantti. Määritelmä

Determinantti. Määritelmä Determinantti Määritelmä Oletetaan, että A on n n-neliömatriisi Merkitään normaaliin tapaan matriisin A alkioita lyhyesti a ij = A(i, j) (a) Jos n = 1, niin det(a) = a 11 (b) Muussa tapauksessa n det(a)

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015 TIEA24 Automaatit ja kieliopit, syksy 205 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 5. marraskuuta 205 Sisällys Käsiteanalyysiä Tarkastellaan koodilukkoa äärellisenä automaattina. Deterministinen äärellinen

Lisätiedot

Syötteen ainoalla rivillä on yksi positiivinen kokonaisluku, joka on alle 1000000000000 = 10 12. Luvussa ei esiinny missään kohtaa numeroa 0.

Syötteen ainoalla rivillä on yksi positiivinen kokonaisluku, joka on alle 1000000000000 = 10 12. Luvussa ei esiinny missään kohtaa numeroa 0. A Alkulukuosat Tehtävänä on laskea annetusta kokonaisluvusta niiden osajonojen määrä, joita vastaavat luvut ovat alkulukuja. Esimerkiksi luvun 123 kaikki osajonot ovat 1, 2, 3, 12, 23 ja 123. Näistä alkulukuja

Lisätiedot

1.1. Määritelmiä ja nimityksiä

1.1. Määritelmiä ja nimityksiä 1.1. Määritelmiä ja nimityksiä Luku joko reaali- tai kompleksiluku. R = {reaaliluvut}, C = {kompleksiluvut} R n = {(x 1, x 2,..., x n ) x 1, x 2,..., x n R} C n = {(x 1, x 2,..., x n ) x 1, x 2,..., x

Lisätiedot

Algoritmit 2. Luento 6 Ke Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu

Lisätiedot

Graphs in Social Network Analysis And Modeling. Graafit sosiaalisten verkostojen mallintamisessa

Graphs in Social Network Analysis And Modeling. Graafit sosiaalisten verkostojen mallintamisessa Hypermedian jatko-opintoseminaari 2008 2009 1 Graphs in Social Network Analysis And Modeling Graafit sosiaalisten verkostojen mallintamisessa 28.11.2008 Thumas Miilumäki thumas.miilumaki@tut.fi Sisältö

Lisätiedot

Tieto- ja tallennusrakenteet

Tieto- ja tallennusrakenteet Tieto- ja tallennusrakenteet Sisältö Tyyppi, abstrakti tietotyyppi, abstraktin tietotyypin toteutus Tallennusrakenteet Taulukko Linkitetty rakenne Abstraktit tietotyypit Lista (Puu) (Viimeisellä viikolla)

Lisätiedot

Osittaistuenta Gaussin algoritmissa: Etsitään 1. sarakkeen itseisarvoltaan suurin alkio ja vaihdetaan tämä tukialkioiksi (eli ko. rivi 1. riviksi).

Osittaistuenta Gaussin algoritmissa: Etsitään 1. sarakkeen itseisarvoltaan suurin alkio ja vaihdetaan tämä tukialkioiksi (eli ko. rivi 1. riviksi). Liukuluvut Tietokonelaskuissa käytetään liukulukuja: mikä esittää lukua ± α α α M β k ± ( M α i β i )β k, i= β on järjestelmän kantaluku, α α M liukuluvun mantissa, α,, α M lukuja,,,, β, siten että α Esimerkki

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

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea. Roolit Tommi Perälä Department of Mathematics, Hypermedia Laboratory Tampere University of Technology 25.3.2011 J. Kleinberg kehitti -algoritmin (Hypertext Induced Topic Search) hakukoneen osaksi. n taustalla

Lisätiedot