MULTIDIMENSIONÁLNÍ JAZYKY A JEJICH AUTOMATY MULTI-DIMENSIONAL LANGUAGES AND THEIR AUTOMATA

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

Download "MULTIDIMENSIONÁLNÍ JAZYKY A JEJICH AUTOMATY MULTI-DIMENSIONAL LANGUAGES AND THEIR AUTOMATA"

Transkript

1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS MULTIDIMENSIONÁLNÍ JAZYKY A JEJICH AUTOMATY MULTI-DIMENSIONAL LANGUAGES AND THEIR AUTOMATA BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR LUKÁŠ DIBĎÁK Prof. RNDr. ALEXANDER MEDUNA, CSc. BRNO 2016

2

3 Astrkt Práce seznmuje s teorií formálních jzyků konečných utomtů. Popisuje zoecnění této teorie do dvou rozměrů. Předstvuje zákldní typy dvoudimensionálních utomtů, především teselční utomty. Pro teselční utomty jsou nídnuty lgoritmy k jejich determinizci. Jeden z lgoritmů je následně používán přiloženou plikcí pro determinizci. Astrct The Bchelor s Thesis introduces the theory of forml lnguges nd finite utomt. It descries generlistion of one-dimensionl theory into two dimensions. It introduces sic types of two-dimensionl utomt, especilly on-line tesselltion utomt. This pper offers lgorithms for the process of determiniztion of on-line tesselltion utomt. One of the lgorithms is used in enclosed ppliction. Klíčová slov Konečné utomty, Determinizce, Formální jzyky, Dvoudimensionální jzyky, Dvoudimensionální utomty, Teselční utomty Keywords Finite utomt, Determiniztion, Forml lnguges, Two-dimensionl lnguges, Twodimensionl utomt, On-line tesselltion utomt Citce DIBĎÁK, Lukáš. Multidimensionální jzyky jejich utomty. Brno, Bklářská práce. Vysoké učení technické v Brně, Fkult informčních technologií. Vedoucí práce Medun Alexnder.

4 Multidimensionální jzyky jejich utomty Prohlášení Prohlšuji, že jsem tuto klářskou práci vyprcovl smosttně pod vedením pn prof. RNDr. Alexnder Meduny, CSc. Uvedl jsem všechny literární prmeny pulikce, ze kterých jsem čerpl Lukáš Diďák 15. květn 2016 Poděkování Chtěl ych poděkovt vedoucímu této práce, prof. RNDr. Alexnderu Medunovi, CSc., z jeho čs, rdy celkovou spolupráci. c Lukáš Diďák, Tto práce vznikl jko školní dílo n Vysokém učení technickém v Brně, Fkultě informčních technologií. Práce je chráněn utorským zákonem její užití ez udělení oprávnění utorem je nezákonné, s výjimkou zákonem definovných přípdů.

5 Osh 1 Úvod 3 2 Jednorozměrné jzyky konečné utomty Aecedy, řetězce jzyky Aeced Řetězec řetězcové operce Mocnění ecedy vytváření řetězců Jzyk Regulární výrzy jzyky Konečné utomty Definice chování konečného utomtu Proces determinizce utomtu Dlší typy konečných utomtů Dvourozměrné jzyky konečné utomty Zoecnění principů pro dv rozměry Regulární výrzy jzyky Dvourozměrné konečné utomty Čtyřcestný utomt Teselční utomt Determinizce teselčního utomtu Rozor nedeterminismu Algoritmy determinizce Algoritmus s nedostupnými stvy Algoritmus pouze s dostupnými stvy funkcemi Aplikce Uživtelské rozhrní Stvy Vstupní symoly Trnsitivní funkce Implementce Implementce vnitřní logiky Implementce grfického rozhrní Závěr 44 1

6 Litertur 45 Přílohy 46 Seznm příloh A Osh DVD 48 2

7 Kpitol 1 Úvod Cílem práce je seznámit s teorií formálních jzyků konečných utomtů v jedné i dvou dimensích. Jádrem práce je předstvení lgoritmů pro determinizci teselčního utomtu implementce jednoho z lgoritmů do přiložené plikce pro možnost provedení procesu determinizce teselčního utomtu. Práce poskytuje informce o teorii formálních jzyků. Popisuje zákldní pojmy jednorozměrných jzyků vysvětluje elementární prolemtiku těchto jzyků. Informuje o modelech pro chrkterizci regulárních jzyků regulárních výrzech konečných utomtech. Zmiňuje možnost ekvivlentního převodu mezi těmito modely. U regulárních výrzů definuje, které regulární jzyky znčí. Definuje konečné utomty princip jejich činnosti. Uvádí prolemtiku determinizce u jednorozměrných utomtů vyorzuje zákldní typy konečných utomtů. Po seznámení s teorií jednorozměrných formálních jzyků je poskytnut pohled n zoecnění této teorie do dvou rozměrů. Jsou definovány zákldní pojmy dvoudimensionálních jzyků. Práce dále předstvuje vzthy mezi tomickými jzyky regulárními výrzy, které společně znčí regulární jzyky ve dvou rozměrech. Jsou definovány dvoudimensionální utomty, jejich chování jsou vyorzeny jejich zákldní typy. Pro teselční utomt, který ptří do skupiny celulárních utomtů, jsou rozerány možné způsoy nedeterminismu. Je vysvětleno, kde tento nedeterminismus vzniká jsou vylíčen řešení, jk prolém nedeterminismu řešit. Jsou nídnuty lgoritmy pro implementci procesu determinizce teselčního utomtu. Prolém nedeterminismu jeho řešení pomocí lgoritmů je demonstrován n příkldu nedeterministického teselčního utomtu. Podle přiloženého lgoritmu je implementován plikce umožňující využít procesu determinizce nd teselčním utomtem. Tto plikce je implementován v jzyku Jv. Aplikce nízí přehledné pro osluhu jednoduché grfické uživtelské rozhrní. Je popsán implementce vnitřní logiky plikce i využítí grfických tříd, které nízí jzyk Jv, pro implementci grfického uživtelského rozhrní. 3

8 Kpitol 2 Jednorozměrné jzyky konečné utomty Kpitol se zývá vysvětlením zákldních pojmů z olsti teorie jednorozměrných jzyků konečných utomtů potřených k pochopení dlší teorie dvoudimensionálních jzyků utomtů. Osh této kpitoly je náplní předmětu IFJ v rámci klářského studi n FIT VUT v Brně, vyučovného prof. Medunou. Definice lgoritmy zmíněné v této kpitole jsou čerpány z přednáškových mteriálů k tomuto předmětu neo z knihy prof. Meduny [3]. 2.1 Aecedy, řetězce jzyky Podle nlogie jsou zákldními prvky jzyk písmen jeho ecedy. Z těchto písmen se skládáním vytváří slov. Nekteré z těchto slov tvoří slovo jzyk některé nikoliv. Jzyk je následně určen množinou slov tohoto jzyk. Tvor těchto slov je definován pomocí grmtických prvidel, které určují, které posloupnosti písmen tvoří slovo jzyk [6] Aeced Aecedu lze definovt jko liovolnou konečnou neprázdnou množinu symolů. Podle konvence ývá oznčován písmenem Σ. Pokud element náleží do ecedy Σ, pk je tento vzth zpsán jko Σ element lze prohlásit prvkem ecedy Σ. Níže je přiložen definice ecedy několik příkldů eced. Definice 1. Aeced je konečná, neprázdná množin elementů, které nzýváme symoly. Příkld 1. Σ = {0, 1}, pk Σ znčí inární ecedu [1]. Příkld 2. Σ = {,, c,..., z}, pk Σ znčí ecedu mlých písmen [1]. Příkld 3. Σ = {+,, *, /}, pk Σ znčí ecedu zákldních mtemtických opercí Řetězec řetězcové operce Řetězec, v některých literturách oznčován tké jko slovo, lze definovt jko konečnou posloupnost symolů nějké ecedy Σ. Tyto symoly se smozřejmě mohou v posloupnosti opkovt. Speciálním přípdem je prázdný řetězec neo-li tké prázdné slovo. V tomto řetězci se nevyskytuje žádný symol z ecedy Σ je podle konvence znčen jko ε. 4

9 Definice 2. Nechť Σ je eced, pk 1. ε je řetězec nd ecedou Σ 2. pokud x je řetězec nd Σ Σ, potom x je řetězec nd ecedou Σ Nd kždým řetězcem lze provést operci zjištění délky řetězce. Délk řetězce je definován jko počet výskytů kteréhokoliv symolu ecedy Σ v dném řetězci. Délk řetězce 101 nd ecedou Σ je znčen jko 101. Délk prázdného řetězce ε je nul. Jedná se o jediný řetězec s touto délkou. Příkld 4. Nechť Σ = {0, 1}, pk řetězce 0100, 10, 0, 0101, 1111 jsou řetězce nd touto ecedou jejich délky odpovídjí 0100 = 4, 10 = 2, 0 = 1 ε = Mocnění ecedy vytváření řetězců Aecedu je možné mocnit tím vyjádřit určitou délku řetězců z ecedy Σ. Mocnění se provádí pomocí exponencionální notce, kde Σ k znčí podmnožinu všech řetězců o velikosti k z ecedy Σ. Počet těchto řetězců se rovná 2 k. Množin všech podmnožin všech různých délek řetězců nd ecedou Σ, nzýván jko uzávěr ecedy Σ, je znčen Σ *. Množinu Σ * lze tedy tké definovt jko Σ * = Σ 0 Σ 1 Σ 2 Σ 3... Uzávěr ecedy Σ, pomocí konvencí zpsáno jko Σ *, lze vyloučit o prvek prázdného řetězce ε. Uzávěr Σ * vyloučený o prvek prázdného řetězce ε je oznčován Σ +. Pro množinu Σ + lze pk definovt následudící dv vzthy Příkld 5. Σ = {0, 1}, pk Σ + = Σ 1 Σ 2 Σ 3... Σ * = Σ + {ε}. Σ 0 = {ε}, Σ 1 = {0, 1}, Σ 2 = {00, 01, 10, 11}... Nd kždými dvěm řetězci nd ecedou Σ lze provádět operci konktennce. Operci konktennce řetězců x y lze zjednodušeně popst jko vytvoření kopie řetězce x následovného kopií řetězce y. Pro konktennci dvou řetězců x ε pltí, že výsledkem této konktennce je řetězec x. Formálně, xε = εx = x. Níže přikládám úplnou definici konktennce definice dvou neméně důležitých opercí nd řetězcem, reverzce mocnění řetězce. 5

10 Definice 3. Nechť x y jsou dv řetězce nd ecedou Σ. Konktence řetězců x y je řetězec xy. Definice 4. Nechť x je řetězec nd ecedou Σ. Reverzce řetězce x, reversl(x), je definován: 1. pokud x = ε, pk reversl(ε) = ε 2. pokud x = 1... n pk reversl( 1... n ) = n... 1 pro n 1 i pro všechn i = 1,..., n Definice 5. Nechť x je řetězec nd ecedou Σ. Pro i 0, i-tá mocnin řetězce x, x i, je definován: 1. x 0 = ε 2. pro i 1 : x i = xx i Jzyk Jzyk nd ecedou Σ je definován jko množin řetězců z uzávěru Σ *, formálně L Σ *. Konečný jzyk oshuje konečný počet řetězců n pro n 1, ztímco u nekončeného jzyk je počet těchto řetězců nekonečný. Kždý jzyk nd ecedou Σ oshuje vždy nejméně dv prvky prázdnou množinu (neoshuje žádný prvek) prázdný řetězec {ε} (oshuje jeden prvek) [3]. Definice 6. Nechť Σ * znčí množinu všech řetězců nd Σ. Kždá podmnožin L Σ * je jzyk nd Σ. Příkld 6. Nechť Σ = {, }, jestliže jzyk L Σ * je definován jko pk jzyk L oshuje pouze tyto řetězce: L = { n n : 1 n 3},,,. Nd jzyky lze provádět sdu opercí. Stejně jko u řetězců lze využít operci konktennce. Tu lze u formálních jzyků definovt Definice 7. Nechť L 1 L 2 jsou dv jzyky nd Σ. Konktence jzyků L 1 L 2, L 1 L 2, je definován jko L 1 L 2 = {xy : x L 1 y L 2 }. Následují definice klsických množinových opercí sjednocení, průnik rozdíl množin specifikovné pro dv jzyky L 1 L 2. Definice 8. Nechť L 1 L 2 jsou dv jzyky nd Σ. Sjednocení jzyků L 1 L 2, L 1 L 2, je definováno: L 1 L 2 = {x : x L 1 neo x L 2 }. Definice 9. Nechť L 1 L 2 jsou dv jzyky nd Σ. Průnik jzyků L 1 L 2, L 1 L 2, je definován: 6

11 L 1 L 2 = {x : x L 1 x L 2 }. Definice 10. Nechť L 1 L 2 jsou dv jzyky nd Σ. Rozdíl jzyků L 1 L 2, L 1 L 2, je definován: L 1 L 2 = {x : x L 1 x L 2 }. S využitím operce reverzce řetězce je možné operci reverzce plikovt n jzyk. Definice 11. Nechť L je jzyk nd ecedou Σ. Reverzce jzyk L, reverse(l), je definován: reverse(l) = {reverse(x) : x L}. Je optimální zmínit následující tři důležité operce nd formálním jzykem doplněk, mocnění iterci jzyk. Definice 12. Nechť L je jzyk nd ecedou Σ. Doplněk jzyk L, L, je definován jko L = Σ * L. Definice 13. Nechť L je jzyk nd ecedou Σ. Pro i 0, i-tá mocnin jzyk L, L i, je definován: 1. L 0 = {ε} 2. pro i 1 : L i = LL i 1 Definice 14. Nechť L je jzyk nd ecedou Σ. Iterce jzyk L, L *, pozitivní iterce jzyk L, L +, jsou definovány L * = i=0 Li, 2.2 Regulární výrzy jzyky L + = i=1 Li. V dlších kpitolách udou vysvětleny dv zákldní modely pro chrkterizci regulárních jzyků regulární výrzy konečné utomty. Jelikož všechny řetězce nejsou kceptovné jzykem, je vhodné umět tyto řetězce popst. Akceptovné řetězce lze popst pomocí konečných utomtů či regulárních výrzů. Oproti konečným utomtům, kterým je vyhrzen následující podkpitol 2.3, regulární výrzy nízejí možnost vyjádřit kceptovné řetězce deklrtivně - pomocí výrzu oshujícího symoly operátory. Tyto operátory znčí elementární operce nd jednotlivými symoly jsou popsány v tulce 2.1. Operce (.) ( + ) ( * ) Popis předstvuje konktennci symolů předstvuje výěr jednoho ze symolů neo předstvuje iterci nd symolem Tulk 2.1: Zákldní operce regulárních výrzů Jzyky, které regulární výrzy znčí, lze definovt tulkou 2.2 (regulární výrz r znční jzyk L r regulární výrz s znčí jzyk L s ). 7

