Automaty a jazyky Úvod algoritmus

Rozměr: px
Začít zobrazení ze stránky:

Download "Automaty a jazyky Úvod algoritmus"

Transkript

1 Automaty a jazyky Úvod V historii i v současnosti matematiky a informatiky hrály a hrají důležitou roli předpisy k řešení konkrétních úloh, např. předpisy pro čtyři základní aritmetické operace s přirozenými čísly zapsanými v desítkové soustavě. Předpisy tohoto charakteru se zabýval počátkem devátého století arabský matematik Abdalláh Muhammad ibn Músa, al-chwárizmí (nebo al- Chorezmí) al-madžúsí, latinské zkomolení části jeho jména uvedlo do evropských jazyků slovo algoritmus. Známe-li etymologii slova, neznamená to, že bychom znali jeho význam. Uveďme filosofické vymezení tohoto pojmu. Algoritmem rozumíme přesný předpis, podle kterého máme vykonat v určitém pořadí konečný počet operací, které vedou k řešení každé úlohy či každého problému daného typu. Uveďme několik příkladů známých algoritmů. (1) Výše zmíněné čtyři základní aritmetické operace s přirozenými čísly zapsané v desítkové číselné soustavě (nebo v soustavě o jiném základu, např. 2). (2) Stará čínská matematika měla pro řešení nejrůznějších typů úloh zásobu algoritmů, které byly pečlivě předávány z generace na generaci. Ke zjištění, zda přirozené číslo n je prvočíslo, měli čínští matematici jednoduchý algoritmus stačilo zjistit, zda číslo n dělí beze zbytku číslo 2 n 2. Pokud ano, jde o prvočíslo, pokud je zbytek nenulový, jde o číslo složené. Tento algoritmus má jeden kaz, na který staří Číňané nepřišli jde o nesprávný algoritmus. Nejmenší číslo, které dává chybnou odpověď, je 341, protože číslo je dělitelné číslem 341, ale 341 = , tzn. 341 není prvočíslo, ale číslo složené. Existuje obrana proti takovým nepříjemným překvapením? Odpověď nalezneme, srovnáme-li matematické tradice staré Číny se starou řeckou matematikou. V Číně se uvedl předpis a dále se nezkoumal, tj. zasvěcenec předal algoritmus zasvěcenci ( program přehrál z paměti do paměti ) a ten jej začal používat. V antickém Řecku následovala ještě fáze proč algoritmus skutečně dělá to, co se tvrdí? Tj. algoritmus doprovázel důkaz 1. (3) Již ve starověku známý Euklidův algoritmus popsat takto: Jsou-li m a n kladná přirozená čísla, potom největšího společného dělitele čísel m a n určíme v následujících postupných krocích. 1. krok dělme číslo m číslem n. Zbytek dělení označme r (0 r < n). 2. krok je-li r = 0, potom n je největší společný dělitel; je-li r > 0, potom pokračujme třetím krokem. 3. krok dosaďme za m číslo n a za n číslo r a opakujme postup od prvního kroku. Vymezení pojmu algoritmus, které jsme uvedli, slouží jako vodítko pro vyšetření, zda konkrétní předpis je algoritmus. Možnosti takové definice jsou z hlediska matematiky a informatiky nedostatečné. Problematika automatů a formálních jazyků, jimž je věnována tato kapitola, patří mezi nejdéle studované a nejpodrobněji zpracované disciplíny tvořící matematickou informatiku. Dosažené výsledky se uplatňují nejen při návrhu počítačů, ale i např. při studiu živých organismů. Uveďme některé základní pojmy. X je abeceda, jestliže X je konečná neprázdná množina symbolů, tj. X = {a 1, a 2, a 3, a 4,, a n }. Symbolem ε označíme prázdný symbol. Některé abecedy mohou obsahovat i tento symbol. Slovem v abecedě X rozumíme libovolný konečný řetězec sestavený ze symbolů abecedy X, počet členů tohoto řetězce nazýváme délkou slova. Uvažujeme i prázdné slovo (tj. slovo délky 1 Tento algoritmus sebou nese poučení, jehož důležitost snad ani nelze dostatečně zdůraznit i algoritmus, který byl dlouhou dobu používán a testován, může být špatný. A to natolik špatný, že nejrozumnější náprava je jej zahodit a hledat jiný algoritmus.

2 0), které označujeme Λ. Slovo A je podslovem slova B v abecedě X, jestliže slovo A tvoří souvislý řetězec ve slově B. Jsou-li A a B slova v abecedě X, potom zřetězením slov A a B rozumíme slovo AB. Jsou-li a a b symboly abecedy X, potom symbolem a 2 b 3 označuje slovo aabbb. Symbolem X * označíme množinu všech slov v abecedě X a symbolem X + označíme množinu všech neprázdných slov v abecedě X, tj. X * = X + U {Λ} a X * {Λ} = X +. Je-li X abeceda, potom L nazveme jazykem nad abecedou X, jestliže L je podmnožinou množiny X *. Ve smyslu tohoto označení je každý přirozený jazyk, např. i čeština, jazykem nad abecedou. Řetězce tohoto jazyka jsou všechny správně utvořené české věty. Do příslušné abecedy patří kromě všech symbolů české abecedy ještě všechna interpunkční znaménka a mezera (tj. prázdný symbol ε). Jiným typem objektů, které je užitečné zkoumat aparátem formálních jazyků, jsou programovací jazyky řetězcem v příslušném jazyku je zpravidla každý syntakticky správný program v příslušném jazyku. Automaty Teorie automatů vznikla primárně z impulsů nematematických. Samotný název automat nebo adjektivum automatický označuje objekt nebo činnost, která probíhá v jednoduchých krocích, které se opakují při řešení téže úlohy. Teorie automatů vznikla v rámci kybernetiky a přinesla do matematiky nový pohled na různé problémy. Vývoj vedl k tomu, že se do středu zájmu dostaly partie, které dříve stály na okraji. Již ve starověku Herón Alexandrijský (žil nejspíše v 1. stol. n. l.), zvaný Méchanikos, zkonstruoval automat na prodej svěcené vody a automat na otvírání chrámových dveří. Tyto mechanismy měly stejný funkční princip jako moderní prodejní automaty, tj. bezprostředně po vhození vhodné mince vydaly příslušné množství vody nebo otevřely dveře. Simulovaly nejjednodušší reakce organismů nepodmíněné reflexy. Teorie automatů vznikla ve třicátých letech dvacátého století. V r definoval Turing stroj, který se dnes nazývá Turingův stroj. Z dnešního hlediska jde o automat s nekonečnou pamětí. My se budeme věnovat automatům s pamětí konečnou. V r americký fyziolog McCulloch a americký matematik Pitts vytvořili idealizovaný model neuronové sítě, který je v jistém smyslu předobrazem automatu. Po r vyšly první práce, ve kterých byl definován konečný automat, touto problematikou se zabývali mj. Mealy a Moore. Od té doby se teorie automatů rozvíjela někdy i velmi bouřlivým tempem. Automaty můžeme zkoumat ze dvou hledisek strukturálního a behavioristického. Zkoumáme-li automat ze strukturálního hlediska, pak nás zajímá, z čeho je sestrojen, tj. jaké součástky jsme při jeho výstavbě použili. Zajímalo by nás také jak minimalizovat množství součástek, aby zařízení vykonávalo právě činnost, kterou si představujeme. Vyšetřujeme-li automat z hlediska behavioristického 2, zajímá nás jiná situace prostředí obklopující automat působí na něj prostřednictvím několika vstupních kanálů, automat na vstupní signály reaguje a vydává výstupními kanály výstupní signály, jimiž zpětně působí na okolní prostředí. Jde o to věnovat se závislosti mezi vstupními a výstupními signály (zkráceně vstupy a výstupy). Při našem zkoumání vyjdeme z behavioristického hlediska (viz obr. 1). vstupní kanály automat Obr. 1. výstupní kanály 2 Ze slova behaviour v britské angličtině nebo behavior v americké angličtině, které znamená chování.

