Název:
Automatizovaná úprava souborů pomocí genetického programování
Překlad názvu:
Automated File Editing Using Genetic Programming
Autoři:
Sedláček, Marek ; Vašíček, Zdeněk (oponent) ; Sekanina, Lukáš (vedoucí práce) Typ dokumentu: Diplomové práce
Rok:
2022
Jazyk:
eng
Nakladatel: Vysoké učení technické v Brně. Fakulta informačních technologií
Abstrakt: [eng][cze]
Úprava souborů je nedílnou součástí práce pro mnoho lidí, ale ne každý umí programovat a nebo má dostatečnou znalost editovacích nástrojů, aby byl tento proces efektivní a rychlý. Toto je přesně to, co se snaží program představený v této práci -- Ebe -- vyřešit. Ebe z úryvků úprav provedených uživatelem pomocí genetického programovaní nalezne algoritmus na požadovanou transformaci souboru, který je pak možné použít na celý soubor nebo i více souborů najednou. Ebe se skládá z více částí, které musely být navrhnuty a implementovány ke splnění stanovených cílů. Za tímto účelem byl navrhnut nový programovací jazyk pro editaci souborů a kompatibilitu s genetickým programováním. Dále byl implementován interpreter pro tento jazyk a také překladač, který z poskytnutých ukázek syntetizuje editační algoritmus. Ebe bylo poté otestován a porovnáno s dalšími nástroji pro úpravu souborů. Tyto experimenty byly zaměřeny na celkovou editační dobu a Ebe ve většině experimentů dosáhlo lepších časů než jazyk Python 3 a podobných editačních časů jako jazyk AWK. Tyto experimenty potvrdily, že pro mnoho často prováděných úprav má Ebe potenciál jako alternativní nástroj pro tyto úlohy.
File editing is an integral part of today's work for many people, but not everyone has programming skills or deep knowledge of editing tools to make their editing efficient and quick. This is exactly what the program presented in this thesis -- Ebe -- is trying to solve. Ebe takes snippets of file edits done by the user and using genetic programming it finds the correct algorithm to transform the whole file or even multiple files into the desired output. Ebe consist of multiple parts, which had to be designed and implemented to achieve its goals. For this purpose a new programming language was designed to suite file editing and work well with genetic programming, an interpreter for this language was implemented as well as a compiler that uses genetic programming to synthesize the editing algorithm based on given examples. Ebe was then tested with other tools for file editing. These experiment focused on the overall editing speed and Ebe ended up having better editing times than Python 3 and similar editing times as the language AWK in most experiments. These experiments proved, that for many frequent editing tasks Ebe has a potential as an alternative tool for file editing.
Klíčová slova:
code synthesis; compiler; file editing; genetic programming; interpreter; programming language; genetické programování; interpreter; programovací jazyk; překladač; syntéza kódu; úprava souborů
Instituce: Vysoké učení technické v Brně
(web)
Informace o dostupnosti dokumentu:
Plný text je dostupný v Digitální knihovně VUT. Původní záznam: http://hdl.handle.net/11012/207858