Parinmuodostuksesta tietojenkäsittelytieteen silmin. Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto

Koko: px
Aloita esitys sivulta:

Download "Parinmuodostuksesta tietojenkäsittelytieteen silmin. Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto"

Transkriptio

1 Parinmuodostuksesta tietojenkäsittelytieteen silmin Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto Suomalainen Tiedeakatemia Nuorten Akatemiaklubi

2 Sisältö Mitä tietojenkäsittelytieteessä (ja erityisesti algoritmiikassa) tutkitaan? Parinmuodostuksesta vakaat pariutukset (Gale & Shapley 1962) eräs esimerkki omasta työstä: lähes vakaat pariutukset paikallisen laskennan mallissa

3 Tietojenkäsittelytiede Mitä tehtäviä voidaan automatisoida?... ja miten tämä tehdään tehokkaasti?

4 Käytäntö Systemaattinen ratkaisumenetelmä (=algoritmi) 75 x Matemaattinen malli & laskentatehtävä m m 75 x 253 =?

5 Algoritmi: Systemaattinen ratkaisumenetelmä kaikille mahdollisille syötteille 5 x 9 =? 75 x 253 =? 981 x 584 =? x =? x

6 Kokonaislukujen kertolasku Peruskoulualgoritmi Ainekset: Allekkain yhteenlasku (algoritmi itsessään) Kertotaulu (opetellaan ulkoa) Ohjeet kuinka soveltaa edellisiä kokonaislukujen kertomiseksi (opetellaan ulkoa)

7 Tietojenkäsittelytiede Mitä tehtäviä voidaan automatisoida?... ja miten tämä tehdään tehokkaasti? Mitä tarkoitamme tehokkuudella?

8 Tehokkuus Kuinka paljon laskentaresursseja kuluu annetun tehtävän ratkaisuun (käytettäessä määrättyä algoritmia)? Resursseja Aika (kauanko ratkaisussa kestää?) Tila (paljonko muistia tarvitaan?) Energia (kuinka suuri sähkölasku?) Tiedonsiirto (montako bittiä siirretään?)... (montako lähetys/vastaanotto -kierrosta tarvitaan?)

9 Peruskoulu - kertolaskualgoritmin syöte koostuu n-numeroisista karkea analyysi Paljonko aikaa tarvitaan? (n funktiona) luvuista (tässä n=14) { }} { x

10 Paljonko aikaa tarvitaan? (n funktiona) ~ aika on karkeasti verrannollinen tarvittavaan ruutupaperipintaalaan ~ karkeasti n² ruutua syöte koostuu n-numeroisista luvuista (tässä n=14) { }} { x

11 Tietojenkäsittelytiede Mitä tehtäviä voidaan automatisoida?... ja miten tämä tehdään tehokkaasti? Voidaanko tehtävä ratkaista tehokkaammin?

12 Sisältö Mitä tietojenkäsittelytieteessä (ja erityisesti algoritmiikassa) tutkitaan? Parinmuodostuksesta vakaat pariutukset (Gale & Shapley 1962) esimerkki omasta työstä: lähes vakaat pariutukset paikallisen laskennan mallissa

13 Parinmuodostuksesta Käytännössä on usein tarvetta muodostaa pareja Esimerkkejä: Parisuhteet Työpaikat ja työntekijät Koulutuspaikat ja opiskelijat Ostajat ja myyjät...

14 Käytäntö Systemaattinen ratkaisumenetelmä (=algoritmi) Matemaattinen malli & laskentatehtävä

15 Työpaikat ja työntekijät Työntekijät hakevat työpaikkoja omien mieltymystensä mukaan (työn mielekkyys, palkka,...) Työnantajat täyttävät työpaikkoja omien mieltymystensä mukaan (hakijan pätevyys, koulutustausta,...) Tavoitteena on muodostaa vakaa joukko työsuhteita

16 Työpaikat ja työntekijät x a työpaikka y z b c työntekijä mahdollinen pari

17 Mieluisuusverkko x: a>b>c x a a: x>y>z y: c>b>a y b b: x>z>y z: b>c>a z c c: z>x>y Oletetaan, että a) kukin työntekijä on järjestänyt mahdolliset työpaikkansa b) kukin työpaikka on järjestänyt mahdolliset työntekijänsä mieluisuuden mukaan

18 Pariutus x: a>b>c x a a: x>y>z y: c>b>a y b b: x>z>y z: b>c>a z c c: z>x>y Pariutus on joukko erillisiä (mahdollisia) pareja