3 Otázky tohoto typu se někomu mohou zdát na první pohled umělé. To je způsobeno jistou dosti vžitou, ale mylnou představou o automatech. Podle této povrchní představy je automat charakterizován právě tím, že vztah mezi vstupem a výstupem je velmi jednoduchý, např. - vhodíme minci, vypadne krabička s filmem; - vhodíme minci a restauraci zaplaví ryčná hudba; - rozbijeme výlohu, začne houkat siréna atd. Podobně se tvrdívá, že jeden z rozdílů mezi automatem a živým organismem lze charakterizovat tím, že automat reaguje na stejné podněty stále stejně, zatímco reakce živého organismu se na tytéž podněty měnívá. V učebnicích psychologie najdeme schéma uvedené na obr. 2. Reakce organismu je spoluurčena ještě dalším faktorem, jímž je intervenující proměnná. O vztahu mezi podnětem a reakcí např. u prodejních automatů není potřeba dlouze uvažovat. Vztahy určené druhým z uvedených schémat jsou alespoň v nějaké formě předmětem každodenních úvah každého z nás. Již v útlém věku pozorujeme, že druzí lidé reagují na stejné podněty za různých okolností různě a to za okolností, které se navzájem liší různým stavem (náladou, novými zkušenostmi, únavou apod.) reagujícího člověka. Jinak reaguje otec na první synovu pětku, jinak na pátou pětku. Jinak reaguje člověk (ve většině případů) na první sklenku vína než na šestou. Jinak reaguje člověk v tramvaji na větu z tlampače: Vystupte si, zatahujeme!, slyší-li ji poprvé v daném dnu, než když ji slyší tentýž den počtvrté. Mnohdy je pro nás důležité uhodnout, jak druhý reaguje na opakovaný podnět (Řekni to ještě jednou!). Bylo to právě chování člověka a chování živých organismů, které daly impuls k rozvoji teorie automatů. I Turing navrhl své stroje tak, že je definoval na základě analýzy činnosti živého výpočtáře, který pracuje algoritmicky. podnět reakce organismu reakce intervenující proměnná Obr. 2. Růst významu samočinných počítačů jako impulsu k rozvoji teorie automatů je daleko pozdějšího data. V dnešní době otázky, které souvisejí s počítači, zaujímají v teorii automatů centrální postavení. Svůj význam si ovšem podržely i otázky biologicky motivované (celulární automaty, otázky samoreprodukce automatů, modely zkoumání růstu jednoduchých organismů atp.). Na konci 20. stol. nabyly na důležitosti i aplikace teorie automatů ve společenskovědních oborech (stabilita systémů). O automatech, kterými se budeme zabývat, lze obecně říci: (a) Vstupní signály takového automatu budou prvky nějaké abecedy X (tzv. vstupní abecedy). Budeme hovořit o vstupních symbolech. (b) Výstupní signály (výstupní symboly) budou prvky abecedy Y (tzv. výstupní abecedy). (c) Automat bude pracovat v diskrétní časové škále t 0, t 1, t 2, V každém časovém okamžiku bude na vstupu jeden symbol ze vstupní abecedy X a automat vydá jeden symbol z výstupní abecedy Y. V dalším budeme časové okamžiky značit přirozenými čísly 0, 1, 2, Okamžik t+1 označuje časový okamžik následující bezprostředně po časovém okamžiku t. (d) Reakce automatu bude určena obdrženým vstupním signálem a vnitřním stavem, ve kterém se automat nachází. (e) Předpokládáme, že se automat může nacházet v konečně mnoha vnitřních stavech.

4 Konečné automaty Mealyho automatem 3 (nebo automatem) rozumíme uspořádanou šestici A = [Q, X, Y, q 0, δ, λ], kde Q je neprázdná konečná množina vnitřních stavů, X je vstupní abeceda, Y je výstupní abeceda, q 0 je počáteční vnitřní stav (q 0 є Q), δ je zobrazení nazývané přechodová funkce, která všem vnitřním stavům a všem prvkům vstupní abecedy přiřazuje vnitřní stavy, λ je zobrazení nazývané výstupní funkce, která všem vnitřním stavům a všem prvkům vstupní abecedy přiřazuje prvky výstupní abecedy. 1. příklad Uvažujme automat A takový, že Q = {q 0, q 1, q 2 }, kde q 0 je počáteční vnitřní stav, vstupní abeceda X = {0, 1}, výstupní abeceda Y = {a, b}, přechodová funkce δ je definována δ(q 0,0) = q 1, δ(q 1,0) = q 2, δ(q 2,0) = q 2, δ(q 0,1) = q 0, δ(q 1,1) = q 0, δ(q 2,1) = q 2, výstupní funkce λ je definována λ(q 0,0) = b, λ(q 1,0) = b, λ(q 2,0) = a, λ(q 0,1) = b, λ(q 1,1) = b, λ(q 2,1) = a. Tento automat lze reprezentovat několika způsoby. (1) Tabulkami přechodové a výstupní funkce, tj. δ 0 1 λ 0 1 q 0 q 1 q 0 q 0 b b q 1 q 2 q 0 q 1 b b q 2 q 2 q 2 q 2 a a (2) Smíšenou tabulkou pro přechodovou a výstupní funkci δ, λ 0 1 q 0 q 1, b q 0, b q 1 q 2, b q 0, b q 2 q 2, a q 2, a (2) Stavovým diagramem, což je orientovaný pojmenovaný multigraf, jehož vrcholy tvoří vnitřní stavy, orientovaná hrana z vrcholu q do vrcholu q označená c/d vyjadřuje hodnotu přechodové funkce δ(q, c) = q a λ(q, c) = d, kde c je prvek vstupní abecedy a d je prvek výstupní abecedy (viz obr. 3). Předpokládáme, že automat přijímá vstupní slovo od konce. Mějme např. vstupní slovo , které lze také zapsat Automat A začíná svou činnost v počátečním vnitřním stavu q 0. Označme symbolem t časový okamžik, x(t) vstupní symbol v okamžiku t, δ(t) vnitřní stav automatu v okamžiku t a λ(t) výstupní symbol v okamžiku t. V čase t = 0 je automat A v počátečním vnitřním stavu q 0 a na vstupu je poslední znak vstupního slova 1. V čase t = 1 automat zpracuje vstupní symbol 1 a vydá výstupní symbol λ(1) = λ(q 0, 1) = b (což je poslední znak výstupního slova), přejde do vnitřního stavu δ(1) = δ(q 0, 1) = q 0. a na vstupu se objeví předposlední znak vstupního slova 0. 3 Také se používá termín konečný automat nebo konečný sekvenční stroj nebo krátce stroj.

5 V čase t = 2 automat zpracuje vstupní symbol 0 a vydá výstupní symbol λ(2) = λ(q 0, 0) = b (což je předposlední znak výstupního slova), přejde do vnitřního stavu δ(2) = δ(q 0, 0) = q 1. a na vstupu se objeví další znak vstupního slova 1. V tabulce můžeme zapsat t x(t) δ(t) q 0 q 0 q 1 λ(t) b b V dalších časových okamžicích budeme postupovat analogicky až v čase t = 9 bude na vstupu první znak vstupního slova 0, automat bude ve vnitřním stavu q 2 a dostaneme se do časového okamžiku t = 10, vydá výstupní symbol λ(10) = λ(q 2, 0) = a (což je první znak výstupního slova), přejde do vnitřního stavu δ(10) = δ(q 2, 0) = q 2. Zpracování celého vstupního slova můžeme zapsat v tabulce t x(t) δ(t) q 0 q 0 q 1 q 0 q 0 q 1 q 0 q 1 q 2 q 2 q 2 λ(t) b b b b b b b b a a Výstupní slovo je aabbbbbbbb (i výstupní slovo je vydáváno od konce), které lze také zapsat a 2 b 8. Všimněme si, že pro automat A platí dostane-li se do vnitřního stavu q 2, potom jej už neopustí a ve vnitřním stavu q 2 začne vydávat samá a. Slovy lze popsat chování automatu A takto automat vydává symbol b tak dlouho, dokud není ve vstupním slovu dvakrát za sebou symbol 0, od takového okamžiku vydává pouze symbol a. 1/b q 0 0/b 1/b q 1 0/b q 2 1/a 0/a Obr. 3. Poznamenejme, že platí je-li úloha řešitelná automatem, je také algoritmicky řešitelná (tj. existuje algoritmus, který ji řeší). Opačné tvrzení obecně neplatí existují algoritmicky řešitelné úlohy, které nejsou řešitelné automaty. Mějme automat A = [Q, X, Y, q 0, δ, λ]. Indukcí definujeme zobecněnou přechodovou funkci δ + a zobecněnou výstupní funkci λ + : (a) Pro libovolný vnitřní stav q z Q a pro libovolný vstupní symbol x z X je δ + (q, x) = δ(q, x) a λ + (q, x) = λ(q, x). (b) Pro libovolný vnitřní stav q z Q, pro libovolný vstupní symbol x z X a pro libovolné slovo P z X + je δ + (q, xp) = δ(δ + (q, P), x) a λ + (q, xp) = λ(δ + (q, P), x). 2. příklad Uvažujme automat A z 1. příkladu. Určíme postupně δ + (q 0, ) i λ + (q 0, ). δ + (q 0, 1) = δ(q 0, 1) = q 0, λ + (q 0, 1) = λ(q 0, 1) = b; δ + (q 0, 01) = δ(δ + (q 0, 1), 0) = δ(δ(q 0, 1), 0) = δ(q 0, 0) = q 1,

6 λ + (q 0, 01) = λ(δ + (q 0, 1), 0) = λ(δ(q 0, 1), 0) = λ(q 0, 0) = b; δ + (q 0, 101) = δ(δ + (q 0, 01), 1) = δ(q 1, 1) = q 0, λ + (q 0, 101) = λ(δ + (q 0, 01), 1) = λ(q 1, 1) = b; δ + (q 0, 1101) = δ(δ + (q 0, 101), 1) = δ(q 0, 1) = q 0, λ + (q 0, 1101) = λ(δ + (q 0, 101), 1) = λ(q 0, 1) = b; δ + (q 0, 01101) = δ(δ + (q 0, 1101), 0) = δ(q 0, 0) = q 1, λ + (q 0, 01101) = λ(δ + (q 0, 1101), 0) = λ(q 0, 0) = b; δ + (q 0, ) = δ(δ + (q 0, 01101), 1) = δ(q 1, 1) = q 0, λ + (q 0, ) = λ(δ + (q 0, 01101), 1) = λ(q 1, 1) = b; δ + (q 0, ) = δ(δ + (q 0, ), 0) = δ(q 0, 0) = q 1, λ + (q 0, ) = λ(δ + (q 0, ), 0) = λ(q 0, 0) = b; δ + (q 0, ) = δ(δ + (q 0, ), 0) = δ(q 1, 0) = q 2, λ + (q 0, ) = λ(δ + (q 0, ), 0) = λ(q 1, 0) = b; δ + (q 0, ) = δ(δ + (q 0, ), 1) = δ(q 2, 1) = q 2, λ + (q 0, ) = λ(δ + (q 0, ), 1) = λ(q 2, 1) = a; δ + (q 0, ) = δ(δ + (q 0, ), 0) = δ(q 2, 1) = q 2, λ + (q 0, ) = λ(δ + (q 0, ), 0) = λ(q 2, 1) = a. Je zřejmé, že hodnotou zobecněné výstupní funkce λ + (q, P) je první znak výstupního slova, který vydá automat začínající činnost ve vnitřním stavu q a zpracovávající neprázdné slovo P. x(t) q(t+1) y(t+1) y(t) δ Z λ Z q (t) Obr. 4 Na obr. 4. je uvedena interpretace Mealyho automatu z hlediska časové závislosti. Symbolem δ je označeno zařízení realizující přechodovou funkci δ, symbolem λ zařízení realizující výstupní funkci λ a symbolem Z zpožďovací člen, který vydává příslušný symbol o jeden časový okamžik později. Půjde nám o to zkonstruovat nejúspornější automaty, tzn. automaty, které mají nejméně vnitřních stavů a řeší stejnou úlohu nebo stejný problém. Mějme automat A = [Q, X, Y, q 0, δ, λ]. Vnitřní stav q nazveme dosažitelný, jestliže q = q 0 nebo existuje neprázdné slovo P ze vstupní abecedy X takové, že δ + ( q 0, P) = q. Jestliže není vnitřní stav dosažitelný, nazývá se nedosažitelný. 3. příklad Uvažujme automat A takový, že Q = {q 0, q 1, q 2, q 3 }, kde q 0 je počáteční vnitřní stav, vstupní abeceda X = {a, b} a výstupní abeceda Y ={0, 1}, který je definován smíšenou tabulkou δ, λ a b q 0 q 1, 0 q 0, 0 q 1 q 1, 0 q 3, 0

