3.8 Yhtedettömien kielten rajoitksista Yhtedettömille kielille on oimassa säännöllisten kielten pmppaslemman astine. Nt kitenkin merkkijonoa on pmpattaa samanaikaisesti kahdesta paikasta. Lemma 3.9 ( -lemma ) Olkoon L htedetön kieli. Tällöin on olemassa sellainen n 1, että mikä tahansa z L, z n, oidaan jakaa osiin z = siten, että (i) 1, (ii) n, (iii) i i L kaikilla i = 0, 1, 2,.... Todists. Olkoon G = (V, Σ, P, ) Chomskn normaalimotoinen kielioppi L:lle. Tällöin missä tahansa G:n jäsennspssa, jonka korkes on h, on enintään 2 h lehteä. Toisin sanoen, minkä tahansa z L jokaisessa jäsennspssa on polk, jonka pits on ähintään log 2 z. Olkoon k = V Σ kieliopin G älikkeiden määrä. setetaan n = 2 k+1. Tarkastellaan jotakin z L, z n, ja sen jotakin jäsennspta. Edellisen nojalla pssa on polk, jonka pits on k + 1; tällä pollla on siis jonkin älikkeen toistttaa itse asiassa jo poln k + 2 alimman solmn jokossa. Olkoon jokin tällainen älike. erkkijono z oidaan nt osittaa z =, missä on :n alimmasta ilmentmästä totett osajono ja seraaaksi lemmästä :n ilmentmästä totett osajono; osajonot saadaan johdosta. Koska siis, ja, osajonoja ja oidaan pmpata :n mpärillä: 2 2... i i i i. iten i i L kaikilla i = 0, 1, 2,....
Esimerkki. Tarkastellaan kieltä L = {a k b k c k k 0}. Koska kielioppi G on Chomskn normaalimodossa ja, on oltaa 1. Koska edelleen älikkeen alinnan persteella sen toiseksi lin ilmentmä on enintään korkedella k + 1 jäsennspn lehdistä, on tähän ilmentmään jrtan alipn totokselle oimassa pitsraja 2 k+1 = n. Oletetaan, että L olisi htedetön; alitaan parametri n lemman mkaisesti ja tarkastellaan merkkijonoa z = a n b n c n L. Lemman 3.9 mkaan z oidaan jakaa pmpattaaksi osiin z =, 1, n. Viimeisen ehdon takia merkkijono ei oi sisältää sekä a:ta, b:tä että c:tä. erkkijonossa 0 0 = on siten lijäämä jotakin merkkiä mihin merkkeihin nähden, eikä se oi olla kielen L määritelmässä aaditta motoa, aikka lemman mkaan pitäisi olla L. 4. TURINGIN KONEET lan Tring 1935 36. naha. Kone oi siirtää δ 1 2 Tringin kone on kin äärellinen atomaatti, jolla on kätössään nahapäätä asemmalle tai oikealle; se oi mös lkea tai kirjoittaa nahapään kohdalla olean merkin. Naha on oikealle rajaton. Chrchin Tringin teesi: ikä tahansa mekaanisesti ratkeaa ongelma oidaan ratkaista Tringin koneella. Tringin koneen kanssa ekialentteja laskentamalleja: Gödelin Kleenen rekrsiiisesti määritellt fnktiot (1936), Chrchin λ-kalkli (1936), Postin (1936) ja arkoin (1951) merkkijonomnnosssteemit, kaikki nkiset ohjelmointikielet. Tringin koneet ohjelmointikieli.
ääritelmä 4.1 Tringin kone on seitsikko missä: = (Q, Σ, Γ, δ,, acc, rej ), Q on koneen tilojen äärellinen jokko; Σ on koneen söteaakkosto; Γ Σ on koneen naha-aakkosto (ol. että, / Γ); δ : (Q { acc, rej }) (Γ {, }) Q (Γ {, }) {L, R} on koneen siirtmäfnktio; Q on koneen alktila; acc Q on koneen häksä ja rej Q sen hlkäää lopptila. iirtmäfnktion aron tlkinta: δ(, a) = (, b, ) Ollessaan tilassa ja lkiessaan nahamerkin (tai alk- tai loppmerkin) a, kone siirt tilaan, kirjoittaa lkemaansa paikkaan merkin b, ja siirtää nahapäätä hden merkkipaikan erran sntaan (L left, R right ). allittja kirjoitettaia merkkejä ja siirtosntia on rajoitett, mikäli a = tai, ja siirtmäfnktion aro on aina määrittelemätön, kn = acc tai = rej. Jotessaan jompaan kmpaan näistä tiloista kone psäht heti. Koneen tilanne on nelikko (,, a, ) Q Γ (Γ {ε}) Γ, iis: siirtmäfnktion aroilta δ(, a) = (, b, ) aaditaan: (i) jos b =, niin a = ; (ii) jos a =, niin b = ja = R; (iii) jos b =, niin a = ja = L. missä oi olla a = ε, mikäli mös = ε tai = ε. Tlkinta: kone on tilassa, nahan sisältö sen alsta nahapään asemmalle polelle on, nahapään kohdalla on merkki a ja nahan sisältö nahapään oikealta polelta kätetn osan loppn on. ahdollisesti on a = ε, jos nahapää sijaitsee aian nahan alssa tai sen kätetn osan lopssa. Ensimmäisessä tapaksessa ajatellaan, että kone haaitsee merkin ja toisessa tapaksessa merkin. lktilanne sötteellä = a 1 a 2... a n on nelikko (, ε, a 1, a 2... a n ). Tilannetta (,, a, ) merkitään leensä ksinkertaisemmin (, a), ja alktilannetta sötteellä ksinkertaisesti (, ).
Tilanne (, ) johtaa soraan tilanteeseen (, ), merkitään (, ) (, ), jos jokin seraaista ehdoista tätt: kaikilla, Q,, Γ, a, b Γ ja c Γ {ε}: jos δ(, a) = (, b, R), niin (, ac) (, bc); jos δ(, a) = (, b, L), niin (, ca) (, cb); jos δ(, ) = (,, R), niin (, εc) (, c); jos δ(, ) = (, b, R), niin (, ε) (, bε); jos δ(, ) = (, b, L), niin (, cε) (, cb); jos δ(, ) = (,, L), niin (, cε) (, c). Tilanteet, jotka oat motoa ( acc, ) tai ( rej, ) eiät johda mihinkään mhn tilanteeseen. Näissä tilanteissa kone psäht. Tilanne (, ) johtaa tilanteeseen (, ), merkitään (, ) (, ), jos on olemassa tilannejono (, 0 ), ( 1, 1 ),..., ( n, n ), n 0, siten että (, ) = (, 0 ) ( 1, 1 ) ( n, n ) = (, ). Tringin kone häks merkkijonon Σ, jos mten hlkää :n. (, ) ( acc, ) jollakin Γ ; Koneen tnnistama kieli on: L() = { Σ (, ) ( acc, ) jollakin Γ }. Esimerkki 1. Kieli {a 2k k 0} oidaan tnnistaa Tringin koneella Kaaioesitksessä kätett merkinnät: = ({, 1, acc, rej }, {a}, {a}, δ,, acc, rej ), missä Kaaioesits: δ(, a) = ( 1, a, R), δ( 1, a) = (, a, R), δ(, ) = ( acc,, L), δ( 1, ) = ( rej,, L). 1 a/b, δ(, a) = (, b, )
1 Koneen laskenta esimerkiksi sötteellä aaa etenee seraaasti: (, aaa) ( 1, aaa) (, aaa) ( 1, aaaε) Kone psäht tilassa rej, joten aaa / L(). ( rej, aaa). Esimerkki 2. Kielen {a k b k c k k 0} tnnistaa Tringin kone: a/, R b/b, R 0 1 2 5 4 a/, R /, R 3 b/b, R c/c, L C/C, L b/b, L B/B, L a/a, L elkeden oksi ei koneen hlkääää lopptilaa rej ole tässä esitett eksplisiittisesti. Tlkinta on tällöin, että kaikki kaaiosta pttat kaaret johtaat tähän tilaan. Koneen laskenta sötteellä aabbcc: (, aabbcc) ( 1, abbcc) ( 1, abbcc) ( 2, abbcc) ( 2, abbcc) ( 3, abbcc) ( 3, abbcc) ( 3, abbcc) ( 3, abbcc) ( 4, abbcc) ( 1, BbCc) ( 1, BbCc) ( 2, BBCc) ( 2, BBCc) ( 3, BBCC) ( 3, BBCC) ( 3, BBCC) ( 3, BBCC) ( 4, BBCC) ( 5, BBCC) ( 5, BBCC) ( 5, BBCC) ( 5, BBCCε) ( acc, BBCC). a/, R b/b, R 0 1 2 5 4 a/, R /, R 3 b/b, R c/c, L C/C, L b/b, L B/B, L a/a, L