19 Rikkuriparit x: a>b>c x a a: x>y>z y: c>b>a y b b: x>z>y z: b>c>a z c c: z>x>y Mahdollinen pari on rikkuripari jos sen osapuolet ovat a) ilman paria, tai b) pitävät rikkuriparistaan nykyistä pariaan enemmän

20 Vakaa pariutus x: a>b>c x a a: x>y>z y: c>b>a y b b: x>z>y z: b>c>a z c c: z>x>y Pariutus on vakaa jos mikään mahdollinen pari ei ole rikkuripari

21 Laskentatehtävä: Etsi vakaa pariutus (tai totea ettei sellaista ole) x: a>b>c x a a: x>y>z y: c>b>a y b b: x>z>y z: b>c>a z c c: z>x>y

22 Käytäntö Systemaattinen ratkaisumenetelmä (=algoritmi) Matemaattinen malli & laskentatehtävä

23 Kosinta-algoritmi (Gale & Shapley 1962) A) Jokainen työntekijä 1) ei tee mitään jos hän on ehdolla työpaikkaan, tai 2) hakee mieluisinta paikkaa, josta häntä ei ole vielä hylätty (jos tällaisia löytyy) B) Jokainen työpaikka 1) ei tee mitään jos uusia hakemuksia ei saavu, tai 2) hylkää kaikki paitsi mieluisimman hakijan (mahdollinen ehdokas aiemmalta kierrokselta lasketaan hakijaksi), ja ilmoittaa mieluisimmalle hakijalle, että hän on ehdolla paikkaan Toistetaan A & B kunnes hylkäyksiä ei tule, jolloin ehdollisista työsuhteista tulee lopullisia

24 A) Työntekijät hakevat mieluisinta paikkaa x: a>b>c x a a: x>y>z y: c>b>a y b b: x>z>y z: b>c>a z c c: z>x>y

25 B) Työpaikat valitsevat mieluisimman hakijan x: a>b>c x EHDOLLA a a: x>y>z y: c>b>a y HYLKÄYS b: x>z>y b z: b>c>a z EHDOLLA c c: z>x>y

26 A) Työntekijät hakevat mieluisinta paikkaa x: a>b>c x EHDOLLA a a: x>y>z y: c>b>a y b b: x>z>y EHDOLLA z: b>c>a z c c: z>x>y

27 B) Työpaikat valitsevat mieluisimman hakijan x: a>b>c x EHDOLLA a a: x>y>z EHDOLLA y: c>b>a y b b: x>z>y z: b>c>a z HYLKÄYS c c: z>x>y

28 A) Työntekijät hakevat mieluisinta paikkaa x: a>b>c x EHDOLLA a a: x>y>z EHDOLLA y: c>b>a y b b: x>z>y z: b>c>a z c c: z>x>y

29 B) Työpaikat valitsevat mieluisimman hakijan x: a>b>c x EHDOLLA a a: x>y>z EHDOLLA y: c>b>a y b b: x>z>y z: b>c>a z HYLKÄYS c c: z>x>y

30 A) Työntekijät hakevat mieluisinta paikkaa x: a>b>c x EHDOLLA a a: x>y>z EHDOLLA y: c>b>a y b b: x>z>y z: b>c>a z c c: z>x>y

31 B) Työpaikat valitsevat mieluisimman hakijan x: a>b>c x EHDOLLA a a: x>y>z EHDOLLA y: c>b>a y b b: x>z>y EHDOLLA z: b>c>a z c c: z>x>y

32 Ei hylkäyksiä lopullinen pariutus x: a>b>c x a a: x>y>z y: c>b>a y b b: x>z>y z: b>c>a z c c: z>x>y

33 Algoritmi: Systemaattinen ratkaisumenetelmä kaikille mahdollisille syötteille

34 Havaintoja (1/2) Olkoon työpaikkoja ja työnhakijoita molempia n kappaletta Olkoon kullakin työpaikalla ja työntekijällä enintään d mahdollista paria Väite. Tällöin kosinta-algoritmi pysähtyy enintään n x d kierroksessa Perustelu: Jokaisella kierroksella ennen pysähtymistä hylätään ainakin yksi hakija Hylkäyksen saatuaan työntekijä ei enää hae kyseistä paikkaa

