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

Samankaltaiset tiedostot
ICS-C2000 Tietojenkäsittelyteoria

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

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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)

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015

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

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

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

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

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.2 Automaattien minimointi

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

T /2 Tietojenkäsittelyteorian perusteet T/Y

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja

T /1002 Tietojenkäsittelyteorian perusteet T/Y

T /1002 Tietojenkäsittelyteorian perusteet T/Y

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

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

Laskennan perusmallit (LAP)

Laskennan perusmallit 2013: Kertausta

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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;

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

1. Universaaleja laskennan malleja

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

Esimerkki 1: Kahviautomaatti.

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

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

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

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

Yhteydettömän kieliopin jäsennysongelma

Riemannin integraalista

LAP: Laskennan perusmallit

Laskennan perusmallit (LAP)

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

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

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

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

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

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

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

2.5 Säännöllisten kielten rajoituksista

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

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

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

Mutta esimerkiksi 0-kertaisesti pumpattaessa: Siten L ei voi olla säännöllinen.

Laskennan perusmallit (LAP)

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

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen)

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

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

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

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

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

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

Kuvausta f sanotaan tällöin isomorfismiksi.

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

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

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

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

Pinoautomaatit. Pois kontekstittomuudesta

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

Automaatit. Muodolliset kielet

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

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

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.

Kertausta 1. kurssikokeeseen

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

5.3 Ratkeavia ongelmia

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

Rajoittamattomat kieliopit

Säännöllisen kielen tunnistavat Turingin koneet

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

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

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

ICS-C2000 Tietojenkäsittelyteoria

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

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

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

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

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

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

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 6. maaliskuuta 2012 TIETOTEKNIIKAN LAITOS.

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

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

6.2 Algoritmin määritelmä

Rekursiiviset palautukset [HMU 9.3.1]

Säännöllisten kielten sulkeumaominaisuudet

Riemannin integraali

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

Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)).

Transkriptio:

Kertust: kielet j utomtit Lskennllisen ongelmn rtkisevi tietokoneohjelmi j -litteit voidn trkstell utomttein ICS-C2 Tietojenkäsittelyteori Luento 2: Äärelliset utomtit Alto-yliopisto Perustieteiden korkekoulu Tietotekniikn litos Kevät 26 x = 483 x = 5899 def isprime(x): return res true flse Akkosto: äärellinen joukko symbolej, esim Σ = {,,2,,9} Kieli: joukko Σ:n merkkijonoj, esim {x Σ x on lkuluku} = {,2,3,5,7,,} {x {x,x,,xff} x on virusvp tietokoneohjelm} Millinen utomtti trvitn nnetun ongelmn rtkisemiseen (eli kielen tunnistmiseen)? Voiko kikki ongelmt rtkist jollin utomtill? 2/39 Alue j iheet Orposen prujun luvut 2 23 (ti Sipserin kirjn luku ) Äärellisen utomtin rkenne j sen esitystpoj Äärellisen utomtin toimint Semnttisten toimintojen liittäminen utomtteihin Äärellisten utomttien j niiden toiminnn trkk mtemttinen esitys eli formlisointi Äärelliset utomtit 3/39 4/39

Tilkviot j tiltulut 2c 2c c c c c 2 3 enough Trkstelln luksi tietojenkäsittelyjärjestelmiä, joill on vin äärellisen mont mhdollist til Tällisen järjestelmän toimint voidn kuvt äärellisenä utomttin t äärellisenä tilkoneen (engl finite utomton, finite stte mchine) Äärellisillä utomteill on useit vihtoehtoisi esitystpoj: tilkviot, tiltulut, 2c 2c c 2c more thn enough Em tilkvion esittämä utomtti rtkisee päätösongelmn riittävätkö nnetut rht khvin ostmiseen? Äärellisiä utomttej voidn yleensäkin käyttää yksinkertisten päätösongelmien rtkisujen mllintmiseen Automttimllist on muitkin kuin binäärivsteisten järjestelmien kuvmiseen trkoitettuj versioit (ns Moore- j Mely-utomtit), mutt niitä ei käsitellä tällä kurssill c 2c 5/39 6/39 Tilkvioiden merkinnät: q Automtin til nimeltä q C-kielen etumerkittömät liukuluvut q 7 q Alkutil q q f q q 2 Lopputil q f : utomtti hyväksyy syötejonon, jos se jonon loppuess on tällisess tilss Syötemerkin iknsm siirtymä tilst q tiln q 2 q q q 2 q 3 exp exp exp q 4 q 6 Sekä lyhennysmerkintä: q, b, c q 2 q b c q 2 +,- Käytetyt lyhenteet: = {,,,9}, exp = {E,e} q 5 7/39 8/39

