3. Yhteistilaverkko. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

Koko: px
Aloita esitys sivulta:

Download "3. Yhteistilaverkko. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki"

Transkriptio

1 3. Yhteistilaverkko Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

2 3.1. Johdanto Koko systeemiäkin voidaan kuvata yhdellä siirtymäsysteemillä, yhteistilaverkolla Yhteistilaverkon tilaksi tulee prosessiverkkojen tilojen vektori Otettava kantaa, millä tasolla rinnakkaisuutta eli samanaikaisuutta mallinnetaan todelliseen rinnakkaisuus lomitus Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

3 Lomitus vs. todellinen rinnakkaisuus Esim. Yhteinen muuttuja y=0 P1: P2: y := y+1; y := y-1; halt; halt; Lomitettaessa Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

4 Lomitus vs. todellinen rinnakkaisuus Esim. Yhteinen muuttuja y=0 P1: P2: y := y+1; y := y-1; halt; halt; Lomitettaessa aina lopuksi y = 0. Todellisessa rinnakkaisuudessa Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

5 Lomitus vs. todellinen rinnakkaisuus Esim. Yhteinen muuttuja y=0 P1: P2: y := y+1; y := y-1; halt; halt; Lomitettaessa aina lopuksi y = 0. Todellisessa rinnakkaisuudessa y=0, 1 tai -1 riippuen rinnakkaisuuden "asteesta". Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

6 Muuttujan muutosesiintymä on sellainen, että muuttuja on sijoituslauseen vasempana puolena. Muuten muuttujan esiintymä on viittausesiintmä. Muuttujan esiintymä prosessissa P on kriittinen, joss se on P:ssä muutosesiintymä ja muuttujalla on viittausesiintymä muussa prosessissa tai se on P:ssä viittaussesiintymä ja muuttujalla on muutosesiintymä muussa prosessissa Yhden kriittisen esiintymän sääntö: Jos jokaisessa käskyssä on korkeintaan yksi kriittinen esiintymä, niin lomitus kuvaa todellista rinnakkaisuutta. Edellä olleessa esimerkkikoodissa sääntö ei ole voimassa. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

7 Miksi? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

8 Miksi? Muuttujalla y on sekä muutos- että viittausesiintymä molemmissa prosesseissa P1 ja P2. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

9 Miksi? Muuttujalla y on sekä muutos- että viittausesiintymä molemmissa prosesseissa P1 ja P2. Muutetaan ohjelmaa: y=0 P1: P2: t := y+1; s := y-1; y := t; y := s; halt; halt; Mitä arvoja muuttujalla y on suorituksen lopussa? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

10 Miksi? Muuttujalla y on sekä muutos- että viittausesiintymä molemmissa prosesseissa P1 ja P2. Muutetaan ohjelmaa: y=0 P1: P2: t := y+1; s := y-1; y := t; y := s; halt; halt; Mitä arvoja muuttujalla y on suorituksen lopussa? Lopussa y=0, 1 tai -1 eli kaikki todellisen rinnakkaisuuden mahdollisuudet tulevat esiin jo lomituksessa. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

11 3.2. AB-protokollan yhteistilaverkko AB-protokollassa siis lähettäjä S lähettää sanomia d0 ja d1 vastaanottajalle R. Vastaavasti R lähettää kuittauksia a0 ja a1 S:lle. Oletetaan, että lähetykset ja vastaanotot tapahtuvat synkronoidusti (tight coupling, rendezvous). Tämä tarkoittaa, että kun lähettäjä lähettää, vastaanottajan on oltava valmis ottamaan lähetys vastaan. Jos vastaaottaja ei ole valmis, ei lähettäjä voi lähettää. Siis esimerkiksi sanoman d0 lähetyksen yhteydessä lähettäjä siirtyy uuteen tilaan siirtymällä d0 ja samalla vastaanottaja siirtyy uuteen tilaan myöskin siirtymällä d0. Sisäinen siirtymä ei aiheuta tilanvaihtoja toisissa prosesseissa. Samoin ajastintapahtuma t aiheuttaa siirtymän vain lähettäjäprosessissa. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

12 Yhteistilaverkon tila on AB-protokollan tapauksessa pari (Si, Rj), missä Si on lähettäjän ja Rj vastaanottajan tila. Ajastimesta ei oleteta mitään. Siten se voi laueta turhan aikaisin, mutta tämän ei pitäisi johtaa virheisiin. Lähettäjän S ja vastaanottajan R siirtymäsysteemit ovat: R1 d1 a1 R4 d1 S1 a1 S4 d0 d1 t d0 t d1 R2 a0 R3 S2 a0 S3 d0 d0 Yhteistilaverkoksi saadaan seuraava: Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

13 t S1 R1 S2 R1 a1 d0 d0 S2 R2 t S1 R2 a0 S2 R3 t S1 R3 S3 R3 d1 t d1 S4 R3 d0 S4 R4 t S3 R4 S4 R1 t S3 R1 d1 Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

14 Mitä yhteistilaverkosta nähdään? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

15 Mitä yhteistilaverkosta nähdään? Onko lukkiumia? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

16 Mitä yhteistilaverkosta nähdään? Onko lukkiumia? Ei Mitä tapahtuu tiedonsiirtovirheiden jälkeen? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

17 Mitä yhteistilaverkosta nähdään? Onko lukkiumia? Ei Mitä tapahtuu tiedonsiirtovirheiden jälkeen? Mitä tapahtuu ajastinvirheiden jälkeen? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

18 Mitä yhteistilaverkosta nähdään? Onko lukkiumia? Ei Mitä tapahtuu tiedonsiirtovirheiden jälkeen? Mitä tapahtuu ajastinvirheiden jälkeen? Erilaiset tiedonsiirto- ja ajastinvirheet näkyvät poikkeamina perussyklistä, mutta jokaisessa tilanteessa päästään takaisin perussykliin. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

