Copyright © 2002, 2004 by Gene Michael Stover. All rights reserved. Permission to copy, transmit, store, & view this document unmodified & in its entirety is granted.
Cite: Please cite with a form similar to that of the entry for this article in its own bibliography ([]).
This is not a scientific research paper. It's not a code-intensive essay about computer programming. It's an informal, brief essay about an idea that's probably more fiction than science. It might be of mild amusement to programmers or computer scientists who have ten minutes in which to exercise their imagination & are at a loss for what to imagine.
Think back to your days in university as a computer science major. Remember the theory of NP-complete problems, which maybe you learned in a computational complexity class or a computability class.
There's a theorem that says the work required to transform one NP-complete problem into another is of merely polynomial complexity.
To put it another way, let's say someone
invents a magic box (or algorithm) that can solve the
Traveling Salesman problem (which is NP-complete) in
super-quick time, like
.1 Then for any other NP-complete problem, such as
the Knapsack problem, I could write a polynomial-complexity
algorithm that wrapped around the magic algorithm,
translated Knapsack problem inputs into Traveling Salesman
inputs, fed them to the magic algorithm, & then translated
the Traveling Salesman outputs to Knapsack outputs. So now
humanity can solve the Knapsack problem in polynomial time.
Other people could write polynomial-complexity wrappers for
other NP-complete problems, & humanity could solve all
NP-complete problems in polynomial time.2
So here's the first part of my fanciful idea: What if the polynomial transformation theorem applies to problems that normally require human-style intelligence (or artificial intelligence)?
Let's say you're given some big problem that requires human-style intelligence to solve, something computers are just horrible at solving, like distinguishing pictures of apples from pictures of your big toe? If the polynomial transformation theorem applies to problems that require human-style intelligence, then you could convert that picture-recognition problem into, say, voice recognition, symphony composition, or maybe color-swatch matching. You could transform the picture-recognition inputs into that other problem, ask a human to solve that other problem, & then translate his actions (his solution) to a solution for your original problem.
You're now thinking ``So what? You converted a problem that requires human intelligence into another problem that requires human intelligence. Big whoop.'' But wait. There's more.
What if the problem you were given, which required human intelligence, can also be divided into sub-problems that can be solved in parallel? Maybe the polynomial transformation is part of dividing the larger problem into pieces which can be solved in parallel, or maybe the transformation & the parallelism are separate. Whatever.
So you have some large problem which is solvable by human intelligence, but too big to solve by one human. By use of that polynomial-transformation theorem from NP-completeness, which we're assuming works with problems that require intelligence, you can transform the larger problem into many smaller problems which can be solved in parallel, though they, too, require human intelligence.
Now, how can you get a bunch of people to sit around & solve those smaller problems? What if those smaller problems are fun to solve? What if they are fun enough to be considered games? What if they, through some brilliant polynomial-order transformation, form the components of a Massively Multi-player Online Role-Playing Game (MMORPG) or of a Massively Multi-player Real-Time Strategy game (MMRTS)? Both styles of games are popular these days. With that, you could charge people to play your game (which the MMORPG & MMRTS companies already do), but the ``other end'' of your computing system is massively intelligent & capable of solving some large problem that otherwise requires lots of human intelligence.
What kinds of problems might be solved that way? Maybe problems that, while some humans can solve, most humans can't. Those types of problems might include writing symphonies, writing international treaties, discovering a new law of gravitation, or just plain being a super-brain like HAL-90003.
How might those problems be translated into the components of a massively multi-player online game? Got me. Like I said at the beginning, it's just a fanciful idea to amuse the imaginations of computer scientists or programmers in a spare ten minutes.
Gene Michael Stover 2008-04-20