1) Sekvenční a paralelní gramatiky

Podobné dokumenty
Formální jazyky a gramatiky Teorie programovacích jazyků

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

2 Formální jazyky a gramatiky

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

Vztah jazyků Chomskeho hierarchie a jazyků TS

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27

Turingovy stroje. Teoretická informatika Tomáš Foltýnek

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39

Jednoznačné a nejednoznačné gramatiky

Formální jazyky a automaty Petr Šimeček

Vysoké učení technické v Brně Fakulta informačních technologií. Gramatiky nad volnými grupami Petr Blatný

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Automaty a gramatiky. Uzávěrové vlastnosti v kostce R J BKJ DBKJ. Roman Barták, KTIML. Kvocienty s regulárním jazykem

Lineární algebra : Násobení matic a inverzní matice

Teoretická informatika - Úkol č.1

Lineární algebra : Lineární prostor

EKO-KOLONIE. Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě 24.

Bezkontextové gramatiky nad volnými grupami

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.

Naproti tomu gramatika je vlastně soupis pravidel, jak

Základy maticového počtu Matice, determinant, definitnost

Lineární algebra : Násobení matic a inverzní matice

Automaty a gramatiky

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

Strukturální rozpoznávání

PŘEDNÁŠKA 2 POSLOUPNOSTI

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNTAKTICKÁ ANALÝZA DOKONČENÍ, IMPLEMENTACE.

Základy teoretické informatiky Formální jazyky a automaty

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

Čísla značí použité pravidlo, šipka směr postupu Analýza shora. Analýza zdola A 2 B 3 B * C 2 C ( A ) 1 a A + B. A Derivace zleva:

Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008

1 Determinanty a inverzní matice

Úvod do lineární algebry

Vlastnosti Derivační strom Metody Metoda shora dolů Metoda zdola nahoru Pomocné množiny. Syntaktická analýza. Metody a nástroje syntaktické analýzy

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

Teoretická informatika Tomáš Foltýnek Teorie čísel Nekonečno

10 Přednáška ze

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j.

Lineární algebra : Skalární součin a ortogonalita

DEFINICE Z LINEÁRNÍ ALGEBRY

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

1 Kardinální čísla. množin. Tvrzení: Necht X Cn. Pak: 1. X Cn a je to nejmenší prvek třídy X v uspořádání (Cn, ),

Syntaxí řízený překlad

4. Trojúhelníkový rozklad p. 1/20

UČEBNÍ TEXTY VYSOKÝCH ŠKOL. Prof. RNDr. Milan Češka, CSc. Gramatiky a jazyky

Matematika B101MA1, B101MA2

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Teoretická informatika TIN 2013/2014

Úvod do informatiky. Miroslav Kolařík

AUTOMATY A GRAMATIKY

Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Pravděpodobnost a statistika

ALGEBRA. Téma 4: Grupy, okruhy a pole

ZÁKLADY TEORETICKÉ INFORMATIKY

BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS MASTER S THESIS AUTHOR

Lineární algebra : Skalární součin a ortogonalita

12. Determinanty. 12. Determinanty p. 1/25

Teorie množin. Čekají nás základní množinové operace kartézské součiny, relace zobrazení, operace. Teoretické základy informatiky.

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda

Teoretická informatika

Úlohy k procvičování textu o univerzální algebře

Hypergrafové removal lemma a Szemérediho

Soustavy lineárních rovnic

1 Báze a dimenze vektorového prostoru 1

Kapitola 11: Vektory a matice 1/19

Co je to univerzální algebra?

α β ) právě tehdy, když pro jednotlivé hodnoty platí β1 αn βn. Danou relaci nazýváme relace

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy

H {{u, v} : u,v U u v }

NMAI059 Pravděpodobnost a statistika

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

Automaty a gramatiky. Roman Barták, KTIML. Separované gramatiky. Kontextové gramatiky. Chomského hierarchie

7 Analytické vyjádření shodnosti

0. ÚVOD - matematické symboly, značení,

(Cramerovo pravidlo, determinanty, inverzní matice)

Definice 1.1. Nechť je M množina. Funkci ρ : M M R nazveme metrikou, jestliže má následující vlastnosti:

Automaty a gramatiky. Roman Barták, KTIML. Chomského normální forma

LIMITA A SPOJITOST FUNKCE

1 Linearní prostory nad komplexními čísly

Matematická analýza 1

3 Množiny, Relace a Funkce

Výroková a predikátová logika - V

1 Soustavy lineárních rovnic

Teoretická informatika

7. Lineární vektorové prostory

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/31

Operace s maticemi. 19. února 2018

P 1 = P 1 1 = P 1, P 1 2 =

Marie Duží

6. Vektorový počet Studijní text. 6. Vektorový počet

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 2. března / 32

Interpolace, ortogonální polynomy, Gaussova kvadratura

Transkript:

A. Kapitoly z teorie formálních jazyků a automatů c Milan Schwarz (006) ) Sekvenční a paralelní gramatiky Derivace v gramatikách: Sekvenční postup sekvenční gramatiky (např. gramatiky v Chomského hierarchii) - v každém kroku derivace je vybráno a použito jedno pravidlo gramatiky na jeden neterminál. Paralelní postup paralelní gramatiky (např. Lindenmayerovy systémy) - v každém kroku derivace jsou najednou přepsány všechny neterminály ve slově, mohou být paralelně použita různá pravidla, jedno pravidlo i vícekrát na různých místech. a)sekvenční gramatiky - Chomského klasifikace gramatik: Tato klasifikace vymezuje čtyři druhy gramatik, podle tvaru přepisovacích pravidel, jež obsahuje množina přepisovacích pravidel P. Tyto typy se označují jako typ 0, typ, typ a typ 3. Typ 0 (neomezené) : Gramatika typu 0 obsahuje pravidla v nejobecnějším tvaru, shodnými s definicí gramatiky: Def.: Gramatika G je čtveřice G = (N,,P,S), kde N - je konečná množina neterminálních symbolů - je konečná množina terminálních symbolů, N = P - je konečná podmnožina kartézského součinu (N ) N(N ) (N ) S N je výchozí (také počáteční) symbol gramatiky Z tohoto duvodu jsou gramatiky typu 0 označovány jako gramatiky neomezené. Příkladem takové gramatiky muže být jakákoliv gramatika. Typ (kontextové) : Gramatika typu obsahuje pravidla tvaru : αaβ αγβ,a N,α,β (N ),γ (N ) + nebo S ǫ Gramatiky typu nazýváme gramatikami kontextovými, protože tvar pravidla této gramatiky implikuje, že neterminál A muže být nahrazen řetězcem γ pouze tehdy, je - li jeho pravým kontextem β a levým kontextem α. Kontextové gramatiky nepřipouštějí pravidla typu A ǫ, tedy nahrazování neterminálu prázdným řetězcem. Jedinou výjimku tvoří pravidlo S ǫ (S je výchozí symbol gramatiky), ale S se nesmí vyskytovat na pravé straně

žádného pravidla. Tím lze vyjádřit příslušnost prázdného řetězce k jazyku, který daná gramatika generuje. Př.: L = {a i b i c i i } Typ (bezkontextové) : Gramatika typu obsahuje pravidla tvaru : A γ,a N,γ (N ) Gramatiky typu nazýváme gramatikami bezkontextovými, protože substitucí levé strany γ pravidla za neterminál A lze provádět bez ohledu na kontext, ve kterém je neterminál A uložen. Na rozdíl od kontextových gramatik se v bezkontextových gramatikách mohou objevovat pravidla tvaru A ǫ. Každou bezkontextovou gramatiku lze transformovat na gramatiku obsahující nejvýše jedno takové pravidlo a to S ǫ, přičemž S se nevyskytuje na pravé straně žádného pravidla. Př.: L = {a i b i i } Typ 3 (regulární) : Gramatika typu 3 obsahuje pravidla typu : A ab nebo A a, kde A,B N,a Př.: L = {a};l = {a i i } b)paralelní gramatiky - Lindenmayerovy systémy: Viz. otázka a 3.

