Bezkontextové gramatiky nad volnými grupami

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

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ů

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

Naproti tomu gramatika je vlastně soupis pravidel, jak

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Úvod do informatiky. Miroslav Kolařík

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

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

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

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

Co je to univerzální algebra?

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 Σ

Množiny, relace, zobrazení

Vlastnosti regulárních jazyků

Teoretická informatika TIN 2013/2014

Modely Herbrandovské interpretace

Teoretická informatika

Matematická analýza 1

1 Báze a dimenze vektorového prostoru 1

Teoretická informatika Tomáš Foltýnek Algebra Struktury s jednou operací

Lineární algebra Kapitola 1 - Základní matematické pojmy

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Matematická logika. Miroslav Kolařík

Vysoké učení technické v Brně Fakulta informačních technologií. Regulární pologrupy. Semestrální práce do předmětu Algebra, Kombinatorika, Grafy

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

Vztah jazyků Chomskeho hierarchie a jazyků TS

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

Teoretická informatika - Úkol č.1

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

Jednoznačné a nejednoznačné gramatiky

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

Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA I, zimní semestr 2000/2001 Michal Marvan. 2.

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 α

Lineární algebra : Báze a dimenze

Algebraické struktury s jednou binární operací

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.

Báze a dimenze vektorových prostorů

Matice. a m1 a m2... a mn

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, ),

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

Základní pojmy teorie množin Vektorové prostory

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

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

2 Formální jazyky a gramatiky

15. Moduly. a platí (p + q)(x) = p(x) + q(x), 1(X) = id. Vzniká tak struktura P [x]-modulu na V.

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

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

1 Linearní prostory nad komplexními čísly

Matematika B101MA1, B101MA2

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

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

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

Limita a spojitost funkce a zobrazení jedné reálné proměnné

DEFINICE Z LINEÁRNÍ ALGEBRY

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

6 Lineární geometrie. 6.1 Lineární variety

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

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:

Lineární algebra : Lineární prostor

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

1 Soustavy lineárních rovnic

AUTOMATY A GRAMATIKY

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

PŘEDNÁŠKA 7 Kongruence svazů

Logické programy Deklarativní interpretace

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

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

4.2 Syntaxe predikátové logiky

METRICKÉ A NORMOVANÉ PROSTORY

Matematická logika. Miroslav Kolařík

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Kongruence na množině celých čísel

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

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

Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin.

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...

3 Množiny, Relace a Funkce

Základní pojmy matematické logiky

Vrcholová barevnost grafu

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu

Lineární prostory. - vektorové veličiny(síla, rychlost, zrychlení,...), skládání, násobení reálným číslem

Aritmetika s didaktikou I.

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

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

Kapitola Základní množinové pojmy Princip rovnosti. Dvě množiny S a T jsou si rovny (píšeme S = T ) prvek T je také prvkem S.

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

ÚVOD DO ARITMETIKY. Michal Botur

Predikátová logika. Teoretická informatika Tomáš Foltýnek

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

Princip rozšíření a operace s fuzzy čísly

Pojem relace patří mezi pojmy, které prostupují všemi částmi matematiky.

Matematická analýza pro informatiky I.

PŘEDNÁŠKA 2 POSLOUPNOSTI

0.1 Úvod do lineární algebry

M M. Je-li ρ M 2 relace, pak vztah (x, y) ρ zapisujeme x ρ y.

1 Základní pojmy. 1.1 Množiny

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

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

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

Transkript:

Vysoké učení technické v Brně Fakulta informačních technologií Bezkontextové gramatiky nad volnými grupami 2004 Radek Bidlo

Abstrakt Tento dokument zavádí pojem bezkontextové gramatiky nad volnou grupou a zkoumá zejména schopnost nově vzniklé struktury generovat jazyky. Na úvod jsou zopakovány nezbytné pojmy a definice. Je připomenuto základní členění gramatik a jazyků podle Chomského klasifikace. Jako základní struktura je použita běžná bezkontextová gramatika ke které je následně přidána struktura volné grupy generovaná totální abecedou této gramatiky. Na závěr je uveden úplný důkaz, který potvrzuje, že třída jazyků generovaných bezkontextovými gramatikami nad volnými grupami je shodná s třídou jazyků typu 0. Přidáním volné grupy k bezkontextové gramatice je tedy možné výrazně zvýšit její generativní sílu.

Obsah 1 Úvod 4 2 Základní pojmy a definice 5 2.1 Abeceda....................................... 5 2.2 Řetězec nad abecedou............................... 5 2.3 Jazyk nad abecedou................................ 5 3 Gramatiky 6 3.1 Derivace v gramatice................................ 6 3.2 Jazyk nad gramatikou............................... 6 3.3 Chomského klasifikace gramatik a jazyků.................... 6 3.4 Penttonenova normální forma........................... 7 4 Úvod do základních algebraických struktur 8 4.1 Finitární algebraické operace........................... 8 4.2 Axiomy binárních operací............................. 8 4.3 Grupoidy, pologrupy, monoidy a grupy...................... 9 5 Volné grupy 10 5.1 Volný monoid.................................... 10 5.2 Volná grupa..................................... 10 6 Bezkontextové gramatiky nad volnými grupami 11 6.1 Derivace v bezkontextové gramatice nad volnou grupou............ 11 6.2 Jazyk generovaný bezkontextovou gramatikou nad volnou grupou....... 12 6.3 Generativní schopnosti bezkontextových gramatik nad volnými grupami... 12 7 Závěr 18