35 Havaintoja (2/2) Väite. Kosinta-algoritmi tuottaa vakaan pariutuksen Perustelu: Olk. XA mielivaltainen mahdollinen pari X A Jos A jää ilman paria, X on hylännyt A:n hakemuksen (mieluisamman ehdokkaan hyväksi), joten XA ei voi olla rikkuripari Olkoon siis A:n pari Y Jos A:Y>X, tällöin XA ei ole rikkuripari (A ei tahdo rikkoa) Y X A Olkoon siis A:X>Y, jolloin X on hylännyt A:n hakemuksen, ja siten XA ei voi olla rikkuripari

36 Yhteenveto (Gale & Shapley) Esitetyssä mallissa on siis aina olemassa ainakin yksi vakaa pariutus... joista yhden kosinta-algoritmi löytää enintään n x d kierroksessa n ~ työpaikkojen/työntekijöiden määrä d ~ yläraja kunkin työpaikan/työntekijän mahdollisille pareille

37 Käytäntö Systemaattinen ratkaisumenetelmä (=algoritmi) x a y b z c Matemaattinen malli & laskentatehtävä

38 Käytäntö Systemaattinen ratkaisumenetelmä (=algoritmi) x a y b z c Matemaattinen malli & laskentatehtävä

39 Käytännössä n voi olla hyvinkin suuri... parinmuodostukseen ei käytetä n x d kierrosta... eikä kurinalaisesti käytetä kosinta-algoritmia... rikkureita löytyy... mieltymykset muuttuvat...

40 Kysymys Entäpä jos käytämme jotakin muuta menettelyä onko ylipäätään mahdollista löytää vakaa pariutus merkittävästi alle n kierroksessa?... jos oletamme, että jokainen solmu (=työpaikka/ työntekijä) tuntee alussa vain omat mieltymyksensä ja mahdolliset parinsa (=solmun naapurit)... ja että kukin solmu joka kierroksella 1. vastaanottaa viestin jokaiselta naapuriltaan 2. suorittaa itsenäistä laskentaa 3. lähettää viestin jokaiselle naapurilleen

41 Havainto: Vakaat pariutukset ovat herkkiä pienille muutoksille mieltymyksissä

42 Viestintärajoitteiden vuoksi T kierroksessa voimme nähdä vain 2T mahdollisen parin päähän... näin ollen oikea laita ei näe vasenta laitaa kuin vasta likimain n kierroksen kuluttua A: B:

43 Havainto Rikkuriparit ovat siis (oletetussa mallissa) väistämättömiä ellemme käytä pariutuksen etsimiseen likimain n kierrosta Käytännössä rikkuripareja ei isoissakaan verkoissa kuitenkaan vaikuta olevan kovin paljon pystyisimmekö selittämään havaintoa (mallimme pohjalta)?

44 Kysymys Entäpä jos suoritamme kosinta-algoritmia vain T kierrosta, missä T on huomattavasti pienempi kuin n x d?... tällöin emme yleisesti ottaen löydä vakaata pariutusta... mutta kuinka nopeasti rikkuriparien lkm suhteessa ehdolla olevien parien lkm pienenee kun T kasvaa?... erityisesti, saadaanko tämä suhdeluku mielivaltaisen pieneksi riippumatta verkon solmujen määrästä? (ts. riippumatta n arvosta)

45 Väite. Tarkastellaan kaksijakoista mieltymysverkkoa, jossa on ainakin yksi mahdollinen pari. Tällöin kosinta-algoritmin kierroksen T =5, 6,... lopussa pätee R E 2d2 T 4, missä R on rikkuriparien lukumäärä, E on ehdolla olevien parien lukumäärä, ja d on yläraja kunkin solmun naapurien lukumäärälle.

46 Sisältö Mitä tietojenkäsittelytieteessä (ja erityisesti algoritmiikassa) tutkitaan? Parinmuodostuksesta vakaat pariutukset (Gale & Shapley 1962) eräs esimerkki omasta työstä: lähes vakaat pariutukset paikallisen laskennan mallissa

47 Kiitokset Patrik Floréen, Valentin Polishchuk, Jukka Suomela Suomen Akatemia, projektit , , (ALGODAN) Helsinki Graduate School in Computer Science & Engineering (Hecse) Nokian Säätiö Algorithms & Complexity Group / U. Glasgow

Verkon värittämistä hajautetuilla algoritmeilla

Verkon värittämistä hajautetuilla algoritmeilla Verkon värittämistä hajautetuilla algoritmeilla 5 12 30 19 72 34 Jukka Suomela 15 77 18 4 9. tammikuuta 2012 19 2 68 Verkko 2 Verkko solmu 3 Verkko solmu kaari 4 Hajautettu järjestelmä solmu (tietokone)

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

