2 Tilasiirtymäsysteemit Vuorottelevan bitin protokolla Asiakas/palvelin-systeemi Tilasiirtymäsysteemin määritelmä...

Koko: px
Aloita esitys sivulta:

Download "2 Tilasiirtymäsysteemit Vuorottelevan bitin protokolla Asiakas/palvelin-systeemi Tilasiirtymäsysteemin määritelmä..."

Transkriptio

1 Sisältö 1 Johdnto Lähtökoht Yhteistilverkko Ekvivlenssipohjinen verifiointi Mllintrkistus Käytännön kokemuksi Tilsiirtymäsysteemit Vuorottelevn bitin protokoll Asiks/plvelin-systeemi Tilsiirtymäsysteemin määritelmä Yhteistilverkko Johdnto AB-protokolln yhteistilverkko Rinnkkisoperttori Rinnkkisoperttorin ominisuuksi Monisynkronointi Synkronoinnin luonne Rinnkkisoperttorin liitännäisyys Yhteistilverkon käytännön toteutuksest Yhteistilverkko tietorkenteen Bittihjutus j muit vihtoehtoj Mllinnuksen perussioit Epädeterminismi Knvt j ympäristö i

2 ii SISÄLTÖ 5 Ekvivlenssit j verifiointi Plvelun kuvukset Reltiot Suoritusjälkiekvivlenssi Heikko bisimultioekvivlenssi Heikon bisimultion lskeminen Esimerkkejä AB-protokoll FE-protokoll Johtopäätöksiä j ongelmi

3 Luku 1 Johdnto 1.1 Lähtökoht Tällä kurssill esitellään muutmi keskeisiä käsitteitä, joihin hjutettujen järjestelmien verifiointi useimmiten perustuu. Aluksi määritellään siirtymäsysteemit, joiden vull esitetään prosessit. Siirtymäsysteemi on suunnttu verkko, jonk kriin liittyy symboli, tphtum. Tphtum kuv joko kommunikointi toisen prosessin knss ti sisäistä lskent. Kuvttess prosessej tällä tsoll sisäistä lskent ei useinkn trvitse esittää trksti, vn sitä voidn bstrhoid voimkksti. Siirtymäsysteemit täytyy myös esittää jollkin tvll, jott ne voidn nt tietokoneelle syötteeksi. Tähän on käytössä useit spesifiointikieliä. Yksinkertisimmilln spesifiointikieli on vin suorviivinen menetelmä luetell tilt j niiden väliset siirtymät. Useimmiten kuitenkin kieli sisältää muutkin kuten esimerkiksi mhdollisuuden määritellä sisäistä lskent yksityiskohtisesti j äärettömienkin siirtymäsysteemien äärellisen kuvuksen. Esimerkki tällisest vnhemmst spesifiointikielestä on Estelle, joss on pljon piirteitä Psclist. Nykyikisemmt kielet perustuvt prosessilgebroihin. Niissä siirtymäsysteemit kuvtn lgebrllisell nottioll. Tämä joht tiiviiseen esitystpn, jonk syntksi j erityisesti semntiikk on täysin formlisti määritelty. Kurssill käsitellään eräs tällinen kieli, Lotos. Muit prosessilgebroj ovt CCS, CSP j ACP. On lisäksi huomttv, että on myös muit vihtoehtoj esittää prosessej kuin siirtymäsysteemit. Minittkoon vin Petri-verkot j temporlilogiikk. Näitä vrten on omt esityskielensä. 1.2 Yhteistilverkko Hjutetun lgoritmin yksittäinen prosessi on usein vrsin yksinkertinen. Sen sijn usen,yksinkertisenkin prosessin muodostm systeemiä on hnkl nlysoid. Hjutetuss järjestelmässä syntyy uudenlisi virhetilnteit kuten lukkiumi j eläviä lukkiumi. Hjutetuss järjestelmässä täytyy toisinn tt myös reiluus eli että prosessit svt resurssej tspuolisesti käyttöönsä. Kiken tämän vrmis- 1

4 2 LUKU 1. JOHDANTO tminen on hnkl perinteisellä testuksell, sillä testttess täytyisi kokeill kikki mhdollisi suoritusvihtoehtoj j -järjestyksiä, joit on suuri määrä. Kokonisen systeemin käyttäytymistä voidn mllint myös yksittäisellä siirtymäsysteemillä. Tällöin systeemin til kuvtn vektorill, jonk i.s lkio kuv i. prosessin til. Kun i. prosessi muutt tilns, muuttuu smll yhteistil kuvv vektori: lkio i muuttuu. Prosessin til voi muuttu snomn lähettämisen j vstnottmisen yhteydessä sekä sisäisen lskennn suorituksess. Ensimmäinen ongelm systeemin mllintmisess yhteistilverkoll syntyy idosti rinnkkisten tphtumien kohdll. Jos prosessit i j j suorittvt tphtumn smn ikn, pitäisi vektorilkioiden i j j myös muuttu yhdessä skeleess. Toislt prosessien i j j tphtumt voivt sttu peräjälkeen, jolloin ensin muuttuu esimerkiksi lkio i j sen jälkeen lkio j. Pitäisikö kikki nämä vihtoehdot ott huomioon? Jos näin tehtäisiin meknisesti, syntyisi vltv joukko erilisi suoritusvihtoehtoj. Tästä syystä yleensä noudtetn ns. lomitusemntiikk. Ajtelln, että rinnkkiset tphtumt sttuvt in josskin järjestyksessä eikä idosti rinnkkisi tphtumi oletet sttuvn. Tämä perite näyttää toimivn hyvin käytännössä j enemmistö verifiointityökluist perustuu lomitussemntiikkn. Huolimtt edellä esitetystä rjoituksest erilisi suoritusvihtoehtoj syntyy edelleen runssti. Puhutn yhteistilverkon tilräjähdyksestä. Lomitussemntiikk generoi kikki eriliset suoritusjärjestykset. Useimmiten näillä erilisill järjestyksillä ei ole merkitystä, vn kikki johtvt smn lopputulokseen. Tätä ei voi kuitenkn etukäteen päätellä helposti. Tästä syystä täydellisen yhteistilverkon generointi ei onnistu suurille systeemeille. On esitetty erilisi tpoj rjoitt yhteistilverkon koko. Eräs mhdollisuus on jättää generoimtt yhteistilverkon kikki tilt j kulke siellä vin stunnisesti vlittujen tilojen kutt. On myös huomttv, että idon eli todellisen rinnkkisuuden älykäs soveltminen stt joisskin tilnteiss joht suppempn verkkoon kuin puhds lomitussemntiikk. Tällä kurssill ei kuitenkn puutut näihin menetelmiin. 1.3 Ekvivlenssipohjinen verifiointi Yhteistilverkost nähdään helposti moni protokollvirheitä. Lukkiumt pljstuvt jo yhteistilverkko muodostettess. Elävät lukkiumt vstvt yhteistilverkon komponenttej, joist ei päästä enää tkisin pääsykliin, esimerkiksi lkutiln. Tälliset lukkiumt löydetään vikkp syvyyssuuntisen etsinnän vull. On kuitenkin virhetilnteit, joit on vike nähdä pelkästään yhteistilverkko nlysoimll. Esimerkiksi voi oll hitllist, jos tietyt tphtumt sttuvt väärässä järjestyksessä. Väärän järjestyksen hvitseminen edellyttää, että yhteistilverkon suoritusjälkiä verrtn sllittuihin suoritusjälkiin. Sllitut suoritusjäljet täytyy esittää jollkin tvll. Keskitymme tällä kurssill ekvivlenssipohjiseen verifiointiin. Tällöin lähtökoht on seurv. Systeemin toimint voidn usein kuvt ulkopuolisen hvitsijn ti

5 1.3. EKVIVALENSSIPOHJAINEN VERIFIOINTI 3 hyväksikäyttäjän knnlt. Ulkopuolinen hvitsij näkee vin sen, mitä tphtuu systeemin, ti oikemmin tässä yhteydessä protokolln, rjpinnll sen kommunikoidess protokoll käyttävien prosessien knss. Rjpinnn toimint voidn myös kuvt siirtymäsysteemillä j sitä kutsutn plveluksi. Eksivlenssipohjisess verifioinniss pyritään osoittmn, että protokoll täyttää plvelun. Tämä tphtuu seurvsti. Protokolln toimint mllinnetn ensin jollin spesifiointikielellä. Käytännössä tämä trkoitt, että jokinen protokolln prosessi, esimerkiksi lähettäjä, vstnottj j jstin, kuvtn esimerkiksi Lotoksell. Tämän jälkeen muodostetn systeemiä vstv yhteistilverkko, jok on siis iso siirtymäsysteemi. Yhteistilverkko muodostetn täysin utomttisesti ohjelmistoll, jok ymmärtää käytettävää spesifiointikieltä. Yhteistilverkon kriss näkyvät tphtumt, jotk protokoll suoritt. Näistä tphtumist piilotetn kikki muut kuin rjpinnn tphtumt. Piilottminen trkoitt, että tphtumn nimi muutetn erityiseksi näkymättömäksi tphtumksi. Tphtum vstv kri jää verkkoon, inostn siihen liittyvä nimi siis muuttuu. Vstv tehdään plvelulle. Siis plvelu kuvtn esimerkiksi Lotoksell j kuvuksest generoidn utomttisesti siirtymäsysteemi. Nyt meillä on kksi siirtymäsysteemiä. Toinen vst protokolln toimint kikiss tilnteiss, toinen esittää vtimuksen, miten protokolln odotetn toimivn. Ekvivlenssipohjisess verifioinniss käytössä on jokin ekvivlenssi, jonk vull verrtn siirtymäsysteemeitä: ovtko ne smn toiminnn tuottvi vi ei. Erilisi ekvivlenssej on lukuisi. Jo useit vuosi sitten lskettiin, että erilisi ekvivlenssej j niiden muunnelmi on yli kolmest. Eri ekvivlenssit ottvt huomioon hiemn eri sioit. Yksinkertisimmilln trkstelln vin tphtumien suoritusjärjestystä. Tällöin ei esimerkiksi kiinnitetä huomiot lukkiumiin. Vtivin eksivlenssi on verkkoisomorfi. Siinä ekvivlenttien verkkojen tulee oll täsmälleen smoj tilojen nimeämistä ville. On selvää, että protokolln j plvelun vertiluun trvitn jokin näiden ääriesimerkkien välimuoto. Yksi suosituimmist ekvivlensseist on (heikko) bisimultio. Prosessit P j Q ovt sen mukn ekvivlenttej, jos toinen pystyy simuloimn toisen ulospäin näkyviä toimintoj vieläpä niin, että simulointijärjestystä voidn viht lennoss. Eli ensin esimerkiksi P simuloi Q:t, mutt jossin viheess kesken simuloinnin Q lkkin suoritt tphtumin ensin j P rupe simuloimn Q:t. P :n simulointi lk siitä pisteestä, johon P viimeksi jäi suorittessn itse ensimmäisenä. Jott ekvivlenssi olisi käytännöllinen, täytyy se kyetä lskemn melko tehokksti, mtlss polynomisess jss. Bisimultio on tällinen ekvivlenssi. Sen vrsininen lskeminen sujuu nopesti, mutt se vti trnsitiivisen sulkeumn lskemist luksi ti lskennn vrrell. Tämä hidst oleellisesti suurten verkkojen bisimultioekvivlenssin lskent. Jos lskent osoitt, että protokoll j plvelu ovt ekvivlentit, voidn protokolln pitää virheettömänä. Tällisess verifioinniss siis tietokone tekee suurimmn osn työstä. Ihmisen tehtäväksi jää spesifiktioiden kirjoittminen j sopivn

6 4 LUKU 1. JOHDANTO ekvivlenssin vlitseminen. On myös tilnteit, joiss trvitn lisänlyysiä, kosk ekvivlenssi ei kt kikki virhetilnteit. Esimerkiksi reiluus stt oll si, jok pitää vrmist muill keinoin. Tällöin joudutn turvutumn esimerkiksi iklogiikkn. Toinen syy, miksi verifointi on käytännössä vikemp kuin yllä on esitetty, johtuu siitä, että käytännön yhteistilverkot ovt usein liin suuri. Ploittemll systeemi sopivsti osiin voidn joskus sd suuretkin verkot verifioiduksi, mutt toisinn monesti tätä lähestymistp ei void suorn käyttää. Tällöin jäljelle jää osittinen verifiointi esimerkiksi stunniskulun vull. 1.4 Mllintrkistus Vihtoehto ekvivlenssipohjiselle verifioinnille on mllintrkistus. Se trkoitt jonkin, yleensä iklogiikn, käyttöä niin, että logiikn kvoill ilmistn systeemiltä vdittvt ominisuudet. Sen jälkeen rkennetn systeemistä mlli, käytännössä siirtymäsysteemi ti verkko, j tutkitn, pätevätkö logiikn kvt tuoss mlliss. Hyvänä puolen tässä lähestymistvss on, että voidn ilmist helposti vin tiettyjä ominisuuksi, joit systeemin on noudtettv. Systeemin mllinnuskn ei välttämättä vdi niin monien yksityiskohtien mukn ottmist kuin ekvivlenssipohjinen verifiointi vtii. Toislt mllintrkististuksell ei sd in niin kttv tulost kuin ekvivlenssej j plvelukuvuksi käytettäessä. Erilisi logiikkoj on monenlisi. Kksi tunnetuint j useimmiten käytettyä ovt linerisen jn logiikk (LTL) j hrutuvn jn logiikk (CTL). Edellisessä väitteet koskevt kikki polkuj, jälkimmäisessä voidn käsitellä vin tiettyjä polkuj j niiden ominisuuksi. Logiikt ovt yhteismitttomi siinä mielessä, että kummllkin voidn ilmist ominisuus, jot toisell ei void ilmist. Tästä syystä on kehitetty vielä voimkkmpi logiikkoj, joihin kumpikin sisältyy, esimerkiksi CTL*. Perinteisesti iklogiikn formlismin on verkko, jonk kriin ei liity tphtumi. Sen sijn tiloill on ominisuuksi ti rkennett. Kuitenkin prosessilgebrojen pohjlt syntyvissä verkoiss tiloill ei ole rkennett, mutt kriin liittyy tphtum. Tästä syystä on kehitelty iklogiikn tpisi logiikkoj, jotk sopivt hyvin siirtymäsysteemien yhteyteen. Yksi tällinen on ACTL, jok on stu CTL:stä. Muit ovt Hennessyn j Milnerin logiikk sekä µ-klkyyli. Tällä kurssill käsittelemme lyhyesti vin LTL:ää j CTL:ää. 1.5 Käytännön kokemuksi Formlej menetelmiä on sovellettu jo yli prikymmentä vuott. Sovellukset ovt pääsiss syntyneet yliopistojen tutkimusprojekteiss, mutt viime vuosin myös teollisuus on jossin määrin kiinnostunut formleist menetelmistä. Prht tulokset teollisuudess on stu piirisuunnittelun yhteydestä. Suurill litevlmistjill

