Master's Thesis

Automata with complex acceptance conditions

Final Thesis 1.38 MB

Author of thesis: Ing. Petr Bartoš

Acad. year: 2025/2026

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

Reviewer: doc. Ing. Ondřej Lengál, Ph.D.

Abstract:

This thesis introduces colored automata, a modification of nondeterministic finite automata designed to compactly represent families of structurally related automata arising in stabilization-based string solving. The proposed model augments automata states with colors and defines acceptance using Boolean combinations of color predicates, allowing shared representation of automata that would otherwise be processed independently. The main goal is to reduce redundant computation caused by repeated exploration of similar automata structures. The thesis formalizes the model, studies its properties, and develops algorithms for fundamental decision procedures. The proposed algorithms are accompanied by correctness proofs and complexity analysis. Finally, the practical applicability of the approach is evaluated experimentally on automata collections derived from SMT-LIB benchmarks and generated using the Z3-Noodler solver.

Keywords:

finite automata, automata, colored automata, state coloring, compression, succinctness, string constraint solving, string constraints, SMT, verification

Date of defence

22.06.2026

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.

Topics for thesis defence

  1. Je relevantní v rámci analýzy silně souvislých komponent použít myšlenky z testování prázdnosti jazyků Emerson-Lei/Rabinových automatů?
  2. V poslední době je trend místo akceptace dané stavy použít akceptaci danou přechody (tj. barvy jsou přiřazeny přechodům a ne stavům). Je to relevantní i pro Váš model? Dalo by se takto docílit ještě větší kompaktnosti?
  3. Můžete se vyjádřit ke korektnosti redukce automatu dle Vámi definované relace simulace?
  4. Jakým způsobem probíhá barvení stavů? Kolik barev je možné použít?
  5. Jakým způsobem se vytváří komplement?
  6. Jaký algoritmem se počítají silně souvislé komponenty? Jakou má složitost?

Language of thesis

English

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Mathematical Methods (NMAT)

Composition of Committee

doc. Mgr. Adam Rogalewicz, Ph.D. (předseda)
doc. RNDr. Milan Češka, Ph.D. (místopředseda)
Ing. Martin Hrubý, Ph.D. (člen)
Ing. Aleš Smrčka, Ph.D. (člen)
Dr. Ing. Petr Peringer (člen)
Ing. Jaroslav Rozman, Ph.D. (člen)

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

Náročná vědecká práce, provedená na dobré úrovni, samostatně, s potenciálem publikace. 

Evaluation criteria Verbal classification
Informace k zadání

Náročnější výzkumné zadání, literaturou a charakterem technických/vědeckých problémů. Zadání bylo poměrně otevřené, přesná forma automatového modelu nebyla na začátku zřejmá.

Aktivita při dokončování

Velmi dobrá, menší časový pres na konci.

Publikační činnost, ocenění

Automatový model má potenciál posunout výkon string constraint solvingu a stát se tak základem publikace. 

Práce s literaturou

Student adekvátně a samostatně nastudoval množství související náročné vědecké literatury o string solvingu a pokročilých automatových technikách a modelech. 

Aktivita během řešení, konzultace, komunikace

Student byl aktivní a samostatný. Zadání zahrnovalo dlouhou fázi tápání, identifikaci formálního modelu a hledání hlavního směru řešení, kde byl student aktivní a konstruktivní, finální automatový model nebyl zřejmý, má smysl a má potenciál být velmi užitečný.
Fáze tápání měla poměrně široký záběr a vznikly kromě prezentované práce také zárodky řešení souvisejících problémů (například redukce velikosti pro prezentovaný automatový model). Hlavního úkolu, průzkumu hlavních teoretických vlastností modelu, zejména analýzy problému prázdnosti, se pak student zhostil samostatně a kompetentně, oceňuji návrh optimalizovaného testu prázdnosti, který sice zatím nepřináší zjevnou výhodu z pohledu složitosti, ale pravděpodobně bude mít zásadní praktický význam. Experimentální vyhodnocení je skromné, ale vzhledem k tomu, že hlavním cílem bylo identifikovat model a vyřešit základní teoretické problémy je možné jej považovat za plus. 

Points proposed by supervisor: 95

