KOCOUREK, T. Implementace pokročilé simulace v automatové knihovně Mata [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.

Posudky

Posudek vedoucího

Holík, Lukáš

Student odvedl celkově výbornou práci, a předvedl výjimečnou schopnost strávit matematický formální text a do hloubky nastudovat, pochopit, a nakonec i opravit velmi komplikovanou věc. Práci by prospělo rovnoměrnější rozložení úsilí a pozornosti mezi teoretickou a praktickou část a lepší plánování.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Jedná se o velmi náročné zadání, protože algoritmus, který bylo třeba implementovat je extrémně komplikovaný a náročný na pochopení. Aspekt, který zadání dělá extrémně náročným, a který nebyl znám na začátku řešení práce, je ten, že původní algoritmus obsahuje poměrně kritickou chybu, kterou student musel najít a opravit.
Práce s literaturou Student do hloubky nastudoval a pochopil zadaný algoritmus a našel a opravil v něm netriviální chybu. Malé procento našich studentů by tohoto bylo schopno. 
Aktivita během řešení, konzultace, komunikace Student byl poměrně příkladně aktivní, studijní fáze byla dlouhá, ale to je opodstatněné náročností materiálu. V pozdějších fázích jsme odhalili chybu v původním algoritmu, hodně času jsme trávili její identifikací a návrhem opravy. Toto poměrně výrazně narušilo časový plán a nepovedlo se věnovat ideální prostor ladění implementace, experimentování a textu. Studentovi pravděpodobně uškodila tendence zahrabat se do teoretického problému a nevnímat utíkající čas.
Aktivita při dokončování Faktický obsah práce byl konzultován v předstihu a pravidelně, text byl nakonec poněkud uspěchán a viděl jsem ho až v odevzdané podobě. Student ale měl velké části textu připravené dlouho dopředu, pravděpodobně selhala organizace z obou stran.
Publikační činnost, ocenění Práce pravděpodobně povede k publikaci o chybě v původním algoritmu a její opravě a o implementaci simulačního algoritmu, v rámci studentova navazujícího doktorského studia.
Navrhovaná známka
B
Body
89

Posudek oponenta

Lengál, Ondřej

Tomáš Kocourek ve své diplomové práci efektivně naimplementoval komplikovaný algoritmus pro počítání relace simulace na konečných automatech. Práci znatelně zbrzdil fakt, že v daném algoritmu byla studentem nalezena chyba, kterou bylo nejdřív potřeba opravit, což se studentovi podařilo bez zhoršení teoretické složitosti algoritmu. Práci sráží její formální úprava a slabší experimentální vyhodnocení, naopak znovu zdůrazňuji a chválím nalezení a opravení chyby v původním algoritmu. Z uvedených důvodů detailně rozepsaných výše hodnotím diplomovou práci pana Kocourka stupněm velmi dobře (B) .

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Student musel nastudovat současný state of the art v oblasti algoritmů pro výpočet relace simulace na konečných automatech, které mají nejlepší teoretickou složitost. Jde o články, které jsou velmi těžké na čtení a pochopení, obzvlášť pokud je potřeba je pochopit na té úrovni, aby bylo možné je efektivně implementovat.
Rozsah splnění požadavků zadání Zadání považuji za splněné s výhradou k experimentálnímu porovnání, jehož popis je v práci vcelku minimalistický. Toto je dle mého názoru ale dostatečně kompenzováno tím, že student nalezl v algoritmu, který měl implementovat, zásadní chybu, kterou musel opravit (což také, dle toho, co je mi známo, způsobilo odklad odevzdání). Nalezení chyby a ověření, že skutečně jde o chybu, je u tohoto typu článku extrémně obtížné a student si za to zaslouží pochvalu.
Rozsah technické zprávy
Prezentační úroveň technické zprávy 95 Prezentační úroveň technické zprávy je na téma, které práce zpracovává, na výborné úrovni. Student se nespokojil s formální definicí zaváděných konceptů, ale doplňuje je vhodnými příklady, které ulehčují čtení. Text je dále doplněn obrázky, které ještě více usnadňují pochopení.
Formální úprava technické zprávy 75 Po formální stránce je na tom práce bohužel hůř. Práce je psána anglicky (což je pozitivum), ale obsahuje mnoho překlepů a gramatických chyb. K typografii nemám připomínky.
Práce s literaturou 90 Student pracoval většinou s vhodnými zdroji (osobně bych místo [12] ale doporučil jiný zdroj), v textu jasně odděluje cizí a své myšlenky.
Realizační výstup 75 Student naimplementoval opravený algoritmus v knihovně Mata, kde hlavní část byla efektivní implementace používaných datových struktur. Zdrojové kódy jsou doplněny vskutku obsažným komentářem. Experimentální vyhodnocení je bohužel slabší: student srovnává svou implementaci (ve třech variantách dle použité datové struktury) s existující implementací na 5 sadách automatů a jediné srovnání, které prezentuje, jsou průměrné časy a mediány časů. Chybí detailnější srovnání, např. scatter ploty, kde bychom mohli vidět, jestli třeba na některých automatech je studentova implementace rychlejší.
Využitelnost výsledků V aktuálním stavu to vypadá, že použití studentovi implementace nedává smysl (průměrně je horší než již existující implementace jiného algoritmu), ale pokud by se podařilo optimalizovat kód (potenciál pro to je), je možné, že by studentova implementace tu existující v knihovně Mata nahradila. Vzhledem k tomu, že použití existující simulace je aktuálně úzké hrdlo některých algoritmů pro práci s automaty, poptávka po efektivnějších algoritmech tady je.
Navrhovaná známka
B
Body
85

Otázky

eVSKP id 155177