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

Loading...
Thumbnail Image

Date

Authors

Polanský, Ondřej

Mark

C

Journal Title

Journal ISSN

Volume Title

Publisher

Vysoké učení technické v Brně. Fakulta informačních technologií

ORCID

Abstract

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.
This thesis compares languages C++, C#, OCaml and Python based on speed, memory requirements and programming comfort. The goal of this thesis is to find out how much does the choice of a certain programming language impact the performance of programs working with finite automata. The same set of basic and advanced automata algorithms was implemented in each language and their efficiency was measured on a sample of 200 finite automata using a unix based operating system. Finally, the author presents results and discusses suitability of each language for work with finite automata. This thesis can help with selecting an appropriate programming language for multitude of purposes, including development of automata algorithm libraries or the process of designing programs and prototypes that work with finite automata.

Description

Citation

POLANSKÝ, O. Srovnání efektivity různých programovacích jazyků při práci s automaty [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2020.

Document type

Document version

Date of access to the full text

Language of document

cs

Study field

Informační technologie

Comittee

doc. Mgr. Adam Rogalewicz, Ph.D. (předseda) doc. Ing. Zdeněk Vašíček, Ph.D. (místopředseda) Ing. Ivana Burgetová, Ph.D. (člen) Ing. František Grézl, Ph.D. (člen) Ing. Aleš Smrčka, Ph.D. (člen)

Date of acceptance

2020-07-09

Defence

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: 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?

Result of defence

práce byla úspěšně obhájena

DOI

Collections

Endorsement

Review

Supplemented By

Referenced By

Citace PRO