|
Simulace kolektivního chování entit ve virtuálním světě
Vymazal, Tomáš ; Žák, Pavel (oponent) ; Láník, Aleš (vedoucí práce)
Tématem této práce je zhodnotit a porovnat možnosti řízení entit (agentů) ve virtuálním světě a jeden vybraný přístup realizovat ve formě programu. Pro implementaci byl vybrán přístup, kdy konečný automat, řídící agenta, podléhá evoluci pomocí genetických algoritmů. Tento přístup by měl přizpůsobit, případně vylepšit agentovo chování tak, aby odpovídalo zadaným požadavkům: zde např. aby se agent naučil težit zdroje ve virtuálním světě. Implementace je realizována pomocí modulu pro běh evoluce a pomocí modulu se 3d zobrazením, kde lze prohlížet chování agentů.
|
|
Srovnání rychlosti moderních systémů pro vyhledávání regulárních výrazů
Trávníček, Jan ; Kořenek, Jan (oponent) ; Kaštil, Jan (vedoucí práce)
Tato bakalářská práce popisuje způsob srovnání rychlosti moderních nástrojů pro vyhledávání regulárních výrazů. Pro srovnání rychlosti jednotlivých nástrojů je použita množina regulárních výrazů z IDS systému Snort, kde jsou zadány v PCRE notaci. Tyto regulární výrazy jsou vyhodnocovány různými nástroji a získané výsledky jsou porovnávány mezi sebou. V této práci je také řešen matematický a praktický pohled na pojem regulární výraz a převod regulárních výrazů jazyka Perl do notace regulárních výrazů POSIX.
|
|
Přibližné vyhledávání řetězců
Toth, Róbert ; Košař, Vlastimil (oponent) ; Kaštil, Jan (vedoucí práce)
Tato práce se zabývá problémem přibližného vyhledávání řetězců, označovaným též jako vyhledávání s chybami. Nejprve bude definován problém samotný a demonstrována rozmanitost jeho využití, následována krátkým shrnutím rozdílných přístupů k této problematice. Zbývající část práce bude zaměřena na algoritmy založené na využití deterministických konečných automatů. Budou představeny hlavní algoritmy v této oblasti. Ty budou následně implementovány v programovacím jazyku Python a jejich výkonnost důkladně otestována na sérii experimentů.
|
|
Efektivní algoritmy pro práci s konečnými automaty
Hruška, Martin ; Rogalewicz, Adam (oponent) ; Lengál, Ondřej (vedoucí práce)
Nedeterministické konečné automaty jsou používány v mnoha oblastech informatiky, mimo jiné také ve formální verifikaci, při návrhu číslicových obvodů nebo pro reprezentaci regulárlních jazyků. Jejich výhodou oproti deterministickým konečným automatům je schopnost až exponenciálně stručnější reprezentace jazyka. Nicméně, tato výhoda může být pozbyta, jestliže je zvolen naivní přístup k implementaci některých operací, jako je na\-pří\-klad test jazykové inkluze dvojice automatů, jehož naivní implementace provádí explicitní determinizaci jednoho z automatů. V nedávné době bylo ale představeno několik nových přístupů, které právě explicitní determinizaci při testu jazykové inkluze předcházejí. Tyto přístupy využívají tzv. antichainů nebo tzv. bisimulace vzhůru ke kongruenci. Cílém této práce je vytvoření efektivní implementace zmíněných přístupů v podobě nového rozšíření knihovny VATA. Vytvořená implementace byla otestována a je až řádově rychlejší v 90% testovaných případů nežli implementace jiné
|
|
Morfologický analyzátor pomocí konečných automatů
Bezák, Jakub ; Schwarz, Petr (oponent) ; Smrž, Pavel (vedoucí práce)
Cílem tohoto textu je čtenáři co nejvíc přiblížit problematiku morfologie a morfologické analýzy slovenského jazyka s využitím morfologického analyzátoru a nastínit odlišnost od různých světových jazyků. Text také objasňuje význam hledání základního tvaru slov při analýze slovenských textů. V další části se věnuje optimálnímu uložení rozsáhlých slovníků pomocí konečných automatů s využitím jejich minimalizace. Nakonec jsou srovnáváný různé formy implementace.
|
|
Implementace jednotky pro vyhledávání vzorů v FPGA
Košař, Vlastimil ; Kořenek, Jan (oponent) ; Kaštil, Jan (vedoucí práce)
Tato práce pojednává o algoritmech pro vyhledávání vzorů používaných v moderních systémech pro detekci nežádoucího provozu, přičemž se zaměřuje na algoritmy umožňující vyhledávání regulárních výrazů. Zabývá se přístupy založenými na deterministických a nedeterministických konečných automatech, hybridními přístupy a přístupem založeným na regulárních výrazech jako programovacím jazyku speciálních procesorů. Dále popisuje návrh implementace jednotek pro vyhledávání vzorů popsaných regulárními výrazy založených na několika z popsaných přístupů včetně metodiky odhadu zabraných zdrojů. V další části je popsán vyvinutý softwarový systém pro generování jednotek. V následující části jsou ukázány a diskutovány dosažené výsledky.
|
| |
|
Hledání regulárních výrazů s využitím technologie FPGA
Kaštil, Jan ; Martínek, Tomáš (oponent) ; Kořenek, Jan (vedoucí práce)
V práci je vysvětluje několik algoritmů pro vyhledávání výrazů v textu. Algoritmy pracují v software i hardware. Část práce se zabývá rozšířením konečných automatů. Další část práce vysvětluje, jak funguje hash a představuje koncept perfektního hashování a CRC. Součástí práce je návrh možné struktury vyhledávací jednotky založené na deterministických konečných automatech v FPGA. V rámci práce byly provedeny exprimenty pro zjištění podoby výsledných konečných automatů.
|
|
Lexikální analyzátor pro víceprocesorové počítače
Otáhal, Jiří ; Goldefus, Filip (oponent) ; Čermák, Martin (vedoucí práce)
Cílem práce je vymyslet metodu, která urychlí analýzu zdrojových textů na víceprocesorových počítačích. Pro tento účel aplikace využívá spuštění více procesů pod systémem UNIX. Každý takto vytvořený proces analyzuje předem určený blok ve zdrojovém souboru a poté se ukončí. Výstupem těchto procesů jsou vnitřní struktury, které reprezentují právě daný blok. Ze struktur je již sekvenčně vytvořen mezikód, který se následně interpretuje. Takto provedená paralelní analýza vedla ke zrychlení oproti klasické sekvenční.
|
|
Strojové učení pro odvozování modelů formálních jazyků
Bardonek, Petr ; Kocman, Radim (oponent) ; Křivka, Zbyněk (vedoucí práce)
Tato bakalářská práce se zabývá odvozováním modelů formálních jazyků. Jedná se o vědní disciplínu na poli výzkumu umělé inteligence. Cílem je vytvořit aplikaci umožňující automatické vytvoření modelu, v podobě konečného automatu, pro neznámý formální jazyk na základě množiny řetězců neznámého formálního jazyka s využitím upravené metody strojového učení.
|