Äärellisen utomtin esitys tiltulun: utomtin uusi til vnhn tiln j syötemerkin funktion Liukulukuutomtin tiltulu: exp + q q q 7 q q q 2 q 4 q 2 q 3 q 4 q 3 q 3 q 4 q 4 q 6 q 5 q 5 q 5 q 6 q 6 q 6 q 7 q 3 K: Mitä tiltulun tyhjät pikt trkoittvt? V: Tiltulun tyhjät pikt, ti vstvsti tilkvion puuttuvt kret, kuvvt utomtin virhetilnteit Jos utomtti ohjutuu tälliseen pikkn, syötejono ei kuulu utomtin hyväksymään joukkoon Muodollisesti utomtiss jtelln olevn erityinen virhetil, jot ei vin selkeyden vuoksi merkitä näkyviin missä ilmisee lkutil j lopputil 9/39 /39 Liukulukuutomtin täydellinen kvioesitys olisi: +,- q q exp, +,- error, exp,,+,- exp j liukulukuutomtin täydellinen tuluesitys olisi: exp + q q q 7 error error error q q q 2 q 4 error error q 6 q 6 error error error error error error error error error error /39 2/39

22 Äärellisiin utomtteihin perustuv ohjelmointi Annetun äärellisen utomtin pohjlt on helppo lti utomtin toimint vstv ohjelm Liukulukuutomttiin perustuv syötejonon syntksitestus Pythonohjelmointikielellä: from sys import s t d i n q= f o r c i n s t d i n r e d l i n e ( ) s t r i p ( " \ n " ) : i f q==: i f c i s d i g i t ( ) : q= e l i f c== " " : q=7 e l i f q==: i f c i s d i g i t ( ) : q= e l i f c== " " : q=2 e l i f c== "E" or c== " e " : q=4 e l i f q==7: i f c i s d i g i t ( ) : q=3 i f q i n [ 2, 3, 6 ] : p r i n t " I s v l i d f l o t i n g p o i n t number " else : p r i n t " Not f l o t i n g p o i n t number " 3/39 4/39 Semnttisten toimintojen liittäminen äärellisiin utomtteihin Khdeksnjärjestelmän lukuj tunnistv utomtti j siihen perustuv syöteluvun rvonmääritys ( muuttminen kymmenjärjestelmään ) Lyhennysmerkintä d = {,,,7} q +, q d q 2 d d Pelkän syntksitestin toteutus: from sys import s t d i n q= f o r c i n s t d i n r e d l i n e ( ) s t r i p ( " \ n " ) : i f q==: i f c== " + " or c== " " : q= e l i f c i n " 234567 " : q=2 e l i f q==: i f c i n " 234567 " : q=2 e l i f q==2: i f c i n " 234567 " : q=2 i f q==2: p r i n t " Octl numerl " else : p r i n t " Not n o c t l numerl " 5/39 6/39