7 q 2 q 1, 0 q 3, 0 q 3 q 1, 0 q 0, 0 Vnitřní stavy q 0, q 1 a q 3 jsou dosažitelné a vnitřní stav je q 2 nedosažitelný, protože (a) počáteční vnitřní stav q 0 je vždy dosažitelný, (b) δ(q 0, a) = δ + (q 0, a) = q 1, (c) δ + (q 0, ba) = δ(δ + ( q 0, a), b) = δ(δ(q 0, a), b) = δ(q 1, b) = q 3 a (d) do vnitřního stavu q 2 se ze počátečního vnitřního stavu q 0 nedostaneme žádným neprázdným slovem ze vstupní abecedy, neboť nefiguruje v žádné buňce smíšené tabulky. Mějme automaty A = [Q, X, Y, q 0, δ, λ] a A 1 = [ 1 Q, X, Y, 1 q 0, 1 δ, 1 λ]. (1) Je- li q vnitřní stav automatu A a 1 q vnitřní stav automatu A 1, potom vnitřní stavy q a 1 q jsou behavioristicky ekvivalentní nebo b-ekvivalentní (což označíme q 1 q), jestliže pro všechna slova P z X + platí λ + (q, P) = 1 λ + ( 1 q, P). (2) Automaty A a A 1 jsou behavioristicky ekvivalentní nebo zkráceně b-ekvivalentní (což označíme A A 1 ), jestliže (a) q 0 1 q 0, (b) ke každému vnitřnímu stavu q automatu A a existuje vnitřní stav 1 q automatu A 1 takový, že q 1 q a (c) ke každému vnitřnímu stavu 1 q automatu A 1 a existuje vnitřní stav q automatu A takový, že 1 q q. Je-li A = [Q, X, Y, q 0, δ, λ] automat a je-li S množina všech dosažitelných vnitřních stavů automatu A (tj. S je podmnožina množiny Q), potom automat B = [S, X, Y, q 0, δ, λ], kde δ (resp. λ) je přechodová (resp. výstupní) funkce vytvořená z funkce δ (resp. λ) tak, že vynecháme nedosažitelné vnitřní stavy v definičním oboru, B A, přičemž automat B neobsahuje nedosažitelné vnitřní stavy. Jak zkonstruovat b-ekvivalentní automat, který neobsahuje žádný nedosažitelný vnitřní stav? Jestliže množina vnitřních stavů automatu A obsahuje právě vnitřní stavy q 0, q 1,, q n, stačí vzít všechna neprázdná slova P ve vstupní abecedě, jejichž délka je maximálně n a množinu všech vnitřních stavů automatu B tvoří (a) počáteční vnitřní stav q 0, (b) všechny vnitřní stavy q automatu A, pro které platí δ + ( q 0, P) = q. 4. příklad Uvažujme automat A z 3. příkladu. Automat A má čtyři vnitřní stavy, vypišme všechna neprázdná slova ve vstupní abecedě, jejichž délka je 3: a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba a bbb. Potom δ + (q 0, a) = q 1, δ + (q 0, b) = q 0, δ + (q 0, aa) = q 1, δ + (q 0, ab) = q 1, δ + (q 0, ba) = q 3, δ + (q 0, bb) = q 0, δ + (q 0, aaa) = q 1, δ + (q 0, aab) = q 1, δ + (q 0, aba) = q 0, δ + (q 0, abb) = q 1, δ + (q 0, baa) = q 3, δ + (q 0, bab) = q 3, δ + (q 0, bba) = q 3, δ + (q 0, bbb) = q 0. Tudíž množina všech vnitřních stavů automatu B je S = {q 0, q 1, q 3 } a smíšená tabulka má tvar δ, λ a b q 0 q 1, 0 q 0, 0 q 1 q 1, 0 q 3, 0 q 3 q 1, 0 q 0, 0 Realizace Mealyho automatů Booleovskou funkcí n proměnných (kde n je kladné přirozené číslo) rozumíme funkci f, která všem slovům v abecedě {0, 1} délky n přiřazuje buď 0, nebo příklad Definujme funkci f předpisem

8 f(000) = 0, f(001) = 0, f(010) = 0, f(011) = 1, f(100) = 0, f(101) = 1, f(110) = 0, f(111) = 0. Jde o booleovskou funkci tří proměnných. Booleovská funkce n proměnných představuje pravdivostní ohodnocení výrokové formule v disjunktivní normální formě s výrokovými proměnnými x 1, x 2,, x n. 6. příklad Vraťme se k 5. příkladu. Funkční hodnotě f(011) = 1 odpovídá formule x 1 Λ x 2 Λ x 3 a funkční hodnotě f(101) = 1 odpovídá formule x 1 Λ x 2 Λ x 3, tudíž celé funkci f odpovídá formule ( x 1 Λ x 2 Λ x 3 ) v (x 1 Λ x 2 Λ x 3 ). kde x 1, x 2 a x 3 jsou výrokové proměnné. Jestliže vstupní i výstupní abeceda obsahují jiné prvky než 0 a 1, je možné symboly těchto abeced zakódovat pomocí slov v abecedě {0, 1}. Podobně můžeme zakódovat i vnitřní stavy automatu. 7. příklad Uvažujme automat A takový, že Q = {q 0, q 1, q 2 }, kde q 0 je počáteční vnitřní stav, vstupní abeceda X = {a, b, c} a výstupní abeceda Y = {0, 1}, který je definován smíšenou tabulkou δ, λ a b c q 0 q 0, 0 q 1, 0 q 1, 0 q 1 q 0, 0 q 1, 1 q 2, 1 q 2 q 1, 0 q 1, 1 q 2, 1 Prvním krokem je zakódování vstupních symbolů a vnitřních stavů, výstupním symbolům ponecháme v tomto případě jejich binární hodnoty. Vstupní symbol a zakódujeme slovem 00, b slovem 01 a c slovem 11, podobně počáteční vnitřní stav q 0 zakódujeme slovem 00, vnitřní stav q 1 slovem 10 a stav q 2 slovem 11. Obecně může být volba kódování určena dodatečnými vnějšími požadavky na navrhovaný systém, nebo může být ponechána na libovůli návrháře. Ke kódování n-prvkové množiny je třeba volit slova délky k, kde k je nejmenší přirozené číslo takové, že n 2 k. Jestliže n není mocninou dvojky, budou některá slova délky k nevyužita. V našem případě bude smíšená tabulka δ, λ , 0 10, 0-10, , 0 10, 1-11, , 0 10, 1-11, 1 Prázdná políčka v tabulce vyznačují hodnoty přechodové a výstupní funkce nejsou výchozím zadáním určeny, proto je možné je vyplnit libovolně. Jedno z možných doplnění je toto: δ, λ , 0 10, 0 00, 0 10, , 0 10, 0 10, 0 10, , 0 10, 1 01, 0 11, , 0 10, 1 11, 0 11, 1 Výstupní funkce je booleovská funkce čtyř proměnných, kterou lze zapsat λ (q 1, q 2, x 1, x 2 ). Metody umožňující co možná nejmenší kombinační sítě pro realizaci dané booleovské funkce podrobně rozpracovány, ale přesahují trámec našeho kursu. Spokojme se schématem výsledného sekvenčního obvodu na obrázku 5., kde symbolem Λ je označeno zařízení

9 realizující konjunkci, symbolem v zařízení realizující disjunkci a symbolem Z je označen zpožďovací člen. Samozřejmě změnou kódování i změnou v doplňování neurčených hodnot dostáváme odlišnou realizaci, která se může podstatně lišit složitostí kombinačních sítí pro přechodovou i výstupní funkci. x 1 Λ x 2 v Z Z Λ y Obr. 5 Mooreovy automaty Uvedeme dva speciální typy automatů, které jsou vhodné pro řešení některých typů problémů. Mějme automat A = [Q, X, Y, q 0, δ, λ]. A je Mooreův automat 1. typu, jestliže existuje zobrazení ν takové, že pro všechna q z množiny vnitřních stavů Q a pro všechny vstupní symboly x z X je λ(q, x) = ν(q). Mooreův automat 1. typu A zapisujeme A = [Q, X, Y, q 0, δ, ν] a zobrazení ν nazýváme značkovací funkce. Na stavovém diagramu snadno rozeznáme Mooreův automat 1. typu tak, že všechny hrany vystupující z jednoho uzlu mají stejný výstupní symbol. 5. příklad Automat A z 1. příkladu je Mooreův automat 1. typu. Stačí definovat značkovací funkci ν takto: ν(q 0 ) = λ(q 0,0) = λ(q 0,1) = b, ν(q 1 ) = λ(q 1,0) = λ(q 1,1) = b, ν(q 2 ) = λ(q 2,0) = λ(q 2,1) = a. x(t) q (t+1) δ Z ν y(t) q(t) Obr. 6

