Genetic programming in Swift for human-competitive evolution
Knihovna pro genetické programování v jazyce Swift
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/84429Identifikátory
SIS: 175532
Kolekce
- Kvalifikační práce [11190]
Autor
Vedoucí práce
Oponent práce
Gemrot, Jakub
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Obecná informatika
Katedra / ústav / klinika
Katedra softwaru a výuky informatiky
Datum obhajoby
16. 6. 2016
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
genetické programování, umělá evoluceKlíčová slova (anglicky)
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)