Základy teoretické informatiky Formální jazyky a automaty
|
|
- Jindřich Kubíček
- před 5 lety
- Počet zobrazení:
Transkript
1 Základy teoretické informatiky Formální jazyky a automaty Petr Osička KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI
2 Outline Literatura Obsah J.E. Hopcroft, R. Motwani, J.D. Ullman Introduction to Automata Theory, Languages, and Computation, 2nd ed. Addison-Wesley, 2 P. Martinek Základy teoretické informatiky. Elektronická skripta M. Sipser Introduction to the Theory of Computation PWS Publishing Company, 997 Formální jazyky a automaty (3 přednášky) 2 Vyčíslitelnost a složitost (2 přednášky) Osička (Univerzita Palackého v Olomouci) YZTI LS 25 / 43
3 Gramatiky Definice Abeceda je konečná neprázdná množina. Její prvky označujeme jako symboly. Řetěz (slovo) nad abecedou je posloupnost symbolů z této abecedy. Počet symbolů v řetezu označujeme jako délku řetezu, značíme pomocí. Souvislou podposloupnost řetězu označujeme jako podřetěz. Řetěz s délkou (neobsahuje žádné symboly) je prázdný řetěz značený ϵ. Spojením řetězů x = x x 2... x n a y = y y 2... y m je řetez xy = x x 2... x n y y 2... y m. Jazyk nad abecedou je množina řetězů nad touto abecedou. Jazyk všech řetezů nad abecedou Σ značíme Σ Příklad Abeceda Σ = {a, b, c, d}. Řetěz x = abbbcd. Pak x = 6, dcaa není podřetězem x, bc je podřetězem x. Spojením ababa a cdcdd je ababacdcdd. Osička (Univerzita Palackého v Olomouci) YZTI LS 25 2 / 43
4 Gramatika množina pravidel pro odvozování řetězů Definice Gramatika je čtveřice (N, Σ, P, S), kde N je abeceda neterminálních symbolů (proměnných). Σ je abeceda terminálních symbolů. Platí, že N Σ =. P je množina odvozovacích pravidel. Odvozovací pravidlo je uspořádaná dvojice řetězců (α, β) nad abecedou Σ N, přičemž α obsahuje alespoň jeden neterminální symbol. Pro přehlednost pravidla značíme α β. P musí obsahovat alespoň jedno pravidlo, kde α = S. S je neterminální symbol, který označujeme jako startovací. Definice Nechť x, y jsou řetezy nad abecedou N Σ. Řekneme, že y přímo odvodíme (přímo derivujeme) z x, značeno x y, když existuje pravidlo α β P takové, že α je podřetězem x y dostaneme tak, že právě jeden podřetěz α v x nahradíme řetězem β. Osička (Univerzita Palackého v Olomouci) YZTI LS 25 3 / 43
5 Definice (pokračování) Řetěz y odvodíme (derivujeme) z x, značeno x + y, když existuje posloupnost řetězů z, z 2,..., z n taková, že z = x, z n = y, z i z i+ pro všechna přípustná i. x y právě když x + y nebo x = y. Definice Jazykem generovaným gramatikou G = (N, Σ, P, S) je množina L(G) = {w Σ S w} Osička (Univerzita Palackého v Olomouci) YZTI LS 25 4 / 43
6 Příklad (Gramatiky a odvozování) Σ = {+,, a, b, (, )}, N = {S, I}, Pravidla: S I S + S S S (S) I ai bi a b Odvození: S S S S (S) S (S + S) I (S + S) a (S + S) a (I + S) a (ai + S) a (ab + S) a (ab + I) a (ab + b) počáteční symbol S S S S (S) S S + S S I I a S I I ai I b S I I b Poznámka Zápis více pravidel se stejnou levou stranou zkracujeme tak, že je napíšeme na pravou stranu prvního z pravidel oddělené znakem ' ' (přitom ovšem ' ' nesmí patřit do žádné z abeced). Neterminály se většinou značí velkými písmeny (nebo speciálními řetězci), terminály malými písmeny, příp. spec znaky. Počáteční symbol je znak S. Gramatiky pak lze specifikovat pouze pravidly (abecedy jsou pak tvořeny příslušnými znaky v pravidlech) Osička (Univerzita Palackého v Olomouci) YZTI LS 25 5 / 43
7 Chomského hierarchie gramatik Typ gramatiky podle obecné definice Kontextově závislá gramatika (typ ) pravidla ve tvaru γ Aγ 2 γ βγ 2, kde γ, γ 2, β jsou řetězy nad Σ N, β ϵ a A N. Bezkontextová gramatika (typ 2) pravidla ve tvaru A β, kde β je řetěz nad Σ N, β ϵ, A N. Regulární gramatika (typ 3) pravidla ve tvaru A β, kde A N, β je buď terminální symbol nebo řetěz ab, kde a je terminál a B je neterminál. U gramatik typů až 3 připoušíme pravidlo S ϵ, pokud se S nevyskytuje na pravé straně žádného pravidla. Osička (Univerzita Palackého v Olomouci) YZTI LS 25 6 / 43
8 Jazyky generované gramatikami přebírají názvy těchto gramatik, hovoříte tedy o kontextově závislých, bezkontextových a regulárních jazycích (jazycích typu,,2,3). Věta Pro i =, 2, 3 platí Každá gramatika typu i je i gramatikou typu i. 2 Každý jazyk typu i je i jazykem typu i. Věta Pro i =,, 2 existuje jazyk typu i, který není jazykem typu i +. Poznámka U bezkontextových jazyků můžeme připustit i pravidla typu N ϵ pro obecný neterminál N. V tom případě by první věta na tomto slajdu neplatila. Nicméně druhá věta by pořád platila. Gramatiku, které obsahuje pravidla typu N ϵ lze převést na bezkontextovou gramatiku podle původní definice. Osička (Univerzita Palackého v Olomouci) YZTI LS 25 7 / 43
9 Příklad (Typy gramatik) Kontextově závislá gramatika S abc asbc CB WB, WB WC, WC BC, bb bb cc cc bc bc Př: S asbc aabcbc aabbcc aabbcc aabbcc aabbcc Bezkontextová gramatika S I S + S S S (S) I ai ai a b Regulární gramatika S P 2P 3P... 9P P... 9 P... 9P, R R... 9 R... 9R Př.: S P 2P 2, R 2, 3R 2, 32 Osička (Univerzita Palackého v Olomouci) YZTI LS 25 8 / 43
10 Konečné automaty Definice (Deterministický) konečný automat (DKA) je pětice (Q, Σ, δ, q, F), kde Q je konečná množina stavů Σ je vstupní abeceda δ je přechodová funkce s definičním oborem Q Σ a oborem hodnot Q q Q je počáteční stav F Q je množina koncových stavů. Stavový diagram = grafické znázornění konečného automatu pomocí orientovaného grafu pro každý stav z množiny Q jeden uzel, koncové stavy označíme dvojitou čarou (případně jinak, např. barvou), počáteční uzel označíme pomocí slova start a šipky. pokud δ(q, a) = q 2 přidáme orientovanou hranu ze stavu q do stavu q 2, kterou popíšeme pomocí a. Osička (Univerzita Palackého v Olomouci) YZTI LS 25 9 / 43
11 Příklad (Konečný automat) q start q q 2, Vidíme, že Q = {q, q, q 2 }, Σ = {, }, F = {q 2 }, počáteční stav je q a δ je dána δ q q q q q q 2 q 2 q 2 q 2 Dohoda o mrtvém stavu: Funkce δ je úplná. Při popisu větších automatů občas můžeme specifikovat δ jako neúplnou. Předpokládáme existenci speciálního stavu (mrtvý stav), který je výsledkem aplikace δ na argumenty, pro které není výsledek specifikován. Mrtvý stav není koncový. Osička (Univerzita Palackého v Olomouci) YZTI LS 25 / 43
12 Výpočet konečného automatu inicializace: na vstupu máme řetěz w, automat je v počátečním stavu q obecný krok: q je aktuální stav, a je první znak řetezu na vstupu. Automat přejde do stavu δ(q, a) a odebere a z řetezce konec: výpočet končí v momentě, kdy je řetez na vstupu prázdný. Pokud je aktuální stav koncový, automat přijímá. Definice Rozšířená přechodová funkce je funkce ^δ : Q Σ Q definovaná ^δ(q, ϵ) = q pro řetěz w = xa, kde a Σ a x Σ máme ^δ(q, w) = δ(^δ(q, x), a) Jazyk přijímaný konečným automatem A = (Q, Σ, δ, q, F) je L(A) = {w Σ ^δ(q, w) F} Osička (Univerzita Palackého v Olomouci) YZTI LS 25 / 43
13 Příklad (Výpočet deterministického automatu) Konfigurace je dvojice q, w, kde q je aktuální stav a w je nepřečtený řetez. Automat při výpočtu přejde (v několika krocích) z q, w do q i, ϵ. Pokud je q i koncový, automat přijímá. q start q q 2, Pro vstupní řetěz projde automat konfiguracemi q, q, q, q, q 2, q 2, q 2, ϵ a přijímá. Vídíme například, že ^δ(q, ) = q, ^δ(q, ) = q 2. Automat přijímá všech řetězy, které obsahují jako podřetěz. Osička (Univerzita Palackého v Olomouci) YZTI LS 25 2 / 43
14 Definition Nedeterministický konečný automat (NKA) je pětice (Q, Σ, δ, q, F), kde Q je konečná množina stavů Σ je vstupní abeceda δ je přechodová funkce s definičním oborem Q Σ a oborem hodnot 2 Q q Q je počáteční stav F Q je množina koncových stavů. Definice Rozšířená přechodová funkce je funkce ^δ : Q Σ 2 Q definovaná ^δ(q, ϵ) = {q} pro řetěz w = xa, kde a Σ a x Σ máme ^δ(q, w) = q ^δ(q,x) δ(q, a) Jazyk přijímaný nedeterministickým konečným automatem A = (Q, Σ, δ, q, F) je L(A) = {w Σ ^δ(q, w) F } Osička (Univerzita Palackého v Olomouci) YZTI LS 25 3 / 43
15 Příklad (Nedeterministický automat), q start q q 2 Vidíme, že Q = {q, q, q 2 }, Σ = {, }, F = {q 2 }, počáteční stav je q a δ je dána δ q {q, q } {q } q {q 2 } q 2 Např. ^δ(q, ) = {q, q }, ^δ(q, ) = {q, q }, ^δ(q, ) = {q, q 2 }. Konfigurace ted netvoří seznam, ale strom. Osička (Univerzita Palackého v Olomouci) YZTI LS 25 4 / 43
16 Příklad (Nedeterministický automat), q start q q 2 První dvě urovně stromu konfigurací (hrany označeny čtenými symboly) q q q q q q q q 2 q q q Osička (Univerzita Palackého v Olomouci) YZTI LS 25 5 / 43
17 Věta Ke každému DKA A existuje NKA B tak, že L(A) = L(B). 2 Ke každému NKA B existuje DKA A tak, že L(A) = L(B). Důkaz. K DKA A = (Q, Σ, δ A, q, F) sestavíme NKA B = (Q, Σ, δ B, q, F) tak, že vezmeme δ B (q, a) = {q } právě když δ A (q, a) = q. Pak platí, že ^δ B (q, w) = {^δ A (q, w)}, a tedy L(A) = L(B). 2 K NKA B = (Q B, Σ, δ B, q, F B ) sestavíme DKA A = (Q A, Σ, δ A, {q }, F A ) tak, že vezmeme Q A = 2 Q B S Q B, S F B právě když S F B pro S Q B a a Σ definujeme δ A (S, a) = q S δ B(q, a). Z Q A lze vynechat izolované stavy, tj. stavy, do kterých se A nikdy nemůže dostat. Nyní ukážeme, že ^δ A ({q }, w) = ^δ B (q, w) pro každý řetez w nad Σ. Odtud pak plyne, že L(A) = L(B). Osička (Univerzita Palackého v Olomouci) YZTI LS 25 6 / 43
18 pokračování. Důkaz provedeme indukcí přes délku řetezu w. Pro w = ϵ plyne tvrzení přímo z definic. Máme totiž ^δ A ({q }, ϵ) = ^δ B (q, ϵ) = {q }. Nechť w = xa, kde a Σ a x je řetěz nad Σ. Předpokládejme, že platí ^δ A ({q }, x) = ^δ B (q, x) = K. Potom z definice rozšířené přechodové funkce a z konstrukce δ A plyne ^δ A ({q }, w) = δ A (^δ A ({q }, x), a) = q K δ B (q, a), ^δ B (q, w) = q ^δ B (q,x) δ B (q, a) = q K δ B (q, a). Osička (Univerzita Palackého v Olomouci) YZTI LS 25 7 / 43
19 Příklad (Převod NKA na DKA), q start q q 2 {q, q } start {q } {q, q 2 } Osička (Univerzita Palackého v Olomouci) YZTI LS 25 8 / 43
20 Věta Ke každé regulární gramatice G existuje NKA A takový, že L(G) = L(A). Důkaz. Ke gramatice G = (N, Σ, P, S) sestavíme NKA A = (Q, Σ, δ, q, F), kde Q = N {M}, kde M je nově dodaný symbol q = S { {M, S} pokud S ϵ P F = {M} jinak δ(b, a) = {C B ac P} {M B a P} Pokud gramatika obsahuje pravidlo S ϵ, pak q je koncový stav a tedy A přijímá ϵ. Nechť w = a a 2... a k. Potom S w právě když existují pravidla S a B, B a 2 B 2,, B k a k. Tato pravidla existují právě když B δ(q, a ), B 2 δ(b, a),, M δ(b k, a k ). A tedy M ^δ(q, w). Osička (Univerzita Palackého v Olomouci) YZTI LS 25 9 / 43
21 Věta Ke každému NKA A existuje regulární gramatika G taková, že L(M) = L(G). Důkaz. K NKA A = (Q, Σ, δ, q, F) sestavíme gramatiku G = (N, Σ, P, S), kde N = Q S = q P = {B ac C δ(b, a)} {B a δ(b, a) F } {S ϵ pokud S F} Důkaz ekvivalence jazyků je analogický druhé části důkazu předchozí věty (ekvivalence uvažujeme v opačném směru). Gramatika G nemusí být nutně regulární. Může se stát, že obsahuje pravidlo S ϵ a S se vyskytuje na pravé straně nějakého pravidla. G lze ovšem převést na regulární gramatiku následovně: Přidáme nový počáteční neterminál S. Pro každé pravidlo S α přidáme pravidlo S α. Odstraníme pravidlo S ϵ. Ke každému pravidlu B as přidáme pravidlo B a. Důkaz toho, že nová gramatika generuje ekvivalentní jazyk s G je ponechán jako cvičení. Osička (Univerzita Palackého v Olomouci) YZTI LS 25 2 / 43
22 Příklad (Převod gramatiky na automat) Gramatika: S P 2P 3P... 9P P... 9 P... 9P, R R... 9 R... 9R Automat:,..., 9,..., 9, start S P R,..., 9,..., 9,..., 9 M Osička (Univerzita Palackého v Olomouci) YZTI LS 25 2 / 43
23 Příklad (Převod automatu na gramatiku) Automat q start q q 2 Gramatika: q q q q Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
24 Definice Automat s ϵ přechody (ϵ-nka) je nedeterministický konečný automat s přechodovou funkcí rozšířenou o ϵ přechody, tj δ : Q (Σ {ϵ}) 2 Q. Přechod δ(q, ϵ) = {q, q 2,... } značí, že automat může přejít ze stavu q do některého ze stavů q, q 2,... a nepřečíst přitom znak ze vstupu. Definice ϵ-uzávěr stavu q, ozn Enclose(q) je definován: q Enclose(q), pokud je p Enclose(q), pak Enclose(q) obsahuje všechny stavy z množiny δ(p, ϵ). Definice Rozšířená přechodová funkce ϵ-nka je dána: ^δ(q, ϵ) = Enclose(q) Pro w = xa, kde a je symbol a x je řetěz: Vezmeme množinu K = p ^δ(q,x) δ(p, a) a uzavřeme ji. Tedy ^δ(q, w) = p K Enclose(p). Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
25 Příklad (Automat s ϵ přechody),..., 9,..., 9 ϵ, +, start q q, q,..., 9 2 q ϵ 3 q 5,..., 9, q 4 Automat přijímá desetinná čísla, s volitelným znaménkem. Buď před desetinnou čárkou nebo za desetinnou čárkou musí být neprázdný řetěz číslic. Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
26 Věta Ke každému DKA A existuje ϵ-nka B tak, že L(A) = L(B). 2 Ke každému ϵ-nka B existuje DKA A tak, že L(A) = L(B). Důkaz. Upravíme konstrukci NKA B z předchozího důkazu (věta o stejné výpočetní síle DKA a NKA) tak, že přechodovou funkci rozšíříme o δ B (q, ϵ) = pro každý stav q. Pro každý stav q pak platí, že Enclose(q) = {q} a z definice rozšířené přechodové funkce automatu B pak plyne, že L(A) = L(B). 2 K NKA B = (Q, Σ, δ B, q, F) sestavíme DKA A = (Q A, Σ, δ A, q A, F A ) tak, že vezmeme Q A = 2 Q B q A = Enclose(q ) pro S Q B platí: S F B právě když S F B pro S Q B a a Σ sestavíme množinu K = q S δ B(q, a) a poté vezmeme ^δ A (S, a) = q K Enclose(q). Z Q A lze vynechat izolované stavy, tj. stavy, do kterých se A nikdy nemůže dostat. Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
27 pokračování. Indukcí přes délku řetezu w dokážeme, že ^δ B (q, w) = ^δ A (q A, w). Pokud w = ϵ, pak ^δ B (q ) = Enclose(q ) a ^δ A (q A, ϵ) = q A = Enclose(q ). Nechť w = xa pro řetěz x a symbol a. Předp. že ^δ B (q, x) = ^δ A (q A, x) = K. Pak si všimneme, že přechodová funkce automatu A, je zkonstruována stejně, jako rozšířená přechodová funkce automatu B, tedy že ^δ A (q A, w) = δ A (K, a) = q K Enclose(q) = q ^δ B (q,x) Enclose(q) = ^δ B (q, w). Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
28 Příklad (Převod ϵ-nka na DKA) Automat, který obdržíme převodem automatu z předchozího příkladu. Vynechán mrtvý stav.,..., 9,..., 9,..., 9 +,,..., 9, start {q, q } {q } {q, q 4 } {q 2, q 3, q 5 },,,..., 9 {q 2 } {q 3, q 5 },..., 9 Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
29 Uzávěrové vlastnosti regulárních jazyků Regulární jazyky jsou uzavřeny na operaci, pokud aplikací operace na regulární jazyky dostaneme opět regulární jazyk. Definice Zřetezením jazyků L a M je jazyk LM = {xy x L, y M}. Pro i =, 2, 3... definujeme jazyk L i následovně: L = L L i = L i L Pozitivním uzávěrem jazyka L je jazyk L + = j= L j. Uzávěrem jazyka L je jazyk L = L + {ϵ} Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
30 Věta Regulární jazyky jsou uzavřeny na následující operace: sjednocení 2 doplněk 3 průnik 4 rozdíl 5 zřetězení 6 pozitivní uzávěr, uzávěr Důkaz. Uvedeme jenom kostry důkazů. Uvažme jazyk L přijímaný DKA A L a jazyk M přijímaný DKA A M. Pak ϵ-nka, který získáme vytvořením nového počátečního stavu, a přidáním ϵ přechodů z tohoto nového stavu do počátečních stavů automatů A L a A M, přijímá L M. Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
31 pokračování. 2 Automat, který přijímá doplněk jazyka L (doplněk L značíme L) získáme tak, že v automatu A L = (Q, Σ, δ, q, F), který přijímá L, nastavíme množinu koncových stavů na Q F. 3 Plyne z předhozího, protože L M = L M. 4 Plyne z předchozího, protože L M = L M. 5 Uvažme jazyk L přijímaný DKA A L a jazyk M přijímaný DKA A M. ϵ-nka, který obdržíme přidáním ϵ přechodů z koncových stavů A L do počátečního stavu automatu A M, přijímá jazyk LM, pokud jako jeho koncové stavy ponecháme pouze koncové stavy automatu A M. 6 Uvažme jazyk L přijímaný NKA A L. Pak ϵ-nka, který získáme přidáním nového počátečního stavu q, přidáním nového koncového stavu q f, přidáním ϵ přechodů ze všech koncových stavů automatu A L do počátečního stavu automatu A L, ϵ přechodu ze stavu q do počátečního stavu automatu A L, ϵ přechodu ze všech koncových stavů A L do q f, a ϵ přechodu z q do q f, přijímá jazyk L (jediný koncový stav je nyní q f ). Pokud při konstrukci vynecháme přechod z q do q f, přijímá automat L +. Osička (Univerzita Palackého v Olomouci) YZTI LS 25 3 / 43
32 Regulární výrazy Definition Nechť Σ je abeceda neobsahující symboly ϵ,, +,,, (, ). Regulární výraz na abecedou Σ je definován induktivně jako:, ϵ, a pro a Σ jsou regulární výrazy, pokud jsou R a R 2 regulární výrazy, pak i (R + R 2 ), (R R 2 ), (R ) jsou regulární výrazy. Definice Regulární výraz R nad abecedou Σ indukuje jazyk L(R) nad touto abecedou, který je definován: pokud R =, pak L(R) =. Pokud R = ϵ, pak L(R) = {ϵ}. Pokud R = a, kde a Σ, pak L(R) = {a}. Nechť R a R 2 jsou regulární výrazy. Potom L((R + R 2 )) = L(R ) L(R 2 ), L((R R 2 )) = L(R )L(R 2 ), L((R ) ) = L(R ). Osička (Univerzita Palackého v Olomouci) YZTI LS 25 3 / 43
33 Věta Jazyk generovaný regulárním výrazem je regulární. 2 Ke každému regulárnímu jazyku existuje regulární výraz, který ho indukuje. Důkaz., {ϵ}, {a} pro a Σ jsou regulární jazyky. Zbytek tvrzení plyne z toho, že regulární jazyky jsou uzavřeny na sjednocení, průnik a uzávěr. 2 Vynechán. Volitelná četba převod regulárního výrazu na automat převod automatu na regulární výraz Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
34 Příklad (Regulární výrazy a jejich jazyky) Abychom mohli vynechat některé závorky, určíme prioritu symbolů, má přednost před, které má přednost před +. Symbol se někdy vynechává. Σ = {a, b} R = a, L(R) = {a} R = ab, L(R) = {ab} R = a(a + b), L(R) = {aa, ab} R = a (a + b), L(R) = {a, b, aa, ab, aaa, aab,... } R = (a + b) a(a + b), L(R) = {w Σ w obsahuje symbol a} R = ϵ + a + b, L(R) = {ϵ, a} {b n n N} Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
35 Minimalizace DKA Definice Řekneme, že stavy q a p v DKA jsou ekvivalentní když platí: Pro všechny řetězy w platí, že ^δ(p, w) je koncový stav, právě když ^δ(q, w) je koncový stav. Stavy, které nejsou ekvivalentní, označujeme jako rozlišitelné. DKA A a DKA B jsou ekvivalentní, právě když přijímají stejný jazyk. Věta DKA A a DKA B jsou ekvivalentní právě když jejich počáteční stavy jsou ekvivalentní. Poznámka Pokud A a B pracují nad stejnou abecedou, lze mluvit o ekvivalenci stavu z automatu A se stavem z automatu B (je nutné použít přechodovou funkci ze správného automatu!) Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
36 Minimalizace DKA Věta Relace mezi stavy R = { p, q p a q jsou ekvivalentní} je ekvivalence. Důkaz. Reflexivita a symetrie plynou přímo z definice. Ověříme tranzitivitu. Sporem. Předpokládejme, že p, q R a q, r R a současně p, r / R. Potom existuje řetěz w takový, že právě jeden ze stavů ^δ(p, w) a ^δ(r, w) je koncový. Pokud je ^δ(q, w) koncový, pak z p, q R plyne, že že ^δ(p, w) je koncový a ^δ(r, w) není koncový. Tedy q, r / R, což je spor. Pokud ^δ(q, w) není koncový, pak z q, r R plyne, že ^δ(r, w) není koncový a tedy ^δ(p, w) je koncový. Pak ale p, q / R, což je spor. Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
37 Algoritmus pro nalezení dvojic rozlišitelných stavů (table-filling algoritmus): Vstupem algoritmu je DKA A, výstupem je seznam všech dvojic rozlišitelných stavů v A. všechny dvojice stavů označíme jako nerozlišitelné 2 Pokud q je koncový stav a p není koncový stav, je dvojice p, q rozlišitelná. 3 Nechť p a q jsou stavy, pro které existuje symbol a takový, že δ(p, a) = s a δ(q, a) = r, a s, r jsou již označeny za rozlišitelné. Pak jsou p a q rozlišitelné. 4 Opakujeme předchozí bod, dokud lze najít rozlišitelný pár stavů. Poznámka krok 3 algoritmu lze provádět po kolech. V každém kole hledáme dvojice stavů p, q takové, že existuje symbol a takový, že stavy δ(p, a) a δ(q, a) byly označeny jako rozlišitelné v minulém kole. Prvním kolem je krok 2. algoritmus tedy vlastně hledá pro každou dvojici p, q řetěz w, který je rozlišuje (tedy právě jeden ze stavů ^δ(p, w) a ^δ(q, w) je koncový). V kroku 2 je w = ϵ, v každém kole se pak w prodlužuje o jeden symbol (připojený na začátek!) Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
38 Příklad start A B C D E F G H A B C D E F G B C D E F G H Pomocí označíme dvojice stavů, z nichž jeden je koncový (tedy C) a druhý není 2 Pomoci označíme dvojice stavů p, q takové, že právě jeden ze stavů δ(p, ), δ(q, ) nebo právě jeden ze stavů δ(p, ), δ(q, ) je C. Protože C je rozlišitelný od každého stavu, jsou i p, q rozlišitelné. 3 Pomocí označíme dvojice stavů p, q takové, že alespoň jedna z dvojic stavů δ(p, ), δ(q, ) a δ(p, ), δ(q, ) byla v minulém kole označena pomocí. Protože tato dvojice je rozlišitelná, jsou rozlišitelné i p, q. V dalším kole již nerozlišitelné stavy nenajdeme. Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
39 Věta Pokud table-filling algoritmus neoznačí dvojici stavů jako rozlišitelnou, pak jsou tyto stavy ekvivalentní. Důkaz. Sporem. Předpokládejme, že tvrzeni neplati, tj. existuje dvojice rozlišitelných stavů (p, q), které algoritmus jako rozlišitelné neoznačil (dvojici říkáme bad pair). Jistě existuje řetěz w = a a 2... a n takový, že právě jeden ze stavů ^δ(p, w) a ^δ(q, w) je koncový. Předpokládejme, že (p, q) je bad pair s nejkratším takovým w (mezi všemi bad pairy). Stavy r = δ(p, a ) a s = δ(q, a ) jsou rozlišitelné řetezem a 2 a 3... a n. Tento řetěz je ale kratší než w a tedy (r, s) není bad pair (algoritmus je správně označil jako rozlišitelné). Z indukčního kroku algoritmu pak ale plyne, že p, q označí jako rozlišitelné. To je spor s předpokladem. Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
40 Minimalizace DKA = nalezení ekvivalentního DKA s minimálním počtem stavů. Algoritmus pro minimalizaci DKA A (výsledkem je DKA B) Z automatu A odstraníme nedosažitelné stavy (např. průchodem do šírky, pokud si automat představíme jako orientovaný graf). 2 Pomocí table-filling algoritmu nalezneme relaci ekvivalence na množině stavů automatu A. 3 Nalezneme rozklad množiny stavů automatu A na třídy. Tento rozklad je množinou stavů automatu B. 4 Nechť T, S jsou třídy rozkladu. Potom přechodovou funkci automatu B nastavíme na δ B (T, a) = S, právě když pro každý stav q T platí, že δ A (q, a) S. 5 Počátečním stavem automatu B je třída rozkladu, která obsahuje počáteční stav automatu A. 6 Množina koncových stavů automatu B je tvořena třídami rozkladu, které obsahují jenom koncové stavy automatu A. Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
41 Věta Uvažme DKA A a DKA M, který je ekvivalentní s A a má minimální počet stavů. Pak automat B, který obdržíme z automatu A algoritmem z předchozího slajdu má stejný počet stavů jako M. Důkaz. Všimněme si, že A,B,M přijímají stejný jazyk. B a M navíc neobsahují nedosažitelné stavy. Předpokládejme, že množiny stavů automatů M a B jsou disjuktní. Spustíme algoritmus table-filling na oba automaty M a B současně (a tedy zjištujeme i ekvivalenci stavů z různých automatů). Počáteční stavy obou automatů jsou ekvivalentní (protože přijímají stejný jazyk). Každý ze stavů automatu B je ekvivalentní alespoň jednomu stavu automatu M. Protože pro řetěz w, stav q, do kterého se B dostane po přečtení w, a stav p, do kterého se M dostane po přečtení w platí, že p a q jsou ekvivalentní (jinak by počáteční stavy B a M byly rozlišitelné pomocí w). Uvažme stav q automatu M a množinu K alespoň dvou stavů automatu B takovou, že všechny její prvky jsou ekvivalentní s q. Pak jsou ale i prvky K vzájemně ekvivalentní. Ovšem B nemůže obsahovat nerozlišitelné stavy a tedy ke každému stavu automatu B existuje právě jeden ekvivalentní stav automatu N. Osička (Univerzita Palackého v Olomouci) YZTI LS 25 4 / 43
42 Příklad start A B C D E F G H start {A, E} {B, H} {C} {F} {G} Jediný nedosažitelný stav je D. Pomocí ekvivalence získané table-filling algoritmem získáme rozklad {{A, E}, {B, H}, {C}, {F}, {G}}. Přechody doplníme podle definice. Počáteční stav je {A, E}, koncový stav je {C}. Osička (Univerzita Palackého v Olomouci) YZTI LS 25 4 / 43
43 Pumping lemma Lemma (pumping lemma pro regulární jazyky) Pro každý regulární jazyk L existuje konstanta n tak, že pro každý řetez w L od délce alespoň n lze rozdělit na tři podřetězy w = xyz tak, že y ϵ xy n pro každé k patří xy k z do L Důkaz. Jazyk L je přijímán DKA A, za číslo n vezmeme počet jeho stavů. Uvažme řetěz w = a a 2... a s z L délky alepoň n. Pro i =,,..., n definujume stavy p i = ^δ(q, a... a i ), p = q. Při přijetí w projde A všemi s n + stavy p i, ale A má jenom n stavů, tudíž musí jeden stav navštívit vícekrát. Tzn. existují čísla l < m n taková, že p l = p m (m n protože první stav, který se zopakuje je nejhůře p n, v tomto případě pokrývají p,..., p n všech n stavů automatu). Nyní můžeme w rozdělit na x = a... a l, y = a l+..., a m a z = a m+... a s. První podmínka je zjevně splněna. Druhá podmínka je také splněna, protože stav m n. Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
44 pokračování. Po zpracování x se A dostane do stavu p l, poté k krát zpracuje y (po každém zpracování se dostane opět od p l ). Poté zpracuje z a dostane se z p l do koncového stavu. O jazyce můžeme dokázat, že není regulární, tak, že ukážeme, že pro něj neplatí pumping lemma. Příklad Tvrzení: Jazyk L = { n n n N} není regulární. Uvažme libovolnou přirozenou konstantu m. Pak můžeme vzít řetez w = m m. Chceme najít x, y, z tak, aby w = xyz a aby řetězce odpovídaly pumping lemmatu. Protože y má délku alespoň jedna a xy má délku maximálně m, je y řetěz tvořený jenom symboly. Pro k pak xy k z nepatří do L, protože obsahuje různé počty a. Pokud tedy platí první dvě podmínky pumping lemmatu, nemůže platit ta třetí. Tedy pumping lemma pro L neplatí. Osička (Univerzita Palackého v Olomouci) YZTI LS / 43
doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je
28 [181105-1236 ] 2.7 Další uzávěrové vlastnosti třídy regulárních jazyků Z předchozích přednášek víme, že třída regulárních jazyků je uzavřena na sjednocení, průnik, doplněk, zřetězení, Kleeneho operaci
VíceAutomaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů
BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 2/29 Hodnocení předmětu BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 4/29 Automaty a gramatiky(bi-aag) 1. Základní pojmy Jan Holub Katedra teoretické
VíceRegulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:
IB102 Automaty, gramatiky a složitost, 6. 10. 2014 1/29 Regulární výrazy Definice 2.58. Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: 1 ε, a a pro každé a
VíceNaproti tomu gramatika je vlastně soupis pravidel, jak
1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen
VíceVztah jazyků Chomskeho hierarchie a jazyků TS
Vztah jazyků Chomskeho hierarchie a jazyků TS Jan Konečný; (přednáší Lukáš Havrlant) 15. října 2013 Jan Konečný; (přednáší Lukáš Havrlant) Chomskeho hierarchie a jazyky TS 15. října 2013 1 / 23 Rychlé
VíceFormální jazyky a automaty Petr Šimeček
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
VíceKonstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,
[161014-1204 ] 11 2.1.35 Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, kde i = 0, 1,..., takto: p 0 q právě tehdy, když bud p, q F nebo p, q F. Dokud i+1 i konstruujeme p
VíceMnož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 Σ
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á
VíceAUTOMATY A GRAMATIKY
AUTOMATY A 1 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Stručný přehled přednášky Automaty Formální jazyky, operace
VícePumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému
BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 2/22 Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 4/22 Automaty a gramatiky(bi-aag)
VíceTuringovy stroje. Teoretická informatika Tomáš Foltýnek
Turingovy stroje Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Jaké znáte algebraické struktury s jednou operací? Co je to okruh,
VíceFormální jazyky a gramatiky Teorie programovacích jazyků
Formální jazyky a gramatiky Teorie programovacích jazyků doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Připomenutí základních pojmů ABECEDA jazyk je libovolná podmnožina
VíceVlastnosti regulárních jazyků
Vlastnosti regulárních jazyků Podobně jako u dalších tříd jazyků budeme nyní zkoumat následující vlastnosti regulárních jazyků: vlastnosti strukturální, vlastnosti uzávěrové a rozhodnutelné problémy pro
VíceTeoretická informatika - Úkol č.1
Teoretická informatika - Úkol č.1 Lukáš Sztefek, xsztef01 18. října 2012 Příklad 1 (a) Gramatika G 1 je čtveřice G 1 = (N, Σ, P, S) kde, N je konečná množina nonterminálních symbolů N = {A, B, C} Σ je
VíceZ. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43
Zásobníkové automaty Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu 2018 1/ 43 Zásobníkový automat Chtěli bychom rozpoznávat jazyk L = {a i b i i 1} Snažíme se navrhnout zařízení (podobné konečným
VíceMinimalizace KA - Úvod
Minimalizace KA - Úvod Tyto dva KA A,A2 jsou jazykově ekvivalentní, tzn. že rozpoznávají tentýž jazyk. L(A) = L(A2) Názorně lze vidět, že automat A2 má menší počet stavů než A, tudíž našim cílem bude ukázat
VíceČí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:
1) Syntaktická analýza shora a zdola, derivační strom, kanonická derivace ezkontextová gramatika gramatika typu 2 Nechť G = je gramatika typu 1. Řekneme, že je gramatikou typu 2, platí-li: y
VíceJednoznačné a nejednoznačné gramatiky
BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 2/36 Jednoznačné a nejednoznačné gramatiky BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 4/36 Automaty a gramatiky(bi-aag) 11.
Více2 Formální jazyky a gramatiky
2 Formální jazyky a gramatiky 2.1 Úvod Teorie formálních gramatik a jazyků je důležitou součástí informatiky. Její využití je hlavně v oblasti tvorby překladačů, kompilátorů. Vznik teorie se datuje přibližně
VíceVýpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory
Plán přednášky Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory Obecný algoritmus pro parsování bezkontextových jazyků dynamické programování 1 Zásobníkový
VíceKapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.
Kapitola 6 LL gramatiky 6.1 Definice LL(k) gramatik Definice 6.1. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo. Definujme funkci FIRST G k : (N Σ) + P({w Σ w k}) předpisem FIRST G k (α) = {w Σ (α w
VíceBezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27
Bezkontextové jazyky 2/3 Bezkontextové jazyky 2 p.1/27 Transformace bezkontextových gramatik Bezkontextové jazyky 2 p.2/27 Ekvivalentní gramatiky Definice 6.1 Necht G 1 a G 2 jsou gramatiky libovolného
VíceSyntaxí řízený překlad
Syntaxí řízený překlad Překladový automat Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 27. listopadu 2008 Zobecněný překladový automat Překladový automat
VíceZÁKLADY TEORETICKÉ INFORMATIKY
KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO ZÁKLADY TEORETICKÉ INFORMATIKY PAVEL MARTINEK VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM
VícePŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy
PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy PAVEL RŮŽIČKA Abstrakt. Ukážeme, že každý prvek distributivního svazu odpovídá termu v konjuktivně-disjunktivním (resp. disjunktivně-konjunktivním)
VíceAutomaty a gramatiky. Uzávěrové vlastnosti v kostce R J BKJ DBKJ. Roman Barták, KTIML. Kvocienty s regulárním jazykem
11 Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Uzávěrové vlastnosti v kostce Sjednocení Průnik Průnik s RJ Doplněk Substituce/ homomorfismus Inverzní
VíceAUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace
AUTOMATY A 11 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně
VíceTexty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech
Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech 1. července 2008 1 Funkce v R n Definice 1 Necht n N a D R n. Reálnou funkcí v R n (reálnou funkcí n proměnných) rozumíme zobrazení
VíceAutomaty 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.
BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 2/41 Formální překlady BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 4/41 Automaty a gramatiky(bi-aag) 5. Překladové konečné
VíceÚvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška desátá Miroslav Kolařík Zpracováno dle R. Bělohlávek, V. Vychodil: Diskrétní matematika 2, http://phoenix.inf.upol.cz/esf/ucebni/dm2.pdf P. Martinek: Základy teoretické informatiky,
VíceTeoretická informatika TIN 2013/2014
Teoretická informatika TIN 2013/2014 prof. RNDr. Milan Češka, CSc. ceska@fit.vutbr.cz doc.ing. Tomáš Vojnar, Ph.D. vojnar@fit.vutbr.cz sazba Ing. A. Smrčka, Ing. P. Erlebach, Ing. P. Novosad Vysoké učení
VíceBezkontextové jazyky. Bezkontextové jazyky 1 p.1/39
Bezkontextové jazyky Bezkontextové jazyky 1 p.1/39 Jazyky typu 2 Definice 4.1 Gramatika G = (N, Σ, P, S) si nazývá bezkontextovou gramatikou, jestliže všechna pravidla z P mají tvar A α, A N, α (N Σ) Lemma
VícePredik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16
Predikátová logika - přednáška 3 6. 1. 2015 () Predikátová logika - přednáška 3 6. 1. 2015 1 / 16 Věta (o dedukci) Bud L jazyk, T teorie pro L, ϕ L-sentence a ψ L-formule. Pak Věta (o kompaktnosti) T ϕ
VíceKonečný automat Teorie programovacích jazyků
Konečný automat Teorie programovacích jazyků oc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@menelu.cz Automaty v běžném životě Konečný automat Metoy konstrukce konečného automatu
VíceStromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,
Stromové rozklady Zdeněk Dvořák 25. října 2017 Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom, β je funkce přiřazující každému vrcholu T podmnožinu vrcholů v G, pro každé
VíceKaždé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α
1. JAZYK ATEATIKY 1.1 nožiny nožina je souhrn objektů určitých vlastností, které chápeme jako celek. ZNAČENÍ. x A x A θ A = { { a, b a A = B A B 0, 1 2 a, a,..., a n x patří do množiny A x nepatří do množiny
VíceRegulární výrazy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března / 20
Regulární výrazy M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března 2007 1/ 20 Regulární výrazy Jako například v aritmetice můžeme pomocí operátorů + a vytvářet výrazy jako (5+3)
VíceTeoretická informatika
Teoretická informatika TIN 2017/2018 prof. RNDr. Milan Češka, CSc. ceska@fit.vutbr.cz prof. Ing. Tomáš Vojnar, Ph.D. vojnar@fit.vutbr.cz sazba dr. A. Smrčka, Ing. P. Erlebach, Ing. P. Novosad Vysoké učení
VíceÚvod do informatiky. Miroslav Kolařík
Úvod do informatiky přednáška pátá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008 a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní
VíceMatematická logika. Miroslav Kolařík
Matematická logika přednáška třetí Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika
VíceHypergrafové removal lemma a Szemérediho
Hypergrafové removal lemma a Szemérediho věta Zdeněk Dvořák 7. prosince 207 Hypergrafové removal lemma a jeho důsledek Definice. Dvojice (V, E) je k-uniformní hypergraf, je-li E množina neuspořádaných
VícePŘEDNÁŠKA 7 Kongruence svazů
PŘEDNÁŠKA 7 Kongruence svazů PAVEL RŮŽIČKA Abstrakt. Definujeme svazové kongruence a ukážeme jak pro vhodné binární relace svazu ověřit, že se jedná o svazové kongruence. Popíšeme svaz Con(A) kongruencí
VíceVrcholová barevnost grafu
Vrcholová barevnost grafu Definice: Necht G = (V, E) je obyčejný graf a k N. Zobrazení φ : V {1, 2,..., k} nazýváme k-vrcholovým obarvením grafu G. Pokud φ(u) φ(v) pro každou hranu {u, v} E, nazveme k-vrcholové
Více3. 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
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
VíceNaproti tomu gramatika je vlastně soupis pravidel, jak
1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen
Více= 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
Síť Síť je čtveřice N = ( G, s, t, c) kde G ( V, A) = je prostý orientovaný graf a každé orientované hraně ( u, v) je přiřazeno nezáporné číslo, které se nazývá kapacita hrany ( u, v), formálně c ( u,
VíceLineární algebra : Násobení matic a inverzní matice
Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních
VíceMnožiny, relace, zobrazení
Množiny, relace, zobrazení Množiny Množinou rozumíme každý soubor určitých objektů shrnutých v jeden celek. Zmíněné objekty pak nazýváme prvky dané množiny. Pojem množina je tedy synonymem pojmů typu soubor,
VíceLineární algebra : Násobení matic a inverzní matice
Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 17. března 2014, 12:42 1 2 0.1 Násobení matic Definice 1. Buďte m, n, p N, A
VíceKongruence na množině celých čísel
121 Kapitola 4 Kongruence na množině celých čísel 4.1 Relace kongruence na množině celých čísel Vraťme se k úvahám o dělení se zbytkem. Na základní škole jsme se naučili, že když podělíme číslo 11 číslem
VíceZásobníkový automat. SlovoaaaabbbbpatřídojazykaL={a i b i i 1} a a a a b b b b
ChtělibychomrozpoznávatjazykL={a i b i i 1} Snažíme se navrhnout zařízení(podobné konečným automatům), které přečte slovo, a sdělí nám, zda toto slovo patřídojazykalčine. Při čtení a-ček si musíme pamatovat
VíceVýroková a predikátová logika - IV
Výroková a predikátová logika - IV Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IV ZS 2018/2019 1 / 17 Tablo metoda Tablo Tablo - příklady F (((p q)
VíceUniverzální Turingův stroj a Nedeterministický Turingův stroj
27 Kapitola 4 Univerzální Turingův stroj a Nedeterministický Turingův stroj 4.1 Nedeterministický TS Obdobně jako u konečných automatů zavedeme nedeterminismus. Definice 14. Nedeterministický Turingův
VíceAutomaty a gramatiky
Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Co bylo minule Úvod do formálních gramatik produkční systémy generativní gramatika G=(V N,V T,,P) G =
VíceVztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31
Vztah teorie vyčíslitelnosti a teorie složitosti IB102 Automaty, gramatiky a složitost, 2. 12. 2013 1/31 IB102 Automaty, gramatiky a složitost, 2. 12. 2013 2/31 Časová složitost algoritmu počet kroků výpočtu
VíceYZTI - poznámky ke složitosti
YZTI - poznámky ke složitosti LS 2018 Abstrakt Poznámky k přednášce YZTI zabývající se složitostí algoritmických problémů a teorií NP-úplnosti. Složitost algoritmu a problému Zabýváme se už pouze rekurzivními
VíceModely Herbrandovské interpretace
Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší
VíceTOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.
TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA. PAVEL RŮŽIČKA 4.1. (Kvazi)kompaktnost a sub-báze. Buď (Q, ) uspořádaná množina. Řetězcem v Q budeme rozumět lineárně
VíceTOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 3. PREDNÁŠKA - KOMPAKTNÍ PROSTORY.
TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 3. PREDNÁŠKA - KOMPAKTNÍ PROSTORY. PAVEL RŮŽIČKA 3.1. Kompaktní prostory. Buď (X, τ) topologický prostor a Y X. Řekneme, že A τ je otevřené pokrytí množiny Y, je-li
VíceKapitola 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...
Kapitola 1 Úvod 1.1 Značení N... přirozená čísla (1, 2, 3,...). Z... celá čísla ( 3, 2, 1, 0, 1, 2,...). Q... racionální čísla ( p, kde p Z a q N) q R... reálná čísla C... komplexní čísla 1.2 Výroky -
VíceLineární algebra : Lineární prostor
Lineární algebra : Lineární prostor (3. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 17. dubna 2014, 14:43 1 2 3.1 Aximotické zavedení lineárního prostoru Číselné těleso Celou lineární
VíceMaticí 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:
3 Maticový počet 3.1 Zavedení pojmu matice 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: a 11 a 12... a 1k... a 1n a 21 a 22...
VíceFormální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března / 50
Formální jazyky Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března 2013 1/ 50 Abeceda a slovo Definice Abeceda je libovolná neprázdná konečná množina symbolů(znaků). Poznámka: Abeceda se často
VíceTeorie množin. Čekají nás základní množinové operace kartézské součiny, relace zobrazení, operace. Teoretické základy informatiky.
Teorie množin V matematice je všechno množina I čísla jsou definována pomocí množin Informatika stojí na matematice Znalosti Teorie množin využijeme v databázových systémech v informačních systémech při
Víceα β ) právě tehdy, když pro jednotlivé hodnoty platí β1 αn βn. Danou relaci nazýváme relace
Monotónní a Lineární Funkce 1. Relace předcházení a to Uvažujme dva vektory hodnot proměnných α = α,, 1 αn ( ) a β = ( β β ) 1,, n x,, 1 xn. Říkáme, že vekto r hodnot α předchází vektor hodnot β (značíme
Více8 Přednáška z
8 Přednáška z 3 12 2003 Problém minimální kostry: Dostaneme souvislý graf G = (V, E), w : E R + Našim úkolem je nalézt strom (V, E ) tak, aby výraz e E w(e) nabýval minimální hodnoty Řešení - Hladový (greedy)
VíceLimita a spojitost funkce a zobrazení jedné reálné proměnné
Přednáška 4 Limita a spojitost funkce a zobrazení jedné reálné proměnné V několika následujících přednáškách budeme studovat zobrazení jedné reálné proměnné f : X Y, kde X R a Y R k. Protože pro každé
VíceH {{u, v} : u,v U u v }
Obyčejný graf Obyčejný graf je dvojice G= U, H, kde U je konečná množina uzlů (vrcholů) a H {{u, v} : u,v U u v } je (konečná) množina hran. O hraně h={u, v} říkáme, že je incidentní s uzly u a v nebo
Vícep 2 q , tj. 2q 2 = p 2. Tedy p 2 je sudé číslo, což ale znamená, že
KAPITOLA 1: Reálná čísla [MA1-18:P1.1] 1.1. Číselné množiny Přirozená čísla... N = {1,, 3,...} nula... 0, N 0 = {0, 1,, 3,...} = N {0} Celá čísla... Z = {0, 1, 1,,, 3,...} Racionální čísla... { p } Q =
Více4 Pojem grafu, ve zkratce
Petr Hliněný, FI MU Brno, 2014 1 / 24 FI: IB000: Pojem grafu 4 Pojem grafu, ve zkratce Třebaže grafy jsou jen jednou z mnoha struktur v matematice a vlastně pouze speciálním případem binárních relací,
Více9. T r a n s f o r m a c e n á h o d n é v e l i č i n y
9. T r a n s f o r m a c e n á h o d n é v e l i č i n y Při popisu procesů zpracováváme vstupní údaj, hodnotu x tak, že výstupní hodnota y závisí nějakým způsobem na vstupní, je její funkcí y = f(x).
Více9 Kolmost vektorových podprostorů
9 Kolmost vektorových podprostorů Od kolmosti dvou vektorů nyní přejdeme ke kolmosti dvou vektorových podprostorů. Budeme se zabývat otázkou, kdy jsou dva vektorové podprostory na sebe kolmé a jak to poznáme.
VíceSubstituce. Petr Štěpánek. S využitím materialu Krysztofa R. Apta. Logické programování 2 1
Substituce Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 2 1 Algebra termů Předpokládáme, že je dán jazyk termů. L, definovali jsme množinu jeho Zavedeme některé užitečné
Více2. přednáška 8. října 2007
2. přednáška 8. října 2007 Konvergence v metrických prostorech. Posloupnost bodů (a n ) M v metrickém prostoru (M, d) konverguje (je konvergentní), když v M existuje takový bod a, že lim n d(a n, a) =
VícePQ-stromy a rozpoznávání intervalových grafů v lineárním čase
-stromy a rozpoznávání intervalových grafů v lineárním čase ermutace s předepsanými intervaly Označme [n] množinu {1, 2,..., n}. Mějme permutaci π = π 1, π 2,..., π n množiny [n]. Řekneme, že množina S
Víceprof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010
Základní pojmy prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. Katedra matematiky České vysoké učení technické v Praze c Čestmír Burdík, Edita Pelantová 2009 Základy matematické analýzy
VíceLIMITA A SPOJITOST FUNKCE
PŘEDNÁŠKA 5 LIMITA A SPOJITOST FUNKCE 5.1 Spojitost funkce 2 Řekneme, že funkce f(x) je spojitá v bodě a D f, jestliže ke každému ε > 0 existuje δ > 0 takové, že pro každé x (a δ, a + δ) D f platí nerovnost:
VíceDůkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť.
Přednáška 3, 19. října 2015 Důkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť X i = M i I je jeho pokrytí otevřenými
Více9. T r a n s f o r m a c e n á h o d n é v e l i č i n y
9. T r a n s f o r m a c e n á h o d n é v e l i č i n Při popisu procesů zpracováváme vstupní údaj, hodnotu x tak, že výstupní hodnota závisí nějakým způsobem na vstupní, je její funkcí = f(x). Pokud
VíceOSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA
OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA BAKALÁŘSKÁ PRÁCE 2002 SEDLÁK MARIAN - 1 - OSTRAVSKÁ UNIVERZITA PŘÍRODOVĚDECKÁ FAKULTA KATEDRA INFORMATIKY A POČÍTAČŮ Vizualizace principů výpočtu konečného
VíceRiemannův určitý integrál
Riemannův určitý integrál 1. Motivační příklad Příklad (Motivační příklad pro zavedení Riemannova integrálu). Nechť,. Vypočtěme obsah vybarvené oblasti ohraničené grafem funkce, osou a svislými přímkami
VícePro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.
Zpracoval: hypspave@fel.cvut.cz 5. Výroková logika, formule výrokové logiky a jejich pravdivostní ohodnocení, splnitelné formule, tautologie, kontradikce, sémantický důsledek, tautologicky ekvivalentní
VíceDijkstrův algoritmus
Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované
Více1 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, ),
Pracovní text k přednášce Logika a teorie množin 4.1.2007 1 1 Kardinální čísla 2 Ukázali jsme, že ordinální čísla reprezentují typy dobrých uspořádání Základy teorie množin Z minula: 1. Věta o ordinálních
VíceVýroková a predikátová logika - VIII
Výroková a predikátová logika - VIII Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VIII ZS 2017/2018 1 / 21 Tablo Tablo metoda v PL - rozdíly Formule
VíceZÁPADOČESKÁ UNIVERZITA V PLZNI
ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ KATEDRA VÝPOČETNÍ A DIDAKTICKÉ TECHNIKY PŘÍPRAVA KOMPONENT PRO E-KURZ KONEČNÉ AUTOMATY A FORMÁLNÍ JAZYKY BAKALÁŘSKÁ PRÁCE Luděk Hroch Informatika se zaměřením
VíceLimita a spojitost funkce
Přednáška 5 Limita a spojitost funkce V této přednášce se konečně dostaneme k diferenciálnímu počtu funkce jedné reálné proměnné. Diferenciální počet se v podstatě zabývá lokálním chováním funkce v daném
VíceTeoretická informatika
Teoretická informatika Ladislav Lhotka lhotka@cesnet.cz 2011-12 Zdroje LINZ, P. Formal Languages and Automata, Fourth Edition. Sudbury: Jones and Bartlett, 2006, 415+xiii s. ISBN 07-63-73798-4. CHYTIL,
VíceVýroková a predikátová logika - VIII
Výroková a predikátová logika - VIII Petr Gregor KTIML MFF UK ZS 2016/2017 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VIII ZS 2016/2017 1 / 21 Tablo Tablo metoda v PL - rozdíly Formule
VíceMatematická analýza 1
Matematická analýza 1 ZS 2019-20 Miroslav Zelený 1. Logika, množiny a základní číselné obory 2. Limita posloupnosti 3. Limita a spojitost funkce 4. Elementární funkce 5. Derivace 6. Taylorův polynom Návod
VíceZáklady matematické analýzy
Základy matematické analýzy Spojitost funkce Ing. Tomáš Kalvoda, Ph.D. 1, Ing. Daniel Vašata 2 1 tomas.kalvoda@fit.cvut.cz 2 daniel.vasata@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních
VíceDefinice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování.
9.5 Třída NP Definice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování. Příklad. Uvažujme problém IND a následující
VíceZáklady logiky a teorie množin
Pracovní text k přednášce Logika a teorie množin (I/2007) 1 1 Struktura přednášky Matematická logika 2 Výroková logika Základy logiky a teorie množin Petr Pajas pajas@matfyz.cz Predikátová logika 1. řádu
VíceUčební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008
Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování študenti MFF 15. augusta 2008 1 15 Základy lineárního programování Požadavky Simplexová metoda Věty o dualitě (bez důkazu)
VícePostův korespondenční problém. Meze rozhodnutelnosti 2 p.1/13
Postův korespondenční problém Meze rozhodnutelnosti 2 p.1/13 Postův korespondenční problém Definice 10.1 Postův systém nad abecedou Σ je dán neprázdným seznamem S dvojic neprázdných řetězců nadσ, S = (α
VíceOperace s maticemi. 19. února 2018
Operace s maticemi Přednáška druhá 19. února 2018 Obsah 1 Operace s maticemi 2 Hodnost matice (opakování) 3 Regulární matice 4 Inverzní matice 5 Determinant matice Matice Definice (Matice). Reálná matice
VíceUČEBNÍ TEXTY VYSOKÝCH ŠKOL. Prof. RNDr. Milan Češka, CSc. Gramatiky a jazyky
UČEBNÍ TEXTY VYSOKÝCH ŠKOL Vysoké učení technické v Brně Fakulta elektrotechniky a informatiky Prof. RNDr. Milan Češka, CSc. Gramatiky a jazyky Tato skripta jsou určena pro kurs Základy matematické informatiky
Více/1: Teoretická informatika(ti) přednáška 4
456-330/1: Teoretická informatika(ti) přednáška 4 prof. RNDr Petr Jančar, CSc. katedra informatiky FI VŠB-TUO www.cs.vsb.cz/jancar LS 2009/2010 Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010
VíceInformatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A
Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A Každá úloha je hodnocena maximálně 25 body. Všechny své odpovědi zdůvodněte! 1. Postavte na stůl do řady vedle
VíceMatematická logika. Miroslav Kolařík
Matematická logika přednáška šestá Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika
Více