A. Kapitoly z teorie formálních jazyků a automatů c Milan Schwarz (006) ) Lindenmayerovy systémy, základní charakteristiky Nemáme startovací neterminál, ale startovací slovo axiom (může být více symbolů). Výpočet probíhá paralelně (všechny symboly, které lze přepisovat, se v každém kroku přepíšou). Obvykle nerozlišujeme terminální a neterminální symboly, máme jedinou abecedu (kromě některých typů L-systémů, které mají zvláštní abecedu terminálních symbolů, ta slouží k zastavení výpočtu když se slovo skládá pouze z těchto symbolů, výpočet se zastaví). Obecně může být výpočet nekonečný nebo se zastaví po předem zadaném počtu kroků, během výpočtu slovo také může zaniknout (používáním epsilonových pravidel). 0L-systémy (Lindemayerův systémy typu 0) Def.: 0L-systémem nazýváme každou trojici G = (,P,w 0 ), kde: je konečná abeceda P množina přepisovacích pravidel tvaru a α, kde a, α w 0 + axiom systému (startovací symbol); můžeme začínat ze slova a ne pouze ze startovacího symbolu S, většinou nejkratší slovo z jazyka. 0 v označení znamená, že se jedná o L-systémy bez interakce, tzn. na přeměnu symbolu nemají vliv sousední symboly. (Pozn.: Tvar pravidel analogický s tvarem bezkontextových jazyků.) Def.: Slovo u = a...a n + lze v 0L systému G = (,P, 0), bezprostředně přepsat na slovo v, jestliže existují pravidla a α,...,a n α n P taková, že, α...α n = v. Značíme to u v. Píšeme w z, jestliže slovo w lze v konečně mnoha krocích přepsat na z. Jazykem generovaným systémem G nazýváme jazyk L(G) = {w w w 0 w}. Terminály se vyvíjí bez interakce: a i α i P,a a...a n α α...α n, tj. všechny terminály jsou najednou přepsány...paralelismus. V 0L systémech musíme mít pravidlo pro každé písmeno.

L 0L...množina jazyků, které lze generovat 0L gramatikami Např.: G = ({a}, {a aa},a);l(g) = {a k } {a,aa} / L 0L Věta: Existuje konečný jazyk, který není 0L. Důkaz sporem pomocí jazyka L={a, aa}:. Nechť w 0 = a, tedy a aa. Je zřejmé, že lze však také a a 4, z čehož plyne, že a 4 L(G) a tedy L L(G).. Nechť w 0 = aa, tedy aa a. Je zřejmé, že lze však také aa ǫ, z čehož plyne, že ǫ L(G) a tedy L L(G). Možno zapojit otázku č. 3 a 6.

A. Kapitoly z teorie formálních jazyků a automatů c Milan Schwarz (006) 3) Typy Lindenmayerových systémů a) 0L-systémy: viz.. otázka b) D0L-systémy: Označuje deterministický systém, tj. mezi přepisovacími pravidly neexistují dvě různá pravidla se stejnou levou stranou, tj., když a!(právě jedno pravidlo) a α c) P0L-systémy: P(propagating) označuje rozpínavé systémy. Na pravé straně žádného pravidla není prázdné slovo, tj. nedovoluje užití ǫ-pravidla. Musí platit, že nejkratší slovo z jazyka je axiom, protože slovo se může pouze rozšiřovat. Z axiomu musí být odvoditelné druhé nejkratší slovo z jazyka atd. d) PD0L-systémy: PD0L - nevymazávací deterministický 0L-systém. Věta: L 0L jsou vlastní nadtřídou L D0L a L P0L, tzn. )L D0L L 0L )L P0L L 0L 3)L PD0L L D0L 4)L PD0L L P0L Např. - Věta: Jazyky L D0L a L P0L jsou neporovnatelné (jazyky v důkazu lze totožně použít pro důkazy, ). Nechť G = ({a,b,c}, {a aa,b cab,c ǫ},b). Je zřejmé, že L(G) je D0L jazyk, který neobsahuje ǫ. Lze snadno ověřit, že L(G) = {b} {a n cab n }. Předpokládejme, že existuje P0L systém H = (,P,w 0 ) takový, že L(H)=L(G), pak = {a,b,c} a musí w 0 = b. Je zřejmé, že P obsahuje pouze jediné pravidlo b α, α, a to b cab. Pak tedy b cab a cab, z čehož plyne, že a a a c a. To znamená, že existuje také derivace a cab a 4 cab, tedy a 4 cab L(H), L(H) L(G). L(G) tedy není P0L jazyk.. Nechť G = ({a}, {a a,a aa},a). L(G) = {a} + je P0L jazyk. D0L jazyk nad abecedou {a} může být definován pouze D0L systémem ve tvaru H = ({a}, {a a k },a i ). Jazyk generovaný D0L systémem L(H) = {a i kn n 0}. Pro žádnou volbu parametrů i,k neprobíhá funkce f(n) = i k n všechna přirozená čísla. Tedy {a} + není D0L jazyk. e) E0L-systémy(extended): Def.: G = (,,P,w 0 ), kde G = (,P,w 0 ) je 0L systém a je terminální

