polito.it
Politecnico di Torino (logo)

Design and Development of a Python Package implementing a General-Purpose Evolutionary Algorithm

Luca Barillari

Design and Development of a Python Package implementing a General-Purpose Evolutionary Algorithm.

Rel. Giovanni Squillero, Alberto Paolo Tonda. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2020

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Share Alike.

Download (4MB) | Preview
[img] Archive (ZIP) (Documenti_allegati) - Altro
Licenza: Creative Commons Attribution Share Alike.

Download (143MB)
Abstract:

The thesis focuses on the design and on the development of MicroGPv4, a Python package implementing a versatile, general-purpose evolutionary algorithm. It explains how it was conceived, why certain decisions were taken, and how to make the most out of it. In the first part, the document explains the basis of an Evolutionary Algorithm: how it works, which are its components and when it should be used. There are also references and comparisons to other currently available libraries implementing Genetic Algorithm in Python and Java. After a brief introduction on the history of MicroGP, it shows the structure and the main genetic operators available in the highly customizable tool. Furthermore, examples are provided to ensure a correct and simple use. Experimental tests have been performed on the One-Max problem (a typical test case used to check performances of Genetic Algorithms). These experiments have the goal of maximizing the bit count (ones or zeros) of a fixed length bit-string. Given the past of MicroGP, another experiment I devised produces a x86 assembly code implementing the One-Max problem. The thesis also included the creation of an online documentation that allows a quick and readable consultation of the source code.

Relatori: Giovanni Squillero, Alberto Paolo Tonda
Anno accademico: 2019/20
Tipo di pubblicazione: Elettronica
Numero di pagine: 65
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: NON SPECIFICATO
URI: http://webthesis.biblio.polito.it/id/eprint/14347
Modifica (riservato agli operatori) Modifica (riservato agli operatori)