Tuesday, June 8, 2010

Architecture Of Programs

I have been thinking a lot about the structure of the framework I'm writing to do my GEP experiments in. Its gone through several iterations so far, and what I've found is that the most important thing for me to do is find the right abstraction with which to explain what is going on, so that the rest of the program flows logically out of that one source of authority.

My most recent idea is to have a population of individuals, which knows its own structure in case I want to do cellular algorithms at some point, and an environment. Execution involves repeatedly exposing the individuals to the environment, which may modify either participants, until the terminating condition is met. I decided that this is really the essence of AI in a way (learning from exposure to an enviroment) and that a program should be written to mirror the way the idea would be explained to a novice in the field.

Hopefully this will turn out to make any sense and my framework will be more logically consistent and easier to use because of it.

No comments:

Post a Comment