1 Úvod V současné době je známo velké množství různých struktur pro popis formálních jazyků. Některé přistupují k definici jazyka z čistě matematického pohledu (různé algebraické struktury), jiné jazyk popisují množinou přepisovacích pravidel (gramatiky) a zbylé jazyk definují jako množinu vět, které jsou schopny přijmout (automaty). Uvedené rozdělení neplatí obecně, neboť existuje mnoho struktur a formálních modelů, které využívají různých kombinací. Jedná se však o hrubý přehled, ze kterého můžeme při studiu teorie formálních jazyků vycházet. Pokud budeme brát v úvahu gramatiky v jejich základní podobě, můžeme je rozdělit podle tzv. Chomského klasifikace gramatik a jazyků do čtyř tříd v závislosti na tvarech přepisovacích pravidel, která jsou nezbytná pro popis daného jazyka. Uvedené členění dnes již není zcela přesné, neboť se objevilo mnoho různých modifikací gramatik, které zasahují do několika tříd současně. Z této klasifikace však můžeme vycházet při studiu nových struktur pro popis jazyků a při zjišťování jejich generativních schopností. Na samém vrcholu Chomského hierarchie jsou tzv. jazyky tupu 0. V některé literatuře se můžeme též setkat s označením rekurzívně vyčíslitelné jazyky, frázově strukturované jazyky nebo též jazyky přijímané Turingovými stroji. Všechny výše uvedená označení jsou si ekvivalentní. My se v tomto dokumentu zaměříme na návrh vhodné struktury, která by byla schopna generovat celou třídu rekurzívně vyčíslitelných jazyků. Jako základ použijeme bezkontextovou gramatiku. Společně s ní definujeme volnou grupu nad totální abecedou této gramatiky. Využitím schopností obou uvedených prostředků dokážeme, že bezkontextové gramatiky nad volnými grupami definují třídu jazyků typu 0. 4

2 Základní pojmy a definice Abychom pochopili pozdější výklad, musíme si pro začátek definovat alespoň základní pojmy jako je abeceda, řetězec, jazyk nad abecedou a gramatika. 2.1 Abeceda Definice 2.1 symboly. Abecedou rozumíme konečnou neprázdnou množinu prvků, které nazýváme 2.2 Řetězec nad abecedou Definice 2.2 Řetězec nad abecedou Σ je libovolná posloupnost symbolů z Σ. Prázdnou posloupnost symbolů, tj. posloupnost, která neobsahuje žádné symboly, nazýváme prázdný řetězec a označujeme jej ɛ. Definice 2.3 Délka řetězce je nezáporné celé číslo udávající počet symbolů řetězce. Délku řetězce x značíme symbolicky x. Je-li x = a 1 a 2... a n, kde a i Σ pro i = 1, 2,..., n, potom x = n. Délka prázdného řetězce je nulová, tj. ɛ = 0. Definice 2.4 Nechť x = a 1 a 2... a n je řetězec nad nějakou abecedou Σ. Abeceda řetězce je množina alph(x) = n {a i } obsahující všechny symboly, které se v daném řetězci vyskytují. Platí alph(x) Σ. i=1 2.3 Jazyk nad abecedou Definice 2.5 Nechť Σ je abeceda. Označme Σ množinu všech řetězců nad abecedou Σ včetně řetězce prázdného, Σ + množinu všech řetězců nad abecedou Σ vyjma řetězce prázdného, tedy Σ = Σ + {ɛ}. Množinu L, pro níž platí L Σ (případně L Σ + pokud ɛ L), nazýváme jazykem L nad abecedou Σ. Jazykem tedy může být libovolná podmnožina řetězců nad danou abecedou. Nyní již víme, co je to jazyk nad danou abecedou. Musíme najít vhodný prostředek, jak takový jazyk popsat. Nejjednodušší je popis přímým výčtem všech vět jazyka. Tento způsob je však zcela nepoužitelný v případě nekonečných jazyků a problémy nastávají již při popisu rozsáhlých konečných jazyků. Nejpoužívanější způsob popisu jazyků je gramatika. Splňuje základní požadavek na reprezentaci konečných i nekonečných jazyků konečnost reprezentace. 5

