KONVOLUUTIOKOODIT A Tietoliikennetekniikka II Osa 25 Kari Kärkkäinen Syksy 2015

Koko: px
Aloita esitys sivulta:

Download "KONVOLUUTIOKOODIT A Tietoliikennetekniikka II Osa 25 Kari Kärkkäinen Syksy 2015"

Transkriptio

1 1 KONVOLUUTIOKOODIT

2 KONVOLUUTIOKOODERIN PERUSIDEA 2 Konvoluutiokoodi on lohkoton koodi. Pariteettibitit lasketaan liukuen informaatiobittijonon yli. Muistin pituudesta K käytetään nimitystä vaikutuspituus (constraint length & span). Konvouluutiokoodille voidaan myöskin määritellä koodisuhde k/n. Siirtorekisterin sisään syötetään kerralla k bitin lohko. Kun rekisteriä on siirretty K kertaa eteenpäin, informaatiobittilohko ei enää vaikuta pariteettibittien laskentaan, eli ne ovat liukuneet koodin vaikutuspituuden ulkopuolelle.

3 KONVOLUUTIOKOODERIN PERUSIDEA 3 Z&T:ssä oletaan yksinkertaistaen, että vaikutuspituus on k (ts. vain yksi bitti menee k-bitin lohkon sijasta k-pituiseen rekisteriin, joten yksi bitti vaikuttaa vain k:n siirron verran) ja koodisuhde on siten 1/v. t = d free 2 1 Summainkytkennöillä on suuri merkitys virheenkorjauskykyyn t. Hyviä kytkentöjä on haettu tietokoneilla. Koodausalgebra ei ole lähellekkään niin kehittynyt kuin lohkokoodeilla. Suorituskykyyn vaikuttaa ns. vapaa etäisyys (free distance d free ), joka on kahden äärettömän pitkän koodatun sekvenssin pienin Hammingetäisyys (

4 ESIMERKKEJÄ KONVOLUUTIOKOODEREISTA (S) 4 Vaikutuspituus 4, koska 4 muistiyksikköä vaikuttaa lähtöön Vaikutuspituus 3, koska 2 muistialkiota ja 1 tulobitti vaikuttaa lähtöön Vaikutuspituus 2, koska 1 rinnakkainen muistialkio ja 2 tulobittiä kerralla vaikuttaa lähtöön

5 SYSTEMAATTINEN VS. EPÄSYSTEMAATTINEN KOODI 5 Systemaattisella konvoluutiokoodilla, kuten systemaattisella lohkokoodillakin, informaatiobitit on erotettavissa sellaisenaan koodatusta bittijonosta (ts. jotkut kooderin lähtöbitit eivät ole lainkaan muiden informaatiobittien funktioita). Lohkokoodeilla koodin muuttaminen epäsystemaattisesta systemaattiseksi ei muuta koodisanojen etäisyysominaisuuksia, mutta konvoluutiokoodilla se vaikuttaa vapaata etäisyyttä pienentävästi, eli koodin korjauskykyä (P E suorituskykyä) heikentävästi. Kooderin lähtobitti ei ole funktio (esim. modulo-2 summa) useasta informaatiobitistä. Kooderin lähtöbitti on useamman informaatiobittien funktio.

6 SYSTEMAATTINEN VS. EPÄSYSTEMAATTINEN KOODI 6 Suuremmilla K:n arvoilla suurimman mahdollisen saavutettavan vapaan etäisyyden erot ovat vieläkin suurempia kuin mitä alla voidaan nähdä. Intuitiivisesti voidaan ajatella, että epäsystemaattiset koodijonot ovat enemmän koodattuja kuin systemaattiset koodit ( sekoittuneet ortogonalisoituneet ja siis etäämmällä toisistaan). t = d free 2 1

7 1/n-KONVOLUUTIOKOODEREITA 7 Ohessa on esitetty parhaimmat tunnetut 1/n- konvoluutiokooderit. Alla olevan (½,3)-kooderin kytkentäpolynomit: g 1 = 111 = g 1 (X) = 1+X+X 2 g 2 = 101 = g 2 (X) = 1+X 2

8 8 KONVOLUUTIOKOODEJA HAVAINNOLLISTAVAT ESITYSTAVAT JA DEKOODAUSMENETELMÄT

9 1/3 -KOODERI TILA- JA SIIRTYMÄTAULUKKO 9 Sekventiaalinen äärellinen tilakone (finite state machine), joka askeltaa tilasta toiseen. Toiminnan tarkastelun pohjana aina tila- ja siirtymätaulukko. Tilasiirtymä riippuu aiemmasta tilasta ja tuloinformaatiosta. v 1 = S 1 S 2 S 3, v 2 = S 1, v 3 = S 1 S 2 Tulo: Lähtö:

10 1/3 -KOODERI KOODIPUU 10 Kooderin toimintaa koodauksessa ja dekoodauksessa voidaan kuvata ja havainnollistaa: koodipuu (code tree) tiladiagrammi (state diagram), trellis-diagrammi eli ristikkodiagrammi Dekoodausmenetelmät: Puuhaku Viterbi-algoritmi Sekventiaalinen dekoodaus Kooderin tulobitti Dekoodaustulos Kooderin lähtöbittikolmikko

11 1/3 -KOODERI PUUHAKUDEKOODAUS 11 Etsitään Hamming- etäisyyden mukaan lähinnä vastaanotettua bittijonoa oleva polku (periaatteena yksinkertainen). Kaikki oksan haarat käydään läpi systemaattisesti, mikä kertoo menetelmän eksponentiaalisesta monimutkaisuudesta & muistista. Esimerkiksi vastaanotettu jono dekoodataan jonoksi 1010, kun lähetetty jono on , jolloin virheet korjautuu 3 ja 11 bittipaikassa.

12 1/3 -KOODERI PUUHAKUDEKOODAUS 12 Puuhaun täydellinen toteuttaminen ei ole mahdollista, koska N- pituisella infobittijonolla on 2 N kpl puun haaroja (esim = , maailmassa atomeja vain n kpl), joiden kaikkien säilöminen muistiin on mahdotonta. Koko puuta & polkuja ei voida pitää kooltaan eksponentiaalisesti kasvavassa muistissa, joten täytyy suorittaa jossain vaiheessa sekvenssin katkaisu alusta lukien. Katkaisu tapahtuu tyypillisesti esim. viiden vaikutuspituuden päässä, eli puskurimuistissa on kerrallaan puuta vain viiden vaikutuspituuden mittaiselta matkalta (muisti liukuu), jonka yli H-etäisyyttä lasketaan. Katkaisu perustuu ajatukseen, että dekoodattu jono alkaa alkupäästä lähtien konvergoimaan kohden lähetettyä jonoa, kun etäisyyksiä lasketaan sopivan ikkunan yli (jollei ole tapahtunut paljon virheitä) ja siksi riittävän viipeen päästä voidaan tehdä lopullinen päätös alkupään todennäköisimmästä informaatiobittijonosta. Kooderin tilasiirrokset havainnollistuvat tilataulukon sijaan kompaktimmassa muodossa tiladiagrammista.

13 1/3 -KOODERI TILADIAGRAMMI 13 Koodien kuvaamisen perustana on aina tila- ja siirtymätaulukko.

14 1/3 -KOODERI TRELLISDIAGRAMMI 14 Trellis-dekoodauksen idea perustuu havaintoon, että koodipuu alkaa toistamaan itseään K:n haaran jälkeen (K on vaikutuspituus). Se on nähtävissä kuvan koodipuusta, jolle K = 3. Neljännen tulobitin jälkeen on luotu 16 oksaa. Kooderin lähtö siis riippuu kolmesta viimeisimmästä tulobitistä (K = 3). Kun 4 bitti on tullut, on aivan sama oliko ensiksi tullut bitti {1} vai {0}, koska lähtö riippuu vain biteistä 2., 3. ja 4..

15 1/3 -KOODERI TRELLISDIAGRAMMI 15 Kooderin tilaksi määritellään rekisteristä kiikkujen 1 ja 2 tila S 1 S 2 ennen uuden bitin sisään tuloa. Digitaalitekniikasta tutun sekventiaalisen tilakoneen perusidean mukaisesti nykytila ja tulobitti yhdessä määräävät koneen (kooderin) seuraavan tilan sekä sen lähtöbitit. Edellisellä 1/3-kooderilla on trellis-diagrammissa 2 2 = 4 erilaista mahdollista tilaa, koska kaksi rekisterin bittiä S 1 S 2 määrittelevät kunkin hetkisen tilan Viterbi-algoritmi (keksijä Andrew Viterbi) perustuu trellisdiagrammin älykkääseen hyväksikäyttöön. Trellisdiagrammia kutsutaan myös ristikkodiagrammiksi.

16 1/3 -KOODERI TRELLISDIAGRAMMI 16 Trellis-diagrammi on siis koodipuu paljon kompaktimmassa muodossa, josta eksponentiaalinen kasvu on jäänyt pois (kasvu lineaarista). Alla esim. tiloihin A ja C voidaan päätyä vain tiloista A ja B.

17 1/3 -KOODERI TRELLISDIAGRAMMI 17 Trellis (ristikko) saadaan muodostettua tiladiagrammista. Aluksi kooderi on tilassa A (000). Tulobitti {0} saa kooderin pysymään tilassa A ja se osoitetaan katkoviivalla, kun taas tulobitti {1} aiheuttaa ehjällä viivalla kuvatun siirtymän C-tilaan. Mikä tahansa neljästä tilasta saadaan määriteltyä kahdella peräkkäisellä tulobitillä. 3. tulobitin jälkeen tämä trellis alkaa toistua.

18 18 VITERBI-ALGORITMI (S)

19 VITERBI-ALGORITMI (S) 19 Tarkastellaan vastaanotettua bittijonoa: , kun lähetetty jono oli: (virheet paikoissa 3 ja 11). 1. askeleessa lasketaan alkusolmun (A-tila) ja kunkin neljän tilan HE:t kolmen tilan (vaikutuspit.) syvyydeltä. Koska kuhunkin tilaan voidaan tulla vain kahdesta mahdollisesta edellisestä tilasta (solmusta), lasketaan kahdeksan (2 4) eri polun etäisyydet vastaanotetusta jonosta. HE:t on alla laskettu 3 3 = 9 tulobitin matkalta.

20 VITERBI-ALGORITMI (S) 20 Kun etäisyydet K:n mittaiselta matkalla on laskettu, säilytetään muistissa vain kuhunkin tilaan tuleva H-etäisyydeltään pienimmän arvon omaava jono, jota kutsutaan selviytyjäksi (survivor). Seuraavasta tilasta saatavat selviytyjät ovat aina edellisten selviytyjien jatkeita, koska muut jo hylätyt polut trelliksessä eivät voi enää olla etäisyydeltään lähempänä. Joka tilajaksossa pudotetaan siis puolet siihen astisista kaikista mahdollisista poluista pois, mikä pienentää sekvenssimuistin tarvetta logaritmisesti. Jos tilaan tulee kaksi saman H-etäisyyden selviytyjää, voidaan jompi kumpi tilaan tulevista poluista hylätä, koska oikea polku löytyy myöhemmin (prosessi konvergoi lopulta oikeaan polkuun). Seuraavaksi otetaan käsittelyyn seuraava kolmen bitin lohko (111) liitettäväksi jonoon , jolle lasketaan etäisyydet uudestaan ja valitaan selviytyjät. Tulos on esitetty taulukossa 11.8.

21 VITERBI-ALGORITMI (S) 21 Dekoodaustulos: 1010 (sama kuin aiemmin puuhaussa)

22 VITERBI-ALGORITMI (S) 22 Lopulta, esim. viiden vaikutuspituuden jälkeen, täytyy tehdä päätös vastaanotetun jonon alkupäästä kuten puudekoodauksessakin. Tuolloin selviytyjät ovat jo tn. yhtyneet diagrammin alkupäässä. Kuvattua prosessia jatketaan, kunnes kaikki tulobitit on prosessoitu. Bittijonon loputtua täytyy vielä neljästä jäljellä olevasta selviytyjästä jättää jäljelle vain yksi. Se tehdään syöttämällä algoritmille kaksi dummy-nollaa infosekvenssin lopuksi (kahden peräkkäisen tilan verran, eli tässä 6 bittiä), jolloin algoritmi palautuu takaisin tilaan A.

23 VITERBI-ALGORITMI (S) 23 Vastaanotettua jonoa lähimmän jonon etsintä saadaan siis palasteltua pienempiin helposti prosessorilla toteutettaviin osiin: aiemmat talletetut välitulokset liitetään tämänhetkisiin uusiin tuloksiin. Näin kattavan haun eksponentiaalisesti kasvava muistin tarve saadaan pienennettyä lineaariseksi jonon pituuden funktiona, kun kussakin tilassa hylätään aina puolet niihin tulevista poluista ja tehdään viiveellä päätös alkupään jonosta. Laskennallinen kompleksisuus ja muistin tarve on puolestaan eksponentiaalisesti (edellä 2 2 =4) verrannollinen kooderin tilojen määrään (tilojen määrä on tietenkin paljon pienempi kuin koko jonon pituus). Siksi tilojen määrä on pidettävä pienenä parametrien n, k ja K valinnalla. Prosessoritoteutuksessa täytyy siis muistaa tilat, niihin tulevat selviytyjät sekä niiden Hamming-etäisyydet. Viterbi-algoritmi on laskennallisesti tehokkain ja käytetyin konvoluutiokoodien dekoodausmenetelmä, jonka vuoksi konvoluutiokoodeja suositaan järjestelmäratkaisuissa.

24 VITERBI-ALGORITMI ½-KOODILLE ESIMERKKI 1 (S) 24

25 VITERBI-ALGORITMI ½-KOODILLE ESIMERKKI 1 (S) 25 Trelliskoodauksen tutoriaalianimaatio:

26 VITERBI-ALGORITMI ½-KOODILLE ESIMERKKI 1 (S) 26

27 VITERBI-ALGORITMI ½-KOODILLE ESIMERKKI 1 (S) Oletetaan, että on lähetetty datajono: ja on vastaanotettu kaksi virhettä sisältävä jono Huomataan, että lopulta algoritmi löytää pienimmän etäisyyden omaavan polun. 27

28 VITERBI-ALGORITMI ½-KOODILLE ESIMERKKI 1 (S) 28 Tämä polku on lähimpänä lähetettyä Nämä polut hylättäisiin seuraavassa vaiheessa.

29 VITERBI-ALGORITMI ½-KOODILLE ESIMERKKI 2 (S) Lähetetty datajono: On vastaanotettu kolme lähekkäin toisiaan sijaitsevaa virhettä (virheryöppy) sisältävä jono Esim. 1 verrattuna virheitä on nyt liikaa 10 bitin matkalla, joten algoritmi ei kykene korjaamaan niitä, ja valitsee väärän polun. Dekoodauksessa siis hylätään etäisyyden perusteella oikea polku, jota ei enää myöhemmin kyetä löytämään. Syntyy siis dekoodausvirhe virheryöpystä johtuen. 29

30 30 SEKVENTIAALINEN DEKOODAUS

31 SEKVENTIAALINEN DEKOODAUS ½-KOODILLE 31 Ideana on vaeltaa yrityksen ja erehdyksen periaatteella puussa ja laskea jatkuvasti H- etäisyyttä puun juuresta lukien. Kun etäisyys kasvaa nopeasti, on se merkki siitä, että ollaan tn. väärällä polulla ja siksi täytyy palata takaisin johonkin aiempaan välipisteeseen ja jatkaa arvauksen perusteella jotain toista polkua pitkin. Menetelmä on tehokkaampi kuin systemaattinen puun läpikäynti, sillä oikea polku löytyy todennäköisesti nopeammin. Tarvitaan välttämättä väärän polun hylkäyskynnys. Voi verrata analogisesti autolla ajamiseen kartan kanssa. Niin kauan kuin autoilija tunnistaa kartalla näkyviä maamerkkejä matkan varrella, hän jatkaa eteenpäin, mutta kääntyy takaisin kun mielestään ei enää ole kartalla.

32 SEKVENTIAALINEN DEKOODAUS ½-KOODILLE 32

33 33 KONVOLUUTIOKOODIEN SUORITUSKYKYVERTAILUT

34 KONVOLUUTIOKOODIEN VERTAILU (S) 34

35 KONVOLUUTIOKOODIEN VERTAILU (S) 35 t = d free 2 1

36 KONVOLUUTIOKOODIEN VERTAILU (S) 36

37 KONVOLUUTIOKOODIEN VERTAILU (S) 37 Konvoluutiokoodin suorituskykyyn vaikuttaa vapaa etäisyys (free distance), joka on kahden äärettömän pitkän koodatun sekvenssin pienin Hamming-etäisyys. Vapaan etäisyyden avulla voidaan laskea yläraja saavutettavissa olevalle suorituskyvylle P E (siis koodausvahvistukselle) kuten myös arvo korjauskyvylle t = (d free -1)/2.

esimerkkejä erilaisista lohkokoodeista

esimerkkejä erilaisista lohkokoodeista 6.2.1 Lohkokoodit tehdään bittiryhmälle bittiryhmään lisätään sovitun algoritmin mukaan ylimääräisiä bittejä [k informaatiobittiä => n koodibittiä, joista n-k lisäbittiä], käytetään yleensä merkintää (n,k)-koodi

Lisätiedot

KAISTANLEVEYDEN JA TEHON KÄYTÖN KANNALTA OPTIMAALINEN MODULAATIO TRELLISKOODATTU MODULAATIO (TCM)

KAISTANLEVEYDEN JA TEHON KÄYTÖN KANNALTA OPTIMAALINEN MODULAATIO TRELLISKOODATTU MODULAATIO (TCM) 1 KAISTANLEVEYDEN JA TEHON KÄYTÖN KANNALTA OPTIMAALINEN MODULAATIO TRELLISKOODATTU MODULAATIO (TCM) CPM & TCM-PERIAATTEET 2 Tehon ja kaistanleveyden säästöihin pyritään, mutta yleensä ne ovat ristiriitaisia

Lisätiedot

INFORMAATIOTEORIA & KOODAUS TÄRKEIMPIEN ASIOIDEN KERTAUS A Tietoliikennetekniikka II Osa 28 Kari Kärkkäinen Syksy 2015

INFORMAATIOTEORIA & KOODAUS TÄRKEIMPIEN ASIOIDEN KERTAUS A Tietoliikennetekniikka II Osa 28 Kari Kärkkäinen Syksy 2015 1 INFORMAATIOTEORIA & KOODAUS TÄRKEIMPIEN ASIOIDEN KERTAUS TEENVETO 2 Informaatioteoria tarkastelee tiedonsiirtoa yleisemmällä, hieman abstraktilla tasolla ei enää tarkastella signaaleja aika- tai taajuusalueissa.

Lisätiedot

VIRHEENKORJAUS JA -ILMAISU

VIRHEENKORJAUS JA -ILMAISU VIRHEENKORJAUS JA -ILMAISU Kanavakoodaus B. Sklar, Digital Communications Langattomien tietoliikennejärjestelmien perusteet: Kanavakoodaus Timo Kokkonen Kevät 29 2 (35) Shannon Hartleyn-laki Otsikon lain

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

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014 Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos 3.3 Lineaarisen koodin dekoodaus Oletetaan, että lähetettäessä kanavaan sana c saadaan sana r = c + e, missä e on häiriön aiheuttama

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

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

Lisätiedot

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

TURBOKOODAUS. Miten turbokoodaus eroaa konvoluutiokoodauksesta? 521361A Tietoliikennetekniikka II Osa 26 Kari Kärkkäinen Syksy 2015

TURBOKOODAUS. Miten turbokoodaus eroaa konvoluutiokoodauksesta? 521361A Tietoliikennetekniikka II Osa 26 Kari Kärkkäinen Syksy 2015 1 TURBOKOODAUS Miten turbokoodaus eroaa konvoluutiokoodauksesta? TURBOKOODAUKSEN IDEA 2 V. 1993 keksityt koodit eivät löytyneet systemaattisen koodausteorian soveltamisen seurauksena pyrkimyksenä päästä

Lisätiedot

JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN KANAVAKOODAUSMENETELMÄT A Tietoliikennetekniikka II Osa 22 Kari Kärkkäinen Syksy 2015

JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN KANAVAKOODAUSMENETELMÄT A Tietoliikennetekniikka II Osa 22 Kari Kärkkäinen Syksy 2015 1 JOHDANTO VIRHEENKORJAAVAAN KOODAUKSEEN KANAVAKOODAUSMENETELMÄT RESURSSIEN VÄLINEN KAUPANKÄYNTI 2 LÄHETYSTEHO KAISTANLEVEYS MONIMUTKAISUUS VIRHETODEN- NÄKÖISYYS RESURSSIEN VÄLINEN KAUPANKÄYNTI 3 Resurssien

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

Algebralliset menetelmät virheenkorjauskoodin tunnistamisessa

Algebralliset menetelmät virheenkorjauskoodin tunnistamisessa Algebralliset menetelmät virheenkorjauskoodin tunnistamisessa Jyrki Lahtonen, Anni Hakanen, Taneli Lehtilä, Toni Hotanen, Teemu Pirttimäki, Antti Peltola Turun yliopisto MATINE-tutkimusseminaari, 16.11.2017

Lisätiedot

Algoritmit 2. Luento 12 To Timo Männikkö

Algoritmit 2. Luento 12 To Timo Männikkö Algoritmit 2 Luento 12 To 3.5.2018 Timo Männikkö Luento 12 Geneettiset algoritmit Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Algoritmit 2 Kevät 2018 Luento 12 To 3.5.2018 2/35 Algoritmien

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

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

Lisätiedot

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

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

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

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

VIRHEENKORJAUS JA -ILMAISU

VIRHEENKORJAUS JA -ILMAISU VIRHEENKORJAUS JA -ILMAISU Kanavakoodaus B. Sklar, Digital Communications () Shannon Hartleyn-laki Tiedonsiirron perusresurssit Otsikon lain mukaan ideaalisen (analogisen) kanavan kapasiteetti (kohina

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

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

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Digitaalitekniikan matematiikka Luku 13 Sivu 2 (10) Johdanto Tässä luvussa esitetään virheen havaitsevien ja korjaavien koodaustapojen perusteet ja käyttösovelluksia

Lisätiedot

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 1. Luento 8 Ke Timo Männikkö Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin

Lisätiedot

Algoritmit 2. Luento 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

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

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

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

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

Lisätiedot

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

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

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

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

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 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

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

Lisätiedot

Dynaamiset regressiomallit

Dynaamiset regressiomallit MS-C2128 Ennustaminen ja Aikasarja-analyysi, Lauri Viitasaari Matematiikan ja systeemianalyysin laitos Perustieteiden korkeakoulu Aalto-yliopisto Syksy 2016 Tilastolliset aikasarjat voidaan jakaa kahteen

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

Helsinki University of Technology

Helsinki University of Technology Helsinki University of Technology Laboratory of Telecommunications Technology S-38.211 Signaalinkäsittely tietoliikenteessä I Signal Processing in Communications (2 ov) Syksy 1997 3. Luento: Optimaalinen

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

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

T Luonnollisten kielten tilastollinen käsittely Vastaukset 11, ke , 12:15 14:00 Puheentunnistus ja kielimallien evaluointi Versio 1.

T Luonnollisten kielten tilastollinen käsittely Vastaukset 11, ke , 12:15 14:00 Puheentunnistus ja kielimallien evaluointi Versio 1. T-61.020 Luonnollisten kielten tilastollinen käsittely Vastaukset 11, ke 18.4.2007, 12:1 14:00 Puheentunnistus ja kielimallien evaluointi Versio 1.0 1. Käytämme siis jälleen viterbi-algoritmia todennäköisimmän

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

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

Lisätiedot

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

ELEC-C3240 Elektroniikka 2

ELEC-C3240 Elektroniikka 2 ELEC-C324 Elektroniikka 2 Marko Kosunen Marko.kosunen@aalto.fi Digitaalielektroniikka Tilakoneet Materiaali perustuu kurssiins-88. Digitaalitekniikan perusteet, laatinut Antti Ojapelto Luennon oppimistavoite

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

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

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014 Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos 6. Ryöppyvirheitä korjaavat koodit Topi Törmä Matemaattisten tieteiden laitos 2 / 34 6.1 Peruskäsitteitä Aiemmin on implisiittisesti

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

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

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 3 521475S Rinnakkaiset Numeeriset Algoritmit Silmukattomat algoritmit Eivät sisällä silmukka lauseita kuten DO,FOR tai WHILE Nopea suorittaa Yleisimmässä muodossa koostuu peräkkäisistä

Lisätiedot

Silmukkaoptimoinnista

Silmukkaoptimoinnista sta TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. joulukuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe F maanantai 14.12. klo 12 rekisteriallokaatio Arvostelukappale

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

13 Lyhimmät painotetut polut

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

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 6 1 Korkolaskentaa Oletetaan, että korkoaste on r Jos esimerkiksi r = 0, 02, niin korko on 2 prosenttia Tätä korkoastetta käytettään diskonttaamaan tulevia tuloja ja

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

1. Universaaleja laskennan malleja

1. Universaaleja laskennan malleja 1. Universaaleja laskennan malleja Laskenta datan käsittely annettuja sääntöjä täsmällisesti seuraamalla kahden kokonaisluvun kertolasku tietokoneella, tai kynällä ja paperilla: selvästi laskentaa entä

Lisätiedot

Laskennallinen menetelmä puun biomassan ja oksien kokojakauman määrittämiseen laserkeilausdatasta

Laskennallinen menetelmä puun biomassan ja oksien kokojakauman määrittämiseen laserkeilausdatasta Laskennallinen menetelmä puun biomassan ja oksien kokojakauman määrittämiseen laserkeilausdatasta Pasi Raumonen, Mikko Kaasalainen ja Markku Åkerblom Tampereen teknillinen ylipisto, Matematiikan laitos

Lisätiedot

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5. Siirtoyhteyskerros linkkikerros (Data Link Layer) yhtenäinen linkki solmusta solmuun bitit sisään => bitit ulos ongelmia: siirtovirheet havaitseminen korjaaminen solmun kapasiteetti vuonvalvonta yhteisen

Lisätiedot

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

5. Siirtoyhteyskerros linkkikerros (Data Link Layer) 5. Siirtoyhteyskerros linkkikerros (Data Link Layer) yhtenäinen linkki solmusta solmuun bitit sisään => bitit ulos ongelmia: siirtovirheet havaitseminen korjaaminen solmun kapasiteetti vuonvalvonta yhteisen

Lisätiedot

Harjoitus 6 ( )

Harjoitus 6 ( ) Harjoitus 6 (30.4.2014) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s.t. g(x) 0 h(x) = 0 x X (1) olevan optimointitehtävän Lagrangen duaali on max θ(u,v) s.t. u 0,

Lisätiedot

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja 581336 Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja 1. S! axc X! axc X! by c Y! by c Y! " 2. (a) Tehtävänä on konstruoida rajoittamaton kielioppi, joka tuottaa kielen f0 n 1 n jn 1g. Vaihe1: alkutilanteen

Lisätiedot

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja 582206 Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja 1. Seuraavissa laskennoissa tilat on numeroitu sarakkeittain ylhäältä alas jättäen kuitenkin hyväksyvä tila välistä. Turingin koneen laskenta

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu 832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa

Lisätiedot

Dynaaminen analyysi II

Dynaaminen analyysi II Dynaaminen analyysi II Luento 7 Antti-Pekka Tuovinen 9 April 2013 1 Tavoitteet Black-box testitapausten suunnittelutekniikat II Tilamallien käyttö Syys-seurausverkot ja päätöstaulut Käyttötapaukset Yhteenveto

Lisätiedot

Signaalien generointi

Signaalien generointi Signaalinkäsittelyssä joudutaan usein generoimaan erilaisia signaaleja keinotekoisesti. Tyypillisimpiä generoitavia aaltomuotoja ovat eritaajuiset sinimuotoiset signaalit (modulointi) sekä normaalijakautunut

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

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

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

Parinmuodostuksesta tietojenkäsittelytieteen silmin. Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto Parinmuodostuksesta tietojenkäsittelytieteen silmin Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto Suomalainen Tiedeakatemia Nuorten Akatemiaklubi 18.10.2010 Sisältö Mitä tietojenkäsittelytieteessä

Lisätiedot

Tutkimustiedonhallinnan peruskurssi

Tutkimustiedonhallinnan peruskurssi Tutkimustiedonhallinnan peruskurssi Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo hannu.toivonen, marko.salmenkivi, inkeri.verkamo@cs.helsinki.fi Helsingin yliopisto Hannu Toivonen, Marko Salmenkivi,

Lisätiedot

Algoritmit 1. Luento 13 Ma Timo Männikkö

Algoritmit 1. Luento 13 Ma Timo Männikkö Algoritmit 1 Luento 13 Ma 26.2.2018 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

Lisätiedot

Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin:

Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin: A Numeropeli Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin: 1 2 3 4 5 6 7 8 9 Voit jokaisella siirrolla vaihtaa keskenään kaksi vierekkäistä lukua vaaka- tai

Lisätiedot

Algoritmit 2. Luento 9 Ti Timo Männikkö

Algoritmit 2. Luento 9 Ti Timo Männikkö Algoritmit 2 Luento 9 Ti 17.4.2018 Timo Männikkö Luento 9 Merkkitiedon tiivistäminen Huffmanin koodi LZW-menetelmä Taulukointi Editointietäisyys Algoritmit 2 Kevät 2018 Luento 9 Ti 17.4.2018 2/29 Merkkitiedon

Lisätiedot

Mitä on konvoluutio? Tutustu kuvankäsittelyyn

Mitä on konvoluutio? Tutustu kuvankäsittelyyn Mitä on konvoluutio? Tutustu kuvankäsittelyyn Tieteenpäivät 2015, Työohje Sami Varjo Johdanto Digitaalinen signaalienkäsittely on tullut osaksi arkipäiväämme niin, ettemme yleensä edes huomaa sen olemassa

Lisätiedot

jens 1 matti Etäisyydet 1: 1.1 2: 1.4 3: 1.8 4: 2.0 5: 3.0 6: 3.6 7: 4.0 zetor

jens 1 matti Etäisyydet 1: 1.1 2: 1.4 3: 1.8 4: 2.0 5: 3.0 6: 3.6 7: 4.0 zetor T-1.81 Luonnollisten kielten tilastollinen käsittely Vastaukset 11, ti 8.4., 1:1-18: Klusterointi, Konekääntäminen. Versio 1. 1. Kuvaan 1 on piirretty klusteroinnit käyttäen annettuja algoritmeja. Sanojen

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

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 Väliarvolause Oletetaan, että funktio f on jatkuva jollain reaalilukuvälillä [a, b] ja derivoituva avoimella välillä (a, b). Funktion muutos tällä välillä on luonnollisesti

Lisätiedot

Pistetulo eli skalaaritulo

Pistetulo eli skalaaritulo Pistetulo eli skalaaritulo VEKTORIT, MAA4 Pistetulo on kahden vektorin välinen tulo. Tarkastellaan ensin kahden vektorin välistä kulmaa. Vektorien a ja, kun a 0, välinen kulma on (kuva) kovera kun a vektorit

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

Metropolia ammattikorkeakoulu 05.02.2015 TI00AA43-3004: Ohjelmointi Kotitehtävät 3

Metropolia ammattikorkeakoulu 05.02.2015 TI00AA43-3004: Ohjelmointi Kotitehtävät 3 : http://users.metropolia.fi/~pasitr/2014-2015/ti00aa43-3004/kt/03/ratkaisut/ Tehtävä 1. (1 piste) Tee ohjelma K03T01.cpp, jossa ohjelmalle syötetään kokonaisluku. Jos kokonaisluku on positiivinen, niin

Lisätiedot

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä?

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? 2012-2013 Lasse Lensu 2 Ongelma 2: Voidaanko dataa tai informaatiota tallettaa tiiviimpään tilaan koodaamalla se uudelleen? 2012-2013 Lasse

Lisätiedot

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

Lisätiedot

Harjoitus 6 ( )

Harjoitus 6 ( ) Harjoitus 6 (21.4.2015) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s. t. g(x) 0 h(x) = 0 x X olevan optimointitehtävän Lagrangen duaali on missä max θ(u, v) s. t.

Lisätiedot

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

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

Lisätiedot

Stabiloivat synkronoijat ja nimeäminen

Stabiloivat synkronoijat ja nimeäminen Stabiloivat synkronoijat ja nimeäminen Mikko Ajoviita 2.11.2007 Synkronoija Synkronoija on algoritmi, joka muuntaa synkronoidun algoritmin siten, että se voidaan suorittaa synkronoimattomassa järjestelmässä.

Lisätiedot

3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin.

3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin. 3. Hakupuut Hakupuu on listaa tehokkaampi dynaamisen joukon toteutus. Erityisesti suurilla tietomäärillä hakupuu kannattaa tasapainottaa, jolloin päivitysoperaatioista tulee hankalampia toteuttaa mutta

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

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

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

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA341 Funktio-ohjelmointi 1, kevät 2008 Luento 5 Ympärysmitta. Puut. Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 21. tammikuuta 2008 CASE: YMPÄRYSMITTA Lasketaan kuvioiden ympärysmittoja

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

Koodausteoria, Kesä 2014

Koodausteoria, Kesä 2014 Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos 5.6 Alternanttikoodin dekoodaus, kun esiintyy pyyhkiytymiä ja virheitä Joissakin tilanteissa vastaanotetun sanan kirjainta ei saa tulkittua

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

Algoritmit 2. Luento 6 To Timo Männikkö

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

Lisätiedot

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

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}. 42 Turingin koneiden laajennuksia 1 oniuraiset koneet Sallitaan, että Turingin koneen nauha koostuu k:sta rinnakkaisesta urasta, jotka kaikki kone lukee ja kirjoittaa yhdessä laskenta-askelessa: Koneen

Lisätiedot

Verkko-optimointiin perustuva torjuntatasan laskenta mellakkapoliisin resurssien kohdentamisessa (valmiin työn esittely) Paavo Kivistö

Verkko-optimointiin perustuva torjuntatasan laskenta mellakkapoliisin resurssien kohdentamisessa (valmiin työn esittely) Paavo Kivistö Verkko-optimointiin perustuva torjuntatasan laskenta mellakkapoliisin resurssien kohdentamisessa (valmiin työn esittely) Paavo Kivistö 21.01.2013 Ohjaaja: Kai Virtanen Valvoja: Raimo P. Hämäläinen Työn

Lisätiedot

Mediaanisuodattimet. Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että. niiden ominaisuudet tunnetaan hyvin

Mediaanisuodattimet. Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että. niiden ominaisuudet tunnetaan hyvin Mediaanisuodattimet Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että niiden ominaisuudet tunnetaan hyvin niiden analysointiin on olemassa vakiintuneita menetelmiä

Lisätiedot

805306A Johdatus monimuuttujamenetelmiin, 5 op

805306A Johdatus monimuuttujamenetelmiin, 5 op monimuuttujamenetelmiin, 5 op syksy 2018 Matemaattisten tieteiden laitos K:n lähimmän naapurin menetelmä (K-Nearest neighbours) Tarkastellaan aluksi pientä (n = 9) kurjenmiekka-aineistoa, joka on seuraava:

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