Temporaalilogiikat ja automaatit
|
|
- Annika Lehtilä
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Temporaalilogiikat ja automaatit Sari Leppänen Helsinki Digitaalisten järjestelmien lisensiaattikurssi Teknillinen korkeakoulu Tietojenkäsittelyteorian laboratorio
2 Sisältö ii 1 Haarautuvan ajan temporaalilogiikat CTL (ComputationTreeLogic) Propositionaalisesti kvantifioitavat logiikat qtl(quantified TemporalLogic) MSOL(MonadicSecond OrderLogic) Propositionaalinen μ-kalkyyli Kiintopisteet Predikaattimuuntimet !-automaatit ja!-kielet 10 4 Toisen kertaluvun kielten ilmaisuvoima 13
3 1 Haarautuvan ajan temporaalilogiikat 1 Rinnakkaisjärjestelmien spesifiointikielenä käytettävä temporaalilogiikka on peräisin filosofiasta, missä se on eräs modaalilogiikan sivuhaara. Pnueli ehdotti artikkelissaan [8] ensimmäisen kerran temporaalilogiikan käyttämistä rinnakkaisilta ja reaktiivisilta järjestelmiltä vaadittavien ominaisuuksien kuvaamiseen. Temporaalilogiikassa laajennetaan klassista propositiologiikkaa ottamalla käyttöön joukko aikaoperaattoreita, joiden avulla on mahdollista kuvata ominaisuuksien ajallisia suhteita määrittelemättä kuitenkaan aikaa sinänsä. Käytettäessä temporaalilogiikoita järjestelmiä ja ohjelmia koskevissa päättelyissä, aika oletetaan diskreetiksi jonoksi, missä peräkkäiset ajan hetket kuvautuvat luonnollisille luvuille. (Tarkastellessamme lineaarisia rakenteita rajoitumme edelleen luonnollisiin malleihin,ks. määritelmä Clarke/Schlingloff s. 1650). Järjestelmää kuvattaessa nykyinen ajan hetki vastaa järjestelmän nykyistä tilaa ja seuraava ajan hetki vastaa järjestelmässä välittömästi seuraavaa tilaa. Jokaisella tilalla on olemassa välitön edeltäjä ja seuraaja. Järjestelmän mahdolliset suoritukset voidaan mallintaa useiden erillisten laskentasekvenssien joukkona. Vaihtoehtoisesti järjestelmän suoritukset voidaan kuvata yhtenä laskentapuuna, missä haarautuminen kuvaa ohjelman suorituksenaikaista epädeterminististä valintaa. Ajan luonne käsitetään nyt haarautuvaksi, jolloin jokaista hetkeä voi seurata useita mahdollisia tulevaisuuden hetkiä. Ajan rakenne vastaa siis ääretöntä puuta, missä jokainen puun solmu rinnastetaan yhteen ajanhetkeen. Jokaisella solmulla on vähintään yksi, mutta mahdollisesti äärettömän monta seuraajasolmua. Ajalla on alkuhetki, jolla ei ole edeltäjää, ja tulevaisuus on ääretön. Tällainen näkemys ajasta on omaksuttu haarautuvan ajan temporaalilogiikan pohjaksi [7, 1, 5]. Ohjelman oikeellisuutta tarkastellessamme tutkimme laskentapuun maksimaalisia polkuja: Määritelmä 1.1 Polku ff =(w 1 ;w 2 ;:::) on ääretön tai äärellinen tilajono, joka muodostetaan valitsemalla kullekin tilalle w i (0» i < jffj) seuraajatila w i+1 siten, että (w i ;w i+1 ) 2I(R j )(R j 2R). Määritelmä 1.2 Polku on maksimaalinen (täyspolku), jos se on ääretön tai jos äärellisen polun viimeisellä tilalla ei ole seuraajia (@w s.e. w n ffi w) Maksimaalinen polku on täysin mallin mukainen. Jokaisella tilalla, jolla on alkuperäisessä mallissa seuraajatila, on seuraajatila myös polussa. 1.1 CTL (Computation Tree Logic) Computation Tree Logic (CTL) on propositionaalinen haarautuvan ajan temporaalilogiikka, jonka Clarke ja Emerson määrittelivät artikkelissaan [3]. Klassisen propositiologiikan mukaisesti atomilauseista muodostetaan loogisilla lausekonnektiiveilla propo-
4 sitiolauseita, jotka ilmaisevat yksittäisiin ajan hetkiin liittyviä ominaisuuksia. Aikaoperaattoreiden avulla ominaisuudet laajennetaan koskemaan lineaarisia rakenteita, jotka koostuvat peräkkäisistä, aikajärjestykseen asetetuista, ajan hetkistä. CTL:n syntaksi määrittelee ainoastaan aikaoperaattorin kunnes (U), jonka avulla voidaan määritellä edelleen muita aikaoperaattoreita. Laskentapuu järjestelmän suoritusmallina kuvaa sekä tilojen ajallista järjestystä että ohjelman suorituksen haarautumista. CTL sisältää polkukvanttorit kaikilla poluilla (A) ja jollakin polulla (A), jotka mahdollistavat ominaisuuksien ilmaiseminen haarautuvassa rakenteessa. Määritelmä 1.3 CTL kielen syntaksi: CTL ::= P j?j(ctl! CTL) j E (CTL U + CTL) j A (CTL U + CTL) j: CTL:n syntaksi määrittelee tiukasti, että yhteen polkukvanttoriin voi liittyä täsmälleen yksi aikaoperaattori, eli polkukvanttorit ja aikaoperaattorit esiintyvät aina pareittain. CTL kaavat tulkitaan suhteessa järjestelmän suoritusta mallintavaan (äärettömään) laskentapuuhun. Merkitsemme laskentapuun yksikäsitteistä juurisolmua w 0 :lla. Kukin laskentapuun solmu voidaan saavuttaa juurisolmusta w 0 ainoastaan yhtä äärellistä polkua pitkin. Seuraajarelaation transitiivisen sulkeuman suhteen siis pätee, että (w 1 ;w 2 ) 2 I(<), joss solmu w 1 on juurisolmusta w 0 solmuun w 2 johtavan polun varrella. w 0 j= E(' U + ψ) joss on olemassa jokin juurisolmua seuraava solmu w 1, jossa kaava ψ pätee ja kaikissa niissä solmuissa, jotka ovat polulla juurisolmusta solmuun w 1 pätee kaava '. w 0 j= A(' U + ψ) joss kaikilla maksimaalisilla poluilla juurisolmulla on jokin seuraajasolmu w 1, jossa kaava ψ pätee ja kaikilla poluilla, kaikissa juurisolmun ja solmun w 1 välisissä tiloissa pätee '. CTL:n syntaksi määrittelee ainoastaan aikaoperaattorin U + (yhdessä kummankin polkukvanttorin). Sen avulla voimme kuitenkin määritellä lyhenteet seuraavassa ajanhetkessä (X), jonakin tulevana ajanhetkenä/aina lopulta (F) jaaina (G). Tarkastellaan aluksi aikaoperaattoria X: EXψ, E(?U + ψ) (1) AXψ, A(?U + ψ) (2) EXψ, :AX:ψ (3) AXψ, :EX:ψ (4) Aikaoperaattorilla seuraavassa ajanhetkessä (tilassa) on kaksi varianttia. Operaattoreiden X ja X ero tulee esille ainoastaan, jos järjestelmän mallissa esiintyy lopputiloja (terminal states). KaavaEXψ ilmaisee, että välttämättä jossakin seuraajatilassa pätee ψ, joten epäsuorasti kaava vaatii myös, että kulloinkin tarkasteltavalla tilalla on ainakin 2
5 yksi seuraajatila. Kaava AXψ pätee ainoastaan, joskaikissaolemassa olevissa seuraatiloissa pätee ψ. Jos tarkasteltavalla tilalla ei ole seuraajatiloja, kaava pätee kyseisessä tilassa. Siis lopputilassa, jossa tilalla ei ole yhtään seuraajaa, kaava AXψ pätee, mutta AXψ ei (huomaa, että operaattori X määritellään käyttäen operaattoria U + ). Malleissa, joissa ei ole lopputiloja, operaattoriparien EX ja EX,sekäAX ja AX semantiikka on sama. Kaikki CTL:n next-time-operaattorit ovat määriteltävissä EX:n avulla, sillä 3 AXψ $ (AXψ ^ EX>) (5) EXψ $ (EXψ _ AX?) $ (EX>! EXψ): (6) Aikaoperaattorit jonakin tulevana ajanhetkenä/aina lopulta (F) jaaina (G) määritellään myös lyhenteinä: EF + ψ, E(>U + ψ) (7) EF Λ ψ, (ψ _ EF + ψ) (8) AF + ψ, A(>U + ψ) (9) AF Λ ψ, (ψ _ AF Λ ψ) (10) (11) EG + ψ, :AF + :ψ (12) EG Λ ψ, (ψ ^ EG + ψ) (13) AG + ψ, :EF + :ψ (14) AG Λ ψ, (ψ ^ AG + ψ) (15) Kaava EF Λ ψ vaatii, että laskentapuussa on ainakin yksi tila, jossa kaava ψ on voimassa. Kaavan AF Λ ψ mukaan ψ toteutuu mallin jokaisella maksimaalisella polulla. Kaava AG Λ ψ ilmaisee globaalin invarianttiominaisuuden määrittäessään, että ψ:n tulee olla voimassa kaikkialla. Vastaavasti kaava EG Λ ψ ilmaisee lokaalin invarianttiominaisuuden ja vaatii, että jonkin polun kaikissa tiloissa on ψ voimassa. Kaavat, joissa aikaoperaattori on muotoa fg; Fg Λ ψ vaativat, että ominaisuus pätee jollekin tai kaikille (riippuen käytetystä polkukvanttorista) tarkasteltasta tilasta lähteville poluille, kyseinen tila mukaanlukien. Kaavat, joissa esiintyy aikaoperaattorin toinen variantti (fg; Fg + ψ) ovat kiinnostuneita ominaisuuden voimassaolosta vasta tarkasteltavan tilan välittömistä seuraajatiloista lähtien. Määrittelemme Λ -variantit aikaoperaattorille U + : (16) E('U Λ ψ), (ψ _ ' ^ E('U + ψ)) (17) A('U Λ ψ), (ψ _ ' ^ A('U + ψ)) (18)
6 Algoritmien ja todistusten konstruoinnin kannalta on edullista määritellä mahdollisimman vähän perusoperaattoreita. CTL:n syntaksissa määrittelimme perusoperaattoreina E('U + ψ) ja A('U + ψ). Riittää kuitenkin määritellä EU + ja AF + perusoperaattoreina, sillä AU + voidaan ilmaista näiden avulla: A('U + ψ) $ (A(' W + ψ)) ^ AF + ψ) (19) = (:E(:ψU + :(' _ ψ)) ^ AF + ψ): (20) Esimerkiksi CTL-kaava EF + (started ^:ready) ilmaisee ominaisuuden jossakin alkutilaa seuraavassa tilassa jokin on aloitettu, mutta ei ole vielä valmis. Jos kyseessä olisi mikroaaltouuni, kaavan toteutuminen edellyttäisi, että mikroaaltouunin ohjausohjelmassa on mahdollista päästä tilaan, jossa lämmitys on aloitettu, mutta lämmitysaikaa on vielä jäljellä. Koska kaavan toteutuminen selvästikin vaatii, että jotakin hyvää tapahtuu, eli lämmitys aloitetaan (mutta ei samantien lopeteta), se kuvaa elävyysominaisuutta. Kaava AG Λ (req! AF + ack) ilmaisee tyypillisesti tietoliikenneprotokollaa kuvaavan turvallisuusominaisuuden jos lähetetään pyyntö, siihen aina lopulta saadaan kuittaus. Kyseessä on globaali invariantti eli kaavan tulee olla voimassa laskentapuun kaikkien polkujen kaikissa tiloissa. Kaavan toteutuminen ei kuitenkaan välttämättä takaa protokollan oikeanlaista toimintaa. Jos järjestelmä ei tee mitään (eikä näin ollen yhtään sanomaa lähetetä), kyseinen ominaisuus on silti voimassa. Logiikoiden CTL ja LTL keskinäinen vertailu on hankalaa, sillä alla olevat mallit ovat erilaiset (laskentapuu vs. yksittäinen laskentasekvenssi). Tämän vuoksi tarkastelemmekin logiikoita suhteessa Kripke-malliin (U; I;w 0 ). Toisin kuin laskentasekvensseissä ja -puissa, Kripke-mallissa voi olla esimerkiksi silmukoita sekä erillisten tilojen välillä, että tilassa itsessään (self-loop). LTL:n suhteen rajoitumme ainoastaan tulevaisuutta käsitteleviin kaavoihin (future formulae), sillä edellä määrittelimme haarautuvalle ajalle, että alkutila on yksikäsitteinen, eikä sillä ole edeltäviä tiloja. LTL-kaava on sekvenssipätevä (sequence-valid) Kripke mallissa M, joss se pätee kaikille kyseisestä mallista generoiduille luonnolllisille malleille ((w 0 ;w 1 ;:::); I;w 0 ). Eli jos kaava on voimassa kyseisen maailman U kaikilla niillä maksimaalisilla poluilla (w 0 ;w 1 ;:::), jotka alkavat alkutilasta w 0. Vastaavasti CTL-kaava on puupätevä (tree-valid), jos sen ilmaisema ominaisuus on voimassa Kripke-mallista generoidun laskentapuun alkutilassa. Nyt vertaillessamme LTL ja CTL logiikoiden ilmaisuvoimaa, voimme todeta, että kumpikaan logiikoista ei ole toistaan ilmaisuvoimaisempi. Esimerkiksi LTL-kaava F + G + p ei ole ilmaistavissa CTL logiikan kaavana. Vastaavasti CTL-kaava AG + EF + p ei ole ilmaistavissa LTL-logiikan kaavana. Kripke-malleilla logiikka CTL Λ sisältää logiikat CTL ja LTL. Se erottaa polkukvantifioinnin ja aikakvantifioinnin käsitteet, joten voimme kirjoittaa kaavoja, jotka ovat muotoa EG Λ F Λ p. Binääripuilla logiikan CTL Λ ilmaisuvoimaa voidaan verrata ensimmäisen kertaluvun logiikkaan, kun lisätään siihen toisen kertaluvun kvantifiointi laskentapoluille. 4
7 2 Propositionaalisesti kvantifioitavat logiikat 5 Ensimmäisen kertaluvun ja temporaalilogiikan avulla emme kykene ilmaisemaan ominaisuuksia kuten: väittämä ' on voimassa joka toisessa pisteessä/laskentasekvenssin tilassa. Yritämme ilmaista kyseisen ominaisuuden LTL ja FOL -kaavoina: G 2n LT L', ' ^ G Λ ('! XX') (21) (G 2n FOL ')(t 0 ), '(t 0 ) ^8t t 0 ('(t)!8t 1 ;t 2 (t ffi t 1 ffi t 2! '(t 2 ))) (22) Yllä olevat kaavat kuvaavat vahvemman ominaisuuden, kuin mitä alunperin halusimme. Kaavat sisältävät implisiittisen vaatimuksen sille, että jos ominaisuus ' on voimassa alkutilassa ja sitä välittömästi seuraavassa tilassa, niin sen täytyy olla voimassa mallin kaikissa tiloissa. Otamme käyttöön uuden proposition q, jonka avulla spesifioimme tarkasteltavan mallin (maailman U) ne tilat (pisteet), joissa kaavan ' totuus halutaan evaluoida. Toisin sanoen rajaamme proposition q ilmaiseman ominaisuuden perusteella kokonaistilaavaruudesta (maailmasta) sen osan, jossa kaavan ' ilmaisemaa ominaisuutta tarkastellaan. Kaavan totuus siis määrätään kussakin tilassa kahdessa eri vaiheessa. Lisäproposition avulla voimme määrittää ominaisuuksia, jotka ovat tyyppiä joka toisessa tilassa ' : G 2n $ 9q(G 2n LT L q ^ G Λ (q! ') (23) (G 2n ')(t 0 ) $ 9q((G 2n FOL q)(t 0 ) ^8t t 0 (q(t)! '(t)))) (24) Temporaalipropositio, jolla tarkastelun kohteena oleva tila-avaruus määritetään, riippuu luonnollisesti siitä, mikä on tarkastelun kohteena oleva oleva malli (maailma) ja minkälaisen ominaisuuden verifioitava kaava ilmaisee. Ensimmäinen yo. kaavoista (23) on qtl (quantified Temporal Logic) logiikkaa ja jälkimmäinen (24) monadisen toisen kertaluvun logiikkaa (MSOL). 2.1 qtl (quantified Temporal Logic) Väitöskirjassaan Theoretical Issues in the Design and Verification of Distributed Systems[?, Sis83]uonna 1983 A. P. Sistla määritteli aikalogiikan laajennoksena qtl kielen. Määritelmä 2.1 (qtl kielen syntaksi) : qtl ::= P jqj?j(qtl! qtl) j (qtl U + qtl) j qtl U qtl) j9qqtl: Temporaaliproposition käyttö on mahdollista, kun sisällytämme kieleen toisen syntaktisen luokan propositiomuuttujille. Muuttujavaluaatiot kiinnittävät kuhunkin toisen kertaluvun muuttujaan joukon tiloja kokonaistila-avaruudesta (s.e. v(q) U). Kaava 9q ' pätee mallille M = (U; I;v), jos' pätee jollekin mallille M 0 = (U; I;v 0 ),
8 6 missä korkeintaan muuttujavaluaatio q:n osalta poikkeaa alkuperäisen mallin M valuaatiosta. Mallissa M 0 tarkasteltavien tilojen joukko voi olla esimerkiksi osajoukko mallin M tiloista. Luonnollisilla malleilla U + ja U -operaattorit on mahdollista määritellä operaattoreiden G Λ ja X avulla (Lemma seurauslause): ('U + ψ) $ 8q(G Λ (X(ψ _ (' ^ q))! q)! q): (25) 2.2 MSOL (Monadic Second Order Logic) Vastaavasti, kuin edellä temporaalilogiikkaa, voimme laajentaa myös ensimmäisen kertaluvun logiikkaa (FOL) ja kvantifioida yli valitun pistejoukon. FOL logiikan laajennosta kutsutaan monadiseksi 1 toisen kertaluvun logiikaksi (MSOL, Monadic Second Order Language). Määritelmä 2.2 MSOL kielen syntaksi: MSOL ::= P(T ) jq(t ) j?j(msol! MSOL) jr + (T ; T ) j9t MSOLj9QMSOLj Kuten edellä, alla oleva malli on M = (U; I;v) ja eri muuttujavaluaatiot (v; v 0 ;:::) kiinnittävät kuhunkin luokan Q toisen kertaluvun muuttujaan erilaisia pistejoukkoja maailmasta U. Luonnollisilla malleilla logiikat qtl ja MSOL ovat yhtä ilmaisuvoimaisia. 2.3 Propositionaalinen μ-kalkyyli Laskennan vaativuuden kannalta ei ole aina edullista sallia mielivaltaisia kvantifiointeja yli maailman U kaikkien erilaisten tila- tai pisteosajoukkojen. Sen vuoksi tilatai pistejoukkojen kvantifiointiin liitetään kiintopisteiden käsite, joka määrittää tavan kvantifioida tila- tai pistejoukkoja. Kun toisen kertaluvun logiikkaan liitetään kiintopistekvantifiointi, saadaan tuloksena propositionaalinen μ-kalkyyli (μtl) [2,9,4,6]. Määritelmä 2.3 μtl kielen syntaksi: μtl ::= P jqj?j(μtl! μtl) j hri μtl j νq μtl. Kielen semantiikka määritellään tässä logiikoiden MSOL ja FOL kautta: ffl MSOL('), kun ' ={p 2P;?; (ψ 1! ψ 2 ); hriψ} kuten FOL(') (ch. 2.3) ffl MSOL(q), q(t 0 ),josq 2Q ffl MSOL(νq'), 9q(q(t 0 ) ^8t(q(t)! MSOL(')(t 0 := t))) 1 monadinen = yksipaikkainen
9 ffl MSOL(μq'), 8q(8t(MSOL(')(t 0 := t)! q(t))! q(t 0 )). 7 Kaava '(t 0 := t) muodostetaan kaavasta ' korvaamalla jokainen muuttujan t 0 vapaa esiintymä muuttujalla t. Perusoperaattorina μ-kalkyylissa on ν, joka on merkitykseltään rajoitettu eksistentiaalikvanttori yli tila- tai pistejoukon. μ-operaattori on merkitykseltään rajoitettu universaalikvanttori ja on määriteltävissä ν-operaatorin avulla: μ = :νq:('fq := :qg). Vastaavasti kuin edellä, kaava '(t := ψ) muodostetaan kaavasta ' korvaamalla jokainen muuttujan t vapaa esiintymä kaavalla ψ. Vaikka kaava ('U + ψ) määritellään eksistentiaalisena ensimmäisen kertaluvun lauseena, μtl kielessä se samaistetaan μ-kaavaan. Kaavassa korvaamme yksipaikkaisen timanttioperaattorin < R > operaattorilla X. Nyt voimme ilmaista kaavan (25) seuraavasti: Mj=('U + ψ) $ Mj= μqx(ψ _ ' ^ q): (26) Luonnollisille malleille voidaan vastaavasti muitakin aikaoperaattoreita kuvata μtl kaavoilla: F + ψ $ μqx(ψ _ q) (27) ('W + ψ) $ νqx(ψ _ ' ^ q) (28) G Λ ψ $ νq(ψ ^ Xq) (29) ('U Λ ψ) $ μq(ψ _ ' ^ Xq) (30) μtl on ilmaisuvoimaltaan vähintään samaa luokkaa kuin CTL (ja CTL Λ ) ja suurin osa ohjelmoitavista logiikoista Kiintopisteet Seuraavassa tarkastelemme kvanttoreiden v ja μ merkitystä käyttäen käsitteitä suurin ja pienin kiintopiste. Koska ainoastaan monotonisille kaavoille voidaan taata kiintopisteen olemassaolo, aloitamme monotonisuuden määritelmällä: Määritelmä 2.4 Funktio f :2 U! 2 U on monotoninen, jos P Q! f (P ) f (Q): (31) Määritelmä 2.5 Funktion f kiintopiste on mikä tahansa joukko Q, jolle f (Q) =Q. Määritelmä 2.6 Funktion f esikiintopiste on mikä tahansa joukko, Q U, jolle f (Q) Q.
10 Määritelmä 2.7 Funktion f jälkikiintopiste on mikä tahansa joukko, Q U, jolle Q f (Q). Määritelmä 2.8 Funktion f suurin kiintopiste on jälkikiintopistejoukkojen yhdiste S fqjq f (Q)g. Määritelmä 2.9 Funktion f pienin kiintopiste on esikiintopisteiden leikkaus T fqjf (Q) Qg. Teoreema 1 (Knaster-Tarski) Olkoon f :2 U! 2 U monotoninen funktio. Tällöin ffl funktiolla f on -järjestyksen suhteen yksikäsitteinen suurin kiintopiste, joka on S fqjq f (Q)g ja ffl funktiolla f on -järjestyksen suhteen yksikäsitteinen pienin kiintopiste, joka on T fqjf (Q) Qg Predikaattimuuntimet Kehyksessä F = (U; I) kaava ' määrittää maailmasta sellaisten pisteiden joukon ' F U, joissa kaava pätee. Kaava ', jossa on vapaa propositiomuuttja q määrittää kehyksessä F =(U; I) funktion, predikaattimuuntimen ' F q : U! U, joka on kuvaus pisteiden joukolta pisteiden joukolle. Jos Q U, niin ' F q (Q), fwj(u; I 0 ;w) j= 'g, missä I 0 eroaa I:sta ainoastaan q:n osalta. Logiikan μtl ja kiintopisteiden yhteys: ffl (νq ') F = gfp(' F q ) ffl (μq ') F = lfp(' F q ) Kaava ' on positiivinen q:ssa, jos jokainen propositiomuuttujan q vapaa esiintymä kaavassa ' on positiivinen. Kuten yleensä, muuttuja q on kaavassa ' positiivinen, jos muuttujaan liittyvien negaatiomerkkien määrä on parillinen ja negatiivinen, jos siihen liittyvien negaatiomerkkien määrä on pariton. Propositiomuuttuja q on positiivinen ffl kaavassa q, ffl kaavassa ('! ψ), joss se esiintyy negatiivisena kaavassa ' tai positiivisena kaavassa ψ, ffl kaavassa < R >' ja νq 0 ', jos se on positiivinen kaavassa '. Kaava ' on positiivinen q:ssa, jos sen jokainen alikaava νqψ on positiivinen q:ssa. Jos ' on positiivinen q:ssa, niin ' F q on monotoninen predikaattimuunnin. Jos ' on positiivinen, niin
11 9 ffl j= νq ' $ 'fq := νq 'g ffl j= μq ' $ 'fq := μq 'g ffl Jos (U; I) j= (X $ 'fq := Xg), niin (U; I) j= (X! νq ') ja (U; I) j= (μq '!X). ffl (U; I) j= (X! 'fq := Xg)! (U; I) j= (X! νq ') ffl (U; I) j= ('fq := Xg!X)! (U; I) j= (μq '!X). Kaavan (26) mukaan luonnollisilla malleilla ('U + ψ) on kaavan X(ψ _ ' ^ q) pienin kiintopiste. Vastaavasti kaavan X(ψ _ ' ^ q) suurin kiintopiste on ('W + ψ).näinollen voimme esittää perustellusti seuraavat rekursio- ja induktioaksioomat: Rekursioaksiooma: j= ('U + ψ) $ X(ψ _ ' ^ ('U + ψ)); (32) j= ('W + ψ) $ X(ψ _ ' ^ ('W + ψ)): (33) Induktioaksiooma: (U; I) j= (X(ψ _ ' ^X)! (U; I) j= (('U + ψ)! χ); (34) (U; I) j= (χ! X(ψ _ ' ^ χ))! (U; I) j= (χ! ('W + ψ)): (35) Positiivinen μtl-kaava ilmaisee predikaattimuuntimen suurimman tai pienimmän kiintopisteen. Monotonisille kaavoille kiintopisteet löytyvät aina, epämonotonisille kaavoille niiden olemassaoloa ei voida taata. Jos malli on kytketty (connected), niin jokainen mallin tila on saavutettavissa nykyisestä tilasta. Toisin sanoen 8w; w 0 (w < w 0 _ w = w 0 _ w > w 0 ). Tällöin operaattori G + korvaa ensimmäisen kertaluvun universaalikvanttorin s.e. M j= 8tp(t), joss Mj= G + p. Tällöin: Mj= νq' $ Mj= 9q(q ^ G + (q! ')); (36) Mj= μq' $ Mj= 8q(G + ('! q)! q): (37) Kytketyille, ja näin ollen myös luonnollisille malleille, μtl on korkeintaan yhtä ilmaisuvoimainen kuin qtl ja MSOL.
12 3!-automaatit ja!-kielet 10 Luonnollisessa mallissa M, (U; I;w 0 ) tulkintafunktio I : P! 2 U kertoo jokaista propositiota kohden, missä maailman U osajoukossa kyseinen propositio on voimassa. Määritelläään päinvastaiseen suuntaan toimiva merkintäfunktio L : U! 2 P, joka ilmaisee kuhunkin pisteeseen liittyvän merkinnän eli siinä voimassa olevat propositiot. Jos U = (w 0 ;w 1 ;w 2 ;:::), niin merkintöjen jonoa ff = (L(w 0 ); L(w 1 ); L(w 2 );:::) kutsutaan!-sanaksi aakkostossa ±, 2 P. Ja edelleen,!-kieli on!-sanojen joukko. Toisaalta, määritelmän mukaan jokainen LTL kaava kuvaa niiden luonnollisten kehysten (U; fi(r)jr 2Rg) joukon, joissa se on aina voimassa alkutilassa (initially valid). Näin ollen kaava kuvaa myös ne!-kielet, joka kustakin kehyksestä on mahdollista generoida. Kieliä määriteltäessä riittää, että tarkastelemme temporaalilogiikan osalta ainoastaan tulevaisuutta. LTL ja qtl logiikoilla on kyky erotella aikavaiheet (separation property) menneisyys (pure past), nykyhetki (pure present) ja tulevaisuus (pure future), kuten jo aikaisemmin on todettu (lemmat 2.6 ja 3.11). Edelleen, jokaiselle LTL tai qtl logiikan kaavalle löytyy vastaava, ainoastaan tulevaisuuteen viittaava kaava, joka määrittelee täsmälleen saman kielen (lemma 3.12). Kieliä voidaan määritellä myös (!-)säännöllisillä lausekkeilla ja äärellisillä (!-)automaateilla. Seuraavassa esitämme määritelmän (!)-säännöllisen lausekkeen kuvaamalle kielelle: Määritelmä 3.1 (!)-säännöllisen lausekkeen kuvaamalle kielelle pätee: ffl Jokainen aakkoston merkki on!-säännöllinen ilmaisu. ffl Jos ff ja fi ovat!-säännöllisiä ilmaisuja, niin niitä ovat myös " (tyhjä kieli), (ff + fi) (yhdiste), (ff; fi) (peräkkäiskompositio) ja ff + (kielen sanojen äärellinen toisto). ffl Jos ff on!-säännöllinen ilmaisu, niin sellainen on myös ff! (kielen sanojen ääretön toisto.) Esimerkiksi!-säännöllinen lauseke (:p1)! + (> + ; p2)! määrittää kaikki ne äärettömät sanat (ff 0 ;ff 1 ;ff 2 ;:::), joissa joko 8i pätee, että p1 =2 ff i tai äärettömän monelle i:lle pätee, että p2 2 ff i. Lisäksi lauseke määrittää niiden luonnollisten mallien (U; fi(r)jr 2R; fi(p)jp 2Pg) joukon M, joille Mj= G Λ (:p1^x>)_g Λ F + p2. Koska kaavan mukaan kunkin luonnollisen mallin kaikilla pisteillä tulee olla seuraaja, mallien täytyy olla äärettömiä.!-automaatti määritellään kuten tavallinen epädeterministinen automaatti, laajennettuna erillisellä toistotilojen (recurring states) joukolla. Toistotilat sisällyttävät reiluusehdon automaattiin.
13 11 -p1 -p1 T T p2 Kuva 1: Büchi-automaatti Määritelmä 3.2 Kun ± = 2 P, niin!-automaatti on monikko (S; ;S 0 ;S acc ;S rec ), missä ffl S on tilojen joukko, ffl S ± S on siirtymärelaatio ffl S 0 S on alkutilojen joukko ffl S acc S on hyväksyvien tilojen joukko (äärellisille sanoille) ffl S rec S on toistotilojen joukko (äärettömille sanoille). Büchi-automaatti on äärellistilainen!-automaatti, reilu siirtymäsysteemi, jossa tilojen joukko S on äärellinen. LTS (Labelled Transition System) on siirtymäsysteemi, jossa kaikki tilat ovat toistotiloja ja hyväksyviä tiloja. Heikosti reilu siirtymäsysteemi on sellainen!-automaatti, jossakaikkitilatovattoistotilojaja ainoastaanlopputilat (terminal states), joista ei ole siirtymää seuraajatilaan, ovat hyväksyviä tiloja. Yleensä LTS:ien ja heikosti reilujen siirtymäsysteemien yhteydessä ei käytetä hyväksyvien tilojen ja toistotilojen käsitteitä. Määritelmä 3.3 (!-automaatin hyväksymisehto)!-automaatti hyväksyy epätyhjän sanan ff, (ff 0 ;ff 1 ;ff 2 ;:::), jos löytyy jokin funktio ρ, joka liittää jokaiseen muuttujan i (< jffj) arvoon jonkin automaatin tilan (ρ(ff i ) 2 S s.e. ffl ρ(0) kuuluu alkutilojen joukkoon, ffl 8i :0» i<n:(ρ(i);ff i ;ρ(i + 1)) 2 ja ffl (ρ(n);ff n ;s) 2, missä s on hyväksymistila ja ff on äärellinen ja ffl jos sana on ääretön ja inf (ρ) on äärettömän usein ρ:ssa esiintyvien tilojen joukko, niin inf (ρ) S rec 6= fg (ainakin yhdessä toistotilassa vieraillaan äärettömän usein). T
14 Automaatti hyväksyy luonnollisen mallin M, joss se hyväksyy mallin M generoiman!-sanan. Siirtymäsysteemin kieli muodostuu niiden polkujen joukosta, jotka saadaan aukikerimällä (unwinding) siirtymäsysteemi. Kuvan 1 Büchi-automaatti määrittelee täsmälleen saman kielen kuin!-säännöllinen lauseke (:p1)! +(> + ; p2)!.!-säännölliset lausekkeet ja Büchi-automaatit ovat ilmaisuvoimaltaan samanarvoisia. 12
15 4 Toisen kertaluvun kielten ilmaisuvoima 13 Teoreema 2 (Büchi, Wolper, Sistla)! -kielten määrittelyssä seuraavilla formalismeilla on sama ilmaisuvoima: ffl μtl ffl qtl ffl MSOL ffl Büchi-automaatit ffl!-säännölliset lausekkeet. Jokaiselle μtl kaavalle voidaan muodostaa vastaava qtl kaava määritelmään perustuen. Lemman 3.2 mukaisesti MSOL ja qtl kielten ilmaisuvoima on sama. Lemman 3.14 mukaan jokaista qtl ja MSOL kaavaa vastaa jokin Büchi-automaatti, joka määrittää samanlaisen mallien joukon, kuin ko. kaavat. Lemman 3.13 sanoo, että!- säännölliset lausekkeet ja Büchi-automaatit ovat samanarvoisia, ja edelleen lemmassa 3.15 todettiin, että!-säännölliset lausekkeet voidaan muttaa μtl-kaavoiksi.
16 Viitteet 14 [1] Pnueli A. Ben-Ari M., Manna Z. The temporal logic of branching time. Acta Informatica, 20: , [2] E.M. Clarke and E.A. Emerson. Characterizing Properties of Parallel Programs as Fixpoints. In 7th International Colloqium on Automata, Languages and Programming, number 85 in Lecture Notes in Computer Science, [3] E.M. Clarke and E.A. Emerson. Design and Synthetis of Synchronization Skeletons Using Branching Time Temporal Logics. In Workshop on Logic on Programs, number 131 in Lecture Notes in Computer Science. Springer-Verlag, [4] Kozen D. Results on the propositional μ-calculus. Theoretical Computer Science, 27: , [5] Halpern J.Y. Emerson E.A. sometimes and not never revisited: on branching time vs. linear time. Journal of the ACM, 33: , [6] Parikh R. Kozen D. A decision procedure for the propositional μ-calculus. In Proceedings of Int. Symp. Logic of Programs, [7] L. Lamport. sometimes is sometimes not never. In Proceedings of 7th Annual ACM Symposium on Principles of Programming Languages, pages ACM, [8] A. Pnueli. The temporal logic of programs. In Proceedings of 18th Annual IEEE Symposium on Foundations of Computer Science, pages 46 57, [9] Pratt V. A decidable μ-calculus. In Proceedings of Annual ACM Symposium on Foundations of Computer Science, 1981.
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
T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Aikalogiikka
T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Aikalogiikka 24. helmikuuta 2003 T-79.179: Aikalogiikka 5-1 Aikalogiikka Yksinkertaisiltakin näyttävien järjestelmien saavutettavuusgraafeissa
Automaatit. Muodolliset kielet
Automaatit Automaatit ovat teoreettisia koneita, jotka käsittelevät muodollisia sanoja. Automaatti lukee muodollisen sanan kirjain kerrallaan, vasemmalta oikealle, ja joko hyväksyy tai hylkää sanan. Täten
2. M : T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 11 Ratkaisut 1. M :
T-79.5101 kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 11 Ratkaisut 2. M : a 1. M : a c b, e b f,r c e a) M,a = A(U), sillä (esim.) (a,b,,,,...) on tilasta a alkava täysi polku, joka ei
Rekursiiviset tyypit
Rekursiiviset tyypit TIES542 Ohjelmointikielten periaatteet, kevät 2007 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 20. helmikuuta 2007 Hiloista Kiintopisteet (Ko)rekursio Rekursiiviset
Esimerkkimodaalilogiikkoja
/ Kevät 2005 ML-4 1 Esimerkkimodaalilogiikkoja / Kevät 2005 ML-4 3 Käsitellään esimerkkeinä kehyslogiikkoja Valitaan joukko L kehyksiä S, R (tyypillisesti antamalla relaatiolle R jokin ominaisuus; esim.
Äärellisten automaattien ja säännöllisten kielten ekvivalenssi
Äärellisten automaattien ja säännöllisten kielten ekvivalenssi Osoitamme seuraavan keskeisen tuloksen: Lause 1.8: [Sipser Thm. 1.54] Kieli on säännöllinen, jos ja vain jos jokin säännöllinen lauseke esittää
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:
Hahmon etsiminen syotteesta (johdatteleva esimerkki)
Hahmon etsiminen syotteesta (johdatteleva esimerkki) Unix-komennolla grep hahmo [ tiedosto ] voidaan etsia hahmon esiintymia tiedostosta (tai syotevirrasta): $ grep Kisaveikot SM-tulokset.txt $ ps aux
T Kevät 2003 Logiikka tietotekniikassa: erityiskysymyksiä I Laskuharjoitus 11 Ratkaisut
T-79.146 Kevät 2003 Logiikka tietotekniikassa: erityiskysymyksiä I Laskuharjoitus 11 Ratkaisut 1. M : a P P f Q, R Q e P a) M, a = A(P UQ), sillä (esim.) (a,,,,,...) on tilasta a alkava täysi polku, joka
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti
Mallintarkastus. Mallin generointi. Esimerkki mallin SMV-kuvauksesta. Tila-avaruuden symbolinen esitys (I)
/ Kevät 2005 ML-10 1 Mallintarkastus / Kevät 2005 ML-10 3 Esimerkki mallin SMV-kuvauksesta Onko annettu lause P tosi annetussa mallissa M? Malli M: järjestelmän malli Saadaan järjestelmän kuvauksesta,
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
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
TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. toukokuuta 2013 Sisällys Chomskyn hierarkia (ja muutakin) kieli LL(k) LR(1) kontekstiton kontekstinen rekursiivisesti
µ-kalkyyli - monadisen toisen kertaluvun predikaattilogiikan bisimilaarisesti invariantti fragmentti
TAMPEREEN YLIOPISTO Pro gradu -tutkielma Jonni Virtema µ-kalkyyli - monadisen toisen kertaluvun predikaattilogiikan bisimilaarisesti invariantti fragmentti Matematiikan, tilastotieteen ja filosofian laitos
Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.
Lause: Tyhjyysongelma ei ole osittain ratkeava; ts. kieli ei ole rekursiivisesti lueteltava. L e = { w { 0, 1 } L(M w ) = } Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia,
Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus
Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus 1 / 51 Lineaarikombinaatio Johdattelua seuraavaan asiaan (ei tarkkoja määritelmiä): Millaisen kuvan muodostaa joukko {λv λ R, v R 3 }? Millaisen
Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja
582206 Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja 1. Esitä tilakaaviona NFA N = (Q, Σ, δ, q 0, F ), missä Q = { q 0, q 1, q 2, q 3, q 4, q 5, q 6, q 7 }, Σ = { a, b, c }, F = { q 4 } ja δ on
= 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
Turingin koneen laajennuksia
Turingin koneen laajennuksia Turingin koneen määritelmään voidaan tehdä erilaisia muutoksia siten että edelleen voidaan tunnistaa tasan sama luokka kieliä. Moniuraiset Turingin koneet: nauha jakautuu k
Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )
Injektio (1/3) Määritelmä Funktio f on injektio, joss f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f ) Seurauksia: Jatkuva injektio on siis aina joko aidosti kasvava tai aidosti vähenevä Injektiolla on enintään
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. syyskuuta 2016 Sisällys Neuvoja opintoihin tee joka päivä ainakin vähän uskalla mennä epämukavuusalueelle en
Säännöllisten kielten sulkeumaominaisuudet
Säännöllisten kielten sulkeumaominaisuudet Osoitamme nyt, että säännöllisten kielten joukko on suljettu yhdisteen, konkatenaation ja tähtioperaation suhteen. Toisin sanoen jos A ja B ovat säännöllisiä,
Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja
581336 Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja 1. S! axc X! axc X! by c Y! by c Y! " 2. (a) Tehtävänä on konstruoida rajoittamaton kielioppi, joka tuottaa kielen f0 n 1 n jn 1g. Vaihe1: alkutilanteen
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
Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna
Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna. q 0 x solmuina laskennan mahdolliset tilanteet juurena alkutilanne lehtinä tilanteet joista ei siirtymää,
(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3
T-79.48 Tietojenkäsittelyteorian perusteet Tentti 25..23 mallivastaukset. Tehtävä: Kuvaa seuraavat kielet sekä säännölisten lausekkeiden että determinististen äärellisten automaattien avulla: (a) L = {w
TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Heidi Luukkonen. Sahlqvistin kaavat
TAMPEREEN YLIOPISTO Pro gradu -tutkielma Heidi Luukkonen Sahlqvistin kaavat Informaatiotieteiden yksikkö Matematiikka Maaliskuu 2013 Tampereen yliopisto Informaatiotieteiden yksikkö LUUKKONEN, HEIDI: Sahlqvistin
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. marraskuuta 2015 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 a 5 00 k 11 i
Positiivitermisten sarjojen suppeneminen
Positiivitermisten sarjojen suppeneminen Jono (b n ) n= on kasvava, jos b n+ b n kaikilla n =, 2,... Lemma Jokainen ylhäältä rajoitettu kasvava jono (b n ) n= raja-arvo on lim n b n = sup n Z+ b n. suppenee
1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.
Algoritmien DP ja MF vertaileminen tapahtuu suoraviivaisesti kirjoittamalla kummankin leskimääräinen kustannus eksplisiittisesti todennäköisyyksien avulla. Lause T MF ave = 1 + 2 1 i
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
Laskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 10. joulukuuta 2015 Sisällys TM vs yleiset kieliopit Lause Jokaiselle kielelle A seuraavat ovat yhtäpitävät: 1.
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti
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ä)
T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )
T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen
Bisimulaatio modaalilogiikassa
Bisimulaatio modaalilogiikassa Tuomo Lempiäinen Kandidaatintutkielma Maaliskuu 2013 Matematiikan ja tilastotieteen laitos Helsingin yliopisto Sisältö 1 Johdanto 2 2 Modaalilogiikan perusteet 3 2.1 Syntaksi..............................
Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista
Matematiikan johdantokurssi, syksy 06 Harjoitus, ratkaisuista. Valitse seuraaville säännöille mahdollisimman laajat lähtöjoukot ja sopivat maalijoukot niin, että syntyy kahden muuttujan funktiot (ks. monisteen
Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)).
Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)). Esimerkkejä: Σ koostuu kaikista aakkoston Σ merkkijonoista ja
b) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan
Tehtävä 7 : 1 a) Olkoon G jokin epäyhtenäinen verkko. Tällöin väittämä V (G) 2 pätee jo epäyhtenäisyyden nojalla. Jokaisella joukolla X on ehto X 0 voimassa, joten ehdot A < 0 ja F < 0 toteuttavilla joukoilla
Kertausta 1. kurssikokeeseen
Kertausta. kurssikokeeseen. kurssikoe on to 22.0. klo 9 2 salissa A (tai CK2). Koealueena johdanto ja säännölliset kielet luentokalvot 3 ja nämä kertauskalvot harjoitukset 6 Sipser, luvut 0 ja Edellisvuosien.
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.
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
Epäyhtälöt ovat yksi matemaatikon voimakkaimmista
6 Epäyhtälöitä Epäyhtälöt ovat yksi matemaatikon voimakkaimmista työvälineistä. Yhtälö a = b kertoo sen, että kaksi ehkä näennäisesti erilaista asiaa ovat samoja. Epäyhtälö a b saattaa antaa keinon analysoida
Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa.
Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa. Vastaus 2. Vertaillaan
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ä
on rekursiivisesti numeroituva, mutta ei rekursiivinen.
6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = { M pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus. Todetaan ensin, että kieli H on rekursiivisesti
LOGIIKKA johdantoa
LOGIIKKA johdantoa LUKUTEORIA JA TO- DISTAMINEN, MAA11 Logiikan tehtävä: Logiikka tutkii ajattelun ja päättelyn sääntöjä ja muodollisten päättelyiden oikeellisuutta, ja pyrkii erottamaan oikeat päättelyt
3. Predikaattilogiikka
3. Predikaattilogiikka Muuttuja mukana lauseessa. Ei yksikäsitteistä totuusarvoa. Muuttujan kiinnittäminen määrän ilmaisulla voi antaa yksikäsitteisen totuusarvon. Esimerkki. Lauseella x 3 8 = 0 ei ole
Topologia Syksy 2010 Harjoitus 4. (1) Keksi funktio f ja suljetut välit A i R 1, i = 1, 2,... siten, että f : R 1 R 1, f Ai on jatkuva jokaisella i N,
Topologia Syksy 2010 Harjoitus 4 (1) Keksi funktio f ja suljetut välit A i R 1, i = 1, 2,... siten, että f : R 1 R 1, f Ai on jatkuva jokaisella i N, i=1 A i = R 1, ja f : R 1 R 1 ei ole jatkuva. Lause
Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }?
Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Vastaus
Ratkaisu: (b) A = x 0 (R(x 0 ) x 1 ( Q(x 1 ) (S(x 0, x 1 ) S(x 1, x 1 )))).
HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 3 Ratkaisuehdotukset 1. Palataan Partakylään. Olkoon P partatietokanta ja M tästä saatu malli kuten Harjoitusten 1
T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut
T-79.5101 kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut 1. Jokaiselle toteutuvalle lauselogiikan lauseelle voidaan etsiä malli taulumenetelmällä merkitsemällä lause taulun juureen
Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.
Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta
Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim.
Injektio Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim. Funktio f on siis injektio mikäli ehdosta f (x 1 ) = f (x 2 ) seuraa, että x 1 = x 2.
Yleinen paikallinen vakautuva synkronointialgoritmi
Yleinen paikallinen vakautuva synkronointialgoritmi Panu Luosto 23. marraskuuta 2007 3 4 putki 1 2 α α+1 α+2 α+3 0 K 1 kehä K 2 K 3 K 4 Lähdeartikkeli Boulinier, C., Petit, F. ja Villain, V., When graph
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
Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 24. toukokuuta 2013 Sisällys Formaalit kielet On tapana sanoa, että merkkijonojen joukko on (formaali) kieli. Hieman
Todistusmenetelmiä Miksi pitää todistaa?
Todistusmenetelmiä Miksi pitää todistaa? LUKUTEORIA JA TO- DISTAMINEN, MAA11 Todistus on looginen päättelyketju, jossa oletuksista, määritelmistä, aksioomeista sekä aiemmin todistetuista tuloksista lähtien
Kanta ja dimensio 1 / 23
1 / 23 Kuten ollaan huomattu, saman aliavaruuden voi virittää eri määrä vektoreita. Seuraavaksi määritellään mahdollisimman pieni vektorijoukko, joka virittää aliavaruuden. Jokainen aliavaruuden alkio
Avaruuden R n aliavaruus
Avaruuden R n aliavaruus 1 / 41 Aliavaruus Esimerkki 1 Kuva: Suora on suljettu yhteenlaskun ja skalaarilla kertomisen suhteen. 2 / 41 Esimerkki 2 Kuva: Suora ei ole suljettu yhteenlaskun ja skalaarilla
T Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet )
T-79.144 Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet 2.3-3.4) 2 5.11.2005 1. Olkoon R kaksipaikkainen predikaattisymboli, jonka tulkintana on relaatio R A
Johdatus matematiikkaan
Johdatus matematiikkaan Luento 7 Mikko Salo 11.9.2017 Sisältö 1. Funktioista 2. Joukkojen mahtavuus Funktioista Lukiomatematiikassa on käsitelty reaalimuuttujan funktioita (polynomi / trigonometriset /
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015
TIEA24 Automaatit ja kieliopit, syksy 205 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 5. marraskuuta 205 Sisällys Käsiteanalyysiä Tarkastellaan koodilukkoa äärellisenä automaattina. Deterministinen äärellinen
ICS-C2000 Tietojenkäsittelyteoria Kevät 2016
ICS-C2000 Tietojenkäsittelyteoria Kevät 206 Kierros 0, 2. 24. maaliskuuta Huom! Perjantaina 25. maaliskuuta ei ole laskareita (pitkäperjantai), käykää vapaasti valitsemassanne ryhmässä aiemmin viikolla.
Äärellisten automaattien ja säännöllisten lausekkeiden minimointi
Äärellisten automaattien ja säännöllisten lausekkeiden minimointi Timi Suominen, Riia Ohtamaa ja Pessi Moilanen Helsinki..01 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Äärellisten automaattien
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
Tietojenkäsittelyteorian alkeet, osa 2
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. syyskuuta 2016 Sisällys vs Ovat eri asioita! Älä sekoita niitä. Funktiot Funktio f luokasta A luokkaan B, merkitään
Propositionaalinen dynaaminen logiikka
TAMPEREEN YLIOPISTO Pro gradu -tutkielma Saana Isoaho Propositionaalinen dynaaminen logiikka Matematiikan ja tilastotieteen laitos Matematiikka Kesäkuu 2010 Tampereen yliopisto Matematiikan ja tilastotieteen
Kompaktisuus ja filtterit
Kompaktisuus ja filtterit Joukkoperheellä L on äärellinen leikkausominaisuus, mikäli jokaisella äärellisellä L L on voimassa L. Nähdään helposti, että perheellä L on äärellinen leikkausominaisuus ja L
Tehtävä 8 : 1. Tehtävä 8 : 2
Tehtävä 8 : 1 Merkitään kirjaimella G tarkasteltavaa Petersenin verkkoa. Olkoon A joukon V(G) niiden solmujen joukko, joita vastaavat solmut sijaitsevat tehtäväpaperin kuvassa ulkokehällä. Joukon A jokaisella
Tietotekniikan valintakoe
Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan
Ei-yhteydettömät kielet [Sipser luku 2.3]
Ei-yhteydettömät kielet [Sipser luku 2.3] Yhteydettömille kielille pätee samantapainen pumppauslemma kuin säännöllisille kielille. Siinä kuitenkin pumpataan kahta osamerkkijonoa samaan tahtiin. Lause 2.25
Funktion raja-arvo ja jatkuvuus Reaali- ja kompleksifunktiot
3. Funktion raja-arvo ja jatkuvuus 3.1. Reaali- ja kompleksifunktiot 43. Olkoon f monotoninen ja rajoitettu välillä ]a,b[. Todista, että raja-arvot lim + f (x) ja lim x b f (x) ovat olemassa. Todista myös,
Topologia Syksy 2010 Harjoitus 11
Topologia Syksy 2010 Harjoitus 11 (1) Tarkastellaan tason (a, )-topologiaa. (Tässä topologiassa A R 2 on avoin jos ja vain jos A =, A = R 2 tai A = {(x, y) R 2 x > a ja y > b} joillekin a, b R.) Jokaiselle
Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle.
Kombinatoriikka, kesä 2010 Harjoitus 1 Ratkaisuehdotuksia (RT (5 sivua Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle. 1. Osoita, että vuoden
Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä
Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,
Lisää 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
Predikaattilogiikan malli-teoreettinen semantiikka
Predikaattilogiikan malli-teoreettinen semantiikka February 4, 2013 Muistamme, että predikaattilogiikassa aakkosto L koostuu yksilövakioista c 0, c 1, c 2,... ja predikaattisymboleista P, R,... jne. Ekstensionaalisia
Taulumenetelmä modaalilogiikalle K
/ Kevät 2004 ML-6 1 Taulumenetelmä modaalilogiikalle On vaikeaa löytää Hilbert-tyylisiä todistuksia: Käytössä Modus Ponens -sääntö: jotta voidaan johtaa Q, täytyy johtaa P ja P Q. Mutta mikä on sopiva
isomeerejä yhteensä yhdeksän kappaletta.
Tehtävä 2 : 1 Esitetään aluksi eräitä havaintoja. Jokaisella n Z + symbolilla H (n) merkitään kaikkien niiden verkkojen joukkoa, jotka vastaavat jotakin tehtävänannon ehtojen mukaista alkaanin hiiliketjua
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
Tehtävä 4 : 2. b a+1 (mod 3)
Tehtävä 4 : 1 Olkoon G sellainen verkko, jonka solmujoukkona on {1,..., 9} ja jonka särmät määräytyvät oheisen kuvan mukaisesti. Merkitään lisäksi kirjaimella A verkon G kaikkien automorfismien joukkoa,
Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8
Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8 Tuntitehtävät 1-2 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 5- loppuviikon harjoituksissa. Kotitehtävät 3-4 tarkastetaan loppuviikon
Näytetään nyt relaatioon liittyvien ekvivalenssiluokkien olevan verkon G lohkojen särmäjoukkoja. Olkoon siis f verkon G jokin särmä.
Tehtävä 6 : 1 Oletetaan ensin joukon X olevan sisältymisen suhteen minimaalinen solmut a ja b toisistaan erotteleva joukon V(G)\{a, b} osajoukko. Olkoon x joukon X alkio. Oletuksen nojalla joukko X\{x}
Luonnollisten lukujen induktio-ominaisuudesta
Solmu 1/2019 19 Luonnollisten lukujen induktio-ominaisuudesta Tuomas Korppi Johdanto Kuten lukija varmaan tietääkin, luonnollisille luvuille voidaan tehdä induktiotodistuksia. Tämä mahdollisuus on ominainen
Goldblatt Thomasonin lause transitiivisille kehyksille
TAMPEREEN YLIOPISTO Pro gradu -tutkielma Mikko Kivinen Goldblatt Thomasonin lause transitiivisille kehyksille Matematiikan, tilastotieteen ja filosofian laitos Matematiikka Marraskuu 2009 Tampereen yliopisto
Kuvaus. Määritelmä. LM2, Kesä /160
Kuvaus Määritelmä Oletetaan, että X ja Y ovat joukkoja. Kuvaus eli funktio joukosta X joukkoon Y on sääntö, joka liittää jokaiseen joukon X alkioon täsmälleen yhden alkion, joka kuuluu joukkoon Y. Merkintä
Eloisuusanalyysi. TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2009 TIETOTEKNIIKAN LAITOS. Eloisuusanalyysi.
TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 16. marraskuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe E tiistai 1.12. klo 10 koodigenerointi (ilman rekisteriallokaatiota)
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
Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 6. kesäkuuta 2013 Sisällys Aikataulumuutos Tämänpäiväinen demotilaisuus on siirretty maanantaille klo 14:15 (Ag Delta).
Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin
Yhteydettömien kielioppien ja pinoautomaattien yhteys [Sipser s. 117 124] Todistamme, että yhteydettömien kielioppien tuottamat kielet ovat tasan samat kuin ne, jotka voidaan tunnistaa pinoautomaatilla.
missä on myös käytetty monisteen kaavaa 12. Pistä perustelut kohdilleen!
Matematiikan johdantokurssi Kertausharjoitustehtävien ratkaisuja/vastauksia/vihjeitä. Osoita todeksi logiikan lauseille seuraava: P Q (P Q). Ratkaisuohje. Väite tarkoittaa, että johdetut lauseet P Q ja
Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,
Tehtävä 1 : 1 a) Olkoon G heikosti yhtenäinen suunnattu verkko, jossa on yhteensä n solmua. Määritelmän nojalla verkko G S on yhtenäinen, jolloin verkoksi T voidaan valita jokin verkon G S virittävä alipuu.
δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.
42 Turingin koneiden laajennuksia 1 oniuraiset koneet Sallitaan, että Turingin koneen nauha koostuu k:sta rinnakkaisesta urasta, jotka kaikki kone lukee ja kirjoittaa yhdessä laskenta-askelessa: Koneen
1 Rajoittamaton optimointi
Taloustieteen matemaattiset menetelmät 7 materiaali 5 Rajoittamaton optimointi Yhden muuttujan tapaus f R! R Muistutetaan mieleen maksimin määritelmä. Funktiolla f on maksimi pisteessä x jos kaikille y
. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1
TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-.39 Optimointioppi Kimmo Berg 8. harjoitus - ratkaisut. a)huomataan ensinnäkin että kummankin jonon raja-arvo r on nolla. Oletetaan lisäksi että
Matematiikan ja tilastotieteen laitos Reaalianalyysi I Harjoitus Malliratkaisut (Sauli Lindberg)
Matematiikan ja tilastotieteen laitos Reaalianalyysi I Harjoitus 4 9.4.-23.4.200 Malliratkaisut (Sauli Lindberg). Näytä, että Lusinin lauseessa voidaan luopua oletuksesta m(a)