abeceda taková, že. Jazyk generovaný systémem G je definován jako L(G) = L(G ), tj. vybereme pouze terminální slova. Př.: L = {a n b n a n n }, kde G = {,,P,w 0 = S}, = {S,A,B,A,B,F,a,b}, = {a,b},p : S ABA,A AA,B BB,A A,B B,F F,a F,b F,A a,b b,a a,b b Věta: L 0L L E0L L EOL 0L = {a,aa} Synchronizovaný E0L-systém: Def.: E0L-systém G = (,,P,w 0 ) je synchronizovaný, jestliže, pro a platí, že a α, kde α / (jestliže odvodíme α, tak α nepatří do, z terminálu už neodvodíme další terminál) Věta: Každý 0L-systém G = (,P,w 0 ) je i E0L-systém G = (,,P,w 0 );, právě tehdy když = 0L = E0L. f) T0L-systémy: Def.: G = (,P,w 0 ), kde je konečná abeceda, P množina tabulek P = {P,...P k }, přičemž (,P i,w 0 ) je 0L systém a zároveň v jednom kroku odvození lze vždy použít pouze jednu tabulku; w 0 je startovací axiom systému. Věta: L 0L L T0L L TOL 0L = {b,a 4,a 8 } g) ET0L-systémy: Def.: Nechť G = (,P,w 0 ) je T0L-systém a. Systém G = (,,P,w 0 ) nazýváme ETOL-systémem, kde L(G) = L(G ) (kde je koncová abeceda). Př.:L(G) = {a n,b m,a n n 0,m n}, G = ({a,b,c,d}, {a,b},p,cd), kde P: {a a,b b,c acb,d da}, {a a,b b,c cb,d d}, {a a,b b,c ǫ,d ǫ} h) Interaktivní systémy: Viz. otázka č. 6.

A. Kapitoly z teorie formálních jazyků a automatů c Milan Schwarz (006) 4) E0L systémy a třídy jazyků Chomského hierarchie E0L-systémy: viz. 3. otázka (možnost definovat PE0L, DE0L, PDE0L podobně jako pro 0L jazyky) Chomského hierarchie: viz.. otázka Věta: Každý konečný jazyk je E0L jazyk (každý konečný jazyk je regulární). Důkaz: Nechť L = {α i i n} je konečný jazyk nad abecedou a nechť S /.Nechť G = ( {S},,P,w 0 ) je E0L systém, kde P = {S α i i n} {a a a }. Potom L=L(G). Jediný konečný jazyk, který není v požadované formě, je prázdný jazyk. Ten je generovaný PDE0L systémem. Věta: Jestliže jazyk L je bezkontextový, potom je tento jazyk L tak E0Ljazyk. L BK L E0L L K. Důkaz:. Nechť G = (N,T,P,S) je bezkontextová gramatika, kde L(G) = L L BK. Pak L E0L (G ) = L(G), kde G = (N T,T,P {a a a T },S). L L E0L BK ; L = {a i b i c i i > 0}: G = {{S,A,B,C,A,B,C,F,a,b,c}, {a,b,c},p,s},p : S ABC,A AA,B BB,C CC,A A,B B,C C,F F,a F,b F,c F,A a,b b,c c,a a,b b,c c Věta (Uzávěrové vlastnosti E0L): Jestliže L,L jsou E0L jazyky, pak jsou také E0L jazyky L L, L L, L +, L. Důkaz: Jestliže L a L L E0L, existuje synchronizovaný E0L systém G = (,,P,w ) a G = (,,P,w ) takový, že L(G ) = L a L(G ) = L. Potom můžeme vybrat G a G takovým způsobem, že ( ) ( ) =. Buď S,S,S symboly nepatřící do.. L L = L(G), kde G = ( {S},,P P {S w,s w },S). L L = L(G), kde G = ( {S,S,S },,P P {S S S,S S,S S,S w,s w },S)

