Olkoon G = (V,Σ,P,S) yhteydetön kielioppi. Välike A V Σ on tyhjentyvä, jos A. NULL := {A V Σ A ε on G:n produktio};

Samankaltaiset tiedostot
Yhteydettömän kieliopin jäsennysongelma

Rajoittamattomat kieliopit

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

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

S BAB ABA A aas bba B bbs c

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

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

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

Pinoautomaatit. Pois kontekstittomuudesta

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Chomskyn hierarkia ja yhteysherkät kieliopit

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

T Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut

ICS-C2000 Tietojenkäsittelyteoria

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

4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi:

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

6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli. H = {c M w M pysähtyy syötteellä w}

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

jäsentäminen TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 26. marraskuuta 2015 TIETOTEKNIIKAN LAITOS

Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja

Esimerkki 2.28: Tarkastellaan edellisen sivun ehdot (1) (3) toteuttavaa pinoautomaattia, jossa päätemerkit ovat a, b ja c ja pinoaakkoset d, e ja $:

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

1. Universaaleja laskennan malleja

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 10. kesäkuuta 2013

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

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

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

Säännöllisten kielten sulkeumaominaisuudet

2. Yhteydettömät kielet

Automaatit. Muodolliset kielet

Turingin koneen laajennuksia

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

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

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

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

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

Algoritmin määritelmä [Sipser luku 3.3]

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

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

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

jäsennyksestä TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 29. syyskuuta 2016 TIETOTEKNIIKAN LAITOS Kontekstittomien kielioppien

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

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

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

Rajoittamattomat kieliopit (Unrestricted Grammars)

5 Kontekstittomat kielet ja pinoautomaatit

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

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

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

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

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

Muita universaaleja laskennan malleja

1. Universaaleja laskennan malleja

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

ICS-C2000 Tietojenkäsittelyteoria

Yhteydettömät kieliopit [Sipser luku 2.1]

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

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

5.3 Ratkeavia ongelmia

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

Lisää pysähtymisaiheisia ongelmia

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

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

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

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

jäsentämisestä TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 27. marraskuuta 2015 TIETOTEKNIIKAN LAITOS

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

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

3. Turingin koneet. osaa esittää yksinkertaisia algoritmeja täsmällisesti käyttäen Turingin konetta ja sen muunnelmia

LR-jäsennys. Antti-Juhani Kaijanaho. 3. lokakuuta 2016

Rekursiiviset palautukset [HMU 9.3.1]

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

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 2. helmikuuta 2012

Täydentäviä muistiinpanoja laskennan rajoista

Ei-yhteydettömät kielet [Sipser luku 2.3]

ICS-C2000 Tietojenkäsittelyteoria

Osoitamme, että jotkut kielet eivät ole säännöllisiä eli niitä ei voi tunnistaa äärellisellä automaatilla.

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

2.5 Säännöllisten kielten rajoituksista

Kertausta 1. kurssikokeeseen

Säännöllisen kielen tunnistavat Turingin koneet

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

Äärellisten automaattien ja säännöllisten lausekkeiden minimointi

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

Turingin koneet. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.

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

S uay uvaxy uv 2 Ax 2 y... uv i Ax i y uv i wx i y.

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

ongelma A voidaan ratkaista ongelman B avulla, joten jossain mielessä

Laskennan mallit (syksy 2010) 2. kurssikoe, ratkaisuja

Täydentäviä muistiinpanoja jäsennysalgoritmeista

Formalisoimme nyt edellä kuvatun laskennan.

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

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

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

Transkriptio:

3.6 Cocke-Younger-Kasami -jäsennysalgoritmi Osittava jäsentäminen on selkeä ja tehokas jäsennysmenetelmä LL(1)-kieliopeille: n merkin mittaisen syötemerkkijonon käsittely sujuu ajassa O(n). LL(1)-kieliopit ovat kuitenkin melko rajoitettu luokka; yleisen jäsennysongelman ratkaisu ei ole yhtä helppoa. Periaatteessa ongelma voidaan ratkaista esim. soveltamalla yleistä (peruuttavaa) osittavaa jäsennystä, mutta käytännössä vaikeudeksi muodostuu erilaisten kokeiltavien johtovaihtoehtojen suuri määrä. (Tyypillisesti O(c n ) kpl jollakin c 2.) Cocke-Younger-Kasami -algoritmi on yleiseen ns. dynaamisen ohjelmoinnin tekniikkaan (t. osaratkaisujen taulukointiin) perustuva menetelmä mielivaltaisen yhteydettömän kieliopin tuottamien merkkijonojen tunnistamiseen. enetelmä toimii ajassa O(n 3 ), missä n on tutkittavan merkkijonon pituus. Algoritmia varten määritellään ensin joitakin kielioppimuunnoksia. 1. ε-produktioiden poistaminen Olkoon G = (V,Σ,P,S) yhteydetön kielioppi. Välike A V Σ on tyhjentyvä, jos A ε. G Lemma 3.5. istä tahansa yhteydettömästä kieliopista G voidaan muodostaa ekvivalentti kielioppi G, jossa enintään lähtösymboli on tyhjentyvä. Todistus. Olkoon G = (V,Σ,P,S). Selvitetään ensin G:n tyhjentyvät välikkeet seuraavasti: (i) asetetaan aluksi NULL := {A V Σ A ε on G:n produktio}; (ii) toistetaan sitten seuraavaa NULL-joukon laajennusoperaatiota, kunnes joukko ei enää kasva: NULL := NULL {A V Σ A B 1...B k on G:n prod., B i NULL kaikilla i = 1,...,k}.