7 1.5. KÄYTÄNNÖN KOKEMUKSIA 5 kuten Intelillä on verifiointiryhmänsä, jotk testvt piirien toimint. Useimmiten tässä yhteydessä sovelletn mllintrkistust. Myös protokolli on menestyksekkäästi verifioitu. Prhiten tunnettuj esimerkkejä ovt mm. seurvt. IEEE Futurebus- j cche coherence-protokollst löydettiin joukko ikisemmin huommttomi virheitä. ISDN/SUP-tietoliikenneprotokollst löydettiin 122 virhettä. Active structurl control -järjestelmästä löydettiin suuri virhe, jok olisi voinut phent värähdysten vikutust. Formlej menetelmiä on myös sovellettu tietoturvprotokolliin. Menetelmillä on löydetty joitkin virheitä. Toislt tietoturv on vikempi mllint j nlysoid kuin tietoliikenneprotokolli j hrdwre-systeemejä. Tästä syystä tietoturvlll formli verifiointi on enemmän tutkimussteell.

8 6 LUKU 1. JOHDANTO

9 Luku 2 Tilsiirtymäsysteemit 2.1 Vuorottelevn bitin protokoll Ennen tilsiirtymäsysteemien formli määrittelyä näytetään esimerkki, miten käytännön tietoliikenneprotokoll voidn spesifioid siirtymäsysteemin vull. Vuorottelevn bitin protokoll (lternting bit protocol, AB-protokoll) on yksi niistä pelkistetyistä yksinkertisist protokollist, joit on trksteltu pljon ln tieteellisessä kirjllisuudess. Se on mtemttisesti elegntti j logiikltn epätrivili. Kysymyksessä on tilnne, joss lähettäjäprosessi S j vstnottjprosessi R vihtvt snomi virhelttiin vuorosuuntisen knvn välityksellä. Vuorosuuntinen knv sllii snomien lähettämisen yhteen suuntn kerrlln, mutt ei molempiin suuntiin yhtäik. Yhteys on ltis häiriöille, joten knv voi vääristää ti hukt minkä thns sen kutt lähetetyn snomn. Snomien järjestys kuitenkin säilyy knvss, eikä knv myöskään monist snomi. Snomn vstnottj pystyy erottelemn vääristyneet snomt virheettömistä esimerkiksi CRC-kentän vull niin suurell todennäköisyydellä, että seurviss trksteluiss voidn olett kikkien vääristyneiden snomien pljstuvn. AB-protolln tvoitteen on vrmist luotettv tiedonsiirto S:ltä R:lle. Selvästikin S:n on stv plutett lähettämänsä dtsnomn d kohtlost: onko d spunut virheettömänä perille vi ei. Plute spuu S:lle kuittuksen, jonk R lähettää. Negtiiviset kuittukset eivät ole käytössä; vääristynyt snom ei iheut kuittustoimenpidettä. Siten protokolln perustoimint voidn kuvt kvioll 7

10 8 LUKU 2. TILASIIRTYMÄSYSTEEMIT d S d R.. Lähettäjän täytyy siis odott kuittust, ennen kuin se lähettää uuden snomn. Edellisen skenrion mukn kuittuksen häviäminen iheutt sen, ettei lähettäjä lähetä enää mitään, vikk uusi dtsnomi olisikin odottmss lähettämistä. Tästä syystä otetn käyttöön myös jstin. Se liittyy lähettäjään j luke, jos kuittust ei kuulu tietyn jn kuluess. Eräs protokolln liittyvä skenrio voisi oll nyt seurv: d S timeout d d R Kuittussnomien käyttö tuo muknn snomien monistumisriskin. Jos häviää knvss, S stt lähettää dtsnomn d uudestn rvellen sen tulleen hylätyksi linjvirheen vuoksi, vikk d onkin tullut virheettömänä perille. Jos mitään lisätieto ei lähetetä, vstnottj ei kykene erottmn duplikttej. Tämän seknnuksen välttämiseksi snomt vrustetn numeroll. Itse siss riittää ott käyttöön vin numerot 0 j 1. Siten edellinen skenrio tuleekin kirjoitt muodoss d0 0 S timeout d1 1 d1 1 R

11 2.1. VUOROTTELEVAN BITIN PROTOKOLLA 9 Mllinnetn seurvksi lähettäjä j vstnottj siirtymäsysteemeinä. Mllinnuksess täytyy rtkist luksi muutmi yksityiskohti: Merkitäänkö kunkin tphtumn yhteyteen, onko se lähetys- vi vstnottotphtum? Miten jstin mllinnetn? Miten mllinnetn snomn ktominen ti vääristyminen? Rtkistn minitut yksityiskohdt seurvsti. Siirtymäsysteemissä ei merkitä tphtumiin, ovtko ne lähetyksiä vi vstnottoj. Sen, kummst on kysymys, tulee ilmetä siyhteydestä. Lähetykset j vstnotot erotetn toisistn vst sitten, kun siirrytään käyttämään spesifiointikieltä siirtymäsysteemien semest. Tässä ensimmäisessä esimerkissä mllinnetn jstin yhdellä siirtymällä lähettäjäprosessiss. Myöhemmin siirrymme tpuksiin, joiss jstin mllinnetn omn prosessinn. Snomn ktominen mllinnetn ottmll käyttöön ns. sisäinen tphtum. Se sllii prosessin siirtyä toiseen tiln ilmn, että muut prosessit näkevät mitään tphtumi. Sisäisellä siirtymällä on tärkeä rooli jtkoss muisskin yhteyksissä. Lisäksi käytämme epädeterminismiä. Näillä sopimuksill lähettäjä S on tilsiirtymäkvion seurv: S1 1 S4 t d0 t d1 S2 0 S3 Vstnottj R: R1 d1 1 R4 d1 d0 d1 R2 0 R3 d0 d0

12 10 LUKU 2. TILASIIRTYMÄSYSTEEMIT Tässä viheess trkstelemme vin yksittäisiä prosessej. Myöhemmin nähdään, miten koko systeemin toimint nlysoidn. 2.2 Asiks/plvelin-systeemi Trkstelemme vielä toist tpust, jok koostuu mielivltisen monest prosessist. Järjestelmä koostuu plvelinprosessist S j n:stä sikkst C i, i = 1,, n. Asiks C i pyytää plvelu S:ltä snomll csi. S lähettää vstuksen sbi puskuriin B i, jost siks voi nout vstuksen snomn bci vull. Protokoll noudtt round robin-peritett. Tämä trkoitt, että vuoromerkki kiertää sikklt toiselle. Ain kun siks s vuoromerkin, se pyytää plvelu. Tämän jälkeen se luovutt vuoromerkin seurvlle. Vuoromerkki toteutetn snomien vull. Kun siks C i vstnott snomn ti, se voi pyytää plvelu. Tämän jälkeen se lähettää snomn t(i + 1) sikklle C i+1. Yhteenlsku tässä tpuksess tulkitn niin, että n + 1 = 1. Asiks C i siirtymäsysteeminä: t(i+1) C4 bci C1 ti C2 csi C3 bci C5 t(i+1) Alkutil on C1 pitsi C 1 :ssä, joss se on C2. Tällöin round robin lk C 1 :stä. Plveluprosessi S: S1 sbn cs1 sb1 cs2 Sn S0 S2.. csn sb3. S3 cs3 sb2

13 2.3. TILASIIRTYMÄSYSTEEMIN MÄÄRITELMÄ 11 Puskuriprosessi B i : B1 sbi bci B2 2.3 Tilsiirtymäsysteemin määritelmä Lähtökohtn on mlli, joss hjutettu järjestelmä koostuu khdest ti usemmst prosessist. Prosessill trkoitetn tässä yhteydessä suurin piirtein sm kuin käyttöjärjestelmien yhteydessä: Prosessi on ohjelm, jonk suoritus on lknut, mutt ei vielä pysähtynyt. Smst koodist voidn synnyttää useit prosessej. Prosessi etenee diskreetein skelin tilst toiseen; til määräytyy muuttujien rvoist j seurvksi suoritettvst käskystä (ti käskyistä sllimme kuvuksiss epädeterminismin). Prosessin eteneminen tphtuu suorittmll jokin tphtum, jok voi oll esimerkiksi sisäinen lskent (muuttujien päivitys yms.), snomn lähetys ti vstnotto, jokin muu tphtum, joss on mukn toisi prosessej. Esimerkki viimeksi minitust on mm. synkronointi. Synkronointi voi tietenkin tphtu myös lähetyksen j vstnoton yhteydessä. Yleensä hjutettujen järjestelmien kuvus siirtymäsysteemeillä tphtuu korkell bstrktiotsoll. Se trkoitt käytännössä, että huomiot kiinnitetään ennen kikke prosessien keskinäiseen kommunikointiin. Prosessien sisäistä toimint pyritään pelkistämään usein mhdollisimmn pljon. Spesifiointikielet tosin trjovt välineitä monipuoliseen sisäisen lskennn kuvmiseenkin, kun ts tvllisen siirtymäsysteemin yhteydessä sisäinen lskent täytyy häivyttää melko täydellisesti.

14 12 LUKU 2. TILASIIRTYMÄSYSTEEMIT Määritelmä 1 Siirtymäsysteemi on rkenne (S, A,, s 0 ), missä S on tilojen joukko; A on tphtumien joukko, jok myös sisältää näkymättömän ti sisäisen tphtumn ; S A S on siirtymäreltio; s 0 on lkutil. Usein S j A ovt äärellisiä, mutt peritteess ne voivt oll myös numeroituvsti äärettömiä. A:n lkiot edustvt tphtumi, joiden yhteydessä prosessit eli tässä tilsiirtymäsysteemit vihtvt tieto. Huomttkoon, että tässä formlismiss ei yksittäisen prosessin yhteydessä erotell, onko kysymyksessä lähetys vi vstnotto. Siirtymäsysteemi voitisiin määritellä niin, että tämä otettisiin huomioon, mutt tvoitteenmme on Lotost vstvt siirtymäsysteemit, joiss riittää yllä esitetty rkenne. Siirtymäsysteemistä voidn luke, miten prosessi etenee suorituksen ikn. Toimint lähtee liikkeelle lkutilst s 0. Siirtymäreltio määrittelee, mitkä vihtoehdot tilss tulevt seurvksi suoritusvuoroon. Tilsiirtymäsysteemien käyttö hjutetujen järjestelmien kuvmisess käy prhiten selville esimerkeistä, joist pri on jo esitelty. Ensimmäisen luvun lopuksi esitellään vielä merkintöjä, joit trvitn jtkoss. 1. Jos siirtymäsysteemissä (s 1,, s 2 ), niin tvllisesti kirjoitetn s 1 s Jos tilst s 1 lk -polku ε s 1 s 2 s n, ε niin merkitään s 1 = s n. Merkintä = käsittää myös tpuksen, että tilst ei ε siirrytä mihinkään. Siis in pätee s 1 = s 1. ε ε 3. Merkintä s 1 = s n trkoitt, että s 1 = s k s r = s n. 4. Tphtumjono u = 1 2 n joht tilst r tiln s, jos on olemss polku Tällöin merkitään r u = s. r= r ε 1 ε 1 s1 = r 2 ε ε 2 s2 = = r n ε n sn = s.

15 Luku 3 Yhteistilverkko 3.1 Johdnto Edellä olemme mllintneet yksittäisiä prosessej. Ne tosin lähettävät snomi toisilleen, mutt prosessien kuvuksest ei mitenkään näe koko systeemin toimint kokonisuuten. Osoittutuu, että koko systeemiäkin voidn kuvt yhdellä siirtymäsysteemillä, jok on stu prosessien siirtymäsysteemeistä. Puhutn ns. yhteistilverkost. Yhteistilverkon tilksi tulee prosessiverkkojen tilojen vektori. Siten yhteistilverkon yksi til kuv, missä tiloiss erilliset prosessit voivt oll suorituksen ikn. Ennenkuin täsmällinen määritelmä voidn nt, on otettv knt, millä tsoll rinnkkisuutt eli smnikisuutt mllinnetn. Peritteess on kksi vihtoehto. Jos mllinnus perustuu todelliseen rinnkkisuuteen, mllist näkyy, mitkä tphtumt sttuvt tphtumn rinnkkin j mitkä peräkkäin. Todelliseen rinnkkisuuteen perustuvi mllej on yritetty rkent, mutt ne johtvt monimutkiseen formlismiin j hnkliin lgoritmeihin. Peritteess tämä mllinnusperite on kuitenkin tärkeä. Toinen tp mllint rinnkkisuutt perustuu lomitukseen. Tällöin oletetn, että kksi tphtum voidn in sett jlliseen järjestykseen eli mitään rinnkkisuutt ei itse siss tphdu. Tämä perite näyttää luksi epäuskottvlt, mutt se toimii hyvin käytännössä. Melkein kikki verifiointiohjelmistot perustuvt tälle idelle, sillä määritelmät j lgoritmit ovt tällöin melko yksinkertisi. Seurvss esitettävä yhteistilverkko perustuu lomitukseen. 3.2 AB-protokolln yhteistilverkko Näytetään ensin AB-protokolln vull konkreettisesti, mitä yhteistilverkko merkitsee. AB-protokollss siis lähettäjä S lähettää snomi d0 j d1 vstnottjlle 13

16 14 LUKU 3. YHTEISTILAVERKKO R. Vstvsti R lähettää kuittuksi 0 j 1 S:lle. Nyt oletetn, että lähetykset j vstnotot tphtuvt synkronoidusti (tight coupling, rendezvous). Tämä trkoitt, että kun lähettäjä lähettää, vstnottjn on oltv vlmis ottmn lähetys vstn. Jos vstottj ei ole vlmis, ei lähettäjä voi lähettää. Siis esimerkiksi snomn d0 lähetyksen yhteydessä lähettäjä siirtyy uuteen tiln siirtymällä d0 j smll vstnottj siirtyy uuteen tiln myöskin siirtymällä d0. Sisäinen siirtymä ei iheut tilnvihtoj toisiss prosesseiss. Smoin jstintphtum t iheutt siirtymän vin lähettäjäprosessiss. Yhteistilverkon til on AB-protokolln tpuksess pri (Si, Rj), missä Si on lähettäjän j Rj vstnottjn til. Piirretään nyt protokolln yhteistilverkko. Ajstimest ei oletet mitään. Siten se voi luet turhn ikisin, mutt tämän ei pitäisi joht virheisiin. t S1 R1 S2 R1 1 d0 d0 S2 R2 t S1 R2 0 S2 R3 t S1 R3 S3 R3 d1 S4 R4 t d1 t S4 R3 S3 R4 d0 S4 R1 t S3 R1 d1

