Kontekstivabad keeled

Σχετικά έγγραφα
Kontekstivabad keeled

Formaalsete keelte teooria. Mati Pentus

T~oestatavalt korrektne transleerimine

HULGATEOORIA ELEMENTE

Geomeetrilised vektorid

ITI 0041 Loogika arvutiteaduses Sügis 2005 / Tarmo Uustalu Loeng 4 PREDIKAATLOOGIKA

Kirjeldab kuidas toimub programmide täitmine Tähendus spetsifitseeritakse olekuteisendussüsteemi abil Loomulik semantika

Kompleksarvu algebraline kuju

Keerukusteooria elemente

Graafiteooria üldmõisteid. Graaf G ( X, A ) Tippude hulk: X={ x 1, x 2,.., x n } Servade (kaarte) hulk: A={ a 1, a 2,.., a m } Orienteeritud graafid

Funktsiooni diferentsiaal

Lokaalsed ekstreemumid

MATEMAATIKA TÄIENDUSÕPE MÕISTED, VALEMID, NÄITED LEA PALLAS XII OSA

KOMBINATSIOONID, PERMUTATSIOOND JA BINOOMKORDAJAD

2.2.1 Geomeetriline interpretatsioon

MATEMAATIKA TÄIENDUSÕPE MÕISTED, VALEMID, NÄITED, ÜLESANDED LEA PALLAS VII OSA

Punktide jaotus: kodutööd 15, nädalatestid 5, kontrolltööd 20+20, eksam 40, lisapunktid Kontrolltööd sisaldavad ka testile vastamist

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 10: Αυτόματα Στοίβας II

Parts Manual. Trio Mobile Surgery Platform. Model 1033

9. AM ja FM detektorid

Suhteline salajasus. Peeter Laud. Tartu Ülikool. peeter TTÜ, p.1/27

HAPE-ALUS TASAKAAL. Teema nr 2

Ehitusmehaanika harjutus

Arvuteooria. Diskreetse matemaatika elemendid. Sügis 2008

C 1 D 1. AB = a, AD = b, AA1 = c. a, b, c : (1) AC 1 ; : (1) AB + BC + CC1, AC 1 = BC = AD, CC1 = AA 1, AC 1 = a + b + c. (2) BD 1 = BD + DD 1,

Mudeliteooria. Kursust luges: Kalle Kaarli september a. 1 Käesoleva konspekti on L A TEX-kujule viinud Indrek Zolk.

Diskreetne matemaatika 2016/2017. õ. a. Professor Peeter Puusemp

Vektorid II. Analüütiline geomeetria 3D Modelleerimise ja visualiseerimise erialale

Matemaatiline analüüs I iseseisvad ülesanded

KATEGOORIATEOORIA. Kevad 2016

KATEGOORIATEOORIA. Kevad 2010

Διευθύνοντα Μέλη του mathematica.gr

&,'-- #-" > #'$,"/'3&)##3!0'0#!0#/# 0'0';&'"$8 ''#"&$'!&0-##-""#;-# B

!"#$%& '!(#)& a<.21c67.<9 /06 :6>/ 54.6: 1. ]1;A76 _F -. /06 4D26.36 <> A.:4D6:6C C4/4 /06 D:43? C</ O=47?6C b*dp 12 :1?6:E /< D6 3:4221N6C 42 D:A6 O=

YMM3740 Matemaatilne analüüs II

