|
Konverze modelů regulárních jazyků
Navrkal, David ; Kučera, Jiří (oponent) ; Křivka, Zbyněk (vedoucí práce)
p { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); line-height: 150%; widows: 2; orphans: 2; }p.western { font-family: "Times New Roman",serif; font-size: 11pt; }p.cjk { font-family: "Times New Roman",serif; font-size: 11pt; }p.ctl { font-family: "Times New Roman",serif; font-size: 12pt; } p { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); line-height: 150%; widows: 2; orphans: 2; }p.western { font-family: "Times New Roman",serif; font-size: 11pt; }p.cjk { font-family: "Times New Roman",serif; font-size: 11pt; }p.ctl { font-family: "Times New Roman",serif; font-size: 12pt; } Moje práce se zabývá, jak didakticky prezentovat studentům modely regulárních jazyků se zaměřením na jejich vzájemné konverze. Tyto konverze jsou převod regulárního výrazu na konečný automat (KA), odstranění epsilon pravidel z KA a determinizace KA. Cílem bylo toto implementovat aplikaci. V této práci dokumentuji vývoj této aplikace. Tuto aplikaci jsem programoval v jazyku C++ za použití grafické knihovny Qt 5. Aplikaci jsem vyvíjel v operačním systému Linux a testoval v prostředí Microsoft Windows 7. Všechny tyto konverze jsou implementovány. Aplikace je uživatelsky přívětivá, intuitivní a funkční. Aplikace nebyla testována na širším vzorku studentů. Přínosem této práce je aplikace, která pomůže studentům formálních jazyků a automatů lépe pochopit a procvičit si tuto teorii na příkladech. Zdrojové kódy tohoto projektu (regularConvertor) jsou dostupné online na serveru Github. p { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); line-height: 150%; widows: 2; orphans: 2; }p.western { font-family: "Times New Roman",serif; font-size: 11pt; }p.cjk { font-family: "Times New Roman",serif; font-size: 11pt; }p.ctl { font-family: "Times New Roman",serif; font-size: 12pt; }ráce se zabývá, jak didakticky prezentovat studentům modely regulárních jazyků se zaměřením na jejich vzájemné konverze. Tyto konverze jsou převod regulárního výrazu na konečný automat (KA), odstranění epsilon pravidel z KA a determinizace KA. Cílem bylo toto implementovat aplikaci. V této práci dokumentuji vývoj této aplikace.
|
| |
|
Paralelní hluboké zásobníkové automaty
Solár, Peter ; Křivka, Zbyněk (oponent) ; Meduna, Alexandr (vedoucí práce)
Tato práce představuje paralelní hluboké zásobníkové automaty jako paralelní verzi hlubokých zásobníkových automatů. Jsou založeny na pravidlech, podle kterých může automat provést expanzi současně až n nejvýše položených neterminálních symbolů na vrcholu zásobníku pouze jednou aplikací pravidla. Podmínkou je, aby se na zásobníku vyskytoval dostatečný počet neterminálů. Hlavní výhoda použití paralelních hlubokých zásobníkových automatů spočívá v rychlejším rozhodování.
|
|
Převod gramatik do normálních forem
Klapuchová, Mirka ; Koutný, Jiří (oponent) ; Zemek, Petr (vedoucí práce)
Práce se zabývá problematikou normálních forem z teorie formálních jazyků. Jsou zde uvedeny základní pojmy z této oblasti, dále různé typy gramatik a především normální formy a algoritmy pro převod gramatik do těchto forem. Součástí práce je popis návrhu a implementace programu, který slouží k převodu vstupní gramatiky do zadané normální formy.
|
|
Modifikované hluboké zásobníkové automaty
Škvařilová, Radka ; Horáček, Petr (oponent) ; Meduna, Alexandr (vedoucí práce)
Tato práce představuje dvě nové modifikace hlubokých zásobníkových automatů - bezestavové hluboké zásobníkové automaty a paralelní bezestavové hluboké zásobníkové automaty.V teoretické části jsou zavedeny formální definice a také je zde zkoumána síla těchto automatů. V pratické části je ukázána na jednoduchém příkladu implementace těchto automatů.
|
| |
|
Gramatické systémy aplikované v syntaktické analýze
Martiško, Jakub ; Kolář, Dušan (oponent) ; Meduna, Alexandr (vedoucí práce)
Tato práce se zabývá předevąím různými variantami gramatických systémů. Gramatické systémy kombinují relativní jednoduchost bezkontextových gramatik s generativní silou komplexnějąích gramatik. V rámci práce jsou popsány dva základní typy: PC gramatické systémy a CD gramatické systémy. Mimo to, je v rámci této práce zaveden i systém nový, který vychází z CD gramatických systémů. Na základě tohoto nového systému je také zavedena nová metoda syntaktické analýzy. Takto navrľený analyzátor pak sestává z více menąích syntaktických analyzátorů, které pracují jak metodou zdola nahoru tak i shora dolů.
|
|
Cestami řízené gramatiky
Adamec, Ondřej ; Soukup, Ondřej (oponent) ; Křivka, Zbyněk (vedoucí práce)
Tato diplomová práce se zabývá cestami řízenými gramatikami, gramatikami, které kladou omezení na cesty v derivačním stromě bezkontextové gramatiky. Cílem této diplomové práce je tvorba algoritmu pro převod mezi cestami řízenými gramatikami a stavovými gramatikami, což je jiný typ řízené gramatiky. Dalším cílem je na základě tohoto převodního algoritmu studovat vyjadřovací sílu cestami řízených gramatik. Převodní algoritmus je naimplementován v C++ a testován na sadě cestami řízených gramatik. Složitost algoritmu, jak časová, tak prostorová, je diskutována. Také nástroj pro syntaktickou analýzu cestami řízených gramatik je naimplementován. Složitost této analýzy je také diskutována.
|
|
Matematické metody modelování morfologie jehličnanů
Janoutová, Růžena ; Štarha, Pavel (oponent) ; Martišek, Dalibor (vedoucí práce)
Cílem práce byla tvorba jehličnatého stromu nedestruktivní metodou umožňující popis struktury dospělého smrkového porostu. Z poskytnutých dat byl po jejich zpracování vytvořen model L-systému, kterým se vytvářely větve stromu. V algoritmu Python skriptu byly následně vygenerovány parametry nutné k vytvoření modelu stromu v grafickém softwaru Blender. Model jehličnatého stromu se podařilo úspěšně vygenerovat. Jeho paměťová náročnost je velká, ale pro účely vytvoření modelu to není zásadní problém.
|
| |