Detail práce

Srovnání efektivity různých programovacích jazyků při práci s automaty

Bakalářská práce Student: Polanský Ondřej Akademický rok: 2019/2020 Vedoucí: Holík Lukáš, doc. Mgr., Ph.D.
Název anglicky
Efficient Algorithms for Finite Automata
Jazyk práce
český
Abstrakt

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.

Klíčová slova

programovací jazyky, C++, C#, OCaml, Python, efektivita, měření rychlosti, konečné automaty, automatové algoritmy

Ústav
Studijní program
Informační technologie
Soubory
Stav
obhájeno, hodnocení C
Obhajoba
9. července 2020
Oponent
Průběh obhajoby

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.

Otázky u obhajoby
  1. 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?
  2. Co je příčinou toho, že experimenty pro univerzalitu skončily tak rychle?
  3. Byly vaše vstupy optimální např. pro determinizaci?
  4. Optimalizoval jste nějak kód v Pythonu?
  5. V jakém jazyce se vám programovalo nejlépe?
Komise
Rogalewicz Adam, doc. Mgr., Ph.D. (UITS FIT VUT), předseda
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
Citace
POLANSKÝ, Ondřej. Srovnání efektivity různých programovacích jazyků při práci s automaty. Brno, 2020. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2020-07-09. Vedoucí práce Holík Lukáš. Dostupné z: https://www.fit.vut.cz/study/thesis/22909/
BibTeX
@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/"
}
Nahoru