3. L + = L(G), kde G = ( {S},,P {S SS,S S,S w },S) 4. L = L(G), kde G = ( {S},,P {S SS,S S,S w,s ǫ},s)

A. Kapitoly z teorie formálních jazyků a automatů c Milan Schwarz (006) 5) T0L systémy, stupeň synchronizace a determinismu Def.: G = (,P,w 0 ), kde je konečná abeceda, P množina tabulek P = {P,...P k }, přičemž (,P i,w 0 ) je 0L systém a zároveň v jednom kroku odvození lze vždy použít pouze jednu tabulku; w 0 je startovací axiom systému. Def.: Buď G = (,P,w 0 ) T0L systém, buď x = a...a n slovo nad abecedou, n 0, pro j n, buď y. Z x lze přímo odvodit y, platí-li y = α α...α n tak, že existuje p P a existuje (a α,a α,...,a n α n ) p. Def.: T0L systém G = (,P,w 0 ) se nazývá nevymazávající, jestliže žádná množina pravidel p P neobsahuje pravidla typu a ǫ. Def.: systém G = (,P,w 0 ) se nazývá deterministický, jestliže pro každé p P a pro každé a existuje právě jedno pravidlo a α, α. Def.: Buď G = (,P,w 0 ) T0L systém:. stupeň synchronizace T0L systému G označujeme Syn G a je roven počtu tabulek náležících P, tedy Syn G = P.. Buď a, p P, označme A(a,p) = {α a p α} stupeň nedeterminismu písmene a vzhledem k tabulce p je Det G (a,p) = A(a, p) stupeň nedeterminismu tabulky p je Det G p = max a Det G (a,p) stupeň nedeterminismu systému G je Det G = max p P Det G p Def.: Buď L T0L jazyk:. stupeň synchronizace L je Syn L = min{syn G L(G) = L}. stupeň nedeterminismu L je Det L = min{det G L(G) = L} Pozn.: T0L jazyk L je deterministický, tehdy a jen tehdy, když Det L =. Př.: Pro libovolné kladné číslo k, definujme jazyk L k = {b,a,a,...,a k }.. L k = L(G), kde G je T0L systém ({a,b}, {b a,b a,...,b a k,a a},b). Syn G =, Det G = k, tudíž Syn L k =, Det L k k.

. L k = L(H), kde H je T0L systém ({a,b}, {b a,a a}, {b a,a a},..., {b a k,a a},b). Syn H = k, Det H =, tudíž Syn L k k, Det L k =. 3. z bodů, plyne, že Syn L k = a Det L k = Věta: Pro každou dvojici kladných přirozených čísel k, l existuje konečný T0L jazyk L k,l, kde: Det L k,l = k, Syn L k,l = l. Věta: L 0L L T0L L TOL 0L = {b,a 4,a 8 }

