PEKNÝ, A. Neuronové sítě pro string constraint solving [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.
Student pracoval opravdu velmi samostatně a kompetentně, s vysokou invencí. Téma bylo velice výzkumné, náročné na implementaci, zároveň matematické a otevřené - student musel přijít na mnoho parametrů řešení zcela samostatně. Vytvořené řešení dává velmi dobrý smysl a neuronové sítě opravdu velmi přesně predikují potenciál jednotlivých větví výpočtu (nudlí) vést k řešení dané formule. Toto je velmi pozitivní výsledek, ukazující, že zvolený přístup neuronového učení má potenciál. Fakt, že první experiment s dalším krokem, kde se výsledky učení měly použít k celkovému zrychlení string solvingu, nebyl zatím příliš úspěšný, nepovažuji za fatální vadu na kráse. Předchozí experiment dává velkou naději, že pozitivní výsledek leží nedaleko na cestě započatým směrem. Práce svými výsledky není zcela jasné A, díky nepřesvědčivému výsledku posledního experimentu, ale kvalitou a náročností jinak stupňi A odpovídá. Experiment ukazující přesnost prediktoru je navíc silným pozitivním výsledkem.
| Kritérium | Známka | Body | Slovní hodnocení |
|---|---|---|---|
| Informace k zadání | Velmi náročné zadání, vyžadující nízkoúrovňové skloubení metody string constraint solvingu s neuronovým učením. Pochopení problematiky string constraint solvingu a implementace string solveru Z3-Noodler jsou velmi náročné. Jedná se také o velmi otevřené výzkumné zadání kde řada parametrů řešení zdaleka nebyla zřejmá (jaký druh učení a neuronových sítí, jak je zapojit do string solvingu, jak získat data pro učení,...). | ||
| Práce s literaturou | Studium metody string constraint solvingu a metod neuronového učení bylo kritickou a velmi náročnou částí zadání a student se jich zhostil výborně. Dosáhl velmi dobrého pochopení string constraint solvingu i použitelných metod učení neuronových sítí. | ||
| Aktivita během řešení, konzultace, komunikace | Student byl v prvním roce velmi samostatný a aktivní. V závěru mu chyběl čas provést kvalitní experiment, pročež práci protáhl do druhého roku. | ||
| Aktivita při dokončování | Práce byla dokončena včas, měl jsem možnost práci před odevzdáním vidět, až tedy na poslední experiment, který bohužel nevyzněl pozitivně. | ||
| Publikační činnost, ocenění | Práce by mohla vést k publikaci, kdybychom vyřešili problém stojící za neúspěchem posledního experimentu, který ověřuje efekt neuronového prediktoru na celkový výkon string constarint solveru. Myslím si, že se jedná o řešitelný problém. |
Práci svým zadáním považuji za obtížnější. Technická zpráva, stejně jako programová realizace je kvalitní (vyjma pár nedostatků, které jsem zmiňoval výše). Když toto všechno vezmu v úvahu, práci hodnotím stupněm velmi dobře / B.
| Kritérium | Známka | Body | Slovní hodnocení |
|---|---|---|---|
| Náročnost zadání | Zadání považuji za obtížnější. Práce vyžadovala poměrně detailní nastudování stabilizačního algoritmu pro řešení řetězcových omezení a to včetně způsobu implementace v nástroji Z3-Noodler. Práce rovněž vyžadovala orientaci v oblasti neuronových sítí (NN), které umožňují pracovat s grafovými strukturami. | ||
| Rozsah splnění požadavků zadání | Zadání považuji za splněné. | ||
| Rozsah technické zprávy | Rozsah technické zprávy je v obvyklém rozmezí. Jednotlivé kapitoly jsou informačně bohaté; neměl jsem pocit, že práce obsahuje zbytečné pasáže. | ||
| Prezentační úroveň technické zprávy | 85 | Technická zpráva je psaná srozumitelně, jednotlivé kapitoly na sebe navazují. Některé části by šlo zpracovat pečlivěji. Např. občas nedefinované symboly ve vztazích týkajících se neuronových sítí. Ocenil bych přidání vysokoúrovňového popisu navrženého řešení (co přesně v kontextu práce znamená nudle jsem zjistil až dosti pozdě), popřípadě více ilustrativních příkladů. Nepovažuji to ale za významné problémy, celkově hodnotím prezentační úrověň práce jako velice dobrou. | |
| Formální úprava technické zprávy | 92 | Práce je psaná dobrou angličtinou, po typografické stránce je práce v pořádku. Vzhledem k tomu, že práce využívá definice z různých zdrojů, stálo by za to definice pro účely práce sjednotit (např. inclusion graph neodpovídá úplně přesně definici grafu z předchozí sekce). Práce je ale jinak pečlivě zpracovaná. | |
| Práce s literaturou | 92 | Práce cituje relevantní zdroje (výhradně vědecké články a monografie). Převzaté prvky jsou odlišeny od vlastních výsledků. | |
| Realizační výstup | 87 | Navržené řešení používá neuronové sítě pro prioritní výběr nudlí, které se mají zpracovávat během stabilizačního algoritmu. Student navržený přístup implementoval přímo do nástroje Z3-Noodler a vyhodnotil na standardní sadě benchmarků z SMT-LIBu. V některých případech navržené řešení dosazuje lepších výsledků než původní nástroj. Součástí experimentů bylo rovněž podrobné statistické vyhodnocení navrženého NN-modelu. Uvítal bych podrobnější validaci toho, co se vlastně neuronová síť naučila (například bych očekával, že neuronová síť bude preferovat nudle s větším jazykem). Řešení mi bylo prezentováno a je funkční. | |
| Využitelnost výsledků | Práce přináší nové výsledky. Práci vnímám jako první krok k výraznějšímu použití metod strojového učení k řešení řetězcových omezení v nástroji Z3-Noodler. Pro případné využití v praxi, by bylo nutné model rozšířit i o rozhodování o podobě řetězcového omezení (ne jen o podobě nudlí), protože tato informace bude nejspíše pro informované rozhodnutí nezbytná. |
eVSKP id 164189