Lambda-arvutus. λ-termide süntaks. Näiteid λ-termidest. Sulgudest hoidumine. E ::= V muutuja (E 1 E 2 ) aplikatsioon (λv.

HONDA. Έτος κατασκευής

Krüptoloogia II: Sissejuhatus teoreetilisse krüptograafiasse. Ahto Buldas


4.2.5 Täiustatud meetod tuletõkestusvõime määramiseks

# $ "! " # $ % &' #( ) * + & % (, '. / 0, 1 2 *

Semantiline analüüs. Süntaksipuu dekoreeritakse tüübi- ja muu kontekstist sõltuva

March 14, ( ) March 14, / 52



(a b) c = a (b c) e a e = e a = a. a a 1 = a 1 a = e. m+n

Planeedi Maa kaardistamine G O R. Planeedi Maa kõige lihtsamaks mudeliks on kera. Joon 1

Σειρά Προβλημάτων 3 Λύσεις

الهندسة ( )( ) مذكرة رقم 14 :ملخص لدرس:الجداءالسلمي مع تمارين وأمثلةمحلولة اھافواراتاة ارس : ( ) ( ) I. #"ر! :#"! 1 :ااءا&%$: v

8. KEEVISLIITED. Sele 8.1. Kattekeevisliide. Arvutada kahepoolne otsõmblus terasplaatide (S235J2G3) ühendamiseks. F = 40 kn; δ = 5 mm.

Ruumilise jõusüsteemi taandamine lihtsaimale kujule

1 Funktsioon, piirväärtus, pidevus

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

Jätkusuutlikud isolatsioonilahendused. U-arvude koondtabel. VÄLISSEIN - COLUMBIA TÄISVALATUD ÕÕNESPLOKK 190 mm + SOOJUSTUS + KROHV

J! "#$ %"& ( ) ) ) " *+, -./0-, *- /! /!+12, ,. 6 /72-, 0,,3-8 / ',913-51:-*/;+ 5/<3/ +15;+ 5/<3=9 -!.1!-9 +17/> ) ) &

È

/&25*+* 24.&6,2(2**02)' 24

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Compress 6000 LW Bosch Compress LW C 35 C A ++ A + A B C D E F G. db kw kw /2013

Algebraliste võrrandite lahenduvus radikaalides. Raido Paas Juhendaja: Mart Abel

! "# $"%%&$$'($)*#'*#&+$ ""$&#! "#, &,$-.$! "$-/+#0-, *# $-*/+,/+%!(#*#&1!/+# ##$+!%2&$*2$ 3 4 #' $+#!#!%0 -/+ *&

28. Sirgvoolu, solenoidi ja toroidi magnetinduktsiooni arvutamine koguvooluseaduse abil.

ΥΠΗΡΕΣΙΕΣ ΠΡΟΣΩΠΙΚΟΥ ΔΙΑΧΕΙΡΙΣΗ ΑΠΟΔΟΣΗΣ ΚΑΙ ΣΤΕΛΕΧΩΣΗ

ISC0100 KÜBERELEKTROONIKA


,, #,#, %&'(($#(#)&*"& 3,,#!4!4! +&'(#,-$#,./$012 5 # # %, )

Matemaatiline analüüs I iseseisvad ülesanded

Batigoal_mathscope.org ñược tính theo công thức

!"!# ""$ %%"" %$" &" %" "!'! " #$!

!"#$ "%&$ ##%&%'()) *..$ /. 0-1$ )$.'-

ALGEBRA I. Kevad Lektor: Valdis Laan

ΔΗΜΟΤΙΚΕΣ ΕΚΛΟΓΕΣ 18/5/2014 ΑΚΥΡΑ

Εφαρμοσμένα Μαθηματικά ΙΙ 5ο Σετ Ασκήσεων (Λύσεις) Πίνακες Επιμέλεια: I. Λυχναρόπουλος

MÉTHODES ET EXERCICES

2. HULGATEOORIA ELEMENTE

ΠΡΟΓΡΑΜΜΑ ΕΚΠΟΝΗΣΗΣ ΜΕΛΕΤΩΝ ΚΑΙ ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ

Σειρά Προβλημάτων 3 Λύσεις

FUNKTSIONAALNE PROGRAMMEERIMINE. Skeemid. Eesmärk: esitada riistvara skeeme ja teisi andmevoodiagrammidel baseeruvaid kirjeldusi Haskellis

1 Reaalarvud ja kompleksarvud Reaalarvud Kompleksarvud Kompleksarvu algebraline kuju... 5

Carolina Bernal, Frédéric Christophoul, Jean-Claude Soula, José Darrozes, Luc Bourrel, Alain Laraque, José Burgos, Séverine Bès de Berc, Patrice Baby

MATEMAATILISEST LOOGIKAST (Lausearvutus)

3. LOENDAMISE JA KOMBINATOORIKA ELEMENTE

Λύση Για να είναι αντιστρέψιμος θα πρέπει η ορίζουσα του πίνακα να είναι διάφορη του μηδενός =


Πίνακας ρυθμίσεων στο χώρο εγκατάστασης

STM A ++ A + A B C D E F G A B C D E F G. kw kw /2013

Αυτό το κεφάλαιο εξηγεί τις ΠΑΡΑΜΕΤΡΟΥΣ προς χρήση αυτού του προϊόντος. Πάντα να μελετάτε αυτές τις οδηγίες πριν την χρήση.

