Srozumitelné regulární výrazy z konečných automatů
Loading...
Date
Authors
Advisor
Referee
Mark
B
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
ORCID
Abstract
Cílem této práce je navrhnout, implementovat a vyhodnotit algoritmus pro převod konečných automatů na regulární výrazy s využitím knihovny automatů Mata, s primárním důrazem na kompaktnost výsledných výrazů. Práce je specificky přizpůsobena pro automaty generované řešičem řetězcových omezení Z3-Noodler. Práce nejprve popisuje a porovnává známé algoritmy pro převod, aby identifikovala nejvhodnější přístup k implementaci. Na základě zvolené metody eliminace stavů pak popisuje několik heuristik navržených k získání menších výrazů a detailně rozebírá efektivní způsoby implementace podkladových datových struktur. Experimentální vyhodnocení na rozsáhlém datasetu ukazuje, že dynamické heuristiky založené na vahách výrazně překonávají statické přístupy, přičemž dynamická heuristika autorů Delgado a Morais se ukazuje jako nejefektivnější strategie pro minimalizaci abecední velikosti výrazů. Strukturální optimalizace, jako je vertikální řezání (vertical chopping), přinášejí pouze omezené celkové zlepšení.
The goal of this thesis is to propose, implement, and evaluate an algorithm for converting finite automata into regular expressions by utilizing the Mata automata library, with a primary focus on the compactness of the resulting expressions. The work is specifically tailored for automata generated by the Z3-Noodler string constraint solver. The thesis first describes and compares well-known conversion algorithms to identify the most suitable approach for implementation. Building upon the chosen state elimination method, it describes several heuristics designed to yield smaller expressions, and details efficient ways to implement the underlying data structures. The experimental evaluation over an extensive benchmark dataset demonstrates that dynamic weight-based heuristics significantly outperform static approaches, with the dynamic Delgado and Morais heuristic emerging as the most effective strategy for minimizing the alphabetic size of the expressions. Structural optimizations like vertical chopping provide limited global benefits.
The goal of this thesis is to propose, implement, and evaluate an algorithm for converting finite automata into regular expressions by utilizing the Mata automata library, with a primary focus on the compactness of the resulting expressions. The work is specifically tailored for automata generated by the Z3-Noodler string constraint solver. The thesis first describes and compares well-known conversion algorithms to identify the most suitable approach for implementation. Building upon the chosen state elimination method, it describes several heuristics designed to yield smaller expressions, and details efficient ways to implement the underlying data structures. The experimental evaluation over an extensive benchmark dataset demonstrates that dynamic weight-based heuristics significantly outperform static approaches, with the dynamic Delgado and Morais heuristic emerging as the most effective strategy for minimizing the alphabetic size of the expressions. Structural optimizations like vertical chopping provide limited global benefits.
Description
Citation
KLYMENKO, A. Srozumitelné regulární výrazy z konečných automatů [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2026.
Document type
Document version
Date of access to the full text
Language of document
en
Study field
Informační technologie
Comittee
doc. RNDr. Milan Češka, Ph.D. (předseda)
doc. Ing. Jan Kořenek, Ph.D. (místopředseda)
Ing. Zdeněk Materna, Ph.D. (člen)
Ing. Miloš Musil, Ph.D. (člen)
Ing. Martin Hrubý, Ph.D. (člen)
Date of acceptance
2026-06-15
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 B.
Result of defence
práce byla úspěšně obhájena