A. Kapitoly z teorie formálních jazyků a automatů Milan Schwarz (006) 6) Interaktivní systémy, vliv velikosti interakce na generativní sílu. k, l k, l systém (nazýváme také IL systém) je čtveřice G = Σ, P, g, ω, kde Σ je konečná abeceda, ω Σ je axiom, g Σ je značkovací symbol (zarážka). k l P je konečná neprázdná množina pravidel, ( Σ { g} ) Σ ( Σ { g} ) Σ () pro w, a, w w P platí: 3, (.) jestliže w g 4 w (.) jestliže w 3 g 3 a P taková, že w = pro libovolné w w ( Σ { }), pak { } 3 w, g w, g w = pro libovolné w3, w ( Σ { g} ), pak { } () pro každé w a w ( Σ { g} ) k Σ ( Σ { g} ) l,, 3 takové, že 3 w, 3 g w a w 3 splňují podmínky (.) a (.), existuje w 4 Σ takové, že w, a, w3, w4 P. Jestliže w, a, w w P, značíme w, a, w3 w4 nebo také w, a, w3 w4. 3, 4 P Buď k číslo, m k 0. Pro slovo w = aa... am je Suf k ( w) = am ( m k ) + am ( m k ) +... am a Pref w) = a a... a. k ( k Def.: Buď G = Σ, P, g, ω IL systém, m... a Σ x = a m a G y Σ. Z x = a,..., a lze přímo odvodit y (značíme x y ), platí-li: y = α... α, kde k g, a α, l,pr ef l ( a... am g ) k Suf ( g a α, Suf k l ), a,pr ef l ( a3... am g ) k l k ( g a... am ), am, g m. P Def.: Buď definován: L (G) = { P α P G = Σ, P, g, ω IL systém. Jazyk generovaný IL systémem G, značíme L (G), je x Σ x ω }. G Def.: Buďte k, l nezáporná celá čísla. Jestliže L je jazyk takový, že existuje IL systém G, pro který platí L ( G) = L, pak L se nazývá IL jazyk. Def.: Buď G = Σ, P, g, ω IL systém: m A.6

je w λ. 4 i) G se nazývá nevymazávající (PIL), jestliže ω λ a pro každé w, w, w w P 3, ii) G se nazývá deterministický (DIL), jestliže pro každou trojici w, a, w3 existuje jediné pravidlo w 4 Σ takové, že w, a, w3 w4 P. n Př.: L( G) = { c, ba} { a n }, G { a, b, c}, P, g, c P :. x, a, λ a, x { a, c, g},. b, a,λ a, 3. x, c, ba, λ x { a, b, c, g} λ a x { a, b, c, g} λ x { a, b, c, g}. 4. x, c,, 5. x, b, b,,, =, Postupným derivováním axiomu c získáme slova: a) pokud použijeme jako první 3. pravidlo: c ba ba ba... ba 3 5, 5, 5, 5, 4 b) pokud použijeme jako první 4. pravidlo: 4 c a, a,,, 4... ( n ) a n Věta: Platí následující diagram F (4L) F (<3,0 >L) F (3L) F (<0,3>L) F (<,0 >L) F (L) F (<0,>L) F (<,0 >L) F (<0,>L) F (0L) Diagram ilustruje vztahy mezi všemi třídy IL jazyků. Všechny inkluze vyplývají z lemma, věty a. Lemma : Jestliže pro nezáporná celá čísla k, k, l, l platí k k a l l, pak F ( k,l ) F ( k,l ). Věta :Nechť k, k, l, l jsou celá čísla taková, že 0 k k, 0 l l a k + l < k + l. Pak F ( k, l ) F ( k,l ). Věta : Pro libovolnou dvojici kladných celých čísel k a l platí, že F ( k,0 ) a F ( 0,l ) jsou neporovnatelné, ale ne disjunktní. Důkazy k těmto větám jsou masíčko - jestli má někdo zájem, klidně poskytnu:-) A.6

