The Predator

Principal investigators:
Fabio Ruini (fabio.ruini@plymouth.ac.uk)
Adaptive Behaviour and Cognition Research
School of Computing, Communications and Electronics
University of Plymouth, UK
Domenico Parisi
Laboratory of Autonomous Robotics and Artificial Life
Institute of Cognitive Sciences and Technologies
National Research Council, Italy
Index:
Overview
Publications
Description of Simulations A
Simulation A, food probability 0.05, capture damage 10, architecture 1
Simulation A, food probability 0.05, capture damage 10, architecture 2
Simulation A, food probability 0.05, capture damage 10, architecture 3
Simulation A, food probability 0.05, capture damage 10, architecture 4
Simulation A, food probability 0.05, capture damage 10, comparison
Simulation A, food probability 0.05, capture damage 20, architecture 1
Simulation A, food probability 0.05, capture damage 20, architecture 2
Simulation A, food probability 0.05, capture damage 20, architecture 3
Simulation A, food probability 0.05, capture damage 20, architecture 4
Simulation A, food probability 0.05, capture damage 20, comparison
Simulation A, food probability 0.05, capture damage 30, architecture 1
Simulation A, food probability 0.05, capture damage 30, architecture 2
Simulation A, food probability 0.05, capture damage 30, architecture 3
Simulation A, food probability 0.05, capture damage 30, architecture 4
Simulation A, food probability 0.05, capture damage 30, comparison
Simulation A, food probability 0.05, capture damage 40, architecture 1
Simulation A, food probability 0.05, capture damage 40, architecture 2
Simulation A, food probability 0.05, capture damage 40, architecture 3
Simulation A, food probability 0.05, capture damage 40, architecture 4
Simulation A, food probability 0.05, capture damage 40, comparison
Simulation A, food probability 0.05, capture damage 50, architecture 1
Simulation A, food probability 0.05, capture damage 50, architecture 2
Simulation A, food probability 0.05, capture damage 50, architecture 3
Simulation A, food probability 0.05, capture damage 50, architecture 4
Simulation A, food probability 0.05, capture damage 50, comparison
Simulation A, food probability 0.15, capture damage 5, architecture 1
Simulation A, food probability 0.15, capture damage 5, architecture 2
Simulation A, food probability 0.15, capture damage 5, architecture 3
Simulation A, food probability 0.15, capture damage 5, architecture 4
Simulation A, food probability 0.15, capture damage 5, comparison
Simulation A, food probability 0.15, capture damage 10, architecture 1
Simulation A, food probability 0.15, capture damage 10, architecture 2
Simulation A, food probability 0.15, capture damage 10, architecture 3
Simulation A, food probability 0.15, capture damage 10, architecture 4
Simulation A, food probability 0.15, capture damage 10, comparison
Simulation A, food probability 0.15, capture damage 50, architecture 1
Simulation A, food probability 0.15, capture damage 50, architecture 2
Simulation A, food probability 0.15, capture damage 50, architecture 3
Simulation A, food probability 0.15, capture damage 50, architecture 4
Simulation A, food probability 0.15, capture damage 50, comparison
Description of Simulations B
Simulation B, food probability 0.15, capture damage 10, architecture 1
Simulation B, food probability 0.15, capture damage 10, architecture 2
Simulation B, food probability 0.15, capture damage 10, architecture 3
Simulation B, food probability 0.15, capture damage 10, architecture 4
Simulation B, food probability 0.15, capture damage 10, comparison
Description of Simulations C
Simulation C, food probability 0.15, capture damage 10, architecture 1
Simulation C, food probability 0.15, capture damage 10, architecture 2
Simulation C, food probability 0.15, capture damage 10, architecture 3
Simulation C, food probability 0.15, capture damage 10, architecture 4
Simulation C, food probability 0.15, capture damage 10, comparison
Simulation C, food probability 0.15, capture damage 30, architecture 1
Simulation C, food probability 0.15, capture damage 30, architecture 2
Simulation C, food probability 0.15, capture damage 30, architecture 3
Simulation C, food probability 0.15, capture damage 30, architecture 4
Simulation C, food probability 0.15, capture damage 30, comparison
Simulation C, food probability 0.15, capture damage 50, architecture 1
Simulation C, food probability 0.15, capture damage 50, architecture 2
Simulation C, food probability 0.15, capture damage 50, architecture 3
Simulation C, food probability 0.15, capture damage 50, architecture 4
Simulation C, food probability 0.15, capture damage 50, comparison
Downloads
Matlab workspaces
Overview:
The Predator is an Artificial Life simulation created in order to investigate phenomenas like motivation and selective attention within the domain of embodied artificial organisms. The environment where the simulation takes place is a discrete world, composed by 25 cells per side. Each cell of the environment can be empty or occupied by a food unit. Inside this environment there is an organism, able to perceive the presence of the food units and trying to collect the most of them. The collecting process takes place when the organism moves into a cell occupied by a food unit. From time to time, a predator appears into the environment, hunting the organism. If the predator reaches the organism (ie, it moves on the same cell occupied by the organism) a capture takes place. Goal of the organism is to collect the most food as possible, while at the same time keeping at a minimum level the number of captures suffered.
Publications:
Fabio Ruini and Domenico Parisi, Selective attention in artificial organisms (in Bullock, S., Noble,
J., Watson, R. and Bedau, M.A. (ed.), Proceedings of The Eleventh International Conference on the
Simulation and Synthesis of Living Systems, MIT Press, 2008) [pdf]
Fabio Ruini and Domenico Parisi, Vivere in un ambiente che contiene cibo e predatori (presented to WIVACE 2007, Italian Workshop on Artificial Life and Evolutionary Compuation, 2007) [pdf]
Fabio Ruini, La motivazione come determinante del comportamento di organismi artificiali: una simulazione di Artificial Life (MSc Thesis, University of Modena and Reggio Emilia, Department of Social, Cognitive and Quantitative Sciences, 2007) [pdf]
Simulations A:
In simulations A, the organisms are tested for three different values of the "capture damage" parameter (5, 10 and 50), using four differents neural network architectures as well.
Architecture 1 (9 hidden neurons):

