Podobné dokumenty
Line rn oper tory v euklidovsk ch prostorech V t to sti pou ijeme obecn v sledky o line rn ch oper torech ve vektorov ch prostorech nad komplexn mi sl

6. Matice. Algebraické vlastnosti

4 Stromy a les. Petr Hlin їn 0 5, FI MU Brno 1 FI: MA010: Stromy a les

Úlohy domácího kola kategorie C

řádově různě rostoucí rostou řádově stejně rychle dvě funkce faktor izomorfismus neorientovaných grafů souvislý graf souvislost komponenta

a m1 a m2 a mn zobrazení. Operaci násobení u matic budeme definovat jiným způsobem.

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Reálná čísla

p (1) k 0 k 1 je pravd podobnost p echodu ze stavu k i v l ; 1 kroku do stavu k j

3. Polynomy Verze 338.

Příprava na 1. čtvrtletní písemku pro třídu 1EB

2 OBSAH Obsah 1 Z kladn pojmy z teorie jazyk 3 2 vod do teorie automat Historie : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

8. pln svazy. Svaz A se naz v distributivn, pokud pro libovoln prvky a; b; c 2 A plat

c sin Příklad 2 : v trojúhelníku ABC platí : a = 11,6 dm, c = 9 dm, α = Vypočtěte stranu b a zbývající úhly.


Zobrazení v rovině je předpis, který každému bodu X roviny připisuje právě jeden bod X roviny. Bod X se nazývá vzor, bod X se nazývá obraz.

Odůvodnění veřejné zakázky. Přemístění odbavení cestujících do nového terminálu Jana Kašpara výběr generálního dodavatele stavby

Matematický model kamery v afinním prostoru

Výzva zájemcům k podání nabídky a Zadávací dokumentace

Řešení: Dejme tomu, že pan Alois to vezme popořadě od jara do zimy. Pro výběr fotky z jara má Alois dvanáct možností. Tady není co počítat.

Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011

Aplikace počítačů v provozu vozidel 9

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

Oprava střechy a drenáže, zhotovení a instalace kované mříže kostel Sv. Václava Lažany

Český úřad zeměměřický a katastrální vydává podle 3 písm. d) zákona č. 359/1992 Sb., o zeměměřických a katastrálních orgánech, tyto pokyny:

ZADÁVACÍ DOKUMENTACE

Městská část Praha 10. vyhlašuje. v souladu s usnesením Rady m. č. Praha 10 č. 183 ze dne

Společné stanovisko GFŘ a MZ ke změně sazeb DPH na zdravotnické prostředky od

Výzva více zájemcům o zakázku k podání nabídky mimo režim zákona č. 137/2006 Sb., o veřejných zakázkách, v platném znění

Zadávací dokumentace

Veřejná zakázka malého rozsahu na dodávky v rámci akce Dodávky stolů a židlí pro MSSS v Mostě-p.o. vyhlášená formou otevřeného řízení

M - Příprava na čtvrtletní písemnou práci

Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina

DRAŽEBNÍ VYHLÁŠKA VEŘEJNÉ DOBROVOLNÉ DRAŽBY podle zák. č. 26/2000 Sb., o veřejných dražbách, ve znění pozdějších předpisů

Vyvažování tuhého rotoru v jedné rovině přístrojem Adash Vibrio

Obchodní podmínky pro spolupráci se společností Iweol EU s.r.o.

statutární město Děčín podlimitní veřejná zakázka na služby: Tlumočení a překlady dokumentů

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

Město Týnec nad Sázavou K Náklí 404, Týnec nad Sázavou

Databázové a informační systémy

4 DVOJMATICOVÉ HRY. Strategie Stiskni páku Sed u koryta. Stiskni páku (8, 2) (5, 3) Sed u koryta (10, 2) (0, 0)

KVALIFIKAČNÍ DOKUMENTACE k veřejné zakázce zadávané podle zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů

Provoz a poruchy topných kabelů

PRAVIDLA PRO PŘIDĚLOVÁNÍ BYTŮ V MAJETKU MĚSTA ODOLENA VODA

VÝZVA K PODÁNÍ NABÍDKY A PROKÁZÁNÍ SPLN NÍ KVALIFIKACE ZADÁVACÍ DOKUMENTACE ZADÁVACÍ DOKUMENTACE

Ovoce do škol Příručka pro žadatele

Veřejná zakázka malého rozsahu na dodávky: Dodávka osobních ochranných pracovních prostředků

POZVÁNKA NA MIMOŘÁDNOU VALNOU HROMADU

V Černošicích dne Výzva k podání nabídky na veřejnou zakázku malého rozsahu s názvem: Nákup a pokládka koberců OŽÚ.

Číslo zakázky (bude doplněno poskytovatelem dotace) 1 Název programu: Operační program Vzdělávání pro konkurenceschopnost

Exponenciála matice a její užití. fundamentálních matic. Užití mocninných řad pro rovnice druhého řádu

účetních informací státu při přenosu účetního záznamu,

Zajištění provozní funkčnosti platebních automatů a měničů bankovek pro Fakultní nemocnici Královské Vinohrady. Zadavatel

GEOMETRICKÁ TĚLESA. Mnohostěny

FOND VYSOČINY NÁZEV GP

1. Informace o předmětu zakázky Stručný textový popis zakázky, technická specifikace

MATEMATIKA I VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STAVEBNÍ JIŘÍ NOVOTNÝ ZÁKLADY LINEÁRNÍ ALGEBRY

Otevřené zadávací řízení na služby Bruntál

ZADÁVACÍ DOKUMENTACE. k zakázce malého rozsahu: ZAKÁZKA MALÉHO ROZSAHU NA DODÁNÍ NÁBYTKU V RÁMCI PROJEKTU KVALITNÍ A EFEKTIVNÍ VÝUKA.

Večerní kurzy matematiky Letní studentská konference Tudy Cesta Nevede

BEZPEČNOSTNÍ ODBĚROVÝ NÁVAREK. BON 9x NÁVAREK PRO MĚŘENÍ TEPLOTY

VÝZVA K PODÁNÍ NABÍDEK DO VÝBĚROVÉHO ŘÍZENÍ - ZADÁVACÍ PODMÍNKY VEŘEJNÉ ZAKÁZKY MALÉHO ROZSAHU

Město Mariánské Lázně

tímto vyzývá k podání nabídky a prokázání kvalifikace a poskytuje zadávací dokumentaci na veřejnou zakázku malého rozsahu na dodávky

Uchazečům o veřejnou zakázku

S M L O U V A O D Í L O. uzavřená podle ust a násl. zákona č. 89/2012 Sb., občanského zákoníku v platném znění II.

Úklidové služby v objektu polikliniky

PODKLAD PRO ZPRACOVÁNÍ NABÍDEK. Prodej souboru plynových kotelen z majetku města Starý Plzenec MĚSTO STARÝ PLZENEC

Předmětem zakázky je dodávka a instalace výpočetní techniky včetně software.

Čtyři atesty a přece není pravá

1 METODICKÉ POKYNY AD HOC MODUL 2007: Pracovní úrazy a zdravotní problémy související se zaměstnáním

POKYNY Č. 45. Část I Zápis nové stavby jako samostatné věci


VÝZVA K PODÁNÍ NABÍDKY. Stavební úpravy turistické ubytovny TJ Valašské Meziříčí dokončení rekonstrukce

1 1 Ide ly a faktorov okruhy Denice 1.1 Nech R =(R + :) je okruh, 6= I R nazveme ide lem, plat -li a b I =) a + b I a I r R =) ra ar I Ide l je zejm n

2. Vymezení předmětu veřejné zakázky

Výběrové řízení zakázka na dodávku ZADÁVACÍ DOKUMENTACE

D O P L Ň K O V Á P R A V I D L A. pro prodej bytových a nebytových jednotek z majetku města Děčína ve vybraných domech

Vlastnosti regulárních jazyků

Vý mě na kopelitový ch tabulíza plastová okna v budově školy

2) Další místo napojení je ze stávajícího venkovního osvětlení a doplňuje VO u nových rodinných domů.

Zásady o poskytování finančních příspěvků z rozpočtu města Slaného pro sportovní a zájmové organizace (dále jen Zásady )

M Ě S T O I V A N Č I C E Palackého náměstí 196/6, Ivančice

ZADÁVACÍ DOKUMENTACE veřejné zakázky na dodávky s názvem: Eskalátor do podchodu u hlavního nádraží

mezinárodní pohárovou soutěž mladých hasičů

PALETOVÉ REGÁLY SUPERBUILD NÁVOD NA MONTÁŽ

Dodatečné informace č. 3 k zadávacím podmínkám

DRAŽEBNÍ VYHLÁŠKA č. 722-DD/15

Regenerace zahrady MŠ Neděliště

C) Pojem a znaky - nositelem územní samosprávy jsou územní samosprávné celky, kterými jsou v ČR

NÁVRHOVÝ PROGRAM VÝMĚNÍKŮ TEPLA FIRMY SECESPOL CAIRO PŘÍRUČKA UŽIVATELE

Obchodní podmínky státního podniku Lesy České republiky, s.p., ke Kupním smlouvám na dodávku dříví formou elektronických aukcí

ROČNÍKOVÁ PRÁCE TEORETICKÉ ŘEŠENÍ STŘECH

Název veřejné zakázky: Sdružené služby dodávky zemního plynu pro Mikroregion Střední Haná na rok 2013

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

Vaše čj. (zn.): Číslo jednací: Spisová zn.: Vyřizuje: Telefon: Počet listů: Příloh/listů:

Opatření č. 14/2007. Čl. 1 Úvodní ustanovení

Zadávací dokumentace k veřejné zakázce

ZADÁVACÍ DOKUMENTACE K ZAKÁZCE ZADÁVANÉ DLE PRAVIDEL PRO VÝBĚR DODAVATELŮ OPPI A SUBSIDIÁRNĚ DLE ZÁKONA Č. 137/2006 SB

3.cvičení. k p = {X, Y } u(x, r 1 = XA ), v(y, r 1 = XA ) u v = {A, R} q = AR. 1. Bodem A kolmici: Zvolím bod X p k(a, r 1 = XA ),

Číslicová technika 3 učební texty (SPŠ Zlín) str.: - 1 -