19 3.3. Rinnakkaisoperaattori Yhteistilaverkon määrittely rinnakkaisoperaattorin avulla Olkoot P ja Q siirtymäsysteemejä. P :n tilat ovat P 1, P 2,, P m ja P 1 on alkutila Q:n tilat Q 1, Q 2,, Q n ja Q 1 on alkutila a P i, jos P :n tilasta P i on siirtymä tapahtumalla a P :n tilaan P i P i Vastaavasti Q:n tapauksessa. Prosessien P ja Q yhteistilaverkko P [a 1,, a k ] Q: Alkutila on (P 1, Q 1 ) Tilajoukon muodostavat parit (P i, Q j ), i = 1,, m, j = 1,, n Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

20 3.3. Rinnakkaisoperaattori Yhteistilaverkon määrittely rinnakkaisoperaattorin avulla Olkoot P ja Q siirtymäsysteemejä. P :n tilat ovat P 1, P 2,, P m ja P 1 on alkutila Q:n tilat Q 1, Q 2,, Q n ja Q 1 on alkutila a P i, jos P :n tilasta P i on siirtymä tapahtumalla a P :n tilaan P i P i Vastaavasti Q:n tapauksessa. Prosessien P ja Q yhteistilaverkko P [a 1,, a k ] Q: Alkutila on (P 1, Q 1 ) Tilajoukon muodostavat parit (P i, Q j ), i = 1,, m, j = 1,, n Miten siirtymät määritellään? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

21 3.3. Rinnakkaisoperaattori Yhteistilaverkon määrittely rinnakkaisoperaattorin avulla Olkoot P ja Q siirtymäsysteemejä. P :n tilat ovat P 1, P 2,, P m ja P 1 on alkutila Q:n tilat Q 1, Q 2,, Q n ja Q 1 on alkutila a P i, jos P :n tilasta P i on siirtymä tapahtumalla a P :n tilaan P i P i Vastaavasti Q:n tapauksessa. Prosessien P ja Q yhteistilaverkko P [a 1,, a k ] Q: Alkutila on (P 1, Q 1 ) Tilajoukon muodostavat parit (P i, Q j ), i = 1,, m, j = 1,, n Miten siirtymät määritellään? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

22 Tapahtumat a 1,, a k ovat synkronointitapahtumia, joiden yhteydessä prosessit synkronoituvat ja suorittavat tapahtuman yhtäaikaa. Jos toinen prosesseista ei voi suorittaa synkronointitapahtumaa, ei toinenkaan saa sitä suorittaa. Muita tapahtumia prosessit voivat suorittaa vapaasti toisistaan riippumatta. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

23 Tapahtumat a 1,, a k ovat synkronointitapahtumia, joiden yhteydessä prosessit synkronoituvat ja suorittavat tapahtuman yhtäaikaa. Jos toinen prosesseista ei voi suorittaa synkronointitapahtumaa, ei toinenkaan saa sitä suorittaa. Muita tapahtumia prosessit voivat suorittaa vapaasti toisistaan riippumatta. Rinnakkaisoperaattorin [a 1,, a k ] avulla määritellään nyt siirtymät tilojen (eli tilaparien) välille seuraavasti. Aluksi vaaditaan, että a i kaikilla i = 1,, k. Kun tilapariin (P i, Q j ) sovelletaan rinnakkaisoperaattoria, merkitään synkronointitapahtumat näkyviin kirjoittamalla P i [a 1, a 2,, a k ] Q j. Seuraavien sääntöjen perusteella saadaan määrättyä siirtymät parista (P i, Q j ) (pari kirjoitetaan siis muotoon P i [a 1, a 2,, a k ] Q j ) pariin (P i, Q j ) (eli P i [a 1, a 2,, a k ] Q j ). a 1. Jos a {a 1,, a k }, P i P i ja Q j a Q j, niin P i [a 1, a 2,, a k ] Q j a P i [a 1, a 2,, a k ] Q j. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

24 2. Jos a {a 1,, a k } ja P i a P i, niin P i [a 1, a 2,, a k ] Q j a P i [a 1, a 2,, a k ] Q j. 3. Jos a {a 1,, a k } ja Q j a Q j, niin P i [a 1, a 2,, a k ] Q j a P i [a 1, a 2,, a k ] Q j. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

25 2. Jos a {a 1,, a k } ja P i a P i, niin P i [a 1, a 2,, a k ] Q j a P i [a 1, a 2,, a k ] Q j. 3. Jos a {a 1,, a k } ja Q j a Q j, niin P i [a 1, a 2,, a k ] Q j a P i [a 1, a 2,, a k ] Q j. Sovelluksissa synkronointijoukko valitaan tilanteen mukaan. Jos k = 0 eli yhtään tapahtumaa ei ole mukana, puhutaan täydellisestä lomituksesta. Sille käytetään merkintää. Jos synkronointijoukkoon halutaan kaikki näkyvät tapahtumat, käytetään merkintää. Lopulliseen yhteistilaverkkoon otetaan tietenkin vain yhteistilat, jotka voidaan saavuttaa alkutilasta. Se merkitään kirjoittamalla rinnakkaisoperaattori synkronointijoukkoineen prosessien nimien väliin. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

26 Mitä rinnakkaisoperaattorilla saatua lauseketta vastaa aiemmin generoitu AB-protokollan yhteistilaverkko? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

27 Mitä rinnakkaisoperaattorilla saatua lauseketta vastaa aiemmin generoitu AB-protokollan yhteistilaverkko? S [d0, d1, a0, a1] R Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

28 Mitä rinnakkaisoperaattorilla saatua lauseketta vastaa aiemmin generoitu AB-protokollan yhteistilaverkko? S [d0, d1, a0, a1] R Seuraavassa on muutamia esimerkkejä lisää: Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

29 P: P1 Q: Q1 a P2 Q2 a P3 a P4 P [ a ] Q: P Q: P1 Q1 P1 Q1 a P1 Q2 a P3 Q2 P2 Q1 a P4 Q2 a P3 Q1 P2 Q1 a a P4 Q1 P2 Q2 a a a a P3 Q2 P4 Q2 Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