12 Regulární výrz Regulární jzyk, který znčí ε {ε}, kde Σ {} (r.s) L = L r L s (r + s) L = L r L s (r * ) L = L * Tulk 2.2: Regulární výrzy jzyky které znčí Regulární jzyk musí ýt vždy definován regulárním výrzem. Definice 15. Nechť L je jzyk. L je regulární jzyk, pokud existuje regulární výrz r, který tento jzyk znčí. Příkld 7. Nechť regulární výrz r = + + definuje regulární jzyk L. Tento jzyk je pk znčen L = { n n : n 1}. Regulární výrzy konečné utomty jsou mezi seou návzájem převoditelné. Pro kždý konečný utomt M existuje regulární výrz r [3]. 2.3 Konečné utomty Konečný utomt je jednoduchý výpočetní model. Jeho součástí je vstupní pásk, čtecí hlv konečné stvové řízení [3]. Vstupní pásk je rozdělen n čtverce, kždý čtverec oshuje jeden vstupní symol [3]. Tto pásk se pohyuje pod čtecí hlvou Čtecí hlv čte symoly ze vstupní pásky. Symol, který je pod čtecí hlvou je ktuálně zprcovávný Konečné stvové řízení je reprezentováno konečnou množinou stvů společně s konečnou množinou prvidel [3]. Tyto prvidl slouží pro pohy mezi jednotlivými stvy Automt následně provádí sekvenční kroky. Tyto sekvenční kroky jsou definovány prvidly. Prvidl určují jk je součsný stv měněn. Automt má definovný počáteční stv množinu koncových stvů. Pokud je ze vstupní pásky přečten symol, pásk se posune pod čtecí hlvou se nství symol následující z právě přečteným symolem. Konečné stvové řízení následně symol pod čtecí hlvou zprcuje, v množině prvidel vyhledá vhodné prvidlo posune se, je-li to možné. Úkolem utomtu je se posunout po přečtení vstupní pásky z počátečního stvu do jednoho z definovných koncových stvů. Výsledkem jsou dvě tvrzení. Automt kceptuje sekvenci symolů n pásce, popř. tuto sekvenci odmítá [3]. Automt ze vstupní pásky nemusí přečíst v sekvenčním kroku ni jeden symol, pk dochází k použití prvidl s ε-přechodem, tedy provedení nulové konfigurce. 8

13 2.3.1 Definice chování konečného utomtu Definice 16. Konečný utomt je pětice: M = (Q, Σ, R, s, F ), kde Q je konečná množin stvů Σ je vstupní eced R je konečná množin prvidel tvru: p q, kde p, q Q, Σ {ε} s Q je počáteční stv F Q je množin koncových stvů Chování utomtu je reprezentováno konfigurcí χ, skládjící se z ktuálního stvu utomtu následnou sekvencí symolů pro přechod mezi stvy. Formálně, χ QΣ *. Smotná konfigurce oshuje sekvenci přechodů. Přechod reprezentuje jeden výpočetní krok [3] podle vyrného prvidl z množiny prvidel R. Po provedení přechodu vzniká nová konfigurce. Nul provedených přechodů z konfigurce χ do konfigurce χ nznčuje, že n vstupní pásce neyl přečten zádný symol ylo použito prvidlo utomtu s ε-přechodem. Definice 17. Nechť χ je konfigurce. Konečný utomt M provede nul přechodů z χ do χ; zpisujeme: neo zjednodušeně χ 0 [ε] χ 0 χ. V opčném přípdě, kdy yl ze vstupní pásky přečten symol, či v sekvenčních krocích více symolů, vzniká sekvence přechodů. Níže přikládám definici pro sekvenci přechodů konfigurcí. Definice 18. Nechť χ 0, χ 1,..., χ n je sekvence přechodů konfigurcí pro n 1 pro všechn i = 1,..., n, což znmená: χ i 1 χ i [r i ], r i R χ 0 χ 1 [r 1 ] χ 2 [r 2 ]... χ n [r n ]. Pk M provede n-přechodů z χ 0 do χ n ; zpisujeme: neo zjednodušeně χ 0 χ n [r 1... r n ] χ 0 n χ n. 9

14 Příkld 8. Nechť konfigurce χ oshuje sekvenci q. Automt definovný množinou stvů vstupní ecedou Q = {q, r, s}, Σ = {, } má definovné dvě prvidl q r [1] r s [2], pk je možné pomocí prvidl [1] provést přechod následně dlší přechod podle prvidl [2] q r r s neo lze souhrnně zpst dv přechody konfigurce χ q 2 s. Pokud je utomt schopen přečíst celou sekvenci přechodů skončí v jednom z definovných koncových stvů utomtu, pk je přečtený řetězec přijímným řetězcem [3]. Definice 19. Nechť M = (Q, Σ, R, s, F ) je konečný utomt. Jzyk přijímný konečným utomtem M, L(M), je definován: L(M) = {w : w Σ *, sw * f, f F }. Konečný utomt lze znázornit grficky pomocí stvů symolů. Stvy jsou uzvřené v kruhu. Pokud je stv koncový, pk je uzvřen ve dvojitém kruhu. Stvy uzvřené v kruhu jsou spojeny. Tyto spoje znázorňují přechody jsou oznčeny symolem šipkou definující vstupní výstupní stv. Příkld 9. Nechť M = (Q, Σ, R, s, F ) je konečný utomt oshující prvidlo kde q r R, Q = {s, q, r}, Σ = {, }. Toto prvidlo lze grficky znázornit pomocí orázku 2.1. q r Orázek 2.1: Grfické znázornění prvidl utomtu 10

15 2.3.2 Proces determinizce utomtu Nedeterminizovný konečný utomt může přejít z jedné konfigurce do více dlších. Není tedy specificky určeno do které konfigurce má přejít tím může vzniknout jiný výsledek než který yl předpokládán. Determinizovný konečný utomt smí z jedné konfigurce přejít do mximálně jedné dlší. Pro kždý konečný utomt M existuje ekvivlentní model determinizovného konečného utomtu M d [3]. Proces převedení nedeterministického utomtu n ekvivlentní model deterministického utomtu se nzývá determinizce utomtu. Mezikrokem mezi konečným utomtem M determinizovným konečným utomtem M d je vytvoření ekvivlentního modelu utomtu ez ε-přechodů M. Definice 20. Dv modely pro popis formálních jzyků (npř. konečné utomty) jsou ekvivlentní, pokud specifikují tentýž jzyk. Nederminizovnou část konečného utomtu lze demonstrovt n příkldu níže. Příkld 10. Nechť M = (Q, Σ, R, s, F ) je konečný utomt definovný Q = {s, q, r}, Σ = {, } oshuje v množině prvidel R mimojiné prvidl, grficky znázorněné n orázku 2.2 s q s r, pk při konfigurci s vzniká nejednoznčnost, které prvidlo z prvidel výše použít. Po provedení konfigurce y následující konfigurce mohly ýt q r. q s r Orázek 2.2: Ukázk nedeterminismu konečného utomtu M Pokud konečný utomt oshuje prvidl s ε-přechody, pk smí utomt provádět ε-pohyy. Při tomto pohyu utomt nečte ze vstupní pásky žádný symol hrozí riziko vzniku nedeterminismu. Pro vytvoření determinizovného utomtu je tře prvidl s těmito přechody odstrnit. Řešením může ýt vytvoření ekvivlentního modelu konečného utomtu M, který neoshuje žádné ε-prvidl. Při procesu determinizce je nutné nejdříve převést konečný utomt M oshující prvidl s ε-přechody n konečný utomt ez prvidel s ε-přechody M. Níže přikládám definici pro konečný utomt ez ε-přechodů. 11