Täydennys syöteluvun rvon lskevill opertioill ( luvun muuttminen kymmenjärjestelmään ): from sys import s t d i n q= sgn= # SEM: sign vl = # SEM: bsolute vlue f o r c i n s t d i n r e d l i n e ( ) s t r i p ( " \ n " ) : i f q==: i f c== " + " : q= e l i f c== " " : sgn= ; q= e l i f c i n " 234567 " : v l = i n t ( c ) ; q=2 e l i f q==: i f c i n " 234567 " : v l = i n t ( c ) ; q=2 e l i f q==2: i f c i n " 234567 " : v l =8 * v l + i n t ( c ) ; q=2 i f q==2: p r i n t " Octl numerl ; deciml p r e s e n t t i o n i s ", sgn * v l else : p r i n t " Not n o c t l numerl " Sivupolku: hiemn lisää iheest Äärellisiä utomttej voidn käyttää käytöksen suunnittelun j toteutuksen pun esim peleissä: linkki j linkki 2 Myös kurssin tietokonekotitehtävissä käytetyn utomttieditorin käyttöliittymän logiikk voidn nähdä j on suunniteltu utomttin ( jos olemme tilss lisää siirtymä j tulee tphtum krisymboli klikttu, siirry litiln muokk krisymbolijoukko jne) Adoben ActionScript lnguge ( the progrmming lnguge for the Adobe Flsh Plyer nd Adobe AIR runtime environments ) sisältää tuen utomteille (ktso kpple kirjss Snders nd Cumrntunge: ActionScript 3 Design Ptterns) Wikipedist voi lukist vikkp rtikkelit tphtumpohjisist utomteist j utomttipohjisest ohjelmoinnist 7/39 8/39 23 Äärellisen utomtin käsitteen formlisointi Meknistinen mlli: syötenuh: nuhpää: ohjusyksikkö: i n p u q q 2 Äärellinen utomtti M koostuu äärellistilisest ohjusyksiköstä, jonk toimint säätelee utomtin siirtymäfunktio δ, sekä merkkipikkoihin jetust syötenuhst j nämä yhdistävästä nuhpäästä, jok kullkin hetkellä osoitt yhtä syötenuhn merkkiä q δ t Automtin toimint : Automtti käynnistetään erityisessä lkutilss q, siten että trksteltv syöte on kirjoitettun syötenuhlle j nuhpää osoitt sen ensimmäistä merkkiä Yhdessä toimint-skeless utomtti lukee nuhpään kohdll olevn syötemerkin, päättää ohjusyksikön tiln j luetun merkin perusteell siirtymäfunktion mukisesti ohjusyksikön uudest tilst, j siirtää nuhpäätä yhden merkin eteenpäin Automtti pysähtyy, kun viimeinen syötemerkki on käsitelty Jos ohjusyksikön til tällöin kuuluu erityiseen (hyväksyvien) lopputilojen joukkoon, utomtti hyväksyy syötteen, muuten hylkää sen Automtin tunnistm kieli on sen hyväksymien merkkijonojen joukko 9/39 2/39

Edellisen klvon snllinen määritelmä voi jättää tulkinnnvr (mitä tphtuu tyhjällä syötteellä ε, jne) Täsmällinen, mtemttinen muotoilu: Määritelmä Äärellinen utomtti on viisikko missä M = (Q,Σ,δ,q,F), Q on utomtin tilojen äärellinen joukko; Σ on utomtin äärellinen syötekkosto; δ : Q Σ Q on utomtin siirtymäfunktio; q Q on utomtin lkutil; F Q on utomtin (hyväksyvien) lopputilojen joukko Liukulukuutomtin formli esitys: M = ({q,,q 7,error},{,,,9,,E,e,+,-}, δ,q,{q 2,q 3,q 6 }), missä δ on kuten iemmin tulukoss; esim δ(q,) = δ(q,) = = δ(q,9) = q, δ(q,) = q 7, δ(q,e) = δ(q,e) = error, δ(q,) = q 2, δ(q,e) = δ(q,e) = q 4, jne 2/39 22/39 Automtin käytöksen formlisointi Edellinen määritelmä kuvsi utomtin rkenteen mutt ei vielä sen käytöstä Myös käytös voidn kuvt trksti mtemttisesti prin lisämääritelmän vull Automtin tilnne on pri (q,w) Q Σ Erityisesti utomtin lkutilnne syötteellä x on pri (q,x) Intuitio: q on utomtin til j w on syötemerkkijonon jäljellä olev, so nuhpäästä oikelle sijitsev os Esimerkki Muun muss seurvt ovt liukulukuutomtin tilnteit: (q,25e2), (q,ee33), (error,e33), (q,25e2), (q 6,ε) Syötteellä 242E utomtin lkutilnne on (q,242e) Tilnne (q,w) joht suorn tilnteeseen (q,w ), merkitään (q,w) M (q,w ), jos on w = w ( Σ) j q = δ(q,) Tällöin snotn myös, että tilnne (q,w ) on tilnteen (q,w) välitön seurj Intuitio: utomtti ollessn tilss q j lukiessn nuhll olevn merkkijonon w = w ensimmäisen merkin siirtyy tiln q j siirtää nuhpäätä yhden skelen eteenpäin, jolloin nuhlle jää merkkijono w Jos utomtti M on yhteydestä selvä, reltiot voidn merkitä yksinkertisesti (q,w) (q,w ) Esimerkki Pohdi miksi liukulukuutomtill (i) pätee (q,25e2) (q,25e2), (ii) ei päde (q,25e2) (q 6,5E2), j (iii) tilnteell (q 6,ε) ei ole välittömiä seurji 23/39 24/39

