Web edition: September 9, 2010
It is the greatest question in computer science. A negative answer would likely give a fundamentally deeper understanding of the nature of computation. And a positive answer would transform our world: Computers would acquire mind-boggling powers such as near-perfect translation, speech recognition and object identification; the hardest questions in mathematics would melt like butter under computation’s power; and current computer security methods would be as easy to crack as a TSA-approved suitcase lock.
So when Vinay Deolalikar, a computer scientist at Hewlett Packard labs in India, sent an email on August 7 to a few top researchers claiming that P doesn’t equal NP — thereby answering this question in the negative and staking a claim on the million-dollar Millennium Prize offered by the Clay Mathematics Institute — it sent shock waves through the community. Usually, computer scientists groan when they find such a claim in their Inbox, expecting the typical amateurish “proof” with the same hoary errors. But Deolalikar is a recognized and published scientist, and his paper had novel ideas from promising areas of research.
The paper spurred an intense, open, Internet-based effort to understand it and pursue its ideas, attracting such luminaries as Fields Medalists Terry Tao and Timothy Gowers. The examination uncovered deep flaws that are probably irremediable — but has also helped spur on a new model of research.
The question of P versus NP is both profound and basic: If the solution to a problem can be verified quickly, can it also be found quickly? The difference between the two will seem obvious to anyone who has spent hours searching for mislaid keys and then recognized them in an instant — which is why the vast majority of computer scientists believe that P does not equal NP. But so far, no one has been able to prove it.
More precisely, P versus NP concerns the number of computational steps needed to perform a calculation. For example, the standard algorithm to multiply two numbers, each having n digits, requires on the order of n2 computations. Since n2 is a nice, tidy polynomial, this means that multiplication can be calculated in “polynomial time,” i.e., it is in the class of problems called “P.” Roughly speaking, problems in P are the ones that can practically be solved with computers.
But not all problems are so nice. Consider the “Willy Loman problem”: Loman, a traveling salesman, wants to visit n cities, and his boss will reimburse him for only m miles. Is there a route that would allow him to visit n cities by traveling only m miles? The fastest algorithms currently known that answer this question require more than 2n calculations. Since n is in the exponent, this means the calculation will require “exponential time,” which for large n is impractically long. To find a route for 100 cities, for example, would require more than 2100 (or about 1030) calculations, compared with only 10,000 calculations to multiply two 100-digit numbers. Once the right route is revealed, though, verifying it is a snap: Just add up the miles. Such problems, which may be hard to solve but are easy to check, are said to belong to “NP,” which stands for “nondeterministic polynomial time.”
“NP is a very interesting class philosophically, because it includes almost anything you’d hope to do,” says Neil Immerman of the University of Massachusetts, Amherst. The Willy Loman problem, for instance, has vast applications in everything from airline scheduling to computer chip design to reconstructing genomes. Even the questions of whether manageable proofs exist for the five other remaining Millennium Prize problems are NP problems — so if someone manages to prove that P equals NP, he or she could imaginably walk away with not just one million dollars, but six.
Although NP problems certainly appear to be vastly more difficult than P problems, there’s a niggling uncertainty. Computer scientists sometimes find extraordinarily clever, quick ways of performing calculations. A different way of multiplying, for example, requires only n1.59 calculations rather than n2. Who knows? Someday, someone might find a way of computing the Willy Loman problem in polynomial time. In that case, that NP problem would actually belong to P — and by a remarkable result from a few decades ago, so would all other NP problems.
Computer scientists are nearly certain this can’t happen (so that P really doesn’t equal NP). But proving it is exceptionally difficult because doing so requires pinning down all possible polynomial algorithms — including all those no one has thought of yet — and showing that none are sufficient to do the job. But algorithms are wily, Protean objects, able to shift and change in surprising ways. Richard Lipton, a computational complexity expert at the Georgia Institute of Technology, describes a Far Side cartoon in which Indians are shooting burning arrows at a fort, and one cowboy inside says to another, “Are they allowed to do that?” Lipton laughs: “To me, that describes in a nutshell what’s so hard about understanding algorithms. They can do all kinds of crazy things.”
Deolalikar claimed that he had tamed the wildness of algorithms and shown that P indeed doesn’t equal NP. Within a few hours of his e-mail, the paper got an impressive endorsement: “This appears to be a relatively serious claim to have solved P versus NP,” emailed Stephen Cook of the University of Toronto, the scientist who had initially formulated the question. That evening, a blogger posted Deolalikar’s paper. And the next day, long before researchers had had time to examine the 103-page paper in detail, the recommendation site Slashdot picked it up, sending a fire hose of tens of thousands of readers and dozens of journalists to the paper.
Researchers and fascinated laypeople alike scrutinized it. They swarmed to Lipton’s blog to share their observations. For the next week, a dozen or so top researchers abandoned their other projects to examine the paper. An informal peer review process emerged — collaboratively, in full public view, no credentials required.
Deolalikar combined two different approaches, one from logic and one from statistical physics. He translated the problem of P versus NP out of computer science entirely and into the world of formal logic, using an area known as “finite model theory” that has produced remarkable results.
Then he focused on one particular NP problem called “Boolean satisfiability,” which asks whether any binary numbers can satisfy a given set of logical requirements all at once. Though no efficient algorithm to compute Boolean satisfiability is known (the problem being in NP), computer scientists do know a lot about it. For example, choose k logical requirements at random and ask: What is the probability that there is some binary number of n digits that will satisfy them all? If the number of requirements is huge (i.e., k is large) and the number of possible solutions is tiny (i.e., n is small), then of course there will never be correct solutions, no matter how long the problem is calculated. Similarly, if the requirements are few and the number of possible solutions is vast (i.e. k is small and n is large), there will always be solutions. At some critical threshold in between, there’s a transition point when solutions become possible. Statistical physicists have studied this kind of “phase transition” deeply and found a rich structure in the probability distributions found there.
Deolalikar claimed that the restrictions on polynomial-time algorithms made evident by finite model theory were too great to produce this rich statistical structure. That would mean that no polynomial-time algorithm would be able to solve the Boolean satisfiability problem, and hence that P and NP are different.
Experts were intrigued by the novelty of combining logic and statistical physics — but many were also skeptical. Scott Aaronson of MIT bet $200,000 that the proof wouldn’t stand up, even before he read it in detail. “This problem won’t be solved without a titanic advance in human knowledge,” he wrote on his blog, and he saw little evidence that Deolalikar’s paper provided that. He acknowledged, though, that the paper “seems to introduce some thought-provoking new ideas.”
As researchers began to delve into the paper, they rapidly found problems. Ominously, Deolalikar’s claims seemed to contradict things that were already known. Cris Moore of the University of New Mexico pointed to a problem in P that has a similarly complex structure to that of Boolean satisfiability, contrary to Deolalikar’s central claim. Then, Immerman, one of the originators of finite model theory, found that Deolalikar had overstated the restrictions imposed by the finite model theory translation.
In a normal peer review process, this probably would have been the end of it. But the crowd that had convened on Lipton’s blog — an extraordinary array of powerful mathematicians, computer scientists, physicists and logicians — were still intrigued. Could anything come from Deolalikar’s new approach? Perhaps, they thought, his methods could be valuable in showing that some set of algorithms smaller than P is not equal to NP.
Over the course of a week, the crew posted over 1,000 comments on Lipton’s blog. They eventually identified another key error: Tao pointed out that while analyzing the distributions, Deolalikar makes the intuitive assumption that a projection of a set, which acts much like a shadow, will be smaller and simpler than the set itself. But just as shadows can be much larger than the original objects (for example, when the light source is nearby), projections can be far more complex than their originals. This mistake was so deadly, the researchers concluded, that nothing substantive was likely to come from the approach.
Deolalikar hasn’t withdrawn his article. He claims to have fixed the errors and will be submitting the revised article to a journal to go through an ordinary peer review process.
Even though the blog commenters believe that the paper is unlikely to yield new results, most participants found the discussion galvanizing. The process was enormously addictive, sucking logicians into learning statistical physics and mathematicians into grappling with computer science. This interdisciplinary engagement with the problem is perhaps the most significant outcome of the effort. “Even at a conference you don’t get this kind of interaction happening,” says Suresh Venkatasubramanian of the University of Utah. “It was like the Nerd Superbowl.”
Suggested Reading
A non-technical explanation of the effort to understand Deolalikar's work by Richard Lipton. [Go to]
A year-old summary of recent work on P versus NP:
[Go to]
Description of the P versus NP problem from the Clay Mathematics Institute:
[Go to]
Please alert Science News to any inappropriate posts by clicking the REPORT SPAM link within the post. Comments will be reviewed before posting.
All this still doesn't mention Non-P, which is the set of problems that are provably not solvable by a classical computer in polynomial time.
This is technically true, but if any one of these (NP-complete) problems was proven to be within P, then P = NP anyway, so the "even if" part of your statement is vacuous.
Computation also has a number of impediments that prevent it from being universally useful. Read on for a list of ten, also listed on scribd:
Natural Machine Logic
Logic is used in its own discipline and as a foundation for short-hand conciseness and precision in philosophical discussion, and in practical applications for the computational control systems that guide our tools, appliances, factory machinery, vehicle subsystems, and the like. Of the billions of microprocessor “logic engines” fabricated each year, 98% of them are used in these “low-end” control systems with the rest performing in our personal computers and even more complex systems.
Natural Machine Logic (NML) contains a foundation of revised and expanded fundamental logic operators and corresponding hardware logic elements. It has a new language and methodology by which a process specification, especially suitable for real-time or safety-critical systems, can be implemented in existing FPGA (field-programmable gate-array) hardware very easily and quickly. The NML technology results in mostly-hardware constructions that are directly responsive to the events and conditions in the physical process being monitored and controlled. It is mostly-hardware (not necessarily all-hardware) because NML technology is compatible with, and can coordinate, use, and manage subsystems created in the conventional way (hardware and software). In sum, NML is an all-encompassing process-management technology.
The investigation of process-control technology that induced the creation of NML and experience with it over the years has sparked additional realizations and information useful in its practice.
As a young engineer I was struck by the absence of simple temporal theory applicable to process control. As a matter of necessity, I invented several temporal logic elements to solve common machine-control problems and continued to perform self-sponsored research on the subject. Some of my observations and findings during this investigation brought to light specific characteristics—or impediments—of the computational method, as listed below. These characteristics, interpreted as problematic attributes, are countered and solved by the system and practice of Natural Machine Logic.
Impediments of Computation
1. There are no verbs, dynamic operators, or temporal logic in the fundamental computer logic that has now completely pervaded our daily lives.
2. There are only two primitive logic operations that are necessary and sufficient, in combination, to perform the 16 possible static Boolean operations between two operands: AND, a conjunction, and NOT, the operator of negation, an adverb. These can be used or combined to perform logical AND, NOT, NAND, OR, NOR, XOR, XNOR, as well as equate to certainty (1), and null (0). The set can also be used to perform binary arithmetic. All of these operations are conjunctive, or coincident, in both space and time. “A AND B” is true if both are present at one and the same time. When performed by physical logic elements, the operations are considered to be executed in a null-time zone, as the evaluations are ready at the next live moment (usually at the next clock pulse or instruction), which is designed to occur after any contributing settling times or gate-delays have run to completion. Boolean logic used in such a manner is static, is unobservant of change, and can be said to inhabit the space-domain. The time-domain is an untapped resource.
3. Another operation useful (and necessary) to computing is STORE, the memory operator. STORE is a transitive verb, but it is not supported by any formal logic, which is all static, not dynamic.
All higher-level computer languages (i.e., in software) are ultimately decomposable to, hence built up from, sequences and combinations of the Boolean operations and STORE. In machine language, those operations are used to determine explicitly: a) the locations from which to acquire the numerical or conditional operands, b) what Boolean operations to perform, c) where to put the results, and d) the next step in the program. Every step is, and must be, predetermined.
4. The tasks performed in modern times by computers (and microprocessors and microcontrollers) are no longer confined to translation or transformation of one set of static symbols to another, which was the (presumed) original intent of Alan Turing. Computers are now used to monitor and control dynamic physical processes, while the computers themselves are able to perform series of only static operations as means to those dynamic ends. The memory operator STORE, used to log into memory samples of a process that changes over time, thereby performs a succession of time-to-space translations. This frame-by-frame treatment of a continuous process allows desired static operations to be executed upon the static and discrete values either recalled from memory or directly sampled from external sources. Process-control results are shifted from static repositories within the computing device to the output ports (space-to-time translation). Such approximations of temporal processes can become quite complicated, hard to understand, and in the final analysis, not indisputably correct. Boolean logic and Turing machine principles are anything but fundamental when they are used to deal with time.
5. The order of events and the chain of cause and effect are usually much more important than how many microseconds each condition lasts, or at what clock-time each occurred in a process. Physical processes start, continue, and stop. They have beginnings and existence extended in time. They end. They repeat. Several conditions can overlap, with different start and stop times for each. A natural language narrative (say, in English) can precisely describe a process having these characteristics no matter how that process twists and turns over time and in space, and all without reference to clock time, the increments of which, in any case, are arbitrary.
Given the above observations, how do we “tell the process stories” using computers with only AND, NOT, (and their combinations), and STORE? It is demonstrably difficult and it is no wonder that software production for large systems is only 50% efficient and can’t ship product guaranteed to be error-free.
6. In the early days, the active elements of computers (vacuum tubes) were large, expensive, and heat-producing. With the present level of integration and integrated circuits having up to millions of transistors, there is little reason to continue sharing common resources directed by a central command point such as a central processing unit (CPU). Competition for resources slows the performance of control functions. By their very nature, linear-sequential operations actively obstruct parallel-concurrent operations.
7. The desire to conserve processing activity to reduce needless expenditure of energy suggests dealing with the elemental conditions and events of a process as close to their original form and substance as possible. It is important, therefore, to minimize the digitization and storage of process parameters, thus preventing massive data-processing later, with consequent saving of energy and time.
8. Computer technology favors the discrete a bit much, using frames of information and samples instead of anything continuous. This is partially due to the almost exclusive use of the linear-sequential Turing-type machine (TM) paradigm for computation, which has taken over, not only all static computational tasks, but those affecting continuous-process control, as well.
9. The software designers live and work in native three-dimensional spaces and time domains, while they are required to translate every temporal process reference to the space-domain for data-processing after which they must transfer the resultants from internal memory, which are space-domain locations, to the active outputs and thereby join the ongoing time-stream. It is no wonder they have a tough time shipping bug-free product. (See references for “Software is Mostly Unnecessary.”)
10. Conventional techniques make everything discrete through sampling, digitization, and storing in memory. Even time is treated as an ever-increasing set of arbitrary numbers at selected points or attached to parameters that have been stored in memory. Scientists and engineers then assume all can be dealt with as discrete items in a series of conjunctive expressions or static frames. That is only part of the story in dynamic processes. Given a condition that differs in separate frames, cause and effect and temporal order can’t be computed without additional information or interpretation.
The ten characteristics above describe impediments that designers should take pains to design out of any new control systems and theories.
NML is an expanded system of logic together with a methodology that addresses and remedies each of the ten areas listed above. NML includes words, operators, and corresponding hardware logic elements that describe and reckon change, as well as the ordinary ones for static conditions. This novel process-control logic and language embodies the dynamic human concepts of ongoing process, which includes verbs, instead of being limited to the static Boolean operations (and STORE) of current step-by-step computing devices that follow the Turing paradigm. The new system operates in a fundamentally parallel-concurrent manner vs. the usual linear-sequential mode, and its architecture is flexible, rather than fixed, and uniquely determined by the individual process to be controlled. The process description in the language of NML is the design for the process’s hardware controller.
Ordinary logic begins and ends with static existence (both presence and absence) and conjunction in both space and time. NML incorporates those factors of existence and also manages the when of ongoing process. The underlying assumptions of NML are: 1. No change happens without a causative event. All things have an initiation in space, time, or space-time, at which cause-point the creation of that effect takes place. 2. Once created or begun, a condition persists until it ends (is changed into something else, is nullified, or destroyed). 3. There are more temporal operations and functions than conjunction. Among these are creation and destruction (as mentioned above), precedence and succession, initiation, continuation, cessation, repetition, and concurrency. NML is a logic system of thought and action that incorporates all of these temporal concepts, and more, upon a background of continuous real time.
These three underlying assumptions of NML, together with remedies to the perceived impediments of computation contained within the characteristics (1-10) listed above, generate the technology and practice that is Natural Machine Logic. The tables of rules, functional relationships, and worked examples that are shown in the NML manual describe and illustrate this new technology and demonstrate how easy it is (as compared to microprocessors and software).
Copyright 2010
by c.moeller
You must register with Science News to add a comment. To log-in click here. To register as a new user, follow this link.