17 3.3. RINNAKKAISOPERAATTORI 15 Yhteistilverkost nähdään, ettei lukkiumi esiinny. Siitä näkyy myös protokolln perussykli. Eriliset tiedonsiirto- j jstinvirheet näkyvät poikkemin perussyklistä, mutt jokisess tilnteess päästään tkisin perussykliin. Siten yhteistilverkon trkstelun perusteell protokoll näyttää toimivn oikein. 3.3 Rinnkkisoperttori Seurvksi määrittelemme yhteistilverkon formlisti rinnkkisoperttorin vull. Olkoot P j Q siirtymäsysteemejä. Oletetn, että P :n tilt ovt P 1, P 2,, P m j Q:n tilt Q 1, Q 2,, Q n. Koko systeemin lkutil olkoon (P 1, Q 1 ). Yhteistilverkon tiljoukon muodostvt prit (P i, Q j ), i = 1,, m, j = 1,, n. Kirjoitmme P i P i, jos P :n tilst P i on siirtymä tphtumll P :n tiln P i. Vstvsti Q:n tpuksess. Prosessien P j Q yhteistilverkko P [ 1,, k ] Q määritellään nyt formlisti ntmll säännöt, joiden mukn setetn siirtymät tilst toiseen. Yllä tphtumt 1,, k ovt synkronointitphtumi, joiden yhteydessä prosessit synkronoituvt j suorittvt tphtumn yhtäik. Jos toinen prosesseist ei voi suoritt synkronointitphtum, ei toinenkn s sitä suoritt. Muit tphtumi prosessit voivt suoritt vpsti toisistn riippumtt. Rinnkkisoperttorin [ 1,, k ] vull määritellään nyt siirtymät tilojen (eli tilprien) välille seurvsti. Aluksi vditn, että i kikill i = 1,, k. Kun tilpriin (P i, Q j ) sovelletn rinnkkisoperttori, merkitään synkronointitphtumt näkyviin kirjoittmll P i [ 1, 2,, k ] Q j. Seurvien sääntöjen perusteell sdn määrättyä siirtymät prist (P i, Q j ) (pri kirjoitetn siis muotoon P i [ 1, 2,, k ] Q j ) priin (P i, Q j ) (eli P i [ 1, 2,, k ] Q j ). 1. Jos { 1,, k }, P i P i j Q j Q j, niin P i [ 1, 2,, k ] Q j P i [ 1, 2,, k ] Q j. 2. Jos { 1,, k } j P i P i, niin P i [ 1, 2,, k ] Q j P i [ 1, 2,, k ] Q j. 3. Jos { 1,, k } j Q j Q j, niin P i [ 1, 2,, k ] Q j P i [ 1, 2,, k ] Q j. Sovelluksiss synkronointijoukko vlitn tilnteen mukn. Jos k = 0 eli yhtään tphtum ei ole mukn, puhutn täydellisestä lomituksest. Sille käytetään merkintää. Jos synkronointijoukkoon hlutn kikki näkyvät tphtumt, käytetään merkintää.

18 16 LUKU 3. YHTEISTILAVERKKO Lopulliseen yhteistilverkkoon otetn tietenkin vin yhteistilt, jotk voidn svutt lkutilst. Se merkitään kirjoittmll rinnkkisoperttori synkronointijoukkoineen prosessien nimien väliin. Edellä generoitu AB-protokolln yhteistilverkko vst siis seurv rinnkkisoperttorill stu lusekett: S [d0, d1, 0, 1] R Seurvss on muutmi esimerkkejä lisää: P1 P2 Q: Q1 Q2 P3 P4 P [ ] Q: P Q: P1 Q1 P1 Q1 P1 Q2 P3 Q2 P2 Q1 P4 Q2 P3 Q1 P2 Q1 P4 Q1 P2 Q2 P3 Q2 P4 Q2

19 3.4. RINNAKKAISOPERAATTORIN OMINAISUUKSIA 17 P: P1 Q: Q1 b P [,b ] Q: P1 Q1 P2 Q2 3.4 Rinnkkisoperttorin ominisuuksi Monisynkronointi Rinnkkisoperttori tukee usen prosessin yhtäikist synkronointi. Esimerkiksi lusekkeess P [] (Q [] R) toiminto voi esiintyä Q:ss j R:ssä vin, jos molemmt prosessit osllistuvt siihen. Toislt Q [] R on myös siirtymäsysteemi, joten voi tphtu siinä (j siis Q:ss j R:ssä) j P :ssä vin, jos molemmt osllistuvt siihen. Siten :hn osllistuvt kikki kolme prosessi Synkronoinnin luonne Synkronointi on symmetristä. Ei erotell, kuk loitt synkronoinnin j kuk on vstnottj. Tämä tulee erityisen selvästi esille siinä, että snomn välitykseen osllistuvt sekä lähettäjä että vstnottj tsvertisin. Synkronointi on nimetöntä. Synkronointiin vlmis olev prosessi trjo synkronointi ympäristön knss kykenemättä kuitenkn ohjmn synkronointitrjoust millekään tietylle prosessille. Systeemin rkenne rtkisee, mitkä prosessit osllistuvt synkronointitphtumn Rinnkkisoperttorin liitännäisyys Yleisesti otten rinnkkisoperttori ei ole liitännäinen eli ei päde P A 1 (Q A 2 R) = (P A 1 Q) A 2 R.

20 18 LUKU 3. YHTEISTILAVERKKO Seurviss tpuksiss liitännäisyys on kuitenkin voimss: 1. CSP:n tpus. Olkoon P, Q j R prosessej j 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ä trkoitt, että vstvt siirtymäsysteemit ovt tilojen nimeämistä ville smt. 2. Mielivltisell synkronointijoukoll B 3. Synkronointijoukoill B 1 j B 2 pätee jos A P B 2 = nd A R B 1 =. P B (Q B R) (P B Q) B R. P B 1 (Q B 2 R) (P B 1 Q) B 2 R, Perustelut. Kohdss 1 riittää osoitt, että jokist siirtymää toisess systeemissä vst sm siirtymä toisesskin. Joudutn trkstelemn moni vihtoehtoj. ) Oletetn ensin, että A P (A Q A R ) j P A P (A Q A R ) (Q A Q A R R) P A P (A Q A R ) (Q A Q A R R). Tällöin A P j siten A Q A R. Siis (A P A Q ) A R j A P A Q. Mutt tässä tpuksess myös (P A P A Q Q) (A P A Q ) A R R (P A P A Q Q) (A P A Q ) A R R. b) A P (A Q A R ), A Q A R j P A P (A Q A R ) (Q A Q A R R) P A P (A Q A R ) (Q A Q A R R). c) A P (A Q A R ), A Q A R j P A P (A Q A R ) (Q A Q A R R) P A P (A Q A R ) (Q A Q A R R ). d) A P (A Q A R ) j A Q A R. e) A P (A Q A R ) j A Q A R. Koht 2) todistetn smoin kuin koht 1), mutt kohdss 2) on vähemmän vihtoehtoj ( B, B). Koht 3) on kohdn 1) modifiktio.

21 3.5. YHTEISTILAVERKON KÄYTÄNNÖN TOTEUTUKSESTA Yhteistilverkon käytännön toteutuksest Yhteistilverkko tietorkenteen Yhteistilverkko käytetään khdell tvll. Joisskin sovelluksiss riittää kulke yhteistilverkoss muodostmtt sitä kokonn. Toisiss sovelluksiss yhteistilverkko on generoitv kokonn. Ongelmn tällöin on usein, että verkko on suuri. Itse siss monet käytännön ohjelmistot j protokollt johtvt niin suureen verkkoon, ettei sitä void muodost. Erityisesti jos yhteistilverkon vull hluttisiin nlysoid tietoliikenneprotokollien yhteistoimint usell kerroksell, joudutn tvllisesti vikeuksiin. Sen sijn moni yhden kerroksen protokolli on voitu menestyksellisesti nlysoid. Yhteistilverkko on tvllisesti hrv. Siis tiloist lähtee vin muutmi siirtymiä. Siten mtriisiesitykset eivät tule kysymykseen, vn lähtökohtn on vieruslistesitys. Verkon generointi tphtuu normlisti syvyyssuuntisesti. Otetn siis lähtökohdksi lkutil, jok on tilpri. Generoidn kikki tilprit, joihin päästään lkutilst. Viedään nuo tilprit pinoon. Jtketn sen jälkeen seurvsti kunnes pino on tyhjä: Otetn pri pinost, generoidn kikki siirtymät prist toisiin preihin, viedään uudet prit pinoon j vedetään kret. Asi mutkist hiemn se, että on in trkistettv, onko generoitu pri uusi vi vnh. Jos generoitv verkko esitetään myös vieruslistojen vull, solmujen nimet ovt siinä kokonislukuj, eivät prej. Siten joudutn etsimään, vstko nnettu pri jokin verkoss jo olev koknisluku vi ei. Jos ei,niin prille on nnettv seurv vpn olev luku. Tämä joht yleensä hjutukseen Bittihjutus j muit vihtoehtoj Kosk yhteistilverkko on suuri, trvitn myös suuri hjutustulukko. Olisi houkuttelev päästä käyttämään hyväksi virtulimuisti, mutt tässä on omt ongelmns. Nimittäin prit j kokonisluvut tulevt vstn seklisess järjestyksessä. Tämä joht siihen, että virtulimuistin sivuj joudutn jtkuvsti hkemn levyltä. Se hidstisi toimint liiksi. Siis yleensä pyritään keskusmuistirtkisuihin. G. Holzmnnin rtkisu oli käyttää bittihjutust. Tällöin pri, ti yleensä yhteistil kuvv tieto, tulkitn bittijonoksi j se ts edelleen kokonisluvuksi. Vrtn nyt totuusrvoinen tulukko, jonk koko on sellinen, että suurin yhteistil vstv bittijono luvuksi tulkittun kuuluu vielä tulukon indekseihin. Tätä tulukko voidn käyttää tehokksti hjutukseen, eikä sen lkioiden tieto vie kuin yhden bitin. Itse siss koko siirtymäsysteemi voidn esittää vihtoehtoisell tvll. Boolen funktioille on kehitetty tietyissä tilnteiss kompkti esitysmuoto j sm ide voidn sovelt myös siirtymäsysteemeihin. Tällöin puhutn ns. BDD:stä (binry decision digrm). Tämäkään rtkisu ei ole universli rtkisu yhteistilverkon kokoon: joisskin tilnteiss BDD:t uttvt pienentämään esitysmuoto, mutt ei

22 20 LUKU 3. YHTEISTILAVERKKO läheskään in. Monet lgoritmit toimivt lisäksi suorviivisemmin tvllisen vieruslistesityksen pohjlt kuin BDD:n pohjlt.

23 Luku 4 Mllinnuksen perussioit 4.1 Epädeterminismi Olkoon P j Q siirtymäsysteemejä j toiminto. On kolme tp mllint epädeterminismiä siirtymäsysteemeillä: 1 1 P Q P Q 1 P Q Tpuksess 1 ympäristöllä on mhdollisuus vikutt systeemiin, jos tphtuu ennen sisäistä tphtum. Tpuksess 2 systeemi päättää ympäristön regoinnin yhteydessä, kummn :n se vlitsee. Tpus 3 ilmisee, että systeemi päättää sisäisesti, käyttäytyykö se P :n vi Q:n mukisesti. Esimerkiksi tietoliikenneknv mllinnettess on trkoituksenmukist vlit vihtoehto 3, jos P merkitsee snomn välittämistä j Q snomn häviämistä. Ympäristö, tässä tpuksess siis lähettäjä j vstnottj, eivät voi tällöin vikutt häviääkö snom vi ei; se on kokonn knvn sisäinen si. Jos käytettäisiin vihtoehto 1, ympäristö voi vikutt knvn käyttäytymiseen, mikä joisskin tilnteiss joht systeemin virheelliseen toimint mllinnusvirheen tki. 21

24 22 LUKU 4. MALLINNUKSEN PERUSASIOITA Toisen esimerkkinä on lentokoneen piknvrusjärjestelmä, jonk erästä toiminto kuv siirtymäsysteemi: 1 Set Confirmed No Sets Avilble 6 System Not Avilble 7 Eli piknvruspyynnön tulos on täysin epämääräinen sikkn näkökulmst, sillä normli siks ei tiedä, kuink systeemi on rkennettu ti onko vpit pikkoj jäljellä. Asikkn kyvyttömyyttä vikutt systeemiin mllinnetn sisäisillä tphtumill. 4.2 Knvt j ympäristö Kommunikointi tietokoneverkoiss ei yleensä ole synkronist. Kuitenkin rinnkkisoperttori vtii synkronist tiedonvälitystä. Asynkroninen tiedonvälitys sdn ikn spesifioimll knv siirtymäsysteeminä. Prosessi lähettää snomn knvn synkronisesti j jtk sitten toimintns. Toinen prosessi ott snomn knvst synkronisesti sitten, kun se sille sopii. Tällä tvll sdn ikn khden prosessin välille synkroninen snomnvälitys. Hintn on tosin se, että yhteistilverkko ksv. Tämä riippuu toisinn voimkksti siitä, kuink mont snom knvn voidn lähettää ilmn, että sieltä poistuu snomi. Toisinn on trpeen mllint myös vrsinisen protokolln ympäristöä. Esimerkiksi AB-protokollss voidn olett, että lähettäjä s dtsnomi getsnomss ympäristöltä j vstnottj luovutt vstnottmns dtsnomt muodoss give omlle ympäristölleen.