A. Kapitoly z teorie formálních jazyků a automatů Milan Schwarz (006) 7) Maticové gramatiky. Definice, příklady, základní poznatky. Maticová gramatika: G ( N,T,S, M ) Def.: Pro - N je množina neterminálních symbolů, - T je množina terminálních symbolů, - S je startovací symbol, = - M = { m, m, K, m n }, n m = i ( pi, K, pi k ( i) ), ( i) kde všechna p, i n, j k( i) m i, i n, a i j kde mi = pi, K, pi k ( i ). Def.: Jazyk ( G), je konečná množina sekvencí k, i n,, jsou bezkontextová pravidla, x, y, definujeme x y jako V G mi x0 p x x y i pi p i 3 p, i k ( i ) x = K ( ) M L generovaný gramatikou G je definován jako množina všech slov takových, že existuje derivace S y y K w pro nějaké s, j i n, i s. m j m j m j 3 m, j s w T Př.: L(G) = {a i b i c i : i } do množiny jazyků generovaných bezkontextovými gramatikami m : (S ABC) m : (A aa, B bb, C cc) bezkontextové pravidla zvýšení generativní síly m 3 : (A a, B b, C c) Maticová gramatika s testováním výskytu: Def.: Maticová gramatika s testováním výskytu (matrix grammar with appearance checking) je pětice G = ( N,T,S, M, F ), kde - N, T, S, M jsou definovány stejně jako v maticové gramatice v předchozí definici, - F je podmnožina množiny všech pravidel v maticích, tzn. F p i n, j k i. { ( )} i j Def.: Pro m i, i n, a ac x, y, definujeme x y jako x V G m i ac ac ac ac = x0 p x p x p p y i i K, i3 ik ( i ) Def.: Jazyk L ( G) generovaný maticovou gramatikou G s testováním výskytu je definován jako množina všech slov w T takových, že existuje derivace A.7

S ac m j y pro nějaké s, j i n, i s. y K w ac ac ac m j m j m, 3 js Def.: G je maticová gramatika bez testování výskytu právě tehdy, když F = 0/. n m n m L G = a b c d n, m Př.: ( ) { } G m m = ({ S, A, B, C, D},{ a, b, c, d},{ m, K, m4}, S,0/ ) = ( A aa, C cc) m = ( A a, B b, C c, D d ) 3 = ( S ABCD) m4 = ( B bb, D dd) Př.: L = { a n 0} L G m n M a c = ({ A, U, X, Y, Z},{ a}, X,{ m, K, m5},{ X U, Y U, Z U, A U} ) = ( Y U, A U, X ZZ ) m = ( Y U, Z U, X A) m3 = ( X U, Z Y ) m4 = ( X U, A a) m5 = ( Z U, Y X ) Jestliže jsou všechny matice maticové gramatiky jednoprvkové, jedná se o běžnou bezkontextovou gramatiku. Tedy ke každé bezkontextové gramatice existuje maticová gramatika. Z toho plyne L ( CF ) L ( M ), kde L ( CF ) je rodina jazyků příslušných rodině bezkontextových gramatik a L( M ) je rodina jazyků příslušných rodině maticových gramatik. Jestliže v odvozovaném slově existuje terminál, jehož pravidlo se nachází v množině F, musíme toto pravidlo aplikovat (není tedy možné toto pravidlo vynechat). A.7

A. Kapitoly z teorie formálních jazyků a automatů Milan Schwarz (006) 8) Programové gramatiky a gramatiky s náhodným kontextem. Definice, příklady, základní poznatky. Programové gramatiky: Def.: G = (N, T, P, S), kde - N je konečná množina neterminálů; - T je konečná množina terminálů; - S je startovací symbol; - P: (r: A α, σ(r), ϕ(r)) P; Zn(P) je množina značek pravidel taková, že σ(r) Zn(P), ϕ(r) Zn(P) Def. (Krok odvození): x se za použití pravidel se značkou r přepíše na (y, r ), tedy (x, r ) (y, r ), kde r, r Zn(P); (r : A α, σ(r ), ϕ(r )) pak:.) jestliže x je tvaru x = x A y, pak y = x α y a r P(r ) (r je jedno z pravidel z σ(r )).) y = x r σ(r ) jestliže nelze pravidlem r přepsat x, nepřepíšeme ho, ale další použité pravidlo bude z σ(r ) Def.: Jazykem generovaný programovanou gramatikou G nazýváme jazyk L(G) = { w T; (S, r ) (w, r ), r, r Zn(P)}. Pozn.: Dokážeme generovat jazyky bohatší než jazyky bezkontextové. Př.:L(G) = {a n b n c n : n },G=({S,A,B,C},{a,b,c},{r,r,...,r 7 },S) je to lineární jazyk,ale není bezkontextový (r : S ABC, {r, r 5 }, ) r je značka pravidla, {r, r } je to, co se použije po aplikaci r (r : A aa, {r 3 }, ) (r 3 : B bb, {r 4 }, ) tvoří iteraci k jednotlivým písmenům (r 4 : C cc, {r, r 5 }, ) (r 5 : A a, {r 6 }, ) (r 6 : B b, {r 7 }, ) (r 7 : C c,, ), tj. prázdná množina, znamená, že v případě neúspěchu nemůžeme pokračovat Př.: L(G) = {a na n-tou : n } složitější kontextový jazyk (r : S AA, {r }, {r, r 3 }) {r, r 3 } jsou zamítací pravidla (r : A S, {r }, {r }) (r 3 : A a, {r 3 }, ) (r 3 : A a, {r 3 }, ) nutí k paralelismu na jedno písmeno Gramatiky s náhodným kontextem: Def.: G = (N, T, P, S), kde - N je konečná množina neterminálů; - T je konečná množina terminálů; - S je startovací symbol; - P: pravidlo má takovouto podobu (A α, Q, R); R, Q N (R a Q je množina neterminálních symbolů). A.8

