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

Podobné dokumenty
Turingovy stroje. Teoretická informatika Tomáš Foltýnek

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

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

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 Σ

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

Vztah jazyků Chomskeho hierarchie a jazyků TS

Vlastnosti regulárních jazyků

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

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

AUTOMATY A GRAMATIKY

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

Syntaxí řízený překlad

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

Naproti tomu gramatika je vlastně soupis pravidel, jak

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

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.

Regulární výrazy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března / 20

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

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

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

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

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

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

Zásobníkový automat. SlovoaaaabbbbpatřídojazykaL={a i b i i 1} a a a a b b b b

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

Teoretická informatika TIN 2013/2014

Teoretická informatika - Úkol č.1

Teoretická informatika

ZÁKLADY TEORETICKÉ INFORMATIKY

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

2 Formální jazyky a gramatiky

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

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 α

Úvod do informatiky. Miroslav Kolařík

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA

Naproti tomu gramatika je vlastně soupis pravidel, jak

/1: Teoretická informatika(ti) přednáška 4

1 Báze a dimenze vektorového prostoru 1

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

ZÁPADOČESKÁ UNIVERZITA V PLZNI

Složitost Filip Hlásek

Učební texty k státní bakalářské zkoušce Programování Základy teoretické informatiky. študenti MFF 15. augusta 2008

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

Teoretická informatika

2. přednáška 8. října 2007

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

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

TURINGOVY STROJE. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

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

10 Funkce více proměnných

Univerzální Turingův stroj a Nedeterministický Turingův stroj

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 3. PREDNÁŠKA - KOMPAKTNÍ PROSTORY.

Jednoznačné a nejednoznačné gramatiky

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

Konečný automat Teorie programovacích jazyků

Minimalizace KA - Úvod

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

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

Bezkontextové gramatiky nad volnými grupami

Postův korespondenční problém. Meze rozhodnutelnosti 2 p.1/13

Regulární a bezkontextové jazyky I.

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

1) Sekvenční a paralelní gramatiky

METRICKÉ A NORMOVANÉ PROSTORY

1 Soustavy lineárních rovnic

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

Lineární algebra : Lineární prostor

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

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

Bezkontextové gramatiky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 6. května / 49

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

Texty k přednáškám z MMAN3: 3. Metrické prostory

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

Automaty a gramatiky

p 2 q , tj. 2q 2 = p 2. Tedy p 2 je sudé číslo, což ale znamená, že

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

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

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

Teoretická informatika průběh výuky v semestru 1

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

Základní pojmy matematické logiky

Limita posloupnosti, limita funkce, spojitost. May 26, 2018

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

Program SMP pro kombinované studium

(viztakéslidyktétopřednášce...) Poznámka. Neudělali jsme vše tak podrobně, jak je to v zápisu.

Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23

Automaty a gramatiky(bi-aag)

DEFINICE Z LINEÁRNÍ ALGEBRY

Teoretické základy informatiky I.

Teoretická informatika TIN

Fakulta informačních technologií. Teoretická informatika

Lineární algebra : Metrická geometrie

Matematická analýza 1

Marie Duží

1 Úvod. Formální jazyky a automaty, P. Savický, 6. leden

)(x 2 + 3x + 4),

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

Poznámka. Kezkoušcejemožnojítjenposplněnípožadavkůkzápočtu. Kromě čistého papíru a psacích potřeb není povoleno používat žádné další pomůcky.

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

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

Transkript:

Formální jazyky a automaty Petr Šimeček Úvod Formální jazyky a automaty jsou základním kamenem teoretické informatiky. Na počátku se zmíníme o Chomského klasifikaci gramatik, nástroje, který lze aplikovat třeba i v lingvistice či analýze gregoriánských chorálů. Hlavní oblastí našeho zájmu budou konečné automaty. Hádejte, kdo obstarává to,žepodseznamem,atlasem,altavistou... najdetevšetakrychle? Na závěr se zmíníme o Turingových strojích a dokážeme, že počítače nikdy nebudou předvídat budoucnost, ani nikdy nespočítají všechny možné reálné funkce. Jazyky Libovolná neprázdná množina V je abecedou. Její prvky nazýváme znaky nebo symboly. Slovem nad abecedou V myslíme konečnou posloupnost znaků z V, značíme w= a 1 a 2 a n. Délkaslova wjedélka wjakoposloupnosti,značíme w =n. Prázdnéslovo(posloupnostdélky0)značíme ε, ε =0.Symbolem V značíme množinuvšechslovnadabecedou V,symbolem V + množinu V {ε}. Jazykem L nad abecedou V rozumíme libovolnou(ne nutně konečnou!) množinuslov,tedy L V. Nechť u=a 1 a 2... a m, v= b 1 b 2... b njsouslovanad V.Definujmeoperaci zřetězení V V V tak,že uv= a 1 a 2... a mb 1 b 2... b n(napíšemeu,vzasebe). Gramatiky (Gramatika) Gramatika je čtveřice G =(N, Σ, P, S) s následujícím významem: Njemnožinaneterminálů,obvykleznačíme A,B,... 32

Petr Šimeček: Formální jazyky a automaty Σjemnožinaterminálů,obvykleznačíme a, b,...;platí N Σ=,dálezavedeme značení V = N Σ. P je množina pravidel(pravidlem rozumíme dvojici slov z nichž první obsahuje alespoň jeden neterminál, značíme α β). Sjestartovnísymbol, S N. Budeme nyní definovat odvození v G: vjednomkroku: u G v,pokudexistujepravidlo,které upřepíšena v. vevícekrocích:analogicky G. vevícekrocích,alevminimálnějednom: + G. Jazykgenerovanýgramatikou Gjemnožina L(G)={w Σ ; S G w}slov z terminálů odvoditelných z S. Gramatiky G 1 a G 2 jsouekvivalentní,pokud L(G 1 )=L(G 2 ). (Chomského hierarchie gramatik) Gramatika typu 0 je libovolná gramatika. Gramatika typu 1(kontextová) je gramatika, pro jejíž všechna pravidla α β platí α β. Gramatika typu 2(bezkontextová) je gramatika, jejíž všechna pravidla jsou tvaru A β,kde Ajeneterminál, β V +. Gramatika typu 3 (regulární) je gramatika, jejíž všechna pravidla jsou tvaru A β,kde Ajeneterminál, β V + jebuď anebo ab. Deterministické konečné automaty Konečnýautomat(KA) MnadabecedouΣjepětice(K,Σ,δ,q 0,F),kde K je konečná neprázdná množina stavů. ΣjeabecedaKA. δjepřechodováfunkce: K Σ K. q 0 je q 0 K,počátečnístav. Fje F K,množinakoncovýchstavů. Přechodovou funkci δ lze induktivně rozšířit na zobecněnou přechodovou funkci δ : K Σ Kpředpisem: δ (q, a):= δ(q, a)pro a Σ. δ (q, xa):= δ(δ (q, x), a)pro x Σ +, a Σ. Místo δ lzepsátpouze δ(nasymbolechserovnají). 33

