Wednesday, October 28, 2009

Basic program set up and ready to go

The basic GA is now up and running, the visuals are nothing interesting and will be the first thing I change, and the setup of click through with a mouse and keyboard will be changed once I have a touch screen to play with. One problem is that it doesn't seem to like mac's, something to do with Java.

Creative Brain

Tuesday, October 13, 2009

GA's - Genetic Algorithms

A genetic algorithm is a piece of programing that lists a series of possibilities and a small chance of mutation. The best way to describe it is as a DNA strand. Just like a DNA sequence carries all the possibilities of eye, hair and skin color (and much more) a GA carries a library of possible shapes and colors (or any other attributes you wish to apply to it). And just like in a DNA sequence a GA can be weighted to more heavily favor a certain type of attribute. This means when you 'mate' two GA's they become parents to new GA's which carry the weights of their 'ancestors' but also have a percent chance of mutation. In biological terms it is a code that evolves generation to generation. This is usually set up with a set of peramiters or a goal in mind for the GA to achieve.

Processing the most likely API

Processing is a coding graphics application available to the public that many use to create interactive media and other things. In the UO art department it is heavily used. It is very versatile and easy to learn especially if you have any programing experience. I have decide to use processing for my input/output phases of the project. It will interact with the GA to actually display the work and to process the information received from the proximity sensors. As such I need to work with processing and make a manageable library that the GA can handle and create its own works with. The problem is getting things complex so that its interesting but simple enough to process quickly and efficiently. As such I have decided that for now I am going to limit to still images. This will lower processing time and the possibility of bugs. When I have a working sample I may expand the project to include animation.

I love CS friends

After a meeting with a friend of mine, Chris, who has been doing gaming programing for a while. I found out he has worked with Neural Networks and Genetic Algorithms. After a 2 hr conversation I have a better understanding of both and there uses and common applications. As such I have decided to concentrate on genetic algorithms for now, since they seem to hold the key to what I need to accomplish. I described my project to Chris and he decided it was interesting and would help me with the more complicated C++ programing. After describing in abstract how GA's work and showing me an example of one that he made I now have a bit more understanding of what work is ahead of me. We decided the first step for the GA is that it needs a set of possibilities, kind of like a genome or strand of DNA. So the next step in the project is to get an API (I think that's the acronym) that the computer will use to make the work, and then produce a 'library' the code can input into the API to create the 'work'.

Sunday, October 11, 2009

Fractal art

So after looking at a lot of different algorithmic and fractal art I came across this project,
-electric sheep - which is very similar to the look I want to go for, as well as some of the ideas and project goals.

First Tutorial


After wading through a lot of math and c++ programing I now understand more about ANN and Genetic algirithms. And I have a example of a working one that is pretty fun to watch its called minesweeper, and uses a ANN to control these little tank guys that run around and 'learn' to collect the green mines.

Wednesday, October 7, 2009