Detail práce
Srovnání efektivity různých programovacích jazyků při práci s automaty
V této práci jsou srovnány jazyky C++, C#, OCaml a Python na základě rychlosti, paměťové náročnosti a programátorské přívětivosti. Práce si klade otázku, jak moc se liší programy pracující s konečnými automaty, pokud jsou zapsané v různých jazycích. V každém jazyce je implementována stejná sada základních a pokročilých automatových algoritmů a následně je měřena jejich efektivita na vzorku 200 konečných automatů na unixovém operačním systému. Závěrem jsou prezentovány výsledky a je diskutována vhodnost jednotlivých jazyků pro práci s automaty. Tato práce může posloužit například při výběru jazyka pro tvorbu knihoven pro práci s automaty nebo při návrhu programů a prototypů algoritmů pracujících s automaty.
programovací jazyky, C++, C#, OCaml, Python, efektivita, měření rychlosti, konečné automaty, automatové algoritmy
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 C.
- Máte představu, proč je minimalizace (asymptotická složitost O(n log n) ) o tolik pomalejší, než determinizace (exponenciální složitost) a není tomu naopak?
- Co je příčinou toho, že experimenty pro univerzalitu skončily tak rychle?
- Byly vaše vstupy optimální např. pro determinizaci?
- Optimalizoval jste nějak kód v Pythonu?
- V jakém jazyce se vám programovalo nejlépe?
Burgetová Ivana, Ing., Ph.D. (UIFS FIT VUT), člen
Grézl František, Ing., Ph.D. (UPGM FIT VUT), člen
Smrčka Aleš, Ing., Ph.D. (UITS FIT VUT), člen
Vašíček Zdeněk, doc. Ing., Ph.D. (UPSY FIT VUT), člen
@bachelorsthesis{FITBT22909, author = "Ond\v{r}ej Polansk\'{y}", type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce", title = "Srovn\'{a}n\'{i} efektivity r\r{u}zn\'{y}ch programovac\'{i}ch jazyk\r{u} p\v{r}i pr\'{a}ci s automaty", school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}", year = 2020, location = "Brno, CZ", language = "czech", url = "https://www.fit.vut.cz/study/thesis/22909/" }