Tilnne (q,w) joht tilnteeseen (q,w ) t tilnne (q,w ) on tilnteen (q, w) seurj, merkitään (q,w) M (q,w ), jos on olemss välitilnnejono (q,w ), (q,w ),, (q n,w n ), n, siten että (q,w) = (q,w ), (q,w ) M (q,w ), (q,w ) M (q 2,w 2 ) (q n,w n ) M (q n,w n ) j (q n,w n ) = (q,w ) Erikoistpuksen n = sdn (q,w) M (q,w) millä thns tilnteell (q, w) Jälleen, jos utomtti M on yhteydestä selvä, merkitään yksinkertisesti (q,w) (q,w ) Automtti M hyväksyy merkkijonon x Σ, jos on voimss muuten M hylkää x:n (q,x) M (q f,ε) jollkin q f F; Toisin snoen: utomtti hyväksyy x:n, jos sen lkutilnne syötteellä x joht, syötteen loppuess, johonkin hyväksyvään lopputilnteeseen Automtin M tunnistm kieli määritellään: L(M) = {x Σ (q,x) M (q f,ε) jollkin q f F} 25/39 26/39 Merkkijonon 25E2 käsittely liukulukuutomtill: (q,25e2) (q,25e2) (q 2,25E2) (q 3,5E2) (q 3,E2) (q 4,2) (q 6,ε) Kosk q 6 F = {q 2,q 3,q 6 }, on siis 25E2 L(M) Vihtoehtoinen määritelmä (Sipserin kirjst) Automtin hyväksymät snt voitisiin määritellä myös ilmn tilnnett Kulloinkin jäljellä olev syöte ei tällöin näy suorn esityksestä Määritelmä Olkoon M = (Q,Σ,δ,q,F) äärellinen utomtti M hyväksyy merkkijonon w = w w 2 w n Σ jos on olemss jono r r r 2 r n Q utomtin tiloj siten, että r = q δ(r i,w i+ ) = r i+ pätee kikille i < n r n F L(M) = {w Σ M hyväksyy w:n} Liukulukuutomtti hyväksyy merkkijonon 25E2 kosk ylläminitut ehdot täyttyvät tiljonoll q q q 2 q 3 q 3 q 4 q 6 27/39 28/39

Hiemn lisää esimerkkejä Kielet j {w {,} w sisältää prillisen määrän symboli } {w {,} w sisältää limerkkijonon } voidn tunnist seurvill utomteill: e o b c d, Tiln selitys voisi oll ei oll vielä nähty merkkijono j edellinen merkki ei ollut Mitkä voisivt oll muiden utomtin tilojen selitykset? Luse Jos L Σ voidn tunnist äärellisellä utomtill, niin myös kieli L = {w Σ w / L} voidn Todistus Otetn mikä thns äärellinen utomtti M L = (Q,Σ,δ,q,F), jok tunnist kielen L (eli L(M L ) = L) Kosk utomtin til suorituksen lopuss on yksikäsitteinen mille thns syötemerkkijonolle, smme äärellisen utomtin komplementtikielelle L = {w Σ w / L} yksinkertisesti vihtmll kikki hyväksyvät lopputilt ei-hyväksyviksi j päinvstoin eli M L = (Q,Σ,δ,q,Q \ F) 29/39 3/39 Edellisen esimerkin utomtist kielelle L = {w {,} w sisältää limerkkijonon } smme tällä konstruktioll komplementtikielen L = {w {,} w ei sisällä limerkkijono } hyväksyvän utomtin: b c d, Luse Jos kielet A,B Σ voidn tunnist äärellisellä utomteill, niin myös kieli A B = {w Σ w A j w B} voidn Todistus Olkoot M A = (Q A,Σ,δ A,q A,,F A ) j M B = (Q B,Σ,δ B,q B,,F B ) äärellisiä utomttej, jotk tunnistvt kielet A j B Tehdään utomtti M A B = (Q A B,Σ,δ A B,q A B,,F A B ), jok simuloi kumpkin utomtti yhtäik j hyväksyy merkkijonon jos j vin jos kumpikin utomtti hyväksyisi Q A B = Q A Q B eli utomtin tilt ovt prej, jotk pitävät kirj siitä, missä tilss simuloitvt utomtit A j B olisivt q A B, = (q A,,q B, ) eli lkutilss kummtkin simuloitvt utomtit olisivt lkutilss 3/39 32/39