Transkript:

i Automaty a form ln jazyky I. podle p edn ek z roku 1991 zpracoval Josef Pojsl Obsah 1 Pojmy jazyka a gramatiky 1 1.1 Jazyky................................................... 1 1.2 Gramatiky................................................. 2 1.3 Chomsk ho hierarchie.......................................... 3 2 Kone n automaty 5 2.1 Deterministick KA........................................... 5 2.2 Nedeterministick KA.......................................... 10 2.3 Rozhodnuteln probl my z oblasti KA................................. 12 3 Regul rn gramatiky a jazyky 12 3.1 Kone n automaty a regul rn gramatiky............................... 12 3.2 Vlastnosti regul rn ch jazyk...................................... 13 3.3 Regul rn v razy............................................. 15 4 Z sobn kov automaty 17 4.1 Z sobn kov automat a jeho roz en.................................. 17 4.2 Stromy odvozen pro CFG........................................ 19 4.3 Z sobn kov automaty abezkontextov gramatiky.......................... 20 5 Bezkontextov gramatiky a jazyky 25 5.1 Transformace CFG............................................ 25 5.2 Norm ln formy CFG........................................... 29 5.3 Uz v rov vlastnosti CFL........................................ 33 6 Deterministick ZAaCFL 37 6.1 Deterministick ZA............................................ 37 6.2 Uz v rov vlastnosti deterministick ch CFL.............................. 39 7 Kontextov jazyky 41 8 Turingovy stroje 43 8.1 Z kladn model TS............................................ 43 8.2 N kter modikace z kladn ho modelu TS............................... 44 9 Turingovy stroje a jazyky typu 0 46 10 Rozhodnutelnost v teorii jazyk 47 10.1 Post v koresponden n probl m..................................... 47 10.2 Nerozhodnuteln probl my z teorie jazyk............................... 49 Literatura 51

1 POJMY JAZYKA A GRAMATIKY 1 1 Pojmy jazyka a gramatiky Vt tokapitole budou uvedeny z kladn pojmy teorie automat a form ln ch jazyk a zp sob pr ce s nimi. 1.1 Jazyky Denice 1.1 Libovoln nepr zdn kone n mno ina V je abecedou. Jej prvky naz v me znaky nebo symboly. Denice 1.2 Slovo ( et zec) nad abecedou V je libovoln posloupnost kone n d lky tvo en symboly z V. Slova zapisujeme bez rek, tedy posloupnost w = fa i g n i=1, kde a i 2 V, zap eme jako slovo w = a 1 a n. D lka slova w je d lka w jako posloupnosti, zna me jwj = n. Pr zdn slovo, tedy posloupnost d lky nula, zna me " (v jin literatu e tak nebo e), j"j =0. Symbolem V zna me mno inu v ech slov nad abecedou V, symbolem V + ozna ujeme mno inu V nf"g. Denice 1.3 Jazyk L nad abecedou V je libovoln mno ina slov, L V. P klad 1.4 Nech V = fa bg je abeceda. Jazyk L nad touto abecedou m e b t denovan takto: L = fw: w = a i b i i 0g. Potom slova " ab aabb pat do jazyka L, ale slova b ba nejsou z jazyka L. Denice 1.5 Denujme operaci z et zen : V V ;! V takto: w 1 = a 1 a n ) w w 2 = b 1 b 1 w 2 = a 1 a n b 1 b m m P klad 1.6 (i) "a = a" = a (ii) a i a j = a i+j Denice 1.7 Denujeme tak operaci z et zen jazyk L 1 L 2 V : 2 V 2 V ;! 2 V takto: L 1 L 2 = fw 1 w 2 : w 1 2 L 1 w 2 2 L 2 g Denice 1.8 Nech S je jazyk. Pak jazyk S denovan S = S 1 i=0 Si naz v me uz v r jazyka S. M me tedy denov ny jazyky, kter v ak mohou b t nekone n. Budeme d le hledat n stroje, jak tyto jazyky kone n reprezentovat. Za n stroje budeme pou vat algoritmy nebo procedury. Ty mohou rozpozn vat p slu nost slova dojazyka. algoritmus program, kter v dy zastav a pro slovo w na vstupu vr t odpov ano, jestli e w 2 L, a odpov ne, jestli e w 62 L. ekneme, e tento algoritmus rozpozn v jazyk L, kter pak nazveme rekurzivn jazyk. procedura program, kter pro vstupn slovo w 2 L se zastav a vr t odpov ano a pro vstup w 62 L se bu zastav a vr t ne nebo se v bec nezastav. ekneme, e tato procedura ste n rozpozn v jazyk L, kter pak nazveme rekurzivn vy sliteln jazyk.

1 POJMY JAZYKA A GRAMATIKY 2 Lze tak vy adovat existenci procedury, kter by v echna slova jazyka generovala. Tento po adavek je ekvivalentn s existenc rozpozn vac procedury. Pro jazyk L tedy existuje procedura jej generuj c pr v tehdy, kdy je L rekurzivn vy sliteln jazyk. Jazyky pozd ji rozd l me do jist ch t d podle toho, zda a jak m zp sobem se daj mechanicky rozpozn vat, p p. generovat. O t chto t d ch se pak budeme sna it zjistit, zda jsou uzav en na jist operace na jazyc ch. Denice 1.9 Nech L2 je t da jazyk. ekneme, e tato t da je uzav en vzhledem k n jak operaci, jestli e plat : pat -li v echny operandy (jazyky) dan operace do t dy jazyk L, pak do t to t dy pat i v sledek operace (jazyk). T mito operacemi mohou b t v echny mno inov operace, proto e jazyky jsou tak mno inami. Bude-li abeceda pevn, m eme za takovou operaci vz t i dopln k jazyka L, tedy jazyk n L. Sv dom m, e se pohybujeme v universu slov, budeme n kdy zna it dopln k jazyka L jako L. Tak operaci uz v ru jazyka je mo no testovat na uzav enost v jist ch t d ch. Denujeme d le operaci z et zen jazyk, o kter budeme tak n kdy dokazovat uzav enost jist ch t d jazyk. Denice 1.10 Nech U a V jsou dva jazyky. Z et zen jazyk U, V zna me a denujeme takto: UV = fuv: u 2 U ^v 2 V g. 1.2 Gramatiky Denice 1.11 Gramatika je tve ice G =(N P S) s n sleduj c m v znamem: N mno ina netermin l, kter guruj jako tzv. metasymboly mno ina termin l plat N \ = a ozna me V = N [, V naz v me celkovou abecedou gramatiky G P mno ina pravidel P V NV V jde tedy o dvojice slov, p i em prvn z nich obsahuje alespo jeden netermin ln symbol S po te n symbol (ko en) gramatiky G, je to netermin l (S 2 N) Pozn mka 1.12 Pravidla typu [ ] gramatiky G budeme zapisovat ve tvaru! Denice 1.13 Budeme nyn denovat relaci odvozen v gramatice G, co bude relace na mno in slov celkov abecedy G: ) G V 2. ekneme, e slovo y 2 V se d (v jednom kroku) odvodit (resp. derivovat) ze slova x 2 V v gramatice G =(N P S), x ) G y, jestli e existuje pravidlo (! ) 2 P a slova 2 V a 2 V tak, e x = a y =. Pozn mka 1.14 Zavedeme n sleduj c konvenci na symbolick zna en : netermin ly : A B ::: Z termin ly : a b c ::: et zce termin l : u v w x y z obecn et zce : ::: Denice 1.15 Pomoc relace odvozen v jednom kroku zavedeme relaci odvozen, ) G, jako tranzitivn a reexivn obal relace ) G.Podobn netrivi ln odvozen, ) +, je pouze tranzitivn m obalem relace G ) G.

1 POJMY JAZYKA A GRAMATIKY 3 P klad 1.16 Nech G 1 =(fa Sg fa bg P S), kdep = fs! aab aa! aaab A! "g, je gramatika. Pak v n existuj nap. tato odvozen : aaabb ) G1 aabb aaabb ) G1 aaaabbb Denice 1.17 V em slov m 2 V takov m, e S ) G, k me v tn formy gramatiky G. Je-li nav c 2, pak slovo naz v me v tou gramatiky G. Jazyk generovan gramatikou G je mno ina v ech v t gramatiky G, zna me L(G) =fw 2 : S ) G wg. Gramatiky G 1 a G 2 naz v me ekvivalentn, pokud L(G 1 )=L(G 2 ). P klad 1.18 V gramatice G 1 z p kladu 1.16 je S ) G1 aab ) G1 ab S ) G1 aab ) G1 aaabb ) G1 aabb Jsou tedy aab, aaabb jej v tn formy aab a aabb jej v ty. Celkem L(G 1 )=fa i b i : i 2 Ng. Gramatika G 2 =(fsg fa bg fs! asb S! abg fsg) je ekvivalentn gramatice G 1. 1.3 Chomsk ho hierarchie N kter speci ln jazyky lze generovat speci ln mi gramatikami, tedy gramatikami s pravidly speci ln ho typu. Tyto gramatiky nepou vaj v echny mo nosti nab zen obecnou denic gramatiky 1.11. Je mo no se setkat se irokou k lou takov ch typ gramatik, my v ak uvedeme pouze nejzn m j klasikaci, kter se naz v Chomsk ho 1 hierarchie. Denice 1.19 1. Gramatiku, kter odpov d obecn denici 1.11 bez dal ch omezen, nazveme gramatika typu 0. Jazyk generovan touto gramatikou nazveme jazyk typu 0. 2. Gramatiku G nazveme gramatika typu 1 (kontextov, CS 2 ), kdy pro v echna jej pravidla! plat : jj jj. Ekvivalentn denice: v echna pravidla jsou tvaru 1 A 2! 1 2,kde 1 2 2 V, 2 V + a A je netermin l. Jazyk generovan takovou gramatikou se naz v jazyk typu 1 (kontextov, CS). 3. Gramatiku G nazveme gramatika typu 2 (bezkontextov, CF 3 ), kdy v echna jej pravidla jsou tvaru A!, kde A je netermin l a 2 V +. Jazyk generovan takovou gramatikou se naz v jazyk typu 2 (bezkontextov, CF). 4. Gramatiku G nazveme gramatika typu 3 (regul rn, levoline rn ), kdy v echna jej pravidla jsou tvaru A!, kde A je netermin l a 2 V + je et zec tvaru a nebo ab. Jazyk generovan takovou gramatikou naz v me jazyk typu 3 (regul rn ). P klad 1.20 Gramatika G 3 G 3 : S! a j b jjz S! aa j ba jjza A! 0 j 1 jj9 j a j b jjz j 0A j 1A jj9a 1 teme [ omsk ho] 2 angl. context sensitive 3 angl. context free