10 Na obr. 6. je uvedena interpretace Mooreova automatu 1. typu z hlediska časové závislosti. Symbolem δ je označeno zařízení realizující přechodovou funkci δ, symbolem ν zařízení realizující značkovací funkci ν a symbolem Z zpožďovací člen, který vydává příslušný symbol o jeden časový okamžik později. Pro Mooreovy automaty 1. typu lze rozšířit zobecněnou přechodovou i zobecněnou výstupní funkci i na prázdné slovo, nebudeme je uvádět, vzhledem k tomu, že pro naše účely jsou nepotřebné. Mějme automat A = [Q, X, Y, q 0, δ, λ]. A je Mooreův automat 2. typu, jestliže existuje zobrazení μ takové, že pro všechna q z množiny vnitřních stavů Q a pro všechny vstupní symboly x z X je λ(q, x) = μ(δ(q, x)). Mooreův automat 2. typu A zapisujeme A = [Q, X, Y, q 0, δ, μ] a zobrazení ν nazýváme značkovací funkce. Na stavovém diagramu snadno rozeznáme Mooreův automat 2. typu tak, že všechny hrany vstupující do jednoho uzlu mají stejný výstupní symbol. 8. příklad Uvažujme automat A takový, že Q = {q 0, q 1, q 2 }, kde q 0 je počáteční vnitřní stav, vstupní abeceda X = {0, 1}, výstupní abeceda Y = {a, b}, který je reprezentován smíšenou tabulkou pro přechodovou a výstupní funkci δ, λ 0 1 q 0 q 2, b q 1, b q 1 q 2, a q 0, a q 2 q 1, b q 2, a Tento automat je Mooreovým automatem 2. typu se značkovací funkcí μ definovanou předpisem μ(q 0 ) = a, μ(q 1 ) = b, μ(q 2 ) = b. Každý snadno ověří, že takto definovaná značkovací funkce vyhovuje požadavkům na Mooreovy automaty 2. typu. Automat je možné jednodušeji reprezentovat tabulkou δ 0 1 μ q 0 q 2 q 1 a q 1 q 2 q 0 b q 2 q 1 q 2 b kterou budeme nazývat mooreovská tabulka tohoto automatu. x(t) δ q(t+1) μ y(t) q(t) Z Obr. 7 Na obr. 7. je uvedena interpretace Mooreova automatu 2. typu z hlediska časové závislosti. Symbolem δ je označeno zařízení realizující přechodovou funkci δ, symbolem μ zařízení

11 realizující značkovací funkci μ a symbolem Z zpožďovací člen, který vydává příslušný symbol o jeden časový okamžik později. I pro Mooreovy automaty 2. typu lze rozšířit zobecněnou přechodovou i zobecněnou výstupní funkci i na prázdné slovo. Uveďme, jak jsou tyto funkce definovány. Mějme Mooreův automat 2. typu A = [Q, X, Y, q 0, δ, λ] se značkovací funkcí μ. Indukcí definujeme zobecněnou přechodovou funkci δ * a zobecněnou výstupní funkci λ * (a) Pro libovolný vnitřní stav q z Q a pro libovolný vstupní symbol x z X je δ * (q, Λ) = q a λ * (q, Λ) = μ(q). (b) Pro libovolný vnitřní stav q z Q a pro libovolné slovo P z X + je δ * (q, P) = δ + (q, P) a λ * (q, P) = λ + (q, P). Z hlediska technické realizace jsou Mooreovy automaty 2. typu důležitější než Mealyho automaty i Mooreovy automaty 1. typu. Mealyho automaty jsou výhodnější pro řešení většiny úloh. Zdá se, že Mooreovy automaty 1. i 2. typu řeší méně úloh než Mealyho automaty. Položme si otázku, zda umí Mealyho automaty a Mooreovy automaty 2. typu řešit stejné úlohy. Protože Mooreovy automaty 1. a 2. typu jsou Mealyho automaty, potom každá úloha řešená Mooreovými automaty je řešitelná Mealyho automaty. Ukáže se, že ke každému Mealyho automatu lze zkonstruovat Mooreův automat 2.typu, který řeší stejnou úlohu. Platí: Ke každému Mealyho automatu A existuje Mooreův automat 2. typu M takový, že A M. Jak zkonstruovat k Mealyho automatu b-ekvivalentní Mooreův automat 2. typu? Vezme-li smíšenou tabulku Mealyho automatu, ve kterém je vnitřní stav q i v různých buňkách spojen např. s právě třemi výstupními symboly a, b a c, rozdělíme vnitřní stav q i na tři různé vnitřní stavy q i,a, q i,b a q i,c. Je-li vnitřní stav q i spojen s jediným nebo žádným výstupním symbolem, potom vnitřní stav q i ponecháme. Hodnoty značkovací funkce μ pro jednotlivé vnitřní stavy budou výstupní symboly, pokud je vnitřní stav ve smíšené tabulce spojen s výstupním symbolem, a náhodně vybraný výstupní symbol, pokud vnitřní stav není spojen s žádným výstupním symbolem. Zbývá ještě jeden problém. Který vnitřní stav zvolit jako počáteční? Počátečním stavem Mooreova automatu 2. typu můžeme zvolit (v případě, že se počáteční vnitřní stav q 0 rozdělí na více vnitřních stavů) kterýkoli vnitřní stav, který vznikl ze stavu q příklad Uvažujme automat A takový, že Q = {q 0, q 1, q 2 }, kde q 0 je počáteční vnitřní stav, vstupní abeceda X = {0, 1} a výstupní abeceda Y = {a, b}, který je definován smíšenou tabulkou δ, λ 0 1 q 0 q 1, b q 0, b q 1 q 2, b q 0, b q 2 q 2, a q 2, a K tomuto automatu sestrojíme b-ekvivalentní Mooreův automat 2. typu M. Jediný vnitřní stav, který nevyhovuje definici Mooreova automatu 2. typu, je vnitřní stav q 2 (viz buňky smíšené tabulky se žlutým pozadím). Z vnitřního stavu q 2 vzniknou dva vnitřní stavy q 2,a a q 2,b. Smíšená tabulka automatu M je δ, λ 0 1 q 0 q 1, b q 0, b q 1 q 2,b, b q 0, b q 2,a q 2,a, a q 2,a, a q 2,b q 2,a, a q 2,a, a

12 Uděláme-li mooreovskou tabulku se značkovací funkcí μ, má tabulka tvar δ 0 1 μ q 0 q 1 q 0 b q 1 q 2,b q 0 b q 2,a q 2,a q 2,a a q 2,b q 2,a q 2,a b 10. příklad Uvažujme automat A takový, že Q = {q 0, q 1, q 2, q 3, q 4, q 5 }, kde q 0 je počáteční vnitřní stav, vstupní abeceda X = {a, b, c} a výstupní abeceda Y = {0, 1}, který je definován smíšenou tabulkou δ, λ a b c q 0 q 2, 1 q 1, 0 q 1, 1 q 1 q 2, 0 q 0, 0 q 3, 0 q 2 q 1, 1 q 3, 1 q 4, 0 q 3 q 2, 0 q 4, 1 q 0, 1 q 4 q 5, 1 q 2, 1 q 4, 1 q 5 q 5, 1 q 5, 1 q 4, 1 Sestrojíme b-ekvivalentní Mooreův automat 2. typu. Ze smíšené tabulky je zřejmé, že definici Mooreova automatu 2. typu neodpovídají všechny vnitřní stavy kromě q 5, které se všechny rozpadnou na dva vnitřní stavy q i,0 a q i,1 pro i = 0, 1, 2, 3 a 4. Jako počáteční vnitřní stav zvolíme q 0,0. Mooreovská tabulka b-ekvivalentního Mooreova automatu 2. typu je δ a b c μ q 0,0 q 2,1 q 1,0 q 1,1 0 q 0,1 q 2,1 q 1,0 q 1,1 1 q 1,0 q 2,0 q 0,0 q 3,0 0 q 1,1 q 2,0 q 0,0 q 3,0 1 q 2,0 q 1,1 q 3,1 q 4,0 0 q 2,1 q 1,1 q 3,1 q 4,0 1 q 3,0 q 2,0 q 4,1 q 0,1 0 q 3,1 q 2,0 q 4,1 q 0,1 1 q 4,0 q 5 q 2,1 q 4,1 0 q 4,1 q 5 q 2,1 q 4,1 1 q 5 q 5 q 5 q 4,1 1 Již jsme uvedli, že budeme automaty minimalizovat tak, aby neobsahovaly zbytečné vnitřní stavy. První stavy, které jsme označili za zbytečné, byly nedosažitelné vnitřní stavy. Dalšími typy stavů, které jsou z hlediska výpočtu zbytečné, jsou vnitřní stavy, které stejným výstupem reagují na stejná slova vstupní abecedy. Mějme Moreovy automaty 2. typu A = [Q, X, Y, q 0, δ, λ] a A 1 = [ 1 Q, X, Y, 1 q 0, 1 δ, 1 λ]. (1) Je- li q vnitřní stav automatu A a 1 q vnitřní stav automatu A 1, potom vnitřní stavy q a 1 q jsou mooreovsky ekvivalentní nebo m-ekvivalentní (což označíme q 1 q), jestliže pro všechna slova P ze vstupní abecedy 4 X platí λ * (q, P) = 1 λ * ( 1 q, P). (2) Automaty A a A 1 jsou mooreovsky ekvivalentní nebo zkráceně m-ekvivalentní (což označíme A A 1 ), jestliže (a) q 0 1 q 0, 4 Tj. včetně prázdného slova Λ.

