Cellular automata (CA) are systems that use a dynamical rule to describe the evolution of a population in a discrete lattice, while genetic algorithms (GA) are procedures designed to find solutions to optimization problems inspired by the process of natural selection. Given the similarities between these two definitions, they have already been used together, but a CA rule inspired by those of GA has never been seen. Hence, new CA can be introduced: their dynamical rules use a fitness function to select for each cell the best mate to reproduce and a crossover operator to determine the resulting offspring. This new system is called Cellular Evolution and, with a proper definition, it can be both a CA and a GA. Moreover, its potential is soon visible: 1) it can implement Conway's Game of Life (GoL) and, consequently, it is capable of universal computing; 2) two new original evolutions of GoL are created and also implented with it; 3) its behaviour is really amazing and interesting, expecially for the complexity that arises from some of its random initial configurations. In order to study and see how this system works, its algorithm has been implemented with two programming languages: the first version uses Matlab environment while the second one is a complete open-source program created with Python.
Cellular Evolution: una simbiosi tra automi cellulari e algoritmi genetici
DUTTO, SIMONE
2015/2016
Abstract
Cellular automata (CA) are systems that use a dynamical rule to describe the evolution of a population in a discrete lattice, while genetic algorithms (GA) are procedures designed to find solutions to optimization problems inspired by the process of natural selection. Given the similarities between these two definitions, they have already been used together, but a CA rule inspired by those of GA has never been seen. Hence, new CA can be introduced: their dynamical rules use a fitness function to select for each cell the best mate to reproduce and a crossover operator to determine the resulting offspring. This new system is called Cellular Evolution and, with a proper definition, it can be both a CA and a GA. Moreover, its potential is soon visible: 1) it can implement Conway's Game of Life (GoL) and, consequently, it is capable of universal computing; 2) two new original evolutions of GoL are created and also implented with it; 3) its behaviour is really amazing and interesting, expecially for the complexity that arises from some of its random initial configurations. In order to study and see how this system works, its algorithm has been implemented with two programming languages: the first version uses Matlab environment while the second one is a complete open-source program created with Python.File | Dimensione | Formato | |
---|---|---|---|
730937_cellularevolution.pdf
non disponibili
Tipologia:
Altro materiale allegato
Dimensione
4.74 MB
Formato
Adobe PDF
|
4.74 MB | Adobe PDF |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14240/90433