16 Definice 21. Nechť M = (Q, Σ, R, s, F ) je konečný utomt. M je konečný utomt ez ε-přechodů, pokud pro kždé prvidlo kde p, q Q, pltí: p q R, Σ ( ε). Pro možnost správného odstrnění ε-přechodů je nutné nejdříve pro kždý stv utomtu vytvořit jeho ε-uzávěr. Tento uzávěr musí oshovt všechny osttní stvy z utomtu do kterých lze ze stvu, pro který je ε-uzávěr vytvářen, přejít ez přečtení vstupního symolu. Níže je přiložen formální definice pro ε-uzávěr. Definice 22. Pro kždý stv p Q je definován ε-uzávěr(p): ε-uzávěr(p) = {q : q Q, p * q}. Příkld 11. Nechť M = (Q, Σ, R, s, F ) je konečný utomt, kde Q = {s, q, r, f}, v množině prvidel R jsou tyto prvidl pk ε-uzávěr(s) oshuje množinu stvů s q q r r f, {s, q, r}, Σ = {} jelikož se do těchto stvů lze dostt ez přečtení symolu (pouze využitím ε-prvidel. Tento uzávěr je grficky znázorněn n orázku 2.3. ε ε s q r f Orázek 2.3: Grfické znázornění ε-uzávěru pro stv s Vytvoření uzávěrů lze zlgoritmizovt. Jeden tkový lgoritmus 1 je přiložen níže. Vstupem je konečný utomt M = (Q, Σ, R, s, F ). Výstupem ε-uzávěr(p). Jelikož je vytvářen ε-uzávěr pro stv p, předpokládá se, že stv p náleží do množiny stvů utomtu M, formálně p Q. Následně je potře tyto uzávěry zprcovt. Pro kždý ε-uzávěr(p), kde p Q, lgoritmus 2 njde všechny prvidl ve tvru kde q r (q r) R, Σ {ε}, q ε-uzávěr(p). Do množiny prvidel ez ε-přechodů R se přidá prvidlo ve tvru p r. Pokud je nějká shod mezi stvy ε-uzávěru(p) koncovými stvy původního utomtu M, pk je stv p vložen do koncových stvů utomtu ez ε-přechodů M. 12

17 Algoritmus 1 získání hodnot ε-uzávěru stvu p Vstup: M = (Q, Σ, R, s, F); Výstup: ε-uzávěr(p) 1: i := 0; Q 0 := {p}; 2: repet 3: i := i + 1; p Q 4: Q i := Q i 1 {p : p Q, q p R, q Q i 1 }; 5: until Q i = Q i 1 ; 6: ε-uzávěr(p) := Q i. Algoritmus 2 odstrnění ε-přechodů Vstup: M = (Q, Σ, R, s, F) Výstup: M = (Q, Σ, R, s, F ) 1: R := ; 2: for ech p Q do egin 3: R := R {p q : p q R, Σ, p ε-uzávěr(p), q Q}; 4: end for 5: F := {p : p Q, ε-uzávěr(p) F }. Příkld 12. Nechť M = (Q, Σ, R, s, F ) je konečný utomt s ε-přechody, definovný Q = {s, q, r, f}, Σ = {, }, oshující v množině R prvidl s q, s r, q q, q f, r f, je vyorzený n orázku 2.4. ε q strt s r f Orázek 2.4: Konečný utomt oshující ε-přechod Pk lze podle lgoritmu 1 pro vytvoření ε-uzávěrů vytvořit tyto uzávěry ε-uzávěr(s) = {s, q} ε-uzávěr(q) = {q} ε-uzávěr(r) = {r} ε-uzávěr(f) = {f} 13

18 Podle lgoritmu 2 je nutné vzniklé ε-uzávěry zprcovt vytvořit nová prvidl do množiny R nové koncové stvy do množiny F konečného utomtu M. Konečná množin stvů Q, počáteční symol s množin vstupních symolů Σ se duplikuje z konečného utomtu s ε-přechody M. Množinu nových prvidel R prezentuje tulk 2.3, množinu nových koncových stvů F pk tulk 2.4. ε-uzávěr(s) ε-uzávěr(q) ε-uzávěr(r) ε-uzávěr(f) s r q q r f s q q f s f Tulk 2.3: Prvidl utomtu ez ε-přechodů ε-uzávěr(s) ε-uzávěr(q) ε-uzávěr(r) ε-uzávěr(f) f Tulk 2.4: Koncové stvy utomtu ez ε-přechodů Výsledný utomt ez ε-přechodů, M = (Q, Σ, R, s, F ), je zorzen n orázku 2.5. q strt s r f Orázek 2.5: Ekvivlentní konečný utomt ez ε-přechodů Druhým krokem v procesu determinizce je odstrnění nedeterministických prvidel utomtu. Vstupem je konečný utomt ez ε-přechodů M, výstupem konečný deterministický utomt M d. V tomto textu udou prezentovány dv lgoritmy pro determinizci konečného utomtu. První lgoritmus 3 vytváří stvy ze všech podmnožin množiny stvů vstupního konečného utomtu M. Bohužel vytváří nedostupné stvy do kterých utomt nemůže vkročit pomocí žádné konfigurce. Pro prktické využití je determinizovný utomt vytvořený tímto lgoritmem nevhodný, jelikož oshuje redundntní dt. Nejprve se vytvoří všechny podmnožiny stvů. Těchto komincí pro n stvů je 2 n 1. Vytvoření těchto podmnožin je demonstrováno v příkldu níže. 14

19 Příkld 13. Nechť M = (Q, Σ, R, s, F ) je konečný utomt, oshující v množině stvů tři stvy, formálně zpsáno Q = {q, r, s}. Tyto stvy vytvořené podmnožinmi Q pro determinizci jsou {q}, {r}, {s}, {q, r}, {q, s}, {r, s}, {q, r, s}. Po vytvoření podmnožin se pro kždý stv podmnožiny, který náleží podmnožině prohledjí prvidl ve tvru p q R, kde Σ. Pokud jeden ze stvů podmnožiny odpovídá stvu p, pk se vytvoří prvidlo, kde je stv p nhrzen celou touto podmnožinou. Pokud pro symol existuje více prvidel vyhovujících pro p, pk se výstupní stvy q slučují vytvoří nový stv. Pokud je jeden prvek z této podmnožiny shodný s některým koncovým stvem M, pk je tto podmnožin oznčen jko koncový stv. Algoritmus 3 determinizce s vytvářením nedostupných stvů Vstup: M = (Q, Σ, R, s, F) - ez ε-přechodů Výstup: M d = (Q d, Σ, R d, s d, F d ) 1: Q d := {Q : Q Q, Q }; 2: R d := ; 3: for ech Q Q d nd Σ do egin 4: Q := {q : p Q, p q R}; 5: if Q = then R d := R d {Q Q }; 6: end for 7: s d := {s}; 8: F d := {F : F Q d, F F = }. Druhý lgoritmus 4 postupuje ve všech možných konfigurcích reálného utomtu. Vznikjí tedy pouze dostupné stvy nutné pro přirozené chování utomtu. Zároveň nejsou vytvářen žádná redundntní dt. Definici dostupného stvu přikládám níže. Definice 23. Nechť M = (Q, Σ, R, s, F ) je konečný utomt. Stv je dostupný, pokud existuje pro který pltí Jink q je nedostupný. q Q w Σ *, sw * q. 15

20 Algoritmus 4 determinizce s vytvářením pouze dostupných stvů Vstup: M = (Q, Σ, R, s, F) - ez ε-přechodů Výstup: M d = (Q d, Σ, R d, s d, F d ) - ez nedostupných stvů 1: s d := {s}; Q new := {s d }; 2: R d := ; Q d := ; F d := ; 3: repet 4: Q Q new ; Q new := Q new {Q }; Q d := Q d {Q }; 5: for ech Σ do egin 6: Q := {q : p Q, p q R}; 7: if Q then R d := R d {Q Q }; 8: if Q Q d { } then Q new := Q new {Q } 9: end for 10: if Q F = then 11: F d := F d {Q } 12: end if 13: until Q new =. Následuje jednoduchá ukázk odstrnění nedeteminismu. Avšk, tento princip je smozřejmě využitelný i u složitějších utomtů s výšší mírou nedeterminismu. Příkld 14. Nechť M = (Q, Σ, R, s, F ) je konečný utomt neoshující žádná prvidl s ε-přechody, který je definován Q = {s, q, r, f}, Σ = {, }, s těmito prvidly v množině prvidel R s q, s r, q r, q f, r f, pk ve stvu q vzniká nedeterminismus, jelikož lze pomocí symolu, formálně pomocí konfigurce q přejít do více než jedné dlší konfigurce. Konkrétně do r či f. Tento konečný utomt M je vyorzen n orázku 2.6. q strt s r f Orázek 2.6: Nedeterministický konečný utomt V následujícím textu udu demonstrovt odstrnění tohoto nedeterminismu ez vytváření nedostupných stvů pomocí lgoritmu 4. V kždém průchodu cyklu lgoritmu se zprcovává jeden stv utomtu z množiny stvů ke zprcování. Při prvním průchodu se zprcovává inicilizční stv. Následně se pro kždý symol prohledávjí prvidl ve tvru 16

21 p q R, kde p je zprcovávný stv zprcovávný symol. Pokud je lespoň jedno tkové prvidlo nlezeno, vytvoří se nové prvidlo. Zde může při více výskytech vstupní části p dojít ke slučování stvů ve výstupní části q. Pokud je ve zprcovávném stv osžen jeden z koncových stvů (zprcovávný stv se může skládt z více stvů z důvodu slučování stvů), pk je zprcovávný stv vložen mezi koncové stvy nového utomtu M d. Pokud je front stvů ke zprcování prázdná, pk lgoritmus končí. Pro tento příkld lgoritmus zčíná zprcovávt počáteční stv s. Algoritmus nlezne prvidl pro kždý ze symolů, tedy pro vstupní část ve tvru s i s. Vytvoří prvidl výstupní stvy q, respektive r zřdí do fronty ke zprcování. Dále se zprcovává stv q. Zde dochází k nedeterminismu pro vstupní část q jsou nlezeny dv výstupní stvy r f. Dochází tedy ke sloučení těchto stvů stv r f je zřzen do fronty ke zprcování. Podoně lgoritmus pokrčuje i pro osttní stvy r, r f f. Jelikož už není vytvořen žádný nový stv, který y mohl ýt zprcován, lgoritmus následně končí. Celý průěh lgoritmu je zznmenán v tulce 2.5, výsledný utomt je grficky zorzen n orázku 2.7. Průchod Zprcovávný stv Vytvořené prvidl Stvy ke zprcování 1 s s q, s r q, r 2 q q r f r f 3 r r f f 4 r f r f f 5 f Tulk 2.5: Průchody lgoritmu nedeterminizovným utomtem q strt s {r, f} f r Orázek 2.7: Trnsformovný deterministický konečný utomt 17

22 2.3.3 Dlší typy konečných utomtů V této kpitole udou stručně vysvětleny dlší dv typy konečných utomtů - úplný determinizovný konečný utomt doře specifikovný konečný utomt. Úplný determinizovný konečný utomt má definovný výstupní stv q pro kteroukoliv dvojici vstupní části prvidl p, kde p q R, p Q, Σ. Následuje formální definice úplného determinizovného konečného utomtu. Definice 24. Nechť M = (Q, Σ, R, s, F ) je determinizovný konečný utomt. M je úplný, pokud pro liovolné p Q, Σ existuje právě jedno prvidlo p q R pro nějké q Q. Jink M je neúplný. Příkld úplného deterministického konečného utomtu je uveden n orázku 2.8. Tento utomt je uprvený podle prvidel pro vytvoření úplného determinizovného konečného utomtu. Zákldem je determinizovný konečný utomt 2.7 z minulé podkpitoly Dále přikládám lgoritmus 5 podle kterého je možné tento utomt vytvořit., q, q flse strt s {r, f} f r Orázek 2.8: Úplný deterministický konečný utomt 18

23 Algoritmus 5 vytvoření úplného determinizovného konečného utomtu Vstup: M = (Q, Σ, R, s, F) Výstup: M c = (Q c, Σ, R c, s, F) 1: Q c := Q {q flse }; 2: R c := R {q q flse : Σ, q Q c, q p R, p Q}. Posledním typem jednorozměrného konečného utomtu, který v této práci ude vysvětlen je doře specifikovný konečný utomt. Pro vytvoření tohoto utomtu je tře zvit konečný utomt ε-přechodů provést determinizci. Tím ude zjištěno, že utomt neude oshovt nedostupné stvy. Dále je nutné utomt zvit neukončujících stvů převést ho n úplný determinizovný konečný utomt. Níže je přiložen definice ukončujícího stvu. Definice 25. Nechť M = (Q, Σ, R, s, F ) je deterministický konečný utomt. Stv q Q je ukončující, pokud existuje řetězec w Σ *, pro který pltí: qw * f, f F. Jink q je neukončující. Po splnění všech těchto podmínek vzniká doře specifikovný konečný utomt. Avšk i tento utomt oshuje právě jeden neukončující stv q flse. 19

24 Kpitol 3 Dvourozměrné jzyky konečné utomty Následující kpitol shrnuje pozntky potřené k pochopení zákldních principů dvoudimensionálních jzyků utomtů. Zoecňuje principy jednorozměrných jzyků do dvou rozměrů. Seznmuje s regulárními jzyky ve dvou rozměrech. Předstvuje zákldní typy dvoudimensionálních utomtů s důrzem n teselční utomt, n který je následně nvázán kpitol 4 vysvětlující proces determinizce nd tímto utomtem. 3.1 Zoecnění principů pro dv rozměry Podsttou dvourozměrných jzyků je zoecnění konceptů technik teorie formálních jzyků do dvou dimenzí [2]. Dvourozměrné jzyky zvádí nový pojem, kterým je orz. Jedná se o řetězec zoecněný z jednorozměrných jzyků z kpitoly 2 do dvou rozměrů. Orz tedy reprezentuje dvourozměrný řetězec. Definice 26. Dvourozměrný řetězec (neo tké orz) nd ecedou Σ je dvourozměrné pole elementů z ecedy Σ. Množin všech dvourozměrných řetězců nd ecedou Σ je znčen Σ **. Dvourozměrný jzyk nd ecedou Σ je podmnožinou Σ ** [5]. Nechť existuje orz p, kde p Σ **, pk l 1 (p) znčí počet řádků p l 2 (p) znčí počet sloupců p. Dvojice l 1 (p) l 2 (p) definuje velikost p. Existuje jediný orz s velikostí 0 0, který je oznčován jko prázdný orz, Λ [4]. Orzy s velikostí 0 n, n 0, kde n > 0, nejsou definovány. Množinu všech orzů o velikosti m n, kde m, n > 0, nd ecedou Σ oznčujeme jko Σ m n [2]. 20

25 pk Dále, nechť p je orz. Jestliže i, j jsou definovány znčí symol n souřdnicích i, j orzu p. 0 i l 1 (p) 0 j l 2 (p), p(i, j) neo-li p i,j Příkld 15. Nechť Σ = {}, dvoudimensionální jzyk reprezentovný množinou všech orzů oshujících pouze symol, které jsou definovány dvěmi řádky lze ýt zpsán L = {p p Σ ** l 1 (p) = 2} [5]. Grficky lze některé z těchto orzů znázornit podle orázku 3.1. Orázek 3.1: Ukázk prvních třech orzů dvoudimensionálního jzyk L Dvoudimensionální řetězce (orzy) definují sdu opercí. První z této sdy opercí pro orz p je operce ^p. Jestliže p definuje svojí velikost jko pk se velikost ^p rovná m n, (m + 2) (n + 2), kdy po okrjích orzu p je přidán speciální symol znčící hrnici orzu [5]. Tento speciální symol je identifikován pomocí znku #, kde # Σ. Ukázk operce ^p pro orz p je vyorzen n orázku 3.2. # # # # # # # # # # # # # # # # Orázek 3.2: Orz p následné provedení operce ^p 21

26 Dlšími dvěm opercemi, které udou v tomto textu prezentovány jsou řádková sloupcová konktennce [5]. Nechť p q jsou dv dvourozměrné řetězce nd ecedou Σ kde p k,l q m,n, k, l, m, n > 0. Tyto řetězce jsou vyorzeny n orázku 3.3. p = p 1,1. p k,1 p 1,l.... q = p k,l q 1,1. q m,1... q 1,n. q m,n Orázek 3.3: Grfická ilustrce orzů p q Řádková konktennce nd řetězci p, q je možná pouze pokud l = n sloupcová konktennce je možná pouze pokud k = m. Ukázky oou těchto konktenncí jsou ilustrovány n orázcích 3.4, respektive 3.5. p q = p 1,1. p k,1 q 1,1. q m, p 1,l. p k,l q 1,n. q m,n Orázek 3.4: Řádková konktennce orzů p q p q = p 1,1. p k,1 p 1,l q 1, p k,l q m,1... q 1,n. q m,n Orázek 3.5: Sloupcová konktennce orzů p q Jestliže dochází ke konktennci liovolného neprázdného orzu prázdného orzu Λ, pk výsledek je vždy definován Λ se v tomto přípdě chová jko neutrální prvek [5]. 22

27 Řádková sloupcová konktennce jsou kromě dvoudimensionálních řetězců plikovtelné i n dv dvoudimensionální jzyky. Definice 27. Nechť L 1 L 2 jsou dvoudimensionální jzyky nd ecedou Σ. Řádková konktennce jzyků L 1 L 2, L 1 L 2, je definován L 1 L 2 = {p q p L 1 q L 2 } [5]. Definice 28. Nechť L 1 L 2 jsou dvoudimensionální jzyky nd ecedou Σ. Sloupcová konktennce jzyků L 1 L 2, L 1 L 2, je definován L 1 L 2 = {p q p L 1 q L 2 } [5]. Pomocí itercí řádkových neo sloupcových konktenncí nd dvoudimensionálním jzykem lze získt uzávěr dné konktennce nd dným dvoudimensionálním jzykem [5]. Definice 29. Nechť L je dvourozměrný jzyk. Sloupcový uzávěr L je definován L 0 = Λ, L 1 L * = i=0 Li = L, L * = L L(n 1). Definice 30. Nechť L je dvourozměrný jzyk. Řádkový uzávěr L je definován L * = i=0 Li L 0 = Λ, L 1 = L, L * = L L (n 1). Příkld 16. Nechť L je jzyk nd ecedou Σ. Pk L ** lze definovt pomocí konktenncí L ** = (L * 3.2 Regulární výrzy jzyky ) *. Nechť Σ je liovolná eced, pk prázdný jzyk, kždý jzyk { }, kde Σ, jsou nzývány tomické jzyky nd ecedou Σ [5]. Množin regulárních opercí, které lze nd tomickými jzyky plikovt, je R = {,, *, *,,, c }. Jzyk nd ecedou Σ je regulární, pokud ho lze získt z nějkého tomického jzyk pomocí konečně mnoh plikcí opercí z R. Regulární výrz je pk předpis, který udává, jkým způsoem je dný jzyk pomocí regulárních opercí z tomických jzyků získán [2]. Které operce jednotlivé operátory z množiny R znčí je uvedeno v tulce 3.1. Definice 31. Regulární výrz nd ecedou Σ je rekurzivně definován 1. kždé Σ jsou regulární výrzy 2. Nechť α β jsou regulární výrzy, pk (α) (β), (α) (β), c (α), (α) (β), (α) (β), (α)*, (α)* jsou regulární výrzy [5] 23

28 Kždý regulární výrz nd ecedou Σ znčí dvoudimensionální jzyk nd ecedou Σ. Definice 32. Dvoudimensionální jzyk L Σ ** je regulární, jestliže existuje regulární výrz nd Σ, který jej znčí. Operátor (α) (β) (α) (β) c (α) (α) (β) (α) (β) (α) * (α) * Význm operátoru znčí sjednocení jzyků α β znčí průnik jzyků α β doplněk jzyk α znčí řádkovou konktennci α β znčí sloupcovou konktennci α β znčí řádkovou iterci α znčí sloupcovou iterci α Tulk 3.1: Operátory nd regulárními výrzy [2] Příkld 17. Nechť Σ = {, }, pk regulární výrz ((( ) * ) (( )* ))* znčí jzyky vzhledu "šchovnice" se sudou délkou strn. Dv tkové příkldy orzů znázorňuje orázek 3.6. Orázek 3.6: Grficky znázorněné orzy vyhovující regulárnímu výrzu 24

29 3.3 Dvourozměrné konečné utomty Tto podkpitol popisuje dv zákldní typy dvoudimensionálních konečných utomtů, konkrétně čtyřcestný teselční. Teselčnímu utomtu je věnován větší pozornost vzhledem k jeho determinizci v kpitole 4. Dvoudimensionální konečný utomt čte dvourozměrnou pásku n zákldě vnitřních prvidel, které jsou nzývány trnsitivní funkce, se po této pásce pohyuje. Podoně jko jednorozměrný utomt, dvourozměrný utomt iniciuje svojí činnost inicilizčním stvem postupně zprcovává vstupní pásku. O tyto typy utomtů oshují kceptující i odmítjící stv (stvy) pro přijmutí či odmítnutí dného orzu Čtyřcestný utomt Dvoudimensionální utomt, rozšiřující klsický dvoudimensionální utomt, rozeznává řetězce pohyem ve čtyřech směrech vlevo, vprvo, nhoru dolů. Definice 33. Nedeterministický (deterministický) čtyřcestný konečný utomt, znčený jko 4NFA (4DFA), je sedmice A = (Σ, Q,, q 0, q, q r, δ) kde Σ je vstupní eced Q je konečná množin stvů = {R, L, U, D} je množin směrů pro pohy utomtu q 0 je inicilizční stv q, q r Q je "kceptující", respektive "odmítjící" stv δ : {q, q r } Σ 2 Q (δ : {q, q r } Σ Q ) je trnsitivní funkce [5]. Jedná se o model konečného stvového řízení pomocí Q, pro jednorozměrné utomty popsáno v kpitole 2.3, který čte vstupní orz. Pohy čtecí hlvy je ovlivňován trnsitivní funkcí, která rozhoduje km se utomt dále n vstupním orze ude pohyovt [2]. U tohoto typu utomtu je trnsitivní funkci předán ktuální stv, ktuální symol pozice n které se nchází ve vstupním orzu výstupem trnsitivní funkce je nový stv pro konečné stvové řízení směr, kterým se n vstupním orzu čtecí hlv ude pohyovt. Pokud utomt nrzí n stv q neo q r, pk utomt zství, protože pro tyto stvy, podle definice čtyřcestného konečného utomtu, nejsou definovány žádné trnsitivní funkce, které y pro dlší pohy utomtu mohly ýt použity. Jestliže utomt nrzil n stv q, pk je tento vstupní orz přijt. Pokud nrzil n stv q r, pk je orz odmítnut. Automt prcuje nd vstupním orzem p, nd kterým yl proveden operce ^p prezentován v podkpitole 3.1. Pk utomt ví, kdy se nchází n okrji vstupního orzu utomticky se vrátí zpět do p v následujícím kroku. 25

30 Ukázkové kroky čtyřcestného utomtu jsou grficky vyorzeny n orázku 3.7. t 1 t 2 t 3 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Orázek 3.7: Ukázk pohyu čtyřcestného utomtu Teselční utomt Předchozí utomt se pohyovl po vstupním orzu sekvenčně, kdy při kždém kroku zprcovl pouze jeden symol podle tohoto symolu se n vstupní pásce přesunul v jednom směru. Teselční utomt ptří do skupiny celulárních utomtů. U celulárních utomtů lze vstupní pásku chápt jko pole uňek, kde kždá tto uňk v kždém kroku může měnit svůj stv podle svého okolí. Kroky, které celulární utomt provádí jsou diskrétní. Nrozdíl od čtyřcestného utomtu je možné zprcovávt více uňek v jednom kroku. Jk je zmíněno výše, teselční utomt ptří do skupiny celulárních utomtů. Provádí tedy diskrétní kroky, všk při kždém kroku nemění hodnoty všech uňek. Teselční utomt prochází vstupní pásku digonálně podle předchozí zprcovné digonály, která je částečným okolím ktuální digonály, sociuje všechny stvy ktuálně zprcovávné digonály součsně. Kždá uňk má ve svém okolí z předchozí digonály dv zprcovávné stvy, stv "nd uňkou" stv "vlevo od uňky". Následně je této uňce přiřzen stv podle trnsitivní funkce, která je zorzen v definici níže [5]. Definice 34. Nedeterministický (deterministický) dvoudimensionální teselční utomt, znčený jko 2OTA (2-DOTA), je pětice A = (Σ, Q, q 0, F, δ) kde Σ je vstupní eced Q je konečná množin stvů q 0 Q je inicilizční stv, F Q je množin kceptujících stvů δ : Q Q Σ 2 Q (δ : Q Q Σ Q) je trnsitivní funkce Jelikož se, nrozdíl od čtyřcestného utomtu, teselční utomt nemůže liovolněkrát vrátit n některou z uňěk, celý ěh utomtu A n orzu ^p má konstntní počet kroků. Těchto kroků je l 1 (p) + l 2 (p) 1. 26

31 V čse t = 0 jsou všechny pozice prvního řádku sloupce ^p sociovány inicilizčním stvem. V čse t = 1 je přečten první uňk orzu p, p(1, 1), je jí přiřzen stv podle inicilizční trnsitivní funkce ve tvru δ(q 0, q 0, p(1, 1)). V čse t = 2 jsou zprcovány uňky n pozici (1, 2) (2, 1) je jim přiřzen stv podle odpovídjících trnsitivních funkcí. Automt dále pokrčuje po všech digonálách zprcovává tímto způsoem všechny stvy v digonále. V čse t = k, kde k = i + j 1, jsou součsně sociovány všechny stvy pro pozice (i, j). Automt A rozeznává přijímá orz, jestliže stv sociovný n pozici (l 1 (p), l 2 (p)) odpovídá konečnému stvu. N orázku 3.8 jsou zorzeny první tři kroky teselčního utomtu včetně inicilizčního kroku t = 0 (inicilizční stv q 0 je reprezentován stvem I), v dlších krocích jsou pk zvýrzněny stvy, které v dném kroku udou zprcovávány. t 0 t 1 t 2 # I # I # I # I # I # I # I # I # I # I # I # I # I # I # I # I # # I # # I # # I # I # # # I # I # # # I # I # # # I # # # # # I # # # # # I # # # # Orázek 3.8: Ukázk pohyu teselčního utomtu 27

32 Kpitol 4 Determinizce teselčního utomtu Tto kpitol seznmuje s prolémy determinizce dvoudimensionálního teselčního konečného utomtu, rozeírá tyto prolémy následně nízí řešení v podoě dvou lgoritmů. První lgoritmus generuje nedostupné stvy trnsitivní funkce, druhý lgoritmus nikoliv. 4.1 Rozor nedeterminismu Trnsitivní funkce má u nedeterministického teselčního utomtu tvr δ : Q Q Σ 2 Q [5]. ztímco u deterministického teselčního utomtu má tvr δ : Q Q Σ Q [5]. Nedeterminismus u teselčních utomtů vzniká, pokud se pro stejnou vstupní část trnsitivní funkce vyskytuje více různých výstupních částí. Počet těchto výstupních částí pro některou trnsitivní funkci může ýt ž 2 Q, kde 2 Q znčí potenční množinu oshující všechny podmnožiny množiny Q. Toto chování je pro jednoznčnost utomtu nepřijtelné. Příkld nedeterminismu u teselčních utomtů je prezentován n příkldu níže. Příkld 18. Nechť M = (Q, Σ, δ, q 0, F ) je nedeterminizovný konečný dvoudimensionální teselční utomt definovný Q = {0, 1, 2, 3, 4, 5, 6, 7, 8}, Σ = {, }, q 0 = {0}, F = {5}. s množinou trnsitivních funkcí δ oshující trnsitivní funkce δ(0 0 ) 1 [1], δ(0 0 ) 2 [2]. pk je teselční utomt nedeterministický, jelikož pro vstupní část δ(0 0 ) existují dvě výstupní části definovné stvy

33 Při výskytu více výstupních částí pro zprcovávnou vstupní část trnsitivní funkce je tře tyto výstupní části slučovt stejně jko u jednorozměrného konečného utomtu. Buňk teselčního utomtu smí oshovt ž n sloučených či nesloučených stvů, kde n znčí počet vstupních symolů v množině vstupních symolů Σ dného utomtu. Počet těchto stvů v uňce závisí n tom, zd-li existují pro tyto symoly zprcovávné stvy vyhovující prvidl. Ukázk je demonstrován níže. Příkld 19. Nechť M = (Q, Σ, δ, q 0, F ) je konečný nedeterminizovný dvoudimensionální teselční utomt z příkldu 18. Kromě trnsitivních funkcí v množině trnsitivních funkcí δ z tohoto příkldu oshuje tto množin nvíc ještě tyto trnsitivní funkce δ(1 0 ) 3 [3], δ(1 0 ) 4 [4], δ(0 1 ) 5 [5], δ(0 1 ) 6 [6], δ(0 1 ) 7 [7], δ(0 2 ) 8 [8], δ(0 2 ) 9 [9]. pk při zprcování první uňky vzniká při prvním (inicilizčním) kroku trnsitivní funkce δ(0 0 ) 1 2 [1, 2], jelikož neexistuje žádná vyhovující inicilizční trnsitivní funkce pro symol, ude v prvním inicilizčním kroku vytvořen pouze tto jedn trnsitivní funkce. Z trnsitivní funkcí je uvedeno z jkých trnsitivních funkcí z původního nedeterministického teselčního utomtu vznikl. Zprcovávná uňk (i, j) uchovává tento výstupní stv pro symol. Pokud y existovlo vhodné inicilizční prvidlo pro symol, pk y ylo nutné v uňce uchovávt kromě stvu pro symol i stv pro symol. Při druhém průchodu je zprcováván uňk (i, j), kde uňk (i 1, j) oshuje stv 0, uňk (i, j 1) oshuje stv 1 2. Pro uňku (i, j) je nutné pro všechny symoly projít všechny komince krtézského součinu stvů v uňkách (i 1, j) (i, j 1). Jedná se tedy o komince 0 1, 0 2. Všechny úplné vstupní části trnsitivních funkcí pro zprcovávnou uňku (i, j) v nedeterminizovném utomtu jsou δ(0 1 ) [10], δ(0 2 ) [11], δ(0 1 ) [12], δ(0 2 ) [13]. výstupní části prvních dvou vstupních částí [10] [11] z původního nedeterminizovného utomtu udou následně v determinizovném utomtu tvořit jeden výstupní stv. Pokud 29

34 v původním nedeterministickém utomtu existují oě trnsitivní funkce s dnou vstupní částí [10] [11], pk dochází ke sloučení výstupních částí těchto funkcí výsledný stv ude uložen v uňce (i, j) jko stv pro symol. Odoně je nutné proces opkovt i pro vstupní části [12] [13] pokud udou i tyto vstupní části v původním nedeterministickém utomtu existovt, pk se jejich výstupní stv (sloučený či nesloučený podle počtu výskytů trnsitivních funkcí) uloží do téže uňky jko stv pro symol. Jk je prezentováno dříve, uňk tedy může uchovávt více stvů pro různé symoly. Vstupní části trnsitivních funkcí [10] ž [13] se v množině trnsitivních funkcí δ v původním nedeterminizovném utomtu vyskytují všechny. Dochází ke slučování všech výstupních stvů pro dný symol do determinizovného utomtu se přidávjí trnsitivní funkce δ(0 1 2 ) 4 7 [4, 7], δ(0 1 2 ) [5, 6, 8]. Buňk (i, j) uchovává pro jednotlivé symoly tyto stvy : 4 7, : Stejným způsoem se provádí zprcování uňek i dále pro celý teselční utomt. Pro druhou uňku zprcovávnou v tomto kroku (i, j), kde uňk (i 1, j) oshuje stv 1 2, uňk (i, j 1) oshuje stv 0, vznikjí do determinizovného teselčního utomtu trnsitivní funkce δ(1 2 0 ) 3 [3], δ(1 2 0 ) 4 [4]. V následujícím kroku utomtu y pro zprcovávnou uňku (i, j), kde uňk (i 1, j) oshuje stv 0, uňk (i, j 1) oshuje stvy 4 7 pro symol, uňk (i, j 1) oshuje stvy pro symol, yly všechny úplné vstupní části trnsitivních funkcí v původním nedeterminizovném teselčním utomtu δ(0 4 ), δ(0 7 ), δ(0 5 ), δ(0 6 ), δ(0 8 ), δ(0 4 ), δ(0 7 ), δ(0 5 ), δ(0 6 ), δ(0 8 ). celý postup popisovný v tomto příkldu je znázorněn n orázku 4.1. Pokud je při determinizci vytvořen nová trnsitivní funkce je jeden z výstupních stvů shodný s některým stvem z původní množiny koncových stvů, pk je tento výstupní stv nově vytvořené trnsitivní funkce přidán do koncových stvů determinizovného teselčního utomtu. 30

35 q 0 0 q 0 0 q 0 0 q 0 0 # # # # p 0,0 p 0,1 p 0,2 p 0,3 q 0 # 0 p 1, q 0 # 0 p 2,0 3 4 q 0 # 0 p 3,0 Orázek 4.1: Postup při odstrňování nedeterminismu Příkld 20. Nechť M = (Q, Σ, δ, q 0, F ) je konečný determinizovný dvoudimensionální teselční utomt z příkldu 19. Při determinizci yl vytvořen trnsitivní funkce δ(0 1 2 ) Původní nedeterministický utomt má definovnou množinu koncových stvů F = {5}. Nový výstupní stv trnsitivní funkce ( tedy i nový stv determinizovného utomtu) má jeden ze stvů shodný s některým ze stvů z původní množiny koncových stvů nedeterministického utomtu proto ude stv oznčen jko koncový stv determinizovného utomtu 4.2 Algoritmy determinizce Následuje stručné vysvětlení syntktických konstrukcí principů jednotlivých lgoritmů determinizce 6 7. Algoritmus 6 generuje trnsitivní funkce stvy, které neudou nikdy použity z důvodu redundntní informce není vhodný. Pro implementci v přiložené plikci, která je popsán v kpitole 5, je využit lgoritmus 7, který nedostupné stvy trnsitivní funkce negeneruje Algoritmus s nedostupnými stvy Tento typ lgoritmu je prezentován lgoritmem 6. Příkld vstupu výstupu po provedení procesu determinizce pomocí toho lgoritmu je prezentován v příkldu 21. Před zhájením lgoritmu je do množiny stvů ke zprcování Q proc vložen inicilizční stv. Hlvní smyčk je se provede vzhledem ke své konstrukci vždy minimálně jednou pro inicilizční typ trnsitivní funkce. Ve vnitřní logice lgoritmu se přidávjí stvy ke zprcování. 31

36 Pokud je množin stvů ke zprcování prázdná, pk lgoritmus končí. Z množiny stvů ke zprcování Q proc se vyjme stv v proměnné Q current přichází dále ke zprcování. Tento stv se vloží do množiny determinizovných (výsledných) stvů Q d. Jelikož jsou trnsitivní funkce ve tvru δ : (Q 1 Q 2 ) Q 3, pk může ýt zprcovávný stv uď n pozici Q 1 neo Q 2. Do proměnných Q top Q left se tedy uloží vyhovující dvojice se zprcovávným stvem symolem v konstrukci pro kždý symol z množiny vstupních symolů Σ. V následujících konstrukcích se prochází proměnné Q top Q left vyhledávjí se výstupní části trnsitivních funkcí. Dále se vytváří trnsitivní funkce s dným výstupním stvem. Pokud nlezený výstupní stv ještě neyl zprcovný (není osžen v množině stvů Q d ), pk se vloží do množiny stvů ke zprcování Q proc. Jestliže je v tomto stvu (může dojít ke sloučení stvů, výstupních stvů může ýt více) osžen některý s původních koncových stvů nedeterminizovného utomtu, pk je tento výstupní stv vložen do koncových stvů determinizovného utomtu. Algoritmus 6 determinizce teselčního utomtu s nedostupnými stvy funkcemi Vstup: M = (Q, Σ, δ, q 0, F) Výstup: M d = (Q d, Σ, δ d, q 0, F d ) - s nedostupnými stvy 1: repet 2: Q proc := unique(q proc ); 3: Q current := Q proc ; 4: Q proc := Q proc Q current ; 5: Q d := Q d Q current ; 6: for ech Σ do egin 7: Q top := {Q 1 : Q 2 Q current, δ(q 1 Q 2 ) Q 3 ; 8: Q left := {Q 2 : Q 1 Q current, δ(q 1 Q 2 ) Q 3 ; 9: for ech top Q top do egin 10: Q out := {Q 3 : Q 1 top, Q 2 Q current, δ(q 1 Q 2 ) Q 3 }; 11: δ d := δ d δ(top Q current ) Q out ; 12: if Q out Q d then Q proc := Q proc {Q out }; 13: if Q out F then F d := F d {Q out } 14: end for 15: for ech left Q left do egin 16: Q out := {Q 3 : Q 1 Q current, Q 2 left, δ(q 1 Q 2 ) Q 3 }; 17: δ d := δ d δ(q current left ) Q out ; 18: if Q out Q d then Q proc := Q proc {Q out }; 19: if Q out F then F d := F d {Q out } 20: end for 21: end for 22: until Q proc = ; 23: δ d := unique(δ d ); 24: F d := unique(f d ). 32

37 4.2.2 Algoritmus pouze s dostupnými stvy funkcemi Tento typ lgoritmu je prezentován lgoritmem 7. Příkld vstupu výstupu po provedení procesu determinizce pomocí tohoto lgoritmu je prezentován v příkldu 21. Hlvní smyčk lgoritmu se provede vždy minimálně jednou pro inicilizční stv, který musí ýt vždy součástí utomtu pro spuštění procesu determinizce. Množin stvů Q proc reprezentuje ktuálně zprcovávnou digonálu, respektive ktuální zprcovávný krok teselčního utomtu. Před zprcováním kždé digonály se stvy z digonály Q proc vkládjí do množiny determinizovných stvů Q d. Buňky v digonále se zprcovávjí po dvojicích, přičemž před zprcováním kždé digonály jsou n zčátek konec množiny vloženy uňky oshující inicilizční stv, y ylo dodrženo přirozené chování postupu utomtu. Jednotlivé zprcovávné dvojice se mpují do proměnné Q mp z důvodu testování konečné podmínky lgoritmu. Při procházení dvojic uňek digonály (i 1, j) (i, j 1) se vytváří krtézský součin všech stvů těchto uňek. Tyto uňky mohou oshovt sloučené stvy zároveň více stvů pro různé symoly. Následně se dvojice tohoto krtézského součinu prochází pro kždý symol Σ. Pokud je nlezen vyhovující trnsitivní funkce (vstupní část tvoří právě zprcovávné stvy krtézského součinu právě zprcovávný vstupní symol) v původním nedeterminizovném teselčním utomtu, pk se vytvoří nová trnsitivní funkce do determinizovného teselčního utomtu výstupní stv (stv pro uňku (i, j)) pro dný symol se přidá do množiny stvů Q step. Množin Q step reprezentuje uňku utomtu. Pokud se jeden z výstupních stvů (může kvůli slučování stvů oshovt těchto stvů více) shoduje s některým z původních koncových stvů, pk je přidán celý tento výstupní stv do koncových stvů determinizovného utomtu. Po dokončení procházení krtézského součinu zprcovávné dvojice je množin Q step reprezentující uňku vložen do proměnné Q next, která reprezentuje následující digonálu, respektive následující krok teselčního utomtu. Jkmile již nelze v ktuálním kroku zprcovt žádnou dlší dvojici, pk digonál Q next, která ude zprcováván v příštím kroku oznčen jko ktuálně zprcovávná lgoritmus pokrčuje v následujícím průchodu se zprcováváním této nové digonály. Jednotlivé dvojice se mpují následně se před zprcováváním dlší digonály kontroluje toto mpování. Jestliže všechny dvojice v digonále, která má ýt zprcováván v příštím kroku, jsou již nmpovné (testuje se s přidáním dočsných uněk oshující inicilizční stvy n zčátek konec digonály), pk nemá význm provádět zprcování této digonály, jelikož y nevznikly žádné nové trnsitivní funkce ni stvy lgoritmus lze tedy ukončit ještě v tomto průchodu lgoritmu. Příkld 21. Nechť M = (Q, Σ, δ, q 0, F ) je nedeterminizovný konečný teselční utomt definovný Q = {0, 1, 2, 3}, Σ = {}, q 0 = {0}, F = {1}, 33

38 s množinou trnsitivních funkcí δ oshující trnsitivní funkce δ(0 0 ) 1, δ(2 3 ) 1, δ(0 1 ) 2, δ(0 2 ) 2, δ(2 1 ) 2, δ(2 2 ) 2, δ(0 1 ) 3, δ(1 0 ) 3, δ(3 0 ) 3, δ(1 3 ) 3, δ(3 3 ) 3. pk po procesu determinizce z použití lgoritmu 6 vzniká determinizovný teselční utomt M 1 = (Q 1, Σ, δ 1, q 0, F 1 ) definovný Q 1 = {0, 1, 3, 2, 23, 12, 13}, Σ = {}, q 0 = {0}, F 1 = {1, 12, 13}, s množinou trnsitivních funkcí δ 1 oshující trnsitivní funkce δ(0 0 ) 1, δ(1 0 ) 3, δ(3 0 ) 3, δ(0 1 ) 23, δ(0 2 ) 2, δ(2 1 ) 2, δ(1 3 ) 3, δ(2 3 ) 1, δ(3 3 ) 3, δ(2 2 ) 2, δ(2 23 ) 12, δ(0 23 ) 2, δ(1 23 ) 3, δ(3 23 ) 3, δ(23 3 ) 13, δ(23 1 ) 2, δ(23 2 ) 2, δ(23 0 ) 3, δ(0 12 ) 23, δ(2 12 ) 2, δ(12 3 ) 13, δ(12 1 ) 2, δ(12 2 ) 2, δ(12 0 ) 3, δ(2 13 ) 12, δ(0 13 ) 23, δ(1 13 ) 3, δ(3 13 ) 3, δ(13 0 ) 3, δ(13 3 ) 3. Ztímco po provedení procesu determinizce pomocí lgoritmu 7 vzniká determinizovný teselční utomt M 2 = (Q 2, Σ, δ 2, q 0, F 2 ) definovný Q 2 = {0, 1, 23, 3, 2, 13, 12}, Σ = {}, q 0 = {0}, F 2 = {1, 13, 12}, s množinou trnsitivních funkcí δ 2 oshující trnsitivní funkce δ(0 0 ) 1, δ(0 1 ) 23, δ(1 0 ) 3, δ(0 23 ) 2, δ(23 3 ) 13, δ(3 0 ) 3, δ(0 2 ) 2, δ(2 13 ) 12, δ(13 3 ) 3, δ(2 12 ) 2, δ(12 3 ) 13, δ(3 3 ) 3, δ(2 2 ) 2. Je zřejmé, že první lgoritmus 6 vygenerovl mnohem více trnsitivních funkcí některé z nich neudou vzhledem k postupu utomtu nikdy použity. Tyto funkce jsou tedy nepotřené množství informcí vygenerovné prvním lgoritmem je redundntní. Při nevhodně zvoleném nedeterminizovném teselčním utomtu může dojít i k vytváření nedostupných stvů, to le není tento přípd. Jelikož druhý lgoritmus 7 kopíruje chování utomtu jeho průchody dvoudimensionálním řetězcem, ude vždy generovt pouze dostupné trnsitivní funkce stvy potřené k fungování utomtu. 34

39 Algoritmus 7 determinizce teselčního utomtu s dostupnými stvy funkcemi Vstup: M = (Q, Σ, δ, q 0, F) Výstup: M d = (Q d, Σ, δ d, q 0, F d ) - s dostupnými stvy 1: repet 2: Q d := Q d Q proc ; 3: Q proc := I Q proc I; 4: repet 5: Q top Q proc 6: Q proc := Q proc {Q top } 7: Q left := Q proc 8: Q mp := mp(q top, Q left ); 9: for ech top Q top do egin 10: for ech left Q left do egin 11: for ech Σ do egin 12: Q out := {Q 3 : Q 1 top, Q 2 left, δ d (Q 1 Q 2 ) Q 3 δ}; 13: if Q out then 14: δ d := δ d δ(top left ) Q out 15: Q step := Q step Q out ; 16: end if 17: if Q out F then F d := F d Q out ; 18: end for 19: end for 20: end for 21: Q next := Q next Q step ; 22: Q step = ; 23: until count(q proc ) > 1; 24: Q proc := Q next ; 25: Q next := ; 26: until mpcheck(q mp, Q proc ) 27: Q d := unique(q d ); δ d := unique(δ d ); F d := unique(f d ). 35

40 Kpitol 5 Aplikce Následující kpitol se zývá popisem výsledné plikce n determinizci konečného teselčního utomtu. Bude předstveno uživtelské rozhrní, zdůvodněn výěr progrmovcího jzyk popsán způso implementce. 5.1 Uživtelské rozhrní Zákldem progrmu je jednoduché funkční uživtelské rozhrní. Pro celý proces determinizce je zpotřeí nízký počet funkcí, které plikce nízí v uživtelském rozhrní s elegntním, jednoduchým přehledným designem. Při spuštění plikce se zorzí vodorovně rozdělené okno. Horní polovin vyorzuje ktuální hodnoty vstupního nedeterminizovného utomtu, dolní následně ktuální hodnoty výstupního determinizovného utomtu. Mezi těmito polovinmi se nchází tlčítko k zhájení procesu determinizce. Vstupní i výstupní utomt zorzuje tři zákldní komponenty teselčního utomtu stvy, symoly trnsitivní funkce. Všechny tyto komponenty jejich vyorzení udou prezentovány dále. Pokud je vstupní nedeterminizovný utomt prázdný, pk nelze spustit proces determinizce. Toto chování je indikováno nektivním tlčítkem Determinizovt uprostřed plikce. Ay ylo možné determinizci spustit, pk musí vstupní nedeterminizovný utomt oshovt nejméně jeden stv v množině stvů, který je zároveň oznčen jko inicilizční. N orázku 5.1 je pro úvodní předstvu vyorzeno uživtelské rozhrní plikce s ukázkovými dty utomtu Stvy Komponent stvů zhrnuje textové pole pro zdání názvu stvu, několik doplňujících možností pro specifikci stvu či filtrování stvů zásoník stvů pro rychlou orientci v již vložených stvech utomtu. Všechny tyto prvky rozhrní jsou pro větší přehlednost vyorzeny n orázku 5.3. Přidání stvu se provádí pomocí stisku tlčítk Přidt. Pokud je vstupní pole prázdné, pk nelze stv přidt, jelikož není pojmenovný. Pokud je zdán název stvu, který již v utomtu existuje, pk rovněž neude možné tento stv přidt. Tyto dvě možnosti, kdy nelze stv přidt jsou simulovány nektivním tlčítkem Přidt, které nelze v těchto situcích stisknout. Jestliže ude zdán název stvu, který se v utomtu ztím nevyskytuje, pk se tlčítko Přidt utomticky změní n ktivní uživteli tímto způsoem dává zpětnou vzu, že lze tento stv do utomtu přidt. Rekce tlčítk Přidt n různé vstupy v textovém poli je uveden n orázku

41 Orázek 5.1: Ukázk uživtelského rozhrní plikce Před smotným přidáním stvu lze zvolit ze dvou možností, které udávjí vlstnosti dného stvu. První možností je zškrtnutí pole Inic. stv, v tom přípdě ude stv oznčen jko inicilizční. Pokud se už ude v utomtu jeden inicilizční stv vyskytovt, pk plikce nedovolí uživteli dlší inicilizční stv přidt simuluje toto chování znektivněním této možnosti. Druhou možností je oznčit vkládný stv jko koncový pomocí zškrtnutí voly Koncový stv, potom ude stv přidán jko koncový. N tuto možnost se omezení nevzthují užvtel smí definovt liovolný počet koncových stvů. Poněvdž může uživtel vložit chyný stv, lze tento stv smzt oznčením dného stvu v zásoníku stvů stisknutím tlčítk Smzt. Pokud není v zásoníku stvů vyrán žádný stv, pk se tlčítko Smzt utomticky znektivní. Nopk, tlčítko Smzt se utomticky zktivní jkmile ude oznčen některý ze stvů v zásoníku. Následující možnosti již nepřidávjí specifikce pro přidávný stv, všk nízí možnost filtrování již vložených stvů. Zde jsou n výěr tři možnosti. Zorzit Všechny stvy, Inicilizční stv či Koncové stvy. Aktuální výěr indikuje znektivnění dného tlčítk. 37

42 Jednotlivé prvky komponenty stvů ilustrovné n orázku 5.3: 1. Textové pole pro vložení názvu stvu 2. Tlčítko Přidt 3. Tlčítko Smzt 4. Zškrtávcí ox Inicilizční stv 5. Zškrtávcí ox Koncový stv 6. Filtr Všechny stvy 7. Filtr Inicilizční stvy 8. Filtr Koncové stvy 9. Zásoník vložených stvů Orázek 5.2: Rekce mezi vstupem v textovém poli tlčítkem Přidt Vstupní symoly Komponent vstupních symolů nízí textové pole pro název symolu, který musí ýt jednoznkový tlčítk Přidt či Smzt. Funkčnost tlčítek Přidt Smzt je shodná s funkčností u komponenty stvů, nemá tedy smysl ji hlouěji rozeírt. Popis prvků komponenty vstupních symolů je prezentován níže, tyto prvky jsou ilustrovány n orázku 5.3. Jednotlivé prvky komponenty vstupních symolů: 10. Textové pole pro vložení názvu vstupního symolu 11. Tlčítko Přidt 12. Tlčítko Smzt 13. Zásoník vložených symolů 38

43 Orázek 5.3: Komponenty stvů symolů jejich popis Trnsitivní funkce Komponent trnsitivních funkcí nízí možnost přidávt jednotlivé trnsitivní funkce. Skládá se ze čtyř výěrových polí pro specifikci trnsitivní funkce, tlčítek Přidt Smzt, možností pro filtrování trnsitivní funkce zásoníku trnsitivních funkcí. Pro přidání trnsitivní funkce je podle předpisu trnsitivní funkce δ : Q Q Σ Q nutné zdt dv vstupní stvy, vstupní symol výstupní stv, y tto trnsitivní funkce mohl ýt pomocí tlčítk Přidt přidán. Tyto stvy symol musí ýt nejdříve přidné v komponentě stvů, respektive symolů. Pokud ještě trnsitivní funkce v zásoníku trnsitivních funkcí neexistuje, pk ji lze do zásoníku přidt pomocí stisknutí tlčítk Přidt. Pokud již v zásoníku existuje, pk je tlčítko Přidt znektivněno uživteli není umožněno jej stisknout. Pokud je oznčen některá z trnsitivních funkcí v zásoníku, pk ji lze smzt pomocí tlčítk Smzt. Pokud není v zásoníku oznčen žádná, pk je tlčítko znektivněno. Popis všech prvků komponenty trnsitivních funkcí je popsán níže tyto prvku jsou ilustrovány n orázku 5.4. Jednotlivé prvky komponenty trnsitivních funkcí: 1. Pole pro výěr vstupního stvu (i 1, j) 2. Pole pro výěr vstupního stvu (i, j 1) 3. Pole pro výěr vstupního symolu 4. Pole pro výěr výstupního stvu (i, j) 5. Tlčítko Přidt 39

44 6. Tlčítko Smzt 7. Filtr Všechny trnsitivní funkce 8. Filtr Inicilizční trnsitivní funkce. Jedná se o funkce, které v jednom ze stvů vstupní části oshují inicilizční stv 9. Filtr Koncové trnsitivní funkce. Jedná se o funkce, ve kterých je výstupní stv stvem koncovým 10. Zásoník vložených trnsitivních funkcí Orázek 5.4: Komponent trnsitivních funkcí její popis 5.2 Implementce Aplikce je implementován v Jvě. Jv je ojektovně orientovný progrmovcí jzyk. Jedná se o velmi rozšířený jzyk v součsné doě tké o nejpoužívnější progrmovcí jzyk n světě. Největší výhodou Jvy je ezesporu její přenositelnost nezávislost n konkrétní pltformě. Tento jzyk je tké velice ezpečný co se týče z hledisk tvoření potenciálně neezpečných syntktických konstrukcí přetypování. Jzyk yl dále zvolen kvůli elegntnímu lehce čitelnému kódu. Syntxe Jvy je jednoduchá, jelikož součástí jzyk nejsou některé ze zákldních progrmovcích součástí jzyků C/C++, npř. preprocesor či ukztele. Implementce proíhl ve dvou částech. První část definuje nprogrmování vnitřní logiky reprezentováno hlvní třídou vnitřní logiky Controller. Tto část zhrnovl vytvoření optimálního rozhrní pro stvy, symoly trnsitivní funkce implementci procesu determinizce podle lgoritmu 7 z předcházející kpitoly. Druhou část definuje vytvoření grfického uživtelského rozhrní pro snzší komunikci mezi vnitřní logikou plikce uživtelem. Tto část je reprezentován hlvní grfickou třídou AppWindow. Oě tyto části jsou uzvřeny v hlvní třídě progrmu zvné Determiniztion. 40

45 5.2.1 Implementce vnitřní logiky Hlvní třídou vnitřní logiky je tříd Controller, která zjišťuje hlvní kontrolu nd progrmem. Uchovává informce o vstupním nedeterminizovném konečném utomtu i výsledném výstupním konečném determinizovném utomtu, jednotlivé informce o právě zprcovávném kroku teselčního utomtu informce o mpování dvojic. Zároveň je v této třídě implementován nejdůležitější funkce celého progrmu smotný proces determinizce jeho lgoritmus. Tříd Controller využívá pro uchování informcí o utomtu třídu Automton. Tříd Automton ukládá jednotlivé trnsitivní funkce do instnce třídy RuleStck jednotlivé symoly do instnce třídy SymolStck. Smyslem těchto tříd, RuleStck SymolStck, je pouze uschovt jednotlivé instnce Rule pro trnsitivní funkci, respektive Symol pro symol, nízet sdu opercí nd těmito instncemi, npř. vrátit množinu těchto instncí či tyto instnce seřdit. Třídy RuleStck SymolStck využívjí dědičnosti generické třídy ArryList<>. Tříd Symol reprezentuje jeden vstupní symol utomtu, kdy využívá konstruktoru s jediným prmetrem typu chr, symoly tedy mohou ýt pouze jednoznkové. Tříd Rule uchovává informce o trnsitivní funkci, která se skládá ze třech stvů, dvou vstupních jednoho výstupního, jednoho symolu. Této signtuře odpovídá i jediný konstruktor této třídy. Třídy Rule i Symol implementují generické rozhrní Comprle pro možnost využití seřzení pomocí sttické metody sort třídy Collections pro seřzení množiny symolů/trnsitivních funkcí. Pro implementci stvů utomtu je zvoleno odlišné řešení. Celkem ylo implementováno pět tříd pro zprcování stvů front těchto stvů. Všechny tyto třídy jsou přehledně zorzeny v tulce 5.1. Jelikož může dojít při procesu determinizce ke slučování výstupních stvů, pk je nutné prcovt s instncí třídy, která je schopn uchovávt více než jeden stv. Tříd vytvářející tyto instnce je nzýván StteSet. Tto tříd je výchozí třídou pro reprezentci stvu v utomtu. Jednotlivé stvy, které tříd StteSet uchovává jsou reprezentovány třídou Stte. Tříd Stte nízí dv konstruktory. První konstruktor přeírá jeden prmetr typu String, který reprezentuje název stvu jedná se o stv, který nemá funkci inicilizčního ni koncového stvu. Druhý konstruktor kromě prmetru String pro deklrování názvu stvu nízí možnost vytvořit inicilizční či koncový stv pomocí dlších prmetrů typu Role. Enumerce Role nízí dvě hodnoty INIT pro inicilizční stv, FINITE pro koncový stv. Jedn uňk teselčního utomtu může oshovt při determinizci více stvů z důvodu přítomnosti více symolů v utomtu. Z tohoto důvodu se v progrmu vyskytuje tříd StteQueue. Tříd StteQueue reprezentuje jednu uňku teselčního utomtu uchovává instnce třídy StteSet, tedy jednotlivé stvy. Tto tříd nízí množinu opercí nd uchovávnými instncemi stvů, npř. řzení stvů, odstrnění duplicit stvů či různé druhy odstrňování stvů z množiny. Zprcovávný krok teselčního utomtu lze vykreslit jko digonálu, kterou prezentuje tříd DigonlQueue. Tříd DigonlQueue uchovává instnce třídy StteQueue, tedy jednotlivé uňky teselčního utomtu stvy v nich. Tto tříd nízí tké sdu opercí nd množinou uchovávných instncí. Jednou z těchto opercí je vložení inicilizčního stvu n zčátek i konec fronty tk, y yl správně simulováno zprcování digonály 41

46 teselčním utomtem. Poslední třídou prcující s množinou stvů je tříd MpQueue. Tto tříd slouží k mpování dvojic testování podmínky pro ukončení lgoritmu determinizce, jestliže již nelze zprcovt nové dvojice v příštím kroku utomtu tím vytvořit nové trnsitivní funkce či nové stvy. Tříd Stte StteSet StteQueue DigonlQueue MpQueue Význm třídy Jednotlivý stv Set reprezentující stv utomtu Buňk teselčního utomtu Digonál teselčního utomtu Mpování zprcovných dvojic utomtu Tulk 5.1: Shrnutí tříd prcujících se stvy či s množinou stvů Implementce grfického rozhrní Pro tvoru grfického uživtelského rozhrní jsou použity Jv knihovny AWT Swing. K rozvržení jednotlivých částí hlvního okn progrmu je použit především GridBgLyout, který dovoluje solutní kontrolu nd rozvržením. Sekundárně je pro jednodušší rozvržení použit BorderLyout. Pro zprcování událostí jsou použity třídy ActionListener pro tlčítk či KeyListener pro vstupní textové pole následné přepsání jejich metod. V tulce 5.2 jsou uvedeny zákldní třídy knihovny Swing pro tvoru prvků grfického uživtelského rozhrní. Jko hlvní třídu celého progrmu lze oznčit třídu Determiniztion dědící třídu Cnvs pro vytvoření uživtelského rozhrní. V této třídě se vytváří instnce hlvní logické třídy Controller pro vykonávání vnitřní logiky instnce třídy AppWindow dědící třídu JFrme definující hlvní okno plikce. Tříd AppWindow určuje specifické vlstnosti hlvního okn plikce, zejmén nstvení šířky výšky okn. Tříd MinPnel rozděluje hlvní okno progrmu n tři části. Horní dolní část okn plikce je vyhrzen pro vstupní, respektive výstupní utomt definovný grfickou třídou AutomtonPnel. Prostor v prostřední části je vytvořen pro tlčítko zhjující proces determinizce, Determinizovt. Tříd AutomtonPnel vyplňuje horní část svého přiděleného prostoru pomocí specifického ndpisu utomtu ( nedeterministický, deterministický ) zylou část pomocí komponent utomtu (stvů, symolů trnsitivních funkcí). Tyto komponenty mjí několik společných prvků, proto loky StteBlock, SymolBlock, RuleBlock reprezentující jednotlivé komponenty, dědí ze stejné strktní třídy AutomtPrt. Rozvržení tříd v hlvním okně plikce je pro přehlednost ilustrováno n orázku 5.5. Odpovídjící legend k orázku je v tulce

47 Prvek rozhrní tlčítko textové pole zškrtávjící pole pole pro výěr tulk Odpovídjící grfická tříd JButton JTextField JCheckBox JComoBox JTle Tulk 5.2: Prvky grfického uživtelského rozhrní knihovny Swing Tříd grfického rozhrní MinPnel AutomtonPnel StteBlock SymolBlock RuleBlock tlčítko Determinizovt Znázorňující rv Tulk 5.3: Legend k rozvržení tříd Orázek 5.5: Rozvržení hlvního okn plikce 43

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

Definice. Necht M = (Q, T, δ, q 0, F ) je konečný automat. Dvojici (q, w) Q T nazveme konfigurací konečného automatu M. BI-AAG (20/202) J. Holu: 2. Deterministické nedeterministické konečné utomty p. 2/3 Konfigurce konečného utomtu BI-AAG (20/202) J. Holu: 2. Deterministické nedeterministické konečné utomty p. 4/3 Automty

Více

Automaty a gramatiky(bi-aag)

Automaty a gramatiky(bi-aag) BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 2/33 Převod NKA ndka BI-AAG (2011/2012) J. Holu: 3. Operce s konečnými utomty p. 4/33 Automty grmtiky(bi-aag) 3. Operce s konečnými utomty Jn

Více

Je regulární? Pokud ne, na regulární ji upravte. V původní a nové gramatice odvod te řetěz 1111.

Je regulární? Pokud ne, na regulární ji upravte. V původní a nové gramatice odvod te řetěz 1111. Grmtiky. Vytvořte grmtiku generující množinu řetězů { n m } pro n, m N {} tková, že n m. Pomocí této grmtiky derivujte řetezy,. 2. Grmtik je dán prvidly S ɛ S A A S B B A B. Je regulární? Pokud ne, n regulární

Více

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

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 7. března / 46 Formální jzyky Z. Sw (VŠB-TUO) Úvod do teoretické informtiky 7. řezn 2012 1/ 46 Teorie formálních jzyků motivce Příkldy typů prolémů, při jejichž řešení se využívá pozntků z teorie formálních jzyků: Tvor

Více

Automaty a gramatiky

Automaty a gramatiky 5 Automty grmtiky Romn Brták, KTIML rtk@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~rtk Co ylo minule Množinové operce s jzyky sjednocení, pr nik, rozdíl, dopln k uzv enost opercí (lgoritmus p evodu) et

Více

Převody Regulárních Výrazů. Minimalizace Konečných. Regulární jazyky 2 p.1/35

Převody Regulárních Výrazů. Minimalizace Konečných. Regulární jazyky 2 p.1/35 Převody Regulárních Výrzů Minimlizce Konečných Automtů Regulární jzyky 2 p.1/35 Kleeneho lger Definice 2.1 Kleeneho lger sestává z neprázdné množiny se dvěm význčnými konstntmi 0 1, dvěm inárními opercemi

Více

Minimalizace automatů. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 28. března / 31

Minimalizace automatů. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 28. března / 31 Minimlizce utomtů M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 28. řezn 2007 1/ 31 Ekvivlence utomtů 1 2 3 1 2 3 1 2 Všechny 3 utomty přijímjí jzyk všech slov se sudým počtem -ček Nejvýhodnějšíjepronásposledníznich-mánejméněstvů

Více

Deterministický konečný automat

Deterministický konečný automat Deterministický konečný utomt Formálně je deterministický konečný utomt definován jko pětice (Q,Σ,δ,q 0,F) kde: Q je konečná množin stvů Σ je konečná eced δ:q Σ Qjepřechodováfunkce q 0 Qjepočátečnístv

Více

Automaty a gramatiky

Automaty a gramatiky Automty grmtiky Romn Brták, KTIML rtk@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~rtk Úvod do formálních grmtik Grmtiky, všichni je známe, le co to je? Popis jzyk pomocí prvidel, podle kterých se vytvářejí

Více

Teorie jazyků a automatů I

Teorie jazyků a automatů I Šárk Vvrečková Teorie jzyků utomtů I Sírk úloh pro cvičení Ústv informtiky Filozoficko-přírodovědecká fkult v Opvě Slezská univerzit v Opvě Opv, poslední ktulizce 5. květn 205 Anotce: Tto skript jsou určen

Více

Automaty a gramatiky. Úvod do formáln. lních gramatik. Roman Barták, KTIML. Příklady gramatik

Automaty a gramatiky. Úvod do formáln. lních gramatik. Roman Barták, KTIML. Příklady gramatik Úvod do formáln lních grmtik Automty grmtiky Romn Brták, KTIML rtk@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~rtk Grmtiky, všichni je známe, le co to je? Popis jzyk pomocí prvidel, podle kterých se vytvářejí

Více

6. Zobrazení δ: (a) δ(q 0, x) obsahuje x i, x i Z. (b) δ(x i, y) obsahuje y j, x i y j P 7. Množina F je množinou koncových stavů.

6. Zobrazení δ: (a) δ(q 0, x) obsahuje x i, x i Z. (b) δ(x i, y) obsahuje y j, x i y j P 7. Množina F je množinou koncových stavů. Vzth mezi reg. výrzy kon. utomty Automty grmtiky(bi-aag) 7. Převody mezi reg. grm., reg. výrzy kon. utomty Jn Holu Algoritmus (okrčování): 6. Zorzení δ: () δ(, x) oshuje x i, x i Z. () δ(x i, y) oshuje

Více

Úvod do Teoretické Informatiky (456-511 UTI)

Úvod do Teoretické Informatiky (456-511 UTI) Úvod do Teoretické Informtiky (456-511 UTI) Doc. RNDr. Petr Hliněný, Ph.D. petr.hlineny@vs.cz 25. ledn 2006 Verze 1.02. Copyright c 2004 2006 Petr Hliněný. (S využitím části mteriálů c Petr Jnčr.) Osh

Více

Petriho sítě PES 2007/2008. ceska@fit.vutbr.cz. Doc. Ing. Tomáš Vojnar, Ph.D. vojnar@fit.vutbr.cz

Petriho sítě PES 2007/2008. ceska@fit.vutbr.cz. Doc. Ing. Tomáš Vojnar, Ph.D. vojnar@fit.vutbr.cz PES Petriho sítě p. 1/34 Petriho sítě PES 2007/2008 Prof. RNDr. Miln Češk, CS. esk@fit.vutr.z Do. Ing. Tomáš Vojnr, Ph.D. vojnr@fit.vutr.z Sz: Ing. Petr Novosd, Do. Ing. Tomáš Vojnr, Ph.D. (verze 06.04.2010)

Více

Technická dokumentace Ing. Lukáš Procházka

Technická dokumentace Ing. Lukáš Procházka Tehniká dokumente ng Lukáš Proházk Tém: hlvní část dokumentu, orázky, tulky grfy 1) Osh hlvní části dokumentu ) Orázky, tulky grfy ) Vzore rovnie Hlvní část dokumentu Hlvní část dokumentu je řzen v následujíím

