Monday, January 26, 2009

Evolution

I honestly did not think I would get this far in my highschool year-- I either underestimated myself or overestimated the problem. I have had this idea existing for the past couple days, and it has been working for least least 4 days, and in this time I have tried to explain how this program works to many people, here's what I've practiced.

This program tries to play Connect4. There is an equation the program uses to try and figure out which spot is the best. Now you will notice that I used the word, 'try' alot, that's because it's never certain. The program's equation actually mutates. It copies itself and adds a slight mutation, then all of them play Connect4 a couple times to decide which mutations are best, and those live on while the rest die. The living ones reproduce and it goes on and on.

So far the equation it has is far from perfect, my challenge is to give it an opponent, my best choice I figure is to get them to play each other, I am experimenting with that right now.

I will post the advances I make but for some reason I feel as though I've stumbled on something I almost want to keep it somewhat private, so my descriptions will be vague...

contact me dfreelan@gmail.com if you want to know more (not that I have many followers...)

Wednesday, January 21, 2009

Connect 4

I tried to use the same algorithm I did with Tic-Tac toe on Connect four, and i ran into some problem with memory---

actually i never explained how i got tic-tac-toe to work... it actually was an interesting story...

So as the game plays against itself over and over again, it records what spaces lead to losses, what moves lead to wins, and what moves lead to ties. There is then a statistic taken every turn to see which one is the best, and the statistics are constantly updated. However it is a bit more than statistics, hardly but distinct, i programmed a "gullibility factor", well that's what I call it. the wins could only possibly get up to 10, or whatever the 'gullibility factor' was and it could only get so bad as the gullibility factor.

Now dealing with ties is where something interesting happened, when both computers saw ties as a form of winning, both of them simply made the same moves over and over again, not surprising. When both computers considered them loses , when they played against a human they failed, they would choose to lose instead of tie sometimes.

However when one computer considered ties wins, and the other one considered ties loses, one of them succeeded. To me it seemed like a pessimist vs optimist situation, and i believe the optimist won this round. Because the program considered ties wins and the others loses, the one that thought they were loses continually changed strategy, while the other one was able to learn and find all the different possibilities of winning. While the loser, simply ended up moving randomly in the end when you try to go against it.

Now I need to do something with Connect 4, but there are too many combinations, and the RAM just cant take it on any computer I can come in contact with. So Now I must come up with a new strategy, I think I will come up with it tomorrow.... lots of thinking to do

Monday, January 5, 2009

Alright I missed a couple.

I over the passed couple days made a program that I taught to play tic-tac-toe. It is about 1000 lines of code devoted to trying to get it to learn to play tic-tac-toe better and better with experience. So I skipped out on writing.

I was recently contemplating the need for speech to communicate and speak, I was wondering if one were to master thinking without language and think about AI one might get a better understanding of how to understand what language is, and how to program it.

To be continued...