Laskennan vaativuus ja NP-täydelliset ongelmat

Laskennan vaativuus ja NP-täydelliset ongelmat Laskennan vaativuus ja NP-täydelliset ongelmat TRAK-vierailuluento 13.4.2010 Petteri Kaski Tietojenkäsittelytieteen laitos Tietojenkäsittelytiede Tietojenkäsittelytiede tutkii 1. mitä tehtäviä voidaan

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

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia Itsestabilointi: perusmääritelmiä ja klassisia tuloksia Jukka Suomela Hajautettujen algoritmien seminaari 12.10.2007 Hajautetut järjestelmät Ei enää voida lähteä oletuksesta, että kaikki toimii ja mikään

Lisätiedot

Algebra I, harjoitus 5,

Algebra I, harjoitus 5, Algebra I, harjoitus 5, 7.-8.10.2014. 1. 2 Osoita väitteet oikeiksi tai vääriksi. a) (R, ) on ryhmä, kun asetetaan a b = 2(a + b) aina, kun a, b R. (Tässä + on reaalilukujen tavallinen yhteenlasku.) b)

Lisätiedot

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari Konsensusongelma hajautetuissa järjestelmissä Niko Välimäki 30.11.2007 Hajautetut algoritmit -seminaari Konsensusongelma Päätöksen muodostaminen hajautetussa järjestelmässä Prosessien välinen viestintä

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

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

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n)) Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava

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

Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8

Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8 Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8 Tuntitehtävät 1-2 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 5- loppuviikon harjoituksissa. Kotitehtävät 3-4 tarkastetaan loppuviikon

Lisätiedot

Tarkennamme geneeristä painamiskorotusalgoritmia

Tarkennamme geneeristä painamiskorotusalgoritmia Korotus-eteen-algoritmi (relabel-to-front) Tarkennamme geneeristä painamiskorotusalgoritmia kiinnittämällä tarkasti, missä järjestyksessä Push- ja Raise-operaatioita suoritetaan. Algoritmin peruskomponentiksi

Lisätiedot

Luento 9. June 2, Luento 9

Luento 9. June 2, Luento 9 June 2, 2016 Otetaan lähtökohdaksi, että sopimuksilla ei voida kattaa kaikkia kontingensseja/maailmantiloja. Yksi kiinnostava tapaus on sellainen, että jotkut kontingenssit ovat havaittavissa sopimusosapuolille,

Lisätiedot

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä Sekalaiset tehtävät, 11. syyskuuta 005, sivu 1 / 13 Tehtäviä Tehtävä 1. Johda toiseen asteen yhtälön ax + bx + c = 0, a 0 ratkaisukaava. Tehtävä. Määrittele joukon A R pienin yläraja sup A ja suurin alaraja

Lisätiedot

7.4 Sormenjälkitekniikka

7.4 Sormenjälkitekniikka 7.4 Sormenjälkitekniikka Tarkastellaan ensimmäisenä esimerkkinä pitkien merkkijonojen vertailua. Ongelma: Ajatellaan, että kaksi n-bittistä (n 1) tiedostoa x ja y sijaitsee eri tietokoneilla. Halutaan

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

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

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

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

3 = Lisäksi z(4, 9) = = 21, joten kysytty lineaarinen approksimaatio on. L(x,y) =

3 = Lisäksi z(4, 9) = = 21, joten kysytty lineaarinen approksimaatio on. L(x,y) = BM20A5810 Differentiaalilaskenta ja sovellukset Harjoitus 6, Syksy 2016 1. (a) Olkoon z = z(x,y) = yx 1/2 + y 1/2. Muodosta z:lle lineaarinen approksimaatio L(x,y) siten että approksimaation ja z:n arvot

Lisätiedot

Tietotekniikan valintakoe

Tietotekniikan valintakoe Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan

Lisätiedot

Nopea kertolasku, Karatsuban algoritmi

Nopea kertolasku, Karatsuban algoritmi Nopea kertolasku, Karatsuban algoritmi Mikko Männikkö 16.8.2004 Lähde: ((Gathen and Gerhard 1999) luku II.8) Esityksen kulku Algoritmien analysointia (1), (2), (3), (4) Klassinen kertolasku Parempi tapa

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

Seminaari: Hajautetut algoritmit syksy 2009