! " #! $ % & $ ' ( % & # ) * +, - ) % $!. /. $! $

Avaliku võtmega krüptograafia

Σειρά Προβλημάτων 3 Λύσεις

Προβολές και Μετασχηματισμοί Παρατήρησης

HSM TT 1578 EST EE (04.08) RBLV /G

Vektoralgebra seisukohalt võib ka selle võrduse kirja panna skalaarkorrutise

Funktsioonide õpetamisest põhikooli matemaatikakursuses

Κεφάλαιο 6 ιανυσµατικοί χώροι...1

Matemaatiline analüüs IV praktikumiülesannete kogu a. kevadsemester

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

sin 2 α + cos 2 sin cos cos 2α = cos² - sin² tan 2α =

6.6 Ühtlaselt koormatud plaatide lihtsamad

Krüptoräsid (Hash- funktsioonid) ja autentimine. Kasutatavaimad algoritmid. MD5, SHA-1, SHA-2. Erika Matsak, PhD

Transcript:

Kontekstivabad keeled Teema 2.2 Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 1 / 28

Sisukord 1 Pinuautomaadid 2 KV keeled ja pinuautomaadid Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 2 / 28

Järgmine punkt 1 Pinuautomaadid 2 KV keeled ja pinuautomaadid Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 3 / 28

Pinuautomaat e magasinmäluga automaat Töötakti alguses δ(q,b,b) = {...,(q,dac),...} Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 4 / 28

Pinuautomaat e magasinmäluga automaat Töötakti lõpus δ(q,b,b) = {...,(q,dac),...} Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 5 / 28

Pinuautomaadi mudel Lõplik automaat koos magasiniga: magasini saab laadida sümboleid (operatsioon push(a)) ja lugeda neid sealt hiljem tagasi vastupidises järjekorras (operatsioon pop()); esimese sümbolina laaditakse magasini sümbol $, kui operatsiooni pop() tulemusena loetakse $, on magasin tühi; magasin on potentsiaalselt piiramatu mahuga. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 6 / 28

Pinuautomaadi formaalne definitsioon Kasutatakse erinevaid tähestikke sisendsümbolite (Σ) ja magasinisümbolite (Γ) joaks. Definitsioon Lõplik pinuautomaat on struktuur M = (Q,Σ,Γ,δ,Q 0,F ). kus Q on lõplik olekute tähestik; Σ on sisendsümbolite tähestik; Γ on magasinisümbolite tähestik; δ : Q Σ ε Γ ε P(Q Γ ε ) on üleminekufunktsioon; Q 0 Q on lähteolekute hulk; F Q lõppolekute hulk (aktsepteerivate olekute hulk). Siin on kasutatud tähiseid: P(X ) hulga X kõigi alamhulkade hulk (astmehulk); A ε = A {ε}. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 7 / 28

Pinuautomaadi funktsioneerimine Olgu M = (Q,Σ,Γ,δ,Q 0,F ) mittedeterministlik lõplik pinuautomaat ja w = w 1 w 2...w m sõne tähestikus Σ ε. Definitsioon M aktsepteerib sõne w, kui leidub olekute jada r 0,...,r m Q ja magasinisümbolite sõned s 0,s 1,...,s m Γ, mis rahuldavad järgmisi tingimusi: 1 r 0 Q 0 ja s 0 = ε (automaat M alustab lähteolekust ja tühja magasiniga); 2 Iga i = 0,...,m 1 jaoks (r i+1,b) δ(r i,w i+1,a), kus s i = at ja s i+1 = bt mingite a,b Γ ε ning t Γ. 3 r m F Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 8 / 28

Pinuautomaadi esitamine diagrammina Sarnane lõpliku automaadi esitusega: graaf, mille tippudeks on olekud, servad on aga märgendatud üleminekuid tähistavate avaldistega kujul a,b c kus a on loetav sisendsümbol; b on magasinist võetav sümbol (b = pop()); c on magasini laaditav sümbol (push(c)). ε-üleminekud tähendavad, et sisendsümbolit ei loeta, kui a = ε; magasinist ei võeta sümbolit, kui b = ε; magasini ei laadita sümboleid, kui c = ε. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 9 / 28

