1.4
Limits to Computation
Some of the most interesting
results of computer science demonstrate certain limits to human
knowledge. There are many open problems in biology, and one hopes
that applying more computer power to them may help solve them. But
this isn't always possible, because some problems can be shown
to be unsolvable; that is, they can't be
solved by any program. Furthermore, some problems may be solvable,
but as the size of the problem grows, they get practically impossible
to solve. These problems are called
intractable , or
NP-complete. Even a million computers, each a
million times more powerful than the most powerful computer existing
today, could take perhaps a billion years to compute the answer to
such an intractable problem.
Now the chances are that you're not going to get stung by an
unsolvable or intractable problem. It can happen, but it's
relatively rare. I mention them more as a point of interest than as a
practical concern to the beginning programmer. But as you attempt
more complex programs down the road, these limitations, and
especially the intractable nature of several biological problems, can
have a practical impact on your programming efforts.