Grade proposed by supervisor: A

Diplomová práce Petra Bartoše navrhuje nový model rozšiřující konečné automaty motivovaný praktickým použitím ve string solveru Z3-Noodler. Zmíněný model dokáže být pro jistou třídu jazyků exponenciálně kompaktnější než klasické konečné automaty, za cenu vyšší výpočetní složitosti některých problémů (např. prázdnost jazyka je NL-úplná pro konečné automaty a NP-úplná pro nový model). Práce se zaměřuje na vývoj praktického algoritmu pro testování prázdnosti jazyka na tomto modelu. Práce kombinuje jak teoretickou práci (nový formální model, detailní analýza složitosti algoritmů), tak i praktickou práci (jeho implementace a experimentální porovnání). Dojem z práce trochu kazí nejednoznačnost experimentálního vyhodnocení (které však nebylo součástí zadání), kratší délka a mnou výše zmíněné komentáře k testu prázdnosti a relaci simulace, které dávám i do otázek, aby se k nim student mohl vyjádřit. Práci hodnotím z pozice oponenta známkou B (na vyšší hranici rozsahu), v případě uspokojivých odpovědí na otázky bych zvážil vyšší známku.

Evaluation criteria Verbal classification Points
Rozsah splnění požadavků zadání

Evaluation level: zadání splněno a práce obsahuje podstatná rozšíření

Zadání bylo splněno---bylo vytvořeno rozšíření konečných automatů, které umožňuje exponenciálně kompaktnější reprezentaci některých regulárních jazyků než klasické konečné automaty a cílí na typ automatů objevující se během práce solveru Z3-Noodler. Nad rámec zadání bylo rozšíření prototypově implementováno a experimentálně zhodnoceno.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Diplomová práce má 39 vysázených stran textu, což je spíše na spodní hranici obvyklého rozmezí. Text je však relativně hutný. Jediné místo, kde mám pocit, že něco chybí, je velmi krátká kapitola 2; zde bych očekával více detailů, jako jsou např. uzávěrové vlastnosti či složitost rozhodovacích problémů pro konečné automaty, atp.

Prezentační úroveň technické zprávy

Prezentační úroveň technické zprávy je dobrá, kapitoly dávají smysl, navazují na sebe. Práce obsahuje detailní důkazy uvedených tvrzení (někdy možná příliš detailní, např. Tvrzení 5.6 je celkem zřejmé a u neformálního důkazy by nemuselo být potřeba jít do takové hloubky), které jsem detailně nezkoumal, ale na první pohled vypadají korektní.

Dokázal bych si představit, že by první část experimentálního porovnání (analýza automatů produkovaných Z3-Noodlerem) mohla být po kapitole 3 (úvod do nástroje Z3-Noodler), aby v tomto místě lépe motivovala vznik nového automatového modelu. Ocenil bych více demonstračních příkladů (např. v kapitole 4 u různých automatových modelů) nebo jejich lepší volba (např. pro příklad nového modelu automatu v obrázku 5.1 by bylo lepší zvolit něco, kde je úspora oproti klasickému konečnému automatu). Na straně 16 je chyba ve formální definici akceptační podmínky, která je naštěstí vyjasněna ihned následujícím intuitivnám popisem (ale může čtenáře zmást).

Některá Lemmata v kapitole 6 by bylo lepší uvést formálněji (např. Lemma 6.9, Lemma 6.10).

Sekce 6.2 a 6.3 (testování univerzality a redukce na základě simulace) jsou velmi krátké a celkem zbytečné, jelikož s nimi práce dále nepracuje. Sekce 6.3 definuje relaci přímé simulace na novém automatovém modelu jako základ pro redukci automatu. Tady si myslím, že pokud by se dělala simulační redukce dle této relace standardním způsobem, tak by byla nekorektní, jelikož tato relace dle mého názoru neimplikuje jazykovou inkluzi (např. u automatů s negovanými atomickými predikáty).

85
Formální úprava technické zprávy

Práce je psána solidní angličtinou s minimem chyb a nadprůměrným stylem. Typografických problémů jsem našel taktéž jen minimum. Sekce 6.1 obsahuje 5 nečíslovaných podsekcí, lepší by bylo zde použít číslované.

