Genetic programming in Swift for human-competitive evolution
Knihovna pro genetické programování v jazyce Swift
bachelor thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/84429Identifiers
Study Information System: 175532
Collections
- Kvalifikační práce [11325]
Author
Advisor
Referee
Gemrot, Jakub
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
General Computer Science
Department
Department of Software and Computer Science Education
Date of defense
16. 6. 2016
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
genetické programování, umělá evoluceKeywords (English)
genetic programming, artificial evolutionEvoluční algoritmy napodobují biologický proces přirozeného výběru. Osvědčily se zejména jako optimalizační a vyhledávací metody. Předmětem této práce je návrh a implementace programátorské knihovny obsahující často používané nástroje pro tvorbu evolučních algoritmů v novém programovacím jazyce Swift. Výsledný software je kompatibilní s linuxovými systémy i chytrými mobilními telefony. Široké spektrum podporovaných technologií umožňuje jeho úspěšnou aplikaci v situacích, kdy signály musí být zpracovány uvnitř zařízení, které je naměřilo, nezávisle na ostatních výpočetních jednotkách. Díky zjednodušené syntaxi jazyka Swift navíc zdrojový kód knihovny spolu s přiloženými ukázkami jejího použití ilustrují základní principy evolučních algoritmů a genetického programování pro využití ve výuce. Powered by TCPDF (www.tcpdf.org)
Imitating the process of natural selection, evolutionary algorithms have shown to be efficient search techniques for optimization and machine learning in poorly understood and irregular spaces. In this thesis, we implement a library containing essential implementation of such algorithms in recently unveiled programming language Swift. The result is a lightweight framework compatible with Linux- based computing clusters as well as mobile devices. Such wide range of supported platforms allows for successful application even in situations, where signals from various sensors have to be acquired and processed independently of other devices. In addition, thanks to Swift's minimalistic and functional syntax, the implementation of bundled algorithms and their sample usage clearly demonstrates fundamentals of genetic programming, making the work usable in teaching and quick prototyping of evolutionary algorithms. Powered by TCPDF (www.tcpdf.org)