25 4.2. KANAVAT JA YMPÄRISTÖ 23 Mllinnmme nyt AB-protokolln oikeoppisemmin knvien j ympäristöjen vull. Lisäksi mllinnetn jstin erillisenä prosessin. Tehdään seurvt sopimukset: Lähettäjä lähettää knvn snomi d0 j d1. Vstnottj ott knvst snomi dd0 j dd1. Vstnottj lähettää knvn snomt 0 j 1. Lähettäjä vstnott knvst snomt 0 j 1. Lähettäjä j ympäristö kommunikoivt synkronisesti snomn get vull. Vstnottj j ympäristö kommunikoivt synkronisesti snomn give vull. Lähettäjä virittää jstimen synkronisesti tphtumn sett vull. Ajstin ilmoitt lukemisest lähettäjälle synkronisesti tphtumn timeout vull. Lähettäjä ilmoitt jstimelle synkronisesti snomll reset, että jstin voi plt lkutiln. Ohess on prosessit siirtymäsysteeminä. Knvn kohdll on oletettu, että vin yksi snom voi oll knvss kerrlln. Smll snomn ktominen ti vääristyminen on litettu knvn tehtäväksi, ei lähettäjäprosessin. dd1 S: S1 reset S1 1 S1 R: R1 1 R6 dd1 get sett dd0 give S2 0 S1 R2 R5 timeout d0 S3 timeout d1 S1 1 dd0 give R3 0 dd1 R4 sett 0 S4 S1 reset get S1 dd0

26 24 LUKU 4. MALLINNUKSEN PERUSASIOITA Lähettäjäprosessiin on tullut muutm uusi siirtymä (tilt S2 j S7), joiss otetn vstn kuittus. Tämä johtuu knvst j hätäilevästä jstimest. Nimittäin jstin voi luet, vikk kuittus onkin tuloss, tosin vst knvss. Jott knv voisi luovutt snomns j ott vstn uusi snomi, lähettäjän on otettv vstn se, mitä knvst on tuloss. Jos näin ei tehtäisi, seurisi lukkium. dd1 dd0 C5 C4 d1 C1 d0 C2 C3 0 C6 0 1 C8 1 C7 C9 AB=((S [timeout, reset, sett] T) [ d0,d1,0,1 ] C) [ dd0,dd1,0,1 ] R

27 4.2. KANAVAT JA YMPÄRISTÖ 25 Yhteistilverkko muodostuu nyt neljän prosessin yhdistelmästä. Se on oleellisesti monimutkisempi kuin iemmn protokollversion yhteistilverkko, joten sen piirtäminen käsin kokonn ei ole järkevää. Ohess on sen lku.

28 26 LUKU 4. MALLINNUKSEN PERUSASIOITA

29 Luku 5 Ekvivlenssit j verifiointi 5.1 Plvelun kuvukset Hjutetun järjestelmän prosessien kuvuksist voidn meknisesti generoid yhteistilverkko. Jos verkko on pienehkö, lle miljoon til, on mhdollist käydä verkko systemttisesti läpi j etsiä virheitä, esimerkiksi lukkiumi, eläviä lukkiumi (solmust ei ole polku perussykliin) yms. On kuitenkin melko vike tällä tvoin löytää kikki virheitä. Esimerkiksi snomi voi kdot, vikk ei jouduttisikn lukkiumiin, sm snom voidn luovutt kksi kert käyttäjälle jne. Jos verkko on liin suuri ti ääretön, voidn kuitenkin suoritt stunniskulku verkoss. Jos spesifiktioss on virhe, se yleensä esiintyy moness kohdss verkko (lomitussemntiikk!). Vikk solmuist käytäisiin läpi vin 5%, pljstuu kokemuksen mukn suurin os virheistä. Jos kuitenkin hlutn verifioid spesifiktio täydellisemmin, trvitn toisenlinen lähestymistp. Prosessilgebrojen yhteydessä tvllisimmin käytetään ekvivlensseihin j temporlilogiikkn perustuvi verifiointimenetelmiä. Käsittelemme tällä kurssill pelkästään ekvivlenssimenetelmää. Ekvivlenssiin perustuvss verifioinniss keskeinen käsite on plvelun kuvus. Tällä trkoitetn siirtymäsysteemiä, jok kuv sitä plvelu, jonk protokoll nt käyttäjälle (ympäristölle, hvitsijlle). Trkstelln kht esimerkkiä. AB-protokoll trjo tiedonsiirtoplvelun. Protokoll ott vst dtpkettej ympäristöltä (ylemmältä kerrokselt) j välittää ne vstnottvlle ospuolelle (ylempi kerros, ympäristö). AB-protokolln plvelu on siten helppo kuvt: AB_P1 get AB_P2 give 27

30 28 LUKU 5. EKVIVALENSSIT JA VERIFIOINTI Ekvivlenssiin perustuvss verifioinniss verrtn nyt vrsinisen AB-protokolln yhteistilverkko plvelukuvuksen verkkoon. Jos ne ovt tietyssä mielessä smoj, AB-protokoll voidn pitää oiken, ts. se tekee sen, mitä sen odotetn tekevän. Verkkojen vertiluss täytyy selvästikin bstrhoid jomp kump ti molempi verkkoj. Ekvivlenssin määrittelyssä päätetään, millä trkkuustsoll verkkoj vertilln. Toisen esimerkkinä trkstelln luvuss 1 esiteltyä siks/plvelin-systeemiä, kun sikkit on 4. Koko systeemiä vst rinnkkisoperttorin vull nnettu prosessiluseke: SystemRR := Server [cs1, sb1, cs2, sb2, cs3, sb3, cs4, sb4] (Client1 [bc1] Buffer1 ) [t1, t2] (Client2 [bc2] Buffer2 ) [t3] (Client3 [bc3] Buffer3 ) [t4] (Client4 [bc4] Buffer4 ) Oletetn nyt, että meitä kiinnost round robin- peritteen toteutuminen systeemissä. Perite toteutuu, jos ti:t tphtuvt järjestyksessä t2, t3, t4, t1. Siten round robin- peritett kuv prosessi t1 t2 t3 t4 RR1 RR2 RR3 RR4 Voisimme nyt generoid prosessin SystemRR yhteistilverkon j selvittää, tphtuvtko ti:t minituss järjestyksessä. Jos emme hlu tutki verkko käsin, meidän pitäisi kirjoitt ohjelm, jok selvittäisi sin. Tähän kuluisi ik. Nopempi menetelmä on verrt prosessi SystemRR prosessiin RR. Siis round robin- perite toteutuu systeemissä, jos prosessin SystemRR toimint sopivsti bstrhoitun vst prosessin RR toimint. Tässä tpuksess sopiv bstrktio on sellinen, että muutetn kikki muut tphtumt näkymättömiksi tphtumiksi lukuunottmtt tphtumi t1, t2, t3 j t4. Jos tämän muutoksen jälkeen kuljetn polkuj prosessin SystemRR yhteistilverkoss, niin tphtumien ti tulisi esiintyä poluill RR:n järjestyksessä, eikä muit näkyviä tphtumi esiinnny linkn.

31 5.2. RELAATIOT 29 Prosessilgebrojen vhvn puolen on, että voidn määritellä täsmällisesti useit eri trkoituksiin soveltuvi ekvivlenssej, jotk voidn tehokksti lske prosessilgebrllisesti määritellyille prosesseille. Yksinkertisin ekvivlenssi suoritusjälkiekvivlenssi. Eräs perustvimmist ekvivlensseist on heikko bisimultioekvivlenssi, jok riittää useimpiin trkoituksiin. Se on tehokksti lskettviss j se on yleensä toteutettu kikiss yleiskäyttöisissä verifiointiohjelmistoiss. Käsittelemme tällä kurssill pelkästään näitä ekvivlenssej. 5.2 Reltiot Reltion määritelmä Olkoon A j B joukkoj. Jokist joukko R A B snotn reltioksi joukost A joukkoon B. Joukko M R = { x A y B siten että (x, y) R } on reltion R määrittelyjoukko j joukko A R = { y B x A siten että (x, y) R } sen rvojoukko. Jos R A A, toisin snoen jos R on reltio joukost A joukkoon A, niin snotn lyhyemmin, että R on joukon A reltio. Jos R on joukon A reltio j jos (x, y) R, niin yleensä merkitään xry. Ekvivlenssireltiot Määritellään ensin muutmi käsitteitä, joist on hyötyä ekvivlenssireltion käsittelyssä. Joukot A j B ovt lkioviert, jos A B =. Jos I on joukko, jonk lkiot ovt joukkoj, niin I on lkioviers, jos kksi joukkoon I kuuluv joukko ovt in lkioviert. Joukon X osjoukkojoukko H on joukon X ositus, jos se täyttää seurvt ehdot: H1. Jokinen A H on epätyhjä, H2. H:n joukkojen yhdiste on X, H3. H on lkioviers.

32 30 LUKU 5. EKVIVALENSSIT JA VERIFIOINTI Osituksell on läheinen yhteys ekvivlenssireltioon, jok määritellään seurvss. Määritelmä 2 Joukon X reltio R on ekvivlenssi, jos se täyttää seurvt ehdot: E1. R jokisell X (refleksiivisyys); E2. jos Rb, niin myös br (symmetrisyys); E3. jos Rb j brc, niin myös Rc (trnsitiivisuus). Jos X, niin joukko R() = {x X Rx} on lkion ekvivlenssiluokk ekvivlenssin R suhteen. Luse. Jos R on joukon X ekvivlenssi, niin sen kikkien eri ekvivlenssiluokkien joukko X/R on joukon X ositus. Joukon X lkioille j b on Rb in j vin kun j b kuuluvt smn ekvivlenssiluokkn. Todistus. Käydään todistus läpi, vikk sm tehdään myös mtemtiikn peruskursseill. Olkoon X. Kosk R, niin R(). Tästä seur, että jokinen ekvivlenssiluokk on epätyhjä j että ekvivlenssiluokkien yhdiste on X. Ehdon H3 osoittmiseksi riittää näyttää, että kksi nnettu R-ekvivlenssiluokk ovt joko identtiset ti lkioviert. Oletetn sitä vrten, että R() R(b), jolloin on olemss lkio c R() R(b). Olkoon x R() eli Rx. Kosk c R(), niin Rc j siis myös cr, sillä ekvivlenssireltio on symmetrinen. Kosk cr j Rx, niin trnsitiivisuuden perusteell crx. Kosk c R(b), on toislt brc. Stu tulos osoitt, että R() R(b). Täsmälleen smll tvll nähdään, että R(b) R(). Näinollen R() = R(b) j kikkien R-ekvivlenssiluokkien joukko on siis joukon X ositus. Olkoon Rb. Tällöin b R(), joten j b kuuluvt smn ekvivlenssiluokkn R(). Oletetn kääntäen, että j b kuuluvt smn ekvivlenssiluokkn R(c). Tällöin R(c) R() j siis R(c) R(), joten luseen lkuosn nojll R(c) = R(). Tästä seur, että b R(c) = R() eli Rb. Myös jälkimmäinen väite on siten oike. Luse. Olkoon H joukon X ositus. Jos joukon X lkioille setetn R H b in j vin kun j b kuuluvt smn joukkoon U H, niin R H on sellinen joukon X ekvivlenssi, että kikkien R H -ekvivlenssiluokkien joukko on H. Todistus. Olkoon X. Kosk H on joukon X ositus, on olemss joukko U H, joll U. Nyt j kuuluvt smn osituksen joukkoon U, joten R H. Eli refleksiivisyys on osoitettu.

33 5.2. RELAATIOT 31 Olkoon R H b. Tällöin j b kuuluvt smn joukkoon U H j siis myös br H. Eli symmetrisyys on osoitettu. Olkoon sitten R H b j br H c. Tällöin on olemss selliset joukot U j V H, että j b U sekä b j c V. Kosk v U V, on U V j siis U = V, kosk H on lkioviers. Näinollen j c kuuluvt smn joukkoon U = V H, joten R H c. Trnsitiivisuus on siten osoitettu j R H on siis ekvivlenssireltio. Olkoon R H () mielivltinen R H -ekvivlenssiluokk. Kosk H:n joukkojen yhdiste on X, on olemss sellinen U H että U. Jos x U, niin j x kuuluvt smn joukkoon U H, joten R H x eli x R H (). Olkoon kääntäen x R H () eli R H x. Tällöin j x kuuluvt smn joukkoon V H. Kosk U V, on U V j siis U = V, kosk H on lkioviers. Näinollen x V = U. Sdut tulokset osoittvt, että R H () = U. Kääntäen, jos U H, niin U. Jos U, niin edellisen tuloksen nojll R H () H. Kosk R H () U, niin on siis U = R H (). Näinollen yhtyy kikkien R H -ekvivlenssiluokkien joukko joukkoon H. Trnsitiivinen sulkeum Olkoon R reltio joukoss V. Reltion potenssit määritellään seurvsti: R 0 = {(, ) V }, R 1 = R, R 2 = {(, c) b V : Rb j brc}, R n = R(R n 1 ), n > 2. Trnsitiivinen sulkeum määritellään nyt reltion potenssien vull. Reltion R refleksiivinen trnsitiivinen sulkeum R on joukko R = R i, i=0 j trnsitiivinen sulkeum R + on joukko R + = R i. i=1 Purkmll uki määritelmiä nähdään, että R b, jos on olemss V :n lkiot = c 1, c 2,, c n = b, joill c i Rc i+1, i = 1,, n 1. Reltio R joukoss V voidn esittää suorviivisesti suunnttun verkkon: verkon solmujoukko on V j jos Rb, niin (, b) on verkon kri. Verkoss trnsitiivisell sulkeumll on hvinnollinen tulkint. Nimittäin R + trkoitt kikki sellisi prej (, b) V V, että :st on polku b:hen verkoss R. Vstvsti R on R + lisättynä krill jokisest solmust solmuun itseensä.

34 32 LUKU 5. EKVIVALENSSIT JA VERIFIOINTI Nyt voidn formuloid trnsitiivisen sulkeumn lskentongelm. On nnettu reltio R verkkon. Lske R + ti R verkkon. Reltion verkkoesitys voi perustu joko vierusmtriisiin ti vieruslistn. Trkstelln ensin vierusmtriisiesitystä. Eräs prhiten tunnettuj trnsitiivisen sulkeumn lskent-lgoritmej on Wrshllin lgoritmi. Siinä oletetn, että reltio on nnettu n n-vierusmtriisin M. Algoritmiss muodostetn mtriisi C, jok kuv trnsitiivist sulkeum. Wrshll(M) begin 1. C := M; 2. for i := 1 to n do C[i,i] := true; end for; // rivi 2 jää pois, jos lsketn vin // trnsitiivist sulkeum. 3. for k := 1 to n do 4. for i := 1 to n do 5. for j := 1 to n do 6. if C[i,k] = true j C[k,j] = true then C[i,j] := true; end if; end for; end for; end for; end. Luse 1 Wrshllin lgoritmi lskee oikein refleksiivisen trnsitiivisen sulkeumn j vtii jn O(n 3 ) j tiln O(n 2 ). Moniss sovelluksiss verkko on vrsin suuri j hrv, joten vierusmtriisi ei tule kysymykseen. Trnsitiivisen sulkeumn lskeminen vieruslistesityksen perusteell on kuitenkin peritteess yksinkertist: loitetn syvyyssuuntinen etsintä verkon jokisest solmust j vedetään kri loitussolmust jokiseen svutettvn solmuun. Tällisen menetelmän ikvtimus on O( V ( E + V )) eli sm kuin Wrshllin lgoritmiss, jos verkko on lähes täydellinen ( E = V 2 ). Ongelmn tässä yksinkertisess lähestymistvss on se, että smoj reittejä stetn kulke moneen kertn. Tehokkmpn tulokseen päästään, jos vhvsti yhtenäiset komponentit otetn huomioon. Komponentin sisällä trnsitiivisen sulkeumn kret ovt jokisen solmuprin välillä. Sen jälkeen trvitsee tutki kret komponenttien välillä. Ide on suorviivinen, mutt tähän iden perustuvt lgoritmit näyttävät olevn melko monimutkisi. Yhtenä syynä on, että vhvsti