13 (b) ke každému vnitřnímu stavu q automatu A a existuje vnitřní stav 1 q automatu A 1 takový, že q 1 q a (c) ke každému vnitřnímu stavu 1 q automatu A 1 a existuje vnitřní stav q automatu A takový, že 1 q q. Poznamenejme, že předcházející definici lze použít i v případě A = A 1, tj. lze hovořit i o m- ekvivalenci vnitřních stavů jednoho Mooreova automatu 2. typu. Mějme Moreovy automaty 2. typu A = [Q, X, Y, q 0, δ, λ] a A 1 = [ 1 Q, X, Y, 1 q 0, 1 δ, 1 λ]. Řekneme, že A 1 je redukt automatu A, jestliže (a) A 1 neobsahuje nedosažitelné vnitřní stavy, (b) Pro libovolné vnitřní stavy q a q automatu A 1 platí: jestliže q q, potom q = q a (c) A 1 A. Jak sestrojit redukt Mooreova automatu 2. typu A = [Q, X, Y, q 0, δ, λ] se značkovací funkcí μ? (1) Odstraníme nedosažitelné vnitřní stavy. (2) Použijeme algoritmus redukce 5, tj. (a) pro každý vnitřní stav q automatu A vytvoříme množinu r 0 (q) takovou, že obsahuje všechny vnitřní stavy q takové, že μ(q) = μ(q ), vznikne množina R 0 = { r 0 (q); q є Q}, která obsahuje množiny vnitřních stavů se stejnou hodnotou značkovací funkce, tzn. počet prvků množiny R 0 je maximálně roven počtu prvků výstupní abecedy; (b) předpokládáme, že jsme pro libovolné přirozené číslo 6 k sestrojili množiny r k (q) pro libovolný vnitřní stav q automatu A a množinu R k = { r k (q); q є Q}. Sestrojíme množiny r k+1 (q) pro libovolný vnitřní stav q automatu A a množinu R k+1 = { r k+1 (q); q є Q}. Pro vnitřní stav q automatu A platí: q є r k+1 (q) právě tehdy, jestliže q є r k (q) a současně pro libovolný symbol x vstupní abecedy X je δ(q, x) є r k (δ(q, x)). (c) Po konečně mnoha krocích (maximální počet kroků je dán počtem prvků množiny vnitřních stavů automatu A) musí nastat R l = R l+1. Množinu R l v reduktu zvolíme jako množinu vnitřních stavů, jako počáteční vnitřní stav zvolíme množinu r l (q 0 ). Algoritmus redukce lze popsat takto: (a) Sestrojíme množinu R 0 a položíme k := 0. (b) Sestrojíme množinu R k a provedeme přiřazení k := k + 1. (c) Jestliže R k R k+1, opakuje se operace (b), jinak se pokračuje operací (d). (d) Jako výsledná množina se označí R k. 11. příklad Uvažujme Mooreův automat 2. typu A takový, že Q = {q 0, q 1, q 2, q 3, q 4, q 5 }, kde q 0 je počáteční vnitřní stav, vstupní abeceda X = {0, 1} a výstupní abeceda Y = {0, 1}, který je definován mooreovskou tabulkou δ 0 1 μ q 0 q 1 q 1 0 q 1 q 2 q 1 1 q 2 q 3 q 3 1 q 3 q 4 q 1 0 q 4 q 5 q 1 1 q 5 q 3 q 3 1 Automat A neobsahuje nedostižné vnitřní stavy. Přistoupíme k použití algoritmu redukce. 5 Jde vlastně o rozklad množiny vnitřních stavů na třídy m-ekvivalence. 6 Uvažujeme přirozená čísla včetně 0.

14 1. krok R 0 = {{q 0, q 3 }, {q 1, q 2, q 4, q 5 }}, protože μ(q 0 ) = μ(q 3 ) = 0 a μ(q 1 ) = μ(q 2 ) = μ(q 4 ) = μ(q 5 ) = krok R 1 = {{q 0, q 3 }, {q 1, q 4 }, {q 2, q 5 }}, protože (a) δ(q 0, 0) = q 1, δ(q 3, 0) = q 4, tj. δ(q 0, 0) є {q 1, q 2, q 4, q 5 }, δ(q 3, 0) є {q 1, q 2, q 4, q 5 } a δ(q 0, 1) = δ(q 3, 1) = q 1, tj. δ(q 0, 1) є {q 1, q 2, q 4, q 5 }, δ(q 3, 1) є {q 1, q 2, q 4, q 5 }; (b) δ(q 1, 0) = q 2, δ(q 4, 0) = q 5, tj. δ(q 1, 0) є {q 1, q 2, q 4, q 5 }, δ(q 4, 0) є {q 1, q 2, q 4, q 5 } a δ(q 1, 1) = δ(q 4, 1) = q 1, tj. δ(q 1, 1) є {q 1, q 2, q 4, q 5 }, δ(q 4, 1) є {q 1, q 2, q 4, q 5 }; (c) δ(q 2, 0) = δ(q 5, 0) = q 3, tj. δ(q 2, 0) є {q 0, q 3 }, δ(q 5, 0) є {q 0, q 3 } a δ(q 2, 1) = δ(q 5, 1) = q 3, tj. δ(q 2, 1) є {q 0, q 3 }, δ(q 5, 1) є {q 0, q 3 }. Neboť R 0 R 1, musíme pokračovat dále. 3. krok R 2 = {{q 0, q 3 }, {q 1, q 4 }, {q 2, q 5 }}, protože (a) δ(q 0, 0) є {q 1, q 4 }, δ(q 3, 0) є {q 1, q 4 } a δ(q 0, 1) є {q 1, q 4 }, δ(q 3, 1) є {q 1, q 4 }; (b) δ(q 1, 0) є {q 2, q 5 }, δ(q 4, 0) є {q 2, q 5 } a δ(q 1, 1) є {q 1, q 4 }, δ(q 4, 1) є {q 1, q 4 }; (c) δ(q 2, 0) є {q 0, q 3 }, δ(q 5, 0) є {q 0, q 3 } a δ(q 2, 1) є {q 0, q 3 }, δ(q 5, 1) є {q 0, q 3 }. Neboť R 1 = R 2, algoritmus redukce ukončí činnost. Pro redukt A 1 automatu A množina vnitřních stavů Q obsahuje vnitřní stavy: q 0 = {q 0, q 3 }, q 1 = {q 1, q 4 }, q 2 = {q 2, q 5 }. Mooreovská tabulka reduktu A 1 má tvar (δ je přechodová funkce reduktu a μ značkovací funkce reduktu) δ 0 1 μ q 0 q 1 q 1 0 q 1 q 2 q 1 1 q 2 q 0 q 0 1 Poznámka. Algoritmus redukce lze použít i na zjištění m-ekvivalence dvou Mooreových automatů 2. typu. Pro jeden z automatů přejmenujeme vnitřní stavy tak, aby tyto automaty neměly žádný společný vnitřní stav, mooreovské tabulky napíšeme pod sebe. Potom v jednotlivých množinách po použití algoritmu redukce musí být alespoň jeden vnitřní stav každého z automatů, přičemž počáteční vnitřní stavy musí být ve stejné množině. Jazyky rozpoznávané automaty Jestliže L je jazyk nad abecedou X, potom L je rozpoznatelný konečným automatem, jestliže existuje Mooreův automat 2. typu A = [Q, X, {0, 1}, q 0, δ, λ] takový, že pro libovolné slovo P abecedy X platí: P patří do jazyka L právě tehdy, jestliže λ * ( q 0, P) = 1. Uvedeme příklady jazyků a pro zjednodušení budeme předpokládat, že jde o jazyky nad abecedou X = {a, b}. 12. příklad Uvažujme jazyk L = Ø, tzn. tento jazyk neobsahuje žádné slovo. Potom např. Mooreův automat 2. typu A = [{q 0 }, {a, b}, {0, 1}, q 0, δ, λ], který rozpoznává tento jazyk, je definován mooreovskou tabulkou δ a b μ

15 q 0 q 0 q příklad Mějme jazyk L = {Λ}, tzn. tento jazyk obsahuje pouze prázdné slovo. Potom např. Mooreův automat 2. typu A = [{q 0, q 1 }, {a, b}, {0, 1}, q 0, δ, λ], který rozpoznává tento jazyk, je definován mooreovskou tabulkou δ a b μ q 0 q 1 q 1 1 q 1 q 1 q příklad Mějme jazyk L = {a}, tzn. tento jazyk obsahuje pouze slovo a délky 1. Potom např. Mooreův automat 2. typu A = [{q 0, q 1, q 2 }, {a, b}, {0, 1}, q 0, δ, λ], který rozpoznává tento jazyk, je definován mooreovskou tabulkou δ a b μ q 0 q 1 q 2 0 q 1 q 2 q 2 1 q 2 q 2 q 2 0 Analogicky lze řešit úlohu pro jazyk L = {b}, jen znaky a a b si vymění roli v Mooreově automatu 2. typu. 15. příklad Uvažujme jazyk L obsahující právě všechna slova v abecedě X, která jsou délky alespoň 2, která začínají a končí stejným symbolem. Potom např. Mooreův automat 2. typu A = [{q 0, q 1, q 2, q 3, q 4, q 5, q 6 }, {a, b}, {0, 1}, q 0, δ, λ], který rozpoznává tento jazyk, je definován mooreovskou tabulkou δ a b μ q 0 q 1 q 2 0 q 1 q 3 q 4 0 q 2 q 6 q 5 0 q 3 q 3 q 4 1 q 4 q 3 q 4 0 q 5 q 6 q 5 1 q 6 q 6 q příklad Uvažujme jazyk L obsahující právě všechna slova v abecedě X, která končí podslovem abba. Potom např. Mooreův automat 2. typu A = [{q 0, q 1, q 2, q 3, q 4, q 5 }, {a, b}, {0, 1}, q 0, δ, λ], který rozpoznává tento jazyk, je definován mooreovskou tabulkou δ a b μ q 0 q 1 q 2 0 q 1 q 2 q 3 0 q 2 q 2 q 2 0 q 3 q 2 q 4 0 q 4 q 5 q 2 0 q 5 q 5 q příklad