Seminaari: Hajautetut algoritmit syksy 2009 Seminaari: Hajautetut algoritmit syksy 2009 http://www.cs.helsinki.fi/u/josuomel/sem-2009s/ Jukka Suomela 10.9.2009 Seminaari: Hajautetut algoritmit syksy 2009 Seminaarin työmuodot 2 / 38 Aikataulu ja

Lisätiedot

Äärellisten mallien teoria

Äärellisten mallien teoria Äärellisten mallien teoria Harjoituksen 5 ratkaisut (Hannu Niemistö) Tehtävä 1 OlkootGjaG neljän solmun verkkoja Määritä, milloing = 2 G eli verkot ovat osittaisesti isomorfisia kahden muuttujan suhteen

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

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

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

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B. HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 3 Ratkaisuehdotuksia Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan muun muassa kahden joukon osoittamista samaksi sekä joukon

Lisätiedot

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen. Lause: Tyhjyysongelma ei ole osittain ratkeava; ts. kieli ei ole rekursiivisesti lueteltava. L e = { w { 0, 1 } L(M w ) = } Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia,

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

Lisää pysähtymisaiheisia ongelmia

Lisää pysähtymisaiheisia ongelmia Lisää pysähtymisaiheisia ongelmia Lause: Pysähtymättömyysongelma H missä H = { w111x w validi koodi, M w ei pysähdy syötteellä x } ei ole rekursiivisesti lueteltava. Todistus: Pysähtymisongelman komplementti

Lisätiedot

c) 22a 21b x + a 2 3a x 1 = a,

c) 22a 21b x + a 2 3a x 1 = a, Tehtäviä on kahdella sivulla; kuusi ensimmäistä tehtävää on monivalintatehtäviä, joissa on 0 4 oikeata vastausta. 1. Lukion A ja lukion B oppilasmäärien suhde oli a/b vuoden 2017 lopussa. Vuoden 2017 aikana

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

Turingin koneen laajennuksia

Turingin koneen laajennuksia Turingin koneen laajennuksia Turingin koneen määritelmään voidaan tehdä erilaisia muutoksia siten että edelleen voidaan tunnistaa tasan sama luokka kieliä. Moniuraiset Turingin koneet: nauha jakautuu k

Lisätiedot

Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri }

Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri } 135 4.3 Algoritmeista Churchin ja Turingin formuloinnit laskennalle syntyivät Hilbertin vuonna 1900 esittämän kymmenennen ongelman seurauksena Oleellisesti Hilbert pyysi algoritmia polynomin kokonaislukujuuren

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

Abstraktiot ja analyysi algoritmit ja informaation esitykset

Abstraktiot ja analyysi algoritmit ja informaation esitykset 01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 Abstraktiot ja analyysi algoritmit ja informaation esitykset Petteri Kaski Tietotekniikan laitos Aalto-yliopisto

Lisätiedot

Matematiikan ja tilastotieteen laitos Matematiikka tutuksi Harjoitus 2, malliratkaisut