3 Gramatiky Definice 3.1 Gramatika G je čtveřice G = (N, Σ, P, S), kde N je konečná množina nonterminálních symbolů Σ je konečná množina terminálních symbolů, platí N Σ = P je konečná podmnožina kartézského součinu (N Σ) N(N Σ) (N Σ) S N je výchozí (počáteční) symbol gramatiky Prvek (α, β) množiny P nazýváme přepisovacím pravidlem (krátce pravidlem) a budeme jej zapisovat ve tvaru α β. Řetězec α resp. β nazýváme levou resp. pravou stranou přepisovacího pravidla. 3.1 Derivace v gramatice Definice 3.2 Nechť G = (N, Σ, P, S) je gramatika a nechť λ a µ jsou řetězce z (N Σ). Mezi řetězci λ a µ platí relace, nazývaná přímá derivace, jestliže můžeme řetězce λ a µ vyjádřit ve tvaru λ = γαδ µ = γβδ kde γ a δ jsou libovolné řetězce z (N Σ) a α β je nějaké přepisovací pravidlo z P. Platí-li mezi řetězci λ a µ relace přímé derivace, pak píšeme λ µ a říkáme, že řetězec µ lze přímo generovat z řetězce λ v uvažované gramatice (předpokládáme, že je z kontextu zřejmé, o kterou gramatiku se jedná). 3.2 Jazyk nad gramatikou Definice 3.3 Nechť G = (N, Σ, P, S) je gramatika. Řetězec α (N Σ) nazýváme větnou formou, jestliže platí S α, tj. řetězec α je generovatelný z výchozího symbolu S. Větná forma, která obsahuje pouze terminální symboly, se nazývá věta. Jazyk L(G), generovaný gramatikou G, je definován množinou všech vět L(G) = {w S w w Σ } generovatelných z výchozího symbolu této gramatiky. 3.3 Chomského klasifikace gramatik a jazyků Chomského klasifikace gramatik vymezuje čtyři typy gramatik podle tvaru přepisovacích pravidel, jež obsahuje množina přepisovacích pravidel P. Tyto typy označujeme jako typ 0, typ 1, typ 2 a typ 3. My si zde uvedeme pouze ty, kterými se budeme v tomto dokumentu zabývat. To jsou bezkontextové gramatiky a obecné (neomezené) gramatiky. 6

Typ 2 Bezkontextové gramatiky A γ, kde A N, γ (N Σ). Gramatika typu 2 obsahuje pouze pravidla tvaru Každé přepisovací pravidlo bezkontextové gramatiky obsahuje na své levé straně právě jeden nonterminální symbol. Pravá strana potom může obsahovat libovolný řetězec z (N Σ). Typ 0 Obecné (neomezené) gramatiky Na přepisovací pravidla gramatiky typu 0 nejsou kladena žádná omezení. Jedinou podmínkou vyplývající už z definice gramatiky je přítomnost alespoň jednoho nonterminálního symbolu na levé straně každého přepisovacího pravidla. Obecně tedy můžeme každé pravidlo vyjádřit ve tvaru α β, kde α, β (N Σ) a zároveň alph(α) N. Analogicky jsou pojmenovány i třídy jazyků, které jsou generovány gramatikami odpovídajícího typu. Jazyky definované bezkontextovými gramatikami se nazývají jazyky typu 2 nebo též bezkontextové jazyky. Jazyky definované obecnými gramatikami mají několik rovnocenných názvů. Nejčastěji se vyskytuje pojmenování jazyky typu 0, frázově strukturované jazyky, rekurzívně vyčíslitelné jazyky nebo též jazyky přijímané Turingovými stroji. 3.4 Penttonenova normální forma Gramatiky typu 0 mají ve své základní podobě velké množství různých tvarů přepisovacích pravidel. Tato skutečnost nejen znepřehledňuje celou gramatiku, ale činí problémy zejména při důkazech vycházejících z gramatik tohoto typu. Martti Penttonen (nyní na Department of Computer Science University of Joensuu, Finsko) v sedmdesátých letech zavedl následující omezení tvarů přepisovacích pravidel gramatik typu 0 ([2]). Definice 3.4 Gramatika G = (N, Σ, P, S) je v Penttonenově normální formě, pokud její množina přepisovacích pravidel P obsahuje pouze pravidla tvaru AB AC, A BC, A a a A ɛ, kde A, B, C N, a T, ɛ je prázdný řetězec. Věta 3.1 Každou gramatiku G typu 0 je možné transformovat na ekvivalentní gramatiku H v Penttonenově normální formě takovou, že L(G) = L(H). Důkaz 3.1 Důkaz viz [2]. 7

4 Úvod do základních algebraických struktur Při definici pojmu bezkontextová gramatika nad volnou grupou se neobejdeme bez znalosti záklandích algebraických struktur. Jedná se zejména o binární operace, grupoidy, pologrupy, monoidy a grupy. Na konci této kapitoly uvedeme definici volné grupy, kterou poté spojíme s bezkontextovou gramatikou. U nově vzniklé struktury budeme zkoumat její schopnosti generovat jazyky. 4.1 Finitární algebraické operace Základním pojmem ve výše uvedených strukturách je pojem algebraické operace. Mějme dáno celé nezáporné číslo n a množinu M. Řekneme, že na množině M je definována n ární algebraická operace, když každé uspořádané n tici prvků a 1, a 2,..., a n M je přiřazen jednoznačně určený prvek z M. Tento prvek nazveme výsledkem operace na dané prvky a budeme jej označovat symbolem a 1 a 2... a n. Číslo n nazýváme aritou operace. Definice 4.1 Nulární operací na množině M nazýváme zobrazení : M 0 M, jehož výsledkem je jeden z prvků množiny M, který není závislý na na volbě prvků z M. Tuto operaci můžeme chápat jako vyčlenění jednoho význačného prvku z množiny M. Definice 4.2 Unární operací na množině M nazýváme zobrazení : M M, které každému prvku a M přiřazuje právě jeden prvek a M. Definice 4.3 Binární operací na množině M nazýváme zobrazení : M 2 M. Prvek a b, kde a, b, a b M nazýváme kompozicí prvků a, b vzhledem k binární operaci na množině M. Podle základních požadavků kladených na binární operace na dané množině dostáváme objekty s různými algebraickými vlastnostmi. Tyto objekty nazýváme algebraické struktury. Binární operace na určité množině, které splňují axiómy příslušné algebraické struktury, nazýváme operacemi této struktury. 4.2 Axiomy binárních operací Každý axiom budeme chápat jako požadavek, který na danou binární operaci klademe. Uvažujme binární operaci a množinu M. Nyní uveďme základní axiomy, které nás budou v souvislosti s naší problematikou zajímat. A 0 Uzavřenost operace: ke každé dvojici prvků a, b M přiřazujeme prvek c = a b. Platí c M. A 1 Asociativní zákon: Operace splňuje asociativní zákon, pokud (a b) c = a (b c), kde a, b, c M. 8