16 Uvažujme jazyk L obsahující právě všechna slova v abecedě X tvaru a n b n, kde n je přirozené číslo 7 (tj. L obsahuje slova sudé délky 8, jejichž první polovina jsou samá a a druhá polovina samá b). Tento jazyk není rozpoznatelný konečným automatem. Proč? Kdyby automat měl např. 7 vnitřních stavů, potom vezmeme slovo a 8 b 8. V tomto případě si automat musí nejprve zapamatovat, že slovo končí osmi znaky b, k tomu je potřeba 8 vnitřních stavů. Obecněji obsahuje-li automat n vnitřních stavů, potom stačí vzít slovo a n+1 b n+1. Kdybychom místo abecedy X = {a, b} zvolili jinou abecedu, je zřejmé, že úvahy by byly analogické jako v předcházejících příkladech. Jazyky a gramatiky Přepisovací systém 9 nad abecedou X je konečná množina P přepisovacích pravidel, kde každé přepisovací pravidlo má tvar A B, kde A a B jsou slova v abecedě X. Jsou-li T a U slova v abecedě X, (a) řekneme, že přepisovací systém P přímo přepíše T na U (a zapíšeme T => U), jestliže existují slova C a D z abecedy X a přepisovací pravidlo A B z P tak, že T = CAD a U = CBD, (b) řekneme, že přepisovací systém P přepíše T na U (a zapíšeme T => U), jestliže buď T = U, nebo existují slova T 1, T 2,, T n (kde n 1) taková, že T => T 1 => T 2 => => T n = U. 18. příklad Mějme oblíbenou abecedu X = {a, b}. Přepisovací systém P tvoří dvě přepisovací pravidla (1) ab ba, (2) ba ab. Potom např. aabba => aaabb, protože aabba => (2) aabab => (2) aabab (pro větší přehlednost skupina symbolů, kterou přepisujeme, je vyznačena tučně a znak pro bezprostřední přepsání je opatřen číslem použitého pravidla). Také je aabba => abbaa, protože aabba => (1) ababa => (1) abbaa. Na první pohled je vidět, že tento přepisovací systém může přepsat každé slovo T v abecedě X na libovolné slovo U v této abecedě se stejným počtem výskytů symbolů a a b jako má U. Gramatika typu 0 nebo zkráceně gramatika je uspořádaná čtveřice G = [Y, X, s, P], kde Y a X jsou disjunktní 10 abecedy, s je symbol abecedy Y a P je přepisovací systém nad abecedou XUY takových, že na levé straně každého přepisovacího pravidla je alespoň jeden symbol z abecedy Y. Y se nazývá abeceda neterminálů 11, X je abeceda terminálů 12 a s z Y je počáteční symbol. Řekneme, že jazyk L(G) je generován gramatikou G nebo L(G) je jazyk typu 0, jestliže obsahuje právě všechna slova W v abecedě X taková, že s => W. Tedy jazyk generovaný gramatikou je tvořen všemi slovy v terminální abecedě, která lze odvodit z počátečního symbolu. 19. příklad 7 Znovu upozorňujeme, že 0 považujeme za přirozené číslo, proto jazyk L obsahuje i slovo a 0 b 0 = Λ. 8 0 považujeme za sudé číslo. 9 Někdy se také nazývá produkční systém. 10 Tzn. X Y = Ø. 11 Jinak lze říci i množina proměnných. 12 Jinak lze říci, že jde o množinu konstant.

17 Mějme gramatiku G = [{s}, {a, b}, s, P], kde přepisovací systém P tvoří tři přepisovací pravidla (1) s asb, (2) s ε. Je zřejmé, že jazyk L(G) generovaný gramatikou G obsahuje právě všechna slova tvaru a n b n, kde n je přirozené číslo. V předcházejícím příkladu byla dvě přepisovací pravidla se stejnou levou stranou, pro jednoduchost je budeme zapisovat dohromady s asb ε. Poznámka. Gramatika, kterou jsme definovali, se také nazývá generativní gramatika. Existuje i duální pojem analytická gramatika. Ta je tvořena stejnou uspořádanou čtveřicí se změnou u přepisovacího systému P je přepisovací systém nad abecedou XUY takových, že na pravé straně každého přepisovacího pravidla je alespoň jeden symbol z abecedy Y. Jazyk L(G) je rozpoznáván gramatikou G, jestliže obsahuje právě všechna slova W v abecedě X taková, že W => s. Je zřejmé, že ke každé generativní gramatice existuje analytická gramatika rozpoznávající tentýž jazyk a naopak ke každé analytické gramatice existuje generativní gramatika generující tentýž jazyk. Analytickou gramatikou nezískáváme nic nového. Mějme gramatiku G = [Y, X, s, P]. (1) G je gramatika typu 1 nebo kontextová gramatika, jestliže každé přepisovací pravidlo z P je tvaru AyB ACB, kde A a B jsou slova z abecedy XUY, y je symbol z neterminální abecedy Y a C je neprázdné slovo z abecedy XUY, přičemž jedinou výjimkou může být pravidlo s ε, jehož výskyt znamená, že se symbol s nemůže vyskytovat na pravé straně žádného přepisovacího pravidla z P. (2) G je gramatika typu 2 nebo bezkontextová gramatika, jestliže P obsahuje pouze pravidla tvaru y C, kde C je slovo z abecedy XUY, y je symbol z neterminální abecedy Y. (3) G je gramatika typu 3 nebo regulární gramatika, jestliže každé pravidlo z P je buď tvaru y Wx, nebo y W, kde W je slovo z abecedy X, y a x jsou symboly z neterminální abecedy Y. (4) Jazyk typu 1 (resp. 2, resp. 3) nebo kontextový (resp. bezkontextový, resp. regulární), jestliže je generován nějakou kontextovou (resp. bezkontextovou, resp. regulární) gramatikou. Poznámka. Použití kontextového pravidla AyB ACB a bezkontextového pravidla y C má stejný efekt neterminál y se přepíše na C, ostatní části slova zůstanou zachovány. V prvním případě dojde k tomu jen tehdy, jestliže y je obklopeno slovy A a B, tj. možnost přepsat y na C je závisí na kontextu, ve kterém se y vyskytuje. Ve druhém případě přepsání y na kontextu nezávisí. Toto pozorování vysvětluje, proč se gramatiky typu 1 nazývají kontextové a gramatiky typu 2 bezkontextové. Každý regulární jazyk je bezkontextový, každý bezkontextový jazyk je kontextový, každý kontextový jazyk je typu 0. Uvedli jsme jazyky rozpoznatelné automaty. Lze je nějakým způsobem zařadit do výše uvedené hierarchie 13 jazyků? Ano, platí: jazyk je rozpoznatelný automatem právě tehdy, jestliže jde o regulární jazyk. Jak sestrojit gramatiku G k Mooreovu automatu 2. typu A = [Q, X, {0, 1}, q 0, δ, λ] se značkovací funkcí μ? Gramatika G = [Q, X, q 0, P], tzn. množina vnitřních stavů Q je abeceda neterminálů, vstupní abeceda X je abeceda terminálů, počáteční vnitřní stav q 0, je počáteční symbol. Přepisovací systém P bude obsahovat pravidla q aq, jestliže δ(q, a) = q a q ε, jestliže μ(q) = příklad Uvažujme Mooreův automat 2. typu A = [{q 0, q 1, q 2, q 3, q 4, q 5 }, {a, b}, {0, 1}, q 0, δ, λ], který definován mooreovskou tabulkou δ a b μ 13 Námi uvedená hierarchie jazyků se nazývá Chomského hierarchie.