30 P: P1 Q: a P2 Q1 Q2 b P [ a,b ] Q: P1 Q1 Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

31 3.4. Rinnakkaisoperaattorin ominaisuuksia Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

32 Monisynkronointi Rinnakkaisoperaattori tukee usean prosessin yhtäaikaista synkronointia. Esimerkiksi lausekkeessa P [a] (Q [a] R) toiminto a voi esiintyä Q:ssa ja R:ssä vain, jos molemmat prosessit osallistuvat siihen. Toisaalta Q [a] R on myös siirtymäsysteemi, joten a voi tapahtua siinä (ja siis Q:ssa ja R:ssä) ja P :ssä vain, jos molemmat osallistuvat siihen. Siten a:han osallistuvat kaikki kolme prosessia. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

33 Synkronoinnin luonne Synkronointi on symmetristä. Ei erotella, kuka aloittaa synkronoinnin ja kuka on vastaanottaja. Tämä tulee erityisen selvästi esille siinä, että sanoman välitykseen osallistuvat sekä lähettäjä että vastaanottaja tasavertaisina. Synkronointi on nimetöntä. Synkronointiin valmis oleva prosessi tarjoaa synkronointia ympäristön kanssa kykenemättä kuitenkaan ohjaamaan synkronointitarjousta millekään tietylle prosessille. Systeemin rakenne ratkaisee, mitkä prosessit osallistuvat synkronointitapahtumaan. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

34 Rinnakkaisoperaattorin liitännäisyys Yleisesti ottaen rinnakkaisoperaattori ei ole liitännäinen eli ei päde P A 1 (Q A 2 R) = (P A 1 Q) A 2 R. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

35 Seuraavissa tapauksissa liitännäisyys on kuitenkin voimassa: 1. CSP:n tapaus. Olkoon P, Q ja R prosesseja ja A P, A Q, A R prosessien toimintojoukot. Tällöin P A P (A Q A R ) (Q A Q A R R) (P A P A Q Q) (A P A Q ) A R R, missä ' tarkoittaa, että vastaavat siirtymäsysteemit ovat tilojen nimeämistä vaille samat. 2. Mielivaltaisella synkronointijoukolla B P B (Q B R) (P B Q) B R. 3. Synkronointijoukoilla B 1 ja B 2 pätee P B 1 (Q B 2 R) (P B 1 Q) B 2 R, jos A P B 2 = and A R B 1 =. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

36 Perustelut. Kohdassa 1 riittää osoittaa, että jokaista siirtymää toisessa systeemissä vastaa sama siirtymä toisessakin. Joudutaan tarkastelemaan monia vaihtoehtoja. a) Oletetaan ensin, että a A P (A Q A R ) ja P A P (A Q A R ) (Q A Q A R R) a P A P (A Q A R ) (Q A Q A R R). Tällöin a A P ja siten a A Q A R. Siis a (A P A Q ) A R ja a A P A Q. Mutta tässä tapauksessa myös (P A P A Q Q) (A P A Q ) A R R a (P A P A Q Q) (A P A Q ) A R R. b) a A P (A Q A R ), a A Q A R ja P A P (A Q A R ) (Q A Q A R R) a P A P (A Q A R ) (Q A Q A R R). c) a A P (A Q A R ), a A Q A R ja P A P (A Q A R ) (Q A Q A R R) a P A P (A Q A R ) (Q A Q A R R ). Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

37 d) a A P (A Q A R ) ja a A Q A R. e) a A P (A Q A R ) ja a A Q A R. Kohta 2) todistetaan samoin kuin kohta 1), mutta kohdassa 2) on vähemmän vaihtoehtoja (a B, a B). Kohta 3) on kohdan 1) modikaatio. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

38 3.5. Yhteistilaverkon käytännön toteutuksesta Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

39 Yhteistilaverkko tietorakenteena Yhteistilaverkkoa käytetään kahdella tavalla: kuljetaan yhteistilaverkossa muodostamatta sitä kokonaan yhteistilaverkko on generoitava kokonaan Mitä ongelmia? Verkko on usein suuri Aina ei voida muodostaa verkkoa Millainen tietorakenne? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

40 Yhteistilaverkko tietorakenteena Yhteistilaverkkoa käytetään kahdella tavalla: kuljetaan yhteistilaverkossa muodostamatta sitä kokonaan yhteistilaverkko on generoitava kokonaan Mitä ongelmia? Verkko on usein suuri Aina ei voida muodostaa verkkoa Millainen tietorakenne? Yhteistilaverkko on tavallisesti harva. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

41 Yhteistilaverkko tietorakenteena Yhteistilaverkkoa käytetään kahdella tavalla: kuljetaan yhteistilaverkossa muodostamatta sitä kokonaan yhteistilaverkko on generoitava kokonaan Mitä ongelmia? Verkko on usein suuri Aina ei voida muodostaa verkkoa Millainen tietorakenne? Yhteistilaverkko on tavallisesti harva. Matriisiesitykset eivät tule kysymykseen, vaan lähtökohtana on vieruslistaesitys. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

42 Verkon generointi tapahtuu normaalisti syvyyssuuntaisesti: Otetaan siis lähtökohdaksi alkutila, joka on tilapari. Generoidaan kaikki tilaparit, joihin päästään alkutilasta. Viedään nuo tilaparit pinoon. Jatketaan sen jälkeen seuraavasti kunnes pino on tyhjä: Otetaan pari pinosta, generoidaan kaikki siirtymät parista toisiin pareihin, viedään uudet parit pinoon ja vedetään kaaret. Asiaa mutkistaa hieman se, että on aina tarkistettava, onko generoitu pari uusi vai vanha. Jos generoitava verkko esitetään myös vieruslistojen avulla, solmujen nimet ovat siinä kokonaislukuja, eivät pareja. Siten joudutaan etsimään, vastaako annettua paria jokin verkossa jo oleva koknaisluku vai ei. Jos ei,niin parille on annettava seuraava vapaana oleva luku. Tämä johtaa yleensä hajautukseen. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