35 5.3. SUORITUSJÄLKIEKVIVALENSSI 33 yhtenäisten komponenttien etsintälgoritmi on monimutkinen, erityisesti oikeellisuustodistuksens oslt. Tällä kurssill nämä kehittyneemmät sulkeum-lgoritmit sivuutetn. Minitn vin muutmien lgoritmien viitteet: Eve j Kurki-Suonio, On computing the trnsitive closure of reltion. Act Informtic 8, , Eräs ensimmäisiä sulkeum-lgoritmej, joiss on sovellettu vhvsti yhtenäisiä komponenttej. Nuutil, An efficient trnsitive closure lgorithm for cyclic digrphs. Informtion Processing Letters 52, , Esimerkki uudemmst sulkeumtutkimuksest. Sippu, Soislon-Soininen, Prsing Theory, 37-60, Springer-Verlg Kirjtson esitys tehokkst sulkeum-lgoritmist. Trnsitiivisen sulkeumn lskeminen etukäteen ei in ole välttämätöntä, vikk sovelluksess sulkeum trvittisiinkin. Joisskin tilnteiss sulkeum voidn lske lennost (on the fly). Tämä trkoitt, että kun trvitn sulkeumn kri jostin solmust, käynnistetään syvyyssuuntinen etsintä tuost solmust j etsitään kikki trvittvt polut. Stt vikutt, että menetelmä on käyttökelvoton, vrsinkin jos joudutn käynnistämään etsintä smst solmust moneen kertn. Kuitenkin on sovelluksi, joiss tämä lähestymistp joht jop prempn tulokseen kuin sulkeumn lskeminen ennkolt. Konkreettisess tilnteess on siten nlysoitv huolellisesti, mikä lähestymistp on tehokkin. 5.3 Suoritusjälkiekvivlenssi Yksinkertisin ekvivlenssi perustuu tphtumjonojen vertiluun. Olkoon A tphtumien joukko. Seurvss oletetn, että kikkien prosessien tphtumt kuuluvt tähän joukkoon. Määritelmä 3 Olkoon u (A\{}) tphtumjono. Jono u on prosessin P suoritusjälki (trce), jos P = P u jollkin prosessill P. Merkitään P :n kikkien suoritusjälkien joukko symbolill tr(p ). Määritelmä 4 Prosessit P j Q ovt suoritusjälkiekvivlentit, P tr Q, jos tr(p ) = tr(q). Selvästi tr on ekvivlenssireltio. Se on myös kompositionlinen rinnkkisoperttorin suhteen. Eli jos P tr P j Q tr Q, niin P [ 1,, n ] Q tr P [ 1,, n ] Q (hrjoitustehtävä).

36 34 LUKU 5. EKVIVALENSSIT JA VERIFIOINTI Jos P tr Q, niin P :ssä voi oll lukkiumi, vikk Q:ss ei niitä olisikn. Esimerkiksi prosessit P j Q ll ovt suoritusjälkiekvivlentit: P1 P2 b P3 b Q1 Q2 Q3 P4 c c Yleensä jtelln, että lukkiumt ovt kikkein vkvimpi virheitä hjutetuiss järjestelmissä. Tämän vuoksi suoritusjälkiekvivlenssi hrvoin tulee kysymykseen inon perusteen vertill protokoll j plvelu. Suoritusjälkiekvivlenssi pljst kuitenkin melko tehokksti muit virhetyyppejä. Lisäksi lukkiumt on helppo trkist jo verkon generoinnin yhteydessä. Siten suoritusjälkiekvivlenssi voidn käyttää hyväksi silloin tällöin. Tulemme soveltmn sitä tutkiessmme erilisi rtkisuj keskinäisen poissulkemisen ongelmn. Edelleeen suoritusjälkiekvivlenssi toimii lähtökohtn kokoniselle ekvivlenssiryhmälle, johon kuuluvt mm. testi- j estymäekvivlenssit. 5.4 Heikko bisimultioekvivlenssi Tvoitteen on määritellä verifiointiin sopiv ekvivlenssireltio siirtymäsysteemien joukkoon. Bisimultioekvivlenssi on Milnerin kehittelemä j Prkin viimeistelemä ekvivlenssi 70- j 80-lukujen vihteest. Jos P j Q ovt prosessej, niin ekvivlenssin iden on simuloid P :n näkyvien tphtumien suoritust Q:ss j päinvstoin. Jos simulointi onnistuu koko jn, prosessit ovt ekvivlenttej, muuten eivät. Täsmälliseen määritelmään trvitn pukäsitteitä. Olkoon tphtum,. Plutetn mieleen merkintä, että jos on olemss siirtymäketju P = P 1 P 2 P k P = P, P k+1 P k+2 P k+3 P k+m = P, k 1, m 0. Toisin snoen P = P, jos on olemss polku P :n lkutilst P :n lkutiln j yksi polun krist sisältää toiminon, muut, 0 ti usempi kri, :n. Voidn myös kirjoitt P = P ε jos P = P ti on olemss -siirtymien ketju k > 1. P = P 1 P 2 P k = P,

37 5.4. HEIKKO BISIMULAATIOEKVIVALENSSI 35 P1 P2 P3 P6 b b P4 P5 P7 Esimerkki. Trkstelln yllä olev tilsiirtymäsysteemiä Sen tiloist on seurvt polut: P 1= P ε 6, P 1= P 2, P 1= P 5, P 1= P 7, P 1= P b 7, P 1= P ε 3, P 1= P ε 1. Määritelmä. Olkoot P j Q prosessej j A P :n j Q:n toimintojen joukko. Prosessit P j Q ovt heikosti bisimilriset, P wbis Q, jos on olemss sellinen prosessipreist koostuv joukko R (heikko bisimultio), että kikill toiminnoill (A\{}) {ε} pätee: 1. (P, Q) R; 2. jos (P 1, Q 1 ) R j P 1 = P 2, niin on olemss Q 2, joll Q 1 = Q 2 j (P 2, Q 2 ) R; 3. jos (P 1, Q 1 ) R j Q 1 = Q 2, niin on olemss P 2, joll P 1 = P 2 j (P 2, Q 2 ) R. Esimerkki. Seurvt prosessit ovt heikosti bisimilriset eli P wbis Q: P1 b P2 P3 Q2 b Q1 Q3 b P4 b sillä R = {(P 1, Q1), (P 2, Q2), (P 3, Q3), (P 4, Q1)} on heikko bisimultio j (P, Q) R (P = P 1, Q = Q1).

38 36 LUKU 5. EKVIVALENSSIT JA VERIFIOINTI Esimerkki. Seurvt prosessit eivät ole heikosti bisimilriset: P1 b Q1 P2 P3 Q4 Q2 b Q3 Jos nimittäin yritetään muodost heikko bisimultioreltio R, niin prin (P 1, Q1) täytyy kuulu reltioon. Käytetään seurvksi määritelmän ehto 3: Q tekee siirtymän tilst Q1 tiln Q2 sisäisellä tphtumll. Aino tp simuloid tätä P :n oslt on, että P pysyy tilss P 1. Siis prin (P 1, Q2) tulee kuulu myös reltioon R. Käytetään tämän jälkeen priin (P 1, Q2) määritelmän ehto 2: P siirtyy P 1:stä :ll P 2:een. Nytpä Q ei voikn simuloid tätä siirtymää, sillä Q2:st ei lähde yhtään -siirtymää. Siis heikko bisimultioreltiot ei voi oll olemss P :n j Q:n välillä, joten prosessit eivät ole heikosti bisimilriset. Esimerkki. Seurvt prosessit ovt heikosti bisimilriset: P3 P5 b c P1 P2 P4 P6 d P7 Q5 Q7 b c Q2 Q6 Q8 d Q9 Q1 Q3 Q4 c d Q10 Q11 Q13 d Q12

39 5.4. HEIKKO BISIMULAATIOEKVIVALENSSI 37 Heikko bisimultio on seurv (P 1, Q1), (P 2, Q2), (P 4, Q3), (P 6, Q4), (P 3, Q5), (P 4, Q6), (P 5, Q7), (P 6, Q8), (P 7, Q9) (P 5, Q10), (P 6, Q11), (P 7, Q12), (P 6, Q4), (P 7, Q13) Luse. Reltio wbis on ekvivlenssireltio siirtymäsysteemien välillä. Todistus. On osoitettv, että reltio wbis on refleksiivinen, symmetrinen j trnsitiivinen. Refleksiivisuus trkoitt, että P wbis P kikill prosesseill P. Symmetrisyys trkoitt, että ehdost P wbis Q seur Q wbis P. Sekä refleksiivisuus että symmetrisyys seurvt suorn määritelmästä. On vielä näytettävä, että reltio on trnsitiivinen eli ehdoist P wbis Q j Q wbis R seur P wbis R. Olkoon R bisimultio P :n j Q:n välillä, S bisimultio Q:n j R:n välillä. Muodostetn prosessiprien joukko T seurvsti: T = {(P 1, R 1 ) Q 1 : (P 1, Q 1 ) R, (Q 1, R 1 ) S}. Osoitetn, että T on heikko bisimultio P :n j R:n välillä. T :n määritelmän perusteell (P, R) T. Olkoon (P 1, R 1 ) T mielivltinen j P 1 = P 2. Tiedetään, että on olemss Q 1, joll (P 1, Q 1 ) R j (Q 1, R 1 ) S. Kosk R j S ovt heikkoj bisimultioit, on olemss myös prosessit Q 2 j R 2, joill Q 1 = Q 2 j (P 2, Q 2 ) R sekä R 1 = R 2 j (Q 2, R 2 ) S. Mutt T :n määritelmän nojll (P 2, R 2 ) T, joten ehto 2 heikon bisimultion määritelmässä on osoitettu. Ehto 3 osoitetn smll tvll. Merkitään P:llä prosessien eli äärellisten siirtymäsysteemien joukko. Reltio wbis määrittelee siis P:hen ekvivlenssireltion. Mtemtiikss joukon ekvivlenssireltio määritellään joukon krteesisen tulon itsensä knss osjoukkon. Siten tpuksessmme pitäisi oll wbis P P. Voidnkin määritellä, että wbis on mksimlinen bisimultio eli wbis = {R R on bisimultio}. Jos P on prosessi, niin P :n ekvivlenssiluokk [P ] wbis on niiden prosessien joukko, jotk ovt heikosti bisimilriset P :n knss. Ekvivlenssiluokt [P ] wbis muodostvt P:n

5. Ekvivalenssit ja veriointi. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki

5. Ekvivalenssit ja veriointi. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki 5. Ekvivlenssit j veriointi Spesioinnin j verioinnin perusteet. Päivi Kuuppelomäki 2008 1 5.1. Plvelun kuvukset Hjutetun järjestelmän prosessien kuvuksist voidn meknisesti generoid yhteistilverkko. Jos

Lisätiedot

Kuvausta f sanotaan tällöin isomorfismiksi.

Kuvausta f sanotaan tällöin isomorfismiksi. Määritelmä..12. Oletetn, että 1 =(V 1,E 1 ) j 2 =(V 2,E 2 ) ovt yksinkertisi verkkoj. Verkot 1 j 2 ovt isomorfiset, jos seurvt ehdot toteutuvt: (1) on olemss bijektio f : V 1 V 2 (2) kikill, b V 1 pätee,

Lisätiedot

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

Olkoon. M = (Q, Σ, δ, q 0, F)

Olkoon. M = (Q, Σ, δ, q 0, F) T 79.148 Tietojenkäsittelyteorin perusteet 2.4 Äärellisten utomttien minimointi Voidn osoitt, että jokisell äärellisellä utomtill on yksikäsitteinen ekvivlentti (so. smn kielen tunnistv) tilmäärältään

Lisätiedot

Olkoon. äärellinen automaatti. Laajennetaan M:n siirtymäfunktio yksittäisistä syötemerkeistä merkkijonoihin: jos q Q, x Σ, merkitään

Olkoon. äärellinen automaatti. Laajennetaan M:n siirtymäfunktio yksittäisistä syötemerkeistä merkkijonoihin: jos q Q, x Σ, merkitään T 79.00/002 Tietojenkäsittelyteorin perusteet 2. Äärellisten utomttien minimointi Voidn osoitt, että jokisell äärellisellä utomtill on yksikäsitteinen ekvivlentti (so. smn kielen tunnistv) tilmäärältään

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 ICS-C2 Tietojenkäsittelyteori Kevät 2 Kierros,. 5. helmikuut Demonstrtiotehtävien rtkisut D: Sievennä seurvi säännöllisiä lusekkeit (so. konstruoi yksinkertisemmt lusekkeet smojen kielten kuvmiseen): ()

Lisätiedot

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

3. Yhteistilaverkko. Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki 3. Yhteistilaverkko Spesioinnin ja verioinnin perusteet. Päivi Kuuppelomäki 2008 1 3.1. Johdanto Koko systeemiäkin voidaan kuvata yhdellä siirtymäsysteemillä, yhteistilaverkolla Yhteistilaverkon tilaksi

Lisätiedot

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 5 Demonstraatiotehtävien ratkaisut. ja kaikki a Σ ovat säännöllisiä lausekkeita.

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 5 Demonstraatiotehtävien ratkaisut. ja kaikki a Σ ovat säännöllisiä lausekkeita. T-79.8 Syksy 22 Tietojenkäsittelyteorin perusteet Hrjoitus 5 Demonstrtiotehtävien rtkisut Säännölliset lusekkeet määritellään induktiivisesti: j kikki Σ ovt säännöllisiä lusekkeit. Mikäli α j β ovt säännöllisiä