18 q 0 q 1 q 2 0 q 1 q 2 q 3 0 q 2 q 2 q 2 0 q 3 q 2 q 4 0 q 4 q 5 q 2 0 q 5 q 5 q 5 1 Ze 16. příkladu víme, že rozpoznává jazyk L obsahující právě všechna slova v abecedě {a, b}, která končí podslovem abba. Gramatika G bude mít neterminální abecedu {q 0, q 1, q 2, q 3, q 4, q 5 }, terminální abecedu {a, b}, počáteční symbol je q 0 a přepisovací systém P obsahuje pravidla (1) q 0 aq 1 bq 2, (2) q 1 aq 2 bq 3, (3) q 2 aq 2 bq 2, (4) q 3 aq 2 bq 4, (5) q 4 aq 5 bq 2, (6) q 5 aq 5 bq 5 ε. Bezkontextové gramatiky jsou vhodné i ke konstrukci programovacích jazyků. Uvedeme dva příklady některých konstrukcí. 21. příklad Uvedeme definici čísel v nějakém programovacím jazyku. Počáteční symbol bude neterminál [číslo], neterminály budou všechna slova či sousloví uvedená v hranatých závorkách a terminální abeceda bude {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +,,., 10 }. Přepisovací systém gramatiky obsahuje pravidla (1) [číslo] [číslo bez znaménka], (2) [číslo] + [číslo bez znaménka], (3) [číslo] [číslo bez znaménka], (4) [číslo bez znaménka] [desetinné číslo], (5) [číslo bez znaménka] [exponentová část], (6) [číslo bez znaménka] [desetinné číslo] [exponentová část], (7) [desetinné číslo] [celé číslo bez znaménka], (8) [desetinné číslo] [desetinná část], (9) [desetinné číslo] [celé číslo bez znaménka] [desetinná část], (10)[exponentová část] 10 [celé číslo], (11)[desetinná část].[celé číslo], (12)[celé číslo] [celé číslo bez znaménka], (13)[celé číslo] + [celé číslo bez znaménka], (14)[celé číslo] [celé číslo bez znaménka], (15)[celé číslo bez znaménka] [číslice], (16)[celé číslo bez znaménka] [celé číslo bez znaménka] [číslice], (17)[číslice] Je zřejmé, že lze tím způsobem vygenerovat slova představující čísla. Cvičení (1) Sestrojte automat A se vstupní abecedou X = {a, b, c}, výstupní abecedou Y = {0, 1} a počátečním vnitřním stavem q 0 takový, že

19 (a) vydá 1 při prvním výskytu podslova abbab ve vstupním slovu, jinak vydává 0; (b) vydá 1 při každém výskytu podslova abbab ve vstupním slovu, jinak vydává 0; (c) vydává 1 po prvním výskytu podslova abbab ve vstupním slovu, jinak vydává 0. (2) Sestrojte automat A se vstupní abecedou X = {a, b}, výstupní abecedou Y = {0, 1} a počátečním vnitřním stavem q 0 takový, že (a) první symbol výstupního slova je 1, jestliže vstupní slovo končí podslovem ababba, a první symbol výstupního slova je 0, jestliže vstupní slovo končí podslovem ababba, jinak vydává jakýkoli výstupní symbol; (b) první symbol výstupního slova je 1, jestliže vstupní slovo začíná podslovem ababba, a první symbol výstupního slova je 0, jestliže vstupní slovo začíná podslovem ababba, jinak vydává jakýkoli výstupní symbol. (3) Podle výsledků cvičení (1) a (2) rozhodněte, které automaty jsou Mooreovy automaty 1. typu a které Mooreovy automaty 2. typu. Výsledky cvičení (1) (a) (b) δ, λ a b c q 0 q 0, 0 q 1, 0 q 0, 0 q 1 q 2, 0 q 1, 0 q 0, 0 q 2 q 0, 0 q 3, 0 q 0, 0 q 3 q 2, 0 q 4, 0 q 0, 0 q 4 q 5, 1 q 1, 0 q 0, 0 q 5 q 5, 0 q 5, 0 q 5, 0 δ, λ a b c q 0 q 0, 0 q 1, 0 q 0, 0 q 1 q 2, 0 q 1, 0 q 0, 0 q 2 q 0, 0 q 3, 0 q 0, 0 q 3 q 2, 0 q 4, 0 q 0, 0 q 4 q 2, 1 q 1, 0 q 0, 0 (c) (2) (a) δ, λ a b c q 0 q 0, 0 q 1, 0 q 0, 0 q 1 q 2, 0 q 1, 0 q 0, 0 q 2 q 0, 0 q 3, 0 q 0, 0 q 3 q 2, 0 q 4, 0 q 0, 0 q 4 q 5, 1 q 1, 0 q 0, 0 q 5 q 5, 1 q 5, 1 q 5, 1 δ, λ a b q 0 q 2, 0 q 1, 0

20 q 1 q 1, 0 q 1, 0 q 2 q 1, 0 q 3, 0 q 3 q 1, 0 q 4, 0 q 4 q 5, 0 q 1, 0 q 5 q 6, 0 q 1, 0 q 6 q 7, 1 q 1, 0 q 7 q 7, 1 q 7, 1 (b) δ, λ a b q 0 q 1, 0 q 0, 0 q 1 q 1, 0 q 2, 0 q 2 q 1, 0 q 3, 0 q 3 q 4, 0 q 0, 0 q 4 q 1, 0 q 5, 0 q 5 q 6, 1 q 3, 0 q 6 q 1, 0 q 2, 0 (3) Automaty z výsledků cvičení (1) (c), (2) (a) a (b) jsou Mooreovy 2. typu, žádný není Mooreův 1. typu.

Naproti tomu gramatika je vlastně soupis pravidel, jak

Naproti 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

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

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íce

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

Formá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íce

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

Konstrukce 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íce

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

Automaty 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íce

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Množ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íce

Základní pojmy matematické logiky

Základní pojmy matematické logiky KAPITOLA 1 Základní pojmy matematické logiky Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. 1. Výroková logika Co je

Více

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

Turingovy 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íce

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

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu VÝROKOVÁ LOGIKA Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. Co je výrok nedefinujejme, pouze si řekneme, co si pod

Více

Minimalizace KA - Úvod

Minimalizace 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

2 Formální jazyky a gramatiky

2 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íce

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

Bezkontextové 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íce

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

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace RELACE Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace slouží k vyjádření vztahů mezi prvky nějakých množin. Vztahy mohou být různé povahy. Patří sem vztah býti potomkem,

Více

Vlastnosti regulárních jazyků

Vlastnosti 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íce

Matematická logika. Miroslav Kolařík

Matematická 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íce

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

Formální systém výrokové logiky Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)

Více

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:

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: 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íce

AUTOMATY A GRAMATIKY

AUTOMATY 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íce

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 α

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 α 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íce

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

Regulá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íce

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

Základy teoretické informatiky Formální jazyky a automaty Základy teoretické informatiky Formální jazyky a automaty Petr Osička KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI Outline Literatura Obsah J.E. Hopcroft, R. Motwani, J.D. Ullman Introduction to

Více

Vztah jazyků Chomskeho hierarchie a jazyků TS

Vztah 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íce

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

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2017/2018 1 / 17 Předběžnosti Základní pojmy n-ární relace a funkce

Více

Matematická logika. Miroslav Kolařík

Matematická 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

3.10 Rezoluční metoda ve výrokové logice

3.10 Rezoluční metoda ve výrokové logice 3.10. Rezoluční metoda ve výrokové logice [070405-1102 ] 27 3.10 Rezoluční metoda ve výrokové logice Rezoluční metoda rozhoduje, zda daná množina klausulí je splnitelná nebo je nesplnitelná. Tím je také

Více

Výroková logika. Teoretická informatika Tomáš Foltýnek

Výroková logika. Teoretická informatika Tomáš Foltýnek Výroková logika Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Co je to formalismus a co je jeho cílem? Formulujte Russelův paradox

Více

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

AUTOMATY 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íce

5 Orientované grafy, Toky v sítích

5 Orientované grafy, Toky v sítích Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost

Více

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

Vý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íce

5. Sekvenční logické obvody

5. Sekvenční logické obvody 5. Sekvenční logické obvody 3. Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou 3. Sekvenční logické obvody - příklad asynchronního sekvenčního obvodu 3.

Více

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

Bezkontextové 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íce

Jednoznačné a nejednoznačné gramatiky

Jednoznač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íce

Pravděpodobnost a statistika

Pravděpodobnost a statistika Pravděpodobnost a statistika 1 Náhodné pokusy a náhodné jevy Činnostem, jejichž výsledek není jednoznačně určen podmínkami, za kterých probíhají, a které jsou (alespoň teoreticky) neomezeně opakovatelné,

Více

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

Z. 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íce

3. Sekvenční logické obvody

3. Sekvenční logické obvody 3. Sekvenční logické obvody 3. Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou 3. Sekvenční logické obvody příklad sekv.o. Příklad sledování polohy vozíku

Více

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti Kapitola 5 Vektorové prostory V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti operací sčítání a násobení

Více

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

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2015/2016 1 / 18 Základní syntax Jazyk Výroková logika je logikou

Více

Poznámka. Je-li f zobrazení, ve kterém potřebujeme zdůraznit proměnnou, píšeme f(x) (resp. f(y), resp. f(t)) je zobrazení místo f je zobrazení.

Poznámka. Je-li f zobrazení, ve kterém potřebujeme zdůraznit proměnnou, píšeme f(x) (resp. f(y), resp. f(t)) je zobrazení místo f je zobrazení. 2. ZOBRAZENÍ A FUNKCE 2.1 Zobrazení 2. 1. 1 Definice: Nechť A a B jsou množiny. Řekneme že f je zobrazení množiny A do množiny B jestliže (i) f A B (ii) ke každému z množiny A eistuje právě jedno y z množiny

Více

Teoretická informatika - Úkol č.1

Teoretická 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íce

Svobodná chebská škola, základní škola a gymnázium s.r.o. Dělitelnost Rozklad na součin prvočísel. Dušan Astaloš

Svobodná chebská škola, základní škola a gymnázium s.r.o. Dělitelnost Rozklad na součin prvočísel. Dušan Astaloš METODICKÝ LIST DA10 Název tématu: Autor: Předmět: Dělitelnost Rozklad na součin prvočísel Dušan Astaloš Matematika Ročník: 6. Učebnice: Kapitola, oddíl: Metody výuky: Formy výuky: Cíl výuky: Získané dovednosti:

Více

NP-úplnost problému SAT