δ A B ((q,q B ),σ) = (δ A (q A,σ),δ B (q B,σ)) eli siirrytään uuteen tiln niin, että se vst niitä tiloj, joihin simuloitvt utomtit olisivt päättyneet luettun smn merkin σ, j F A B = F A F B eli hyväksytään joss kumpikin simuloitv utomtti hyväksyisi Nyt voitisiin näyttää induktioll syöte merkkijonon pituuden suhteen, että jos utomtti A on syötteen lukemisen jälkeen tilss q j utomtti B tilss q B, niin silloin utomtti M A B on tilss (q A,q B ) (Vstvi konstruktioit kierroksen 3 demotehtävissä) Tehdään esitetyllä konstruktioll utomtti, jok hyväksyy snt, jotk sisältävät sekä prillisen määrän symboli että lisnn Lähtöutomtit: e o b c d Tulos: (e, ) (e, b) (e, c) (e, d) (o, ) (o, b) (o, c) (o, d), 33/39 34/39 Sivupolku: joitin muit utomttiluokki Äärelliset utomtit ovt ehkäpä yksinkertisin utomttiluokk Niiden ljennuksi on pljon, seurvill klvoill olevien lisäksi mm: Pinoutomtit: trkstelln myöhemmin kurssill Ajstetut utomtit: ljentvt äärellisiä utomttej relilukurvoisill kelloill (ktso esim johdntortikkeli j eräs työklu) Hybridiutomtit: sllivt yleisemmän relilukurvoisten muuttujien käytön, käytetään mllintmn tietokoneohjelmien j -litteiden j fyysisten prosessien välistä vuorovikutust Turingin koneet: trkstelln myöhemmin kurssill 35/39 36/39

Äärettömät merkkijonot Tällä kurssill trkstelln vin äärellisiä merkkijonoj mutt joisskin sovelluksiss trvitn myös äärettömiä syötteitä: Esimerkiksi rektiivisiss järjestelmissä (serverit, protokollt, jne) suorituksen ei välttämättä oletet päättyvän ollenkn Äärettömille merkkijonoille on määritelty useit utomttiluokki Esim Büchi-utomtit hyväksyvät äärettömän merkkijonon jos hyväksyvässä tilss käydään äärettömän usein Sovellusesimerkkinä: spin verifiction tool Büchi-utomtti, jok hyväksyy kkoston {, b, c} äärettömät merkkijonot, joiden prillisiss positioiss on b, c s s Nyt bccb hyväksytään mutt bbccb j bcccb hylätään Büchi-utomtti, jok hyväksyy kkoston {req, ck, dt} äärettömät merkkijonot, joiss jokist req-symboli ( request, pyyntö ) seur myöhemmin ck-symboli ( cknowledgement, kuittus ) ck req s s req, dt ck, dt 37/39 38/39 Muuntimet Äärellistiliset muuntimet (engl trnsducers) eivät hylkää/hyväksy syötettä vn muuntvt sen toiseksi merkkijonoksi Esimerkiksi Mooren koneet liittävät tulosteen lskennn tiloihin s / b, c b, c b, c s / s 2 / input: stte: output: b c c s s s s s s 2 s 2 s kun ts Melyn koneet sllivt tulosteen riippu myös nykyisestä syötemerkistä: b/, c/ input: b c c / stte: s s s s s s s s s s output: b/, c/ / Käytetään yleisimmin litteistosuunnitteluss (syötekkosto on joukko kellotettuj signlej jne); kokeile nettihku termillä Mely mchine 39/39