A 2 Existence neutrálního prvku: existuje takový prvek e M, pro který platí e a = a e = a pro všechna a M. A 3 Existence inverzního prvku: ke každému prvku a M existuje tzv. inverzní prvek a M takový, že platí a a = a a = e, kde e M je neutrální prvek operace na množině M podle axiomu A 2. Poznamenejme, že existují další axiomy definující další vlastnosti kladené a operace. My si však v tomto textu vystačíme s výše uvedenými a další proto nebudeme uvádět. 4.3 Grupoidy, pologrupy, monoidy a grupy Než si definujeme volnou grupu, která nás jakožko algebraická struktura bude v tomto výkladu zajímat nejvíc, musíme si definovat i strtuktury, ze kterých bude definice volné grupy vycházet. Definice 4.4 Algebraická struktura (M, ) definována binární operací na množině M se nazýva grupoid, pokud operace splňuje axiom A 0 uzavřenosti operace. Definice 4.5 Algebraická struktura (M, ) jejíž operace splňuje axiom A 0 uzavřenosti operace a asociativní zákon podle axiomu A 1 se nazývá pologrupa. Ekvivalentní název je též asociativní grupoid. Definice 4.6 Algebraická struktura (M,, ɛ) jejíž operace splňuje axiomy A 0, A 1 a A 2 se nazývá monoid s neutrálním prvkem ɛ. Ekvivalentní název je též pologrupa s neutrálním prvkem. Výběr neutrálního prvku můžeme chápat jako definici určité nulární operace na množině M, která dává jako svůj výsledek právě prvek ɛ M. Definice 4.7 nazývá grupa. Algebraická struktura (M,, ɛ, 1 ) která splňuje axiomy A 0, A 1, A 2 a A 3 se Grupu můžeme chápat jako monoid obsahující ke každému prvku a M prvek inverzní a M, kde jeho přiřazení každému prvku můžeme provést definicí unární operace 1 : M M. Poznamenejme, že existují další algebraické struktury které se liší počtem binárních operací, případně dalšími axiomy, které musí jejich operace splňovat. Operace mohou být v obecném případě n ární a jejich arity mohou být navzájem různé. Tyto struktury však nevyužijeme a proto je ani nebudeme uvádět. 9

5 Volné grupy Definujme si konečně strukturu volné grupy, která nás bude v souvislosti s našim výzkumem zajímat. Uveďme nejprve, jak je definována volná varianta struktury jednodušší tedy monoidu. 5.1 Volný monoid Volný monoid na množině V je monoid, jehož prvky jsou všechny konečné řetězce složené z prvků množiny V za pomoci binární operace konkatenace včetně prázdného řetězce ɛ, který je neutrálním prvkem. Tyto řetězce často nazýváme slova a množinu všech slov nad množinou V značíme V. Definujme nyní výše uvedené formálně. Definice 3.1 Množina V se nazývá volná báze monoidu G, jestliže V generuje G a každé zobrazení f : V H, kde H je monoid, lze rozšířit na homomorfismus g : G H. Monoid G se nazývá volný, jestliže má alespoň jednu volnou bázi. Volný monoid generovaný množinou generátorů V pomocí operace konkatenace je v teorii formálních jazyků značen jednoduše symbolem V. 5.2 Volná grupa Podobně jako v případě volného monoidu, definujme si pojem volné grupy nejprve neformálně. Volná grupa na množině V je grupa, jejíž prvky jsou všechny konečné řetězce složené z prvků množiny V za pomoci binární operace konkatenace a to včetně prázdného řetězce ɛ, který je neutrálním prvkem. Připomeňme, že aby se jednalo o grupu, musí množina V ke každému svému prvku obsahovat prvek inverzní (výjimku tvoří pouze neutrální prvek, který je inverzní sám k sobě). Uveďme si formální definici. Definice 3.2 Množina V se nazývá volná báze grupy G, jestliže V generuje G a každé zobrazení f : V H, kde H je grupa, lze rozšířit na homomorfismus g : G H. Grupa G se nazývá volná, jestliže má (alespoň jednu) volnou bázi. Aby nedošlo k záměně označení volného monoidu a volné grupy, stanovme si zde, že volnou grupu generovanou množinou generátorů V pomocí operace konkatenace budeme značit jednoduše symbolem V. Protože množina V obsahuje ke každému prvku i prvek inverzní, mohou se všechny prvky z V vyskytovat v jednotlivých slovech množiny V. Jisté problémy činí případ, kdy bychom měli slovo...... xx...... nebo...... xx...... 10