NP-úplnost problému SAT Problém SAT je definován následovně: SAT(splnitelnost booleovských formulí) Vstup: Booleovská formule ϕ. Otázka: Je ϕ splnitelná? Příklad: Formule ϕ 1 =x 1 ( x 2 x 3 )jesplnitelná: např.přiohodnocení ν,kde[x

Více

Množiny, relace, zobrazení

Množ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íce

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

Formá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íce

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

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek Otázka 06 - Y01MLO Zadání Predikátová logika, formule predikátové logiky, sentence, interpretace jazyka predikátové logiky, splnitelné sentence, tautologie, kontradikce, tautologicky ekvivalentní formule.

Více

teorie logických spojek chápaných jako pravdivostní funkce

teorie logických spojek chápaných jako pravdivostní funkce Výroková logika teorie logických spojek chápaných jako pravdivostní funkce zabývá se způsoby tvoření výroků pomocí spojek a vztahy mezi pravdivostí různých výroků používá specifický jazyk složený z výrokových

Více

Úvod do informatiky. Miroslav Kolařík

Ú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íce

Referát z předmětu Teoretická informatika

Referát z předmětu Teoretická informatika Referát z předmětu Téma: Algoritmus Coke-Younger-Kasami pro rozpoznávání bezkontextových jazyků VŠB-TU Ostrava:Fakulta Elektrotechniky a informatiky jaro 2011 Martin Dočkal doc068 dockal.martin@gmail.com

Více

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

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

Více

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

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2013/2014 1 / 20 Základní syntax Jazyk Výroková logika je logikou

Více

Základy logiky a teorie množin

Zá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íce

Vztah 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, /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íce

Syntaxí řízený překlad

Syntaxí ří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í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

= 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íce

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

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 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 Tomáš Masopust Brno, 2006 Obsah Úvod 1 1 Základní definice

Více

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

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

PQ-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íce

1 Řešení soustav lineárních rovnic

1 Řešení soustav lineárních rovnic 1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty

Více

4.2 Syntaxe predikátové logiky

4.2 Syntaxe predikátové logiky 36 [070507-1501 ] 4.2 Syntaxe predikátové logiky V tomto oddíle zavedeme syntaxi predikátové logiky, tj. uvedeme pravidla, podle nichž se tvoří syntakticky správné formule predikátové logiky. Význam a

Více

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

Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin. 1.2. Cíle Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin. Průvodce studiem Množina je jedním ze základních pojmů moderní matematiky. Teorii množin je možno budovat

Více

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

B i n á r n í r e l a c e. Patrik Kavecký, Radomír Hamřík B i n á r n í r e l a c e Patrik Kavecký, Radomír Hamřík Obsah 1 Kartézský součin dvou množin... 3 2 Binární relace... 6 3 Inverzní relace... 8 4 Klasifikace binární relací... 9 5 Ekvivalence... 12 2 1

Více

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy: Opakování středoškolské matematiky Slovo úvodem: Tato pomůcka je určena zejména těm studentům presenčního i kombinovaného studia na VŠFS, kteří na středních školách neprošli dostatečnou průpravou z matematiky

Více

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

Teorie 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

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

Lineární algebra Kapitola 1 - Základní matematické pojmy Lineární algebra Kapitola 1 - Základní matematické pojmy 1.1 Relace a funkce V celém textu budeme používat následující označení pro číselné množiny: N množina všech přirozených čísel bez nuly, N={1, 2,

Více

Matice. a m1 a m2... a mn

Matice. a m1 a m2... a mn Matice Nechť (R, +, ) je okruh a nechť m, n jsou přirozená čísla Matice typu m/n nad okruhem (R, +, ) vznikne, když libovolných m n prvků z R naskládáme do obdélníkového schematu o m řádcích a n sloupcích

Více

Složitost Filip Hlásek

Složitost Filip Hlásek Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,

Více

GRAFY A GRAFOVÉ ALGORITMY

GRAFY A GRAFOVÉ ALGORITMY KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO GRAFY A GRAFOVÉ ALGORITMY ARNOŠT VEČERKA VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ

Více

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška první Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Co a k čemu je logika? 2 Výroky a logické spojky

Více

ZÁKLADY TEORETICKÉ INFORMATIKY

ZÁ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íce

Modely Herbrandovské interpretace

Modely 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íce

PŘEDNÁŠKA 2 POSLOUPNOSTI

PŘEDNÁŠKA 2 POSLOUPNOSTI PŘEDNÁŠKA 2 POSLOUPNOSTI 2.1 Zobrazení 2 Definice 1. Uvažujme libovolné neprázdné množiny A, B. Zobrazení množiny A do množiny B je definováno jako množina F uspořádaných dvojic (x, y A B, kde ke každému

Více

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u. Několik řešených příkladů do Matematiky Vektory V tomto textu je spočteno několik ukázkových příkladů které vám snad pomohou při řešení příkladů do cvičení. V textu se objeví i pár detailů které jsem nestihl

Více

Vrcholová barevnost grafu

Vrcholová 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íce

1 Vektorové prostory.

1 Vektorové prostory. 1 Vektorové prostory DefiniceMnožinu V, jejíž prvky budeme označovat a, b, c, z, budeme nazývat vektorovým prostorem právě tehdy, když budou splněny následující podmínky: 1 Je dáno zobrazení V V V, které

Více

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

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

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

PŘ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íce

1 Výroková logika 1. 2 Predikátová logika 3. 3 Důkazy matematických vět 4. 4 Doporučená literatura 7

1 Výroková logika 1. 2 Predikátová logika 3. 3 Důkazy matematických vět 4. 4 Doporučená literatura 7 1 Výroková logika 1 Výroková logika 1 2 Predikátová logika 3 3 Důkazy matematických vět 4 4 Doporučená literatura 7 Definice 1.1 Výrokem rozumíme každé sdělení, o kterém má smysl uvažovat, zda je, či není

Více

Logika. 6. Axiomatický systém výrokové logiky

Logika. 6. Axiomatický systém výrokové logiky Logika 6. Axiomatický systém výrokové logiky RNDr. Luděk Cienciala, Ph. D. Tato inovace předmětu Úvod do logiky je spolufinancována Evropským sociálním fondem a Státním rozpočtem ČR, projekt č. CZ. 1.07/2.2.00/28.0216,

Více

3. Reálná čísla. většinou racionálních čísel. V analytických úvahách, které praktickým výpočtům

3. Reálná čísla. většinou racionálních čísel. V analytických úvahách, které praktickým výpočtům RACIONÁLNÍ A IRACIONÁLNÍ ČÍSLA Význačnými množinami jsou číselné množiny K nejvýznamnějším patří množina reálných čísel, obsahující jako podmnožiny množiny přirozených, celých, racionálních a iracionálních

Více

Báze a dimenze vektorových prostorů

Báze a dimenze vektorových prostorů Báze a dimenze vektorových prostorů Buď (V, +, ) vektorový prostor nad tělesem (T, +, ). Nechť u 1, u 2,..., u n je konečná posloupnost vektorů z V. Existují-li prvky s 1, s 2,..., s n T, z nichž alespoň

Více

1 Báze a dimenze vektorového prostoru 1

1 Báze a dimenze vektorového prostoru 1 1 Báze a dimenze vektorového prostoru 1 Báze a dimenze vektorového prostoru 1 2 Aritmetické vektorové prostory 7 3 Eukleidovské vektorové prostory 9 Levá vnější operace Definice 5.1 Necht A B. Levou vnější

Více

Matematická analýza pro informatiky I. Limita funkce

Matematická analýza pro informatiky I. Limita funkce Matematická analýza pro informatiky I. 5. přednáška Limita funkce Jan Tomeček tomecek@inf.upol.cz http://aix-slx.upol.cz/ tomecek/index Univerzita Palackého v Olomouci 18. března 2011 Jan Tomeček, tomecek@inf.upol.cz

Více

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

p 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íce

H {{u, v} : u,v U u v }

H {{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íce

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

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a

Více

Matematika B101MA1, B101MA2

Matematika B101MA1, B101MA2 Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet

Více

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.

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

Regulá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 / 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íce

TOPOLOGIE 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. 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íce

8 Kořeny cyklických kódů, BCH-kódy

8 Kořeny cyklických kódů, BCH-kódy 24 8 Kořeny cyklických kódů, BCH-kódy Generující kořeny cyklických kódů Nechť K je cyklický kód délky n nad Z p s generujícím polynomem g(z). Chceme najít rozšíření T tělesa Z p, tedy nějaké těleso GF

Více

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D. Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických

Více

Matematická logika. Rostislav Horčík. horcik

Matematická logika. Rostislav Horčík.  horcik Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 15 Splnitelnost množin Definice Množina

Více

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19 Algoritmy I Číselné soustavy přečíst!!! Číselné soustavy Každé číslo lze zapsat v poziční číselné soustavě ve tvaru: a n *z n +a n-1 *z n-1 +. +a 1 *z 1 +a 0 *z 0 +a -1 *z n-1 +a -2 *z -2 +.. V dekadické

Více

Způsoby realizace této funkce:

Způsoby realizace této funkce: KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je výstup určen jen výhradně kombinací vstupních veličin. Hodnoty výstupních veličin nezávisejí na předcházejícím stavu logického obvodu, což znamená, že kombinační

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška šestá 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íce

Predikátová logika. prvního řádu

Predikátová logika. prvního řádu Predikátová logika prvního řádu 2 Predikát Predikát je n-ární relace - vyjadřuje vlastnosti objektů a vztahy mezi objekty - z jednoduchého výroku vznikne vypuštěním alespoň jednoho jména objektu (individua)

Více

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

Fakulta informačních technologií. Teoretická informatika Vysoké učení technické v Brně Fakulta informačních technologií Teoretická informatika Třetí úkol 2 Jan Trávníček . Tato úloha je řešena Turingovým strojem, který je zobrazen na obrázku, který si můžeme

Více

Matematická analýza 1

Matematická 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íce

Naproti tomu gramatika je vlastně soupis pravidel, jak

Naproti 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