neurokinetikz

Evolutionary Playgrounds

No comments

In my final semester at college, i took a course in artificial intelligence that profoundly changed the way i thought about computers and what they were capable of doing. Heretofore, I had thought of them as fancy calculators, simple machines that basically did what you told them do. If A, then B, otherwise C. It was all so logical, If you understood the steps necessary to solve a problem (the algorithm), then you could encode it and find an answer.

Well, at least sometimes. There were problems, I discovered, with solution spaces so vast that even by employing all of the computing power in the world, it would have taken more than a lifetime to comb through it all.

For example, a classic computer science problem is the Traveling Salesman Problem. The task is seemingly simple: find the shortest route that will allow a salesman to visit a number of cities without visiting any of them twice. With 3 cities, there are 6 possible routes, 10 cities, over 3 and a half million, and with 20 cities, nearly 2 and a half billion billion different ways to go. In order to solve the Traveling Salesman Problem, a computer simply does not have enough time to consider all of the possible answers. A shortcut is needed.

That’s when I learned about genetic algorithms. And the shortcut it employed was genius. Instead of performing a brute force search through the entire solution space and evaluating all possible answers, just sample it at random points and evolve better solutions from there. With each passing generation, the answers got better, until after a time, they stabilized on a nearly optimal solution … and that time was in seconds, not lifetimes.

I was astonished at how powerful such a simple idea could be. There was no secret to how the algorithm worked, just pick a bunch of random routes, cross them over with other routes, mutate them a bit, and then keep the ones that were the best. Rinse. Repeat.

The mystery was in the process that the algorithm employed to find the answer. What fascinated me most was that, starting with millions of different ideas about how to get from point A to Z most efficiently, the algorithm converged on a, though not ideal, nearly optimal solution … and rapidly, every single time.

All that was needed for the algorithm was a simple directive: find me the shortest route. And then it figured out the rest. Randomly.

Evolution was computable.

Now in terms of crowdsourcing, the similarities between it and a genetic algorithm are (hopefully) clear. Start with a problem statement, solicit random answers to the problem, evolve and evaluate them. And then keep the best. Many crowdsourcing sites today are clearly evolutionary competitions of the sort. Those ideas that best answer the stated problem survive and are rewarded, the rest quickly die away.

And therein lies the potential of crowdsourcing. What we are creating are evolutionary playgrounds for ideas. And the evolution of ideas is arguably the most powerful force in the world today. All knowledge, and therefore wisdom, is the result of this process. With crowdsourcing, we are laying down the foundation for the world to contribute.

To randomly find good answers to difficult questions … and quickly.