CS 467 - Assignment Seven
Due: 2020-05-05 05:00p
Goals
- Think about interagent interaction by implementing an ecosystem
Prerequisites
- Accept the assignment on our Github Classroom.
- Download the git repository to your local computer.
Assignment
This is another assignment for which I am giving you a lot of freedom. I would like you to implement an ecosystem populated with some form of a-life.
Use your imagination. You can be inspired by real life ecosystems or do something completely different, like Jon McCormack's ants or Alan Dorin's Plague. I just want to see autonomous agents interacting with their environment and each other. I also want to see evolution, with reproduction, heredity and adaptation. As with the examples I showed in lecture, you do not need to implement the lock-step generational model of genetic programming, but your agents should have some form of genotype with a phenotype that is expressed in their appearance and behavior.
You should not feel obliged to stick to the framework we have developed for autonomous agents, but it is not a bad place to start. That said, I do want to see that your agents are following the general principles of autonomous agents and are motivated by internal "desires".
I also want to encourage you to think broadly about the pieces I have shown you. While this will run as a simulation, there is no reason this needs to look like we are staring at a petrie dish through a microscope. Agents do not need to move around (think about cellular automata or McMormack's Colourfield).
Requirements
- The ecosystem should contain at least one "species" of agents
- The agents must be situated in their environment, i.e., they must react to stimuli
- Agents must have some form of genetic material that governs their appearance and behavior
- Agents must be able to reproduce (asexually or otherwise), and the children must inherit some traits from the parent
- There must be some factor in the environment that encourages variation and adaptation; some selection process that would favor one agent over another in its ability to procreate
- This must not be a clone of Shiffman's balls that chase food (though it can be inspired by it)
- The README must provide a short explanation of your ecosystem and how it works
- Sophisticated Include interagent interaction, such as sexual reproduction, competition, predation, etc...
Finishing up
Commit your changes to git and push them back up to GitHub. I will find them there.