43 Bittihajautus ja muita vaihtoehtoja Koska yhteistilaverkko on suuri, tarvitaan myös suuri hajautustaulukko. Olisi houkuttelevaa päästä käyttämään hyväksi virtuaalimuistia, mutta tässä on omat ongelmansa. Nimittäin parit ja kokonaisluvut tulevat vastaan sekalaisessa järjestyksessä. Tämä johtaa siihen, että virtuaalimuistin sivuja joudutaan jatkuvasti hakemaan levyltä. Se hidastaisi toimintaa liiaksi. Siis yleensä pyritään keskusmuistiratkaisuihin. G. Holzmannin ratkaisu oli käyttää bittihajautusta. Tällöin pari, tai yleensä yhteistilaa kuvaava tieto, tulkitaan bittijonoksi ja se taas edelleen kokonaisluvuksi. Varataan nyt totuusarvoinen taulukko, jonka koko on sellainen, että suurin yhteistilaa vastaava bittijono luvuksi tulkittuna kuuluu vielä taulukon indekseihin. Tätä taulukkoa voidaan käyttää tehokkaasti hajautukseen, eikä sen alkioiden tieto vie kuin yhden bitin. Itse asiassa koko siirtymäsysteemi voidaan esittää vaihtoehtoisella tavalla. Boolen funktioille on kehitetty tietyissä tilanteissa kompakti esitysmuoto ja samaa ideaa voidaan soveltaa myös siirtymäsysteemeihin. Tällöin puhutaan ns. BDD:stä (binary decision diagram). Tämäkään ratkaisu ei ole universaali ratkaisu yhteistilaverkon kokoon: joissakin Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

44 tilanteissa BDD:t auttavat pienentämään esitysmuotoa, mutta ei läheskään aina. Monet algoritmit toimivat lisäksi suoraviivaisemmin tavallisen vieruslistaesityksen pohjalta kuin BDD:n pohjalta. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

45 4. Mallinnuksen perusasioita Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

46 4.1. Epädeterminismi Olkoon P ja Q siirtymäsysteemejä ja a toiminto. On kolme tapaa mallintaa epädeterminismiä siirtymäsysteemeillä: 1 1 a a a P Q P Q 1 P Q Tapaus 1: Ympäristöllä on mahdollisuus vaikuttaa systeemiin, jos a tapahtuu "ennen"sisäistä tapahtumaa. Tapaus 2: Systeemi päättää ympäristön reagoinnin yhteydessä, kumman a:n se valitsee. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

47 Tapaus 3: Systeemi päättää sisäisesti, käyttäytyykö se P :n vai Q:n mukaisesti. Esimerkiksi tietoliikennekanavaa mallinnettaessa on tarkoituksenmukaista valita vaihtoehto 3, jos P merkitsee sanoman välittämistä ja Q sanoman häviämistä. Toisena esimerkkinä on lentokoneen paikanvarausjärjestelmä, jonka erästä toimintoa kuvaa siirtymäsysteemi: 1 Seat Confirmed No Seats Available 6 System Not Available 7 Eli paikanvarauspyynnön tulos on täysin epämääräinen asiakkaan näkökulmasta, sillä normaali asiakas ei tiedä, kuinka systeemi on rakennettu tai onko vapaita paikkoja jäljellä. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

48 Asiakkaan kyvyttömyyttä vaikuttaa systeemiin mallinnetaan sisäisillä tapahtumilla. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

49 4.2. Kanavat ja ympäristö Kommunikointi tietokoneverkoissa ei yleensä ole synkronista. Kuitenkin rinnakkaisoperaattori vaatii synkronista tiedonvälitystä. Miten mallinnetaan asynkroninen tiedonvälitys? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

50 4.2. Kanavat ja ympäristö Kommunikointi tietokoneverkoissa ei yleensä ole synkronista. Kuitenkin rinnakkaisoperaattori vaatii synkronista tiedonvälitystä. Miten mallinnetaan asynkroninen tiedonvälitys? Spesioimalla kanava siirtymäsysteeminä. Prosessi lähettää sanoman kanavaan synkronisesti ja jatkaa sitten toimintaansa. Toinen prosessi ottaa sanoman kanavasta synkronisesti sitten, kun se sille sopii. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

51 Onko tästä haittoja? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

52 Onko tästä haittoja? Hintana on tosin se, että yhteistilaverkko kasvaa. Tämä riippuu toisinaan voimakkaasti siitä, kuinka monta sanomaa kanavaan voidaan lähettää ilman, että sieltä poistuu sanomia. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

53 Onko tästä haittoja? Hintana on tosin se, että yhteistilaverkko kasvaa. Tämä riippuu toisinaan voimakkaasti siitä, kuinka monta sanomaa kanavaan voidaan lähettää ilman, että sieltä poistuu sanomia. Toisinaan on tarpeen mallintaa myös varsinaisen protokollan ympäristöä. Esimerkiksi ABprotokollassa voidaan olettaa, että lähettäjä saa datasanomia get-sanomassa ympäristöltä ja vastaanottaja luovuttaa vastaanottamansa datasanomat muodossa give omalle ympäristölleen. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

54 Mallinnamme nyt AB-protokollan oikeaoppisemmin kanavien ja ympäristöjen avulla. Lisäksi mallinnetaan ajastin erillisenä prosessina. Tehdään seuraavat sopimukset: Lähettäjä lähettää kanavaan sanomia d0 ja d1. Vastaanottaja ottaa kanavasta sanomia dd0 ja dd1. Vastaanottaja lähettää kanavaan sanomat a0 ja a1. Lähettäjä vastaanottaa kanavasta sanomat aa0 ja aa1. Lähettäjä ja ympäristö kommunikoivat synkronisesti sanoman get avulla. Vastaanottaja ja ympäristö kommunikoivat synkronisesti sanoman give avulla. Lähettäjä virittää ajastimen synkronisesti tapahtuman sett avulla. Ajastin ilmoittaa laukeamisesta lähettäjälle synkronisesti tapahtuman timeout avulla. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

