Limits of Computation
Computer technology has advanced at a pace unprecedented by other technologies. Although
such achievements have transformed the human experience, they have also fueled misconcep-
tions about the limits of computation itself. From a popular perspective, the scope of problems
that can be solved by computers may seem unlimited. In reality, computers are limited by sev-
eral factors—some contingent and others more fundamental.
Contingent limitations apply to the current state of computer technology. Actual computers are
artifacts of engineering; as such, they are subject to certain physical limitations and may lack
sufficient resources (e.g., speed, memory) to solve certain problems. For example, to list all pos-
sible partitions of 100 countries into two even halves (the city partition problem) would require
at least 2100 steps, which would take more than 30 trillion years on a computer at the speed of
1 billion steps per second. Note that this is a problem that is solvable by computers in principle
but that we just cannot afford the waiting time given the speed of the current computers. More-
over, further improvement in computer power does not seem to help much. For example, even
with the computer speed improved by 1,000 times, the city partition problem still would require
more than 30 billion years of computer time.
Other contingent limitations apply to our current knowledge of computer algorithms. Computer
algorithms have been a very active research area in computer science. Many powerful algo-
rithmic techniques have been developed during the past four decades. For example, now it is a
trivial task using computers to schedule a minimum cost trip from a given city to another given
city (the shortest path problem). The problem on a map of 100 cities takes a computer only
miniseconds. This algorithm has been used very popularly by travel agents. On the other hand,
if we add the condition that the tour must pass through all cities on the map (the traveling sales-
man problem), a seemingly moderate condition, the problem becomes much more difficult. The
problem is solvable in principle; we can simply enumerate all possible such tours and pick the
one with the minimum cost. However, such an enumerating algorithm would take more than
2100 steps on a computer, and this, as already calculated for the city partition problem, would
require an unaffordable waiting time.
On the other hand, in spite of much effort by computer scientists and mathematicians over the
past four decades, no one has been able to develop an algorithm for the traveling salesman
problem that is essentially better than the trivial enumerating algorithm. Therefore, currently
no known computer program is able to solve the problem in a practical manner. Note that the
traveling salesman problem is different from the city partition problem; the 2100 computer steps
are necessary for solving the city partition problem, whereas much faster computer algorithms
might exist for the traveling salesman problem but simply have not been discovered yet.
During the past 40 years of research in a variety of areas in computer science, a class of more
than 1,000 problems, all similar to the traveling salesman problem, has been identified. It is
known that if any of these problems can be solved efficiently, all problems in the class can be
solved efficiently using a technique of problem reductions. On the other hand, many of these
problems have been studied for decades, and no efficient algorithms have been found for any of
them. Thus, it is natural to conjecture that no efficient algorithms exist for these problems and
that all of the problems in the class are computationally intractable. These problems have been
named NP-complete problems.
Many important computational problems in a large variety of areas are known to be NP-
complete. Studying NP-completeness has been central in the research in theoretical computer
science. But this is only half of the story. Beyond the physical limitations on what can be com-
puted in practice, there are deeper and more fundamental limitations on what can even be com-
puted in principle. These limitations apply to the nature of computation itself. In fact, classic
results in computational unsolvability were studied by mathematicians and philosophers prior to
the construction of the first computers.
After all, computers are built based on Boolean logic, and the execution of a computer program
can be regarded as a process of mathematical logic reasoning. According to Gödel’s incomplete-
ness theorem, no formal mathematical system can verify the validity of all mathematical state-
ments. Translated into the language of computer science, this says that no computer program
can test the correctness of all other programs. In fact, it has been proven using formal mathe-
matics that there are a large number of very simple computer programs whose correctness can-
not be verified by any computer program. For example, suppose that a computer programming
teacher has taught his first class and assigned his students to write their first computer program
that simply prints “Hello, World.” It would be quite natural for the teacher to expect to write a
“testing program” that can test the correctness of the programs submitted by the students. How-
ever, fundamental research in computational unsolvability has shown that no such testing pro-
grams exist even for such a simple task. Note that the impossibility results here are outright and
have nothing to do with the computational resource. These fundamental impossibility results
have also found wide applications in science and engineering.
In summary, limitations of computation have been studied thoroughly from both practical and
theoretical points of view. These studies may play important roles in the research in geographic
information science (GIScience). In particular, research directions in GIScience, such as com-
putable city, electropolis, Digital Earth, and virtual field trip, all are closely related to computer
and information technology. A clear understanding of what is possible and what is impossible
using computer technologies seems to be necessary for the research in these areas.