Univerzális ábécé: Szimbólumok egy megszámlálhatóan végtelen halmazát univerzális ábécének nevezzük Ábécé: Ábécének nevezzük az univerzális ábécé egy tetszőleges véges részhalmazát Betű: Az ábécé elemeit betűknek hívjuk Szó: Az X ábécé elemeinek egy tetszőleges véges sorozatát az X ábécé feletti szónak nevezzük Ha X nem lényeges vagy egyértelmű, akkor szóról beszélünk Nyelv: X * valamely részhalmazát (azaz valamely elemét) az X ábécé feletti nyelvnek nevezzük Nyelvosztály (nyelvcsalád): Nyelvek valamely összességét nyelvosztálynak, nyelvcsaládnak hívjuk Két szó konkatenációja: az u t t és v t t szavak konkatenációja alatt az uv t t t t szót értjük Szó hatványa: Legyen u egy szó, nemnegatív egész hatványai,, (rekurzív definició) Szó megfordítása: Legyen u t megfordítása u t t t egy szó, ekkor u Homomorfizmus: A konkatenációtartó leképezéseket homomorfizmusnak nevezzük h konkatenációtartó leképzeés, ha tetszőleges szó esetén h(uv)=h(u)h(v) Homomorfizmus nyelvekre való kiterjesztése: Két nyelv metszete, uniója, különbsége, szimmetrikus differenciája: A nyelv is egy halmaz (szavak halmaza), ezeket mint halmazokon vett műveleteket értelmezzük Nyelv komplementere: Egy X ábécé feletti nyelv komplementreén a halmazelméleti értelemben vett komplementert értjük X * -ra nézve Két nyelv konkatenációja: Legyenek L 1, L 2 nyelvek Ekkor az L 1 és L 2 nyelvek konkatenációján az 2 nyelvet értjük Nyelv hatványa: Legyen L egy nyelv, nemnegatív egész hatványai,, (rek definició) Nyelv lezártja (iteráltja): Legyen L egy nyelv az L nyelv lezártja 1 / 20
Nyelv pozitív lezártja (iteráltja): Legyen L egy nyelv az L nyelv pozitív lezártja Nyelv megfordítása: Legyen L egy nyelv az L nyelv megfordítása Résszó: v résszava u-nak, ha léteznek olyan w 1, w 2 szavak melyre u=w 1 vw 2 Szó egy prefixe: v az u szó prefixe, ha van olyan w szó, hogy u=vw v valódi prefix, ha Szó prefixhalmaza: Legyen u egy szó pre ixe n k az u szó prefixhalmaza Szó i hosszúságú prefixe: Szó egy suffixe: v az u szó suffixe, ha van olyan w szó, hogy u=wv v valódi suffix, ha Szó suffixhalmaza: Legyen u egy szó suf ixe n k az u szó suffixhalmaza Szó legfeljebb i hosszúságú suffixhalmaza: Szó i hosszúságú suffixe: Nyelv prefixhalmaza: Legyen L egy nyelv az L nyelv prefixhalmaza Nyelv suffixhalmaza: Legyen L egy nyelv az L nyelv prefixhalmaza Reguláris nyelvek: (rekurzív definició) az elemi nyelvek, azaz a,, ( ) azon nyelvek, melyek az elemi nyelvekből az unió, konkatenáció és lezárás műveletek véges számú alkalmazásával állnak elő Reguláris kifejezések: (rekurzív definició) az elemi reguláris kifejezések, azaz a,, ( ) ha R 1 és R 2 reguláris kifejezések, akkor,, is reguláris kifejezések a reguláris kifejezések halmaza a legszűkebb halmaz, melyre a fenti két pont teljesül 2 / 20
X ábécé feletti reguláris kifejezések: (rekurzív definició) az elemi reguláris kifejezések, azaz a,, ( ) ha R 1 és R 2 X ábécé feletti reguláris kifejezések, akkor,, is X ábécé feletti reguláris kifejezések az X ábécé feletti reguláris kifejezések halmaza a legszűkebb halmaz, melyre a fenti két pont teljesül X ábécé feletti általánosított reguláris kifejezések: (rekurzív definició) az elemi reguláris kifejezések, azaz a,, ( ) ha R 1 és R 2 X ábécé feletti reguláris kifejezések, akkor,,,, is X ábécé feletti reguláris kifejezések az X ábécé feletti általánosított reguláris kifejezések halmaza a legszűkebb halmaz, melyre a fenti két pont teljesül Reguláris kifejezések szemantikája: (rekurzív definició) az,, reguláris kifejezések rendre az,, nyelveket reprezentálják ha R 1 és L 1 illetve R 2 és L 2 nyelveket reprezentálja, akkor,, rendre az,, nyelveket reprezentálja X ábécé feletti általánosított reguláris kifejezések szemantikája: (rekurzív definició) az,, reguláris kifejezések rendre az,, nyelveket reprezentálják ha R 1 és L 1 illetve R 2 és L 2 nyelveket reprezentálja, akkor,,,, rendre az,,,, nyelveket reprezentálja Rekurzívan felsorolható nyelv: Az L nyelv rekurzívan felsorolható ha létezik A algoritmus, mely az elemeit felsorolja Felsoroló algoritmus: Az A algoritmus outputjára szavakat állít elő, s így a nyelv összes szavát (és csak azokat) felsorolja Parciálisan rekurzív nyelv: Az L nyelv parciálisan rekurzív ha létezik olyan A parciálisan eldöntő algoritmus, melynek inputjára tetszőleges szavakat helyezve eldönti, benne van-e a nyelvben ( szó esetén igen válasszal áll le, míg esetén nem terminál, vagy ha terminál, akkor nem választ ad) 3 / 20
Rekurzív nyelv: Az L nyelv rekurzív létezik olyan A eldöntő algoritmus, melynek inputjára egy tetszőleges szót helyezve eldönti, benne van-e az L nyelvben (mindig terminál, igen a válasz, ha, és nem ha ) Generatív nyelvtan (grammatika): A G=<T,N,P,S> négyest nyelvtannak nevezzük, ahol T a terminálisok véges halmaza, N a nyelvtani jelek véges halmaza, P a szabályok véges halmaza, ahol minden P P szabály p q alakú, p,q (T N)* és p tartalmaz legalább egy nyelvtani jelet, továbbá S,S N kezdőszimbólumnak nevezünk Mondatforma: (T N)* elemeit mondatformának nevezzük Közvetlen levezetés (nyelvtanban): Az α mondatformából közvetlenül levezethető a β mondatforma, ha léteznek, mondatformák és p q P, hogy és Jelölése: Közvetett levezetés (nyelvtanban): Az α mond tformából közvetetten levezethető β mond tform h létezik k N és mond tformák hogy, és minden esetén Jelölése Ha fontos, hogy éppen k lépésben Ekkor k levezetés hossza Nyelvtan által generált nyelv: A G=<T,N,P,S> nyelvtan által generált nyelv Ekvivalens nyelvtanok: A G 1 és G 2 nyelvtanok ekvivalensek (G 1 ~G 2 ), ha L(G 1 )=L(G 2 ) Kváziekvivalens nyelvtanok: A G 1 és G 2 nyelvtanok kváziekvivalensek, ha Nyelvtanok típusai: Egy G nyelvtan i típusú ( ), ha a szabályai a táblázatban megadott alakúak (Alaptípus szabályai oszlop) 4 / 20
Nyelvtanok megszorított típusai: Egy G nyelvtan megszorított i típusú ( ), ha a szabályai a táblázatban megadott alakúak (Megszorított típus szabályai oszlop) Környezetfüggetlen nyelvtan: 2 típusú nyelvtan Környezetfüggő nyelvtan: Megszorított 1 típusú nyelvtan Normálformák: Egy G nyelvtan i-es normálformájú (i=1,2,3), ha a szabályai a táblázatban megadott alakúak (Normálforma szabályai oszlop) A táblázatban megadott 1 típusú normálforma elnevezése Kuroda normálforma, a 2 típusúé Chomsky normálforma (A táblázatban konvencionálisan S a kezdőszimbólum) Típ Alaptípus szabályai 0 nincs további megkötés 1 p q, ahol l(p) l(q); S ε, KES 2 A q, ahol A N q T N * 3 A ub vagy A u, ahol A B N és u T* Megszorított típ szabályai p q, ahol q T N +; S ε, KES 1A 2 1q 2, ahol 1, 2 T N *, A N q T N + S ε, KES A q, ahol A N q T N + S ε, KES A B vagy A, ahol A B N és T; S ε, KES 5 / 20 Normálforma szabályai AB A A B N ; BA A A B N ; +Kuroda NF szabálysémái (Kuroda) A A N T ; A B C N A BC, AB AC, BA CA, S ε, KES (Chomsky) A A N T ; A BC A B C N ; S ε, KES A ε vagy A B, hol A B N és T
Greibach normálforma: Legyen G=<T,N,P,S> egy nyelvtan A G nyelvtan Greibach-féle normálformájú, ha szabályai a következő alakúak: S ε, ahol S kezdőszimbólum és h v n ilyen sz bály kkor S nem fordul elő sz bály jobbold lán; A Q, ahol A N, a T és Q N * Zsákutca: Olyan nyelvtani jel, melyből az adott 2 típusú nyelvtanban nem vezethető le terminális szó Nem elérhető nyelvtani jel: Olyan nyelvtani jel, mely az adott 2 típusú nyelvtanban semmilyen, a kezdőszimbólumból történő levezetésben nem szerepel Zsákutcamentes nyelvtan: 2 típusú nyelvtan, melynek semelyik nyelvtani jele sem zsákutca Összefüggő nyelvtan: 2 típusú nyelvtan, mely nem tartalmaz nem elérhető nyelvtani jelet Redukált nyelvtan: Zsákutcamentes és összefüggő 2 típusú nyelvtan Láncszabály: Egy G=<T,N,P,S> nyelvtanban p qϵp láncszabály, ha p,q N Láncszabálymentes nyelvtan: Egy nyelvtan láncszabálymentes, ha nincs láncszabálya Epszilonszabály: Egy G=<T,N,P,S> nyelvtanban p qϵp epszilonszabály, ha q= Korlátozott epszilonszabály (KeS): Egy G=<T,N,P,S> nyelvtanra teljesül a korlátozott epszilonszabály, ha nincsenek epszilonszabályai az S ε sz bály esetleges kivételével de ebben z esetben minden p qϵp szabályra q (T N\{S}) * z z semelyik sz bály jobbold l sem t rt lm zz kezdőszimbólumot Epszilonmentes nyelvtan: Egy nyelvtan epszilonmentes, ha teljesül rá a korlátozott epszilonszabály (KeS) Nyelvtani transzformáció: A Φ nyelvtani transzformáció olyan eljárás, mely egy G nyelvtanból egy másik Φ(G) nyelvtant készít Ekvivalens nyelvtani transzformáció: Egy Φ nyelvtani transzformáció ekvivalens nyelvtani transzformáció, ha minden G nyelvtanra G~ Φ(G) 6 / 20
Kváziekvivalens nyelvtani transzformáció: Egy Φ nyelvtani transzformáció kváziekvivalens nyelvtani transzformáció, ha minden G nyelvtanra Φ(G) Típusmegörző nyelvtani transzformáció: Legyen a π típusú nyelvtanok osztálya Egy Φ nyelvtani transzformáció megőrzi a π típust, amennyiben minden G esetén Φ(G) Nyelvek típusai: Egy L nyelv (megszorított) i típusú, ha létezik olyan (megszorított) i típusú nyelvtan, mely L-et generálja (l megszorítási tétel) Reguláris nyelv: 3 típusú nyelv (l Kleene tétel) Környezetfüggetlen nyelv: 2 típusú nyelv Környezetfüggő nyelv: 1 típusú nyelv Nyelvi operátorra zárt nyelvcsalád: Legyen Ψ n-változós nyelvi operátor, azaz ha L 1,,L n nyelvek, akkor Ψ(L 1, L n ) is legyen nyelv Az L nyelvcsalád zárt a Ψ nyelvi opreátorra, ha L 1, L n L esetén Ψ(L 1, L n ) L BNF: Egy Backus-Naur forma (BNF), a következő építőkövekből áll: <szöveg>,::=, {, }, egyéb karakterek <szöveg> a fogalmak, az egyéb karakterek a terminálisok Egy BNF szabály baloldalán pontosan 1 fogalom áll, jobboldalán fogalmak, terminálisok, {,}, jelek sorozata áll, úgy hogy a sorozat helyesen zárójelezett a {, } zárójelekkel A két oldalt a ::= szimbólum választja el egymástól Zárójelek és alternatívák jelentése: Az formula az formulákat reprezentálja Szemantikája: Adott BNF szabályok egy halmaza (zárójelek és alternatívák nélkül) Az α mondatformából (terminálisok és fogalmak sorozata) közvetlenül levezethető a β mondatforma, ha léteznek mondatformák és BNF szabály, hogy és A közvetett levezetést az eddigiekhez hasonlóan definiáljuk Egy adott fogalom azon terminális sorozatok halmazát reprezentálja, mely belőle, mint 1 hosszúságú mondatformából közvetetten levezethető 7 / 20
EBNF: A BNF-hez képest két további jelölést használunk @γ, ahol γ egy fogalom, terminális, vagy csoport a 0, 1, 2, stb hosszúságú, csak γ-ból álló sorozatokat reprezentálja, ahol természetes egész számok és γ egy fogalom, terminális, vagy csoport a k, k+1,, n hosszúságú γ sorozatokat reprezentálja Szemantika: mint BNF-nél Szintaxisgráf: Szintaxisgráf alatt egy olyan irányított gráfot értünk, mely a következő tulajdonsággokkal rendelkezik: Egyetlen forrása és egyetlen nyelője van Az élek címkézetlenek, a szögpontok lehetnek címkézettek és címkézetlenek A cimkéknek két fajtája van, az egyik téglalap, a másik ellipszis alakú Ezen felül a gráfnak van egy neve A téglalap alakú címkéket és a gráf nevét fogalmaknak, az ellipszis alakú címkéket terminálisoknak nevezzük Szemantikája: Adott szintaxisgráfok egy halmaza Az α mondatformából (terminálisok és fogalmak sorozata) közvetlenül levezethető a β mondatforma, ha léteznek mondatformák és F fogalom, hogy,, továbbá létezik olyan szintaxisgráf, melynek címkéje F és a gráfban létezik irányított út (gráfelméleti séta), a forrásból a nyelőbe, mely mentén a címkézett szögpontok címkéi az irányított út által meghatározott sorrendben éppen ξ-t adják A közvetett levezetést az eddigiekhez hasonlóan definiáljuk Egy adott fogalom azon terminális sorozatok halmazát reprezentálja, mely belőle, mint 1 hosszúságú mondatformából közvetetten levezethető n-verem: n-verem alatt a következő (2n+5)-öst értjük: q hol Q az állapotok halmaza (véges), T a bemenő ábécé véges halmaza, az i-edik verem ábécéje, az állapotátmeneti függvény, q 0 Q kezdőállapot, az i verem kezdőszimbóluma, ahol, F A a végállapotok halmaza Veremautomata: 1-verem 8 / 20
Konfiguráció: Konfigurációnak nevezzük azoknak az adatoknak az összességét, melyektől a gép elkövetkezendő működése függ A konfigurációk a következő alakú (n+2)-esek:, ahol: q az aktuális állapot, v az input szó még elolvasatlan része, az i-edik verem tartalma Közvetlen konfigurációátmenet: Közvetlen konfigurációátmenetről beszélünk, ha egy lépésben vált át egyik konfigurációból a másikba, azaz 9 / 20 akkor és csak akkor, ha van olyan, hogy u=tv, továbbá minden i [1,n] esetén van olyan és, amelyekre,, valamint Ha itt t=ε, akkor ε-mozgásról beszélünk Közvetett konfigurációátmenet: A közvetett konfigurációátmenet a közvetlen átmenet relexív, tranzitív lezártja Jelölése: Kezdőkonfiguráció: Az u szóhoz tartozó kezdőkonfiguráció: Termináló konfiguráció: Egy K konfiguráció termináló konfiguráció, ha nincs rákövetkezője, azaz K konfiguráció, hogy Végállapottal elfogadó konfiguráció: Végállapottal elfogadó egy konfiguráció, ha q F Üres veremmel elfogadó konfiguráció: Üres veremmel elfogadó egy konfiguráció, ha Szó végállapottal elfogadása: A n-verem végállapottal elfogadja az u szót, ha létezik átmenet az u szóhoz tartozó kezdőkonfigurációból végállapottal elfogadó konfigurációba Szó üres veremmel elfogadása: A n-verem üres veremmel elfogadja az u szót, ha létezik átmenet az u szóhoz tartozó kezdőkonfigurációból üres veremmel elfogadó konfigurációba
Végállapottal elfogadott nyelv: A elfogadott nyelv: által végállapottal Üres veremmel elfogadott nyelv: A elfogadott nyelv: által üres veremmel Determinisztikus n-verem: Egy adott n-verem determinisztikus, ha minden konfigurációjának legfeljebb 1 rákövetkezője van Ekvivalens definició: Egy adott n-verem determinisztikus, ha a következő két feltétel teljesül: Minden esetén, esetén minden t T-re Determinisztikus veremautomata: determinisztikus 1-verem Véges, ε-átmenetes nemdeterminisztikus automata (εnda): 0-verem Véges, nemdeterminisztikus automata (NDA): 0-verem, melyre Véges, parciális determinisztikus automata (PDA): Determinisztikus 0-verem, melyre Véges determinisztikus automata (VDA): Determinisztikus 0- verem, melyre Állapotátmeneti függvény általánosítása: Legyen egy véges determinisztikus automata Rekurzívan definiáljuk (q,u) értékét (q Q,u T * ), (q,t) már definiált (t T) (u T *,t T) VDA által felismert nyelv általánosított állapotátmeneti függvénnyel megadva: Legyen egy véges determinisztikus automata Az által felismert (elfogadott) nyelv a következő: 10 / 20
Automata megadása táblázattal: A sorok megfelelnek Q elemeinek, az oszlopok T (általánosabb automata esetén X=T ε vagy X R T ) elemeinek A q Q sorn k és t T v gy ált lános bb n t X oszlopn k megfelelő cell tartalma q t A kezdőáll potot végáll potok t szimbólumm l jelöljük Automata megadása átmenetdiagrammal: Irányított gráf, ahol a szögpontok és az élek is címkézettek A szögpontok megfelelnek Q elemeinek (a kezdőállapotot a szimbólummal megjelöljük, F elemeit bekarikázzuk), míg az élek T (általánosabb automata esetén X=T {ε} vagy X=R(T)) elemeinek qϵq-ból vezet t T (vagy általánosabban t X) címkéjű irányított él q Q-ba, akkor és csak akkor, ha q =( ) (q,t) Általánosított szekvenciális automata: általánosított szekvenciális automata, ha Q egy véges halmaz, az állapotok halmaza, T egy véges halmaz, az inputszavak ábécéje, q 0 Q a kezdőállapot, F Q a végállapotok halmaza, továbbá az állapotátmeneti függvény: R alakú függvény, melyre megköveteljük, hogy véges tartójú legyen, azaz minden qϵq-hoz csak véges sok R R(T) esetén teljesül, hogy (q,r) Általánosított szekvenciális automata által elfogadott szó: Az általánosított szekvenciális automata elfogadja az u T * szót n N,, R és, melyre, továbbá minden 1 i n esetén, és Átmenetdiagrammos megadás esetén: elfogadja az uϵt * szót h v n irányított út q0-ból v l mely -beli áll potb mely út mentén z élek címkéje z dott sorrendben R1 Rn és u L R1R2 Rn) Általánosított szekvenciális automata által felismert nyelv: elfog dj t Minimális automata: Valamely L -hoz adott minimális állapotszámú véges, determinisztikus automatát L minimális automatájának nevezzük 11 / 20
Összefüggő automata: Egy véges, determinisztikus automata összefüggő, ha minden qϵq esetén létezik u T * szó, hogy (q 0,u)=a Automata állapotra vonatkozó maradéknyelve: Legyen egy véges, determinisztikus automata Az automata q Q-ra vonatkozó maradéknyelve Automata ekvivalens állapotai: Legyen egy véges determinisztikus automata Automaták ekvivalens állapotai: Legyenek és véges determinisztikus automaták Automaták ekvivalenciája: Legyenek és véges determinisztikus automaták Automata faktorautomatája: Legyen egy véges determinisztikus automata faktorautomatája, ahol a q-val ekvivalens állapotok osztálya, melynek reprezentálása q,,, azaz -t egy tetszőleges reprezentálással definiáljuk Redukált automata: Egy adott véges, determinisztikus automata redukált automata, ha minden q,q A esetén, azaz nincsenek különböző ekvivalens állapotai Automata i-ekvivalens állapotai: Legyen egy véges determinisztikus automata Azt mondjuk, hogy (q i-ekvivalens q -vel), ha minden esetén 12 / 20
Automaták izomorfiája: Legyenek (i=1,2) véges determinisztikus automaták Ekkor és izomorfak, ha létezik kölcsönösen egyértelmű ráképezés, melyre a következők teljesülnek:,, -t megőrzi, azaz minden q 1 Q 1 és minden t T esetén Direkt szorzat automata: Legyenek véges determinisztikus automaták, i=1,2 Az automatát direkt szorzat automatának hívjuk működése komponensenként párhuzamosan történik, amit a jelöléssel fejezünk ki Formálisan A végállapotok halmaza feladatonként változhat Például legyen a a műveletek közül az egyik Feladat: konstruálni egy automatát, melyre fennáll, hogy Ekkor,, Knuth-Morris-Pratt (KMP) automata: Legyen m T * egy szó Az mintához tartozó Knuth- Morris-Pratt automata a következő, ahol Nyelv szóra vonatkozó maradéknyelve: Egy L nyelv p T(L) * - ra vonatkozó maradéknyelve Összes levezetések gráfja: Legyen tetszőleges nyelvtan G összes levezetésének gráfja olyan végtelen, irányított gráf, melynek pontjai (T N) * elemeinek felel meg α-ból β-ba van i,j címkéjű ( él, ha és,, 13 / 20
Szintaxisfa: Legyen tetszőleges 2-es típusú nyelvtan A t nemüres fát G feletti szintaxisfának nevezzük ha megfelel a következő tulajdonságoknak: pontjai T N { } elemeivel vannak címkézve belső pontjai N elemeivel vannak címkézve ha egy belső pont címkéje X, a közvetlen leszármazottainak címkéi pedig balról jobbra olvasva X 1,X 2, X k, akkor X X 1 X 2 X k z ε-n l címkézett pontokn k nincs testvére Legbal levezetés: A legbal elvezetés olyan levezetés, hogy ha a levezetés folyamán a mondatforma i betűjén helyettesítés történik, akkor a korábbi pozíciókat (1,,i-1) a levezetés már a további lépésekben nem érinti, azok változatlanul maradnak Legjobb levezetés: A legjobb levezetés olyan levezetés, hogy ha a levezetés folyamán a mondatforma hátulról i betűjén helyettesítés történik, akkor a későbbi pozíciókat (hátulról 1,,i-1) a levezetés már a további lépésekben nem érinti, azok változatlanul maradnak Legbal mondatforma: Valamely L(G)-beli szó legbal levezetése során előforduló mondatforma Legjobb mondatforma: Valamely L(G)-beli szó legjobb levezetése során előforduló mondatforma Egyértelmű nyelvtan: egyértelmű nyelvtan, ha minden u L(G)-nek pontosan egy szintaxisfája létezik Egyértelmű nyelv: Létezik 2 típusú egyértelmű nyelvtan, ami generálja Lényegesen nem egyértelmű nyelv: Nem létezik 2 típusú egyértelmű nyelvtan ami generálja Szintaktikus elemzések alapfeladata: Legyen adva egy második típusú nyelvtan és egy u T * szó Az elemzési algoritmusok feladata azt eldönteni, hogy u szó eleme-e L(G)-nek és ha igen, akkor felépíteni u egy G feletti szintaxisfáját Felülről lefelé elemzés: A szintaxisfát a gyökértől, azaz a kezdőszimbólumtól próbálja felépíteni Aulról felfelé elemzés: A szintaxisfát a levelektől, azaz az elemzendő szótól próbálja felépíteni 14 / 20
LL(k) nyelvtan: A G 2-es típusú nyelvtan LL(k) nyelvtan, ha tetszőleges és levezetések esetén abból, hogy pre(w 1,k)=pre(w 2,k) következik, hogy Nyél: Aulról felfelé elemzés esetén az olyan visszahelyettesíthető részre, mely egy legjobb mondatforma valamely legjobb levezetésének utolsó lépésében áll elő, a nyél elnevezést használjuk LR(k) nyelvtan: A G 2-es típusú nyelvtan LL(k) nyelvtan, ha tetszőleges, 1 1, 1 1 1, 1 1 és legjobb levezetések esetén abból, hogy α 1 γ 1 pre(v 1,k)= α 2 γ 2 pre(v 2,k) valamelyike kezdőszelete a másiknak, következik,, A=B és 15 / 20
T: Nem minden nyelv írható le nyelvtannal T: (Church-tézis) Minden valamilyen konstruktív módon megadható nyelv leírható nyelvtannal T: (Megszorítási tétel) L L (i=1,2,3) T: (Normálforma tétel) L L (i=0,1,2,3) i=1 esetén Kuroda normálforma tétel, i=2 esetén Chomsky normálforma tétel a neve T: (Greibach NF tétel) Minden nyelvtanhoz létezik G Greibach normálformájú nyelvtan, melyre G ~G T: (Zártsági tétel) Az L (i=0,1,2,3) nyelvosztályok zártak az unió, konkatenáció és a lezárás műveletekre T: L L, L L, L L T: L L L L L L T: Legyen egy véges, determinisztikus automata, ekkor redukált és T: (Izomorfia tétel) Legyenek 1 és 2 összefüggő, redukált és egymással ekvivalens automaták Ekkor T: (Kleene tétel) L L T: Az L nyelvosztály zárt a komplementer, a metszet, a különbség és a szimmetrikus differencia műveletekre T: (Chomsky nyelvhierarchia) L L L L T: (Myhill-Nerode tétel) L L kkor és cs k kkor h, ahol T=T(L) z L nyelv ábécéje T: (Kis Bar-Hiller lemma) Minden L L nyelvhez van olyan n n L N nyelvfüggő konst ns hogy minden u L, szó esetén v n u-nak olyan u=xyz felbontás (x y z T L * ), melyre, ; minden egész esetén T: (Nagy Bar-Hiller lemma) Minden L L nyelvhez vannak olyan p=p(l), q q L N nyelvfüggő konst nsok hogy minden u L, szó esetén v n u-nak olyan u=xyzvw felbontás x y z v w T L * ), melyre, ; minden egész esetén 16 / 20
T: A determinisztikus veremautomaták által elfogadott nyelvek osztálya valódi részhalmaza a veremautomaták által elfogadott nyelvek osztályának T: A végállapottal és az üres veremmel elfogadó veremautomaták által elfogadható nyelvek nyelvosztálya megegyezik T: L L T: L L ( ) Lemma: Tetszőleges nyelvtan, és esetén akkor és csak akkor, ha létezik t G feletti szintaxisfa, melyre gy(t)=z és front(t)=α T: Lineáris nyelvi egyenletek megoldóképlete Ha R1 és R2 reguláris kifejezések és ε L(R1), akkor az R1X R2=X egyenlet egyértelmű megoldás T: Lineáris nyelvi egyenletrendszerek megoldh tóság Legyen Mx v x nyelvi egyenletrendszer, ahol az nyelvmátrix és nyelvvektor dott k és ismeretlen nyelvekből álló vektor H L i és, akkor az egyenletrendszernek egyértelműen létezik megoldás melynek elemei L elemeiből reguláris műveletekkel megk ph tók T: L L L 17 / 20
I: (L 2 *L 1 *)* = (L 1 L 2 )* (L 1 L 2 )* = (L 1 *L 2 *)* A 3 tip nyelvek zártak a komplementer műveletre A konkatenáció asszociatív művelet (kiterjesztett) 3 típ nyelvtan 1 típusú nyelvtan 0-veremautomata véges determinisztikus automata 2 típ nyelv megfordítása is második típusú nyelv 3 típ nyelv felismerhető véges nemdet automatával 3 típ nyelv felismerhető VNDA-val Chomsky 1 típ nyelv rekurzív nyelv Chomsky 2 típ nyelv felismerhető egy veremautomatával Chomsky 2 típ nyelv rekurzív nyelv Chomsky 2 típ nyelv rekurzívan felsorolható nyelv Chomsky 2 típ nyelv rekurzívan felsorolható nyelv környezet független nyelv felismerhető 1 veremmel környezet független nyelv felismerhető veremautomatával környezetfüggetlen nyelv felismerhető 1 veremmel környezetfüggetlen nyelv felismerhető veremautóm környezetfüggő nyelv rekurzív nemdeterminisztikus automata 0-verem is nyelvtannal leírható nyelv rekurzívan felsorolható nyelvtannal leírt nyelv parciálisan rekurzív nyelvtannal leírt nyelv reguláris nyelvtannal leírt nyelv rekurzívan felsorolható parciálisan rekurzív nyelv rekurzívan felsorolható nyelv reguláris nyelv 3 típusú reguláris nyelv rekurzív nyelv rekurzív nyelv rekurzívan felsorolható rekurzív nyelv komplementere is rekurzív nyelv rekurzívan felsorolható nyelv parciálisan rekurzív 18 / 20
H: L1 L2= L1L3 L2L3= L L L * -ε = L + L 1 L 2 L 1 L 3 = L 1 (L 2 L 3 ) A konkatenáció kommutatív művelet A környezetfüggetlen nyelvek zártak a metszet műveletére (kiterjesztett )2tip nyelvtan 1tipusú Chomsky 1 típ nyelv felismerhető 1-veremmel Chomsky 1 típ nyelv felismerhető VDA-val determinisztikus automata nemdeterminisztikus is determinisztikus automata nemdeterminisztikus környezetfüggetlen nyelv felismerhető nemdet automatával környezetfüggő nyelv egyben körznyezetfüggetlen nyelv is nemdeterminisztikus automata determinisztikus is nyelv leírható nyelvtannal nyelvtannal leírt nyelv felismertethető VDA-val nyelvtannal leírt nyelv reguláris nyelvtannal leírt nyelv rekurzív nyelvtannal leírt nyelv rekurzívan felsorolható parciálisan rekurzív nyelv környezetfüggetlen parciálisan rekurzív nyelv környezetfüggő parciálisan rekurzív nyelv reguláris rekurzív nyelv Chomsky 2 típusú rekurzív nyelv reguláris nyelv rekurzívan felsorolható nyelv reguláris 19 / 20
0: 1: 2: 3: 2 veremmel elfogadott nyelv Tetszőleges parciális rekurzív nyelv Tetszőleges rekurzívan felsorolható nyelv 2veremmel elfogadott nyelv ; ; ; {u;u {a,b,c} * és l a (u)=l b (u)=l c (u) 1} {x n-2 y n-2 z n-2 ; n 3 } dadogós szavak négyzetszámnyi hosszú x sorozatokból álló nyelv ; ; és ; ; l(a)=l(b) Helyes zárójelezés Palindrómák nyelve ugyanannyi a-t és b-t tartalmazó szavak nyelve 1veremmel elfogadott nyelv 1verem által üres veremmel felismert / elfogadott nyelv 2 zárójelpár feletti helyes zárójelezések nyelve 3 zárójelpár feletti helyes zárójelezések nyelve 4-el osztható bináris számok 4-el osztható bitsorozatok nyelve 3-al osztható hexadecimális számok nyelve 11-el/ 5-el /3-al osztható decimális számok 5-tel osztva 2 maradékot adó decimális számok nyelve 7-el/ 3-al osztható 7-es/ 3-as számrendszerbeli számok 7-tel osztva 2 maradékot adó decimális számok nyelve A legfeljebb 30 hosszúságú helyes zárójelezések nyelve Általánosított szekvenciális automatával felismert nyelv reguláris nyelv ; és {a n ; n=k 2, ahol 0 k 1000 } {a n ; ahol n 0 és 1000 közé eső prímszám} (mert n=2 ) {a n ; n páros prím} (mert n=2 ) a 2n+1, n 0 VNDA-val elfogadott nyelv 0veremmel elfogadott nyelv 20 / 20