55 Lähettäjä ilmoittaa ajastimelle synkronisesti sanomalla reset, että ajastin voi palata alkutilaan. Lähettäjäprosessi S ja vastaanottajaprosessi R dd1 S: S1 reset S10 aa1 S9 R: R1 a1 R6 dd1 get sett dd0 give S2 aa0 S8 R2 R5 timeout S3 d0 timeout S7 d1 aa1 dd0 R3 give a0 dd1 R4 sett aa0 S4 S5 reset S6 get dd0 Sanoman katoaminen tai vääristyminen on laitettu kanavan tehtäväksi, ei lähettäjäprosessin. Lähettäjäprosessiin on tullut muutama uusi siirtymä (tilat S2 ja S7), joissa otetaan vastaan Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

56 kuittaus. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

57 kuittaus. Miksi nämä siirtymät tarvitaan? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

58 kuittaus. Miksi nämä siirtymät tarvitaan? Tämä johtuu kanavasta ja hätäilevästä ajastimesta. Ajastin voi laueta, vaikka kuittaus onkin tulossa, tosin vasta kanavassa. Jotta kanava voisi luovuttaa sanomansa ja ottaa vastaan uusia sanomia, lähettäjän on otettava vastaan se, mitä kanavasta on tulossa. Jos näin ei tehtäisi, seuraisi lukkiuma. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

59 kuittaus. Miksi nämä siirtymät tarvitaan? Tämä johtuu kanavasta ja hätäilevästä ajastimesta. Ajastin voi laueta, vaikka kuittaus onkin tulossa, tosin vasta kanavassa. Jotta kanava voisi luovuttaa sanomansa ja ottaa vastaan uusia sanomia, lähettäjän on otettava vastaan se, mitä kanavasta on tulossa. Jos näin ei tehtäisi, seuraisi lukkiuma. Ajastinprosessi voidaan esittää kahden tilan avulla. T: T1 timeout sett reset T2 Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

60 Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

61 Kanavan kohdalla on oletettu, että vain yksi sanoma voi olla kanavassa kerrallaan. Sanoman katoaminen tai vääristyminen on nyt kanavan tehtävä, ei lähettäjäprosessin. Kanavaprosessi siis vastaanottaa esim. datasanoman numerolla 0 tapahtumalla d0 ja toimittaa sen eteenpäin tapahtumalla dd0. C: dd1 dd0 C5 C4 d1 C1 d0 C2 C3 aa0 a0 a1 aa1 C6 C8 C7 C9 Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

62 Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

63 Miksi tarvitaan esimerkiksi tila C5? Miksi tapahtumaa dd1 ei vie suoraan tilasta C4 tilaan C1? Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

64 Miksi tarvitaan esimerkiksi tila C5? Miksi tapahtumaa dd1 ei vie suoraan tilasta C4 tilaan C1? Kanavaprosessi on mallinnettu siten, että ympäristö ei voi vaikuttaa siihen katoaako sanoma vai ei. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

65 Miksi tarvitaan esimerkiksi tila C5? Miksi tapahtumaa dd1 ei vie suoraan tilasta C4 tilaan C1? Kanavaprosessi on mallinnettu siten, että ympäristö ei voi vaikuttaa siihen katoaako sanoma vai ei. Yhteistilaverkko muodostuu nyt neljän prosessin yhdistelmästä. Se on oleellisesti monimutkaisempi kuin aiemman protokollaversion yhteistilaverkko, joten sen piirtäminen käsin kokonaan ei ole järkevää. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

66 dd1 S: S1 reset S10 aa1 S9 R: R1 a1 R6 dd1 get sett dd0 give S2 aa0 S8 R2 R5 timeout d0 S3 sett aa0 S4 d1 give timeout dd1 dd0 S7 aa1 R3 a0 R4 get dd0 reset S5 S6 C: dd1 dd0 C5 C4 d1 C1 d0 C2 C3 T: T1 timeout sett reset aa0 C6 a0 a1 C8 aa1 T2 C7 C9 Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

67 dd1 S: S1 reset S10 aa1 S9 R: R1 a1 R6 dd1 get sett dd0 give S2 aa0 S8 R2 R5 timeout d0 S3 sett aa0 S4 d1 give timeout dd1 dd0 S7 aa1 R3 a0 R4 get dd0 reset S5 S6 C: dd1 dd0 C5 C4 d1 C1 d0 C2 C3 T: T1 timeout sett reset aa0 C6 a0 a1 C8 aa1 T2 C7 C9 AB = ((S [timeout, reset, sett] T ) [do, d1, aa0, aa1] C) [dd0, dd1, a0, a1] R Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

68 S1 T1 C1 R1 (0) get timeout S2 T1 C1 R1 (1) 11 d0 sett S3 T1 C1 R1 (4) S3 T1 C2 R1 (0) S3 T1 C3 R1 (5) dd0 S3 T1 C1 R2 (9) sett sett give S4 T2 C1 R1 (7) timeout S4 T2 C2 R1 (3) S2 T1 C2 R1 (6) S3 T1 C1 R3 (12) timeout S4 T2 C3 R1 (8) S2 T1 C3 R1 (10) a0 S3 T1 C6 R4 (15) dd0 dd0 timeout S4 T2 C1 R2 (11) S2 T1 C1 R2 (13) sett.... give d0 give S4 T2 C1 R3 (14) a0 timeout sett Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

1. Johdanto. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

1. Johdanto. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki 1. Johdanto Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki 2008 1 1.1. Lähtökohta Keskeisiä käsitteitä: siirtymäsysteemit spesiointikielet Estelle (vanhempi spesiointikieli, paljon Pascalin piirteitä)

Lisätiedot

Tehtävä 2: Tietoliikenneprotokolla

