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 Σ

Podobné dokumenty
Vlastnosti regulárních jazyků

Naproti tomu gramatika je vlastně soupis pravidel, jak

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

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

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

Minimalizace KA - Úvod

AUTOMATY A GRAMATIKY

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

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

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

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

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

Naproti tomu gramatika je vlastně soupis pravidel, jak

Lineární algebra : Lineární prostor

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

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

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

PŘEDNÁŠKA 2 POSLOUPNOSTI

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

Syntaxí řízený překlad

LIMITA A SPOJITOST FUNKCE

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

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

Množiny, základní číselné množiny, množinové operace

Teoretická informatika - Úkol č.1

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

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

Logické programy Deklarativní interpretace

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

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

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

Množiny, relace, zobrazení

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 α

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

Formální systém výrokové logiky

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

Modely Herbrandovské interpretace

Matematická analýza 1

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

Spojitost a limita funkce

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

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

1 Báze a dimenze vektorového prostoru 1

2. LIMITA A SPOJITOST FUNKCE

Teoretická informatika TIN 2013/2014

Základy teorie množin

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

Hypergrafové removal lemma a Szemérediho

METRICKÉ A NORMOVANÉ PROSTORY

10 Přednáška ze

3 Množiny, Relace a Funkce

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.

Doporučené příklady k Teorii množin, LS 2018/2019

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce

PŘEDNÁŠKA 7 Kongruence svazů

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.

Patří-li do množiny A právě prvky a, b, c, d, budeme zapisovat A = {a, b, c, d}.

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

Substituce. Petr Štěpánek. S využitím materialu Krysztofa R. Apta. Logické programování 2 1

Fuzzy množiny, Fuzzy inference system. Libor Žák

B i n á r n í r e l a c e. Patrik Kavecký, Radomír Hamřík

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

4 Pojem grafu, ve zkratce

Marie Duží

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

Teoretická informatika

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

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

Vztah jazyků Chomskeho hierarchie a jazyků TS

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

Riemannův určitý integrál

Teorie množin. pro fajnšmekry - TeMno. Lenka Macálková BR Solutions Orličky. Lenka (Brkos 2010) TeMno

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

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

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

Matice. a m1 a m2... a mn

Konečný automat Teorie programovacích jazyků

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

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

Pomocný text. Polynomy

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

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.

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

1 Lineární prostory a podprostory

Základy teorie množin

Definice. Necht M = (Q, T, δ, q 0, F ) je konečný automat. Dvojici (q, w) Q T nazveme konfigurací konečného automatu M.

Teoretická informatika

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

1 Základní pojmy. 1.1 Množiny

1 Množiny, výroky a číselné obory