Těchto dvojic vzájemně inverzních symbolů by se ve slově samozřejmě mohlo vyskytovat více. V tomto případě by se však nejednalo o volnou grupu, neboť by pro xx případně pro xx nebyl splněn axiom inverzních prvků. Každé slovo které obsahuje výše zmíněné dvojice však lze dále redukovat až k jejich úplnému odstranění. Slovo, které neobsahuje žádné výše uvedené dvojice prvků vzájemně inverzních se potom nazývá redukované. Lze dokázat, že každému slovu odpovídá pouze jediné slovo redukované a to bez ohledu na pořadí redukcí jednotlivých dvojic vzájemně inverzních symbolů. Důkaz je možné najít např. v [3]. V pozdějším spojení bezkontextové gramatiky a volné grupy však budeme možnost redukce dvojic vzájemně inverzních symbolů hojně využívat. 6 Bezkontextové gramatiky nad volnými grupami Nyní již máme definované všechny nezbytné pojmy a můžeme si konečně zavést strukturu, která nás bude v tomto dokumentu zajímat ze všeho nejvíce. Výše jsme si uvedli matematické a algebraické základy formálně, zde zavedeme určité zjednodušení. Uvažujmě libovolnou abecedu V. Zdůrazněme znovu, že symbolem V budeme označovat volnou grupu generovanou množinou generátorů V operací konkatenace. Přitom platí, že pro každý symbol a V existuje právě jeden inverzní symbol a V. Prázdný řetězec ɛ V je neutrálním prvkem. Spojením bezkontextové gramatiky a volné grupy generované totální abecedou této gramatiky záskáme bezkontextovou gramatiku nad volnou grupou, kterou si nyní definujeme. Definice 6.1 Nechť G = (N, T, P, S) je bezkontextová gramatika s totální abecedou V = N T takovou, že pro každé x V existuje právě jeden prvek x V takový, že platí xx = xx = ɛ. Dvojici Γ = (G, V ) potom nazveme bezkontextovou gramatikou nad volnou grupou. Nás bude zajímat hlavně schopnost struktury generovat jazyky. Naším cílem je samozřejmě co nejvyšší síla ideálně schopnost generovat celou třídu jazyků typu 0. Ještě než začneme s podrobným průzkumem, musíme si definovat relaci přímé derivace Γ. 6.1 Derivace v bezkontextové gramatice nad volnou grupou Definice 6.2 Nechť Γ = (G, V ) je bezkontextová gramatika nad volnou grupou, kde G = (N, T, P, S), V = N T. Mezi řetězci λ a µ platí relace Γ zvaná přímá derivace, pokud oba můžeme vyjádřit ve tvaru λ = αaβ µ = αγβ a zároveň p = A γ P, kde α, β, γ V. Potom píšeme λ Γ µ [p] a říkáme, že řetězec λ přímo derivuje řetězec µ podle pravidla p v bezkontextové gramatice nad volnou grupou Γ. 11

V případě bezprostředního výskytu dvojice xx nebo xx, kde x, x V, ve větné formě se tato okamžitě redukuje podle pravidel popsaných výše. Protože je výsledná redukovaná větná forma nezávislá na pořadí případných redukcí jednotlivých dvojic vzájemně inverzních symbolů, nečiní tento jev ani žádné problémy při generování vět jazyka. Poznámka Tranzitivní uzávěr + Γ, reflexivní a tranzitivní uzávěr Γ a derivace délky n n Γ jsou definovány zcela přirozeně stejným způsobem jako v případě běžných gramatik. Podobně symbol Γ jako dolní index symbolu zavedené relace nebudeme uvádět, pokud je z kontextu zřejmé, o kterou bezkontextovou gramatiku nad volnou grupou se jedná. 6.2 Jazyk generovaný bezkontextovou gramatikou nad volnou grupou Definice 6.3 Nechť Γ = (G, V ) je bezkontextová gramatika nad volnou grupou, kde G = (N, Σ, P, S), V = N T. Řetězec α V nazýváme větnou formou, jestliže platí S α, tj. řetězec α je generovatelný z výchozího symbolu S. Větná forma, která obsahuje pouze terminální symboly, se nazývá věta. Jazyk L(G), generovaný bezkontextovou gramatikou nad volnou grupou Γ, je definován množinou všech vět L(G) = {w S w w T } generovatelných z výchozího symbolu této gramatiky. 6.3 Generativní schopnosti bezkontextových gramatik nad volnými grupami Nyní se budeme zabývat generativními schopnostmi naší nově zavedené struktury. Naším cílem je dokázat, že pro každou gramatiku H typu 0 existuje ekvivalentní bezkontextová gramatika nad volnou grupou Γ taková, že L(H) = L(Γ). Je tedy nutné najít určitý algoritmus transformace gramatik typu 0 na bezkontextové gramatiky nad volnými grupami. Poté bude následovat formální důkaz jejich vzájemné ekvivalence. Z [1] je převzata následující pomocná věta. Lemma 6.1 Pro každou gramatiku H = (N, T, P, S H ) typu 0 existuje ekvivalentní gramatika G = (N {X, Y }, T, P, S G ) typu 0, kde {X, Y, S G } {N T } = taková, že její množina přepisovacích pravidel obsahuje pouze pravidla tvaru (1) AB CD (2) A BC (3) A a (4) XY Z kde A, B, C, D N, a T a Z {X, ɛ}. 12