Tehtävä 2: Tietoliikenneprotokolla Tehtävä 2: Tietoliikenneprotokolla Johdanto Tarkastellaan tilannetta, jossa tietokone A lähettää datapaketteja tietokoneelle tiedonsiirtovirheille alttiin kanavan kautta. Datapaketit ovat biteistä eli

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

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

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

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

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

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi. Algoritmien DP ja MF vertaileminen tapahtuu suoraviivaisesti kirjoittamalla kummankin leskimääräinen kustannus eksplisiittisesti todennäköisyyksien avulla. Lause T MF ave = 1 + 2 1 i

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

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi 17.5.2006 1/5 Oppimistavoitteet kurssilla Rinnakkaisohjelmointi Rinnakkaisuus ja rinnakkaisuuden soveltaminen tietojenkäsittelyjärjestelmissä Kurssin Tietokoneen toiminta perusteella ymmärtää, miten ohjelman

Lisätiedot

1. Otetaan perusjoukoksi X := {0, 1, 2, 3, 4, 5, 6, 7}. Piirrä seuraaville kolmelle joukolle Venn-diagrammi ja asettele alkiot siihen.

1. Otetaan perusjoukoksi X := {0, 1, 2, 3, 4, 5, 6, 7}. Piirrä seuraaville kolmelle joukolle Venn-diagrammi ja asettele alkiot siihen. Joukko-oppia Matematiikan mestariluokka, syksy 2010 Harjoitus 1, vastaukset 20.2.2010 1. Otetaan perusjoukoksi X := {0, 1, 2, 3, 4, 5, 6, 7}. Piirrä seuraaville kolmelle joukolle Venn-diagrammi asettele

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Rekursio Rekursion käyttötapauksia Rekursio määritelmissä Rekursio ongelmanratkaisussa ja ohjelmointitekniikkana Esimerkkejä taulukolla Esimerkkejä linkatulla listalla Hanoin

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

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

Äärellisten mallien teoria

Äärellisten mallien teoria Äärellisten mallien teoria Harjoituksen 7 ratkaisut (Hannu Niemistö) Tehtävä 1 Olkoot G ja H äärellisiä verkkoja, joilla kummallakin on l yhtenäistä komponenttia Olkoot G i, i {0,,l 1}, verkon G ja H i,

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

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1) Approbatur 3, demo, ratkaisut Sovitaan, että 0 ei ole luonnollinen luku. Tällöin oletusta n 0 ei tarvitse toistaa alla olevissa ratkaisuissa. Se, pidetäänkö nollaa luonnollisena lukuna vai ei, vaihtelee

Lisätiedot

JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT

JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT Tehtävä 1. (i) Olkoot n, d 1 ja d n. Osoita, että (k, n) d jos ja vain jos k ad, missä (a, n/d) 1. (ii) Osoita, että jos (m j, m k ) 1 kun

Lisätiedot

Vuonohjaus: ikkunamekanismi

Vuonohjaus: ikkunamekanismi J. Virtamo 38.3141 Teleliikenneteoria / Ikkunointiin perustuva vuonohjaus 1 Vuonohjaus: ikkunamekanismi Kuittaamattomina liikkeellä olevien segmenttien (data unit) lkm W (ikkuna) Lähetyslupien kokonaismäärä

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

Vaihtoehtoinen tapa määritellä funktioita f : N R on

Vaihtoehtoinen tapa määritellä funktioita f : N R on Rekursio Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on käyttää rekursiota: 1 (Alkuarvot) Ilmoitetaan funktion arvot

Lisätiedot

1 Lukujen jaollisuudesta

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

Lisätiedot

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007 Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden

Lisätiedot

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on Rekursio Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on käyttää rekursiota: Rekursio Funktio f : N R määritellään yleensä

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

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

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120 Tehtävä 1 : 1 Merkitään jatkossa kirjaimella H kaikkien solmujoukon V sellaisten verkkojen kokoelmaa, joissa on tasan kolme särmää. a) Jokainen verkko G H toteuttaa väitteen E(G) [V]. Toisaalta jokainen

Lisätiedot

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

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

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

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

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Karteesinen tulo. Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla 1 / 21

Karteesinen tulo. Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla 1 / 21 säilyy Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla c b a 1 2 3 5 1 / 21 säilyy Esimerkkirelaatio R = {(1, b), (3, a), (5, a), (5, c)} c b a 1

Lisätiedot

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

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

Lisätiedot

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

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

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 2 521475S Tietokonealgoritmien rinnakkaisuuden analysointi Algoritmi on proseduuri, joka koostuu äärellisestä joukosta yksiselitteisiä sääntöjä jotka muodostavat operaatiosekvenssin,

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti

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

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi Imperatiivisen ohjelmoinnin peruskäsitteet muuttuja muuttujissa oleva data voi olla yksinkertaista eli primitiivistä (esim. luvut ja merkit) tai rakenteista jolloin puhutaan tietorakenteista. puhuttaessa

Lisätiedot

Stabilointi. Marja Hassinen. p.1/48

Stabilointi. Marja Hassinen. p.1/48 Stabilointi Marja Hassinen marja.hassinen@cs.helsinki.fi p.1/48 Kertausta ja käsitteitä Sisältö Stabilointi Resynkroninen stabilointi Yleinen stabilointi Tarkkailu Alustus Kysymyksiä / kommentteja saa

Lisätiedot

Matematiikan tukikurssi, kurssikerta 3