množinu definujeme axiomaticky: nesnažíme se ji zkonstruovat (dokonce se ani nezabýváme otázkou,

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

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

Matematická logika. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík

Transkript:

Abecedou se rozumí libovolná konečná množina Σ. Prvky abecedy nazýváme znaky (symboly) Slovo (řetězec) v nad abecedou Σ je libovolná konečná posloupnost znaků této abecedy. Prázdné posloupnosti znaků odpovídá tzv. prázdné slovo, označované ε. Počet členů posloupnosti v značíme v a nazýváme délkou slova Počet výskytů znaků b ve slově v značíme # b (v) 2

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 Σ Jazyky nad Σ jsou tedy právě podmnožiny Σ * 3

Binární operace zřetězení, označována, která je definována předpisem u v = uv. Operace zřetězení je asociativní ε se chová jako jednotkový prvek Slovo u je podslovem slova v, jestliže existují slova x,y taková, že v = xuy. Pokud je x = ε, pak říkáme, že u je předponou (prefixem) slova v. Je-li y = ε, nazveme u příponou (sufixem) slova v. Unární operace i-té mocniny slova 4

Standardní množinové operace sjednocení, průnik a rozdíl Zřetězení i-tá mocnina Iterace a pozitivní iterace Doplněk Zrcadlový obraz 5

Konečný automat (Finite automaton - FA) M je pětice (Q, Σ, δ, q 0, F), kde Q je neprázdná konečná množina stavů Σ je konečná vstupní abeceda δ: Q x Σ Q je parciální přechodová funkce q 0 Q je počáteční stav F Q je množina koncových stavů 6

Zavedeme rozšířenou přechodovou funkci : Q x Σ * Q, definovanou induktivně vzhledem k délce slova ze Σ * : (q,ε) = q pro každý stav q (q,wa) = {δ ( (q,w),a) je-li (q,w) i δ( (q,w),a) definováno jinak Slovo w je akceptováno automatem M právě když (q 0,w) F. 7

Jazyk akceptovaný FA M, označovaný L(M), je tvořen právě všemi takovými slovy, pod kterými automat přejde z počátečního stavu do některého z koncových stavů: L(M) = {w Σ * (q 0,w) F} Jazyk, který je rozpoznatelný konečným automatem, se nazývá regulární. Konečné automaty M a M jsou ekvivalentní, pokud L(M) = L(M ). 8

Množinovou symbolikou: M = ({q 0,q 1,q 2 }, {a,b}, δ, q 0, {q 2 }), kde δ(q 0,a) = q 1 δ(q 0,b) = q 2 δ(q 1,a) = q 2 δ(q 1,b) = q 0 δ(q 2,a) = q 0 δ(q 2,b) = q 1 Nevýhodou této reprezentace konečného automatu je její nepřehlednost. 9

Tabulkou přechodové funkce: Pokud je pro některé dvojice přechodová funkce nedefinována, uvádí se v příslušném místě tabulky znak -. 10

Přechodovým grafem b q 0 a a q 1 b b q 2 a Nejpřehlednější a nejčastěji používaná varianta 11

Sestrojte automat rozpoznávající jazyk L = {w {a,b}* w obsahuje podslovo abaa} Označení stavů automatu zvolíme tak, aby bylo patrné, jaká část požadovaného podslova abaa již byla automatem přečtena. 12

Nechť L je regulární jazyk. Pak existuje n N takové, že libovolné slovo w L, jehož délka je alespoň n, lze psát ve tvaru w = xyz, kde xy n, y ε a xy i z L pro každé i N 0. (Číslo n se neformálně nazývá pumpovací konstanta.) 13

Pumping lemma (PL) je tvrzení tvaru implikace L je regulární ==> Q. Při dokazování, že L není regulární použijeme kontrapositivní formu PL, tj. Q ==> L není regulární, či ekvivalentně důkaz sporem: L je regulární ==> Q Λ Q. Platí tedy, že pomocí tohoto lemmatu lze dokázat, že nějaký jazyk není regulární. Nikoliv to, že jazyk regulární je!!! 14

Obecně tedy postupujeme tak, že ukážeme platnost Q, tj. že pro libovolné n N (pumpovací konstantu) vždy existuje takové slovo w L, které má délku alespoň n, a pro které platí, že při libovolném rozdělení slova w na takové tři části x, y, z, že xy n a y ε vždy existuje alespoň jedno i N 0 takové, že xy i z neleží v L. Pak z PL plyne, že L není regulární. 15

Dokažte, že L = {a p p je prvočíslo} nad abecedou {a} není regulární. Řešení: Pro dosažení sporu předpokládejme, že L je regulární. Buď n N libovolné. Jelikož prvočísel je nekonečně mnoho, existuje prvočíslo p, které je větší nebo rovno n. Zvolme w = a p patřící do L. Při jakémkoli rozdělení w na podslova x, y, z musí být y = a k, k 1. 16

Napumpujeme-li y p+1-krát, dostaneme: xy p+1 z = xyy p z = xyzy p = a p a kp = a p(k+1), což je jistě slovo, které nepatří do jazyka L, protože p(k+1) není prvočíslo dostáváme tedy spor s naším předpokladem, že L je regulární. Podle PL tedy L regulární není. 17

Dokažte, že jazyk L = {a i b i i N} nad abecedou {a,b} není regulární. Řešení: Buď n N libovolné. Slovo a n b n jistě patří do L. Pokud ho jakkoli rozdělíme na tři části x,y,z tak, že xy n a y 1, nutně x = a k, y = a l a z = a n-k-l b n, kde k+l n. Pak např. pro i = 2 dostáváme a k a 2l a n-k-l b n, což není součástí jazyka L, neboť k+2l+n-k-l = n+l n. Obdobně bychom ke sporu došli volbou i = 0. 18

Konstrukce minimálního automatu probíhá ve dvou krocích Eliminace nedosažitelných stavů konečného automatu Eliminace ekvivalentních stavů konečného automatu 19

Mějme konečný automat M = (Q, Σ, δ, q 0, F). Stav q Q nazveme dosažitelný, pokud existuje w Σ * takové, že (q 0,w) = q. Stav je nedosažitelný, pokud není dosažitelný. Teorie eliminace: Množinu dosažitelných stavů označíme Q. Označíme-li pro každé i N 0 symbolem S i množinu stavů, do kterých se lze z q 0 dostat cestou o délce nejvýše i, platí: Q = U S i i = 0 20

Dále pro každé i z N 0 platí, že S i Q a S i S i+1. Symbolem n označme počet prvků množiny Q. Existuje k n takové, že S k = S k+1. Z definice množin S i plyne, že pro každé j 0 platí S k = S k+j. Proto můžeme množinu Q všech dosažitelných stavů, vyjádřit jako: Q = US i = S i = 0 k Hledaný automat M je pak pětice ve tvaru: (Q, Σ, δ/q, q 0, F Q ), kde symbol δ/q značí zobrazení δ zúžené na Q. k 21

Nechť M = (Q, Σ, δ, q 0, F) je konečný automat bez nedosažitelných stavů. Pro každý stav q definujeme jazyk L(q) Σ * předpisem L(q) = {x Σ * (q,x) F} Stavy p,q nazveme jazykově ekvivalentní, psáno p q, pokud L(p) = L(q), tedy p q <==> x Σ * : ( (p,x) F <==> (q,x) F) 22

Mějme konečný automat M daný uvedenou tabulkou. Nejprve odstraníme nedosažitelné stavy a zúplníme přechodovou funkci. M a b 1 2-2 3 4 3 6 5 4 3 2 5 6 3 6 2-7 6 1 M a b 1 2 N 2 3 4 3 6 5 4 3 2 5 6 3 6 2 N N N N 23

Nyní přistupme ke konstrukci relací. Provedeme to tak, že sdružíme řádky odpovídající stavům stejné relace. 0 a b 1 a b 2 a b I 1 I I I 1 II I I 1 III II 2 II I N I I II N II II 4 II I II 2 III II III 2 IV III N I I 4 III II 4 IV III II 3 II II III 3 IV III IV 3 V IV 5 II II 5 IV III 5 V IV 6 I I IV 6 II I V 6 III II 24

Minimální automat pro jazyk L(M) vypadá takto: M/ a b I III II II II II III IV III IV V IV V III II 25

Nedeterministický konečný automat (NFA) je pětice M = (Q, Σ, δ, q 0, F), kde význam složek je stejný jako u automatu deterministického s výjimkou přechodové funkce δ. Ta je definována jako zobrazení δ: Q x Σ 2 Q. Rozšířená přechodová funkce : Q x Σ * 2 Q : (q,ε) = {q} (q,wa) = U p (q,w) δ(p,a) 26

Jazyk přijímaný NFA M je definován takto: L(M) = {w Σ * (q 0,w) F Ø} Nedeterministické konečné automaty M a M jsou ekvivalentní, pokud L(M) = L(M ). Nedeterminismus je velmi silný popisný aparát, který často umožňuje zachytit strukturu jazyka elegantním a přirozeným způsobem. Např. jazyk L = {w {a,b} * w obsahuje podslovo abba nebo bab} 27