Aleš Uršič (2012) Evolution of neural networks. EngD thesis.
The goal of this work is construction of an artificial life model and simulation of organisms in an environment with food. Organisms survive if they find food successfuly. With evolution and learning organisms develop a neural network which enables that. First neural networks and their history are introduced with the basic concepts like a neuron model, a network, transfer functions, topologies and learning. I describe the backpropagation learning on multilayer feed forward network and demonstrate it on two examples. I present a model of artificial life and several topologies of neural networks for organisms. I analyse the mean squared error of different organisms. I analyse impact of learning set and initial weights on quality of learning and i show potentially large differences between different neural networks. A survival of organisms with different simulation parameters like food consumption rate, size of initial population, quantity of food in enviroment, learning speed are analyzed. Darwin's theory is related to evolutionary computation. I explain it's basic concepts like representation of genome, selection, reproduction, mutation and survival strategy. I demonstrate the usage of evolutionary computation on two examples with different types of selection, crossover and survival strategies. The best method for each specific case is determined with the student's t-test. I develop a model for evolution of neural networks. With numerical simulation i search a good structure of neural network. The evolution does not allways find the optimal solution. To improve visualisation a new structure is added to a neural network for calculation of cartezian coordinates from polar ones. This makes the progress of organisms visible through generations. The developed concepts are included in a demonstration with graphical simulation of evolution and a user interface for setting the parameters. I simulate the evolution with different parameters and analyse complexity of neural networks, accurancy of coordinate conversion, mortality of organisms and efficency in food searching. Using the ideas from nature is useful and efficient in computer science. The evolution models (in my case neural networks) give interesting simulations of artificial life. They also help solving scientific problems where efficient algorithms are unknown.
Actions (login required)