Matematiikan tukikurssi, kurssikerta 3 Matematiikan tukikurssi, kurssikerta 3 1 Epäyhtälöitä Aivan aluksi lienee syytä esittää luvun itseisarvon määritelmä: { x kun x 0 x = x kun x < 0 Siispä esimerkiksi 10 = 10 ja 10 = 10. Seuraavaksi listaus

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

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Paikka siirtymä-verkot

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Paikka siirtymä-verkot T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Paikka siirtymä-verkot 27. tammikuuta 2003 T-79.179: Paikka siirtymä-verkot 2-1 Paikka siirtymä-verkot Yleistetään edellisellä luennolla esitetyn

Lisätiedot

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus.

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. tammikuuta 2012 Sisällys Sisällys Muistathan A B -konstruktion 0 k 1 i 2 s 3 s 4 a 5 0 k 1 o 2 i 3 r 4

Lisätiedot

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen.

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Tietyn ominaisuuden samuus -relaatio on ekvivalenssi; se on (1) refleksiivinen,

Lisätiedot

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) Salausmenetelmät Veikko Keränen, Jouko Teeriaho (RAMK, 2006) LUKUTEORIAA JA ALGORITMEJA 3. Kongruenssit à 3.1 Jakojäännös ja kongruenssi Määritelmä 3.1 Kaksi lukua a ja b ovat keskenään kongruentteja (tai

Lisätiedot

Kuinka määritellään 2 3?

Kuinka määritellään 2 3? Kuinka määritellään 2 3? y Nyt 3 = 1,7320508.... Luvut 3 2 x x 3 2 x 2 1 = 2, 2 1,7 3,2490, 2 1,73 3,3173, 2 1,732 3,3219,... ovat hyvin määriteltyjä koska näihin tarvitaan vain rationaalilukupotenssin

Lisätiedot

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

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

Lisätiedot

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

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 4. Joukot, relaatiot ja funktiot Osa 1: Joukot 4.1 Joukot Matemaattisesti joukko on mikä tahansa hyvin määritelty kokoelma objekteja, joita kutsutaan joukon alkioiksi

Lisätiedot

Rinnakkaistietokoneet luento S

Rinnakkaistietokoneet luento S Rinnakkaistietokoneet luento 5 521475S Silmukalliset ohjelmat Silmukat joissa ei ole riippuvuussyklejä voidaan vektoroida eli suorittaa silmukan vektorointi Jokainen yksittäinen käsky silmukan rungossa

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

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

Itsestabiloivabysanttilainen yhteisymmärrys. Timo Virkkala

Itsestabiloivabysanttilainen yhteisymmärrys. Timo Virkkala Itsestabiloivabysanttilainen yhteisymmärrys Timo Virkkala Ongelma Päätöksenteko Yksi lähettää arvon Kaikki yrittävät päästä yhteisymmärrykseen Transientit virheet Ratkaisu: Itsestabilointi Bysanttilaiset

Lisätiedot

Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja

Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja 582206 Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja 1. Tarkastellaan yhteydetöntä kielioppia S SAB ε A aa a B bb ε Esitä merkkijonolle aa kaksi erilaista jäsennyspuuta ja kummallekin siitä vastaava

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

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

Monimutkaisempi stop and wait -protokolla

Monimutkaisempi stop and wait -protokolla Monimutkaisempi stop and wait -protokolla Lähettäjä: 0:A vastaanottaja: ajastin lähettäjälle jos kuittausta ei kuulu, sanoma lähetetään automaattisesti uudelleen kuittaus: = ok, lähetä seuraava uudelleenlähetys

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

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

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi Äärellisten automaattien ja säännöllisten kielten ekvivalenssi Osoitamme seuraavan keskeisen tuloksen: Lause 1.8: [Sipser Thm. 1.54] Kieli on säännöllinen, jos ja vain jos jokin säännöllinen lauseke esittää

Lisätiedot

1 Kannat ja kannanvaihto

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

Lisätiedot

Lineaariset kongruenssiyhtälöryhmät

Lineaariset kongruenssiyhtälöryhmät Lineaariset kongruenssiyhtälöryhmät LuK-tutkielma Jesse Salo 2309369 Matemaattisten tieteiden laitos Oulun yliopisto Sisältö Johdanto 2 1 Kongruensseista 3 1.1 Kongruenssin ominaisuuksia...................

Lisätiedot

Algoritmit 1. Luento 4 Ke Timo Männikkö

Algoritmit 1. Luento 4 Ke Timo Männikkö Algoritmit 1 Luento 4 Ke 18.1.2017 Timo Männikkö Luento 4 Tietorakenteet Pino Pinon toteutus Jono Jonon toteutus Lista Listaoperaatiot Algoritmit 1 Kevät 2017 Luento 4 Ke 18.1.2017 2/29 Pino Pino, stack,

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

(b) Onko hyvä idea laske pinta-alan odotusarvo lähetmällä oletuksesta, että keppi katkeaa katkaisukohdan odotusarvon kohdalla?

(b) Onko hyvä idea laske pinta-alan odotusarvo lähetmällä oletuksesta, että keppi katkeaa katkaisukohdan odotusarvon kohdalla? 6.10.2006 1. Keppi, jonka pituus on m, taitetaan kahtia täysin satunnaisesti valitusta kohdasta ja muodostetaan kolmio, jonka kateetteina ovat syntyneet palaset. Kolmion pinta-ala on satunnaismuuttuja.

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

8 KANNAT JA ORTOGONAALISUUS. 8.1 Lineaarinen riippumattomuus. Vaasan yliopiston julkaisuja 151

8 KANNAT JA ORTOGONAALISUUS. 8.1 Lineaarinen riippumattomuus. Vaasan yliopiston julkaisuja 151 Vaasan yliopiston julkaisuja 151 8 KANNAT JA ORTOGONAALISUUS KantaOrthogon Sec:LinIndep 8.1 Lineaarinen riippumattomuus Lineaarinen riippumattomuus on oikeastaan jo määritelty, mutta kirjoitamme määritelmät

Lisätiedot

9 Matriisit. 9.1 Matriisien laskutoimituksia

9 Matriisit. 9.1 Matriisien laskutoimituksia 9 Matriisit Aiemmissa luvuissa matriiseja on käsitelty siinä määrin kuin on ollut tarpeellista yhtälönratkaisun kannalta. Matriiseja käytetään kuitenkin myös muihin tarkoituksiin, ja siksi on hyödyllistä

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 5: Sijoituslause, SICP-oliot, tietorakenteen muuttaminen (mm. SICP 33.1.3, 3.33.3.2) Riku Saikkonen 6. 11. 2012 Sisältö 1 Muuttujan arvon muuttaminen:

Lisätiedot

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

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I MS-A040 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I G. Gripenberg Aalto-yliopisto. maaliskuuta 05 G. Gripenberg (Aalto-yliopisto) MS-A040 Diskreetin matematiikan perusteet Esimerkkejä. ym.,

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015 ja ja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho NFA:ksi TIETOTEKNIIKAN LAITOS 16. marraskuuta 2015 Sisällys ja NFA:ksi NFA:ksi Kohti säännöllisiä lausekkeita ja Nämä tiedetään:

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

3. Kirjoita seuraavat joukot luettelemalla niiden alkiot, jos mahdollista. Onko jokin joukoista tyhjä joukko?

3. Kirjoita seuraavat joukot luettelemalla niiden alkiot, jos mahdollista. Onko jokin joukoista tyhjä joukko? HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 1 Ratkaisuehdotuksia Tehtäväsarja I Seuraavat tehtävät liittyvät luentokalvoihin 1 14. Erityisesti esimerkistä 4 ja esimerkin

Lisätiedot

1. Esitä rekursiivinen määritelmä lukujonolle

1. Esitä rekursiivinen määritelmä lukujonolle Matematiikan laitos Johdatus Diskrettiin Matematiikkaan Harjoitus 4 24.11.2011 Ratkaisuehdotuksia Aleksandr Pasharin 1. Esitä rekursiivinen määritelmä lukujonolle (a) f(n) = (2 0, 2 1, 2 2, 2 3, 2 4,...)

Lisätiedot

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

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I MS-A040 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I G. Gripenberg Aalto-yliopisto. maaliskuuta 05 G. Gripenberg (Aalto-yliopisto) MS-A040 Diskreetin matematiikan perusteet Esimerkkejä. ym.,

Lisätiedot

Reaalifunktioista 1 / 17. Reaalifunktioista

Reaalifunktioista 1 / 17. Reaalifunktioista säilyy 1 / 17 säilyy Jos A, B R, niin funktiota f : A B sanotaan (yhden muuttujan) reaalifunktioksi. Tällöin karteesinen tulo A B on (aiempia esimerkkejä luonnollisemmalla tavalla) xy-tason osajoukko,

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

Diofantoksen yhtälön ratkaisut

Diofantoksen yhtälön ratkaisut Diofantoksen yhtälön ratkaisut Matias Mäkelä Matemaattisten tieteiden tutkinto-ohjelma Oulun yliopisto Kevät 2017 Sisältö Johdanto 2 1 Suurin yhteinen tekijä 2 2 Eukleideen algoritmi 4 3 Diofantoksen yhtälön

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

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra 19. maaliskuuta 2002 T-79.179: Prosessialgebra 9-1 Petri-verkot vastaan prosessialgebra Petri-verkot esittävät rinnakkaisia

Lisätiedot

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

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

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

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

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Saavutettavuusanalyysi

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Saavutettavuusanalyysi T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Saavutettavuusanalyysi 26. helmikuuta 2002 T-79.179: Saavutettavuusanalyysi 6-1 Saavutettavuusanalyysi Saavutettavuusanalyysillä tarkoitetaan

Lisätiedot

Matemaatiikan tukikurssi

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

Lisätiedot

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos: 8 Kanta Tässä luvussa tarkastellaan aliavaruuden virittäjävektoreita, jotka muodostavat lineaarisesti riippumattoman jonon. Merkintöjen helpottamiseksi oletetaan luvussa koko ajan, että W on vektoreiden

Lisätiedot

lähtokohta: kahden O(h) korkuisen keon yhdistäminen uudella juurella vie O(h) operaatiota vrt. RemoveMinElem() keossa

lähtokohta: kahden O(h) korkuisen keon yhdistäminen uudella juurella vie O(h) operaatiota vrt. RemoveMinElem() keossa Kekolajittelu Prioriteettijonolla toteutettu keko InsertItem ja RemoveMinElem: O(log(n)) Lajittelu prioriteettijonolla: PriorityQueueSort(lajiteltava sekvenssi S) alusta prioriteettijono P while S.IsEmpty()

Lisätiedot

a) Sievennä lauseke 1+x , kun x 0jax 1. b) Aseta luvut 2, 5 suuruusjärjestykseen ja perustele vastauksesi. 3 3 ja

