Knihovna pro kartézské genetické programování v jazyce Python

Loading...
Thumbnail Image

Date

Authors

Kováč, Ondrej

Mark

B

Journal Title

Journal ISSN

Volume Title

Publisher

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

ORCID

Abstract

Táto práca sa zameriava na implementáciu knižnice pre Kartézske Genetické Programovanie (CGP, angl. Cartesian Genetic Programming) v jazyku Python. CGP je metóda používaná pre evolučný návrh výpočetných štruktúr v rôznych odvetviach. Práca začína úvodom do evolučnej teórie v biológií, čím dodáva čitateľovi kontext pre lepšie pochopenie základných princípov evolučných algoritmov. Potom diskutuje evolučné algoritmy vo všeobecnosti, so zvýšenou pozornosťou na funkcionalitu CGP. Táto práca taktiež skúma obmedzenú výpočetnú silu jazyka Python a preskúmava spôsoby ako sa dajú dané obmedzenia zlepšiť pomocou externých modulov a nástrojov. Ďalšie kapitoly sa potom zaoberajú návrhom knižnice, vrátane návrhu aplikačného rozhrania (API). Sekcia o implementácií sa potom viac sústreďuje na rôzne optimalizačné techniky a využitie modulu NumPy pre dosiahnutie vysokého výpočetného výkonu. Nakoniec táto práca vyhodnocuje knižnicu v oblasti výkonu, testuje experimentálnu optimalizačnú metódu založenú na znovupoužití náhodne generovaných čísel a porovnáva knižnicu s inými existujúcimi implementáciami CGP. Knižnica dosiahla veľmi silné výsledky, primárne pri riešení komplexnejších problémov.
This thesis focuses on the implementation of a library for Cartesian Genetic Programming (CGP) in Python. CGP is a method used for the evolutionary design of computational structures across various domains. The work begins with an introduction to evolutionary theory in biology, providing context to help the reader understand the fundamental principles behind evolutionary algorithms. It then discusses evolutionary algorithms in general, with a particular emphasis on the functionality and specifics of CGP. The thesis also examines the performance limitations of Python and explores approaches to mitigate them using external modules and tools. Subsequent chapters detail the design of the library, including its application programming interface (API). The implementation section focuses on various optimization techniques and the use of the NumPy module to achieve high computational performance. Finally, the thesis evaluates the library’s performance, tests an experimental optimization method based on reusing randomly generated numbers, and compares the implementation against existing CGP libraries. The library achieved strong results, especially in solving more complex problems.

Description

Citation

KOVÁČ, O. Knihovna pro kartézské genetické programování v jazyce Python [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.

Document type

Document version

Date of access to the full text

Language of document

en

Study field

Strojové učení

Comittee

prof. Dr. Ing. Jan Černocký (předseda) doc. Ing. Lukáš Burget, Ph.D. (člen) doc. Ing. Vladimír Janoušek, Ph.D. (člen) Ing. Michal Hradiš, Ph.D. (člen) Ing. Jaroslav Rozman, Ph.D. (člen) Ing. František Grézl, Ph.D. (člen)

Date of acceptance

2025-06-24

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 B.

Result of defence

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

DOI

Collections

Endorsement

Review

Supplemented By

Referenced By

Citace PRO