93
Práce s literaturou

Práce cituje relevantní zdroje, citace jsou v pořádku. Myslím si, že hloubější studium technik pro analýzu (zobecněných) Rabinových či Emerson-Lei automatů by mohlo pomoci v sekci 6.1 při analýze silně souvislých komponent (např. článek "Baier, Blahoudek, Duret-Lutz, Klein, Müller, Strejcek: Generic Emptiness Check for Fun and Profit. ATVA 2019: 445-461" obsahuje techniky (a odkazy na další relevantní literaturu), které by mohlo být užitečné znát a případně použít). Na toto by však student sám asi těžko narazil.

89
Realizační výstup

V rámci teoretických výsledků byla dokázána ekvivalence nového modelu s regulárními jazyky, kompaktnost nové reprezentace (pro některé třídy jazyků je reprezentace exponenciálně stručnější než pomocí konečných automatů) a NP-úplnost testu prázdnosti. Dále byly navrženy dva algooritmy pro testování prázdnosti: naivní a vylepšený, a byla analyzována jejich teoretická časová a prostorová složitost.

V rámci realizace bylo implementováno (1) rozšíření nástroje Z3-Noodler, které umožňuje analýzu automatů produkovaných během práce nástroje a (2) prototypová implementace nového automatového modelu v knihovně Mata (včetně jednotkových testů). Rozsah kódu je menší, ale to nutně nevadí, jelikož zadání implementaci nevyžadovalo, takže jde spíš o rozšíření, avšak z hlediska upřesněného zadání velmi žádoucí.

Práce experimentálně vyhodnocuje (1) potenciál použití nového automatového modelu v nástroji Z3-Noodler (analýzou automatů, které ve stávající implementaci nástroje vznikají) a (2) porovnává rychlost implementace navrženého testu prázdnosti pro nový automatový model vzhledem k počtu stavů automatu a také ho srovnává s původním testem prázdnosti klasického konečného automatu (získaného jako výstup průniku jiných automatů použitých v proceduře). Výsledky indikují, že nově navržený model má potenciál v některých případech urychlit práci solveru.

Co trochu kazí dojem je nejednoznačnost výsledků: srovnání dvou testů prázdnosti jen indikuje potenciál pro lepší výkon, ale vzhledem k tomu, že se zde neporovnávají ekvivalentní úlohy, jde jen o indikaci, která nemusí být ve finální aplikaci materializovaná. Dále, pokud se nepletu, je ve finále porovnána jen optimistická verze algoritmu (jelikož akceptační podmínka neobsahuje negativní predikáty). Porovnání, které by dávalo smysl, by mohlo být třeba srovnání rychlosti naivní a optimalizované procedury pro test prázdnosti, případně procedury, která provádí test prázdnosti nezávisle pro každou klazuli akceptační podmínky, anebo pomocí zakódování problému do SAT solveru. Dále bych uvítal i nějake numerické zhodnocení výsledků (např. v tabulce) namísto čistě grafického.

85
Využitelnost výsledků

Výsledky práce jsou využitelné v dalším rozšíření nástroje Z3-Noodler, avšak jejich smysluplné využití vyžaduje ještě dost práce (modifikace rozhodovací procedury nástroje Z3-Noodler). Po dotažení práce lze zvážit publikaci.

Náročnost zadání

Evaluation level: obtížnější zadání

Jde o obtížnější zadání, student se musel seznámit s útrobami nástroje Z3-Noodler a knihovny Mata a také si nastudovat současný stav poznání v oblasti kompaktních výpočetních reprezentací regulárních (a obecnějších) jazyků.

Topics for thesis defence:
  1. Je relevantní v rámci analýzy silně souvislých komponent použít myšlenky z testování prázdnosti jazyků Emerson-Lei/Rabinových automatů?
  2. V poslední době je trend místo akceptace dané stavy použít akceptaci danou přechody (tj. barvy jsou přiřazeny přechodům a ne stavům). Je to relevantní i pro Váš model? Dalo by se takto docílit ještě větší kompaktnosti?
  3. Můžete se vyjádřit ke korektnosti redukce automatu dle Vámi definované relace simulace?
Points proposed by reviewer: 88

Grade proposed by reviewer: B

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