ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Samankaltaiset tiedostot
ICS-C2000 Tietojenkäsittelyteoria Kevät 2015

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

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

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

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

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

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja

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

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

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

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

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Kertausta: kielet ja automaatit. ICS-C2000 Tietojenkäsittelyteoria. Alue ja aiheet. Äärelliset automaatit

2.2 Automaattien minimointi

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Q on automaatin tilojen äärellinen joukko; Σ on automaatin syöteaakkosto; δ : Q Σ Q on automaatin siirtymäfunktio; q 0 Q on automaatin alkutila;

Laskennan perusmallit (LAP)

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

Kuvausta f sanotaan tällöin isomorfismiksi.

Aiheet. ICS-C2000 Tietojenkäsittelyteoria M := Äärelliset automaatit vs. säännölliset lausekkeet. Äärelliset automaatit

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

Automaatit. Muodolliset kielet

Laskennan perusmallit (LAP)

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 22. toukokuuta 2013

Kertausta 1. kurssikokeeseen

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

ICS-C2000 Tietojenkäsittelyteoria

ICS-C2000 Tietojenkäsittelyteoria. Tähän mennessä: säännölliset kielet. Säännöllisten kielten pumppauslemma M :=

Yhteydettömän kieliopin jäsennysongelma

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

ICS-C2000 Tietojenkäsittelyteoria

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

Automaattiteoria diskreetin signaalinkäsittelyn perusmallit ja -menetelmät ( diskreettien I/O-kuvausten yleinen teoria)

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

Tietotekniikan valintakoe

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Arvostelu OHJ Johdatus tietojenkäsittelyteoriaan syksy op. Viikkoharjoitukset. Materiaali. Kurssista voi selvitä parhaalla mahdollisella

T /1002 Tietojenkäsittelyteorian perusteet T/Y

Säännöllisten kielten sulkeumaominaisuudet

1. Universaaleja laskennan malleja

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

// Tulostetaan liukulukutyyppinen muuttuja riviä vaihtamatta // yhden desimaalin tarkkuudella. System.out.printf("%.

12. Merkkijonot Merkkijonojen abstrakti tietotyyppi

T /2 Tietojenkäsittelyteorian perusteet T/Y

LAP: Laskennan perusmallit

Laskennan perusmallit (LAP)

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

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

Turingin koneet. Sisällys. Aluksi. Turingin koneet. Turingin teesi. Aluksi. Turingin koneet. Turingin teesi

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

Algoritmit 1. Luento 1 Ti Timo Männikkö

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

Esimerkki 1: Kahviautomaatti.

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

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen)

Yllä osoitettiin, että säännöllisten kielten joukko on suljettu yhdisteen

T /1002 Tietojenkäsittelyteorian perusteet T/Y

Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet

Säännöllisestä lausekkeesta deterministiseksi tilakoneeksi: esimerkki

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

M = (Q, Σ, Γ, δ, q 0, q acc, q rej )

Matematiikan tukikurssi

2.5 Säännöllisten kielten rajoituksista

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

uv n, v 1, ja uv i w A kaikilla

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

Riemannin integraalista

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin

Laskennan perusmallit 2013: Kertausta

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.

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

Havaitaan: muuttujan NykyisetTilat arvot kuuluvat potenssijoukkoon P(Q).

Laskennan rajoja. Sisällys. Meta. Palataan torstaihin. Ratkeavuus. Meta. Universaalikoneet. Palataan torstaihin. Ratkeavuus.

Turingin koneen laajennuksia

AUTOMAATTIEN SYNKRONISAATIOSTA

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 9. lokakuuta 2016

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

Diskreetin matematiikan perusteet Laskuharjoitus 6 / vko 13

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 26. tammikuuta 2012

Rekursiivinen Derives on periaatteessa aivan toimiva algoritmi, mutta erittäin tehoton. Jos tarkastellaan esim. kieliopinpätkää

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 6. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

6.2 Algoritmin määritelmä

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3

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

3 Integraali ja derivaatta

811120P Diskreetit rakenteet

Ohjelmoinnin perusteet Y Python

S if b then S else S S s. (b) Muodosta (a)-kohdan kieliopin kanssa ekvivalentti, so. saman kielen tuottava yksiselitteinen.

811120P Diskreetit rakenteet

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS.

DFA:n käyttäytyminen ja säännölliset kielet

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

S Laskennallinen systeemibiologia

Transkriptio:

ICS-C2000 Tietojenkäsittelyteori Kevät 2016 Kierros 2, 18. 22. tmmikuut Demonstrtiotehtävien rtkisut D1: Formuloi luennoll (monisteen s. 17) esitetty yksinkertinen khviutomtti täsmällisesti äärellisen utomtin trkn määritelmän (määritelmä 2.1) mukiseksi. Mikä on utomtin tunnistm kieli? Rtkisu: Tehtävässä piti nt formli esitys llolevlle tilkoneelle: 0.30 0.40 10c 10c 10c 10c 0.00 0.10 0.20 10c, Deterministinen tilkone (äärellinen utomtti) M on monikko: M = (Q,Σ,δ,q 0,F), >0.40 10c, missä Q on äärellinen tilojen joukko, Σ äärellinen kkosto, δ siirtofunktio δ : Q Σ Q, q 0 K lkutil j F Q hyväksyvien lopputilojen joukko. Tehtävän koneess monikon ost on määritelty seurvsti 1 : Q = {0.00,0.10,0.20,0.30,0.40,>0.40 Σ = {10c, q 0 = {0.00 F = {0.40,>0.40 Tilnsiirtofunktio δ on selvintä esittää tulukkon: q δ(q, 10c) δ(q, ) 0.00 0.10 0.20 0.10 0.20 0.30 0.20 0.30 0.50 0.30 0.40 >0.40 0.40 >0.40 >0.40 >0.40 >0.40 >0.40 1 Selvyyen vuoksi on tilojen nimissä olevt esimlipilkut vihettu pisteiksi. 1

Tilkoneen konfigurtio c Q Σ muoostuu koneen tilst j syötteestä. Kone lukee syötettä merkki kerrlln j siirtyy in siirtofunktion mukisesti uuteen tiln. Mikäli snn loppuess pääytään lopputiln, sn hyväksytään. Muuss tpuksess sn hylätään. Tilkoneen M hyväksymä kieli (M) on kikkien hyväksyttyjen snojen joukko. Tehtävän koneelle tämä on: (M) = {x 1 x 2 x n x i Σ kikill 1 i n j n i=1 x i 40c Kone siis hyväksyy kikki jonot, joiss syötettyjen kolikoien summ on 40 c ti enemmän. Trkstelln koneen toimint muutmll syötteellä: w = 0.10c 0.10c 0.: (0.00,0.10c 0.10c 0.) M (0.10,0.10c 0.) M (0.20,0.) M (0.40,ε) Kosk 0.40 F, sn hyväksytään. Tässä merkintä M trkoitt sitä, että kone M suoritt yhen skeleen. w = 0. 0.10c: Kosk 0.30 / F, sn hylätään. w = 0. 0. 0.: (0.00,0. 0.10c) M (0.20,0.10c ) M (0.30,ε) (0.00,0. 0. 0.) M (>0.40,ε) Sn hyväksytään. Merkintä M trkoitt, että kone M suoritt noll ti usempi skeli. D2: Li äärelliset utomtit seurvien kielten tunnistmiseen: () { m n m = n mo 3 () {w {, w sisältää yhtä mont :t j :tä, moulo 3 (Merkintä m = n mo 3 trkoitt, että luvut m j n ntvt kolmell jettess smn jkojäännöksen.) Rtkisu: ) Kielen L = { m n m = n mo 3 tunnist seurv äärellinen utomtti: M = (Q,Σ,δ,q 0,F) Q = {q 0,q 1,q 2,q 3,q 4,q 5,q 6 Σ = {, F = {q 0,q 5 Tilnsiirtofunktio δ määritellään seurvsti: 2

q δ(q, ) δ(q, ) q 0 q 1 q 3 q 1 q 2 q 5 q 2 q 0 q 4 q 3 q 6 q 4 q 4 q 6 q 5 q 5 q 6 q 3 q 6 q 6 q 6 Tässä til q 6 käytetään hylkäystiln, johon siirrytään heti, kun on vrm että sn ei voi enää kuulu kieleen (kun snst löytyy lijono ), j joss pysytään in lskennn loppuun sti. Tälliset tilt jätetään usein merkitsemättä, kun tilkone esitetään konekvion. Näin on tehty myös ll olevn kvion tpuksess: q 3 q 4 q 5 q 0 q 1 q 2 Intuitio utomtille: lrivin tilt lskevt -merkkien lukumäärää moulo 3 j ensimmäisen -merkin tulless vstn utomtti siirtyy yläriville oiken kohtn lskemn -merkkien lukumäärää moulo 3. Esimerkiksi tilst q 2 ( olln nähty k 3 + 2 -kirjint jollekin k ) siirrytään -merkillä ylärivin tiln q 4 ( olln nähty l 3 + 1 -kirjint jollekin l ). ) Kielen L = {w {, w sisältää yhtä mont - j -kirjint moulo 3 tunnist seurv tilkone: q 2 q q 1 0 D3: Li äärellinen utomtti, jok tunnist yhteen- j vähennyslskumerkein toisistn erotettujen kokonislukujen jonoj (esim. 11+20-9, -5+8). Toteut utomttisi tietokoneohjelmn, jok myös lskee lukujonon rvon. Rtkisu: 3

Kokonislukujen yhteen- j vähennyslskut voin tunnist seurvll utomtill: q 0 q 1 q 2 Tässä on lyhennysmerkintä, jok trkoitt mitä thns numero joukost {0,...,9. Automtti voin toteutt vrsin suorviivisesti millä thns proseurlisell ohjelmointikielellä lisäämällä siihen summn lskent j virheellisen syötteen käsittely. All on esitetty C-kielinen toteutus: #inclue <stio.h> #inclue <ctype.h> int min (voi) { int q = 0; /* The current stte */ int c; /* The current input chrcter */ int sgn = 1, vl = 0, sum = 0; /* Some uxiliry vriles */ while ((c = getchr())!= '\n') { switch (q) { cse 0: if (c == '+') sgn = -1; else if (isigit(c)) { vl = c - '0'; rek; cse 1: if (c == '+') sgn = -sgn; else if (isigit(c)) { vl = c - '0'; rek; cse 2: if (isigit(c)) { vl = 10 * vl + (c - '0'); 4

else if (c == '+') { sum = sum + vl*sgn; vl = 0; sgn = 1; sum = sum + vl*sgn; vl = 0; sgn = -1; rek; cse 99: rek; sum = sum + sgn*vl; if (q == 2) printf("the vlue of the expression is %.\n", sum); else printf("the expression is not well-forme.\n"); return 0; 5