1 POJMY JAZYKA A GRAMATIKY 4 je regul rn a generuje stejn jazyk jako G 4 G4: S! L S! SL j SN L! a j b jjz N! 0 j 1 jj9 Lemma 1.21 Nech G je kontextov (resp. bezkonetxtov, regul rn ) gramatika. Pak existuje kontextov (resp. bezkontextov, regul rn ) gramatika G 1 takov, e L(G) =L(G 1 ) a po te n netermin l gramatiky G 1 se nevyskytuje na dn prav stran pravidla G 1. D kaz: Zp vodn gramatiky G =(N P S) sestroj me gramatiku G 1 takto: Zvol me netermin l S 1 neobsa en v G, pakg 1 =(N [fs 1 g P 1 S 1 ), kde P 1 = P [fs 1! :(S! ) 2 P g. (Nem eme zav st pouze pravidlo S 1! S, proto e by poru ovalo regularitu.) 2 Pozn mka 1.22 Je-li L jazyk CS (resp. CF, reg.), pak tak L [f"g a L nf"g jsou jazyky CS (resp. CF, reg.). Denice 1.23 Gramatika G je rekurzivn, pokud existuje algoritmus, kter pro ka d slovo w ur uje, zda w 2 L(G). V ta 1.24 Je-li gramatika G kontextov, pak je rekurzivn. D kaz: (Hezky proveden v [HopUll]v ta 9.7 na stran 227.) P slu n algoritmus nejprve testuje, zda je vstupn slovo w pr zdn (w = "). V me, e " 2 L(G), pr v kdy (S! ") je pravidlo G (pro po te n netermin l S). Nech je tedy w 2 +. Ozna me d lku slova w jako n (jwj = n 1). Budeme konstruovat mno iny Tm n obsahuj c v echny v tn formy gramatiky G krat nebo stejn d lky jako n, kter se daj odvodit nejv e v m kroc ch. Tedy T n m = f: 2 (N [ ) ^ S ) m0 G ^jj n ^ m0 mg: Takov mno iny budeme konstruovat induktivn. Z ejm T n 0 = fsg a T n m = T n m;1 [f: 9 2 T n m;1 : ) G ^jj ng proto e gramatika G je kontextov a jakmile je dosa eno v odvozen jist d lky slova, v sledn v ta u nem e b t krat. Z ejm plat, e pokud S ) G a jj n, pak existuje m takov, e 2 T m. n V me, e T n m;1 Tm. n D le, hodnota Tm n je funkc pouze T n m;1 amno iny pravidel P gramatiky G: Tm n = f(t n P). P je p i induktivn konstrukci vzhledem k m konstantn. Stane-li se tedy jednou, e T n m;1 m = T m;1, n pak ji pro v echna m 00 m plat : Tm n 00 = T n m;1 a algoritmus tedy m e skon it. To v ak n kdy jist nastane, proto e slov d lky nejv e n tvo en ch zkone n abecedy N [ je kone n po et. 2 P klad 1.25 Nech gramatika G (kontextov ) je zad na n sleduj c mi pravidly: G: (i) S! asbc (ii) S! abc (iii) CB! BC (iv) ab! ab (v) bb! bb (vi) bc! bc (vii) cc! cc Pokus me se zjistit, zda slovo w = abca je v tou gramatiky G. Budeme tedy konstruovat mno iny T jwj i = T 4 i :

2 KONE N AUTOMATY 5 T0 4 T1 4 T2 4 T3 4 T4 4 = fsg = fs asbc abcg = fs asbc abc abcg = fs asbc abc abc abcg = fs asbc abc abc abcg Vid me, e T3 4 = T4 4, tedy algoritmus kon. Slovo w se v mno in ch neobjevilo, proto dost v me spr vn v sledek, e abca = w 62 L(G) =fa n b n c n : n 2 Ng. 2 Kone n automaty V t to kapitole zavedeme form ln v po etn prost edek zvan kone n automat (KA). Uvedeme dva druhy KA: deterministick a nedeterministick. Pozd ji uk eme souvislot mezi kone n mi automaty a jazyky typu 3 (regul rn ). 2.1 Deterministick KA Deterministick KA (zvan t zkr cen pouze KA) denujeme n sledovn : Denice 2.1 Kone n automat M nad abecedou je p tice (K q 0 F), kde jednotliv komponenty maj tento v znam: K kone n nepr zdn mno ina stav kone n nepr zdn mno ina symbol abeceda p echodov funkce : K! K q 0 2 K po te n stav F K mno ina koncov ch stav S mantiku kone n ch automat lze denovat dv ma zp soby. Prvn z nich pou v tzv. zobecn nou p echodovou funkci, a druh tzv. kongurace automatu. Denice 2.2 Z p echodov funkce lze induktivn zkonstruovat zobecn nou p echodovou funkci ^: K! K. ^(q a) =(q a) a 2 ^(q xa) =(^(q x) a) a 2 x 2 + M sto ^ lze tak ps t pouze. Na symbolech se toti funkce i ^ rovnaj, a u slov del ch ne 1symbol p jde automaticky o zobecn n. Denice 2.3 S mantika KA I. ekneme, e kone n automat M =(K q 0 F) akceptuje (rozpozn v, p j m ) slovo w, jestli e existuje koncov stav p 2 F takov, e (q 0 w)=p. D le T (M) bude zna en pro jazyk akceptovan automatem M, tedy T (M) =fw 2 : M akceptuje wg: (1) Denice 2.4 Kongurac automatu M nazveme libovolnou dvojici [q x], kdeq 2 K je stav ax 2 je slovo. Relaci ` na mno in kongurac automatu M (krok v po tu) denujeme takto: [q ax] ` [p x], pokud (q a) = p.

2 KONE N AUTOMATY 6 Denice 2.5 S mantika KA II. ekneme, e kone n automat M =(K q 0 F) akceptuje (rozpozn v, p j m ) slovo w, jestli e existuje koncov stav p 2 F takov, e [q 0 w] ` [p "]. Jazyk akceptovan automatem M ji denujeme stejn jako v denici 2.3. Denice 2.6 Dva kone n automaty M a N nazveme ekvivalentn, jestli e T (M) =T (N). Pozn mka 2.7 Funkce m e b t (a tak asto b v ) parci ln. Kone n automaty lze reprezentovat n olika r zn mi zp soby. 1. p tice uveden v denici 2.1 2. tabulka p echodov funkce se specikac po te n ho a koncov ch stav 3. stavov diagram 4. v po etn strom Tyto reprezentace bude nejl pe uk zat na p klad. P klad 2.8 Nech je d n kone n automat P echodovou funkci specikuje n sleduj c tabulka: M =(fq 0 q 1 q 2 q 3 g f0 1g q 0 fq 0 g): 0 1 $ q 0 q 2 q 1 q 1 q 3 q 0 q 2 q 0 q 3 q 3 q 1 q 2 ipka sm rem k q 0 znamen, e jde o po te n stav, a ipka sm rem od q 0 znamen, e je to z rove jedin koncov stav. N sleduje uk zka stavov ho diagramu a v po etn ho stromu pro - tento automat. q 0 - q 0 1 q 1 H 0 HHHj 1 6 1 6 q 2 q 1 0; ; S 1 0 Sw / @ 1 @R 0 0 0 0 q 0 q 3 q 3 0 J 1. J^ q 1 q 2.. q 0? 1 - q 2 1? Ve v po etn m stromu sesna me zachytit v echny mo n posloupnosti stav. ka d v tev d v pr v jedno odvozen, a pokud kon, sestav me ode ten m symbol na t to v tvi slovo p jiman automatem. V po etn strom b v asto nekone n. V jeho ko eni je po te n stav, v listech mohou b t pouze koncov stavy. Stavov diagram dostaneme z v po etn ho stromu tak, e v echny v skyty t ho stavu sjednot me do jedin ho uzlu. Dost v me tak graf, ve kter m na po te n stavukazuje ipkazvenku a koncov stavy jsou ozna eny dvojit m krou kem. Budeme se nyn zab vat probl mem vztahu automatu a jeho jazyka. Jazyky akceptovan kone n mi automaty jsou toti speci ln nelze nap. sestrojit KA rozpozn vaj c jazyk f0 n 1 n : n 0g. q 3

2 KONE N AUTOMATY 7 Denice 2.9 Nech r je relace ekvivalence. ekneme o n, e je zprava invariantn (prav kongruence), jestli e pro ka dou trojici x y z plat : je-li x r y, pak tak xz r yz. Index ekvivalence je po et t d odpov daj c ho rozkladu. P klad 2.10 Denujeme relaci r na slovech abecedy pro n jak kone n automat M =(K q 0 F) takto: x r y, pokud (q 0 x)=(q 0 y). Tato relace je zprava invariantn. V ta 2.11 Nerodova N sleduj c t i tvrzen jsou ekvivalentn : 1. Jazyk L je rozpozn v n n jak m kone n m automatem. 2. Jazyk L je sjednocen m n kter ch t d vytvo en ch zprava invariantn ekvivalenc s kone n m indexem. 3. Nech r je relace na slovech ze denovan : x r y, pokud pro v echna slova r 2 plat : (xr 2 L, yr 2 L). Pak r m kone n index. D kaz: 1 ) 2: (viz tak [Chytil], v ta 2.18 na stran 57) Nech L je rozpozn van kone n m automatem M =(K q 0 F). Denujeme relaci r' jako v p edch zej c m p klad, tedy x r' y, pokud(q 0 x)=(q 0 y). Tato relace je zprava invariantn. Index r' je kone n, proto e m e b t nejv e roven po tu stav automatu M. Potom jazyk L je sjednocen m t ch t d ekvivalence podle r', kter odpov daj koncov m stav m automatu M. 2 ) 3: Dok eme, e relace r' spl uj c podm nku sti 2 v ty je zjemn n relace r z sti 3 v ty. Mus me tedy uk zat, e pokud x r' y, pak tak x r y: Proto e r' je zprava invariantn, pak pro ka d slovo r 2 plat : xr r' yr, a tedy (q 0 xr)=(q 0 yr). Je-li tedy xr 2 L, pak F 3 (q 0 xr)=(q 0 yr) 2 F, a proto i yr 2 L. Analogicky dok eme opak. Celkem x r y. Je tedy r' zjemn n r. Z toho plyne, e pon vad r' m kone n index, m tak r kone n index. 3 ) 1: Z relace r zkonstruujeme kone n automat, kter bude rozpozn vat jazyk L. Nejprve si v ak ov me, e relace r je zprava invariantn : Je-li x r y, pak pro v echna slova w r 2 plat : (xwr 2 L, ywr 2 L), a tedy xw r yw. Nech kone n automat M 0 =(K 0 0 q 0 0 F0 ) je d n takto: K 0 = = r mno ina stav odpov d t d m rozkladu podle relace r, [x] 2 K 0 ozna uje t du obsahuj c prvek x q 0 0 =["] po te n stav je t da obsahuj c pr zdn slovo F 0 = f[x]: x 2 Lg mno ina koncov ch stav je mno ina v ech t d, kter obsahuj slova jazyka L 0 ([x] a)=[xa] z t dy [x] a se symbolem a na vstupu se dostaneme do t dy [xa] zde je pot eba prav invariance relace r,aby hodnota p echodov funkce 0 byla d na jednozna n Z pravidla pro funkci 0 odvod me induktivn, e 0 (q 0 0 x)=[x]. Proto x 2 T (M 0 ) pr v tehdy, kdy [x] 2 F 0, a to je z denice F 0 ekvivalentn tomu, e x 2 L. Celkem T (M 0 )=L, a tedy automat M 0 rozpozn v jazyk L. Kone n index relace r je zde t eba k zaji t n kone n ho po tu stav automatu M 0, co vy aduje denice KA. 2 P klad 2.12 S pomoc Nerodovy v ty uk eme, e jazyk f0 n 1 n g nen rozpoznateln dn m kone n m automatem. Budeme postupovat sporem. P edpokl dejme tedy, e jazyk L je rozpoznateln kone n m automatem M s kone n m po tem stav. Potom existuje zprava invariantn ekvivalence s kone n m indexem takov, e jazyk L je sjednocen m jist ch t d rozkladu podle. Nech rozklad f0 1g = m n 0 t d. Uva me slova 0 n0+1 1 0 0 n0+1 1 1 0 n0+1 1 2 ::: 0 n0+1 1 n0. T ch jecelkem n 0 +1, proto dv r zn slova z nich vybran pat do jedn t dy. Nech jsou to 0 n0+1 1 i a 0 n0+1 1 j pro i<j. Tedy plat : 0 n0+1 1 i 0 n0+1 1 j :

2 KONE N AUTOMATY 8 Proto e je zprava invariantn, je tak tedy 0 n0+1 1 i 1 n0;i+1 0 n0+1 1 j 1 n0;i+1 0 n0+1 1 n0+1 0 n0+1 1 n0+1+j;i : Na lev stran je slovo z jazyka L, na druh stran slovo, kter do L nepat. Jazyk L tedy nem e b t sjednocen m t d rozkladu podle relace, co je spor. Lemma 2.13 Pumping lemma Nech L je jazyk rozpoznateln kone n m automatem. Pak existuje slo p takov, e ka d slovo w 2 L, pro n jwj p, se d rozlo it takto: w = xyz a jyj p, p i em v echna slova w i = xy i z jsou tak z jazyka L. D kaz: Nech M = (K q 0 F) je automat, kter rozpozn v jazyk L. Ozna me p = jkj a uk eme, e spl uje vlastnost po adovanou ve zn n v ty. Nech w je libovoln slovo jazyka L takov, e jwj p. V me, e (q 0 w) ` (q f ") je posloupnost jwj kongurac a q f 2 F. Podle Dirichletova principu mus tedy toto odvozen slova w proj t n kter m stavem alespo dvakr t (nech je to nap. q). Tedy plat : Z ejm tak (q y i z) `+ (q z), atedy (q 0 w = xyz) ` (q yz) `+ (q z) ` (q f "): (2) (q 0 w i = xy i z) ` (q y i z) `+ (q z) ` (q f "): (3) 2 Ka d jazyk L je jist rozpoznateln v ce r zn mi automaty. My budeme pro dan jazyk hledat jak si kanonick automat, kter nazveme minim ln m automatem. Nakonec najdeme algoritmus, kter z dan ho automatu vytvo minim ln automat rozezn vaj c stejn jazyk, jako automat p vodn. Denice 2.14 Automat s nejmen m po tem stav, kter rozpozn v dan jazyk L, se naz v minim ln automat pro L. Denice 2.15 Nech M = (K q 0 F) je kone n automat. Jeho stav q nazveme nedosa iteln pr v tehdy, kdy neexistuje x 2 takov, e (q x) =q. V ta 2.16 Minim ln automat pro L je d n jednozna n a na izomorsmus a je to automat M 0 z d kazu Neronovy v ty (2.11). D kaz: Ka d automat M =(K q 0 F) denuje odpov daj c relaci r' zbodu2 Neronovy v ty, kter je zjemn n m relace r z bodu 3 t to v ty. Automat M 0 m stejn po et stav jako ekvivalence r t d rozkladu, a automat M m tolik stav jako ekvivalence r' t d rozkladu. Proto e je r' zjemn n m r, plat : jk 0 jjkj. Plat -li rovnost, je t eba naj t izomorsmus na stavech obouautomat. Ka d mu stavu q 2 K p i ad me stav q 0 2 K 0 takto: Jestli e je stav q nedosa iteln, lze jej pln odstranit a automat proto nebyl minim ln. Tedy existuje x 2 takov, e (q 0 x)=q. Potom stav q ztoto n me se stavem 0 (q 0 0 x)=[x]. Takov p i azen je korektn. Vezmeme-li toti dv r zn slova x y takov, e (q 0 x)=(q 0 y)=q, pak z denice relace r' p mo plyne, e x r' y. r' je v ak dle Neronovy v ty zjemn n m r, tedy tak x r y. Potom 0 (q0 x)= 0 0 (q0 y), 0 a obraz stavu q je d n jednozna n bez ohledu na v b r slova x. Nyn ji lze snadno ov it, e takov zobrazen stav je izomorsmus. 2 Zn me tedy automat, kter je pro dan jazyk minim ln. Na m po adavkem je v ak algoritmus, kter pro dan automat vr t jeho minim ln podobu. Z p edchoz ch vah plyne, e minim ln automat nem dn nedosa iteln stavy. N sleduj c algoritmus je odstra uje. Algoritmus 2.1 Eliminace nedosa iteln ch stav KA

2 KONE N AUTOMATY 9 Vstup: Automat M =(K q 0 F) V stup: Automat M 0 bez nedosa iteln ch stav T (M) =T (M 0 ) 1. i := 0 2. s i := fq 0 g 3. repeat 3.1. s i+1 := S i [fq: 9p 2 S i a2 : (p a) =qg 3.2. i := i +1 4. until S i = S i;1 5. M 0 := M=S i (M 0 dostaneme z M tak, e vezmeme v vahu pouze stavy S i ) Je-li n po et stav automatu M, pak algoritmus skon nejpozd ji p i i = n. Odstran n m nedosa iteln ch stav v ak je t nedostaneme minim ln automat. Mohou se toti vyskytnout r zn stavy automatu, kter se chovaj stejn, a mohou tedy b t sjednoceny do jedin ho stavu. Denice 2.17 Nech M =(K q 0 F) je kone n automat. Jeho stavy p a q nazveme ekvivalentn, jestli e pro ka d slovo w 2 plat : (p w) 2 F, (q w) 2 F. Denice 2.18 Nech M = (K q 0 F) je kone n automat. Denujeme posloupnost relac na jeho stavech 0 1 ::: takto: p 0 q, pokud p 2 F, q 2 F P i q, pokud p i;1 q ^8a 2 : (p a) i;1 (q a) Lemma 2.19 Nech M =(K q 0 F) je kone n automat. Pak plat n sleduj c tvrzen : (i) Ka d z relac i je ekvivalence na K. (D le budeme zna it rozklad K= i jako R i ) (ii) Pro ka d i 2 N je R i+1 zjemn n R i (iii) Pro ka d i 2 Nplat : Je-li R i = R i+1, pak pro ka d p irozen t 1 je R i = R i+t (iv) Ozna me n = jkj po et stav automatu M. Pak existuje k n ; 1 takov, e R k = R k+1 (v) Pro ka d k takov, e R k = R k+1, plat : k =. D kaz: (i),(ii) P mo z denice. (iii) V me, e R i = R i+1, a tedy i = i+1. Z denice i+1 plyne, e p i+1 q, pq i ^8a 2 : (p a) (q i a). Proto e i = i+1,jenyn p i+1 q ^8a 2 : (p a) i+1 (q a). To v ak podle denice znamen, e p i+2 q. Je tedy p i+1 q, p i+2 q, tedy i+1 = i+2. P edchoz poznatek m eme induktivn aplikovat na jak koli i + t, kde t 1. (iv) Ozna me c i index ekvivalence i. P edpokl dejme, e R 0 ::: R k jsou navz jem r zn a R k = R k+1 je prvn v skyt rovnosti soused v ad R i. Proto e R i+1 je zjemn n m R i, plat vztah: 1 <c 0 <c 1 < c k n. Proto k +1 n, tedy k n ; 1.

2 KONE N AUTOMATY 10 (v) Denice relace i se d interpretovat takto: p i q, jestli e pro ka d slovo x o d lce nejv e i plat, e (p x) 2 F, (q x) 2 F. Nech R k = R k+1. Podle bodu (iii) je R k = R k+t pro ka d t 1. Vezmeme-li tedy jakoukoli horn hranici d pro d lku slova, potom p i q je ekvivalentn s t m, e pro v echna slova x o d lce nejv e d plat : (p x) 2 F, (q x) 2 F.Tato vlastnost je tedy spln na pro v echna slova x, co je ekvivalentn denici relace. Je tedy p i q, pr v kdy p q, tedy i =. 2 Pr v dok zan lemma napov d, jak lze z skat rozklad na stavech automatu podle relace. Budeme konstruovat relace i (resp. odpov daj c rozklady) tak dlouho, dokud se bude n sleduj c relace (resp. rozklad) li it od p edchoz. V sledek je relace, resp. odpov daj c rozklad, jeho t dy mohou b t stavy automatu ekvivalentn ho p vodn mu. Algoritmus 2.2 Eliminace v skyt ekvivalentn ch stav KA Vstup: Automat M =(K q 0 F) V stup: Rozklad K= stav na vz jemn ekvivalentn 1. i := 0 2. R 0 := ff K n F g 3. repeat 3.1. spo ti R i+1 z R i podle denice (2.18) 3.2. i := i +1 4. until R i = R i;1 K automatu M z sk me minim ln automat rozpozn vaj c stejn jazyk tak, e s pomoc algoritmu 2.1 odstran me nedosa iteln stavy, apakvytvo me rozklad na mno in stav s pomoc algoritmu 2.2. 2.2 Nedeterministick KA Nedeterministick KA (zkr cen NKA, deterministick KA bude d le DKA) poskytuj volbu p i p echodu stav. Oborem hodnot p echodov funkce nebudou nyn pouh stavy automatu, ale v echny podmno iny mno iny stav. Denice 2.20 Nedeterministick kone n automat M nad abecedou je p tice (K q 0 F), kde jednotliv komponenty maj tento v znam: K kone n nepr zdn mno ina stav kone n nepr zdn mno ina symbol abeceda p echodov funkce : K! 2 K q 0 2 K po te n stav F K mno ina koncov ch stav Denice 2.21 Kongurac automatu M nazveme libovolnou dvojici [q x], kde q 2 K je stav a x 2 je slovo ( dn zm na). Relaci ` na mno in kongurac automatu M (krok v po tu) denujeme takto: [q ax] ` [p x], pokud p 2 (q a). Automat akceptuje slovo w 2, pokud (q 0 w) ` (q f ") a q f 2 F ( dn zm na).

2 KONE N AUTOMATY 11 Pozn mka 2.22 P echodovou funkci m eme op t roz it na deni n obor K takto: (q ") =fqg (q xa) = S p2(q x) (p a) U nedeterministick ch KA prov d me nav c roz en na deni n obor 2 K : (P x) = S p2p (p x). Denice 2.23 ekneme, e automat M akceptuje slovo w, pokud (q 0 w) \ F 6=. Pokus me se naj t vztah mezi deterministick mi a nedeterministick mi KA. V ta 2.24 Nech L je jazyk rozpozn van n jak m NKA. Pak existuje DKA, kter rozpozn v jazykl. D kaz: Sestroj me DKA M 0 = (K 0 0 q 0 0 F0 ) z NKA M tak, e stavy automatu M 0 ztoto n me se v emi podmno inami stav automatu M. Tedy K 0 =2 K.Po te n stav q 0 0 bude odpov dat mno in fq 0 g,akoncov stavy F 0 budou v echny podmno iny K, kter obsahuj alespo jeden koncov stav: F 0 = fp : P K ^ P \ K 6= g. Pro zaveden funkce p echodov 0 pou ijeme roz en na deni n obor 2 K. Potom bude 0 (Q a) =P jedin tehdy, kdy (Q a) =P. Dok eme nyn indukc vzhledem k d lce slova x, e 0 (q 0 0 x)=q, (q 0 x)=q (4) Nech jxj =0,tedyx = ". Potom trivi ln 0 (fq 0 g ")=fq 0 g,a(q 0 ")=fq 0 g. induk n krok: P edpokl dejme, e v raz (4) plat pro v echna slova jxj l. Z ejm plat pro v echny symboly a 2 : 0 (q 0 0 xa)= 0 ( 0 (q 0 0 x) a): Podle p edpokladu je 0 (q 0 0 x)=q, pr v kdy (q 0 x)=q. Z denice funkce 0 v me, e 0 (Q a) =P, pr v kdy (Q a) =P. Celkem dost v me, e 0 (q 0 0 xa)=p nastane pr v tehdy, kdy (q 0 xa)=p. Z v e uveden ho ji p mo plyne, e 0 (q 0 0 x) 2 F 0 je ekvivalentn s (q 0 x) \ F 6= pro ka d slovo x, a tedy oba automaty p ij maj stejn jazyk. 2 P klad 2.25 Nedeterministick kone n automat M =(fq 0 q 1 g f0 1g q 0 fq 1 g) m n sleduj c p echodovou funkci a diagram: 0 1 0 1! q 0 fq 0 q 1 g fq 1 g? 0 1 -? - q 0 q 1 1 q 1 fq 0 q 1 g Vytvo me k n mu odpov daj c deterministick automat M 0 =(K 0 f0 1g 0 fq 0 g F 0 ), kde mno ina stav je K 0 = f fq 0 g fq 1 g fq 0 q 1 gg a kone n stavy jsou F 0 = ffq 1 g fq 0 q 1 gg. P echodov funkce 0 je pak d na n sleduj c tabulkou a diagramem: '$ 0 1! fq 0 g fq 0 q 1 g fq 1 g fq 1 g fq 0 q 1 g fq 0 q 1 g fq 0 q 1 g fq 0 q 1 g '$ &% 6 &% '$ H # 6 HHHH Hj &% "!? fq 0 g 0 0 1 0 1 fq 0 q 1 g 1 1 - '$ # &% "! fq 1 g

3 REGUL RN GRAMATIKY A JAZYKY 12 2.3 Rozhodnuteln probl my z oblasti KA Existuje algoritmus, kter zjist, zda jsou dva KAekvivalentn. Sta je toti p ev st do minim ln ch tvar a zjistit, zda jsou izomorfn. D se tak snadno zjisti, zda mno ina slov p jiman ch kone n m automatem je pr zdn nebo nepr zdn, kone n nebo nekone n. P mo z Pumping lemmatu (2.13) se toti daj odvodit n sleduj c dv lemmata: V ta 2.26 Mno ina slov akceptovan ch KAsn stavy je (i) Nepr zdn, KA akceptuje slovo d lky men ne n (ii) Nekone n, KA akceptuje slovo d lky l: n l<2n D kaz: (i) ( z ejm ) KA A m n stav a akceptuje n jak slovo. Vezm me nejkrat slovo w akceptovan automatem. P edpokl dejme spor, tj. jwj n. Z Pumping Lemma plyne, e! =! 1! 2! 3, kde! 2 6= " ^! 1! 3 2 L(A), ale j! 1! 2 j < j! 1! 2! 3 j, co je spor s t m, e! je nejkrat. (ii) ( Jestli e j!j n, pak z Pumping Lemma! =! 1! 2! 3! 3 6= ", ov em i! 1! 2! i 3 2 L(A) ) P edp., e A rozpozn v nekone n mnoho slov aznich dn nen d lky mezi n a 2n ; 1. j!j 2n! =! 1! 2! 3! 2 6= " ^j! 2 jn! 1! 3 2 L(A)n j! 1! 3 j < j! 1! 2! 3 j 3 Regul rn gramatiky a jazyky 3.1 Kone n automaty a regul rn gramatiky V t to sti uk eme, e jazyky akceptovan kone n mi automaty jsou pr v regul rn jazyky, tedy odpov daj regul rn m gramatik m. V ta 3.1 Nech G =(N P S) je regul rn gramatika. Pak existuje kone n automat M takov, e T (M) =L(G). D kaz: Nech M =(K q 0 F). Sestroj me nedeterministick KA M, kter bude p ij mat pr v jazyk L(G). Stavy K automatu M ztoto n me s netermin ly gramatiky G, a p id me nav c jeden stav, kter neodpov d dn mu netermin lu v G: K = N [fag, kde A 62 N.Po te n stav q 0 bude odpov dat startovn mu netermin lu S gramatiky. Koncov stavy F automatu zad me t mto p edpisem: fs Ag pokud (S! ") 2 P F = fag pokud (S! ") 62 P P echodovou funkci zvol me takto: 8 < A 2 (B a) pokud (B! a) 2 P (B a) = C 2 (B a) pokud (B! ac) 2 P : (A ) = Nyn dok eme, e T (M) =L(G). L(G) T (M): Nech x 2 L(G) je nepr zdn slovo, tedy x = a 1 a 2 a n pro n 1. Slovo x je tedy v tou gramatiky G, proto S ) G x. Proto e G je regul rn, mus odvozen prob hnout takto: S ) G a 1 A 1 ) G a 1 a 2 A 2 ) G ) G a 1 a n;1 A n;1 ) G a 1 a n Odvod me z toho n sleduj c vlastnosti automatu M: 2

3 REGUL RN GRAMATIKY A JAZYKY 13 (S! a 1 A 1 ) 2 P ) A 1 2 (S a 1 ) (A 1! a 2 A 2 ) 2 P ) A 2 2 (A 1 a 2 )... (A n;1! a n ) 2 P ) A 2 (A n;1 a n ) M eme tedy dostat tuto posloupnost v po etn ch krok v na em automatu: (S a 1 a n ) ` (A 1 a 2 a n ) ``(A n;1 a n ) ` (A ") Celkem x = a 1 a n 2 T (M). T (M) L(G): d kaz lze prov st zcela analogicky pro x 6= ". Pro plnost mus me uv st je t p pad pr zdn ho slova. Je-li " 2 L(G), pak S 2 F a " 2 T (M). Je-li naopak " 2 T (M), pak mus b t S 2 F, a tedy (S! ") 2 P. 2 V ta 3.2 Nech M =(K q 0 F) je kone n automat. Pak existuje regul rn gramatika G =(N P S) takov, e L(G) =T (M). D kaz: Bez jmy na obecnosti lze p edpokl dat, e M je deterministick. Zvol me gramatiku G tak, e jej netermin ly budou odpov dat stav m automatu (N = K), abecedy budou shodn, a startovn netermin l bude odpov dat po te n mu stavu automatu (S = q 0 ). Pravidla P budeme potom konstruovat takto: je-li (B a) =C, pak (B! ac) 2 P je-li (B a) =C a C 2 F, pak (B! a) 2 P D kaz shodnosti jazyk L(G) a T (M) lze v st zcela analogicky d kazu p edchoz v ty. 2 3.2 Vlastnosti regul rn ch jazyk V t to sti ov me, e t da regul rn ch jazyk, kterou budeme d le zna it L 3, je uzav en na v echny obvykl operace. V ta 3.3 T da regul rn ch jazyk L 3 je uzav en vzhledem k operaci sjednocen. D kaz: Nech L 1 a L 2 jsou dva regul rn jazyky. Chceme dok zat, e jazyk L 1 [ L 2 je tak regul rn. Nech jazyk L 1 je generovan gramatikou G 1 a jazyk L 2 gramatikou G 2. Ozna me G i = (N i i P i S i ) pro i =1 2. P edpokl dejme, e N 1 \ N 2 = (jinak lze netermin ly jedn z gramatik p ejmenovat). Zvol me netermin l S 62 N 1 [ N 2 a denujeme gramatiku G =(N 1 [ N 2 [fsg 1 [ 2 P S). Mno inu pravidel P pak sestroj me takto: P = fs! :(S 1! ) 2 P 1 _ (S 2! ) 2 P 2 g[p 1 [ P 2. Nyn je z ejm, e (S ) G ) pr v tehdy, kdy (S 1 ) G1 ) nebo (S 2 ) G2 ). Gramatika G, kter je jist regul rn, rozezn v jazyk L 1 [L 2.Tento jazyk je proto tak regul rn. 2 V ta 3.4 T da regul rn ch jazyk L 3 je uzav en vzhledem k operaci dopl ku. D kaz: Nech L 1 je regul rn jazyk nad abecedou 1. Chceme dok zat, e tak jazyk n L, kde 1, je regul rn. Nech M 1 = (K 1 1 1 q 1 F 1 ) je automat, kter rozpozn v jazyk L 1, p i em p echodov funkce 1 je tot ln. Je-li = 1, pak automat M 1 =(K 1 1 q 1 K 1 n F 1 ) z ejm rozpozn v jazyk n L. Je-li 1, je t eba vytvo it nov stav q 62 K 1.Funkci 1 roz me na 1 pro tento stav tak, e 1 (q ) =q. D le p echodovou funkci 1 mus me roz it z abecedy 1 na abecedu, a to tak, e pro v echna a 2 n 1 bude 1 ( a)=q.ve v ech ostatn ch p padech bude 1 = 1. Automat M 1 nyn zavedeme jako (K 1 [fqg 1 q 1 K 1 [ fqgnf 1 ). Z ejm v echna slova x 2 1 p j m automat M 1 pr v tehdy, kdy je nep ij m automat M 1.Slova y 2 n 1 jsou p ij m na v echna. Automat M 1 tedy p ij m pr v jazyk n L. 2 D sledek 3.5 T da regul rn ch jazyk L 3 je uzav ena vzhledem k operaci pr niku.

3 REGUL RN GRAMATIKY A JAZYKY 14 D kaz: M jme dva regul rn jazyky L 1 a L 2. S pomoc de Morganovapravidla L 1 \ L 2 = L 1 [ L 2 a p edchoz ch dvou v t je z ejm vid t, e jejich pr nik je tak regul rn jazyk. 2 Pozn mka 3.6 Toto je alternativn d kaz uzav enosti regul rn ch jazyk na operaci pr niku. Z automat M 1 a M 2, kde M i =(K i i q i F i ), rozezn vaj c ch jazyky L 1, resp. L 2, sestroj me automat M, kter bude rozezn vat jazyk L 1 \ L 2. Nech M =(K 1 K 2 [q 1 q 2 ] F 1 F 2 ).P echodovou funkci tohoto automatu denujeme takto: ([p 1 p 2 ] a)=[r 1 r 2 ] pokud i (p i a)=r i pro i =1 2 Pozn mka 3.7 T da regul rn ch jazyk L 3 s ste n m uspo d n m a operacemi [, \ a tvo Booleovu algebru s nejmen m prvkem anejv t m prvkem. V ta 3.8 T da regul rn ch jazyk L 3 je uzav ena vzhledem k operaci z et zen. D kaz: Nech L 1 a L 2 jsou dva regul rn jazyky. Chceme dok zat, e jazyk L 1 L 2 je tak regul rn. Nech jazyk L 1 je rozpozn van automatem M 1 a jazyk L 2 automatem M 2. Ozna me M i =(K i i q i F i ) pro i =1 2. Zkonstruujeme nyn automat M =(K 1 [ K 2 q 1 F). P echodovou funkci zavedeme podle pravidel: 8 < f 1 (q a)g pro q 2 K 1 n F 1 (q a) = f : 1 (q a) 2 (q 2 a)g pro q 2 F 1 f 2 (q a)g pro q 2 K 2 Mno ina koncov ch stav F bude rovna F1 [ F F = 2 pro " 2 L 2 F 2 pro " 62 L 2 Automat M pak z ejm bude rozpozn vat pr v jazyk L 1 L 2, kter je proto regul rn. 2 V ta 3.9 T da regul rn ch jazyk L 3 je uzav ena vzhledem k operaci uz v ru. D kaz: Nech L je regul rn jazyk. Chceme uk zat, e tak L je regul rn jazyk. Nech M =(K q 0 F) je kone n automat, kter rozpozn v jazyk L. Nech M 0 =(K[fq 0 0 g 0 q 0 0 F[ fq 0 0 g) je automat, kde q0 0 62 K je nov stav a p echodov funkce 0 nab v t chto hodnot: 0 (q 0 a) = f(q0 a) q 0 g pro (q 0 a) 2 F 0 f(q 0 a)g jinak 0 f(q a) q0 g pro (q a) 2 F (q a) = f(q a)g jinak pro q 6= q 0 0 Automat M 0 nyn rozpozn v jazyk L, kter je proto regul rn. 2 V ta 3.10 V echny kone n jazyky lze rozeznat kone n m automatem. D kaz: Mno inu rozpozn me kone n m automatem M =(fq 0 g q 0 ), kde (q 0 ) =q 0. Mno inu f"g kone n m automatem M =(fq 0 pg q 0 fq 0 g), kde (q 0 ) =p a (p ) =p. Mno inu fxg, kde x = a 1 a n je nepr zdn slovo rozpozn me kone n m automatem M = (fq i : i = 0 ::: ng q 0 fq n g), kde(q i;1 a i )=q i. Proto e ka dou kone nou mno inu m eme slo it jako sjednocen kone n mnoha jednoprvkov ch mno in, m eme kone n mnohokr t aplikovat v tu 3.3 o uzav enosti regul rn ch jazyk na sjednocen. 2 Tvrzen 3.11 (KLEENE-ho v ta) T da jazyk L 3 je nejmen t da jazyk, kter obsahuje v echny kone n mno iny aje uzav ena vzhledem ke sjednocen, z et zen a uz v ru.

3 REGUL RN GRAMATIKY A JAZYKY 15 3.3 Regul rn v razy V t to sti uvedeme regul rn v razy (RV) a p echodov grafy (PG), kter, jak uk eme, jsou dal alternativn reprezentac regul rn ch jazyk. Denice 3.12 T da regul rn ch v raz nad abecedou je denov na induktivn takto: 1. " a jsou regul rn v razy nad 2. ka d p smeno a 2 je regul rn v raz nad 3. jsou-li R 1, R 2 regul rn v razy nad, pak tak (R 1 + R 2 ), (R 1 R 2 ), (R 1 ) jsou regul rn v razy nad Denice 3.13 Ka d regul rn v raz R nad popisuje jistou mno inu slov e R nad : 1. je-li R = ", pak e R = f"g je-li R =, pak e R = 2. je-li R = a, pak e R = fag 3. je-li R =(R 1 + R 2 ), pak e R = f R1 [ f R2 je-li R =(R 1 R 2 ), pak e R = f R1 f R2 je-li R =(R 1 ), pak e R = f R1 P klad 3.14 M jme abecedu =fa bg. Toto jsou p klady regul rn ch v raz : R 1 = ba, R 2 = a ba ba, R 3 =(a + b). Jejich odpov daj c jazyky jsou: fr 1 = fba g fr 2 = fw 2 : w obsahuje pr v dv bg fr 3 = : Denice 3.15 Dva regul rn v razy R 1 a R 2 nazveme ekvivalentn, pokud popisuj stejn mno iny (f R1 = f R2 ). Denice 3.16 Regul rn mno iny nad abecedou denujeme induktivn takto: 1. ka d kone n mno ina slov nad (v etn ) je regul rn mno ina nad 2. jestli e U, V jsou regul rn mno iny nad, pak tak U [ V, UV, U jsou regul rn mno iny nad Pozn mka 3.17 Z v e uveden ch denic je z ejm, e mno ina je regul rn, pr v kdy m e b t pops na regul rn m v razem. Denice 3.18 P echodov graf T nad abecedou je orientovan multigraf, jeho ka d hrana je ozna ena n v t m, kter je slovem nad. Oby ejn je jeden z uzl ozna en jako vstupn uzel ( & nebo ;) a n kter uzly jako koncov uzly ( % nebo +). Pro slovo w 2 nazveme w-cestou z uzlu i do uzlu j v T cestu z i do j takovou, e z et zen m v ech n v t na hran ch po cest z sk me slovo w. ekneme, e slovo w 2 je akceptov no p echodov m grafem T, jestli e existuje w-cesta z po te n ho do n kter ho z koncov ch uzl grafu T. Slovo " je nav c akceptov no v p pad, e po te n uzel je z rove koncov m. Mno inu v ech slov akceptovan ch p echodov m grafem T nazveme jazyk akceptovan p echodov m grafem T a ozna me e T.

3 REGUL RN GRAMATIKY A JAZYKY 16 V ta 3.19 Kleene-ho (i) Ke ka d mu p echodov mu grafu T nad existuje regul rn v raz R nad takov, e e R = e T a naopak. (ii) Ke ka d mu regul rn mu v razu R nad existuje kone n automat M s abecedou takov, e T (M) = er a naopak. D kaz: (i) Ozna me x po te n uzel grafu T a vytvo me nov koncov uzel y tak, e z ka d ho p vodn ho koncov ho uzlu vede do y hrana ozna en ". V tomto nov m grafu budi y jedin koncov uzel. Budeme d le konstruovat tzv. zobecn n p echodov graf, jeho hrany jsou ozna eny regul rn mi v razy. Nejprve vylou me n sobn hrany. Jestli e z uzlu u vede do vnhran ozna en ch 1 ::: n, nahrad me je jedinou hranou ozna enou 1 + + n : 1 + + n - - -. - - - 1 u v ;! u v n D le se budeme postupn zbavovat v ech uzl na cest z x do y. Nech mezi uzly u a v le uzel w. Hrana z u do w je ozna ena, hrana z w do v je ozna ena. Uzel w m n smy ek ozna en ch 1 ::: n :? 1 ( 1 + + n ) u w v ;! 6 n Uzel w odstran me spolu se v emi zm n n mi hranami, a m sto toho zavedeme hranu z u do v, ozna enou ( 1 + + n ) (pokud takov hrana u existuje, p id me k n tento v raz jako dal s tanec). T mto zp sobem dostaneme zobecn n p echodov graf, kter bude m t pouze uzly x a y s jedinou hranou mezi nimi. Ta bude ozna ena regul rn m v razem, kter akceptuje stejn jazyk jako p vodn graf. Naopak, m me-li d n regul rn v raz R, zkonstruujeme odpov daj c p echodov graf induktivn vzhledem ke konstrukci R podle t chto pravidel: @ ; @ @R ; @R @ @R Pq 1 P PP ; ; P PP Pq 1 R 1 " " " R 2 R = " " R = @ @R @ @R - ; ; a R = a - ; ; " R 1 R 2 @ @R ; ; - R 1 " " R =(R 1 + R 2 ) R =(R 1 R 2 ) R =(R 1 ) V sledn p echodov graf bude z ejm akceptovat ten jazyk, kter popisuje p vodn regul rn v raz. (ii) Vezmeme v vahu regul rn v raz R. Budeme z n ho konstruovat kone n automat, a to op t indukc vzhledem ke konstrukci R. Je-li R =, R = " nebo R = a, pak odpov daj c jazyky jsou, resp.f"g, fag. Automaty, kter rozezn vaj tyto mno iny, jsou uvedeny vd kazu v ty 3.10. Je-li R =(R 1 + R 2 ), hled me automat, kter rozpozn v jazyk f R1 [ f R2. Proto e podle induk n ho p edpokladu m me automaty pro mno iny f R1 i f R2, sestroj me z nich automat M podobn jako v pozn mce 3.6. Nahrad me v ak mno inu koncov ch stav F 1 F 2 mno inou F 1 Q 2 [ Q 1 F 2,aby automat M rozezn val sjednocen obou p vodn ch jazyk m sto pr niku.

4 Z SOBN KOV AUTOMATY 17 Je-li R =(R 1 R 2 ), hled me automat, kter rozpozn v jazyk f R1 f R2.Podle induk n ho p edpokladu op t zn me automaty pro jazyky f R1 i f R2, proto m eme hledan automat sestrojit stejn, jako vd kazu v ty 3.8. Je-li R =(R 1 ), zn me u automat pro f R1 a hled me automat pro jazyk (f R1 ). Ten lze vytvo it tak jako vd kazu v ty 3.9. 2 4 Z sobn kov automaty V p edchoz m jsme uvedli kone n automaty adok zali, e akceptuj pr v regul rn jazyky. V t to kapitole bude denov n jin form ln v po etn prost edek, z sobn kov automat. Uk eme o n m, e m v t v po etn s lu ne kone n automat, proto e bude um t rozpozn vat bezkontextov jazyky. 4.1 Z sobn kov automat a jeho roz en Z sobn kov automat je vlastn kone n automat obohacen o potenci ln nekone n z sobn k. Denice 4.1 Z sobn kov automat (ZA) nad abecedou je syst m M =(Q ; q 0 Z 0 F), kde jednotliv komponenty maj n sleduj c v znam: Q kone n nepr zdn mno ina stav vstupn abeceda ; z sobn kov abeceda mno ina symbol, kter se mohou objevit v z sobn ku p echodov funkce : Q ( [f"g) ;! do mno iny v ech kone n ch podmno in Q ; q 0 2 Q po te n stav Z 0 2 ; dno z sobn ku F Q mno ina koncov ch stav Denice 4.2 Kongurac ZA je libovoln trojice (q x ) 2 Q ;. Krok v po tu ZA denujeme jako bin rn relaci ` na mno in kongurac takto: jsou-li q q 0 2 Q stavy, a 2 [f"g vstupn symbol, Z 2 ; z sobn kov symbol, 2 ; z sobn kov slova aw 2 vstupn slovo, pak (q aw Z) ` (q 0 w ), pokud (q 0 ) 2 (q a Z): Jin mi slovy, je-li (q 0 ) prvkem (q a Z), znamen to, e ve stavu q s vrcholem z sobn ku Z m e ZA p e st symbol a avrchol z sobn ku Z nahradit slovem, p i em stav se zm n na q 0. Zna me ` reexivn a tranzitivn uz v r relace `, `+ pouze tranzitivn uz v r. Nav c `k znamen slo en k relac `. ekneme, e ZA rozpozn v slovo w koncov m stavem, pokud (q 0 w Z 0 ) ` (q f " ), kdeq f 2 F je koncov stav. ZA rozezn v slovo w pr zdn m z sobn kem, pokud (q 0 w Z 0 ) ` (q " "), kdeq je libovoln stav. Zna me T (M) jazyk akceptovan koncov m stavem ZA, tedy mno inu v ech slov rozpozn van chkoncov m stavem. D le zna me N(M) jazyk akceptovan pr zdn m z sobn kem ZA, tedy mno inu v ech slov rozpozn van ch pr zdn m z sobn kem. P klad 4.3 Podle p kladu 2.12 neexistuje kone n automat, kter by rozezn val jazyk f0 n 1 n : n 1g. Najdeme v ak z sobn kov automat, kter tento jazyk akceptuje.

4 Z SOBN KOV AUTOMATY 18 Nech M =(fq 0 q 1 g f0 1g fz 0 0g q 0 Z 0 ) je z sobn kov automat. P echodovou funkci denujeme takto: (q 0 0 Z 0 ) = f(q 0 0Z 0 )g (q 0 0 0) = f(q 0 00)g (q 0 1 0) = f(q 1 ")g (q 1 1 0) = f(q 1 ")g (q 1 " Z 0 ) = fq 1 "g Je vid t, e ve stavu q 0 m e b t na vstupu 0, kter se v dy p id do z sobn ku. P i prvn m v skytu symbolu 1 se stav zm n na q 1, a jedna 0 je ze z sobn ku odebr na. Odebr n 0 ze z sobn ku prov d i stav q 1 p i p chodu 1 na vstupu, a jin symbol u nem e p ij t. Automat tedy akceptuje pr zdn m z sobn kem posloupnost nul a po nich jedni ek, jich je stejn po et. Proto N(M) =L. V ta 4.4 Jazyk L je rozpoznateln koncov m stavem n jak ho ZA pr v tehdy, kdy je rozpoznateln pr zdn m z sobn kem n jak ho ZA. D kaz: ): Nech L = T (M 1 ), kde M 1 =(Q ; q 0 Z 0 F). Zkonstruujeme ZA M 2 =(Q [fq " q 0 0g ; [ fz 0 0 g 0 q 0 0 Z0 ). P echodov funkce 0 0 p itom nab v hodnot podle t chto pravidel: 0 (q 0 0 " Z0 )=f(q 0 0 Z 0 Z 0 )g 0 (p ) 2 0 (q a Z), pokud (p ) 2 (q a Z) (q " ") 2 0 (q " Z) 0 (q " " Z)=f(q " ")g pro v echna q 2 F a Z 2 ; [fz0g 0 pro v echna Z 2 ; [fz 0 g 0 Porovn me-li v po etn kroky v p vodn m automatu M 1 anov m M 2, dojdeme k n sleduj c ekvivalenci: (q 0 w Z 0 ) `nm 1 (q f " Y 1 Y r ) m (q0 w Z 0 0) 0 `M2 (q 0 w Z 0 Z0) 0 `nm 2 (q f " Y 1 Y n Z0) 0 `r+1 M 2 (q " " "), kde q f 2 F je koncov stav p vodn ho automatu M 1. Je tedy z ejm, e N(M 2 )=T (M 1 ). (: Nech automat M 2 =(Q ; q 0 Z 0 ) je z sobn kov automat, kter rozezn v jazyk L pr zdn m z sobn kem. Zkonstruujeme ZA M 2 =(Q[fq 0 0 q f g ;[fz 0 0 g 0 q 0 0 Z0 0 fq f g).p echodovou funkci 0 denujeme takto: 0 (q 0 0 " Z 0 0)=f(q 0 Z 0 Z 0 0)g (p ) 2 0 (q a Z), pokud (p ) 2 (q a Z) 0 (q " Z 0 0)=(fq f "g) Zt chto vztah lze odvodit podobnou ekvivalenci jako v e p i d kazu obr cen v ty: (q 0 w Z 0 ) `nm 2 (q " ") m (q 0 0 w Z0 ) 0 `M 1 (q 0 w Z 0 Z 0 ) 0 `nm 1 (q " Z 0 ) 0 `M 1 (q f " "), z eho plyne, e T (M 1 )=N(M 2 ). 2 Denice 4.5 Roz en z sobn kov automat je syst m M =(Q ; q 0 Z 0 F), ve kter m v echny symboly maj tent v znam jako v z sobn kov m automatu, a na p echodovou funkci, jej m deni n m oborem je Q([f"g) ;. (Roz en z sobn kov automat se tedy rozhoduje na z klad et zce na vrcholu z sobn ku m sto jedin ho symbolu.) V ta 4.6 Nech L je jazyk rozezn van koncov m stavem roz en ho z sobn kov ho automatu M. Potom existuje (oby ejn ) z sobn kov automat M 1, kter rozpozn v koncov m stavem jazyk L.

4 Z SOBN KOV AUTOMATY 19 D kaz: Precizn proveden d kaz je zdlouhav a technicky n ro n. Uvedeme pouze princip, tedy pop eme, jak z automatu M lze sestrojit automat M 1,abybyla v ta spln na. Nech M =(Q ; q 0 Z 0 F) a T (M) =L. Budeme konstruovat automat M 1 =(Q 1 ; 1 1 q 1 Z 1 F 1 ) kde Z 1 62 ; a q 1 62 Q. Zvol me nejprve slo m jako maxim ln d lku slova, pro kter je (q a ) 6=. Jin mi slovy, m je nejv t po et znak, kter m e automat M odebrat z vrcholu z sobn ku v jednom kroku. Stavy automatu M 1 budou odpov dat dvojic m [q ], kde q 2 Q je stav p vodn ho automatu a je z sobn kov slovo automatu M 1 d lky nejv e m: Q 1 = f[q ]: q 2 Q 2 ; 1 0 jj mg. Z sobn kov abeceda ; 1 je pouze roz en m ; o symbol Z 1 : ; 1 =;[fz 1 g. q 1 po te n stav automatu M 1 bude odpov dat dvojici [q 0 Z 0 Z m;1 1 ]. Mno ina koncov ch stav automatu bude rovna: F 1 = f[q ]: [q ] 2 Q 1 q 2 F g. Jde tedy o ty stavy z Q 1, kter vznikly z koncov ho stavu automatu M. P echodovou funkci 1 denujeme takto: 1. Nejprve uvedeme p echody 1, kter vzniknou z p echod p vodn funkce. Nech tedy (q a X 1 X k ) obsahuje prvek (r Y 1 Y l ). Budeme rozli ovat dv mo nosti: (a) l k: pro v echny z sobn kov symboly Z 2 ; 1 a v echna z sobn kov slova d lky m ; k klademe: mno ina 1 ([q X 1 X k ] a Z) obsahuje prvek ([r ] Z), kde = Y 1 Y l, p i em slovo m d lku pr v m. (b) l<k: pro v echny z sobn kov symboly Z 2 ; 1 a v echna z sobn kov slova d lky m ; k klademe: mno ina 1 ([q X 1 X k ] a Z) obsahuje prvek ([r Y 1 Y l Z] "). 2. Mus me um t doplnit z sobn kovou komponentu nov ch stav na d lku m, aby mohly b t prov d ny p echody podle p edchoz ho bodu. Denujeme tedy pro ka d stav q 2 Q p vodn ho automatu, pro ka d z sobn kov symbol Z 2 ; 1 aka d z sobn kov slovo d lky ost e men ne m tento p echod: 1 ([q ] " Z)=f([q Z] ")g. Takto denovan automat M 1 spl uje podm nku v ty. 2 4.2 Stromy odvozen pro CFG V p t sti odhal me vztah bezkontextov ch gramatik a z sobn kov ch automat. Stromy odvozen bezkontextov ch gramatik jsou p knou ilustrac tohoto vztahu, proto je uvedeme na tomto m st. Denice 4.7 Nech G =(N P S) je bezkontextov gramatika. Strom T nazveme strom odvozen (deriva n strom) pro G, jestli e ka d uzel je ozna en n v t msymbolem z N [ n v t ko ene je S m -li uzel u n v t A a m -li alespo jednoho n sledn ka, pak A je netermin l jsou-li uzly u 1 ::: u k po ad n sledn ky uzlu u s n v t mi v po ad A 1 ::: A k an v t uzlu u je A, pak A! A 1 A k je pravidlem gramatiky G P klad 4.8 Nech G je gramatika: S! aas j a A! SbA j SS j a Potom n sleduj c strom je deriva n m stromem pro G:

4 Z SOBN KOV AUTOMATY 20 S a A S S b A a a V mn me si, e kdy se ad me listy tohoto stromu, dostaneme slovo aabaa, kter je v tou gramatiky G. a Denice 4.9 V sledkem deriva n ho stromu nazveme et z vznikl z et zen m jeho list zleva doprava. V ta 4.10 Nech G =(N P S) je bezkontextov gramatika. Pak pro ka d slovo " 6= 2 plat : S ) pr v tehdy, kdy existuje deriva n strom pro G s v sledkem. D kaz: (: indukc vzhledem k po tu nelistov ch uzl ve stromu. Nech tedy je v sledkem stromu. 1. Nech existuje ve stromu T jedin nelistov uzel. Mus to b t ko en s n n sledn ky A 1 ::: A n. Potom = A 1 A n, a podle denice deriva n ho stromu jes! A 1 A n. Celkem (S! ) 2 P. 2. P edpokl dejme, e pro v echny stromy s m n ne k uzly tvrzen plat. M jme nyn strom T s k uzly, jeho v sledkem je. Ozna me n sledn ky ko ene jako A 1 ::: A n. Op t podle denice deriva n ho stromumus b t S! A 1 A n pravidlem gramatiky G. Pro ka d symbol A i mohou nastat tyto mo nosti: (a) A i je nelist: Pak A i je netermin l a mus b t ko enem podstromu s m n ne k uzly a v sledkem i. Podle induk n ho p edpokladu plat : A ) i. (b) A i je list: Polo me nyn i = A i a plat : A i ) 0 i. Proto e z ejm plat = 1 n aodvodili jsme, e pro ka d i je A i ) i, existuje v gramatice G n sleduj c odvozen : tedy celkem A ). A ) A 1 A n ) 1 A 2 A n ) ) 1 n = ): d kaz lze v st analogicky. 2 4.3 Z sobn kov automaty a bezkontextov gramatiky Uk eme nyn, e mexi bezkontextov mi gramatikami a z sobn kov mi automaty existuje stejn vztah jako mezi regul rn mi gramatikami a kone n mi automaty. Lemma 4.11 O syntaktick anal ze shora dol Nech G =(N P S) je libovoln bezkontextov gramatika. Pak existuje z sobn kov automat R takov, e N(R) =L(G). D kaz: Nech automat R =(fqg N [ S ). P echodovou funkci zavedeme takto: je-li A! pravidlo gramatiky G, pak (q " A) 3 (q ). Nav c, pro ka d vstupn symbol a 2 je (q a a) =f(q ")g. Dok eme nyn, e N(R) =L(G). Chceme tedy odvodit tuto ekvivalenci: S ) w, (q w S) ` (q " ") (5) ): indukc vzhledem k po tu odvozen v gramatice G. Aby se dala indukce pou t, budeme vztah (5) dokazovat pro v echny netermin ly, a ne jen pro S.

4 Z SOBN KOV AUTOMATY 21 Indukc vzhledem k m dokazujeme, e pro ka d m existuje n tak, e pokud A ) m w pak (q w A) `n (q " "): (6) m =1: Nech w = a 1 a k. Proto e A ) 1 w,mus existovat pravidlo A! w v gramatice G. Potom podle pravidel pro p echodovou funkci dost v me: (q " A) 3 (q w). Je tedy v automatu R mo n tento v po et: (q a 1 a k A) ` (q a 1 a k a 1 a k ) `k (q " "): induk n krok: P edpokl dejme, e vztah (6) plat pro v echna l<m. M jme nyn odvozen A ) m w. Mus tedy existovat pravidlo A! x 1 x k, kter je v odvozen A ) m w pou ito jako prvn. Symboly x i mohou b t termin ly i netermin ly. Je-lix i termin ln symbol, pak polo me w i = x i.vtomto p pad plat : (q w i x i ) ` (q " "). Je-li x i netermin ln symbol, pak existuje odvozen x i ) mi w i,kdew i 2 je sou st slova w. Celkem dost v me, e x 1 x k ) w 1 w k = w. V me v ak, e m 1 ++m k <m, proto na v echnyodvozen x i ) mi w i lze pou t induk n p edpoklad. Existuje tedy v po et v R: (q w i x i ) `ni (q " "). Krom toho v me, e A! x 1 x k je pravidlo v G, proto (q " A) 3 (q x 1 x k ).Tedy (q w A) ` (q w 1 w k x 1 x k ).Uk zali jsme, e (q w i x i ) ` (q " ") pro ka d x i, a u je termin lem nebo netermin lem. Proto (q w 1 w k x 1 x k ) ` (q " "). (: op t indukc vzhledem k po tu odvozen v gramatice G.Pom eme si podobn, jako v p edchoz m d kazu obr cen implikace. Indukc vzhledem k n dokazujeme, e pro ka d n existuje m tak, e pokud (q w A) `n (q " ") pak A ) m w: (7) n =1: Mus b t w = ", atedya! " je pravidlem gramatiky G induk n krok: P edpokl dejme, e vztah (7) plat pro ka d l<n. M jme nyn v po et (q w A) `n (q " "). Vezm me jeho prvn krok: (q w A) ` (q w x 1 x k ). Mus tedy b t A! x 1 x k pravidlem gramatiky G. Rozlo me d le slovo w na sti w 1 w k tak, e (q w i x i ) ` (q " "). Bude tak bu x i = w i termin l, tedy x i ) 0 w i,nebox i ) ni w i podle induk n ho p edpokladu. Celkem dost v me odvozen A ) x 1 x k ) n1 w 1 x 2 x k ))w 1 w k = w: P klad 4.12 Uva ujme gramatiku G se startovn m netermin lem E a s n sleduj c mi pravidly: E! E + T j T T! T F j F F! i j (E) Podle p edchoz v ty se pokus me sestrojit automat R, kter bude rozezn vat jazyk L(G) pr zdn m z sobn kem. Nech tedy R =(fqg ; S ). V na em p pad je vstupn abeceda rovna =f+ i ( )g a z sobn kov abeceda ;=fe T Fg[. Funkce bude nab vat t chto hodnot: (q " E) = f(q E + T ) (q T)g (q " T ) = f(q T F ) (q F)g (q " F ) = f(q i) (q (E))g (q a a) = f(q ")g pro a 2 Obr zek 1 ukazuje, jak lze prov st odvozen slova w = i+ii v automatu R.Tomuto postupu se k syntaktick anal za shora dol. Vkongurac ch je vynech n stav q, proto e je v dy stejn. 2 Lemma 4.13 O syntaktick anal ze zdola nahoru Nech G =(N P S) je libovoln bezkontextov gramatika. Pak existuje roz en z sobn kov automat R takov, e T (R) =L(G).