π-kalkyyli Luku CCS:n Operaatiot
|
|
- Marjut Saarnio
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Luku 6 π-kalkyyli π-kalkyyli on toisen sukupolven prosessialgebra. Se pohjautuu CCS:ään. CCS eli Calculus of Communicating Systems on spesifiointikieli, jolla voidaan kuvata prosesseja ja niiden välistä kommunikointia. Esimerkiksi CCS:n avulla voidaan kuvata kaikki siirtymäsysteemit. Lisäksi CCS:ssä voidaan synkronoinnin yhteydessä välittää dataa. π kalkyyli poikkeaa CCS:stä siinä, että datan yhteydessä voidaan lähettää myös porttinimi toiselle prosessille. Toinen prosessi voi sitten datan saatuaan kommunikoida kolmannen prosessin kanssa saamansa portin kautta. Itse asiassa π-kalkyylissä ei porttinimiä erotella mitenkään muusta datasta. Tämä tekee siitä tietyssä mielessä elegantin, mutta toisessa mielessä myös vaikeasti ymmärettävän. Toinen seikka, mikä vaikeuttaa π-kalkyyliin perehtymistä, on siinä, että siitä on monia eri versioita. Kalkyyli on luonteeltaan teoreettinen kieli, eikä sitä ole aikomusta standardoida. Tässä luvussa perehdytään aluksi perus-ccs:ään, jossa ei ole mukana datan välitystä. Tämän lyhyen johdannon jälkeen ryhdytään käsittelemään π-kalkyyliä. 6.1 CCS:n Operaatiot Aivan samoin kuin siirtymäsysteemissä myös CCS:ssä käytetään toimintoja. CCS:ssä kuitenkin toimintojoukko on muotoa A Ā {}, missä Ā = {ā a A}. Eli jokaista :sta poikkeavaa toimintoa a A kohti on olemassa komplementtitoiminto ā Ā. Voidaan ajatella, että toiminto edustaa vastaanottoa ja komplementtitoiminto lähetystä. Tilanteesta riipuen voidaan antaa muitakin tulkintoja näille kahdelle toimintotyypille. Käytämme kreikkalaisen aakkoston aakkosia α, β jne kun tarkoitetaan mitä tahansa toimintoa joukosta A Ā {}. Joukon A toiminnoille käytetään merkintöjä a, b jne eli latinalaisia pieniä aakkosia. Seuraavassa luetellaan CCS:n operaatiot, joita käyttämällä saadaan muodostettua siirtymäsysteemeitä eli prosesseja. Operaatioiden semantiikka määritellään antamalla siirtymäsäännöt, joita soveltamalla nähdään mahdolliset siirtymät kustakin 57
2 58 LUKU 6. π-kalkyyli tilanteesta. Esimerkit valaisevat tilannetta operaatioiden yhteydessä Etutoiminto Tämä on yksinkertaisin operaatio, jolla saadaan aikaan suoraviivaisia siirtymiä tilasta toiseen ilman haarautumismahdollisuutta. Operaation syntaksi on α P, missä α on mikä tahansa toiminto (, tavallinen tai komplementtitoiminto). Esimerkiksi a b c NIL vastaa siirtymäsysteemiä P 1 a b P 2 P 3 P 4. Operaattorin semantiikka määritellään siirtymäsäännöllä α P α P. Siten esimerkkilausekkeesta saadaan semantiikkasäännön avulla siirtymät a b c a b c b c c NIL eli juuri edellä annettu siirtymäsysteemi. Huomattakoon tässä prosessi NIL, jolle käytetään myös merkintää 0. Se on prosessi, joka ei voi tehdä mitään. c Summa eli valinta Valintaoperaattori on tuttua muotoa P + Q, missä P ja Q ovat prosesseja. Tällä saadaan aikaan haarautumia. Operationaalinen semantiikka saadaan säännöstä M + α.p + N α P. Huomattakoon, että M tai N voidaan valita NIL-operaattoriksi. Esimerkiksi kaava a.(b.c.n IL + b.d.n IL) vastaa kuvan 6.1 siirtymäsysteemiä Rinnakkaisoperaattori Rinnakkaisoperaattorista on jo ollut puhetta. Sen täsmällinen semantiikka saadaan kolmesta siirtymäsäännöstä: 1. Reaktiosääntö: Jos P α P ja Q ᾱ Q (siis α ), niin P Q P Q.
3 6.1. CCS:N OPERAATIOT 59 a b c P1 P2 P3 P4 b P5 d P6 Kuva 6.1: CCS-lauseketta vastaava siirtymäsysteemi 2. Vasen rinnakkaisuus: Jos P α P, niin P Q α P Q. 3. Oikea rinnakkaisuus: Jos Q α Q, niin P Q α P Q. Rinnakkaisoperaattorin avulla voidaan muodostaa yhteistilaverkko. Sama toiminto voi siis sekä osallistua synkronointiin että tapahtua itsekseen vain toisessa prosessissa Rajoitus Mikäli esimerkiksi ei haluta, että rinnakkaisoperaattorin yhteydessä sovelletaan kaikkia kolmea sääntöä, vaan halutaan soveltaa ainoastaan reaktiosääntöä, tarvitaan rajoitusoperaattoria. Käyttäen rajoitusoperaattorille merkintää ν(a) semantiikka voidaan antaa siirtymäsäännöllä Jos P α P, niin ν(a)p α ν(a)p edellyttäen, että α {a, ā}. Muita merkintöjä rajoitusoperaattorille ovat P \a ja new a P. Tällä kurssilla käytämme säännössä annettua ensimmäistä merkintää, joka näyttää olevan laajimmalle levinnyt π-kalkyylissä Prosessin kutsu CCS:ssä ja muissa prosessialgebroissa prosesseja voidaan määritellä kaavan A(a 1, a 2,, a n ) = P A (a 1, a 2,, a n ) mukaisilla kaavoilla. Tässä P A voi olla sama kuin A, jolloin saadaan aikaan rekursiivinen määritelmä, joka siirtymäsysteeminä näkyy syklinä. Määrittelyn jälkeen prosessia voidaan kutsua eri parametreillä. Tarkka määrittely vaatii kuitenkin lisämerkintöjä. Merkintä a tarkoittaa jonoa a 1, a 2,, a n tapahtumia. Jos P on prosessi, niin merkintä { b/ a}p tarkoittaa prosessia P, jossa a i :t on korvattu toiminnoilla b i.
4 60 LUKU 6. π-kalkyyli Prosessissa P esiintyviä toimintonimiä kutsutaan vapaiksi nimiksi. Perus-CCS:ssä ei muunlaisia nimiä tai toimintoja olekaan, mutta π-kalkyylissä otetaan käyttöön myös sidotut nimet. Prosessin P (vapaita) toimintoja merkitään symbolilla f n(p ). Kun prosessi A määritellään kaavalla A( a) = P A, niin silloin oletetaan, että toiminnot a sisältävät joukon fn(p A ). Perus-CCS:ssä sisältyvyys tarkoittaa samaa kuin identtisyys. Nyt voidaan antaa prosessin kutsun tarkka määritelmä: Jos A on määritelty kaavalla A( a) = P A ja { α b/ a}p A P, niin A( b) P α Esimerkkejä Näytämme seuraavaksi muutamia esimerkkejä CCS:n käytöstä. Ensiksi näytetään, miten määritellään puskuri, johon voidaan viedä kaksi bittiä. Siirtymäsysteeminä puskuri on esitetty kuvassa 6.2. CCS:llä esitettynä sama on Buff (2) = in 0.Buff (2) 0 + in 1.Buff (2) 1 Buff (2) i = out i.buff (2) + in 0.Buff (2) 0i + in 1.Buff (2) 1i Buff (2) ij = out j.buff (2) i in_0 in_1 out_0 in_0 0 out_1 in_1 out_0 in_0 1 in_1 out_ Kuva 6.2: Puskuria vastaava siirtymäsysteemi Toisena esimerkkinä on yksinkertainen laskuri. Sen määritelmä on seuraava: Count 0 = inc.count 1 + zero.count 0 Count n+1 = inc.count n+2 + dec.count n Tässä laskuri on määritelty induktiivisesti, mikä on sallittua, jos spesifikaatiota käsitellään käsin. Jos sen sijaan on tarkoitus generoida yhteistilaverkko koneellisesti, määrittelyn on oltava äärellinen.
5 6.2. π-kalkyylin TUNNUSMERKIT 61 Kolmantena esimerkkinä tarkastellaan keskeytyskäsittelijää. Oletetaan, että järjestelmässä on n kpl prosesseja P 1,, P n. Prosessit P i suorittavat toimenpiteensä syklisesti P 1,, P n, P 1,, P n, P 1,, P n. Prosessi P i signaloi sanomalla a i skeduloijalle, että se haluaa aloittaa vuoron. P i päättää vuoronsa sanomalla b i. Skeduloijan periaatteet ovat seuraavat: 1. a 1,, a n tapahtuvat syklisesti. 2. a i ja b i vuorottelevat. 3. Prosessi voi tarjota a:ta ja b:tä mihin aikaan tahansa edellyttäen, että ehdot (1) ja (2) ovat voimassa. Konstruoidaan skeduloija n:n identtisen prosessin rinnakkaisena yhdisteenä. Ensin määritellään Tämän jälkeen määritellään vielä A = a.c, C = c.e, E = b.d + d.b, B = b.a, D = d.a. A i = A(a i, b i, c i, c i 1 ), missä indeksien vähennyslasku on modulo 2. Vastaavasti määritellään C i, B i ja D i. Lopuksi saadaan näistä skeduloija S = (A 1 D 2 D n ) \{c 1,, c n }. Skeduloijaa on hieman hankala piirtää verkkona käsin jopa tapauksessa n = 2, sillä samoja prosesseja kutsutaan eri parametreillä, mikä vaatii kirjanpitoa. 6.2 π-kalkyylin tunnusmerkit Ennen kuin lähdetään määrittelemään π-kalkyyliä formaalisti, käydään läpi ensin muutamia havainnollisia esimerkkejä. π-kalkyylille tunnusomaista, perus-ccs:stä poiketen, on se, että synkronoinnin yhteydessä voidaan myös lähettää ja vastaanottaa toimintosymboleja. Olkoon seuraavassa esimerkissä S palvelin, joka kontrolloi pääsyä kirjoittimelle. Kun asiakas haluaa kirjoittaa, se kommunikoi ensin palvelimen kanssa, joka välittää asiakkaalle kirjoittimen P osoitteen.
6 62 LUKU 6. π-kalkyyli Edellä kuvattu tilanne voidaan kirjoittaa π-kalkyylillä käyttäen palvelinprosessia ba.s ja asiakasprosessia b(c). cd.p. Asiakas saa ensin palvelimelta portin a. Siirtymänä tämä voidaan kuvata kaavalla, kun asiakas ja palvelin sidotaan yhteen rinnakkaisoperaattorin avulla: ba.s b(c). cd.p S ād.p. Siis saatuaan S:ltä a:n asiakas lähettää portista a kirjoitettavan datan kirjoittimelle (jota ei tässä ole spesifioitu) ja jatkaa sitten kuten P. Symboli a oli tässä kahdessa roolissa: dataobjektina ja kommunikointiporttina. Itse asiassa näitä rooleja ei erotella toisistaan kalkyylissä, vaan dataobjektien ja kommunikointiporttien sijasta puhutaan yleisesti nimistä. Tämä on itse asiassa periaate, johon π-kalkyyli nojautuu voimakkaasti. Ensi alkuun saattaa vaikuttaa, että kalkyyli on vain eräänlainen arvoja välittävä prosessialgebra. Verrattuna Lotokseen se saattaa jopa näyttää vaatimattomalta. Ei ole mitään funktioita, joilla voitaisiin käsitellä nimiä. Ei ole myöskään mitään tyyppijärjestelmää, jonka avulla nimiä voitaisiin erotella käyttötarkoituksen mukaan. Nimet ovat atomisia, niillä ei ole mitään sisäistä rakennetta. Kuitenkin π-kalkyyliä pidetään ilmaisuvoimaisempana kuin monia prosessialgebroja, joissa dataa voidaan käsitellä monipuolisesti. Syy tähän löytyy siitä, että kalkyylissä voidaan välittää lokaaleja näkyvyys- tai vaikutusalueita (eng. local scopes). Tarkastellaan tätä tarkemmin palvelimen, asiakkaan ja kirjoittimen yhteydessä. Oletetaan, että a on lokaali linkki tai portti palvelimen ja kirjoittimen välillä. Tilanne voidaan kirjoittaa muodossa (νa)( ba.s R). Rajoitus a:lle ilmaistaan rajoitusoperattorilla ν(a); se rajaa a:n vain S:n ja R:n käyttöön. Muut prosessit eivät voi käyttää sitä S:n tai R:n yhteydessä. Toisaalta S voi lähettää a:n b:n kautta asiakkaalle. Tämän seurauksena a:sta tulee portti, joka on yhteinen kaikille kolmelle. Siirtymänä tämä voidaan kirjoittaa (νa)( ba.s R) b(c). cd.p (νa)(s R ād.p ). Siten vaikka siirrettävät objektit ovatkin atomisia, niiden näkyvyysalue voidaan määritellä lokaaliksi. Tässä suhteessa π-kalkyyli poikkeaa oleellisesti muista prosessialgebroista. Esitetyt esimerkit vaikuttanevat suhteellisen selviltä. On kuitenkin tilanteita, joissa tulkinta ei ole niin selvää. Esimerkiksi lausekkeesta (νa)āu.p ei lähde yhtään siirtymää, joten se on yhtäpitävä lausekkeen 0 kanssa. Entä mitä siirtymiä lähtee lausekkeesta (νu)āu.p? Jotta tiedettäisiin tarkasti, mitä siirtymiä milloinkin non mahdollista suorittaa, tarvitaan syntaksin ja semantiikan määrittelyä. π-kalkyylissä kumpikin voidaan määritellä formaalisti ja siten ilman tulkintaeroja.
7 6.3. KALKYYLIN FORMAALI SYNTAKSI Kalkyylin formaali syntaksi Tässä luvussa määritellään π-kalkyylin syntaksi, joka suurimmaksi osaksi noudattaa CCS:n syntaksia. Porttien eli nimien välittäminen tuo mukanaan yksityiskohtia, jotka esiintyvät vain π-kalkyylissä. Syntaksi rakennetaan kahdessa vaiheessa. Ensin annetaan lausekkeiden muodostussäännöt. Sen jälkeen annetaan säännöt, joiden mukaan lausekkeita voidaan sieventää. Nämä säännöt lasketaan vielä syntaksiin. Operationaalinen semantiikka annetaan vasta seuraavassa luvussa. Tämän luvun lopuksi esitetään muutamia esimerkkejä, jotka ovat ymmärrettäviä ilman, että semantiikkaa on vielä formaalisti määritelty Formaali syntaksi Kalkyylissä prosessi ja yhteistilaverkko rakennetaan seuraavien operaattorien ja konstruktioiden avulla on tyhjä prosessi, joka ei tee mitään. 2. āx.p on lähetys (output prefix), jossa nimi x lähetetään portista a. Lähetyksen jälkeen prosessi jatkaa kuten prosessi P. 3. a(x).p on vastaanotto. Nimi otetaan vastaan portista a ja sijoitetaan muuttujan x arvoksi. 4..P on sisäinen toiminto. Prosesi suorittaa :n ja jatkaa sitten kuten P. Sisäinen tapahtuman suoritukseen eivät ulkopuoliset osallistu. 5. P + Q on summa eli valinta. Tämä operaattori on jo aikaisemmin määritelty. 6. P Q on rinnakkainen yhdiste, joka on myös aikaisemmin esitelty. 7. if x = y then P on samuusvertailu. Jos x = y, jatketaan kuten P. 8. if x y then P on erisuuruusvertailu. 9. (νx)p on rajoitus. Prosessi käyttäytyy kuten P, mutta x on lokaali eli sitä ei voi ulkopuolinen käyttää P :n kanssa kommunikointiin. Sen sijaan P :n komponentit voivat kommunikoida x:n kautta. 10. A(y 1,, y n ) on prosessin kutsu todellisilla parametreillä y 1,, y n, kun A on määritelty alunperin kaavalla A(x 1,, x n ) = P, missä x 1,, x n ovat formaaleja parametreja ja täyttävät ehdon x i x j kaikilla i, j, i j. Säännöissä 1-10 on määritelty, kuinka prosessi rakennetaan. Jotta kaikki sujuisi tehokkaasti myös konkreettisessa spesifioinnin kirjoittamistilanteessa, tarvitaan vielä muutamia lyhennysmerkintöjä ja sopimuksia.
8 64 LUKU 6. π-kalkyyli Ensiksikin vertailuja voidaan yhdistää. Konjunktiivinen ehto saadaan aikaan sisäkkäisillä vertailuilla: if x = y then if u v then P. Disjunktiivinen ehto saadaan puolestaan summan avulla: if x = y then P + if u v then P. Myös else-haaraa voidaan käyttää. Seuraavat kaksi versiota ovat samoja: if x = y then P else Q if x = y then P + if x y then Q Muita vertailuja ei ole, koska nimillä ei ole sisäistä rakennetta eikä nimiä voi myöskään käsitellä operaattoreilla. Hankalin asia π-kalkyylissä on rajoitettujen nimien näkyvyys. Ennen kuin täydelliset säännöt voidaan antaa (semantiikan puolella), täytyy määritellä käsitteet vapaat ja sidotut nimet. Tarkastellaan ensin etutoimintoja a(x).p ja āx.p. Näissä a:ta kutsutaan subjektiksi ja x:ää objektiksi. Määritellään, että objekti on vapaa lähetyksessä, mutta sidottu vastaanotossa. Eli lausekkeessa a(x).p x on sidottu prosessissa P. Toisaalta lauseke āx.p ei sido x:ää P :hen, vaan x on vapaa P :ssä. Sisäisellä tapahtumalla ei ole subjektia eikä objektia, eikä sen yhteydessä ole siis sidottuja tai vapaita muuttujia. Toisaalta rajoitusoperaattori (νx)p sitoo x:n P :hen. Kuitenkin x voidaan lähettää ulkopuolelle. Tämä aiheuttaa mutkikkuutta, jota ei ole muissa arvoja välittävissä prosessialgebroissa. Nyt voidaan määritellä fn(p ) = P : n vapaat nimet bn(p ) = P : n sidotut nimet Edelleen merkitään fn(p, Q) = fn(p ) fn(q). Samoja merkintöjä käytetään myös etutoiminnoille eli voidaan kirjoittaa fn(α) ja bn(α), kun α on āx, a(x) tai. Esimerkki. fn (( zy.0 + wv.0) xu.0) = {z, y, w, v, x, u}, fn ((νx) (x(z). zy.0 + wv.0) (νu) xu.0)) = {y, w, v}.
9 6.3. KALKYYLIN FORMAALI SYNTAKSI 65 Näiden merkintöjen avulla voidaan vielä asettaa lisäoletus prosessin märittelylle. Nimittäin määrittelyssä A(x 1,, x n ) = P oletetaan, että fn(p ) {x 1,, x n }. Tämän kappaleen lopuksi esitellään vielä sijoitus, jota tarvitaan semantiikan määrittelyssä. Sijoitus on kuvaus {x/y} : y x tai useammman muuttujan tapauksessa kuvaus {x 1,, x n /y 1,, y n } : y i x i, missä oletuksena on, että y i y j kaikilla i j. Olkoon σ sijoitus. Merkintä P σ tarkoittaa P :n muutosta siten, että kaikki vapaat nimet x korvataan σ(x):llä tarvittaessa käyttäen α-konversiota. Konversio tarkoittaa tässä, että sidotut nimet nimetään tarvittaessa uudelleen siten, että korvattaessa x σ(x):llä tulos σ(x) on vapaa P :ssä. Esimerkki valaisee tilannetta: (a(x).(νb) xb. cy.0) {xb/yc} = a(z).(νd) zd. bx.0. Lopuksi vielä syntaksiin liittyviä merkintöjä: P P n = n i=1 P i = i P i. Jos yllä n = 0, niin koko summa on 0. (νx 1 ) (νx n )P = ν(x 1,, x n )P. Joskus merkitään lyhyesti a.p, kun tarkoitetaan a(x).p, mikäli asia on asiayhteydestä selvä. Vastaavasti bp = bx.p. α = α0. Unaarinen operaattori sitoo ennen binääristä ja ennen summaa: (νx)p Q + R = (((νx)p ) Q) + R Strukturaalinen kongruenssi Syntaksi vaatii tuekseen sievennyssääntöjä, jottei kalkyylistä tulisi liian jäykkää ja merkinnöiltään monimutkaista. Strukturaalinen kongruenssi on ekvivalenssirelaatio, jonka avulla voidaan samastaa erilaisia termejä. Tämä relaatio määritellään seuraavin säännöin: 1. Jos P ja Q saadaan toisistaan α-konversiolla, niin P Q.
10 66 LUKU 6. π-kalkyyli 2. Rinnakkaisoperaattorille pätee sekä vaihdannaisuus että liitännäisyys: Samat säännöt pätevät summalle. P Q = Q P (P Q) R (P (Q R) P 0 P 3. Jos prosessi A määritellään kaavalla A( x) = P, niin 4. Rajoitukseen liittyy kuusi sääntöä: A( y) P { y/ x}. (νx)0 0 (νx)(p Q) P (νx)q, jos x fn(p ) (νx)(p + Q) P + (νx)q, jos x fn(p ) (νx)if u = v then P if u = v then (νx)p, jos x u, x v (νx)if u v then P if u v then (νx)p, jos x u, x v (νx)(νy)p (νy)(νx)p Esimerkki. Jos x fn(p ), niin P P 0 P (νx)0 (νx)(p 0) (νx)p. Erikoistapauksena edellisestä saadaan kaikilla prosesseilla P (νx)(νx)p (νx)p. Sievennyssääntöihin ei ole otettu esimerkiksi sääntöä (νx)α.p α.(νx)p, jos x α. Sääntö on täysin pätevä, mutta se saadaan myös myöhemmistä ekvivalenssisäännöistä, joten sitä ei oteta tässä vaiheessa syntaksisääntöihin Yksinkertaisia esimerkkejä Käymme vielä läpi muutamia esimerkkejä. Esimerkeissä käsitellään tyypillisiä tilanteita ja niissä mahdollisia siirtymiä. Tapauksia esitellään jo nyt syntaksin yhteydessä, jotta sitten semantiikan formaaliin määrittelyyn tultaessa olisi jo pohjatiedot lausekkeiden käyttäymisestä. 1. Perustilanne, joka on jo esiintynyt, liittyy nimen lähettämiseen ja vastaanottoon. Esitämme siitä yksinkertaisen perustapauksen ja hieman yleisemmän version: a(x). cx āb a(x).p āb.q cb 0 P {b/x} Q
11 6.3. KALKYYLIN FORMAALI SYNTAKSI Jos P Q, niin sillä rajoitus ei koske :ta. 3. Mitä siirtymiä lähtee prosessista (νx)p (νx)q, a(x). cx (νb)āb? Strukturaalisesta kongruenssista seuraa, että yllä oleva prosessi on ekvivalentti prosessin (νb)(a(x). cx āb) kanssa, koska b ei ole vapaa vasemmalla. Edelleen koska pätee myös Eli johtopäätöksenä saadaan siirtymä Yleisesti, jos b fn(p ), niin missä b on α-muunnettu b :ksi. 4. Entä siirtymät lausekkeesta a(x). cx āb cb 0, (νb) (a(x). cx āb) (νb)( cb 0) (νb) cb. (a(x). cx (νb)āb (νb) cb. a(x).p (νb)āb.q (νb ) (P {b /x} Q{b /b}), ((νb)a(x).p āb.q? Nyt b on vapaa oikealla, mutta sidottu vasemmalla. Tehdään ensin α-konversio b b, jolloin saadaan lauseke Siitä saadaan siirtymä (νb )(a(x).p {b /b} āb.q. (νb )(a(x).p {b /b} āb.q (νb )P {b /b}{b/x} Q. Siis α-konversion ja näkyvyyslaajennoksen avulla rajoitettuja nimiä voidaan lähettää objekteina. 5. Tarkastellaan taas kirjoitinta R, jota kontrolloi palvelin S: (νe)(s e.r). R ei voi aloittaa, ennen kuin saa signaalin e:stä. Toisaalta S voi lähettää e:n asiakkaalle Q: c(x). x.q (νe)( ce.s e.r) (νe)(ē.q S e.r) (νe)(q S R).
12 68 LUKU 6. π-kalkyyli Itse asiassa S voi lähettää e:n usealle asiakkaalle. Toisaalta R:llä voi olla useita portteja, joista tarjotaan erilaista palvelua: e 1 R 1 e 2.R 2 e n.r n. 6. Tarkastellaan tilannetta, jossa S lähettää nimet d ja e asiakkaalle varmistaen, että sama asiakas saa molemmat nimet. Ei käytetä etukäteen annettuja portteja, koska tällöin d ja e voivat mennä eri tahoille. Sen sijaan käytetään yksityistä kanavaa, joka saadaan aikaan rajoitusoperaattorilla: Asiakas määritellään kaavalla (νp) cp. pd. pe.s. c(p).p(x).p(y).q. Vaikka olisi useita asiakkaita, d ja e menevät nyt samalle asiakkaalle. Tilanne on niin yleinen, että sitä varten on kehitetty lyhennysmerkintä: c < e 1 e n >.P = (νp) cp. pe 1.. pe n.p, c(x 1 x n ).Q = c(p).p(x 1 )..p(x n ).Q, missä p fn(p, Q), ja x i x j, kun i j. Tällöin c < e 1 e n >.P c(x 1 x n ).Q P Q{e 1 e n /x 1 x n }. 7. Olkoon tilanne samantapainen kuin 6):ssa. Q haluaa suorittaa P :n lähettämällä aloitussignaalin e ja odottaa P :n suorituksen päättymistä. Odottaminen saadaan aikaan, jos P lähettää Q:lle yksityisen nimen lopuksi: (νr)ēr.r.q e(x).p (νr) (r.q P {r/x}). Nyt Q:n täytyy odottaa, kunnes saa r:n. Tämän r:n voi lähettää vain P, sillä vain P :llä Q:n lisäksi näkyvyysalue ulottuu r:ään. 6.4 π-kalkyylin operationaalinen semantiikka π-kalkyylin lausekkeille annetaan semantiikka siirtymäsäännöillä kuten CCS:n (ja Lotoksen) tapauksessakin. Siirtymäsäännöt ovat aika pitkälle samoja kuin CCS:ssä. Poikkeuksen muodostaa rajoitusoperaattori. Tilanteen voisi pelkistää seuraavaan esimerkkiin: (νu)āu.p. Mitä siirtymiä lausekkeesta lähtee? Siitä on lähdettävä joitakin siirtymiä, sillä tapauksessa u fn(p ) pätee strukturaalinen kongruenssi a(x).q (νu)āu.p (νu)(a(x).q āu.p,
13 6.4. π-kalkyylin OPERATIONAALINEN SEMANTIIKKA 69 josta nähdään, että lausekkeen ollessa liitettynä rinnakkaisoperaattorilla toiseen lausekkeeseen siirtymä on mahdollinen. Siis (νu)ū.p ei ole 0. Toisaalta (νu)āu.p ei ole sama kuin āu.p, minkä osoittaa seuraava vastaesimerkki. Ensinnäkin (a(x).if x = u then Q) āu if u = u then Q. Tuloksena olevasta lausekkeesta voidaan edetä Q:n siirtymillä. Toisaalta lauseke (a(x).if x = u then Q) (νu)āu on strukturaalisesti ekvivalentti lausekkeen (νv) ((a(x).if x = u then Q) āv) kanssa, josta puolestaan lähtee -siirtymä lausekkeeseen josta ei enää lähde siirtymiä. (νv) if v = u then Q, Siten (νu)āu vaatii uudenlaisen siirtymäsäännön. Määritellään, että siihen liittyy sidottu lähetys: āνu. Sidotun lähetyksen tulkinta on, että lokaali nimi u lähetetään a:n kautta ja u:n näkyvyys ulotetaan vastaanottajaan. Siten käytössä on neljä toimintotyyppiä: 1., sisäinen toiminto; 2. āx, lähetystoiminto; 3. a(x), vastaanottotoiminto; 4. āνx, sidottu lähetys. Merkitään āνx.p = (νx)āx.p. Käytetään edelleen kreikkalaisia pieniä kirjaimia kuvaamaan jokaista neljää tyyppiä toimintoja. Vielä määritellään fn(āνx) = {a}, bn(āνx) = {x}. (6.1) Ennen kuin semantiikka määritellään, on kätevää ottaa käyttöön vielä kaksi merkintää: 1. P a(x) Q tarkoittaa, että P saa nimen u a:sta ja jatkaa kuten Q{u/x}. Tässä x ei niinkään edusta saatua arvoa, vaan se viittaa Q:n paikkoihin, joihin saatu arvo täytyy sijoittaa. Kun tutkitaan siirtymiä Q:sta eteenpäin, on otettava huomioon kaikki mahdolliset arvot, jotka voidaan ottaa vastaan.
14 70 LUKU 6. π-kalkyyli 2. P āνx Q tarkoittaa, että lokaali nimi lähetetään ulos. Muuttuja x ilmaisee ne paikat Q:ssa, joissa nimi on. Siten x ei ole funktionaalinen parametri, vaan se edustaa sellaista, mikä eroaa kaikista nimistä kyseisessä ympäristössä. Semantiikka saadaan nyt seuraavista säännöistä: 1. STRUCT: Jos P P, P Q, α Q Q, niin P α Q. 2. PREFIX: Aina α.p α P. 3. SUM: Jos P α P, niin P + Q α P. 4. MATCH: Jos P α P, niin if x = x then P α P. 5. MISMATCH: Jos P α P ja x y, niin if x y then P α P. 6. PAR: Jos P α P ja bn(α) fn(q) =, niin P Q α P Q. 7. COM: Jos P a(x) P ja Q āu Q, niin P Q P {u/x} Q. 8. RES: Jos P α P ja x α, niin (νx)p α (νx)p. 9. OPEN: Jos P āx P ja a x, niin (νx)p āvx P. Ensimmäinen sääntö, STRUCT, huolehtii siitä, ettei tarvita useita tapauksia samaa sääntöä. Esimerkiksi summassa ei tarvitse käsitellä tapausta, jossa siirtymä lähteekin Q:sta. Strukturaalinen kongruenssi sanoo, että vaihdannaisuus on voimassa summan tapauksessa. Säännössä PAR on ylimääräinen ehto. Tarkastellaan ehdon tarpeellisuutta esimerkin avulla. Oletetaan, että käytössä on sääntö, että ehdosta a(x).p P a(x) seuraa (a(x).p ) Q P a(x) Q. Jos tämä vielä yhdistetään siirtymän āu.r R kanssa, saadaan, että ehdoista (a(x).p ) Q P a(x) Q ja āu.r R seuraa siirtymä ((a(x).p ) Q āu.r (P Q){u/x} R. Tämä on selvästi oikein, jos x fn(q). Muussa tapauksessa vapaa x muuttuisi sijoituksen vaikutuksesta. Jos x fn(q), niin samanlainen siirtymä on mahdollista vasta sen jälkeen, kun x on α-muutettu lausekkeessa a(x).p nimeksi, joka ei ole vapaa Q:ssa. OPEN-säännön avulla generoidaan sidottuja lähetyksiä. Sidotut lähetykset eivät ole käytössä COM-säännössä, eivätkä ne voi siten reagoida suoraan vastaanottojen kanssa. Nämä tapaukset saadaan aikaan sen sijaan strukturaalisen kongruenssin avulla siten, että rajoitus vedetään molempien prosessien ulkopuolelle mahdollisesti α-konversiota käyttäen. Seuraavassa on esimerkki tästä. Esimerkissä oletetaan, että u fn(p ). Oletetaan a(x).p āu.q P {u/x} Q. RES-sääntöä soveltamalla tästä saadaan (νu) (a(x).p āu.q) (νu) (P {u/x} Q).
15 6.4. π-kalkyylin OPERATIONAALINEN SEMANTIIKKA 71 Lopuksi saadaan STRUCT-säännöllä a(x).p (νu)āu.q (νu) (P {u/x} Q). Voitaisiin väittää, että sidotut lähetykset ja OPEN-sääntö ovat tarpeettomia, sillä niitä ei voi käyttää, kun generoidaan todellisia siirtymiä. Teknisesti tämä väite onkin tosi, mutta on muitakin syitä sisällyttää sidottu lähetys semantiikan sääntöihin. Ensinnäkin (νu)āu tekee jotain intuitiivisesti eli vie ulos lokaalin nimen. Jos tätä ei oteta huomioon semantiikassa, semantiikka ei käsittäisi kaikkia siirtymiä kaikissa mahdollisissa (keinotekoisissakin) tilanteissa. Filosofiselta kannalta kannalta katsoen semantiikan formaalin määärittelyn tulee olla täydellinen. Toinen, ehkä tärkeämpi, syy on siinä, että sidottua lähetystä tarvitaan konkreettisesti prosessien välisten ekvivalenssien määrittelyssä.
T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra
T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra 19. maaliskuuta 2002 T-79.179: Prosessialgebra 9-1 Petri-verkot vastaan prosessialgebra Petri-verkot esittävät rinnakkaisia
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ä)
Vaihtoehtoinen tapa määritellä funktioita f : N R on
Rekursio Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on käyttää rekursiota: 1 (Alkuarvot) Ilmoitetaan funktion arvot
Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on
Rekursio Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on käyttää rekursiota: Rekursio Funktio f : N R määritellään yleensä
Rajoittamattomat kieliopit
Rajoittamattomat kieliopit Ohjelmoinnin ja laskennan perusmalleista muistetaan, että kieli voidaan kuvata (esim.) kieliopilla joka tuottaa sen, tai automaatilla joka tunnistaa sen. säännölliset lausekkeet
uv n, v 1, ja uv i w A kaikilla
2.8 Säännöllisten kielten rajoituksista Kardinaliteettisyistä on oltava olemassa (paljon) ei-säännöllisiä kieliä: kieliä on ylinumeroituva määrä, säännöllisiä lausekkeita vain numeroituvasti. Voidaanko
9 Matriisit. 9.1 Matriisien laskutoimituksia
9 Matriisit Aiemmissa luvuissa matriiseja on käsitelty siinä määrin kuin on ollut tarpeellista yhtälönratkaisun kannalta. Matriiseja käytetään kuitenkin myös muihin tarkoituksiin, ja siksi on hyödyllistä
Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.
Approbatur 3, demo 1, ratkaisut 1.1. A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat. Käydään kaikki vaihtoehdot läpi. Jos A on rehti, niin B on retku, koska muuten
Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:
Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: S A S B Samaan jäsennyspuuhun päästään myös johdolla S AB Ab ab: S A S B Yhteen jäsennyspuuhun liittyy aina tasan yksi vasen
Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja
582206 Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja 1. Tarkastellaan yhteydetöntä kielioppia S SAB ε A aa a B bb ε Esitä merkkijonolle aa kaksi erilaista jäsennyspuuta ja kummallekin siitä vastaava
M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)
Tik-79.148 Kevät 2001 Tietojenkäsittelyteorian perusteet Laskuharjoitus 7 Demonstraatiotehtävien ratkaisut 1. Pinoautomaatti M = K Σ Γ s F missä K Σ s ja F on määritelty samalla tavalla kuin tilakoneellekin.
T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut
T-79.148 Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S tuottama
LAUSELOGIIKKA (1) Sanalliset ilmaisut ovat usein epätarkkoja. On ilmaisuja, joista voidaan sanoa, että ne ovat tosia tai epätosia, mutta eivät molempia. Ilmaisuja, joihin voidaan liittää totuusarvoja (tosi,
8. Kieliopit ja kielet
8. Kieliopit ja kielet Suomen kielen sanoja voidaan yhdistellä monella eri tavalla. Kielioppi määrää sen, milloin sanojen yhdistely antaa oikein muodostetun lauseen. "Mies räpyttää siipiään" on kieliopillisesti
Matematiikan tukikurssi, kurssikerta 3
Matematiikan tukikurssi, kurssikerta 3 1 Epäyhtälöitä Aivan aluksi lienee syytä esittää luvun itseisarvon määritelmä: { x kun x 0 x = x kun x < 0 Siispä esimerkiksi 10 = 10 ja 10 = 10. Seuraavaksi listaus
Johdatus matemaattiseen päättelyyn
Johdatus matemaattiseen päättelyyn Maarit Järvenpää Oulun yliopisto Matemaattisten tieteiden laitos Syyslukukausi 2015 1 Merkintöjä 2 Todistamisesta 2 3 Joukko-oppia Tässä luvussa tarkastellaan joukko-opin
6. Tekijäryhmät ja aliryhmät
6. Tekijäryhmät ja aliryhmät Tämän luvun tavoitteena on esitellä konstruktio, jota kutsutaan tekijäryhmän muodostamiseksi. Konstruktiossa lähdetään liikkeelle jostakin isosta ryhmästä, samastetaan alkioita,
kaikille a R. 1 (R, +) on kommutatiivinen ryhmä, 2 a(b + c) = ab + ac ja (b + c)a = ba + ca kaikilla a, b, c R, ja
Renkaat Tarkastelemme seuraavaksi rakenteita, joissa on määritelty kaksi binääristä assosiatiivista laskutoimitusta, joista toinen on kommutatiivinen. Vaadimme muuten samat ominaisuudet kuin kokonaisluvuilta,
[a] ={b 2 A : a b}. Ekvivalenssiluokkien joukko
3. Tekijälaskutoimitus, kokonaisluvut ja rationaaliluvut Tässä luvussa tutustumme kolmanteen tapaan muodostaa laskutoimitus joukkoon tunnettujen laskutoimitusten avulla. Tätä varten määrittelemme ensin
PERUSASIOITA ALGEBRASTA
PERUSASIOITA ALGEBRASTA Matti Lehtinen Tässä luetellut lauseet ja käsitteet kattavat suunnilleen sen mitä algebrallisissa kilpatehtävissä edellytetään. Ns. algebrallisia struktuureja jotka ovat nykyaikaisen
saadaan kvanttorien järjestystä vaihtamalla ehto Tarkoittaako tämä ehto mitään järkevää ja jos, niin mitä?
ANALYYSI A, HARJOITUSTEHTÄVIÄ, KEVÄT 208 4 Funktion raja-arvo 4 Määritelmä Funktion raja-arvon määritelmän ehdosta ε > 0: δ > 0: fx) A < ε aina, kun 0 < x a < δ, saadaan kvanttorien järjestystä vaihtamalla
Konvergenssilauseita
LUKU 4 Konvergenssilauseita Lause 4.1 (Monotonisen konvergenssin lause). Olkoon (f n ) kasvava jono Lebesgueintegroituvia funktioita. Asetetaan f(x) := f n (x). Jos f n
a k+1 = 2a k + 1 = 2(2 k 1) + 1 = 2 k+1 1. xxxxxx xxxxxx xxxxxx xxxxxx
x x x x x x x x Matematiikan johdantokurssi, syksy 08 Harjoitus, ratkaisuista Hanoin tornit -ongelma: Tarkastellaan kolmea pylvästä A, B ja C, joihin voidaan pinota erikokoisia renkaita Lähtötilanteessa
T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra
T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra 24. maaliskuuta 2003 T-79.179: Prosessialgebra 9-1 Taustaa Rinnakkaiset ja hajautetut järjestelmät koostuvat usein melko irrallisista
T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C.
T-79.3001 Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka 6.1 7.2) 27. 29.2.2008 Ratkaisuja demotehtäviin Tehtävä 6.1 a) A (B C) Poistetaan lauseesta ensin implikaatiot.
Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141
Lineaarialgebra ja matriisilaskenta II LM2, Kesä 2012 1/141 Kertausta: avaruuden R n vektorit Määritelmä Oletetaan, että n {1, 2, 3,...}. Avaruuden R n alkiot ovat jonoja, joissa on n kappaletta reaalilukuja.
Matematiikan tukikurssi, kurssikerta 1
Matematiikan tukikurssi, kurssikerta 1 1 Joukko-oppia Matematiikassa joukko on mikä tahansa kokoelma objekteja. Esimerkiksi joukkoa A, jonka jäseniä ovat numerot 1, 2 ja 5 merkitään A = {1, 2, 5}. Joukon
1 Lineaariavaruus eli Vektoriavaruus
1 Lineaariavaruus eli Vektoriavaruus 1.1 Määritelmä ja esimerkkejä Olkoon K kunta, jonka nolla-alkio on 0 ja ykkösalkio on 1 sekä V epätyhjä joukko. Oletetaan, että joukossa V on määritelty laskutoimitus
Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä
Sekalaiset tehtävät, 11. syyskuuta 005, sivu 1 / 13 Tehtäviä Tehtävä 1. Johda toiseen asteen yhtälön ax + bx + c = 0, a 0 ratkaisukaava. Tehtävä. Määrittele joukon A R pienin yläraja sup A ja suurin alaraja
(2n 1) = n 2
3.5 Induktiotodistus Induktiota käyttäen voidaan todistaa luonnollisia lukuja koskevia väitteitä, jotka ovat muotoa väite P (n) on totta kaikille n =0, 1, 2,... Tässä väite P (n) riippuu n:n arvosta. Todistuksessa
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
802320A LINEAARIALGEBRA OSA I
802320A LINEAARIALGEBRA OSA I Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LINEAARIALGEBRA 1 / 72 Määritelmä ja esimerkkejä Olkoon K kunta, jonka nolla-alkio on 0 ja ykkösalkio on 1 sekä
Logiikan kertausta. TIE303 Formaalit menetelmät, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos.
TIE303 Formaalit menetelmät, kevät 2005 Logiikan kertausta Antti-Juhani Kaijanaho antkaij@mit.jyu.fi Jyväskylän yliopisto Tietotekniikan laitos TIE303 Formaalit mentetelmät, 2005-01-27 p. 1/17 Luento2Luentomoniste
Matriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi
Matriisit, kertausta Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ) ( 0, 4 ), ( ) ( 1 4 2, a 11 a 12 a 21 a 22 ) Kaavio kirjoitetaan kaarisulkujen väliin
67-x x 42-x. Matematiikan johdantokurssi, syksy 2016 Harjoitus 3, ratkaisuista
Matematiikan johdantokurssi, syksy 0 Harjoitus, ratkaisuista. Esitä seuraavat joukot luettelemalla niiden alkiot: a) := { y y = ( ) n n+ n+, n N } b) := { n Z n = k, k Z } c) := { sin( nπ ) n N } Ratkaisut.
Ennakkotehtävän ratkaisu
Ennakkotehtävän ratkaisu Ratkaisu [ ] [ ] 1 3 4 3 A = ja B =. 1 4 1 1 [ ] [ ] 4 3 12 12 1 0 a) BA = =. 1 + 1 3 + 4 0 1 [ ] [ ] [ ] 1 0 x1 x1 b) (BA)x = =. 0 1 x 2 x [ ] [ ] [ 2 ] [ ] 4 3 1 4 9 5 c) Bb
Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi
Matriisit, L20 Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ) ( 0, 4 ), ( ) ( 1 4 2, a 11 a 12 a 21 a 22 ) Merkintöjä 1 Matriisi on suorakulmainen lukukaavio.
Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia
Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia Voidaan osoittaa, että avaruuden R n vektoreilla voidaan laskea tuttujen laskusääntöjen mukaan. Huom. Lause tarkoittaa väitettä, joka voidaan perustella
Luonnollisten lukujen ja kokonaislukujen määritteleminen
Luonnollisten lukujen ja kokonaislukujen määritteleminen LuK-tutkielma Jussi Piippo Matemaattisten tieteiden yksikkö Oulun yliopisto Kevät 2017 Sisältö 1 Johdanto 2 2 Esitietoja 3 2.1 Joukko-opin perusaksioomat...................
S BAB ABA A aas bba B bbs c
T-79.148 Kevät 2003 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S) tuottama
a) Mitkä seuraavista ovat samassa ekvivalenssiluokassa kuin (3, 8), eli kuuluvat joukkoon
Matematiikan johdantokurssi, syksy 08 Harjoitus 3, ratkaisuista. Kokonaisluvut määriteltiin luonnollisten lukujen avulla ekvivalenssiluokkina [a, b], jotka määrää (jo demoissa ekvivalenssirelaatioksi osoitettu)
w + x + y + z =4, wx + wy + wz + xy + xz + yz =2, wxy + wxz + wyz + xyz = 4, wxyz = 1.
Kotitehtävät, tammikuu 2011 Vaikeampi sarja 1. Ratkaise yhtälöryhmä w + x + y + z =4, wx + wy + wz + xy + xz + yz =2, wxy + wxz + wyz + xyz = 4, wxyz = 1. Ratkaisu. Yhtälöryhmän ratkaisut (w, x, y, z)
Lineaarialgebra a, kevät 2018 Harjoitusta 5 Maplella
Lineaarialgebra a, kevät 2018 Harjoitusta 5 Maplella Tehtävä 1. Determinantti = 0, kun 2 samaa saraketta restart; with(linalg): Induktiotodistus matriisin koon ( ) suhteen. Väite. Jos ja n x n -matriisissa
2. Minkä joukon määrittelee kaava P 0 (x 0 ) P 1 (x 0 ) mallissa M = ({0, 1, 2, 3}, P M 0, P M 1 ), kun P M 0 = {0, 1} ja P M 1 = {1, 2}?
HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan II, syksy 2018 Harjoitus 4 Ratkaisuehdotukset 1. Mitkä muuttujat esiintyvät vapaina kaavassa x 2 ( x 0 R 0 (x 1, x 2 ) ( x 3 R 0 (x 3, x 0
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. syyskuuta 2016 Sisällys a https://tim.jyu.fi/view/kurssit/tie/ tiea241/2016/videoiden%20hakemisto Matemaattisen
Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014
Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan
1 Lukujen jaollisuudesta
Matematiikan mestariluokka, syksy 2009 1 1 Lukujen jaollisuudesta Lukujoukoille käytetään seuraavia merkintöjä: N = {1, 2, 3, 4,... } Luonnolliset luvut Z = {..., 2, 1, 0, 1, 2,... } Kokonaisluvut Kun
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. maaliskuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 16. maaliskuuta 2011 Sisällys Sisällys Väitelauseet lause (tai virke), joka sanoo jonkin asian pitävän paikkaansa
Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta:
MATP00 Johdatus matematiikkaan Ylimääräisten tehtävien ratkaisuehdotuksia. Osoita, että 00 002 < 000 000. Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa. Lähdetään sieventämään epäyhtälön
815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava
1. Esitä rekursiivinen määritelmä lukujonolle
Matematiikan laitos Johdatus Diskrettiin Matematiikkaan Harjoitus 4 24.11.2011 Ratkaisuehdotuksia Aleksandr Pasharin 1. Esitä rekursiivinen määritelmä lukujonolle (a) f(n) = (2 0, 2 1, 2 2, 2 3, 2 4,...)
Insinöörimatematiikka A
Insinöörimatematiikka A Demonstraatio 3, 3.9.04 Tehtävissä 4 tulee käyttää Gentzenin järjestelmää kaavojen johtamiseen. Johda kaava φ (φ ) tyhjästä oletusjoukosta. ) φ ) φ φ 3) φ 4) φ (E ) (E ) (I, ) (I,
MAT-41150 Algebra I (s) periodilla IV 2012 Esko Turunen
MAT-41150 Algebra I (s) periodilla IV 2012 Esko Turunen Tehtävä 1. Onko joukon X potenssijoukon P(X) laskutoimitus distributiivinen laskutoimituksen suhteen? Onko laskutoimitus distributiivinen laskutoimituksen
Ratkaisuehdotukset LH 8 / vko 47
Ratkaisuehdotukset LH 8 / vko 47 Tehtävä 1: Olkoot A R n n matriisi, jonka singulaariarvohajotelma on A [ ] [ ] Σ U 1 U r 0 [V1 ] T 2 V 0 0 2 Jossa Σ r on kääntyvä matriisi, [ U 1 U 2 ] ja [ V1 V 2 ] ovat
FORMAALI SYSTEEMI (in Nutshell): aakkosto: alkeismerkkien joukko kieliopin määräämä syntaksi: sallittujen merkkijonojen rakenne, formaali kuvaus
FORMAALI SYSTEEMI (in Nutshell): Formaali kieli: aakkosto: alkeismerkkien joukko kieliopin määräämä syntaksi: sallittujen merkkijonojen rakenne, formaali kuvaus esim. SSM:n tai EBNF:n avulla Semantiikka:
f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))
Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 4. Joukot, relaatiot ja funktiot Osa 2: Relaatiot 4.2 Relaatiot Relaatioilla mallinnetaan joukkojen alkioiden välisiä suhteita Joukkojen S ja T välinen binaarirelaatio
Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)
Salausmenetelmät Veikko Keränen, Jouko Teeriaho (RAMK, 2006) LUKUTEORIAA JA ALGORITMEJA 3. Kongruenssit à 3.1 Jakojäännös ja kongruenssi Määritelmä 3.1 Kaksi lukua a ja b ovat keskenään kongruentteja (tai
LAUSEKKEET JA NIIDEN MUUNTAMINEN
LAUSEKKEET JA NIIDEN MUUNTAMINEN 1 LUKULAUSEKKEITA Ratkaise seuraava tehtävä: Retkeilijät ajoivat kahden tunnin ajan polkupyörällä maantietä pitkin 16 km/h nopeudella, ja sitten vielä kävelivät metsäpolkua
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. tammikuuta 2012 Sisällys Sisällys Muistathan A B -konstruktion 0 k 1 i 2 s 3 s 4 a 5 0 k 1 o 2 i 3 r 4
(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,
-Matematiikka on aksiomaattinen järjestelmä. -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi
-Matematiikka on aksiomaattinen järjestelmä -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi -mustavalkoinen: asia joko on tai ei (vrt. humanistiset tieteet, ei
MS-A0402 Diskreetin matematiikan perusteet
MS-A040 Diskreetin matematiikan perusteet Osa : Relaatiot ja funktiot Riikka Kangaslampi 017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Relaatiot Relaatio Määritelmä 1 Relaatio joukosta A
Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005
Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tällä luennolla Algebralliset tietotyypit Hahmonsovitus (pattern matching) Primitiivirekursio Esimerkkinä binäärinen hakupuu Muistattehan...
4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi:
T-79.148 Kevät 2004 Tietojenkäsittelyteorian perusteet Harjoitus 12 Demonstraatiotehtävien ratkaisut 4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi: Hyväksyykö annettu Turingin kone
Ratkaisut vuosien tehtäviin
Ratkaisut vuosien 1958 1967 tehtäviin 1958 Pyörähtäessään korkeusjanansa ympäri tasakylkinen kolmio muodostaa kartion, jonka tilavuus on A, ja pyörähtäessään kylkensä ympäri kappaleen, jonka tilavuus on
Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus.
Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden
Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi
Matriisit, L20 Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ( 0, 4, ( ( 1 4 2, a 11 a 12 a 21 a 22 Kaavio kirjoitetaan kaarisulkujen väliin (amer. kirjoissa
Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.
HY / Avoin ylioisto Johdatus yliopistomatematiikkaan, kesä 05 Harjoitus 6 Ratkaisut palautettava viimeistään tiistaina.6.05 klo 6.5. Huom! Luennot ovat salissa CK maanantaista 5.6. lähtien. Kurssikoe on
b) Määritä myös seuraavat joukot ja anna kussakin tapauksessa lyhyt sanallinen perustelu.
Johdatus yliopistomatematiikkaan Helsingin yliopisto, matematiikan ja tilastotieteen laitos Kurssikoe 23.10.2017 Ohjeita: Vastaa kaikkiin tehtäviin. Ratkaisut voi kirjoittaa samalle konseptiarkille, jos
1. Logiikan ja joukko-opin alkeet
1. Logiikan ja joukko-opin alkeet 1.1. Logiikkaa 1. Osoita totuusarvotauluja käyttäen, että implikaatio p q voidaan kirjoittaa muotoon p q, ts. että propositio (p q) ( p q) on identtisesti tosi. 2. Todista
Analyysi III. Jari Taskinen. 28. syyskuuta Luku 1
Analyysi III Jari Taskinen 28. syyskuuta 2002 Luku Sisältö Sarjat 2. Lukujonoista........................... 2.2 Rekursiivisesti määritellyt lukujonot.............. 8.3 Sarja ja sen suppenminen....................
BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018
BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018 Tehtävä 8 on tällä kertaa pakollinen. Aloittakaapa siitä. 1. Kun tässä tehtävässä sanotaan sopii mahdollisimman hyvin, sillä tarkoitetaan
8. Avoimen kuvauksen lause
116 FUNKTIONAALIANALYYSIN PERUSKURSSI 8. Avoimen kuvauksen lause Palautamme aluksi mieleen Topologian kursseilta ehkä tutut perusasiat yleisestä avoimen kuvauksen käsitteestä. Määrittelemme ensin avoimen
Matematiikan peruskurssi 2
Matematiikan peruskurssi Tentti, 9..06 Tentin kesto: h. Sallitut apuvälineet: kaavakokoelma ja laskin, joka ei kykene graaseen/symboliseen laskentaan Vastaa seuraavista viidestä tehtävästä neljään. Saat
TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 2. helmikuuta 2012
TIEA241 Automaatit ja, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 2. helmikuuta 2012 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti lueteltava
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. toukokuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 16. toukokuuta 2011 Sisällys engl. random-access machines, RAM yksinkertaistettu nykyaikaisen (ei-rinnakkaisen)
Matematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 8 1 Funktion kuperuussuunnat Derivoituva funktio f (x) on pisteessä x aidosti konveksi, jos sen toinen derivaatta on positiivinen f (x) > 0. Vastaavasti f (x) on aidosti
MS-A0402 Diskreetin matematiikan perusteet
MS-A0402 Diskreetin matematiikan perusteet Osa 4: Modulaariaritmetiikka Riikka Kangaslampi 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Modulaariaritmetiikka Jakoyhtälö Määritelmä 1 Luku
= 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
Karteesinen tulo. Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla 1 / 21
säilyy Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla c b a 1 2 3 5 1 / 21 säilyy Esimerkkirelaatio R = {(1, b), (3, a), (5, a), (5, c)} c b a 1
Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma
Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä 1 1. Etsi lukujen 4655 ja 12075 suurin yhteinen tekijä ja lausu se kyseisten lukujen lineaarikombinaationa ilman laskimen
Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9
Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon
Insinöörimatematiikka A
Insinöörimatematiikka A Mika Hirvensalo mikhirve@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2018 Mika Hirvensalo mikhirve@utu.fi Luentoruudut 3 1 of 23 Kertausta Määritelmä Predikaattilogiikan
Hilbertin aksioomat ja tarvittavat määritelmät Tiivistelmä Geometria-luentomonisteesta Heikki Pitkänen
Hilbertin aksioomat ja tarvittavat määritelmät Tiivistelmä Geometria-luentomonisteesta Heikki Pitkänen 1. Hilbertin aksioomat 1-3 Oletetaan tunnetuiksi peruskäsitteet: piste, suora ja suora kulkee pisteen
Lisää pysähtymisaiheisia ongelmia
Lisää pysähtymisaiheisia ongelmia Lause: Pysähtymättömyysongelma H missä H = { w111x w validi koodi, M w ei pysähdy syötteellä x } ei ole rekursiivisesti lueteltava. Todistus: Pysähtymisongelman komplementti
Dierentiaaliyhtälöistä
Dierentiaaliyhtälöistä Markus Kettunen 4. maaliskuuta 2009 1 SISÄLTÖ 1 Sisältö 1 Dierentiaaliyhtälöistä 2 1.1 Johdanto................................. 2 1.2 Ratkaisun yksikäsitteisyydestä.....................
802328A LUKUTEORIAN PERUSTEET Merkintöjä ja Algebrallisia rakenteita
802328A LUKUTEORIAN PERUSTEET Merkintöjä ja Algebrallisia rakenteita Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LUKUTEORIA 1 / 25 Lukujoukkoja N = {0, 1, 2,..., GOOGOL 10,...} = {ei-negatiiviset
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015
ja ja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho NFA:ksi TIETOTEKNIIKAN LAITOS 16. marraskuuta 2015 Sisällys ja NFA:ksi NFA:ksi Kohti säännöllisiä lausekkeita ja Nämä tiedetään:
Lukion matematiikkakilpailun alkukilpailu 2015
Lukion matematiikkakilpailun alkukilpailu 015 Avoimen sarjan tehtävät ja niiden ratkaisuja 1. Olkoot a ja b peräkkäisiä kokonaislukuja, c = ab ja d = a + b + c. a) Osoita, että d on kokonaisluku. b) Mitä
3. Kirjoita seuraavat joukot luettelemalla niiden alkiot, jos mahdollista. Onko jokin joukoista tyhjä joukko?
HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 1 Ratkaisuehdotuksia Tehtäväsarja I Seuraavat tehtävät liittyvät luentokalvoihin 1 14. Erityisesti esimerkistä 4 ja esimerkin
Chomskyn hierarkia ja yhteysherkät kieliopit
Chomskyn hierarkia ja yhteysherkät kieliopit Laskennan teorian opintopiiri Tuomas Hakoniemi 21. helmikuuta 2014 Käsittelen tässä laskennan teorian opintopiirin harjoitustyössäni muodollisten kielioppien
Oletetaan, että virhetermit eivät korreloi toistensa eikä faktorin f kanssa. Toisin sanoen
Yhden faktorin malli: n kpl sijoituskohteita, joiden tuotot ovat r i, i =, 2,..., n. Olkoon f satunnaismuuttuja ja oletetaan, että tuotot voidaan selittää yhtälön r i = a i + b i f + e i avulla, missä
verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari
Tehtävä 9 : 1 Merkitään kirjaimella G tehtäväpaperin kuvan vasemmanpuoleista verkkoa sekä kirjaimella H tehtäväpaperin kuvan oikeanpuoleista verkkoa. Kuvan perusteella voidaan havaita, että verkko G on
IV. TASAINEN SUPPENEMINEN. f(x) = lim. jokaista ε > 0 ja x A kohti n ε,x N s.e. n n
IV. TASAINEN SUPPENEMINEN IV.. Funktiojonon tasainen suppeneminen Olkoon A R joukko ja f n : A R funktio, n =, 2, 3,..., jolloin jokaisella x A muodostuu lukujono f x, f 2 x,.... Jos tämä jono suppenee
Matematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 9 1 Implisiittinen derivointi Tarkastellaan nyt yhtälöä F(x, y) = c, jossa x ja y ovat muuttujia ja c on vakio Esimerkki tällaisesta yhtälöstä on x 2 y 5 + 5xy = 14
Vuonohjaus: ikkunamekanismi
J. Virtamo 38.3141 Teleliikenneteoria / Ikkunointiin perustuva vuonohjaus 1 Vuonohjaus: ikkunamekanismi Kuittaamattomina liikkeellä olevien segmenttien (data unit) lkm W (ikkuna) Lähetyslupien kokonaismäärä
Lineaariset kongruenssiyhtälöryhmät
Lineaariset kongruenssiyhtälöryhmät LuK-tutkielma Jesse Salo 2309369 Matemaattisten tieteiden laitos Oulun yliopisto Sisältö Johdanto 2 1 Kongruensseista 3 1.1 Kongruenssin ominaisuuksia...................
Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5.
Tekijä Pitkä matematiikka 5 7..017 31 Kirjoitetaan yhtälö keskipistemuotoon ( x x ) + ( y y ) = r. 0 0 a) ( x 4) + ( y 1) = 49 Yhtälön vasemmalta puolelta nähdään, että x 0 = 4 ja y 0 = 1, joten ympyrän
MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 9: Greenin lause
MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 9: Greenin lause Antti Rasila Aalto-yliopisto Syksy 2015 Antti Rasila (Aalto-yliopisto) MS-A0305 Syksy 2015 1 / 19 Esimerkki Olkoon F : R 3 R 3 vakiofunktio