Architecture 2 (9 hidden neurons + 2 motivational units connected to the hidden layer):

Architecture 3 (9 hidden neurons + 2 motivational units connected to the output layer):

Architecture 4 (13 hidden neurons):

All of these architectures share the same set of sensory inputs. The organism is always able to perceive the presence of the nearest food unit (in terms of distance and relative angle) and of the predator (when it is present).
The organisms live for 25 epochs of 100 steps each. During each epoch, the food is displaced into each cell of the environment with probability .15. The predator appears into the environment during each epoch and lives for 25 steps, moving immediately after the organism.
The organisms' behaviour evolves through a genetic algorithm. The initial population is made of 100 individuals with connection's weights and biases randomly assigned. At the end of each generation, the 20 best organisms are selected for reproduction. The best one is copied to the next generation without any modification (elitism), while the others 19 are affected by random mutation, which affects each connection's weight and bias with probability .25, modifying the value of a random amount between -1.0 and +1.0. The entire process ends after for 2,000 generations. The simulations are then repeated 10 times in order to obtain more accurate results.
Results:
Food probability 0.05, capture damage 10, architecture 1:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 10, architecture 2:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 10, architecture 3:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 10, architecture 4:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 10, comparison between the four architectures:
Average fitness
Maximum fitness
Average amount of food units collected
Maximum amount of food units collected
Average amount of captures suffered
Minimum amount of captures suffered
Food probability 0.05, capture damage 20, architecture 1:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 20, architecture 2:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 20, architecture 3:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 20, architecture 4:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 20, comparison between the four architectures:
Average fitness
Maximum fitness
Average amount of food units collected
Maximum amount of food units collected
Average amount of captures suffered
Minimum amount of captures suffered
Food probability 0.05, capture damage 30, architecture 1:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 30, architecture 2:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 30, architecture 3:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 30, architecture 4:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 30, comparison between the four architectures:
Average fitness
Maximum fitness
Average amount of food units collected
Maximum amount of food units collected
Average amount of captures suffered
Minimum amount of captures suffered
Food probability 0.05, capture damage 40, architecture 1:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 40, architecture 2:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 40, architecture 3:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 40, architecture 4:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 40, comparison between the four architectures:
Average fitness
Maximum fitness
Average amount of food units collected
Maximum amount of food units collected
Average amount of captures suffered
Minimum amount of captures suffered
Food probability 0.05, capture damage 50, architecture 1:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 50, architecture 2:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 50, architecture 3:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 50, architecture 4:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.05, capture damage 50, comparison between the four architectures:
Average fitness
Maximum fitness
Average amount of food units collected
Maximum amount of food units collected
Average amount of captures suffered
Minimum amount of captures suffered
Food probability 0.15, capture damage 5, architecture 1:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 5, architecture 2:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 5, architecture 3:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 5, architecture 4:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 5, comparison between the four architectures:
Average fitness
Maximum fitness
Average amount of food units collected
Maximum amount of food units collected
Average amount of captures suffered
Minimum amount of captures suffered
Food probability 0.15, capture damage 10, architecture 1:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 10, architecture 2:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 10, architecture 3:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 10, architecture 4:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 10, comparison between the four architectures:
Average fitness
Maximum fitness
Average amount of food units collected
Maximum amount of food units collected
Average amount of captures suffered
Minimum amount of captures suffered
Food probability 0.15, capture damage 50, architecture 1:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 50, architecture 2:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 50, architecture 3:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 50, architecture 4:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 50, comparison between the four architectures:
Average fitness
Maximum fitness
Average amount of food units collected
Maximum amount of food units collected
Average amount of captures suffered
Minimum amount of captures suffered
Simulations B
In this new simulations, the organism is able to detect the distance from the environment boundaries. In order to accomplish this task, the neural network achitectures used have been modified adding a new input neuron, which encodes the distance from the boundary the organism is facing.
Architecture 1B (9 hidden neurons):