Pinuautomaadi näide Pinuautomaat, mis aktsepteerib keele L = {0 n 1 n n > 0} ε,ε $ q 0 q 1 0,ε 0 1,0 ε q 3 ε,$ ε q 2 1,0 ε Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 10 / 28

Pinuautomaadi näide (2) Pinuautomaat, mis aktsepteerib keele L = {a i b j c k i,j,k > 0 ja i = j i = k} b,a ε c,ε ε q 0 ε,$ ε q 2 q 3 ε,ε $ q 1 ε,ε ε ε,ε ε ε,ε ε ε,$ ε q 4 q 5 q 6 a,ε a b,ε ε c,a ε Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 11 / 28

Pinuautomaadi näide (3) Pinuautomaat, mis aktsepteerib keele L = {ww R w {0,1} } ε,ε $ q 0 q 0,ε 0 1 1,ε 1 ε,ε ε q 3 ε,$ ε q 2 0,0 ε 1,1 ε w R tähistab sõnet w kirjutatuna paremalt vasakule. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 12 / 28

Tähistuste lihtsustamine Sagedasti esinev olukord: Magasini laaditakse mitu sümbolit järjest ilma samaaegselt sisendit lugemata. Tähistuste ja diagrammide lihtsustamiseks võib modifitseerida üleminekufunktsiooni järgmiselt: Üleminekute jada (q 1,u l ) δ(q,a,s) δ(q 1,ε,ε) = {(q 2,u l 1 )} δ(q 2,ε,ε) = {(q 3,u l 2 )}. δ(q l 1,ε,ε) = {(r,u 1 )} võib asendada ühe üleminekuga: kus u = u 1 u 2...u l. (r,u) δ(q,a,s), Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 13 / 28

Tähistuste lihtsustamine Sagedasti esinev olukord: Magasini laaditakse mitu sümbolit järjest ilma samaaegselt sisendit lugemata. Tähistuste ja diagrammide lihtsustamiseks võib modifitseerida üleminekufunktsiooni järgmiselt: Sama diagrammina Näiteks (r,xyz) δ(q,a,s) tähendus q q a,s z q 1 a,s xyz = ε,ε y r q 2 ε,ε x r Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 13 / 28

Järgmine punkt 1 Pinuautomaadid 2 KV keeled ja pinuautomaadid Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 14 / 28

KV keeled ja pinuautomaadid Teoreem Iga KV keel on aktsepteeritav mingi magasinmäluga automaadi abil. Algoritm. Sisend: L = L (G), kus G = (N,Σ,P,S) on KV grammatika. Väljund: L = L (M), kus M = (Q,Σ,Γ,δ,{q start },F ) on MMA, nii et 1 Γ = Σ N {$} 2 Q = {q start,q loop,q accept } 3 Üleminekufunktsioon rahuldab tingimusi: δ(q start,ε,$) = { (q loop,s$) } ; δ(q loop,ε,a) = { (q loop,w) A w P } iga A N korral; δ(q loop,a,a) = { (q loop,ε) A a P } iga a Σ korral; δ(q loop,ε,$) = { (q accept,ε) }. 4 F = {q accept } m.o.t.t. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 15 / 28

KV keeled ja pinuautomaadid Teoreem Iga KV keel on aktsepteeritav mingi magasinmäluga automaadi abil. Algoritm. Sama diagrammina... q start ε,ε S$ q loop ε,a w a,a ε produktsiooni A w jaoks terminaali a jaoks ε,$ ε q accept m.o.t.t. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 15 / 28

Aritmeetilise avaldise pinuautomaat Olgu antud Kv grammatika produktsioonidega: S S + T T T T F F F (S) x x,x ε +,+ ε, ε (,( ε ),) ε q start q loop ε,ε S$ ε,s S + T ε,s T ε,t T F ε,t F ε,f (S) ε,f x ε,$ ε q accept Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 16 / 28

