the way basic neural networks work - if there is no input, there will be no output. When the predators were too far away to get any sensory input of other animals, they essentially switched off. Searching behaviour would then need to use something other than the neural networks.
Could search behaviour emerge if you used the previous output as the input to some of the top level perceptrons? If the output was a vector, rather than a set of coordinates, could you not feed this back in and end up with at least a creature that would head on the same direction as previously, given that all other inputs are static?
Interesting idea - It was years ago I did this project now, I think I did some attempts at passing previous output back in and I think it struggled to evolve with any intelligence. But if I ever go back to it, that may be the path I take :)
Wouldn't it be more effective to have animals that reproduced? that way you wouldn't need to run it in "rounds" and you'd get similar emergent behaviours?
I will put more info and the program up on a website soon and link it on here, there were lots of interesting results i had eg prey flocking, predators working together
The simulated world is run a few thousand times. After every 5 runs, the animals are ranked based on how well they survived (prey) and killed (predators), and they are then evolved (with a genetic algorithm) based loosley on their abilities. This creates a new population (sometimes better, sometimes worse!) for the next set of runs. What you see here is the result of evolving 500 times.
Why do the predators stop when there is no prey nearby, wouldn't it have been advantageous for them to develop a searching behavior?
determinism89 2 years ago
the way basic neural networks work - if there is no input, there will be no output. When the predators were too far away to get any sensory input of other animals, they essentially switched off. Searching behaviour would then need to use something other than the neural networks.
MattBee84 2 years ago
Could search behaviour emerge if you used the previous output as the input to some of the top level perceptrons? If the output was a vector, rather than a set of coordinates, could you not feed this back in and end up with at least a creature that would head on the same direction as previously, given that all other inputs are static?
jase250 2 years ago
Interesting idea - It was years ago I did this project now, I think I did some attempts at passing previous output back in and I think it struggled to evolve with any intelligence. But if I ever go back to it, that may be the path I take :)
MattBee84 2 years ago
Oh, I liked that. See my videos, a Kohonen ANN aplication is there.
juancho179 3 years ago
Wouldn't it be more effective to have animals that reproduced? that way you wouldn't need to run it in "rounds" and you'd get similar emergent behaviours?
OverusedChewToy 4 years ago
Interesting! Where can I find more infos about this subject? Did you put on a website?
Serbetel 4 years ago
Very cool stuff! Can't wait to see more!
iShortcutz 4 years ago
*quicknote
-each animal has sound and vision inputs.
-each animal has its own individual neural network.
-output from the network is simply movement in x and y coordinates.
MattBee84 4 years ago
I will put more info and the program up on a website soon and link it on here, there were lots of interesting results i had eg prey flocking, predators working together
MattBee84 4 years ago
The simulated world is run a few thousand times. After every 5 runs, the animals are ranked based on how well they survived (prey) and killed (predators), and they are then evolved (with a genetic algorithm) based loosley on their abilities. This creates a new population (sometimes better, sometimes worse!) for the next set of runs. What you see here is the result of evolving 500 times.
MattBee84 4 years ago
What am I seeing here? Where does the neural network learning come in? Do they learn with time?
adamsebwolf 4 years ago
Interesting
asocyatelo 5 years ago