KOCOUREK, T. Implementace pokročilé simulace v automatové knihovně Mata [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.
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í.
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. |
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) .
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. |
eVSKP id 155177