Důkaz 6.1 Z důkazu si uvedeme pouze konstrukci, kterou je též možné najít v [1]. Uvažujme gramatiku H = (N, T, P, S ). Bez ztráty obecnosti můžeme předpokládat, že H je v Penttonenově normální formě, tedy množina přepisovacích pravidel P obsahuje pouze pravidla tvaru AB AC A BC A a A ɛ kde A, B, C N, a T. Navíc předpokládejme, že {S G, X, Y } (N T ) =. Definujme gramatiku G = (N, T, P, S G ), kde množina N = N {X, Y }. Množinu přepisovacích pravidel P zkonstruujeme následovně: (1) každé pravidlo p P, kde p obsahuje na své pravé straně dva nonterminální symboly, vlož do P (2) pro každé A ɛ P, přidej A Y do P (3) pro každé A N, přidej AY Y A do P (4) přidej S G XS H, XY X a XY ɛ do P Tím je konstrukce hotova. V tuto chvíli je nutné upozornit na několik důležitých vlastností takto zavedené gramatiky. Každá větná forma této gramatiky neobsahuje nonterminální symbol X vůbec (poté, co byl odstraněn pomocí pravidla XY ɛ), nebo obsahuje právě jeden jeho výskyt a tento výskyt je současně prvním symbolem dané větné formy. Jako další věc je nutno připomenout, že pokud odstraníme symbol X z větné formy, ale tato větná forma ještě někde obsahuje jeden nebo více symbolů Y, případně budou v dalších derivačních krocích další symboly Y vyderivovány, nevygenerujeme již nikdy z této větné formy větu tvořenou pouze terminálními symboly. Z výše napsaného vyplývá, že symbol X by měl být z větné formy odstraněn až v okamžiku kdy je jisté, že žádný další symbol Y již nebude vyderivován a zároveň XY je prefix aktuální větné formy, na který bude aplikováno pravidlo XY ɛ. To potom zaručí korektní odstranění symbolu X a posledního výskytu symbolu Y. Poznámka Připomeňme, že podle zavedených konvencí z teorie formálních jazyků je třída všech jazyků typu 0 značena symbolem RE. Označme FG(2) třídu všech jazyků generovaných bezkontextovými gramatikami nad volnými grupami (ekvivalentní název by taktéž mohl být třída všech jazyků generovaných gramatikami typu 2 nad volnými grupami ). V tuto chvíli již máme definováno vše potřebné a můžeme si tedy vyslovit následující větu. 13

Věta 6.2 FG(2)=RE Jinými slovy tato věta říká, že pro každou gramatiku G typu 0 existuje ekvivalentní bezkontextová gramatika nad volnou grupou Γ taková, že L(G) = L(Γ). Poznamenejme, že symbolem Γ budeme značit bezkontextovou gramatiku nad volnou grupou včetně struktury volné grupy. Symbolem G Γ potom pouze bezkontextovou gramatiku patřící ke struktuře volné grupy (bez nutnosti tuto gramatiku uvažovat včetně struktury volné grupy v daném kontextu). Důkaz 6.2 Předpokládejme, že G = (N, T, P, S) je gramatika typu 0 podle Lemma 6.1. Vytvoříme bezkontextovou gramtiku nad volnou grupou G Γ = (N Γ, T {a a T }, P Γ, S), kde definujeme N Γ = N N CS N tak, že N = {A A N} N CS = { ABCD, ABCD AB CD P } { XY X, XY X, XY ɛ, XY ɛ }. Množina terminálních symbolů této gramatiky je vytvořena jako sjednocení T Γ = T {a a T }. Množina N obsahuje inverzní symboly k symbolům množiny N. Množina N CS obsahuje nezbytně nutné nonterminály a jejich inverzní protějšky, které jsou potřeba pro další kroky důkazu a které se týkají kontextových přepisovacích pravidel. Konečně potom množina terminálních symbolů je konstruována sjednocením všech terminálních symbolů v množině T a jejich inverzních protějšků. Existence inverzních symbolů ke každému prvku totální abecedy gramatiky je vyžadována obecnou definicí grupy. V důkazu však budeme z iverzních symbolů využívat pouze ty, které se nachází v množině N CS. Nyní konstruujme množinu přepisovacích pravidel P Γ následovně: I každé A BC P a každé A a P, kde A, B, C N, a T vlož do P Γ II pro každé AB CD P přidej A C ABCD a B ABCD D do P Γ III místo XY X P přidej X X XY X a Y XY X do P Γ IV místo XY ɛ P přidej X XY ɛ a Y XY ɛ do P Γ Tím je konstrukce G Γ hotova. Zbývá dokázat, že jsou obě gramatiky ekvivalentní, tedy že platí rovnost L(G) = L(Γ). Nutně potom také L(G) L(Γ) L(Γ) L(G). Dokažme nejprve první inkluzi, tedy L(G) L(Γ). Důkaz provedeme matematickou indukcí pro nějaké i 0 na tvrzení S i w v G implikuje S w v Γ pro každé w (N T ). 14

