Thinking as a Hobby

Get Email Updates
Email Me

Admin Password

Remember Me

3476824 Curiosities served
Share on Facebook

Genetic Algorithms
Previous Entry :: Next Entry

Read/Post Comments (2)

Also this weekend I sat around with a couple of friends and talked about Genetic Algorithms, Neural Networks, AI, and Game Design. It was a fun discussion.

My ANN class is almost over, and it's gotten progressively complicated and nearly incomprehensible near the end. Even so, I feel like I've been exposed to a lot of interesting ideas, and I definitely understand neural networks better now.

But the book "Blondie 24" describes the creation of a master-level Checkers-playing program using Genetic Algorithms. The basic idea is this:

A population of neural networks that evaluate board states and output a desirable move are generated, with random weights between the units. The population might have 5000 networks. They are paired and play against one another, either 100 moves or until the opponent no longer has any pieces. The "winners", the top 10%, survive. The bottom 90% are destroyed.

Each of the winners produces "offspring", basically identical replicas of themselves, replacing the "dead" programs. A small random functions mutates some of the weights in the new offspring.

And the whole thing starts again. They play, they die, and the winners reproduce, with slight modifications.

Using this paradigm, Fogel created a master-level Checkers program, far beyond the skills that anyone on his team could have exhibited at playing Checkers.

I've used the concept of GA in a story of mine ("Snowflakes"), though not in relation to software design. Though it seems like a very powerful way to create algorithms with properties unanticipated by the programmer. The "designer" is not really a designer anymore. They're more like a contest organizer. They set up the environment, the attributes to be selected for. They set up the mechanisms by which the wheat is separated from the chaff, and they establish the parameters for reproduction and mutation. But they don't actually do any kind of front-end design.

In this way, if all these conditions are well set up, novel designs will arise on their own.

I saw a quotation by Marvin Minsky, one of the granddaddies of AI, saying "It's become clearer that the influence of the nontraditional AI techniques such as neural networks and genetic algorithms is waning, and people are back to more traditional approaches."

Perhaps he hopes this, rather than actually believing it. I've heard Minsky call GA something like a "get-rich scheme" in which the researcher doesn't really have to understand how the new design works.

But when it comes to AI, I'm increasingly convinced that that's the way it's going to have to be. Intelligence is such a vastly complex phenomenon that when we do create it, I don't believe we're going to fully understand exactly how and why it works. But I think we'll be able to create things that we don't fully understand using design strategies such as Genetic Algorithms.

Read/Post Comments (2)

Previous Entry :: Next Entry

Back to Top

Powered by JournalScape © 2001-2010 All rights reserved.
All content rights reserved by the author.