Matematiikan ja tilastotieteen laitos Matematiikka tutuksi Harjoitus 2, malliratkaisut Matematiikan ja tilastotieteen laitos Matematiikka tutuksi Harjoitus, malliratkaisut 1.-5.9.009 1. Muodosta joukot A B, A B ja A\B sekä laske niiden alkioiden lukumäärät (mikäli kyseessä on äärellinen

Lisätiedot

Harjoitustyön testaus. Juha Taina

Harjoitustyön testaus. Juha Taina Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida

Lisätiedot

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, että se pystyy suorittamaan kaikki mahdolliset algoritmit?

Lisätiedot

Latinalaiset neliöt ja taikaneliöt

Latinalaiset neliöt ja taikaneliöt Latinalaiset neliöt ja taikaneliöt LuK-tutkielma Aku-Petteri Niemi Matemaattisten tieteiden tutkinto-ohjelma Oulun yliopisto Kevät 2018 Sisältö Johdanto 2 1 Latinalaiset neliöt 3 1.1 Latinalainen neliö.........................

Lisätiedot

Matematiikan ja tilastotieteen laitos Algebra I - Kesä 2009 Ratkaisuehdoituksia harjoituksiin 8 -Tehtävät 3-6 4 sivua Heikki Koivupalo ja Rami Luisto

Matematiikan ja tilastotieteen laitos Algebra I - Kesä 2009 Ratkaisuehdoituksia harjoituksiin 8 -Tehtävät 3-6 4 sivua Heikki Koivupalo ja Rami Luisto Matematiikan ja tilastotieteen laitos Algebra I - Kesä 2009 Ratkaisuehdoituksia harjoituksiin 8 -Tehtävät 3-6 4 sivua Heikki Koivupalo ja Rami Luisto 3. Oletetaan, että kunnan K karakteristika on 3. Tutki,

Lisätiedot

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut 33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut 1. Kutsutaan (eri) positiivisten kokonaislukujen joukkoa merkitykselliseksi, jos sen jokaisen äärellisen epätyhjän osajoukon aritmeettinen ja geometrinen

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

2017 = = = = = = 26 1

2017 = = = = = = 26 1 JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 2, MALLIRATKAISUT Tehtävä 1. Sovella Eukleiden algoritmia ja (i) etsi s.y.t(2017, 753) (ii) etsi kaikki kokonaislukuratkaisut yhtälölle 405x + 141y = 12. Ratkaisu

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 4. Joukot, relaatiot ja funktiot Osa 3: Funktiot 4.3 Funktiot Olkoot A ja B joukkoja. Funktio joukosta A joukkoon B on sääntö, joka liittää yksikäsitteisesti määrätyn

Lisätiedot

Algoritmit 2. Luento 8 To Timo Männikkö

Algoritmit 2. Luento 8 To Timo Männikkö Algoritmit 2 Luento 8 To 4.4.2019 Timo Männikkö Luento 8 Algoritmien analysointi Algoritmien suunnittelu Rekursio Osittaminen Rekursioyhtälöt Rekursioyhtälön ratkaiseminen Master-lause Algoritmit 2 Kevät

Lisätiedot

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut Pisteytys on ilmoitettu välikoevaihtoehdon mukaan (joko tehtävät 1, 2 ja 3 välikokeen 1 uusintana tai tehtävät 4, 5 ja 6 välikokeen 2 uusintana).

Lisätiedot

Miten osoitetaan joukot samoiksi?

Miten osoitetaan joukot samoiksi? Miten osoitetaan joukot samoiksi? Määritelmä 1 Joukot A ja B ovat samat, jos A B ja B A. Tällöin merkitään A = B. Kun todistetaan, että A = B, on päättelyssä kaksi vaihetta: (i) osoitetaan, että A B, ts.

Lisätiedot

Algebran perusteet. 44 ϕ(105) = (105). Näin ollen

Algebran perusteet. 44 ϕ(105) = (105). Näin ollen Algebran perusteet Harjoitus 4, ratkaisut kevät 2016 1 a) Koska 105 = 5 21 = 3 5 7 ja 44 = 2 2 11, niin syt(44, 105) = 1 Lisäksi ϕ(105) = ϕ(3 5 7) = (3 1)(5 1)(7 1) = 2 4 6 = 48, joten Eulerin teoreeman

Lisätiedot

Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38

Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38 Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38 Tuntitehtävät 11-12 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 15-16 loppuviikon harjoituksissa. Kotitehtävät 13-14 tarkastetaan loppuviikon

Lisätiedot

Rekursiiviset palautukset [HMU 9.3.1]

Rekursiiviset palautukset [HMU 9.3.1] Rekursiiviset palautukset [HMU 9.3.1] Yleisesti sanomme, että ongelma P voidaan palauttaa ongelmaan Q, jos mistä tahansa ongelmalle Q annetusta ratkaisualgoritmista voidaan jotenkin muodostaa ongelmalle

Lisätiedot

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: S A S B Samaan jäsennyspuuhun päästään myös johdolla S AB Ab ab: S A S B Yhteen jäsennyspuuhun liittyy aina tasan yksi vasen

Lisätiedot

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A. Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta

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

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

Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Linkkikeskukset ja auktoriteetit (hubs and authorities) -algoritmi

Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Linkkikeskukset ja auktoriteetit (hubs and authorities) -algoritmi Kurssin loppuosa Diskreettejä menetelmiä laajojen 0-1 datajoukkojen analyysiin Kattavat joukot ja niiden etsintä tasoittaisella algoritmilla Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016 TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. syyskuuta 2016 Sisällys a https://tim.jyu.fi/view/kurssit/tie/ tiea241/2016/videoiden%20hakemisto Matemaattisen

Lisätiedot

a 2 ba = a a + ( b) a = (a + ( b))a = (a b)a, joten yhtälö pätee mielivaltaiselle renkaalle.

