Detail práce

Efficient Algorithms for Counting Automata

Bakalářská práce Student: Mikšaník David Akademický rok: 2019/2020 Vedoucí: Lengál Ondřej, Ing., Ph.D.
Název česky
Efektivní algoritmy pro práci s čítacími automaty
Jazyk práce
anglický
Abstrakt

Čítací automaty (CA) jsou klasické konečné automaty rozšířené o omezené čítače. CA stále reprezentují třídu regulárních jazyků, ale kompaktněji než konečné automaty. Jelikož jsou CA nedávným modelem, chybějí zde efektivní algoritmy implementující různé operace nad nimi. V této práci se primárně soustředíme na existující podtřídu CA zvanou monadické čítací automaty (MCA). Jsou to CA s čítacími smyčkami na třídě znaků, které se často vyskytují v praxi (např. při detekci paketů v síťovém provozu nebo analýze log souborů). Pro tuto podtřídu efektivně vyřešíme problémy prázdnosti a inkluze. Navíc poskytneme dvě rozšíření třídy MCA, které jsou stále podtřídou CA, a vyřešíme pro ně efektivně problém prázdnosti. MCA přirozeně vznikají z regulárních výrazů, které jsou rozšířené o čítací operátory vyskytující se pouze na třídě znaků. Náš algoritmus řešící problém inkluze MCA tedy může být použit jako základ nové metody pro testování inkluze takových regulárních výrazů. Tento přístup jsme experimentálně vyhodnotili na regulárních výrazech z praxe a porovnali s naivní metodou. Experimenty ukazují, že metoda používající náš algoritmus je více odolná proti stavové explozi. Také překonává naivní metodu, pokud regulární výrazy obsahují čítací operátory s velkými mezemi. Podle očekávání, pro jednoduché případy je naivní metoda stále rychlejší než metoda používající náš algoritmus.

Klíčová slova

konečné automaty, čítací automaty, problém prázdnosti, inkluze, regulární výrazy

Ústav
Studijní program
Informační technologie
Soubory
Stav
obhájeno, hodnocení A
Obhajoba
10. července 2020
Oponent
Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Otázky u obhajoby
  1. V rámci prezentace nebo v rámci odpovědi na otázky se pokuste intuitivně a srozumitelně vysvětlit, co jsou LCA a ALCA a jaký je hlavní myšlenka Vašeho algoritmu pro test prázdnosti jejich jazyků.
  2. Daly by se Vaše výsledky zobecnit na širší třídy automatů?
  3. Jaké jsou možnosti a potenciál optimalizace vaší implementace?
  4.  Kde konkrétně by Vaše algoritmy byly použitelné?
Komise
Vojnar Tomáš, prof. Ing., Ph.D. (UITS FIT VUT), předseda
Kekely Lukáš, Ing., Ph.D. (UPSY FIT VUT), člen
Křivka Zbyněk, Ing., Ph.D. (UIFS FIT VUT), člen
Rogalewicz Adam, doc. Mgr., Ph.D. (UITS FIT VUT), člen
Španěl Michal, Ing., Ph.D. (UPGM FIT VUT), člen
Citace
MIKŠANÍK, David. Efficient Algorithms for Counting Automata. Brno, 2020. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2020-07-10. Vedoucí práce Lengál Ondřej. Dostupné z: https://www.fit.vut.cz/study/thesis/23029/
BibTeX
@bachelorsthesis{FITBT23029,
    author = "David Mik\v{s}an\'{i}k",
    type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce",
    title = "Efficient Algorithms for Counting Automata",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2020,
    location = "Brno, CZ",
    language = "english",
    url = "https://www.fit.vut.cz/study/thesis/23029/"
}
Nahoru