Furthermore, now the predator lives longer than before (50 steps instead that 25).
Results:
Food probability 0.15, capture damage 10, architecture 1:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 10, architecture 2:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 10, architecture 3:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 10, architecture 4:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 10, comparison between the four architectures:
Average fitness
Maximum fitness
Average amount of food units collected
Maximum amount of food units collected
Average amount of captures suffered
Minimum amount of captures suffered
Simulations C
This new simulations are the same as Simulations B. The only difference is that, when the organism happens to be captured by the predator, it's unable to move further till the end of the current epoch. The predator immediately disappears after the capture takes place.
Results:
Food probability 0.15, capture damage 10, architecture 1:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 10, architecture 2:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 10, architecture 3:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 10, architecture 4:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 10, comparison between the four architectures:
Average fitness
Maximum fitness
Average amount of food units collected
Maximum amount of food units collected
Average amount of captures suffered
Minimum amount of captures suffered
Food probability 0.15, capture damage 30, architecture 1:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 30, architecture 2:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 30, architecture 3:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 30, architecture 4:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 30, comparison between the four architectures:
Average fitness
Maximum fitness
Average amount of food units collected
Maximum amount of food units collected
Average amount of captures suffered
Minimum amount of captures suffered
Food probability 0.15, capture damage 50, architecture 1:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 50, architecture 2:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 50, architecture 3:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 50, architecture 4:
Average and maximum fitness
Average and maximum amount of food units collected
Average and minimum number of captures suffered
Average amount of food units collected in the different conditions
Food probability 0.15, capture damage 50, comparison between the four architectures:
Average fitness
Maximum fitness
Average amount of food units collected
Maximum amount of food units collected
Average amount of captures suffered
Minimum amount of captures suffered
Downloads:
Simulator A, sources [zip]
Simulator A, pre-compiled binary (Win32) [zip]
Simulator A, pre-compiled binary (Mac OS X Intel-only) [zip]
Simulator B, sources [zip]
Simulator B, pre-compiled binary (Win32) [zip]
Simulator B, pre-compiled binary (Mac OS X Intel-only) [zip]
Simulator C, sources [zip]
Simulator C, pre-compiled binary (Win32) [zip]
Simulator C, pre-compiled binary (Mac OS X Intel-only) [zip]
Please consider that, in order to successful compile the sources, you need to have installed on your computer both the Qt toolkit (version 4.2 or higher) and the Neural Network Framework (version 1.1.5 or higher).
Matlab workspaces:
Simulations A, CD 05 [zip]
Simulations A, CD 10 [zip]
Simulations A, CD 50 [zip]
Simulations B, CD 10 [zip]
Simulations C, CD 10 [zip]
Simulations C, CD 30 [zip]