Wednesday, September 20, 2006

Done with Lost but haven't found what I'm looking for

So, after a long and very entertaining Lost episodes, I finally got to the end of it...

...And in whatever time I had to spend over my machine in the last couple of days, I started to learn C#. Trust me people, it's not for the sake of the language itself; it's just that the XNA beta works only with C#. Yes, I have been tinkering here and there but haven't found what I'm looking for. You know that chemestry thing. But I'm optimistic; I'm sure if I keep on wondering around, something will come up and I'll get hooked up to it.

Friday, September 15, 2006

Lost

Well, I've been putting much of my very recent time into watching the full 2 seasons of Lost since everyone is talking about it and since the damn 1st season's disc one was rented out by my sister. The mistake was to actually sit down and start watching!!

I can't really add more to the hype and the blogging that's been going around about it but I must say it is certainly an interesting series and one that will get you addicted. The character setup is cool, the oblivious events and the totally strange stuff that come an go are even better - I am not going to ruin it by talking about it -.

So, the Genetics and AI stuff has been on a short hold until I can finish off the whole series and my Rescue Diving meterial -Almost there ;) -. Hopefully I would have time to get down to it this weekend since I found lots of interesting stuff about combining Genetics with Artificial Neural Networks and even more interesting by combining it with Fuzzy Logic. I really want to get good grasp on all these stuff to make a series and perhaps start a project.

Tuesday, September 05, 2006

Basic Genetics Algorithm

Finally, after two days of programming -I feel so good to be back at it- I wrote a basic Genetic Algorithm simulation. The algorithm aims to find a solution to a problem through natural selection of population members. This selection process can go on for generations to find a solution.

Actually, a solution may or may not be found which if anyone thinks about it; it's like humans eveolving. the chances of a flying human is quite silly since our genes cannot evolve towards that -at least that's what history has shown so far since humans came to this earth-. However, if no solution is found, you get a pretty close one. This is my first attempt at it and maybe I can tinker with the algorithm and its parameters to get better results.

The concept is really cool and neat, because a solution seems to evolve on its own after a while and suddenly the whole population is fit and close to the solution. Seeing this work is even better ;)

So, what the Algorithm here is trying to solve?
  1. I pick a number which is my target solution (say 23) and I have number 0 to 9 and operators +,-,* and / all encoded as binary strings (those are the genes).
  2. I pick the sequence ...etc at random depending on the length that I choose -always odd length- and then this is a cromosome or a member of the population.
  3. After constructing the population, each cromosome has a fitness score. i.e how close it is at solving the problem.
  4. Using a method called the rollette wheel, I mate every two chosen random members of the population and apply all the concepts of a genetic algorithim until I get a new population.
  5. This procss is continued for a certain number of generations and hopefully a solution is found.

The algorithm solves problems untraditionally and its strength lies in the fact that it is almost impossible for anyone to do it manually -that would take years and years- and that -given its done right- a solution seems to evolve.

This was based on the tutorial I read by Mat Buckland at http://www.ai-junkie.com

Friday, September 01, 2006

Game Programming

Actually, I was thinking of putting down stuff about Game programming since I seem to fancy that subject alot. I love games and I love the technology behind them. The good news is, I am back reading on the subject after a loooooooong stop aiming at a focus on my IT career!!!! What a shame, I feel I lost some valuable time which I could have used to get educated on the subject. In any case, I also came to realise that there is alot of time to learn at work-about IT and the discipline- so I should continue and get something done in Games programming too. Who knows maybe build the next Command and Conquer!