Def.(Krok odvození): x se přepíše na y x y, x = x Ax a y = x αx ; x, x obsahuje všechny písmena z Q a neobsahují žádný symbol z R. Q je tedy tzv. přítomný kontext a R nazýváme nepřítomným kontextem. Pozn.: Vygenerujeme každý bezkontextový jazyk. Př.: L(G) = {a n b n c n : n }, G=({S,A,B,C},{a,b,c},{r,r,...,r 7 },S) (S ABC,, ), nemám žádný kontext, přepisuji S (A aa, {B}, ) {B} je to, co máme ve větné formě (B bb, {C}, ) (C cc, {A }, ) (A A, {B }, ) (B B, {C }, ) (C C, {A}, ) (A a, {B}, ) (B b, {C}, ) (C c,, ), nekontrolujeme žádný neterminál A.8

A. Kapitoly z teorie formálních jazyků a automatů c Milan Schwarz (006) 9) Regulované L-systémy - budeme používat tabulkové TOL systémy (viz 5. otázka) a) Maticový TOL systém (MT0L) Def.: Maticovým T0L-systémem budeme nazývat každou čtveřici G = (,P,M,w 0 ), kde (,P,w 0 ) je T0L systém, M = {m,m,...,m n }, M je matice, tj. konečná množina posloupností m i = (i,i,...,i ki ); i s, i t k Def. (krok odvození): x mi y, x = x Pi x Pi x 3... x ki Pki y. L(G) = {w w 0 mi w mi w... mit w r Pi w Pi w... w r; r k i } - při posledním odvození nemusíme použít všechna pravidla z příslušné tabulky použité jako poslední. Věta: L T0L L PDMT0L ; L PDMT0L T0L = {a,a 4,b 4 }, G = ({a,b}, {P,P }, {{, }},a ), P = {a a,b b},p = {a b,b b} L DMT0L L PT0L ; L PT0L DMT0L = {a n n }, P = {a a,a aa} Věta: L MT0L systém není uzavřený na,,.,+,bez ǫ homomorfismus,inverzní homomorfismus Důkaz( ): L = {a n n }, L = {b 3m m }; L L / L MT0L a k 0 b ik 0 ; i k0 3 s Důkaz(.): L = {a n n } je 0L. L = {ab m m } je 0L. L.L / L MT0L = {a n + b m m,n } P: (a a i,b b j ) a 3 b m a 3 b jm, a 3 b m a 6 b jm, např. a 5 b t nelze vygenerovat! b) Programový TOL systém Def.: Programovým T0L-systémem budeme nazývat každou trojici G = (,P,w 0 ), kde: σ(p) P, p P; w 0 Pi w Pi w... P ij+ σ(p ij ) c) TOL systém s náhodným kontextem Def.: T0L-systémem s náhodným kontextem budeme nazývat každou trojici G = (,P,w 0 ), kde: p P; Q ; w 0 Pi w Pi w... Def.(krok odvození): x P y, pokud se v x vyskytují všechna písmena z množiny Q.