Více

2.5.4 Věta. Každý jazyk reprezentovaný regulárním výrazem je regulárním jazykem.

2.5.4 Věta. Každý jazyk reprezentovaný regulárním výrazem je regulárním jazykem. 2.5. Regulární výrzy [181012-1111 ] 21 2.5 Regulární výrzy 2.5.1 Regulární jzyky jsme definovli jko ty jzyky, které jsou přijímány konečnými utomty; ukázli, že je jedno, zd jsou deterministické neo nedeterministické.

Více

56. ročník Matematické olympiády. b 1,2 = 27 ± c 2 25

56. ročník Matematické olympiády. b 1,2 = 27 ± c 2 25 56. ročník Mtemtické olympiády Úlohy domácí části I. kol ktegorie 1. Njděte všechny dvojice (, ) celých čísel, jež vyhovují rovnici + 7 + 6 + 5 + 4 + = 0. Řešení. Rovnici řešíme jko kvdrtickou s neznámou

Více

Úvod 1. 3 Regulární jazyky Konečné jazyky Pumping Lemma pro regulární jazyky a nekonečné jazyky Sjednocení...

Úvod 1. 3 Regulární jazyky Konečné jazyky Pumping Lemma pro regulární jazyky a nekonečné jazyky Sjednocení... Osh Úvod 1 1 Teoretická informtik 2 1.1 Vznik vývoj teoretické informtiky................... 2 1.1.1 Mtemtik............................. 2 1.1.2 Jzykověd............................. 5 1.1.3 Biologie...............................