a) Sievennä lauseke 1+x , kun x 0jax 1. b) Aseta luvut 2, 5 suuruusjärjestykseen ja perustele vastauksesi. 3 3 ja 1 YLIOPPILASTUTKINTO- LAUTAKUNTA 1.10.2018 MATEMATIIKAN KOE PITKÄ OPPIMÄÄRÄ A-osa Ratkaise kaikki tämän osan tehtävät 1 4. Tehtävät arvostellaan pistein 0 6. Kunkin tehtävän ratkaisu kirjoitetaan tehtävän

Lisätiedot

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m.

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Väite: T (n) (a + b)n 2 + a. Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Huomaa että funktion x x 2 + (m 1 x) 2 kuvaaja on ylöspäin aukeava paraabeli, joten funktio saavuttaa suurimman

Lisätiedot

T Kevät 2003 Logiikka tietotekniikassa: erityiskysymyksiä I Laskuharjoitus 11 Ratkaisut

T Kevät 2003 Logiikka tietotekniikassa: erityiskysymyksiä I Laskuharjoitus 11 Ratkaisut T-79.146 Kevät 2003 Logiikka tietotekniikassa: erityiskysymyksiä I Laskuharjoitus 11 Ratkaisut 1. M : a P P f Q, R Q e P a) M, a = A(P UQ), sillä (esim.) (a,,,,,...) on tilasta a alkava täysi polku, joka

Lisätiedot

TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto

TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto Indeksin luonti ja hävitys TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto Komentoa ei ole standardoitu ja niinpä sen muoto vaihtelee järjestelmäkohtaisesti Indeksi voidaan

Lisätiedot

Algoritmit 2. Luento 4 To Timo Männikkö

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

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