Nechť i = 0. Potom w = S a tedy S 0 S v G. Jistě také S 0 S v Γ. Formulujme nyní indukční hypotézu. Předpokládejme, že výše uvedená implikace platí pro všechna i l, kde l je nezáporné číslo. Indukční krok bude následující: Uvažujme derivace tvaru S l+1 β, kde β (N T ). Přesněji si vyjádříme S l+1 β jako S l α β, kde α (N T ). Podle indukční hypotézy musí platit S α v Γ. Existují následující možnosti provedení derivačního kroku α β v G. (1) nechť A a P, kde A N, a T. Potom α = xay xay = β v G, kde x, y (N T ). Podle I taktéž A a P Γ a tedy α β v Γ. Potom jistě také S β v Γ (2) nechť A BC P, kde A, B, C N, α = xay xbcy = β v G, kde x, y (N T ). Podle I taktéž A BC P Γ a tedy α β v Γ. Potom určitě také S β v Γ (3) nechť AB CD P, kde A, B, C, D N. Potom α = xaby xcdy = β v G, kde x, y (N T ). Podle II obsahuje P Γ dvojici pravidel A C ABCD a B ABCD D. Jejich aplikací získáme v Γ derivaci α = xaby xc ABCD By xc ABCD ABCD Dy = xcdy = β. Z toho je zřejmé, že také S β v Γ. (4) nechť XY X P, α = XY w Xw = β v G, kde w (N T ). Podle III obsahuje P Γ dvojici pravidel X X XY X a Y XY X. Jejich aplikací získáme v Γ derivaci α = XY w X XY X Y w X XY X XY X w = Xw = β. Z toho je též zřejmé, že S β v Γ. (5) nechť XY ɛ P, α = XY w w = β v G, kde w (N T ). Podle IV obsahuje P Γ dvojici pravidel X XY ɛ a Y XY ɛ. Jejich aplikací získáme v Γ derivaci α = XY w XY ɛ Y w XY ɛ XY ɛ w = w = β. I z tohoto je zřejmé, že S β v Γ. Výše uvedené body (1) až (5) dokazují, že L(G) L(Γ). Zbývá dokázat obrácenou inkluzi, tedy L(Γ) L(G). Důkaz provedeme opět indukcí pro nějaké i 0. Tvrzení, které nyní musí platit je v tomto případě následující: S i w v Γ implikuje S j v G, kde i j a w V. Jako základ uvažujme i = 0. Potom w = S a S 0 S v Γ. Jistě také S 0 S v G a tvrzení tedy platí. Formulujme nyní indukční hypotézu. Předpokládejme, že výše uvedená implikace platí pro nějaké i k, kde k je nezáporné celé číslo. Indukční krok vyjádříme derivací S k α + β. Musíme uvažovat všechny možné varianty jak v Γ realizovat derivační krok α + β. 15

(1) nechť A a P Γ, kde A N Γ a a T. Pak α = xay xay = β v Γ, kde x, y V. Podle I také A a P a tedy α β v G. Celkově potom S k+1 β v Γ i v G a tvzení tedy platí. (2) nechť A BC P Γ, kde A, B, C N Γ. Pak α = xay xbcy = β v Γ, kde x, y V. Podle I také A BC P a tedy α β v G. Celkově opět dostáváme S k+1 β v Γ i v G a tvzení v tomto případě platí také. (3) nechť A C ABCD P Γ, A, C N Γ a ABCD N CS. Potom α = xay xa ABCD y = β, kde x, y V. Protože se nonterminál ABCD nevyskytuje na pravé straně žádného přepisovacího pravidla v P Γ a dokonce ABCD N gramatiky G, nevznikne tímto derivačním krokem ani v jedné z gramatik věta tvořená pouze terminálními symboly. Navíc nonterminál ABCD může být z větné formy odstraněn pouze vygenerováním jeho inverzního protějšku buď zleva nebo zprava. Pokud by měl být generován zleva, musí být generován nonterminálem C. Podle II ale žádné pravidlo s nonterminálem C na levé straně a s nonterminálem ABCD jako nejpravějším symbolem na pravé straně v množině pravidel P Γ neexistuje. Tímto způsobem tedy pokračovat nelze. Zkusme uvažovat variantu, že řetězec x je tvaru x = w ABCD, kde w V. Uvažovaná větná forma potom bude mít tvar w ABCD C ABCD y. Pro vyrušení nonterminálů ABCD a ABCD bychom museli odstranit nonterminál C, tedy muselo by platit, že C ɛ. V tom případě ale musí podle Lemmatu 6.1 existovat derivace C Y +. Derivace v naší větné formě by tedy měla tvar w ABCD C ABCD y w ABCD Y n ABCD y, kde n 1. Podle II v kombinaci s Lemmatem 6.1 existuje pro každý nonterminál A N dvojice pravidel A Y AY Y A a Y AY Y A A, pomocí které zaměníme pozici symbolu A se symbolem Y. V tomto případě je ale A = ABCD. Z konstrukce však vyplývá, že nonterminály z N CS se nevyskytují na levé straně žádného přepisovacího pravidla, tudíž i tato derivace by nikdy nevedla k řetězci nonterminálů. Zkusme nyní uvažovat, že y = u ABCD v, kde u, v V. Potom nastává obdobná situace jako v předchozím odstavci tohoto bodu, tedy musí platit u ɛ. Pak ale u Y n, kde n 1 a symbolů Y se opět nezbavíme. Ani tento případ nevede k platné větě. Jedinou možností jak vygenerovat inverzní symbol ABCD je tedy bezprostředně vpravo od symbolu ABCD. Jediné pravidlo, které jej derivuje je podle II B ABCD D P Γ. Pak nutně musí platit, že y = Bu, kde u V. Získáme posloupnost derivací α = xabu xc ABCD Bu xc ABCD ABCD Du = xcdu = β v Γ. Podle II obsahuje G pravidlo AB CD P a tedy také α β. Celkově platí S k+2 β v Γ a zároveň i S k+1 β v G. I v tomto případě naše tvrzení platí. (4) nechť B ABCD D P Γ, B, D N Γ a ABCD N CS. Potom α = xby x ABCD D y = β, kde x, y V. Situace je analogická jako v bodu (3). Jediný způsob jak se zbavit nonterminálu ABCD je vygenerovat odpovídající inverzní protějšek, v tomto případě tedy ABCD, jako bezprostředního souseda. Zprava to zde nebude možné, neboť nám v tom brání nonterminál D, ze kterého podle II nonterminál ABCD vygenerovat nelze. Ze stejného důvodu jako v bodu (3) by nikam nevedlo ani 16

