views:

105

answers:

1

One of my interests in AI focuses not so much on data but more on biologic computing. This includes neural networks, mapping the brain, cellular-automata, virtual life and environments.

Described below is an exciting project that includes develop a virtual environment for bots to evolve in.

"Polyworld is a cross-platform (Linux, Mac OS X) program written by Larry Yaeger to evolve Artificial Intelligence through natural selection and evolutionary algorithms." http://en.wikipedia.org/wiki/Polyworld "

Polyworld is a promising project for studying virtual life but it still is far from creating an "intelligent autonomous" agent.

Here is my question, in theory, what parameters would you use create an AI environment? Possibly a brain environment? Possibly multiple self contained life organisms that have their own "brain" or life structures.

I would like a create a spin on the game of life simulation. What if you have a 64x64 game of life grid. But instead of one grid, you might have N number of grids. The N number of grids are your "life force" If all of the game of life entities die in a particular grid then that entire grid dies. A group of "grids" makes up a life form.

I don't have an immediate goal. First, I want to simulate an environment and visualize what is going on in the environment with OpenGL and see if there are any interesting properties to the environment. I then want to add "scarce resources" and see if the AI environment can manage resources adequately.

+1  A: 

Since you said "in theory", that implies you are interested in reading a lot of academic papers on the subject, because I think there's plenty of theoretical work out there, usually supported by proof-of-concept experiments.

I took a class on this 3 years ago, so my knowledge is both introductory and out-of-date, but try searching for something like "neural network language evolution" on Google Scholar*. The simulations in those papers should give you some ideas of what other researchers have tried. Then, a good place to start is to replicate one of the experiments that you find interesting.

Disclaimer: I had to do just that for the class, and it sucked. I decided that I preferred working programs to theoretical experiments. But you said "in theory" so this might be the kind of thing you really like.

*Sorry, I can't remember the exact papers we read.

Nathan Sanders