Tříska 01 Slovo wjepřijímané(akceptované,rozpoznávané)ka,pokud δ(q 0, w) F. JazykrozpoznávanýKA Mjemnožina L(M)={w Σ ; wpřijímané M}. KA M 1 a M 2 jsouekvivalentní,pokud L(M 1 )=L(M 2 ). Lemma. (pumpovací) Nechť L je jazyk rozpoznávaný KA. Pak existuje číslo p takové,žekaždéslovo w L, w plzerozložittakto: w=xyz, y pavšechna w i = xy i zjsoutakézjazyka L. Nechť jeekvivalence,řekneme,že jepravákongruence,pokudzx yplyne xz yzprokaždoutrojici x, y, z. Index ekvivalence je počet tříd odpovídajícího rozkladu. Věta.(Nerodova) Následující tři tvrzení jsou ekvivalentní: Jazyk L Σ jeakceptovanýnějakýmka. Jazyk L je sjednocením některých tříd rozkladu pravé kongruence s konečným indexem. Nechť jedefinovanánaσ předpisem: x yprávětehdy,kdyžprokaždé r Σ platí xr L yr L.Paktaktodefinovaná mákonečnýindex. KA s nejmenším počtem stavů, který rozpoznává daný jazyk L, se nazývá minimální automat pro L. Věta. Minimální automat je dán jednoznačně až na izomorfismus. Poznámka. Minimálníautomatdostanemetak,žeodstraníme nedosažitelnéstavy a ztotožníme stavy ekvivalentní. Nedeterministické konečné automaty Místo KA budeme dále psát DKA, abychom odlišili od NKA. Nedeterministický konečný automat(nka) M nad abecedou Σ je pětice (K,Σ,δ,q 0,F),kde K je konečná neprázdná množina stavů. ΣjeabecedaKA. δjepřechodováfunkce: K Σ 2 K (Pozor!). q 0 je q 0 K,počátečnístav. Fje F K,množinakoncovýchstavů. 34

Petr Šimeček: Formální jazyky a automaty Přechodovou funkci δ lze opět induktivně rozšířit na zobecněnou přechodovoufunkci δ : K Σ Kpředpisem: δ (q, ε):= {q}. δ (q, xa):= p δ (q,x) δ(p,a)pro x Σ+, a Σ. NavícproNKArozšiřujemeobor δna2 K Σ : δ + (P, x)= p P δ (p,x). Slovo wjepřijímané(akceptované,rozpoznávané)nka,pokud δ(q 0, w) F. JazykrozpoznávanýNKA Mjemnožina L(M)={w Σ ; wpřijímané M}. NKA M 1 a M 2 jsouekvivalentní,pokud L(M 1 )=L(M 2 ). Věta. Nechť L je jazyk rozpoznávaný NKA. Potom existuje DKA, jenž rozpoznává L. Regulární gramatiky a KA Věta. Nechť G je regulární gramatika. Potom existuje KA M takový, že L(M) = L(G). Věta. Nechť M je konečný automat. Potom existuje gramatika G taková, že L(G) = L(M). Důsledek. Jazyk L je generovaný nějakou gramatikou G právě tehdy když existuje nějaký KA, který jej rozpoznává. Věta. Třída regulárních jazyků je uzavřená vzhledem k operaci (a) sjednocení. (b) doplňku. (c) průniku. (d) zřetězení. (e) uzávěru. Poznámka. Všechny konečné jazyky jsou zjevně regulární. 35

Tříska 01 Turingovy stroje Turingůvstroj (TS)jesystém T=(Q,Σ,Γ,ε,δ,q 0,F),kde Q je množina stavů. Σjevstupníabeceda,Σ Γ {ε}. Γ je pásková abeceda. εjeprázdnýsymbol(tzn.napáscenicnení), ε Γ. δjepřechodováfce Q Γ Q Γ {L, R}. q 0 jepočátečnístav. F je množina koncových stavů. Poznámka. Turingův stoj je systém s konečně stavovou řídící jednotkou a pamětí ve formě pásky rozdělené na políčka. Na políčku může být zapsán symbol jisté abecedy nebomůžebýtprázdné.páskajealespoňvjednomsměrunekonečná.tsvkaždém krokuzměníobsahpolíčkanakterémje,posunesedolevačidopravaapřípadně změnísvůjstav.změnyzávisínastavuaobsahupolíčka,nakterémsetsnachází. Věta.(Turingova) Problém zastavení Turingova stroje je nerozhodnutelný. Literatura Křetínský a kol., Formální jazyky a automaty I,II(k dostání na FI MU, knihkupectví umarečka). www.fi.muni.cz/zkusto zápisky studentů z FI MU. Chytil, Automaty a gramatiky. 36