Detail práce

Reducing Size of Nondeterministic Automata with SAT Solvers

Bakalářská práce Student: Šedý Michal Akademický rok: 2020/2021 Vedoucí: Holík Lukáš, doc. Mgr., Ph.D.
Název česky
Redukce velikosti konečných automatů pomocí SAT solveru
Jazyk práce
anglický
Abstrakt

Nedeterministické konečné automaty (NKA) jsou široce využívány v počítačové vědě, například v oblasti formálních jazyků pro reprezentaci regulárních jazyků, k monitorování vysokorychlostních sítí, rozpoznávání obrazu, modelování hardware, nebo dokonce v bioinformatice pro vyhledávání sekvencí nukleotidových kyselin v DNA. NKA jsou také používány v abstraktním regulárním model checkingu, dále ve verifikaci programů manupulujících s řetězci, ve verifikaci programů využívajících ukazatele, pro konstrukci lineárních rovnic a nerovnic, v rozhodovacích procedurách WS1S a WS2S logiky a mnohých dalších. Minimalizace automatů je základní technikou, která pomáhá snižovat nároky na zdroje (paměť, čas nebo množství hardwarových komponentů) a urychlovat operace prováděné na automatech. Běžně používané minimalizační techniky, jakými jsou slučování stavů, odstraňování hran přechodů nebo saturace, mohou v automatech zanechat potenciální minimalizovatelné podgrafy obsahující duplicitní jazykovou informaci. Tyto fragmenty sestávají ze skupiny stavů, kde je již část jazyka jednoho stavu pokryta jazyky ostatních stavů z této skupiny. Tato práce popisuje novou techniku využívající SAT solver, který poskytuje informaci umožňující minimalizovat tyto doposud neminimalizovatelné části automatů. Nově vyvíjená metoda, která využívá pouze informaci od SAT solveru a slučování stavů minimalizuje automaty podobně efektivně, a v případě automatů s nízkým počtem přechodů dokonce rychleji než nástroj RABIT/Reduce, který využívá slučování stavů a odstraňování hran.

Klíčová slova

konečné automaty, nedeterministické konečné automaty, minimalizace, redukce, SAT solver, Z3 solver, ekvivalence stavů, ekvivalence jazyků, slučování stavů, quotienting

Ústav
Studijní program
Informační technologie
Soubory
Stav
obhájeno, hodnocení A
Obhajoba
17. června 2021
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. Zkoušel jste se porovnat s nástrojem RABIT/Reduce i pro větší lookahead než 1?
  2. Máte představu na automatech jakých strukturálních vlastností dává Váš přístup nejlepší výsledky v porovnání s nástrojem RABIT/Reduce?
  3. Komise, například: Proč se nepařilo oponentovi aplikaci spustit?
  4. Komise, například: Je Váš kód ve stavu k publikování?
Komise
Janoušek Vladimír, doc. Ing., Ph.D. (UITS FIT VUT), předseda
Burget Lukáš, doc. Ing., Ph.D. (UPGM FIT VUT), člen
Mrázek Vojtěch, Ing., Ph.D. (UPSY FIT VUT), člen
Rozman Jaroslav, Ing., Ph.D. (UITS FIT VUT), člen
Citace
ŠEDÝ, Michal. Reducing Size of Nondeterministic Automata with SAT Solvers. Brno, 2021. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2021-06-17. Vedoucí práce Holík Lukáš. Dostupné z: https://www.fit.vut.cz/study/thesis/23436/
BibTeX
@bachelorsthesis{FITBT23436,
    author = "Michal \v{S}ed\'{y}",
    type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce",
    title = "Reducing Size of Nondeterministic Automata with SAT Solvers",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2021,
    location = "Brno, CZ",
    language = "english",
    url = "https://www.fit.vut.cz/study/thesis/23436/"
}
Nahoru