Wednesday, March 5, 2008

Simulations for Ecomimicry

After discussing the World of Warcraft viruses I was left to pondering what other ways to create ecomimicry would be. Apparently it’s realistic to have people manipulating virtual simulations- likely because people continue to act in the same ways that they would in the real world. I think it’d be difficult to mimic human behavior because it’s so unpredictable due to the wide variety of psychological impacts.

However, I got to thinking about other ecological systems, and animals and plants tend to follow more set cues based on their needs and survival instincts. As I was thinking about it, I remember something that my Sibb (an Olin term for a freshman you work with), Jonathan Reed and his partner Jacob Izrealevitz made a matlab simulation of something I view as “ecomimcry.”

So I had him send me the code, and I’ve been looking through it and playing with it. The main parameters that you can change at the beginning of the simulation are how many of each type of organism you create and the amount of food in the system. The simulation has three different types of organisms- foragers that look for food, cultivators that grow more food, and reproducers that make more cells.

This obviously isn’t a perfect system, because very few organisms make their own food, and things very seldom perform a singular role in society. However, it is a very basic tool for ecomimcry, and even this small model takes almost 600 lines of code. When the simulation runs it provides output in the form of a graphical display- it runs “turns” of organisms each performing an action and you can watch food appear and disappear, organisms grow and shrink, and the opacity change based on how much food is around them. The color of an organism indicates the role it fulfills.

So there are a few snapshots of the system, and I’m going to spend some more time making a list of ways the system could be made more realistic (hopefully simply) and perhaps trying to modify it. If you’re interested in seeing the code, let me know, and I’ll send it your way!

This is a system in flux- there are a few organisms of different types and sizes, and lots of food. Depending on how they take turns, it could go anywhere.

This is a system at the end, after all the organisms have died. See how sparse the food is? They exhausted their available resources.

Finally, this is a system with a ton of foragers. These cells all went and ate all the food being created by the green cells.

So, this has been a fun evening playing with the only ecomimetic system I have access too.
Stay tuned for updates on me trying to figure out more of the code and find improvements!


1) More different types of cells, or cells that go through series of actions- that is for awhile they feed, then reproduce, or something, based on a lifecycle, rather than simply favoring one action.
2) Cells that work to benefit each other or hurt each other, a predator-prey concept.
3) Other things- like geographic locations etc. so cells behave differently based on their location
4) Evolution so that cells slightly modify behavior or do a combination of small amount of things each time.


Mel said...

Ellen, this is really neat - did you ever get a chance to tinker more with the code here?

Mel said...

Ellen, this is really neat - did you get around to tinkering more with the code? I'd love to see more pretty pictures.