a 2 ba = a a + ( b) a = (a + ( b))a = (a b)a, joten yhtälö pätee mielivaltaiselle renkaalle. Harjoitus 10 (7 sivua) Ratkaisuehdotuksia/Martina Aaltonen Tehtävä 1. Mitkä seuraavista yhtälöistä pätevät mielivaltaisen renkaan alkioille a ja b? a) a 2 ba = (a b)a b) (a + b + 1)(a b) = a 2 b 2 + a

Lisätiedot

11. Javan toistorakenteet 11.1

11. Javan toistorakenteet 11.1 11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin

Lisätiedot

Konsensusongelma hajautetuissa järjestelmissä

Konsensusongelma hajautetuissa järjestelmissä Konsensusongelma hajautetuissa järjestelmissä Niko Välimäki Helsinki 29.10.2007 Seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö i 1 Johdanto 1 2 Konsensusongelma 2 2.1 Ratkeamattomuustodistus........................

Lisätiedot

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

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna. q 0 x solmuina laskennan mahdolliset tilanteet juurena alkutilanne lehtinä tilanteet joista ei siirtymää,

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

Markkinoiden suunnittelu ja Gale-Shapley-algoritmi

Markkinoiden suunnittelu ja Gale-Shapley-algoritmi Markkinoiden suunnittelu ja Gale-Shapley-algoritmi Markkinat eivät välttämättä synny itsestään ja monesti on useita tapoja järjestää markkinat. Markkinoiden keskeinen tehtävä on mahdollistaa vaihdanta.

Lisätiedot

Tehtävä 5 : 1. Tehtävä 5 : 2

Tehtävä 5 : 1. Tehtävä 5 : 2 Tehtävä 5 : 1 Merkitään kirjaimella H kuvan punaisten solmujen virittämää verkon G yhtenäistä aliverkkoa, jossa on yhteensä kolme särmää. Aliverkosta H voidaan kahdella tavalla valita kahden solmun joukko

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

TE-toimiston ohjeita/vinkkejä ammattiin 2019 valmistuville

TE-toimiston ohjeita/vinkkejä ammattiin 2019 valmistuville 1) TYÖNHAKUUN LIITTYVÄÄ: - aloita työnhaku ajoissa ENNEN valmistumista (noin ½ v. ennen valmistumista) - hanki itsellesi riittävät hyvät työnhakuvalmiudet eli selvitä kuinka tehdään vapaamuotoisia hakemuksia

Lisätiedot

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja.

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja. IsoInt Tietokoneiden muisti koostuu yksittäisistä muistisanoista, jotka nykyaikaisissa koneissa ovat 64 bitin pituisia. Muistisanan koko asettaa teknisen rajoituksen sille, kuinka suuria lukuja tietokone

Lisätiedot

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

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin Yhteydettömien kielioppien ja pinoautomaattien yhteys [Sipser s. 117 124] Todistamme, että yhteydettömien kielioppien tuottamat kielet ovat tasan samat kuin ne, jotka voidaan tunnistaa pinoautomaatilla.

Lisätiedot

Paikkatiedon käsittely 6. Kyselyn käsittely

Paikkatiedon käsittely 6. Kyselyn käsittely HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon käsittely 6. Kyselyn käsittely Antti Leino antti.leino@cs.helsinki.fi 1.2.2007 Tietojenkäsittelytieteen laitos Kysely indeksin

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 7. Kombinatoriikka 7.1 Johdanto Kombinatoriikka tutkii seuraavan kaltaisia kysymyksiä: Kuinka monella tavalla jokin toiminto voidaan suorittaa? Kuinka monta tietynlaista

Lisätiedot

Muita rekisteriallokaatiomenetelmiä

Muita rekisteriallokaatiomenetelmiä TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 23. marraskuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe E tiistai 1.12. klo 10 koodigenerointi (ilman rekisteriallokaatiota)

Lisätiedot

10. Esitys ja kuvaus

10. Esitys ja kuvaus 10. Esitys ja kuvaus Kun kuva on ensin segmentoitu alueisiin edellisen luvun menetelmin, segmentoidut pikselit kootaan esittämään ja kuvaamaan kohteita muodossa, joka sopii hyvin jatkokäsittelyä varten.

Lisätiedot

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

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 2014 G. Gripenberg (Aalto-yliopisto) MS-A0402 Diskreetin matematiikan perusteetesimerkkejä,

Lisätiedot

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

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I MS-A040 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 014 G. Gripenberg (Aalto-yliopisto) MS-A040 Diskreetin matematiikan perusteetesimerkkejä,

