Bachelor's Thesis

Reducing Size of Nondeterministic Automata with SAT Solvers

Final Thesis 1.09 MB

Author of thesis: Ing. Michal Šedý

Acad. year: 2020/2021

Supervisor: doc. Mgr. Lukáš Holík, Ph.D.

Reviewer: Ing. Vojtěch Havlena, Ph.D.

Abstract:

Nondeterministic finite automata (NFA) are widely used in computer science fields, such as regular languages in formal language theory, high-speed network monitoring, image recognition, hardware modeling, or even in bioinformatic for the detection of the sequence of nucleotide acids in DNA. They are also used in regular mode checking, in string solving, in verification of pointer manipulating programs, for construction of linear arithmetic equations and inequalities, for decision in WS1S and WS2S logic, and many others. Automata minimization is a fundamental technique that helps to decrease resource claims (memory, time, or a number of hardware components) of implemented automata and speed up automata operations. Commonly used minimization techniques, such as state merging, transition pruning, and saturation, can leave potentially minimizable automaton subgraphs with duplicit language information. These fragments consist of a group of states, where the part of language of one state is piecewise covered by the other states in this group. The thesis describes a new minimization approach, which uses SAT solver, which provides information for efficient minimization of these so far nonminimizable automaton parts. Moreover, the newly investigated method, which only uses solver information and state merging, can minimize the automaton similarly and on automata with low transition count faster than a tool RABIT/Reduce, which uses state merging and transition pruning.

Keywords:

finite automata, nondeterministic finite automata, minimization, reduction, SAT solver, Z3 solver, state equivalency, language equivalency, state merging, quotienting

Date of defence

17.06.2021

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

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:

  • Zkoušel jste se porovnat s nástrojem RABIT/Reduce i pro větší lookahead než 1?
  • 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?
  • Komise, například: Proč se nepařilo oponentovi aplikaci spustit?
  • Komise, například: Je Váš kód ve stavu k publikování?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (IT-BC-3)

Field of study

Information Technology (BIT)

Composition of Committee

doc. Ing. Vladimír Janoušek, Ph.D. (předseda)
doc. Ing. Lukáš Burget, Ph.D. (místopředseda)
prof. Ing. Jan M. Honzík, CSc. (člen)
doc. Ing. Vojtěch Mrázek, Ph.D. (člen)
Ing. Jaroslav Rozman, Ph.D. (člen)

Supervisor’s report
doc. Mgr. Lukáš Holík, Ph.D.

Grade proposed by supervisor: A

File inserted by supervisor Size
Hodnocení vedoucího [.pdf] 86,19 kB

Reviewer’s report
Ing. Vojtěch Havlena, Ph.D.

Grade proposed by reviewer: B

File inserted by the reviewer Size
Posudek oponenta [.pdf] 89,10 kB

Responsibility: Mgr. et Mgr. Hana Odstrčilová