Lisätiedot

Automaatin tunnistama kieli on sen hyväksymien merkkijonojen joukko. Täsmällinen muotoilu: δ,q 0,{q 2,q 3,q 6 }), missä

Automaatin tunnistama kieli on sen hyväksymien merkkijonojen joukko. Täsmällinen muotoilu: δ,q 0,{q 2,q 3,q 6 }), missä T 79.1001/1002 Tietojenkäsittelyteorin perusteet 2.3 Äärellisen utomtin käsitteen formlisointi eknistinen mlli: syötenuh: nuhpää: ohjusyksikkö: i n p δ u q 1 q 2 Äärellinen utomtti koostuu äärellistilisest

Lisätiedot

Q = {q 1, q 2, q 3, q 4 } Σ = {a, b} F = {q 4 },

Q = {q 1, q 2, q 3, q 4 } Σ = {a, b} F = {q 4 }, T-79.48 Syksy 22 Tietojenkäsittelyteorin perusteet Hrjoitus 4 Demonstrtiotehtävien rtkisut 4. Tehtävä: Ldi epädeterministinen äärellinen utomtti, jok test onko nnetun inäärijonon kolmnneksi viimeinen merkki,

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015 ICS-C2 Tietojenkäsittelyteori Kevät 25 Kierros 3, 26. 3. tmmikuut Demonstrtiotehtävien rtkisut D: Ldi epädeterministinen äärellinen utomtti, jok test onko nnetun inäärijonon kolmnneksi viimeinen merkki,

Lisätiedot

2.6 SÄÄNNÖLLISET LAUSEKKEET Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

2.6 SÄÄNNÖLLISET LAUSEKKEET Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita: 2.6 SÄÄNNÖLLISET LAUSEKKEET Automttimlleist poikkev tp kuvt yksinkertisi kieliä. Olkoot A j B kkoston Σ kieliä. Perusopertioit: Yhdiste: A B = {x Σ x A ti x B}; Ktentio: AB = {xy Σ x A, y B}; Potenssit:

Lisätiedot

3.3 KIELIOPPIEN JÄSENNYSONGELMA Ratkaistava tehtävä: Annettu yhteydetön kielioppi G ja merkkijono x. Onko

3.3 KIELIOPPIEN JÄSENNYSONGELMA Ratkaistava tehtävä: Annettu yhteydetön kielioppi G ja merkkijono x. Onko 3.3 KILIOPPIN JÄSNNYSONGLMA Rtkistv tehtävä: Annettu yhteydetön kielioppi G j merkkijono x. Onko x L(G)? Rtkisumenetelmä = jäsennyslgoritmi. Useit vihtoehtoisi menetelmiä, erityisesti kun G on jotin rjoitettu

Lisätiedot

Riemannin integraalista

Riemannin integraalista Lebesguen integrliin sl. 2007 Ari Lehtonen Riemnnin integrlist Johdnto Tämän luentomonisteen trkoituksen on tutustutt lukij Lebesgue n integrliin j sen perusominisuuksiin mhdollisimmn yksinkertisess tpuksess:

Lisätiedot

T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (Predikaattilogiikka )

T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (Predikaattilogiikka ) T-79.3001 Kevät 2009 Logiikk tietotekniikss: perusteet Lskuhrjoitus 7 (Predikttilogiikk 9.1 10.2) 19.3. 23.3. 2009 Rtkisuj demotehtäviin Tehtävä 9.1 Rtkisuss on käytetty usen otteeseen rjoitettuj universli-

Lisätiedot

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

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 22. syyskuuta 2016 lusekkeet, lusekkeet, TIEA241 Automtit j kieliopit, syksy 2016 Antti-Juhni Kijnho lusekkeet j smuus TIETOTEKNIIKAN LAITOS 22. syyskuut 2016 Sisällys lusekkeet, lusekkeet lusekkeet j smuus j smuus lusekkeet

Lisätiedot

Riemannin integraali

Riemannin integraali LUKU 5 iemnnin integrli Tässä luvuss funktion f iemnnin integrli merkitään - b f = - b f() d. Vstvsti funktion f Lebesgue in integrli merkitään f = f() dm(). [,b] [,b] Luse 5.1. Olkoon f : [, b] rjoitettu

Lisätiedot

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja 582206 Lskennn mllit (syksy 2010) 1. kurssikoe, rtkisuj 1. [2+2+2 pistettä] Säännöllisissä lusekkeiss on käytetty tuttu lyhennysmerkintää Σ = ( ). () merkkijonot, joiden kksi ensimmäistä merkkiä ovt joko

Lisätiedot

Kognitiivinen mallintaminen I, kevät Harjoitus 1. Joukko-oppia. MMIL, luvut 1-3 Ratkaisuehdotuksia, MP

Kognitiivinen mallintaminen I, kevät Harjoitus 1. Joukko-oppia. MMIL, luvut 1-3 Ratkaisuehdotuksia, MP Kognitiivinen mllintminen I, kevät 007 Hrjoitus. Joukko-oppi. MMIL, luvut -3 Rtkisuehdotuksi, MP. Määritellään joukot: A = {,,, 3, 4, 5} E = {, {}, } B = {, 4} F = C = {, } G = {{, }, {,, 4}} D = {, }

Lisätiedot

Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita: 2.6 SÄÄNNÖLLISET LAUSEKKEET Automttimlleist poikkev tp kuvt yksinkertisi kieliä. Olkoot A j B kkoston Σ kieliä. Perusopertioit: Yhdiste: A B = {x Σ x A ti x B}; Ktentio: AB = {xy Σ x A, y B}; Potenssit:

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Mtemtiikn tukikurssi Kurssikert 4 Tilvuuden j vipn ln lskeminen Kuten iemmin käsittelimme, määrätyn integrlin vull voi lske pintloj j tilvuuksi. Tyypillisenä sovelluksen tilvuuden lskemisest on tpus, joss

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Mtemtiikn tukikurssi Kurssikert 5 1 Jtkuvuus Trkstelln funktiot fx) josskin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jtkuv ti epäjtkuv. Jtkuvuuden ymmärtää prhiten trkstelemll epäjtkuv

Lisätiedot

3 Mallipohjainen testaus ja samoilutestaus

3 Mallipohjainen testaus ja samoilutestaus Tietojenkäsittelytiede 24 Joulukuu 2005 sivut 8 21 Toimittj: Jorm Trhio c kirjoittj(t) Historiljennus mllipohjisess testuksess Timo Kellomäki Tmpereen teknillinen yliopisto Ohjelmistotekniikn litos 1 Johdnto

Lisätiedot

Ristitulo ja skalaarikolmitulo

Ristitulo ja skalaarikolmitulo Ristitulo j sklrikolmitulo Opetussuunnitelmn 00 mukinen kurssi Vektorit (MAA) sisältää vektoreiden lskutoimituksist keskeisenä ineksen yhteenlskun, vähennyslskun, vektorin kertomisen luvull j vektoreiden

Lisätiedot

Esimerkki 8.1 Määritellään operaattori A = x + d/dx. Laske Af, kun f = asin(bx). Tässä a ja b ovat vakioita.

Esimerkki 8.1 Määritellään operaattori A = x + d/dx. Laske Af, kun f = asin(bx). Tässä a ja b ovat vakioita. 8. Operttorit, mtriisit j ryhmäteori Mtemttinen operttori määrittelee opertion, jonk mukn sille nnettu funktiot muoktn. Operttorit ovt erityisen tärkeitä kvnttimekniikss, kosk siinä jokist suurett vst

Lisätiedot

Matematiikan johdantokurssi, syksy 2017 Harjoitus 6, ratkaisuista. 1. Onko jokin demojen 5 tehtävän 3 relaatioista