Lisätiedot

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin? Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin? 2013-2014 Lasse Lensu 2 Algoritmit ovat deterministisiä toimintaohjeita

Lisätiedot

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) 31.1.-4.2.2011 OT 1. Määritellään kokonaisluvuille laskutoimitus n m = n + m + 5. Osoita, että (Z, ) on ryhmä.

Lisätiedot

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä 1 1. Etsi lukujen 4655 ja 12075 suurin yhteinen tekijä ja lausu se kyseisten lukujen lineaarikombinaationa ilman laskimen

Lisätiedot

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja 582206 Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja 1. Esitä tilakaaviona NFA N = (Q, Σ, δ, q 0, F ), missä Q = { q 0, q 1, q 2, q 3, q 4, q 5, q 6, q 7 }, Σ = { a, b, c }, F = { q 4 } ja δ on

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. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 2 Ke Timo Männikkö Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 26. tammikuuta 2012 TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 26. tammikuuta 2012 Sisällys Luennon pähkinä Millä tavalla voidaan rakentaa tietokoneohjelma (tai kirjasto), joka

Lisätiedot

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat. Approbatur 3, demo 1, ratkaisut 1.1. A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat. Käydään kaikki vaihtoehdot läpi. Jos A on rehti, niin B on retku, koska muuten

Lisätiedot

HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 5 Ratkaisuehdotukset

HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 5 Ratkaisuehdotukset HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 5 Ratkaisuehdotukset 1. Päättele resoluutiolla seuraavista klausuulijoukoista: (a) {{p 0 }, {p 1 }, { p 0, p 2 },

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016 ja ja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. lokakuuta 2016 Sisällys ja ja Vuosi on 1936, eikä tietokoneita ollut. Computer oli ammattinimike. http://www.nasa.gov/centers/dryden/

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

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta AVL-puut eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta pohjana jo esitetyt binäärihakupuiden operaatiot tasapainotus vie pahimmillaan lisäajan lisäys- ja

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

= 3 = 1. Induktioaskel. Induktio-oletus: Tehtävän summakaava pätee jollakin luonnollisella luvulla n 1. Induktioväite: n+1

= 3 = 1. Induktioaskel. Induktio-oletus: Tehtävän summakaava pätee jollakin luonnollisella luvulla n 1. Induktioväite: n+1 Matematiikan ja tilastotieteen laitos Matematiikka tutuksi Harjoitus 4 Ratkaisuehdotuksia 4-810 1 Osoita induktiolla, että luku 15 jakaa luvun 4 n 1 aina, kun n Z + Todistus Tarkastellaan ensin väitettä

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

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio Ellipsoidimenetelmä Kokonaislukuoptimointi Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 1 Sisällys Ellipsoidimenetelmän geometrinen perusta ja menetelmän idea Formaali ellipsoidimenetelmä

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut 58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut 1. Palautetaan vielä mieleen O-notaation määritelmä. Olkoon f ja g funktioita luonnollisilta luvuilta positiivisille

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 ICS-C2000 Tietojenkäsittelyteoria Kevät 206 Kierros 0, 2. 24. maaliskuuta Huom! Perjantaina 25. maaliskuuta ei ole laskareita (pitkäperjantai), käykää vapaasti valitsemassanne ryhmässä aiemmin viikolla.

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

Algoritmit 1. Luento 11 Ti Timo Männikkö

Algoritmit 1. Luento 11 Ti Timo Männikkö Algoritmit 1 Luento 11 Ti 14.2.2017 Timo Männikkö Luento 11 Algoritminen ongelmanratkaisu Osittaminen Lomituslajittelu Lomituslajittelun vaativuus Rekursioyhtälöt Pikalajittelu Algoritmit 1 Kevät 2017

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Nollasummapelit ja bayesilaiset pelit

Nollasummapelit ja bayesilaiset pelit Nollasummapelit ja bayesilaiset pelit Kristian Ovaska HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Seminaari: Peliteoria Helsinki 18. syyskuuta 2006 Sisältö 1 Johdanto 1 2 Nollasummapelit 1 2.1

Lisätiedot

Signalointi: autonromujen markkinat

Signalointi: autonromujen markkinat Signalointi: autonromujen markkinat Mat-.414 Optimointiopin seminaari Klaus Mattila 1.0.008 1 Esityksen rakenne Johdanto Autonromujen markkinat: Akerlofin malli Kustannuksellinen signalointi: Spencen malli

Lisätiedot