vygenerování prázdného řetězce z D, neboť by se derivace zablokovala na nonterminálu Y. Jedinou možností je v tomto případě vygenerovat nonterminál ABCD zleva. Podle II jej jako jediné generuje pravidlo A C ABCD P Γ. Potom ale musí být x = ua, kde u V. Získáme posloupnost derivací α = uaby ua ABCD Dy uc ABCD ABCD Dy = ucdy = β v Γ. Podle II obsahuje G pravidlo AB CD a tedy taktéž α β v G. Shrnutím do derivace určité délky získáváme S k+2 β v Γ a také S k+1 β v G. Platnost tvrzení nebyla ani v tomto případě porušena. (5) nechť X X XY X P Γ. Pokud se X vyskytuje v dané větné formě, je vždy prvním symbolem této větné formy (viz Lemma 1). Potom α = Xy X XY X y = β v Γ, kde y V. Opět jako v předchozích bodech, jediným způsobem jak se zbavit nonterminálu XY X N CS je vygenerovat jeho inverzní protějšek, tedy XY X. V tomto případě je jediná možnost vygenerovat jej zprava, neboť podle III jej derivuje jediné pravidlo a to Y XY X. Nutně tedy musí být y = Y w, kde w V. Získáme posloupnost derivací α = XY w X XY X Y w X XY X XY X w = Xw = β v Γ. Podle III platí XY X P a tedy také α β v G. Celkově S k+2 β v Γ a zároveň S k+1 β v G a tvrzení opět platí. (6) nechť X XY ɛ P Γ. I v tomto případě vyvstávají stejné problémy jako v předchozích bodech jak se zbavit vygenerovaného nonterminálu XY ɛ? Analogicky jako v bodě (5), pokud se X vyskytuje v dané větné formě, je vždy jejím prvním symbolem. Podle IV obsahuje nonterminál XY ɛ na své pravé straně jediné pravidlo z P Γ, a to Y XY ɛ. Posloupnost derivací bude analogická jako v bodě (5), tedy α = XY w XY ɛ Y w XY ɛ XY ɛ w = w = β v Γ, kde w V. Podle IV obsahuje množina přepisovacích pravidel P gramatiky G pravidlo XY ɛ, tedy i α β v G. Celkově S k+2 β v Γ a taktéž i S k+1 β v G. I v tomto případě tvrzení platí. (7) nechť Y XY ɛ P Γ. Opět podle bodu IV jediné pravidlo obsahující inverzní nonterminál XY ɛ k nonterminálu XY ɛ je X XY ɛ P Γ. Protože je X vždy prvním symbolem vetné formy, musí být Y s ohledem na popsané problémy výše symbolem druhým. Aplikací uvedených pravidel získáme posloupnost derivací α = XY y X XY ɛ y XY ɛ XY ɛ y = y = β, kde y V. Podle IV obsahuje množina přepisovacích pravidel P gramatiky G pravidlo XY ɛ a tedy α β v G. I zde můžeme derivace vyjádřit jako S k+2 β v Γ a S k+1 β v G. Tvrzení platí i zde. Body (1) až (7) dokazují, že L(Γ) L(G). Dohromady tedy skutečně L(G) = L(Γ). 17

7 Závěr V tomto dokumentu jsme zavedli novou strukturu umožňující generovat jazyky. Bylo dokázáno, že jejich třída je rovna třídě rekurzívně spočetných jazyků, tedy jazyků typu 0. Získáváme sílu Turingova stroje, kdy přidáním struktury volné grupy k bezkontextové gramatice výrazně zvyšujeme její schopnosti. Nevýhodou tohoto je bohužel značný nárůst nonterminálních symbolů, kdy pro každé kontextové pravidlo musíme zavést dva navíc. To může v praxi činit potíže. Další vývoj tohoto projektu bude tedy směřovat k redukci nonterminálních symbolů, a pokud bude vše úspěšné, tak i k redukci přepisovacích pravidel. 18

Reference [1] Meduna, A., Kolář, D.: Homogenous Grammars with a Reduced Number of Non-Context- Free Productions. In: Information Processing Letters, roč. 2002, č. 81, Amsterdam, NL, p. 253-257, ISSN 0020-0190. [2] Penttonen, M.:: One-Sided and Two-Sided Context in Formal Grammars. Inf. Control 25, pp. 371-392, 1974. [3] Milne, J.S.: Group Theory. Course Notes, 2003, [http://www.jmilne.org/math/coursenotes/math594g.pdf]. [4] Meduna, A.: Context Free Derivations on Word Monoids. Acta Informatica, Springer- Verlag, 1990. [5] Kuroš, A., G.: Kapitoly z obecné algebry. Academia, Praha, 1977 [6] Drápal, A.: Teorie grup - základní aspekty. Karolinum, Praha, 2000 [7] Češka, M., Rábová, Z.: Gramatiky a jazyky. Brno, Nakl. VUT, 1992 19