Matematiikan johdantokurssi, syksy 2017 Harjoitus 6, ratkaisuista. 1. Onko jokin demojen 5 tehtävän 3 relaatioista Mtemtiikn johntokurssi, syksy 07 Hrjoitus 6, rtkisuist. Onko jokin emojen 5 tehtävän reltioist ) R := {(, ), (, ), (, ), (, ), (, ), (, ), (, ), (, )}, ) S := {(, ), (, ), (, ), (, ), (, ), (, ), (, ),

Lisätiedot

II.1. Suppeneminen., kun x > 0. Tavallinen lasku

II.1. Suppeneminen., kun x > 0. Tavallinen lasku II. EPÄOLEELLISET INTEGRAALIT nt II.. Suppeneminen Esim. Olkoon f() =, kun >. Tvllinen lsku = / =. Kuitenkn tätä integrli ei ole ikisemmss mielessä määritelty, kosk f ei ole rjoitettu välillä [, ] (eikä

Lisätiedot

LINSSI- JA PEILITYÖ TEORIAA. I Geometrisen optiikan perusaksioomat

LINSSI- JA PEILITYÖ TEORIAA. I Geometrisen optiikan perusaksioomat (0) LINSSI- JA PEILITYÖ MOTIVOINTI Tutustutn linsseihin j peileihin geometrisen optiikn mittuksiss Tutkitn vlon käyttäytymistä linsseissä j peileissä Määritetään linssien j peilien polttopisteet Optiset

Lisätiedot

OSA 1: POLYNOMILASKENNAN KERTAUSTA, BINOMIN LASKUSÄÄNTÖJÄ JA YHTÄLÖNRATKAISUA

OSA 1: POLYNOMILASKENNAN KERTAUSTA, BINOMIN LASKUSÄÄNTÖJÄ JA YHTÄLÖNRATKAISUA OSA 1: POLYNOMILASKENNAN KERTAUSTA, BINOMIN LASKUSÄÄNTÖJÄ JA YHTÄLÖNRATKAISUA Tekijät: Ari Heimonen, Hellevi Kupil, Ktj Leinonen, Tuomo Tll, Hnn Tuhknen, Pekk Vrniemi Alkupl Tiedekeskus Tietomn torninvrtij

Lisätiedot

5 Epäoleellinen integraali

5 Epäoleellinen integraali 5 Epäoleellinen integrli 5. Integrlin suppeneminen Olkoon f sellinen välillä [, b[ (ei siis välttämättä pisteessä b) määritelty funktio, että f on Riemnn-integroituv välillä [, ] kikill ], b[ eli on olemss

Lisätiedot

2.2 Automaattien minimointi

2.2 Automaattien minimointi 24 2.2 Automttien minimointi Kksi utomtti, jotk tunnistvt täsmälleen smn kielen ovt keskenään ekvivlenttej Äärellinen utomtti on minimlinen jos se on tilmäärältään pienin ekvivlenttien utomttien joukoss

Lisätiedot

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja 58226 Lskennn mllit (syksy 27) Hrjoitus 5, rtkisuj. Muodostetn NF kielelle : ε ε Muunnetn DF:ksi: {,,} {,} {,} {,} Luennoll (s. 5) stiin kielelle seurv DF: Poistmll tästä svuttmttomt tilt sdn Tulos on

Lisätiedot

7 Funktiosarjoista. 7.1 Funktiosarjojen suppeneminen

7 Funktiosarjoista. 7.1 Funktiosarjojen suppeneminen 7 Funktiosrjoist 7. Funktiosrjojen suppeneminen Seurvksi trkstelln srjoj, joiden termit ovt (lukujen sijst) jollkin välillä I määriteltyjä funktioit. Täsmällisemmin funktiosrjll (ti lyhyemmin srjll) trkoitetn

Lisätiedot

Määritelmä Olkoon C R m yksinkertainen kaari ja γ : [a, b] R m sen yksinkertainen parametriesitys, joka on paloittain C 1 -polku.

Määritelmä Olkoon C R m yksinkertainen kaari ja γ : [a, b] R m sen yksinkertainen parametriesitys, joka on paloittain C 1 -polku. Muodostetn vektorikentän kri-integrli yksinkertisen kren tpuksess. Plutetn mieleen, että joukko C R m on yksinkertinen kri, jos löytyy sellinen jtkuv bijektio γ : [, b] C, jok on ploittin C 1 -funktio

Lisätiedot

Reaalinen lukualue. Millainen on luku, jossa on päättymätön ja jaksoton desimaalikehitelmä?

Reaalinen lukualue. Millainen on luku, jossa on päättymätön ja jaksoton desimaalikehitelmä? Relinen lukulue POLYNOMIFUNKTIOT JA -YHTÄLÖT, MAA Millinen on luku, joss on päättymätön j jksoton desimlikehitelmä? Onko sellisi? Trkstelln Pythgorn luseest stv yksikköneliön lävistäjää, luku + = x x =.

Lisätiedot

Neliömatriisin A determinantti on luku, jota merkitään det(a) tai A. Se lasketaan seuraavasti: determinantti on

Neliömatriisin A determinantti on luku, jota merkitään det(a) tai A. Se lasketaan seuraavasti: determinantti on 4. DETERINANTTI JA KÄÄNTEISATRIISI 6 4. Neliömtriisi determitti Neliömtriisi A determitti o luku, jot merkitää det(a) ti A. Se lsket seurvsti: -mtriisi A determitti o det(a) () -mtriisi A determitti void

Lisätiedot

Säännöllisten operaattoreiden täydentäviä muistiinpanoja

Säännöllisten operaattoreiden täydentäviä muistiinpanoja Säännöllisten operttoreiden täydentäviä muistiinpnoj Antti-Juhni Kijnho 1. huhtikuut 2011 Vnht määritelmät Määritelmä 1. Äärellinen epätyhjä joukko on merkistö, j sen lkioit kutsutn merkeiksi. Määritelmä

Lisätiedot

Vuokrahuoneistojen välitystä tukeva tietojärjestelmä.

Vuokrahuoneistojen välitystä tukeva tietojärjestelmä. Kertusesimerkki: Vuokrhuoneistojen välitystä tukev tietojärjestelmä. Esimerkin trkoituksen on on hvinnollist mllinnustekniikoiden käyttöä j suunnitteluprosessin etenemistä tietojärjestelmän kehityksessä.

Lisätiedot

Diskreetin matematiikan perusteet Laskuharjoitus 6 / vko 13

Diskreetin matematiikan perusteet Laskuharjoitus 6 / vko 13 MS-A040 Diskreetin mtemtiikn perusteet, IV/07 Kngslmpi / Jkosson Diskreetin mtemtiikn perusteet Lskuhrjoitus / vko Tuntitehtävät 4-4 lsketn lkuviikon hrjoituksiss j tuntitehtävät 45-4 loppuviikon hrjoituksiss.

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 ICS-C2000 Tietojenkäsittelyteori Kevät 2016 Kierros 2, 18. 22. tmmikuut Demonstrtiotehtävien rtkisut D1: Formuloi luennoll (monisteen s. 17) esitetty yksinkertinen khviutomtti täsmällisesti äärellisen

Lisätiedot

Kertymäfunktio. Kertymäfunktio. Kertymäfunktio: Mitä opimme? 2/2. Kertymäfunktio: Mitä opimme? 1/2. Kertymäfunktio: Esitiedot

Kertymäfunktio. Kertymäfunktio. Kertymäfunktio: Mitä opimme? 2/2. Kertymäfunktio: Mitä opimme? 1/2. Kertymäfunktio: Esitiedot TKK (c) Ilkk Mellin (24) 1 Johdtus todennäköisyyslskentn TKK (c) Ilkk Mellin (24) 2 : Mitä opimme? 1/2 Jos stunnisilmiötä hlutn mllint mtemttisesti, on ilmiön tulosvihtoehdot kuvttv numeerisess muodoss.

Lisätiedot

2.1 Vaillinaiset yhtälöt

2.1 Vaillinaiset yhtälöt .1 Villiniset yhtälöt Yhtälö, jok sievenee muotoon x + bx + c = 0 (*) on yleistä normlimuoto olev toisen steen yhtälö. Tämän rtkiseminen ei olekn enää yhtä meknist kuin normlimuotoisen ensisteen yhtälön

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 ICS-C2000 Tietojenkäsittelyteori Kevät 2016 Kierros 5, 8. 12. helmikuut Demonstrtiotehtävien rtkisut D1: Hhmolusekkeet ovt esimerkiksi UN*X-järjestelmien tekstityökluiss käytetty säännöllisten lusekkeiden

Lisätiedot

4.7.2 Testerit. Test ok. virhe vast.ota. lähetä τ. virhe. virhe. vast.ota. τ τ. vast.ota. lähetä. lähetä. lähetä ok

4.7.2 Testerit. Test ok. virhe vast.ota. lähetä τ. virhe. virhe. vast.ota. τ τ. vast.ota. lähetä. lähetä. lähetä ok OHJ-2600 Tilkoneet 204 6. Tämän tehtävän tvoite on kuvn LTS:ää vstesimerkkinä käyttäen osoitt, että nnetun LTS:n knss minimlinen CFFD-smnlinen LTS ei in ole yksikäsitteinen. P Q AG(P) = AG(Q) f, {{}} f,

Lisätiedot

VEKTOREILLA LASKEMINEN

VEKTOREILLA LASKEMINEN ..07 VEKTOREILL LSKEMINEN YHTEENLSKU VEKTORIT, M4 Vektoreiden j summ on vektori +. Tämän summvektorin + lkupiste on vektorin lkupiste j loppupiste vektorin loppupiste, kun vektorin lkupisteenä on vektorin

Lisätiedot

Integraalilaskentaa. 1. Mihin integraalilaskentaa tarvitaan? MÄNTÄN LUKIO

Integraalilaskentaa. 1. Mihin integraalilaskentaa tarvitaan? MÄNTÄN LUKIO Integrlilskent Tämä on lukion oppimterileist hiemn poikkev yksinkertistettu selvitys määrätyn integrlin lskemisest. Kerromme miksi integroidn, mitä integroiminen trkoitt, miten integrli lsketn j miten

Lisätiedot

SARJAT JA DIFFERENTIAALIYHTÄLÖT Funktiojonot 1

SARJAT JA DIFFERENTIAALIYHTÄLÖT Funktiojonot 1 SARJAT JA DIFFERENTIAALIYHTÄLÖT 2003 JOUNI PARKKONEN Sisältö 0. Tästä tekstistä. Funktiojonot 0. Tästä tekstistä Tämä moniste on trkoitettu käytettäväksi kurssin Srjt j differentiliyhtälöt luentomterilin.

Lisätiedot

Pythagoraan lause. Pythagoras Samoslainen. Pythagoraan lause

Pythagoraan lause. Pythagoras Samoslainen. Pythagoraan lause Pythgorn luse Pythgors Smoslinen Pythgors on legendrinen kreikklinen mtemtiikko j filosofi. Tiedot hänen elämästään ovt epävrmoj j ristiriitisi. Tärkein Pythgorst j pythgorlisi koskev lähde on Lmlihosin

Lisätiedot

10. MÄÄRÄTYN INTEGRAALIN KÄYTTÖ ERÄIDEN PINTA-ALOJEN LASKEMISESSA

10. MÄÄRÄTYN INTEGRAALIN KÄYTTÖ ERÄIDEN PINTA-ALOJEN LASKEMISESSA MAA0 0. Määrätyn integrlin käyttö eräiden pint-lojen lskemisess 0. MÄÄRÄTYN INTEGRAALIN KÄYTTÖ ERÄIDEN PINTA-ALOJEN LASKEMISESSA Edellä on todettu, että f (x)dx nt x-kselin j suorien x =, x = sekä funktion

Lisätiedot

Suorat, käyrät ja kaarevuus

Suorat, käyrät ja kaarevuus Suort, käyrät j krevuus Jukk Tuomel Professori Mtemtiikn litos, Joensuun yliopisto Suor? Tämä kirjoitus on eräänlinen jtko Timo Tossvisen suorn määritelmää koskevn kirjoitukseen Solmun numeross 2/2002.

Lisätiedot

1.3 Toispuoleiset ja epäoleelliset raja-arvot

1.3 Toispuoleiset ja epäoleelliset raja-arvot . Toisuoleiset j eäoleelliset rj-rvot Rj-rvo lim f () A olemssolo edellyttää että muuttuj täytyy void lähestyä rvo kummst suust hyväsä. Jos > ii sot että lähestyy rvo oikelt ositiivisest suust. Jos ts

Lisätiedot

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause MS-A010{3,4} (ELEC*) Differentili- j integrlilskent 1 Luento 7: Integrli j nlyysin perusluse Pekk Alestlo, Jrmo Mlinen Alto-yliopisto, Mtemtiikn j systeeminlyysin litos 3.10.2016 Pekk Alestlo, Jrmo Mlinen

Lisätiedot

1. Derivaatan Testi. Jos funktio f on jatkuva avoimella välillä ]a, b[ ja x 0 ]a, b[ on kriit. tai singul. piste niin. { f (x) > 0, x ]a, x 0 [

1. Derivaatan Testi. Jos funktio f on jatkuva avoimella välillä ]a, b[ ja x 0 ]a, b[ on kriit. tai singul. piste niin. { f (x) > 0, x ]a, x 0 [ 1. Derivtn Testi Jos funktio f on jtkuv voimell välillä ], b[ j x 0 ], b[ on kriit. ti singul. piste niin { f (x) < 0, x ], x 0 [ f x (x) > 0, x ]x 0, b[ 0 on lokli minimipiste (1) { f (x) > 0, x ], x

Lisätiedot

AUTOMAATTIEN SYNKRONISAATIOSTA

AUTOMAATTIEN SYNKRONISAATIOSTA AUTOMAATTIEN SYNKRONISAATIOSTA John Kopr Pro grdu -tutkielm Huhtikuu 015 MATEMATIIKAN JA TILASTOTIETEEN LAITOS TURUN YLIOPISTO TURUN YLIOPISTO Mtemtiikn j tilstotieteen litos KOPRA, JOHAN: Automttien synkronistiost

Lisätiedot

Kieli, merkitys ja logiikka, kevät 2011 HY, Kognitiotiede. Vastaukset 2.

Kieli, merkitys ja logiikka, kevät 2011 HY, Kognitiotiede. Vastaukset 2. Kieli, merkitys j logiikk, kevät 2011 HY, Kognitiotiede stukset 2. ** Kikiss utomteiss lkutil on. 1.. nn äärelliset utomtit luseille (1-c), jokiselle omns. (1).. c. q3 q4 q3 q4 q5 q6. Muodost äärellinen

Lisätiedot

θ 1 θ 2 γ γ = β ( n 2 α + n 2 β = l R α l s γ l s 22 LINSSIT JA LINSSIJÄRJESTELMÄT 22.1 Linssien kuvausyhtälö

θ 1 θ 2 γ γ = β ( n 2 α + n 2 β = l R α l s γ l s 22 LINSSIT JA LINSSIJÄRJESTELMÄT 22.1 Linssien kuvausyhtälö 22 LINSSIT JA LINSSIJÄRJSTLMÄT 22. Linssien kuvusyhtälö Trkstelln luksi vlon tittumist pllopinnll (krevuussäde R j krevuuskeskipiste C) kuvn mukisess geometriss. Tässä vlo siis tulee ineest ineeseen 2

Lisätiedot

MS-A010{2,3,4,5} (SCI,ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause

MS-A010{2,3,4,5} (SCI,ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause MS-A010{2,3,4,5} (SCI,ELEC*, ENG*) Differentili- j integrlilskent 1 Luento 7: Integrli j nlyysin perusluse Pekk Alestlo, Jrmo Mlinen Alto-yliopisto, Mtemtiikn j systeeminlyysin litos November 20, 2017

Lisätiedot

VEKTOREILLA LASKEMINEN

VEKTOREILLA LASKEMINEN 3..07 VEKTOREILLA LASKEMINEN YHTEENLASKU VEKTORIT, MAA Vektoreiden j summ on vektori +. Tämän summvektorin + lkupiste on vektorin lkupiste j loppupiste vektorin loppupiste, kun vektorin lkupisteenä on

Lisätiedot

2.4 Pienimmän neliösumman menetelmä

2.4 Pienimmän neliösumman menetelmä 2.4 Pienimmän neliösummn menetelmä Optimointimenetelmiä trvitn usein kokeellisen dtn nlysoinniss. Mittuksiin liittyy virhettä, joten mittus on toistettv useit kertoj. Oletetn, että mittn suurett c j toistetn

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 ICS-C Tietojenkäsittelyteori Kevät 6 Kierros 8, 7.. mliskuut Demonstrtiotehtävien rtkisut D: Määrittele Turingin koneen stndrdimllin muunnelm, joss koneen työnuh on molempiin suuntiin ääretön, j osoit

Lisätiedot

TAMPEREEN YLIOPISTO Valinnaisten opintojen syventäviin opintoihin kuuluva tutkielma. Lauri Kumpulainen. Büchin automaateista

TAMPEREEN YLIOPISTO Valinnaisten opintojen syventäviin opintoihin kuuluva tutkielma. Lauri Kumpulainen. Büchin automaateista TAMPEREEN YLIOPISTO Vlinnisten opintojen syventäviin opintoihin kuuluv tutkielm Luri Kumpulinen Büchin utomteist Luonnontieteiden tiedekunt Tietojenkäsittelytieteiden tutkinto-ohjelm Huhtikuu 2017 Tmpereen

Lisätiedot

11. MÄÄRÄTTY INTEGRAALI JA TILAVUUS

11. MÄÄRÄTTY INTEGRAALI JA TILAVUUS 11. MÄÄRÄTTY INTEGRAALI JA TILAVUUS Tilvuus on sen verrn rkielämässä viljelty käsite, että useimmiten sen syvemmin edes miettimättä ymmärretään, mitä juomlsin ti pikkuvuvn kylpymmeen tilvuudell trkoitetn.

Lisätiedot

Painopiste. josta edelleen. x i m i. (1) m L A TEX 1 ( ) x 1... x k µ x k+1... x n. m 1 g... m n g. Kuva 1. i=1. i=k+1. i=1

Painopiste. josta edelleen. x i m i. (1) m L A TEX 1 ( ) x 1... x k µ x k+1... x n. m 1 g... m n g. Kuva 1. i=1. i=k+1. i=1 Pinopiste Snomme ts-ineiseksi kpplett, jonk mteriliss ei ole sisäisiä tiheyden vihteluj. Tällisen kppleen pinopisteen sijinti voidn joskus päätellä kppleen muodon perusteell. Esimerkiksi ts-ineisen pllon

Lisätiedot

PRO GRADU -TUTKIELMA. Eeva Mäkelä. Hiloista ja Boolen algebroista

PRO GRADU -TUTKIELMA. Eeva Mäkelä. Hiloista ja Boolen algebroista PRO GRADU -TUTKIELMA Eev Mäkelä Hiloist j Boolen lgeroist TAMPEREEN YLIOPISTO Luonnontieteiden tiedekunt Mtemtiikk Mrrskuu 2017 Tmpereen yliopisto Luonnontieteiden tiedekunt MÄKELÄ, EEVA: Hiloist j Boolen

Lisätiedot

Vastaa tehtäviin 1-4 ja valitse toinen tehtävistä 5 ja 6. Vastaat siis enintään viiteen tehtävään.

Vastaa tehtäviin 1-4 ja valitse toinen tehtävistä 5 ja 6. Vastaat siis enintään viiteen tehtävään. S-8. Sähkönsiirtoärstlmät Tntti 8..7 Vst thtäviin -4 vlits toinn thtävistä 5 6. Vstt siis nintään viitn thtävään.. Tutkitn ll piirrttyä PV-käyrää, ok kuv sllist vrkko, oss on tuotntolu kuormituslu niidn

Lisätiedot

TEHTÄVÄ 1. Olkoon (f n ) jono jatkuvia funktioita f n : [a, b] R, joka suppenee välillä [a, b] tasaisesti kohti funktiota f : [a, b] R.

TEHTÄVÄ 1. Olkoon (f n ) jono jatkuvia funktioita f n : [a, b] R, joka suppenee välillä [a, b] tasaisesti kohti funktiota f : [a, b] R. Topologi I Hrjoitus 10, rtkisuj AP TEHTÄVÄ 1. Olkoon (f n ) jono jtkuvi funktioit f n : [, b] R, jok suppenee välillä [, b] tsisesti kohti funktiot f : [, b] R. Osoit, että tällöin f n (x) dx f(x) dx.

Lisätiedot

4 DETERMINANTTI JA KÄÄNTEISMATRIISI

4 DETERMINANTTI JA KÄÄNTEISMATRIISI 4 DETERMINANTTI JA KÄÄNTEISMATRIISI Neliömtriisin determinntti Neliömtriisin A determinntti on luku, jot merkitään det(a) ti A. Lskeminen: -mtriisin A determinntti: det(a) -mtriisin A determinntti esim.

Lisätiedot

Syksyn 2015 Pitkän matematiikan YO-kokeen TI-Nspire CAS -ratkaisut

Syksyn 2015 Pitkän matematiikan YO-kokeen TI-Nspire CAS -ratkaisut Sksn 0 Pitkän mtemtiikn YO-kokeen TI-Nspire CAS -rtkisut Tekijät: Olli Krkkulinen Rtkisut on ldittu TI-Nspire CAS -tietokoneohjelmll kättäen Muistiinpnot -sovellust. Kvt j lskut on kirjoitettu Mth -ruutuihin.

Lisätiedot

Numeeriset menetelmät TIEA381. Luento 9. Kirsi Valjus. Jyväskylän yliopisto. Luento 9 () Numeeriset menetelmät / 29

Numeeriset menetelmät TIEA381. Luento 9. Kirsi Valjus. Jyväskylän yliopisto. Luento 9 () Numeeriset menetelmät / 29 Numeeriset menetelmät TIEA381 Luento 9 Kirsi Vljus Jyväskylän yliopisto Luento 9 () Numeeriset menetelmät 17.4.2013 1 / 29 Luennon 9 sisältö Numeerisest integroinnist Newtonin j Cotesin kvt Luento 9 ()

Lisätiedot

6 Integraalilaskentaa

6 Integraalilaskentaa 6 Integrlilskent 6. Integrlifunktio Funktion f integrlifunktioksi snotn funktiot F, jonk derivtt on f. Siis F (x) = f (x) määrittelyjoukon jokisell muuttujn rvoll x. Merkitään F(x) = f (x) dx. Integrlifunktion

Lisätiedot

Y56 Mikron jatkokurssi kl 2008: HARJOITUSTEHTÄVÄT 2 Mallivastaukset

Y56 Mikron jatkokurssi kl 2008: HARJOITUSTEHTÄVÄT 2 Mallivastaukset Y6 Mikron jtkokurssi kl 008: HARJOITUSTEHTÄVÄT Mllivstukset Kuluttjn vlint (Muokttu Burketist 006, 07) Olkoon Mrkon udjettirjoite = 40 Mrkoll on hvin kättätvät referenssit j Mrkon rjusustituutiosuhde on

Lisätiedot

Käydään läpi: ääriarvo tarkastelua, L Hospital, integraalia ja sarjoja.

Käydään läpi: ääriarvo tarkastelua, L Hospital, integraalia ja sarjoja. DI mtemtiikn opettjksi: Täydennyskurssi, kevät Luentorunko j hrjoituksi viikolle : ti 9.. klo :-5:, to.. klo 9:5-: j klo 4:5-6: Käydään läpi: äärirvo trkstelu, L Hospitl, integrli j srjoj.. Kerrtn äärirvojen

Lisätiedot

a = x 0 < x 1 < x 2 < < x n = b f(x) dx = I. lim f(x k ) x k=1

a = x 0 < x 1 < x 2 < < x n = b f(x) dx = I. lim f(x k ) x k=1 5 Integrli 5.1 Määritelmä j ominisuudet Olkoon f : [, b] R jtkuv. Muodostetn välin [, b] jko = x 0 < x 1 < x 2 < < x n = b j siihen liittyvä yläsumm S = n M k (x k x k 1 ), M k = mx{f(x) x k 1 x x k },

Lisätiedot

MITEN MÄÄRITÄN ASYMPTOOTIT?

MITEN MÄÄRITÄN ASYMPTOOTIT? MITEN MÄÄRITÄN ASYMPTOOTIT? Asmptootti Asmptootti on suor ti muu kärä, jot funktion kuvj f() rjtt lähest, kun muuttujn rvot lähestvät tiettä luku ti ääretöntä. Rjoitutn luksi niihin tpuksiin, joiss smptootti

Lisätiedot

Polynomien laskutoimitukset

Polynomien laskutoimitukset Polyomie lskutoimitukset Polyomi o summluseke, joss jokie yhteelskettv (termi) sisältää vi vkio j muuttuj välisiä kertolskuj. Esimerkki 0. Mm., 6 j ovt polyomej. Polyomist, joss o vi yksi termi, käytetää

Lisätiedot

7.lk matematiikka. Geometria 1

7.lk matematiikka. Geometria 1 7.lk mtemtiikk 1 Htnpään koulu 7B j 7C Kevät 2017 2 Sisällys 1. Koordintisto... 4 2. Kulmien nimeäminen j luokittelu... 8 3. Kulmien mittminen j piirtäminen... 10 4. Ristikulmt j vieruskulmt... 14 5. Suort,

Lisätiedot

Sinilause ja kosinilause

Sinilause ja kosinilause Siniluse j kosiniluse GEOMETRI M3 Mikäli kolmion korkeus j knt tiedetään, voidn pint-l lske. Esimerkki: Lske kolmion l, kun 38 kulmn viereiset sivut ovt 8, j 6,8. Nyt knt tiedetään, korkeutt ei! 38 8,

Lisätiedot

4 Taso- ja avaruuskäyrät

4 Taso- ja avaruuskäyrät P2-luentoj kevät 2008, Pekk Alestlo 4 Tso- j vruuskäyrät Tässä luvuss tutustutn tso- j vruuskäyriin, niiden krenpituuteen j krevuuteen. Konkreettisin sovelluksin trkstelln nnettu rt pitkin liikkuvn hiukksen

Lisätiedot

sin θ θ θ r 2 sin 2 θ φ 2 = 0.

sin θ θ θ r 2 sin 2 θ φ 2 = 0. Mtemtiikn j tilstotieteen litos Osittisdifferentiliyhtälöt Kevät 21 Hrjoitus 9 Rtkisuj Jussi Mrtin 1. Osoit, että Lplce-yhtälö pllokoordinteiss on 2 u 1 r 2 2 u r r 1 r 2 sin θ u 1 2 u sin θ θ θ r 2 sin

Lisätiedot

Laskennan perusmallit (LAP)

Laskennan perusmallit (LAP) Lskennn perusmllit (LAP) Kimmo Fredrikssonin j Mtti Nykäsen mterileist muoknnut Pekk Kilpeläinen Tietojenkäsittelytieteen litos, Itä-Suomen yliopisto sähköposti: pekk.t.kilpelinen@uef.fi Lukuvuoden 2014

Lisätiedot

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali MS-A1{3,4} (ELEC*) Differentili- j integrlilskent 1 Luento 8: Integrlifunktio j epäoleellinen integrli Pekk Alestlo, Jrmo Mlinen Alto-yliopisto, Mtemtiikn j systeeminlyysin litos 5.1.216 Pekk Alestlo,

Lisätiedot

Täydentäviä muistiinpanoja epädeterministisistä äärellisistä automaateista

Täydentäviä muistiinpanoja epädeterministisistä äärellisistä automaateista Täydentäviä muistiinpnoj epädeterministisistä äärellisistä utomteist Antti-Juhni Kijnho 2. mrrsuut 25 NFA Trstelln seurv NFA:t. 2 3 Sen toimint merijonoll voidn esittää päätöspuun: 3 3 2 2 3 3 TIEA24 Automtit

Lisätiedot

S Laskennallinen systeemibiologia

S Laskennallinen systeemibiologia S-4.50 Lsknnllinn systmiiologi 4. Hrjoitus. Viill tutkittvll ljill (,, c, j ) on määrätty täisyyt c 0 8 8 8 0 8 8 8 c 0 4 4 0 0 Määritä puurknn käyttän UPGMA-mntlmää. Näytä kunkin vihn osrkntt vstvin täisyyksinn.

Lisätiedot

763333A KIINTEÄN AINEEN FYSIIKKA Ratkaisut 1 Kevät 2014

763333A KIINTEÄN AINEEN FYSIIKKA Ratkaisut 1 Kevät 2014 763333A KIINTEÄN AINEEN FYSIIKKA Rtkisut 1 Kevät 014 1. Tehtävä: Lske, kuink mont hilpistettä on yksikkökopiss ) yksinkertisess kuutiollisess, b) tkk:ss j c) pkk:ss. (Ot huomioon, että esimerkiksi yksikkökopin

Lisätiedot

x k 1 Riemannin summien käyttö integraalin approksimointiin ei ole erityisen tehokasta; jatkuvasti derivoituvalle funktiolle f virhe b

x k 1 Riemannin summien käyttö integraalin approksimointiin ei ole erityisen tehokasta; jatkuvasti derivoituvalle funktiolle f virhe b 5 Integrlien lskemisest 51 Riemnnin summt [A2], [4, 61] Rjoitetun funktion f : [, b] R Riemnn-integroituvuudelle ytäpitäväksi on kurssill Anlyysi 2 osoitettu, että Riemnnin summill S P := f(ξ k ) ( ),

Lisätiedot

Paraabelikin on sellainen pistejoukko, joka määritellään urakäsitteen avulla. Paraabelin jokainen piste toteuttaa erään etäisyysehdon.

Paraabelikin on sellainen pistejoukko, joka määritellään urakäsitteen avulla. Paraabelin jokainen piste toteuttaa erään etäisyysehdon. 5. Prbeli Prbelikin on sellinen pistejoukko, jok määritellään urkäsitteen vull. Prbelin jokinen piste toteutt erään etäissehdon. ********************************************** MÄÄRITELMÄ : Prbeli on tson

Lisätiedot

Digitaalinen videonkäsittely Harjoitus 5, vastaukset tehtäviin 25-30

Digitaalinen videonkäsittely Harjoitus 5, vastaukset tehtäviin 25-30 Digitlinen videonkäsittely Hrjoitus 5, vstukset tehtäviin 5-30 Tehtävä 5. ) D DCT sdn tekemällä ensin D DCT kullekin riville, j toistmll D DCT tuloksen sdun kuvn srkkeill. -D N-pisteen DCT:, k 0 N ( k),

Lisätiedot

Tehtävä 1. Jatka loogisesti oheisia jonoja kahdella seuraavaksi tulevalla termillä. Perustele vastauksesi

Tehtävä 1. Jatka loogisesti oheisia jonoja kahdella seuraavaksi tulevalla termillä. Perustele vastauksesi Tehtävä. Jtk loogisesti oheisi jonoj khdell seurvksi tulevll termillä. Perustele vstuksesi lyhyesti. ), c, e, g, b),,, 7,, Rtkisut: ) i j k - oike perustelu j oiket kirjimet, nnetn p - oike perustelu,

Lisätiedot

Mikrotalousteoria 2, 2008, osa III

Mikrotalousteoria 2, 2008, osa III Sisältö Mikrotlousteori 2, 2008, os III Yrityksen tuotntofunktiost 2 Pnosten substituoitvuus 2 3 Yrityksen teori 3 4 Mittkvedut tuotnnoss 5 5 Yksikkökustnnusten j skltuottojen steen välinen yhteys 5 6

Lisätiedot

MS-A010{2,3,4,5} (SCI, ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali

MS-A010{2,3,4,5} (SCI, ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali MS-A1{2,3,4,5} (SC, ELEC*, ENG*) Differentili- j integrlilskent 1 Luento 8: ntegrlifunktio j epäoleellinen integrli Pekk Alestlo, Jrmo Mlinen Alto-yliopisto, Mtemtiikn j systeeminlyysin litos November

Lisätiedot

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen)

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen) 58226 Lskennn mllit Erilliskoe 4.2.2, rtkisuj (Jyrki Kivinen). [6+6+3+3 pistettä] () Kieli A koostuu niistä kkoston {, } merkkijonoist, joiss esiintyy osjono. Esitä kielelle A sekä deterministinen äärellinen

Lisätiedot

6.2 Algoritmin määritelmä

6.2 Algoritmin määritelmä 6.2 Algoritmin määritelmä Mitä lgoritmill yleensä trkoitetn? Peritteess: Yksiselitteisesti kuvttu jono (tietojenkäsittely)opertioit, jotk voidn toteutt meknisesti. Käytännössä: luonnollist kieltä, pseudokoodi

Lisätiedot

3 Integraali ja derivaatta

3 Integraali ja derivaatta 3 Integrli j erivtt 3.1 Integrli ylärjns funktion Olkoon funktio f Riemnn-integroituv välin I jokisell suljetull osvälillä j välin I jokin kiinteä luku. Tällöin integrli määrittelee funktion G(): I R,

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2015) Toinen välikoe, malliratkaisut

58131 Tietorakenteet ja algoritmit (kevät 2015) Toinen välikoe, malliratkaisut 583 Tietorkenteet j lgoritmit (kevät 205) Toinen välikoe, mllirtkisut. () Brnh n oun. Brnh n oun on lgoritmityyppi, joss tutkitn kikki ongelmn mhollisi rtkisuj puumisess rkenteess. Kun hvitn, että jokin

Lisätiedot

Runkovesijohtoputket

Runkovesijohtoputket Runkovesijohtoputket PUTKET JA PUTKEN OSAT SSAB:n vlmistmi pinnoitettuj putki j putken osi käytetään lähinnä runkovesijohtolinjoihin, joiden hlkisij on DN 400-1200. Ost vlmistetn teräksisistä pineputkist

Lisätiedot

Viittomakielten fonologisista prosesseista

Viittomakielten fonologisista prosesseista Viittomkielten fonologisist prosesseist Tommi Jntunen Helsingin yliopisto Yleisen kielitieteen litos tjjntun@ling.helsinki.fi Seurvss esitellään joitkin tyypillisimpiä fonologisi prosessej viitotuiss kielissä.

Lisätiedot

Laskennan perusmallit (LAP)

Laskennan perusmallit (LAP) Lskennn perusmllit (LAP) Kimmo Fredrikssonin j Mtti Nykäsen luentomonisteest krsien muoknnut Pekk Kilpeläinen Tietojenkäsittelytieteen litos, Itä-Suomen yliopisto sähköposti: pekk.t.kilpelinen@uef.fi Lukuvuoden

Lisätiedot

Preliminäärikoe Pitkä Matematiikka 5.2.2013

Preliminäärikoe Pitkä Matematiikka 5.2.2013 Preliminäärikoe Pitkä Mtemtiikk 5..0 Kokeess s vstt enintään kymmeneen tehtävään. Tähdellä ( * ) merkittyjen tehtävien mksimipistemäärä on 9, muiden tehtävien mksimipistemäärä on 6.. ) Rtkise yhtälö b)

Lisätiedot

Kertausta ja täydennystä

Kertausta ja täydennystä LUKU 1 Kertust j täydennystä 1.1. Merkintöjä N = {k Z k 0} = {0, 1, 2,... }, luonnollisten lukujen joukko. Z + = {k Z k > 0} = {1, 2,... }, positiivisten kokonislukujen joukko. (, b) on relikselin voin

Lisätiedot

Numeerinen integrointi

Numeerinen integrointi Pitkärnt: Lj mtemtiikk IX9 Numeerinen integrointi IX9 Numeerinen integrointi Numeerisell integroinnill trkoitetn määrätyn integrlin, eli reliluvun I(f,,b) = f(x)dx lskemist numeerisin keinoin (likimäärin)

Lisätiedot