3. Yhteistilaverkko. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki
|
|
- Merja Jaakkola
- 6 vuotta sitten
- Katselukertoja:
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 2008 1 1.1. Lähtökohta Keskeisiä käsitteitä: siirtymäsysteemit spesiointikielet Estelle (vanhempi spesiointikieli, paljon Pascalin piirteitä)
LisätiedotTehtä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ätiedot7.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ätiedotA 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ätiedotMS-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(p j b (i, j) + p i b (j, i)) (p j b (i, j) + p i (1 b (i, j)) p i. tähän. Palaamme sanakirjaongelmaan vielä tasoitetun analyysin yhteydessä.
Loppu seuraa suoralla laskulla: n n Tave TR = p j (1 + b (i, j)) j=1 = 1 + 1 i
LisätiedotMS-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ätiedotKonsensusongelma 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ätiedotDatatä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ätiedot1 + 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ätiedotAlgebra 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ätiedotOppimistavoitteet 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ätiedot1. 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ätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Rekursio Rekursion käyttötapauksia Rekursio määritelmissä Rekursio ongelmanratkaisussa ja ohjelmointitekniikkana Esimerkkejä taulukolla Esimerkkejä linkatulla listalla Hanoin
LisätiedotAlgoritmi 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ätiedotTestaa: 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 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ätiedotLuku 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ätiedot2.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ätiedotJOHDATUS 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ätiedotVuonohjaus: 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ätiedotisomeerejä 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ätiedotVaihtoehtoinen 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ätiedot1 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ätiedotJaetun 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ätiedotRekursio. 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ätiedotT 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ätiedotMS-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
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ätiedotDiskreetin 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ätiedot58131 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ätiedotLisää 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ätiedotLaskennan 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ätiedotAlgoritmit 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ätiedotKarteesinen 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ätiedotDiskreetin 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ätiedotParinmuodostuksesta 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ätiedotRekursiolause. 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ätiedotRinnakkaistietokoneet luento S
Rinnakkaistietokoneet luento 2 521475S Tietokonealgoritmien rinnakkaisuuden analysointi Algoritmi on proseduuri, joka koostuu äärellisestä joukosta yksiselitteisiä sääntöjä jotka muodostavat operaatiosekvenssin,
LisätiedotTIEA241 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ätiedotStabiloivat 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ätiedotImperatiivisen 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ätiedotStabilointi. 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ätiedotMatematiikan 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ätiedot811120P 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ätiedotT 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ätiedotMatematiikassa 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ätiedotTIEA241 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.
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ätiedotSalausmenetelmä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ätiedotKuinka 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ätiedotYhtä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ätiedotAlgoritmit 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ätiedot811120P 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ätiedotRinnakkaistietokoneet 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ätiedot1. 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 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ätiedotItsestabiloivabysanttilainen 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ätiedotLaskennan 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ätiedotUML -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ätiedotTarkennamme 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ätiedotMonimutkaisempi 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ätiedot811312A 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ätiedotVasen 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 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ätiedot1 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ätiedotLineaariset 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ätiedotAlgoritmit 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ätiedotRatkaisu: 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?
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ätiedotKaikki 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ätiedot8 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ätiedot9 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ätiedotOhjelmoinnin 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ätiedotMS-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ätiedotTIEA241 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ätiedotTuringin 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ätiedot3. 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ätiedot1. 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ätiedotMS-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ätiedotReaalifunktioista 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ätiedotOlkoon 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ätiedotDiofantoksen 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ätiedotDiskreetin 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ätiedotT 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ätiedotVerkon 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ätiedotAVL-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ätiedotSe 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ätiedotTIEA241 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ätiedotT 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ätiedotMatemaatiikan 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ätiedotKannan 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ätiedotlä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ätiedota) 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ätiedotInduktiotodistus: 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ätiedotT 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ätiedotTKHJ: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ätiedotAlgoritmit 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ätiedotOhjelmoinnin 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ätiedotEpä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