Více

Zavedení a vlastnosti reálných čísel PŘIROZENÁ, CELÁ A RACIONÁLNÍ ČÍSLA

Zavedení a vlastnosti reálných čísel PŘIROZENÁ, CELÁ A RACIONÁLNÍ ČÍSLA Zvedení vlstnosti reálných čísel Reálná čísl jsou zákldním kmenem mtemtické nlýzy. Konstrukce reálných čísel sice není náplní mtemtické nlýzy, le množin reálných čísel R je pro mtemtickou nlýzu zákldním

Více

Matice. a B =...,...,...,...,..., prvků z tělesa T (tímto. Definice: Soubor A = ( a. ...,..., ra

Matice. a B =...,...,...,...,..., prvků z tělesa T (tímto. Definice: Soubor A = ( a. ...,..., ra Definice: Soubor A ( i j ) Mtice 11 12 1n 21 22 2n m 1 m2 prvků z těles T (tímto tělesem T bude v nší prxi nejčstěji těleso reálných čísel R resp těleso rcionálních čísel Q či těleso komplexních čísel

Více

3 Algebraické výrazy. 3.1 Mnohočleny Mnohočleny jsou zvláštním případem výrazů. Mnohočlen (polynom) proměnné je výraz tvaru

3 Algebraické výrazy. 3.1 Mnohočleny Mnohočleny jsou zvláštním případem výrazů. Mnohočlen (polynom) proměnné je výraz tvaru Algerické výrz V knize přírod může číst jen ten, kdo zná jzk, ve kterém je npsán. Jejím jzkem je mtemtik jejím písmem jsou mtemtické vzorce. (Glileo Glilei) Algerickým výrzem rozumíme zápis, ve kterém

Více

Automaty a gramatiky. Organizační záležitosti. Přednáška: na webu (http://ktiml.mff.cuni.cz/~bartak/automaty) Proč chodit na přednášku?

Automaty a gramatiky. Organizační záležitosti. Přednáška: na webu (http://ktiml.mff.cuni.cz/~bartak/automaty) Proč chodit na přednášku? Orgnizční záležitosti Atomty grmtiky Romn Brták, KTIML rtk@ktiml.mff.cni.cz http://ktiml.mff.cni.cz/~rtk Přednášk: n we (http://ktiml.mff.cni.cz/~rtk/tomty) Proč chodit n přednášk? dozvíte se více než

Více

Konstrukce na základě výpočtu I

Konstrukce na základě výpočtu I ..11 Konstrukce n zákldě výpočtu I Předpokldy: Pedgogická poznámk: Původně yl látk rozepsnou do dvou hodin, v první ylo kromě dělení úseček zřzen i čtvrtá geometrická úměrná. Právě její prorání se nestíhlo,

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

Větu o spojitosti a jejich užití

Větu o spojitosti a jejich užití 0..7 Větu o spojitosti jejich užití Předpokldy: 706, 78, 006 Pedgogická poznámk: Při proírání této hodiny je tře mít n pměti, že všechny věty, které studentům sdělujete z jejich pohledu neuvěřitelně složitě

Více

Teorie jazyků a automatů

Teorie jazyků a automatů Slezská univerzit v Opvě Filozoficko-přírodovědecká fkult v Opvě Šárk Vvrečková Teorie jzyků utomtů Skript do předmětů II Zákldy teoretické informtiky Ústv informtiky Filozoficko-přírodovědecká fkult v

Více

Lineární nerovnice a jejich soustavy

Lineární nerovnice a jejich soustavy teorie řešené úlohy cvičení tipy k mturitě výsledky Lineární nerovnice jejich soustvy Víš, že pojem nerovnice není opkem pojmu rovnice? lineární rovnice má většinou jediné řešení, kdežto lineární nerovnice

Více

Základy teorie matic

Základy teorie matic Zákldy teorie mtic 1. Pojem mtice nd číselným tělesem In: Otkr Borůvk (uthor): Zákldy teorie mtic. (Czech). Prh: Acdemi, 1971. pp. 9--12. Persistent URL: http://dml.cz/dmlcz/401328 Terms of use: Akdemie

Více

Riemannův určitý integrál.

Riemannův určitý integrál. Riemnnův určitý integrál. Definice 1. Budiž

Více

ZÁKLADY. y 1 + y 2 dx a. kde y je hledanou funkcí proměnné x.

ZÁKLADY. y 1 + y 2 dx a. kde y je hledanou funkcí proměnné x. VARIAČNÍ POČET ZÁKLADY V prxi se čsto hledjí křivky nebo plochy, které minimlizují nebo mximlizují jisté hodnoty. Npř. se hledá nejkrtší spojnice dvou bodů n dné ploše, nebo tvr zvěšeného ln (má minimální

Více

( ) ( ) Sinová věta II. β je úhel z intervalu ( 0;π ). Jak je vidět z jednotkové kružnice, úhly, pro které platí. Předpoklady:

( ) ( ) Sinová věta II. β je úhel z intervalu ( 0;π ). Jak je vidět z jednotkové kružnice, úhly, pro které platí. Předpoklady: 4.4. Sinová vět II Předpokldy 44 Kde se stl hy? Námi nlezené řešení je správné, le nenšli jsme druhé hy ve hvíli, kdy jsme z hodnoty sin β určovli úhel β. β je úhel z intervlu ( ;π ). Jk je vidět z jednotkové

Více

Podobnosti trojúhelníků, goniometrické funkce

Podobnosti trojúhelníků, goniometrické funkce 1116 Podonosti trojúhelníků, goniometriké funke Předpokldy: 010104, úhel Pedgogiká poznámk: Zčátek zryhlit α γ β K α' l M γ' m k β' L Trojúhelníky KLM n nšem orázku mjí stejný tvr (vypdjí stejně), le liší

Více

5.1.5 Základní vztahy mezi body, přímkami a rovinami

5.1.5 Základní vztahy mezi body, přímkami a rovinami 5.1.5 Zákldní vzthy mezi body, přímkmi rovinmi Předpokldy: 510 Prostor má tři rozměry, skládá se z bodů přímk - jednorozměrná podmnožin prostoru (množin bodů), rovin - dvojrozměrná podmnožin prostoru (množin

Více

Teorie jazyků a automatů

Teorie jazyků a automatů Šárk Vvrečková Teorie jzyků utomtů Sírk příkldů pro cvičení II Zákldy teoretické informtiky Ústv informtiky Filozoficko-přírodovědecká fkult v Opvě Slezská univerzit v Opvě Opv 24. listopdu 2016 Anotce:

Více

10. Suffixové stromy 1 2014-01-23

10. Suffixové stromy 1 2014-01-23 10. Suffixové stromy V této kpitole popíšeme jednu pozoruhodnou dtovou strukturu, pomocí níž dokážeme prolémy týkjící se řetězců převádět n grfové prolémy řešit je tk v lineárním čse. Řetězce, trie suffixové

Více

Formální jazyky. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 6. března / 48

Formální jazyky. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 6. března / 48 Formální jzyky M. Kot, Z. Sw (VŠB-TU Ostrv) Úvod do teoretické informtiky 6. březn 2007 1/ 48 Motivce 1: Vyhledávání v textu Potřebujeme řešit následující problém: Máme řdu různých textů(npř. soubory n

Více

2.8.5 Lineární nerovnice s parametrem

2.8.5 Lineární nerovnice s parametrem 2.8.5 Lineární nerovnice s prmetrem Předpokldy: 2208, 2802 Pedgogická poznámk: Pokud v tom necháte studenty vykoupt (což je, zdá se, jediné rozumné řešení) zere tto látk tk jednu půl vyučovcí hodiny (první

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

Hyperbola, jejíž střed S je totožný s počátkem soustavy souřadnic a jejíž hlavní osa je totožná

Hyperbola, jejíž střed S je totožný s počátkem soustavy souřadnic a jejíž hlavní osa je totožná Hyperol Hyperol je množin odů, které mjí tu vlstnost, že solutní hodnot rozdílu jejich vzdáleností od dvou dných různých odů E, F je rovn kldné konstntě. Zkráceně: Hyperol = {X ; EX FX = }; kde symolem

Více

3.2.1 Shodnost trojúhelníků I

3.2.1 Shodnost trojúhelníků I 3.2.1 hodnost trojúhelníků I Předpokldy: 3108 v útvry jsou shodné, pokud je možné je přemístěním ztotožnit. v prxi těžko proveditelné hledáme jinou možnost ověření shodnosti v útvry jsou shodné, pokud

Více

Křivkový integrál funkce

Křivkový integrál funkce Kpitol 6 Křivkový integrál funkce efinice způsob výpočtu Hlvním motivem pro definici určitého integrálu funkce jedné proměnné byl úloh stnovit obsh oblsti omezené grfem dné funkce intervlem n ose x. Řd

Více

Půjdu do kina Bude pršet Zajímavý film. Jedině poslední řádek tabulky vyhovuje splnění podmínky úvodního tvrzení.

Půjdu do kina Bude pršet Zajímavý film. Jedině poslední řádek tabulky vyhovuje splnění podmínky úvodního tvrzení. 4. Booleov lger Booleov lger yl nvržen v polovině 9. století mtemtikem Georgem Boolem, tehdy nikoliv k návrhu digitálníh ovodů, nýrž jko mtemtikou disiplínu k formuli logikého myšlení. Jko příkld použijeme

Více

1. LINEÁRNÍ ALGEBRA 1.1. Matice

1. LINEÁRNÍ ALGEBRA 1.1. Matice Lineární lgebr LINEÁRNÍ LGEBR Mtice Zákldní pojmy Mticí typu m/n nzýváme schém mn prvků, které jsou uspořádány do m řádků n sloupců: n n m/n = = = ( ij ) m m mn V tomto schémtu pro řádky sloupce užíváme

Více

ANALYTICKÁ GEOMETRIE V PROSTORU

ANALYTICKÁ GEOMETRIE V PROSTORU ANALYTICKÁ GEOMETRIE V PROSTORU 3. přednášk Vektorová lger Prvoúhlé souřdnice odu v prostoru Poloh odu v prostoru je vzhledem ke třem osám k soě kolmým určen třemi souřdnicemi, které tvoří uspořádnou trojici

Více

Až dosud jsme se zabývali většinou reálnými posloupnostmi, tedy zobrazeními s definičním

Až dosud jsme se zabývali většinou reálnými posloupnostmi, tedy zobrazeními s definičním Limit funkce. Zákldní pojmy Až dosud jsme se zbývli většinou reálnými posloupnostmi, tedy zobrzeními s definičním oborem N. Nyní obrátíme svou pozornost n širší třídu zobrzení. Definice.. Zobrzení f, jehož

Více

( a) Okolí bodu

( a) Okolí bodu 0..5 Okolí bodu Předpokldy: 40 Pedgogická poznámk: Hodin zjevně překrčuje možnosti většiny studentů v 45 minutách. Myslím, že nemá cenu přethovt do dlší hodiny, příkldy s redukovnými okolími nejsou nutné,

Více

2. Funkční řady Studijní text. V předcházející kapitole jsme uvažovali řady, jejichž členy byla reálná čísla. Nyní se budeme zabývat studiem

2. Funkční řady Studijní text. V předcházející kapitole jsme uvažovali řady, jejichž členy byla reálná čísla. Nyní se budeme zabývat studiem 2. Funkční řd Studijní text 2. Funkční řd V předcházející kpitole jsme uvžovli řd, jejichž člen bl reálná čísl. Nní se budeme zbývt studiem obecnějšího přípdu, kd člen řd tvoří reálné funkce. Definice

Více

VIII. Primitivní funkce a Riemannův integrál

VIII. Primitivní funkce a Riemannův integrál VIII. Primitivní funkce Riemnnův integrál VIII.2. Riemnnův integrál opkování Vět. Nechť f je spojitá funkce n intervlu, b nechť c, b. Oznčíme-li F (x) = x (, b), pk F (x) = f(x) pro kždé x (, b). VIII.3.

Více

Komplexní čísla tedy násobíme jako dvojčleny s tím, že použijeme vztah i 2 = 1. = (a 1 + ia 2 )(b 1 ib 2 ) b 2 1 + b2 2.

Komplexní čísla tedy násobíme jako dvojčleny s tím, že použijeme vztah i 2 = 1. = (a 1 + ia 2 )(b 1 ib 2 ) b 2 1 + b2 2. 7 Komplexní čísl 71 Komplexní číslo je uspořádná dvojice reálných čísel Komplexní číslo = 1, ) zprvidl zpisujeme v tzv lgebrickém tvru = 1 + i, kde i je imginární jednotk, pro kterou pltí i = 1 Číslo 1

Více

Jsou to rovnice, které obsahují neznámou nebo výraz s neznámou jako argument logaritmické funkce.

Jsou to rovnice, které obsahují neznámou nebo výraz s neznámou jako argument logaritmické funkce. Logritmické rovnice Jsou to rovnice, které oshují neznámou neo výrz s neznámou jko rgument ritmické funkce. Zákldní rovnice, 0 řešíme pomocí vzthu. Složitější uprvit n f g potom f g (protože ritmická funkce

Více

H - Řízení technologického procesu logickými obvody

H - Řízení technologického procesu logickými obvody H - Řízní tchnologického procsu logickými ovody (Logické řízní) Tortický úvod Součástí řízní tchnologických procsů j i zjištění správné posloupnosti úkonů tchnologických oprcí rozhodování o dlším postupu

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

Logické obvody - kombinační Booleova algebra, formy popisu Příklady návrhu

Logické obvody - kombinační Booleova algebra, formy popisu Příklady návrhu MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Logické ovody - kominční Booleov lger, ormy popisu Příkldy návrhu České vysoké učení technické Fkult elektrotechnická ABMIS Mikroprocesory

Více

7.5.8 Středová rovnice elipsy

7.5.8 Středová rovnice elipsy 758 Středová rovnice elips Předpokld: 7501, 7507 Př 1: Vrchol elips leží v odech A[ 1;1], [ 3;1], [ 1;5], [ 1; 3] elips souřdnice jejích ohnisek Urči prmetr Zdné souřdnice už n první pohled vpdjí podezřele,

Více

Logické obvody. Logický obvod. Rozdělení logických obvodů - Kombinační logické obvody. - Sekvenční logické obvody

Logické obvody. Logický obvod. Rozdělení logických obvodů - Kombinační logické obvody. - Sekvenční logické obvody Logické ovody Cílem této kpitoly je sezn{mit se s logickými ovody, se z{kldním rozdělením logických ovodů, s jejich některými typy. Tké se nučíme nvrhovt logické ovody. Klíčové pojmy: Logický ovod,kominční

Více

ZÁKLADNÍ POZNATKY. p, kde ČÍSELNÉ MNOŽINY (OBORY) N... množina všech přirozených čísel: 1, 2, 3,, n,

ZÁKLADNÍ POZNATKY. p, kde ČÍSELNÉ MNOŽINY (OBORY) N... množina všech přirozených čísel: 1, 2, 3,, n, ZÁKLADNÍ POZNATKY ČÍSELNÉ MNOŽINY (OBORY) N... množin všech přirozených čísel: 1, 2, 3,, n, N0... množin všech celých nezáporných čísel (přirozených čísel s nulou: 0,1, 2, 3,, n, Z... množin všech celých

Více

Integrály definované za těchto předpokladů nazýváme vlastní integrály.

Integrály definované za těchto předpokladů nazýváme vlastní integrály. Mtemtik II.5. Nevlstní integrály.5. Nevlstní integrály Cíle V této kpitole poněkud rozšíříme definii Riemnnov určitého integrálu i n přípdy, kdy je integrční oor neohrničený (tj. (, >,

Více

5.1.5 Základní vztahy mezi body přímkami a rovinami

5.1.5 Základní vztahy mezi body přímkami a rovinami 5.1.5 Zákldní vzthy mezi body přímkmi rovinmi Předpokldy: 510 Prostor má tři rozměry, skládá se z bodů. Přímk - jednorozměrná podmnožin prostoru (množin bodů) Rovin - dvojrozměrná podmnožin prostoru (množin

Více

3.1.3 Vzájemná poloha přímek

3.1.3 Vzájemná poloha přímek 3.1.3 Vzájemná poloh přímek Předpokldy: 3102 Dvě různé přímky v rovině mximálně jeden společný od Jeden společný od průsečík různoěžné přímky (různoěžky) P Píšeme: P neo = { P} Žádný společný od rovnoěžné

Více

m n. Matice typu m n má

m n. Matice typu m n má MATE ZS KONZ B Mtice, hodnost mtice, Gussův tvr Mtice uspořádné schém reálných čísel: m m n n mn Toto schém se nzývá mtice typu m řádků n sloupců. m n. Mtice typu m n má Oznčujeme ji A, B,někdy používáme

Více

4. přednáška 22. října Úplné metrické prostory. Metrický prostor (M, d) je úplný, když každá cauchyovská posloupnost bodů v M konverguje.

4. přednáška 22. října Úplné metrické prostory. Metrický prostor (M, d) je úplný, když každá cauchyovská posloupnost bodů v M konverguje. 4. přednášk 22. říjn 2007 Úplné metrické prostory. Metrický prostor (M, d) je úplný, když kždá cuchyovská posloupnost bodů v M konverguje. Příkldy. 1. Euklidovský prostor R je úplný, kždá cuchyovská posloupnost

Více

V předchozích kapitolách byla popsána inverzní operace k derivování. Zatím nebylo jasné, k čemu tento nástroj slouží.

V předchozích kapitolách byla popsána inverzní operace k derivování. Zatím nebylo jasné, k čemu tento nástroj slouží. NEWTONŮV INTEGRÁL V předchozích kpitolách byl popsán inverzní operce k derivování Ztím nebylo jsné, k čemu tento nástroj slouží Uvžujme trmvj, která je poháněn elektřinou při brždění vyrábí dynmem elektřinu:

Více

Konstrukce na základě výpočtu II

Konstrukce na základě výpočtu II 3.3.1 Konstruke n zákldě výpočtu II Předpokldy: 030311 Př. 1: Jsou dány úsečky o délkáh,,. Sestroj úsečku o déle =. Njdi oený postup, jk sestrojit ez měřítk poždovnou úsečku pro liovolné konkrétní délky

Více

DIGITÁLNÍ UČEBNÍ MATERIÁL. Název školy SOUpotravinářské, Jílové u Prahy, Šenflukova 220. Název materiálu VY_32_INOVACE / Matematika / 03/01 / 17

DIGITÁLNÍ UČEBNÍ MATERIÁL. Název školy SOUpotravinářské, Jílové u Prahy, Šenflukova 220. Název materiálu VY_32_INOVACE / Matematika / 03/01 / 17 DIGITÁLNÍ UČEBNÍ MATERIÁL Číslo projektu CZ07/500/4076 Název školy SOUpotrvinářské, Jílové u Prhy, Šenflukov 0 Název mteriálu VY INOVACE / Mtemtik / 0/0 / 7 Autor Ing Antonín Kučer Oor; předmět, ročník

Více

OBECNÝ URČITÝ INTEGRÁL

OBECNÝ URČITÝ INTEGRÁL OBECNÝ URČITÝ INTEGRÁL Zobecnění Newtonov nebo Riemnnov integrálu se definují různým způsobem dostnou se někdy různé, někdy stejné pojmy. V tomto textu bude postup volen jko zobecnění Newtonov integrálu,

Více

Obecně: K dané funkci f hledáme funkci ϕ z dané množiny funkcí M, pro kterou v daných bodech x 0 < x 1 <... < x n. (δ ij... Kroneckerovo delta) (4)

Obecně: K dané funkci f hledáme funkci ϕ z dané množiny funkcí M, pro kterou v daných bodech x 0 < x 1 <... < x n. (δ ij... Kroneckerovo delta) (4) KAPITOLA 13: Numerická integrce interpolce [MA1-18:P13.1] 13.1 Interpolce Obecně: K dné funkci f hledáme funkci ϕ z dné množiny funkcí M, pro kterou v dných bodech x 0 < x 1

Více

3.2. LOGARITMICKÁ FUNKCE

3.2. LOGARITMICKÁ FUNKCE .. LOGARITMICKÁ FUNKCE V této kpitole se dovíte: jk je definován ritmická funkce (ritmus) jké má ákldní vlstnosti; důležité vorce pro práci s ritmickou funkcí; co nmená ritmovt odritmovt výr. Klíčová slov

Více

METODICKÝ NÁVOD MODULU

METODICKÝ NÁVOD MODULU Centrum celoživotního vzdělávání METODICKÝ NÁVOD MODULU Název modulu: Zákldy mtemtiky Zkrtk: ZM Počet kreditů: Semestr: Z/L Mentor: Petr Dolnský Tutor: Petr Dolnský I OBSAH BALÍČKU STUDIJNÍCH OPOR: ) Skriptum:

Více

4.4.1 Sinová věta. Předpoklady: Trigonometrie: řešení úloh o trojúhelnících.

4.4.1 Sinová věta. Předpoklady: Trigonometrie: řešení úloh o trojúhelnících. 4.4. Sinová vět Předpokldy Trigonometrie řešení úloh o trojúhelnííh. Prktiké využití změřování měření vzdáleností, tringulční síť Tringulční síť je prolém měřit vzdálenosti dvou odů v krjině změříme velmi

Více

je jedna z orientací určena jeho parametrizací. Je to ta, pro kterou je počátečním bodem bod ϕ(a). Im k.b.(c ) ( C ) (C ) Obr Obr. 3.5.

je jedna z orientací určena jeho parametrizací. Je to ta, pro kterou je počátečním bodem bod ϕ(a). Im k.b.(c ) ( C ) (C ) Obr Obr. 3.5. 10. Komplexní funkce reálné proměnné. Křivky. Je-li f : (, b) C, pk lze funkci f povžovt z dvojici (u, v), kde u = Re f v = Im f. Rozdíl proti vektorovému poli je v tom, že jsou pro komplexní čísl definovány

Více

Hlavní body - magnetismus

Hlavní body - magnetismus Mgnetismus Hlvní body - mgnetismus Projevy mgt. pole Zdroje mgnetického pole Zákldní veličiny popisující mgt. pole Mgnetické pole proudovodiče - Biotův Svrtův zákon Mgnetické vlstnosti látek Projevy mgnetického

Více

( t) ( t) ( t) Nerovnice pro polorovinu. Předpoklady: 7306

( t) ( t) ( t) Nerovnice pro polorovinu. Předpoklady: 7306 7.3.8 Nerovnice pro polorovinu Předpokldy: 736 Pedgogická poznámk: Příkld 1 není pro dlší průěh hodiny důležitý, má smysl pouze jko opkování zplnění čsu při zpisování do třídnice. Nemá smysl kvůli němu

Více

Instalační návod. Záložní ohřívač nízkoteplotního monobloku Daikin Altherma EKMBUHCA3V3 EKMBUHCA9W1. Instalační návod. čeština

Instalační návod. Záložní ohřívač nízkoteplotního monobloku Daikin Altherma EKMBUHCA3V3 EKMBUHCA9W1. Instalační návod. čeština Záložní ohřívč nízkoteplotního monoloku Dikin Altherm EKMBUHCAV EKMBUHCA9W Záložní ohřívč nízkoteplotního monoloku Dikin Altherm češtin Osh Osh O této dokumentci. O tomto dokumentu... Informce o skříni.

Více

KVADRATICKÁ FUNKCE (vlastnosti, grafy)

KVADRATICKÁ FUNKCE (vlastnosti, grafy) KVADRATICKÁ FUNKCE (vlstnosti, gr) Teorie Kvdrtikou unkí se nzývá kždá unke dná předpisem ; R,, R; D( ) je proměnná z příslušného deiničního ooru unke (nejčstěji množin R),, jsou koeiient kvdrtiké unke,

Více

Matematické metody v kartografii

Matematické metody v kartografii Mtemtické metody v krtogrfii. Přednášk Referenční elipsoid zákldní vzthy. Poloměry křivosti. Délky poledníkového rovnoběžkového oblouku. 1. Zákldní vzthy n rotčním elipoidu Rotční elipsoid dán následujícími

Více

PRAVDĚPODOBNOST A STATISTIKA. Náhodná proměnná Vybraná spojitá rozdělení

PRAVDĚPODOBNOST A STATISTIKA. Náhodná proměnná Vybraná spojitá rozdělení PRAVDĚPODOBNOST A STATISTIKA Náhodná proměnná Vybrná spojitá rozdělení Zákldní soubor u spojité náhodné proměnné je nespočetná množin. Z je tedy podmnožin množiny reálných čísel (R). Distribuční funkce

Více

Reprezentovatelnost částek ve dvoumincových systémech

Reprezentovatelnost částek ve dvoumincových systémech Reprezentovtelnost částek ve dvoumincových systémech Jn Hmáček, Prh Astrkt Máme-li neomezené množství mincí o předepsných hodnotách, může se stát, že pomocí nich nelze složit některé částky Pro jednoduchost

Více

Automaty a gramatiky. Roman Barták, KTIML. Důkaz věty o isomorfismu reduktů. Věta o isomorfismu reduktů. Pro připomenutí

Automaty a gramatiky. Roman Barták, KTIML. Důkaz věty o isomorfismu reduktů. Věta o isomorfismu reduktů. Pro připomenutí 3 Automty grmtiky Romn Brták, KTIML rtk@ktimlmffcunicz http://ktimlmffcunicz/~rtk Pro připomenutí 2 Njít ekvivlentní stvy w X* δ*(p,w) F δ*(q,w) F Vyřdit nedosžitelné stvy 3 Sestrojit podílový utomt Automty

Více

Úvod do informatiky. Miroslav Kolařík

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

Zvyšování kvality výuky technických oborů

Zvyšování kvality výuky technických oborů Zvyšování kvlity výuky technických oorů Klíčová ktivit IV Inovce zkvlitnění výuky směřující k rozvoji mtemtické grmotnosti žáků středních škol Tém IV Algerické výrzy, výrzy s mocninmi odmocninmi Kpitol

Více

NEWTONŮV INTEGRÁL. V předchozích kapitolách byla popsána inverzní operace k derivování. Zatím nebylo jasné, k čemu tento nástroj slouží.

NEWTONŮV INTEGRÁL. V předchozích kapitolách byla popsána inverzní operace k derivování. Zatím nebylo jasné, k čemu tento nástroj slouží. NEWTONŮV INTEGRÁL V předchozích kpitolách byl popsán inverzní operce k derivování. Ztím nebylo jsné, k čemu tento nástroj slouží. Uvžujme trmvj, která je poháněn elektřinou při brždění vyrábí dynmem elektřinu:

Více

KŘIVKOVÉ INTEGRÁLY. Křivka v prostoru je popsána spojitými funkcemi ϕ, ψ, τ : [a, b] R jako množina bodů {(ϕ(t), ψ(t), τ(t)); t

KŘIVKOVÉ INTEGRÁLY. Křivka v prostoru je popsána spojitými funkcemi ϕ, ψ, τ : [a, b] R jako množina bodů {(ϕ(t), ψ(t), τ(t)); t KŘIVKOVÉ INTEGRÁLY Má-li se spočítt npř. spotřeb betonu n rovný plot s měnící se výškou, stčí spočítt integrál z této výšky podle zákldny plotu. o když je le zákldnou plotu nikoli rovná úsečk, le křivá

Více

8 Mongeovo promítání

8 Mongeovo promítání 8 Mongeovo promítání Pomocí metod uvedených v kpitolách 3. 4., 3. 6. bychom mohli promítnout do roviny 3 libovolný útvr U E. V prxi všk většinou nestčí sestrojit jeden průmět. Z průmětu útvru U je většinou

Více

2.1 - ( ) ( ) (020201) [ ] [ ]

2.1 - ( ) ( ) (020201) [ ] [ ] - FUNKCE A ROVNICE Následující zákldní znlosti je nezbytně nutné umět od okmžiku probrání ž do konce studi mtemtiky n gymnáziu. Vyždováno bude porozumění schopnost plikovt ne pouze mechnicky zopkovt. Některé

Více

a i,n+1 Maticový počet základní pojmy Matice je obdélníkové schéma tvaru a 11

a i,n+1 Maticový počet základní pojmy Matice je obdélníkové schéma tvaru a 11 Mticový počet zákldní pojmy Mtice je obdélníkové schém tvru 2...... n 2 22. 2n A =, kde ij R ( i =,,m, j =,,n ) m m2. mn ij R se nzývjí prvky mtice o mtici o m řádcích n sloupcích říkáme, že je typu m/n

Více

Opakovací test. Klíčová slova: výraz, interval, množina, kvadratický trojčlen, mocnina, exponent, výrok, negace

Opakovací test. Klíčová slova: výraz, interval, množina, kvadratický trojčlen, mocnina, exponent, výrok, negace VY_32_INOVACE_MAT_190 Opkovcí test lgebrické výrzy, logik, množiny A, B Mgr. Rdk Mlázovská Období vytvoření: září 2012 Ročník: čtvrtý Temtická oblst: mtemtické vzdělávání Klíčová slov: výrz, intervl, množin,

Více

VIII. Primitivní funkce a Riemannův integrál

VIII. Primitivní funkce a Riemannův integrál VIII. Primitivní funkce Riemnnův integrál VIII.2. Primitivní funkce Definice. Nechť funkce f je definován n neprázdném otevřeném intervlu I. Řekneme, že funkce F : I R je primitivní funkce k f n intervlu

Více

{ } ( ) ( ) 2.5.8 Vztahy mezi kořeny a koeficienty kvadratické rovnice. Předpoklady: 2301, 2508, 2507

{ } ( ) ( ) 2.5.8 Vztahy mezi kořeny a koeficienty kvadratické rovnice. Předpoklady: 2301, 2508, 2507 58 Vzth mezi kořen koefiient kvdrtiké rovnie Předpokld:, 58, 57 Pedgogiká poznámk: Náplň zřejmě přeshuje možnost jedné vučoví hodin, příkld 8 9 zůstvjí n vičení neo polovinu hodin při píseme + + - zákldní

Více

UC485S. PŘEVODNÍK LINKY RS232 na RS485 nebo RS422 S GALVANICKÝM ODDĚLENÍM. Převodník UC485S RS232 RS485 RS422 K1. přepínače +8-12V GND GND TXD RXD DIR

UC485S. PŘEVODNÍK LINKY RS232 na RS485 nebo RS422 S GALVANICKÝM ODDĚLENÍM. Převodník UC485S RS232 RS485 RS422 K1. přepínače +8-12V GND GND TXD RXD DIR PŘEVODNÍK LINKY RS232 n RS485 neo RS422 S GALVANICKÝM ODDĚLENÍM 15 kv ESD Protected IEC-1000-4-2 Převodník přepínče RS232 RS485 RS422 K1 ' K2 +8-12V GND GND TXD RXD DIR PAPOUCH 1 + gnd Ppouch s.r.o. POPIS

Více

Konstrukce na základě výpočtu I

Konstrukce na základě výpočtu I .4.11 Konstruke n zákldě výpočtu I Předpokldy: Pedgogiká poznámk: Je důležité si uvědomit, že následujíí sled příkldů neslouží k tomu, y si žái upevnili mehniký postup n dělení úseček. Jediné, o y si měli

Více

+ c. n x ( ) ( ) f x dx ln f x c ) a. x x. dx = cotgx + c. A x. A x A arctgx + A x A c

+ c. n x ( ) ( ) f x dx ln f x c ) a. x x. dx = cotgx + c. A x. A x A arctgx + A x A c ) INTEGRÁLNÍ POČET FUNKCE JEDNÉ PROMĚNNÉ ) Pojem neurčitého integrálu Je dán funkce Pltí všk tké F tk, y pltilo F ( ) f ( ) Zřejmě F ( ), protože pltí, 5,, oecně c, kde c je liovolná kon- stnt f ( ) nším

Více

Ohýbaný nosník - napětí

Ohýbaný nosník - napětí Pružnost pevnost BD0 Ohýbný nosník - npětí Teorie Prostý ohb, rovinný ohb Při prostém ohbu je průřez nmáhán ohbovým momentem otáčejícím kolem jedné z hlvních os setrvčnosti průřezu, obvkle os. oment se

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

2.2.9 Grafické řešení rovnic a nerovnic

2.2.9 Grafické řešení rovnic a nerovnic ..9 Grfické řešení rovnic nerovnic Předpokldy: 0, 06 Př. : Řeš početně i grficky rovnici x + = x. Početně: Už umíme. x + = x x = x = K = { } Grficky: Kždá ze strn rovnice je výrzem pro lineární funkci

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

8. Elementární funkce

8. Elementární funkce Historie přírodních věd potvrzuje, že většinu reálně eistujících dějů lze reprezentovt mtemtickými model, které jsou popsán tzv. elementárními funkcemi. Elementární funkce je kždá funkce, která vznikne

Více

GENEROVÁNÍ VÍCEKANÁLOVÉHO DITHERU

GENEROVÁNÍ VÍCEKANÁLOVÉHO DITHERU GEEROVÁÍ VÍCEKÁLOVÉHO DITHERU Z. ureš, F. Kdlec ČVUT v Prze, Fkult elektrotechnická, ktedr rdioelektroniky bstrkt Při kvntizci zvukových signálů dochází ke vzniku chybového signálu, který ovlivňuje kvlitu

Více

Návrh základních kombinačních obvodů: dekodér, enkodér, multiplexor, demultiplexor

Návrh základních kombinačních obvodů: dekodér, enkodér, multiplexor, demultiplexor Předmět Ústv Úloh č. 2 BDIO - Digitální obvody Ústv mikroelektroniky Návrh zákldních kombinčních obvodů: dekodér, enkodér, multiplexor, demultiplexor Student Cíle Porozumění logickým obvodům typu dekodér,

Více

4.3.9 Sinus ostrého úhlu I. α Předpoklady: Správně vyplněné hodnoty funkce a c. z minulé hodiny.

4.3.9 Sinus ostrého úhlu I. α Předpoklady: Správně vyplněné hodnoty funkce a c. z minulé hodiny. 4.3.9 Sinus ostrého úhlu I Předpokldy: 040308 Správně vyplněné hodnoty funke z minulé hodiny. α 10 20 30 40 50 60 70 80 poměr 0,17 0,34 0,50 0,64 0,77 0,87 0,94 0,98 Funke poměr se nzývá sinus x (zkráeně

Více

Výfučtení: Geometrické útvary a zobrazení

Výfučtení: Geometrické útvary a zobrazení Výfučtení: Geometrické útvry zorzení V geometrii očs nrzíme n to, že některé geometrické orzce vykzují jistou symetrii. Popřípdě můžeme slyšet, že nějké dv útvry jsou si podoné. V tomto Výfučtení udeme

Více