dr_manhattan Posted February 24, 2006 Posted February 24, 2006 Hello, I wonder if you could help me. I've been reading these forums for a while, but haven't until now posted, I wasn't sure if this topic should be posted here or in the computer science section, so if the mods whish to move the thread, feel free I'm currently looking into developing a predator/prey behaviour simulation in which the behaviours of the entities evolve over time. I have no problem with this technically but I wanted to know a little about what has already been done, mainly what are the standard ways of representing or holding the decisions of the entities, and what types of environments are used. I was planning on using a decision tree to process the entity's inputs and to come to a decision on the next course of action, but I just wanted to know what alternitives other people have used as there may be better ways of doing this. Can you point me towards any resourses, books, web pages or journals which might lead me to this information? Many thanks, Andy
Edtharan Posted February 25, 2006 Posted February 25, 2006 What aspect of preditor/prey relationships are you interested in. I have dome some of my own experiments on computer with this (not as part of any course, just out of curiosity). I used genetic algorithms to encode the behaviours of the "agents" (the predator or prey). My encoding was a 5 X 5 cell grid. It stored the action to be taken in the grid cell coresponding to where the preditor was in relation to the agent (direction and distance). The center cell represented the agent. The inner most ring of this array represented a close range to the "agent" (within a certain distance not just next to the agent). The next ring was the medium range and the outer ring was the long range. The distances each of these rings represented was also subject to the genetic algorithms evolution and so could be different for each agent. Movement cost energy, and the faster the movement the greater the energy cost. Eventually I had several 5X5 grids (one for each agent type - preditor or prey) and had planed to put in a "signalling" layer that would act like hearing and let the agents be able to "post" a message (just a number to represent a sound) in it. The agent would also have to evolve to understand these singals and respond to them (as well as to what signal it would post in this layer and under what circumstances). But I never got around to doing this last modification to the program. One of the "discoveries" I made about these agents is that it was not the predator/prey relation ship that was the strongest influence on the evolution of the agents. It was the Prey/Prey or Predator/Predator relationships that gave the strongest evolutionary pressures. This has also been confirmed in the real world, with real animals. Just remember, if a lion is chasing you, you don't have to be faster than the lion. You just have to be faster than the person next to you .
dr_manhattan Posted February 26, 2006 Author Posted February 26, 2006 That a very interesting idea, I'll have a think about that, thanks for your reply, it's very much appreciated.
Edtharan Posted February 26, 2006 Posted February 26, 2006 I had a number of "improvements" that I was going to do. "Smells" and trails so that a creature could follow where another had gone. in the genome I was working on haveing 2 copies of each genome to better emmulate sexual reproduction. I was also working on a neural network that coudl be used to determin behaviour and the responses to the sensory system (the grid). I had got as far as designing the way the NN was going to work and started codeing, before my accident forced me to stop (this is why I havent finished all this stuff). I dislocated my shoulder (how is that for intelegent design. Make the shoulder a weak point in our anatomy. A human engineer could do a better design for the shoulder, but evolution has equiped us with one that is "good enough" ), and it hasn't healed properly for 6 years now including 5 opperations. So I would be willing to help with the design, but I can't do much programming because of this injury (I would like to see if my ideas would work as I expect them to).
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now