Ühe olekuga pinuautomaadid Teoreem Iga MMA M jaoks leidub ühe olekuga MMA M, nii et L (M) = L (M ). Algoritm. Sisend: MMA M = (Q,Σ,Γ,δ,Q 0,F ) Väljund: Ühe olekuga MMA M = ({ },Σ,Γ,δ,{ },{ }), nii et Γ = {[sat] a Σ, (t,γ) δ (s,a,a)}; üleminekufunktsioon δ rahuldab tingimusi : 1 Kui (t,bcd) δ(s,a,a), siis iga kolme oleku x 1,x 2,x 3 Q jaoks (,[tbx 1 ][x 1 Cx 2 ][x 2 Dx 3 ]) δ (,a,[sax 3 ]); 2 Kui (t,ε) δ[(s,a,a), siis (,ε) δ (,a,[sat]); 3 δ (,ε,$) = {(,[q 0 $x]) x Q,q 0 Q 0 }; Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 17 / 28

Ühe olekuga pinuautomaadid Teoreem Iga MMA M jaoks leidub ühe olekuga MMA M, nii et L (M) = L (M ). Lihtsustades tähistusi võib üleminekufunktsiooni esitada uuel kujul δ : Σ ε Γ P(Γ ) ning esitada konstrueeritud algoritmi lühemalt: Algoritm. Sisend: MMA M = (Q,Σ,Γ,δ,Q 0,F ) Väljund: Ühe olekuga MMA M = ({ },Σ,Γ,δ,{ },{ }), nii et Γ = {[sat] a Σ, (t,γ) δ(s,a,a)}; üleminekufunktsioon δ rahuldab tingimusi : 1 Kui (t,bcd) δ(s,a,a), siis iga kolme oleku x 1,x 2,x 3 Q jaoks [tbx 1 ][x 1 Cx 2 ][x 2 Dx 3 ] δ (a,[sax 3 ]); 2 Kui (t,ε) δ[(s,a,a), siis ε δ (a,[sat]); 3 δ (ε,$) = {[q 0 $x] x Q,q 0 Q 0 }; Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 17 / 28

Ühe olekuga pinuautomaat Palindroome aktstsepteeritv automaat Automaadi M magasini tähestik: Z=[q$r] C=[qas] F=[sas] A=[q$q] D=[qbq] G=[sbs] B=[qaq] E=[qbs] H=[s$r] I=[q$s] Funktsiooni δ genereerimine ülemineku δ(q,a,$) = {(q,a$)} jaoks Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 18 / 28

Ühe olekuga pinuautomaat Palindroome aktstsepteeritv automaat Automaadi M magasini tähestik: Z=[q$r] C=[qas] F=[sas] A=[q$q] D=[qbq] G=[sbs] B=[qaq] E=[qbs] H=[s$r] I=[q$s] Funktsiooni δ genereerimine ülemineku δ(q,a,$) = {(q,a$)} jaoks δ (a,[q$q]) = {[qaq][q$q], [qas][s$q], [qar][r$q]} δ (a,[q$s]) = {[qaq][q$s], [qas][s$s], [qar][r$s]} δ (a,[q$r]) = {[qaq][q$r], [qas][s$r], [qar][r$r]} Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 18 / 28

Ühe olekuga pinuautomaat Palindroome aktstsepteeritv automaat Automaadi M magasini tähestik: Z=[q$r] C=[qas] F=[sas] A=[q$q] D=[qbq] G=[sbs] B=[qaq] E=[qbs] H=[s$r] I=[q$s] Funktsiooni δ genereerimine ülemineku δ(q,a,$) = {(q,a$)} jaoks { } δ (a,[q$q]) = [qaq][q$q], [qas][s$q], [qar][r$q] { } δ (a,[q$s]) = [qaq][q$s], [qas][s$s], [qar][r$s] { } δ (a,[q$r]) = [qaq][q$r], [qas][s$r], [qar][r$r] Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 18 / 28

Ühe olekuga pinuautomaat Palindroome aktstsepteeritv automaat Automaadi M magasini tähestik: Z=[q$r] C=[qas] F=[sas] A=[q$q] D=[qbq] G=[sbs] B=[qaq] E=[qbs] H=[s$r] I=[q$s] Funktsiooni δ genereerimine ülemineku δ(q,a,$) = {(q,a$)} jaoks δ (a,[q$q]) = {[qaq][q$q]} δ (a,[q$s]) = {[qaq][q$s]} δ (a,[q$r]) = {[qaq][q$r], [qas][s$r]} Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 18 / 28

Ühe olekuga pinuautomaat Palindroome aktstsepteeritv automaat Automaadi M magasini tähestik: Z=[q$r] C=[qas] F=[sas] A=[q$q] D=[qbq] G=[sbs] B=[qaq] E=[qbs] H=[s$r] I=[q$s] Funktsiooni δ genereerimine ülemineku δ(q,a,$) = {(q,a$)} jaoks δ (a,[q$q]) = {[qaq][q$q]} δ (a,[q$s]) = {[qaq][q$s]} δ (a,[q$r]) = {[qaq][q$r], [qas][s$r]} = δ (a,a) = {BA} δ (a,i ) = {BI } δ (a,z) = {BZ, CH} Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 18 / 28

Ühe olekuga pinuautomaat (2) Üleminekufunktsioon δ Σ Γ ε A B C D E F G H I Z a BA BI BZ,CH b ε Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 19 / 28

Ühe olekuga pinuautomaat (2) Üleminekufunktsioon δ Σ Γ ε A B C D E F G H I Z a BA BB BC,CF,ε BD BE,CG ε BI BZ,CH b DA DB DC,EF DD DE,EG,ε ε DI DZ,EH ε A,I,Z ε Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 20 / 28

Ühe olekuga pinuautomaat (2) Üleminekufunktsioon δ (mitteproduktiivsete üleminekute kustamine): Σ Γ ε A B; C D E F G H I Z a BA BB BC,CF,ε BD BE,CG ε BI BZ,CH b DA DB DC,EF DD DE,EG,ε ε DI DZ,EH ε A,I,Z ε Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 21 / 28

Ühe olekuga pinuautomaat (2) Üleminekufunktsioon δ (mitteproduktiivsete üleminekute kustamine): Σ Γ ε A B C D E F G H I Z BC,CF,ε BE,CG BZ,CH a BA BB BD ε BI DC,EF DE,EG,ε DZ,EH b DA DB DD ε DI A,I,Z ε ε Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 22 / 28

Ühe olekuga pinuautomaat (2) Üleminekufunktsioon δ (pärast optimeerimist): Σ Γ ε C E F G H Z a CF,ε CG ε CH b EF EG,ε ε EH ε Z ε Tuletuse näide Üleminekufunktsiooni δ korral: (aabaabaa,ε) (aabaabaa,z) (abaabaa,ch) (baabaa,cfh) (aabaa,effh) (abaa,cgffh) (baa,gffh) (aa,ffh) (a,fh) (ε,h) (ε,ε) Üleminekufunktsiooni δ korral: (p,aabaabaa,ε) (q,aabaabaa,$) (q,abaabaa,a$) (q,baabaa,aa$) (q,aabaa,baa$) (q,abaa,abaa$) (s,baa,baa$) (s,aa,aa$) (s,a,a$) (s,ε,$) (r,ε,ε) Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 23 / 28

Ühe olekuga pinuautomaat (2) Üleminekufunktsioon δ (pärast optimeerimist): Σ Γ ε C E F G H Z a CF,ε CG ε CH b EF EG,ε ε EH ε Z ε Tuletuse näide Üleminekufunktsiooni δ korral: (aabaabaa,ε) (aabaabaa,z) (abaabaa,ch) (baabaa,cfh) (aabaa,effh) (abaa,cgffh) (baa,gffh) (aa,ffh) (a,fh) (ε,h) (ε,ε) Üleminekufunktsiooni δ korral: (p,aabaabaa,ε) (q,aabaabaa,$) (q,abaabaa,a$) (q,baabaa,aa$) (q,aabaa,baa$) (q,abaa,abaa$) (s,baa,baa$) (s,aa,aa$) (s,a,a$) (s,ε,$) (r,ε,ε) Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 23 / 28

Vastavus üleminekufunktsioonide vahel Üleminekufunktsiooni δ korral: (aabaabaa,ε) (aabaabaa,z) (abaabaa,ch) (baabaa,cfh) (aabaa,effh) (abaa,cgffh) (baa,gffh) (aa,ffh) (a,fh) (ε,h) (ε,ε) Üleminekufunktsiooni δ korral: (p,aabaabaa,ε) (q,aabaabaa,$) (q,abaabaa,a$) (q,baabaa,aa$) (q,aabaa,baa$) (q,abaa,abaa$) (s,baa,baa$) (s,aa,aa$) (s,a,a$) (s,ε,$) (r,ε,ε) Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 24 / 28

Vastavus üleminekufunktsioonide vahel Üleminekufunktsiooni δ korral: (aabaabaa,ε) (aabaabaa,z) (abaabaa,ch) (baabaa,cfh) (aabaa,effh) (abaa,cgffh) (baa,gffh) (aa,ffh) (a,fh) (ε,h) (ε,ε) Üleminekufunktsiooni δ korral: (p,aabaabaa,ε) (q,aabaabaa,$) (q,abaabaa,a$) (q,baabaa,aa$) (q,aabaa,baa$) (q,abaa,abaa$) (s,baa,baa$) (s,aa,aa$) (s,a,a$) (s,ε,$) (r,ε,ε) Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 24 / 28

Vastavus üleminekufunktsioonide vahel Üleminekufunktsiooni δ korral: (aabaabaa,ε) (aabaabaa,z) (abaabaa,ch) (baabaa,cfh) (aabaa,effh) (abaa,cgffh) (baa,gffh) (aa,ffh) (a,fh) (ε,h) (ε,ε) Üleminekufunktsiooni δ korral: (p,aabaabaa,ε) (q,aabaabaa,$) (q,abaabaa,a$) (q,baabaa,aa$) (q,aabaa,baa$) (q,abaa,abaa$) (s,baa,baa$) (s,aa,aa$) (s,a,a$) (s,ε,$) (r,ε,ε) Pikemalt välja kirjutades: Üleminekufunktsiooni δ korral:... (abaa,[qas][sbs][sas][sas][s$r]) (baa,[sbs][sas][sas][s$r])... Üleminekufunktsiooni δ korral:... (q,abaa,abaa$) (s,baa,baa$)... Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 24 / 28

Ühe olekuga pinuautomaat ja KV grammatika Teoreem Ühe olekuga magasinmäluga automaadi M jaoks leidub KV grammatika G, nii et L (M) = L (G). Tõestus. Automaadi M üleminekufunktsiooni δ : Σ ε Γ P(Γ ) jaoks saab konstrueerida KV grammatika järgmiselt: Kui ABC δ (a,d), siis lisada grammatikale G produktsioon D aabc Grammatika lähetsümboliks valida olek, mis esimesena laaditakse magasini, näiteks S, kui S δ (ε,ε). m.o.t.t. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 25 / 28

Ühe olekuga pinuautomaat ja KV grammatika Teoreem Ühe olekuga magasinmäluga automaadi M jaoks leidub KV grammatika G, nii et L (M) = L (G). Σ Γ ε C E F G H S a CF,ε CG ε CH b EF EG,ε ε EH ε S ε Palindroome aktsepteeriv grammatika S ach C acf E acg F a S beh C bef E beg G b C a E b H ε Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 25 / 28

Ühe olekuga pinuautomaat ja KV grammatika Σ Γ ε C E F G H S a CF,ε CG ε CH b EF EG,ε ε EH ε S ε Palindroome aktsepteeriv grammatika Võrdleme tuletusi: S ach C acf E acg F a S beh C bef E beg G b C a E b H ε (aabaabaa,ε) (aabaabaa,z) (abaabaa,ch) (baabaa,cfh) (aabaa,effh) (abaa,cgffh) (baa,gffh) (aa,ffh) (a,fh) (ε,h) (ε,ε) S ach aacfh aabeffh aaabacgffh aabaagffh aabaabffh aabaabafh aabaabaah aabaabaa Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 25 / 28

Pinuautomaadid ja KV keeled Järeldus Lõpliku magasinmäluga automaadi aktsepteeritav keel on kontekstivaba. Järeldus Lõplike magasinmäluga automaatide abil aktsepteeritate keelte hulk langeb kokku kontekstivabade keelte hulgaga. Järeldus Kuuluvusprobleem (kas antud grammatika G korral sõne x L (G)?) on kontekstivabade keelte jaoks algoritmiliselt lahenduv. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 26 / 28

Greibachi normaalkuju Definitsioon KV grammatika on Greibachi normaalkujul, kui tema produktsioonid on kujul A aw, kus W N (erijuhul võib W olla ka tühi sõne!) või kujul S ε,kui keelde L (G) peab kuuluma ka tühi sõne Järeldus Iga KV grammatika on teisendatav Greibachi normaalkujule. Vt Greibachi normaalkuju kohta lisainfot kirjandusest ja veebist. Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 27 / 28

KV ja regulaarsed keeled Järeldus Regulaarsete keelte hulk on KV keelte pärisosahulk. KV keeled Regulaarsed keeled Jaan Penjam, email: jaan@cs.ioc.ee Rekursiooni- ja keerukusteooria: KV keeled 28 / 28