Esimerkki. Poistetaan ε-produktiot kieliopista: Tämän jälkeen korvataan kukin G:n produktio A X 1...X k kaikkien sellaisten produktioiden joukolla, jotka ovat muotoa A α 1...α k, missä { Xi, jos X α i = i / NULL; X i tai ε, jos X i NULL. Lopuksi poistetaan kaikki muotoa A ε olevat produktiot. Jos poistettavana on myös produktio S ε, otetaan muodostettavaan kielioppiin G uusi lähtösymboli S ja sille produktiot S S ja S ε. S A B A aba ε (NULL = {A,B,S}) B bab ε S A B ε A aba aa ε B bab bb ε S S ε S A B A aba aa B bab bb. 2. Yksikköproduktioiden poistaminen Produktio muotoa A B, missä A ja B ovat välikkeitä, on yksikköproduktio. Lemma 3.6. istä tahansa yhteydettömästä kieliopista G voidaan muodostaa ekvivalentti kielioppi G, jossa ei ole yksikköproduktioita. Todistus. Olkoon G = (V,Σ,P,S). Selvitetään ensin G:n kunkin välikkeen yksikköseuraajat seuraavasti: (i) asetetaan aluksi kullekin A V Σ: F(A) := {B V Σ A B on G:n produktio}; (ii) toistetaan sitten seuraavia F-joukkojen laajennusoperaatioita, kunnes joukot eivät enää kasva: F(A) := F(A) [ {F(B) A B on G:n produktio}. Tämän jälkeen poistetaan G:stä kaikki yksikköproduktiot ja lisätään niiden sijaan kaikki mahdolliset produktiot muotoa A ω, missä B ω on G:n ei-yksikköproduktio jollakin B F(A).

Esimerkki. Poistetaan yksikköproduktiot aiemmin muodostetusta kieliopista: S S ε S A B A aba aa B bab bb. Välikkeiden yksikköseuraajat ovat: F(S ) = {S,A,B}, F(S) = {A,B}, F(A) = F(B) = /0. Korvaamalla yksikköproduktiot edellä esitetyllä tavalla saadaan kielioppi: S aba aa bab bb ε S aba aa bab bb A aba aa B bab bb. (Huomataan, että välike S on nyt itse asiassa turha, so. se ei voi esiintyä minkään kieliopin lauseen johdossa. yös turhat välikkeet voidaan haluttaessa poistaa kieliopista samantapaisella algoritmilla (HT).) Chomskyn normaalimuoto Yhteydetön kielioppi G = (V,Σ,P,S) on Chomskyn normaalimuodossa, jos sen välikkeistä enintään S on tyhjentyvä, ja mahdollista produktiota S ε lukuunottamatta muut produktiot ovat muotoa A BC tai A a, missä A,B ja C ovat välikkeitä ja a on päätemerkki. Lisäksi vaaditaan yksinkertaisuuden vuoksi, että lähtösymboli S ei esiinny minkään produktion oikealla puolella. Lause 3.7. istä tahansa yhteydettömästä kieliopista G voidaan muodostaa ekvivalentti Chomskyn normaalimuotoinen kielioppi G. Lisätään nyt kielioppiin kutakin päätemerkkiä a varten uusi välike C a ja sille produktio C a a. Korvataan kussakin muotoa A X 1...X k, k 2, olevassa produktiossa ensin kaikki päätemerkit em. uusilla välikkeillä, ja sitten koko produktio produktiojoukolla Todistus. Olkoon G = (V,Σ,P,S). ikäli lähtösymboli S esiintyy G:ssä jonkin produktion oikealla puolella, otetaan käyttöön uusi lähtösymboli S ja lisätään G:hen produktio S S. Poistetaan sitten G:stä ε-produktiot ja yksikköproduktiot lemmojen 3.5 ja 3.6 konstruktioilla. Tämän jälkeen kaikki G:n produktiot ovat muotoa A a tai A X 1...X k, k 2 (tai S ε/s ε). A X 1 A 1 A 1 X 2 A 2. A k 2 X k 1 X k, missä A 1,...,A k 2 ovat jälleen uusia välikkeitä.

Esimerkki. Kielioppi: S abcd bbb B b C c Em. konstruktiolla saatu Chomskyn normaalimuoto: S C a S 1 1 S 1 1 BS 1 2 S 1 2 CC d S C b S 2 1 S 2 1 C b C b B b C c C a a C b b C c c C d d. CYK-algoritmi Olkoon G = (V,Σ,P,S) yhteydetön kielioppi. Lauseen 3.7 nojalla voidaan olettaa, että G on Chomskyn normaalimuodossa. Kysymys, kuuluuko annettu merkkijono x kieleen L(G) voidaan tällöin ratkaista seuraavasti: Jos x = ε, niin x L(G) joss S ε on G:n produktio. uussa tapauksessa merkitään x = a 1...a n ja tarkastellaan x:n eri osajonojen tuottamista. erkitään N ik :lla niiden välikkeiden A joukkoa, joista voidaan tuottaa x:n positiosta i alkava, k merkin mittainen osajono: N ik = {A V Σ A ai...a i+k 1 }, G 1 i i + k 1 n. Joukot N ik voidaan laskea taulukoimalla lyhyistä osajonoista pitempiin seuraavassa esitettävällä tavalla. Selvästi on x L(G) joss S N 1n. Esimerkki. Chomskyn normaalimuotoinen kielioppi G: Joukkojen N ik laskeminen: (i) asetetaan aluksi kaikilla i = 1,...,n: N i1 := {A V Σ A a i on G:n produktio}; (ii) lasketaan sitten kaikilla k = 2,...,n ja kullakin k kaikilla i = 1,...,n k + 1: N ik := S k 1 j=1 {A V Σ A BC on G:n produktio, missä B N ij ja C N i+j,k j }. S AB BC A BA a B CC b C AB a CYK-algoritmin laskenta kieliopilla G ja syötteellä x = baaba: i N ik 1 : b 2 : a 3 : a 4 : b 5 : a 1 B A,C A,C B A,C 2 S,A B S,C S,A k 3 /0 B B 4 /0 S,A,C 5 S,A,C Koska lähtösymboli S kuuluu joukkoon N 15, päätellään että x kuuluu kieleen L(G).

Yleisesti ottaen CYK-algoritmissa jotakin joukkoa N ik määritettäessä edetään samanaikaisesti sarakkeessa N ij joukkoa N ik kohti ja diagonaalia N i+j,k j pitkin siitä poispäin : 3.7 Pinoautomaatit Yhteydettömille kielille saadaan automaattikarakterisointi ns. pinoautomaattien avulla: N ik syötenauha: nauhapää: ohjausyksikkö: i n p pino (työnauha): u q 1 q 2 δ t K C A T S Pinoautomaatti on kuin äärellinen automaatti, johon on lisätty rajoittamattoman suuri pino. Pinon käyttö on varsin rajallista: automaatti voi lukea, kirjoittaa, poistaa tai lisätä merkkejä vain pinon päälle. ääritelmä 3.2 Pinoautomaatti on kuusikko missä = (Q,Σ,Γ,δ,,F), Q on tilojen äärellinen joukko; Σ on syöteaakkosto; Γ on pinoaakkosto; δ : Q (Σ {ε}) (Γ {ε}) P(Q (Γ {ε})) on (joukkoarvoinen) siirtymäfunktio; Q on alkutila; F Q on (hyväksyvien) lopputilojen joukko. Siirtymäfunktion arvon δ(q,σ,γ) = {(q 1,γ 1 ),...,(q k,γ k )} tulkinta on, että ollessaan tilassa q ja lukiessaan syötemerkin σ ja pinomerkin γ automaatti voi siirtyä johonkin tiloista q 1,...,q k ja korvata vastaavasti pinon päällimmäisen merkin jollakin merkeistä γ 1,...,γ k. Pinoautomaatit ovat siis yleisessä tapauksessa epädeterministisiä. Jos σ = ε, automaatti tekee siirtymän syötemerkkiä lukematta. Jos γ = ε, automaatti ei lue pinomerkkiä ja uusi kirjoitettu merkki tulee pinon päälle vanhaa päällimmäistä merkkiä poistamatta ( push -operaatio). Jos pinosta luettu merkki on γ ε ja kirjoitettavana on γ i = ε, pinosta poistetaan sen päällimmäinen merkki ( pop -operaatio).

Automaatin tilanne on kolmikko (q,w,α) Q Σ Γ ; erityisesti automaatin alkutilanne syötteellä x on kolmikko (,x,ε). Intuitio: tilanteessa (q, w, α) automaatti on tilassa q, syötemerkkijonon käsittelemätön osa on w ja pinossa on ylhäältä alas lukien merkkijono α. Tilanne (q,w,α) johtaa suoraan tilanteeseen (q,w,α ), merkitään (q,w,α) (q,w,α ), jos voidaan kirjoittaa w = σw, α = γβ, α = γ β ( σ, γ, γ 1), siten että (q,γ ) δ(q,σ,γ). Tilanne (q,w,α) johtaa tilanteeseen (q,w,α ), merkitään (q,w,α) (q,w,α ), jos on olemassa tilannejono (,w 0,α 0 ), (q 1,w 1,α 1 ),..., (q n,w n,α n ), n 0, siten että (q,w,α) = (,w 0,α 0 ) (q 1,w 1,α 1 ) (q n,w n,α n ) = (q,w,α ). Pinoautomaatti hyväksyy merkkijonon x Σ, jos (,x,ε) (q f,ε,α) joillakin q f F ja α Γ, siis jos se syötteen loppuessa on jossakin hyväksyvässä lopputilassa; muuten hylkää x:n. Automaatin tunnistama kieli on: L() = {x Σ (,x,ε) (q f,ε,α) joillakin q f F ja α Γ }. Esimerkki. Pinoautomaatti kielelle {a k b k k 0}: = ({,q 1,q 2,q 3 },{a,b},{a,a},δ,,{,q 3 }), missä δ(,a,ε) = {(q 1,A)}, δ(q 1,a,ε) = {(q 1,A)}, δ(q 1,b,A) = {(q 2,ε)}, δ(q 1,b,A) = {(q 3,ε)}, δ(q 2,b,A) = {(q 2,ε)}, δ(q 2,b,A) = {(q 3,ε)}, δ(q,σ,γ) = /0 muilla (q,σ,γ). Kaavioesitys: q 3 q 1 q 2 q 3 Automaatin toiminta syötteellä aabb: q 1 q 2 (,aabb,ε) (q 1,abb,A) (q 1,bb,AA) (q 2,b,A) (q 3,ε,ε). Koska q 3 F = {,q 3 }, on siis aabb L().

Pinoautomaatit ja yhteydettömät kielet Lause 3.8 Kieli on yhteydetön, jos ja vain jos se voidaan tunnistaa jollakin (epädeterministisellä) pinoautomaatilla. Em. lauseen todistus sivuutetaan tässä, mutta periaatteena esim. annettua kielioppia G vastaavan pinoautomaatin G toiminnassa on, että G :n pinon käyttäytyminen syötteellä x noudattelee G:n mukaisen vasemman lausejohdon S x lm etenemistä: jos pinon päällimmäisenä on välikemerkki, sovelletaan jotain G:n produktiota ja lisätään pinon pinnalle vastaavat merkit; jos pinon päällimmäisenä on päätemerkki, se sovitetaan yhteen seuraavan syötemerkin kanssa. Esimerkki. Kielioppia {S asbs bsas ε} vastaava pinoautomaatti: Automaatin kuvauksessa on käytetty seuraavaa luonnollista lyhennemerkintää: α,β/x k α,β/x 1...X k a,a/ε b,b/ε ε, ε/s# q ε,s/ε ε,#/ε ε,ε/x k 1 q f ε, S/aSbS ε, S/bSaS ε,ε/x 1 Esimerkiksi syötteellä abab on em. automaatilla seuraava hyväksyvä laskenta: (,abab,ε) (q,abab,s#) (q,abab,asbs#) (q,bab,sbs#) (q,bab,bsasbs#) (q, ab, SaSbS#) (q, ab, asbs#) (q, b, SbS#) (q, b, bs#) (q,ε,s#) (q,ε,#) (q f,ε,ε). Tämä vastaa annetun kieliopin mukaista lauseen abab vasenta johtoa: S asbs absasbs abasbs ababs abab. Pinoautomaatti on deterministinen, jos jokaisella tilanteella (q,w,α) on enintään yksi mahdollinen seuraaja (q,w,α ), jolla (q,w,α) (q,w,α ) Toisin kuin äärellisten automaattien tapauksessa, epädeterministiset pinoautomaatit ovat aidosti vahvempia kuin deterministiset. Esimerkiksi kieli {ww R w {a,b} } voidaan tunnistaa epädeterministisellä, mutta ei deterministisellä pinoautomaatilla. (Tod. siv.) Yhteydetön kieli on deterministinen, jos se voidaan tunnistaa jollakin deterministisellä pinoautomaatilla. Deterministiset kielet voidaan jäsentää ajassa O(n); yleiset yhteydettömät kielet vaativat tunnetuilla menetelmillä lähes ajan O(n 3 ).