

The Status of the P Versus NP Problem  - yarapavan
http://cacm.acm.org/magazines/2009/9/38904-the-status-of-the-p-versus-np-problem/fulltext

======
brent
For anyone who enjoyed reading this you may want to check out his (Lance
Fortnow) blog (that he shares with Bill Gasarch).

<http://blog.computationalcomplexity.org/>

I am not in TCS, but I do enjoy what bits and pieces are understandable to me.

------
jdrock
I've always been intrigued by the P vs. NP problem. If I had to bet, I'd say P
!= NP, but imagining a world where P = NP is like imagining a world where a
Star Trek-like utopia is suddenly achievable. It definitely would make the
Internet feel like a "footnote" in history.

~~~
nazgulnarsil
or we'd all just get wiped out by a super virus by some jerk messing around
after solving protein folding.

~~~
jballanc
Slightly off topic, but I just wanted to point out that protein folding is
not, strictly speaking, an NP problem. It can be expressed as one, but
Levinthal's paradox essentially says that either the actual process of protein
folding is not really NP or P=NP and nature has figured it out.

(For those who are more familiar with the topic, I am generalizing. I'd love
to debate Protein Folding != NP though...maybe in a different forum?)

~~~
calambrac
Not that I have the biology chops to contribute to it myself, but a Protein
Folding != NP debate is exactly the kind of discussion I'd like to see here.

~~~
quantumhobbit
Protein-folding can be expressed as a superset of molecular modeling(my area
of research). In the strictest physical sense this is not a P problem if you
consider the interactions of every atom with every other atom O(n!) for n
atoms. No one does it that way of course. Once you ignore all but nearest
neighbor interactions you have a problem that is polynomial time for n.

Proteins have too many atoms for even these techniques to be efficient. Now
we're getting out of my area. As I understand it researchers do a Monte Carlo
search of all possible configurations of amino acids(or even protein
segments). Naively searching the space of all configurations would be make
this NP. Of course you don't have to search the entire space. You can limit
each step to make small changes only from an initial configuration and stay
along a Markov chain of probable intermediate steps. I don't know enough to
say that this would always be solvable in polynomial time, and of course you
could miss the true minimum answer.

I'd love to hear from someone who knows more.

~~~
jballanc
So, as I've alluded to elsewhere, the thing to remember about P vs NP is that
you can solve NP problems very quickly, but it takes NP time to verify that
the solution is correct. In other words, you can walk a traveling salesman to
all the houses in the time it takes to walk to all the houses (that's __a
__solution), but in order to verify that the path you walked was the shortest,
you'd have walk all the possible paths (or at least, walk them until they were
longer than the original path you walked, which is part of how heuristic
methods of solving the problem work).

The way this works with proteins is assuming that proteins fold to a
conformation that is a global minimum. For any given combination of atoms, you
would have to consider all possible conformations (which, as you point out,
can more easily be expressed in terms of pair-wise and higher-order
interactions). This is the classic NP-complete, traveling-salesman type
problem. Now, not _all_ proteins fold to a global energy minimum, but many or
most do. So really, whether protein folding is P or NP depends on what you
mean by the "protein folding problem".

If, by "protein folding problem", you mean determining the global energy
minimum for any given chain of amino acids, then yes, this is NP. However,
what Levinthal realized (with his paradox) was that if this was how proteins
actually folded, it would take more than the age of the universe for a single
protein to fold. This is even more paradoxical when you consider that most
proteins fold on the millisecond to microsecond time scale. In other words,
nature isn't solving an NP problem.

If, by "protein folding problem", you mean figuring out how a protein reaches
its final conformation, then this is where the funnel comes in. Think of a
protein on a surface in conformation space. Each spatial arrangement of atoms
represents a different point in space. The surface represents the region of
space that is accessible to the protein at a given energy. So, at high energy,
the protein can wiggle around pretty much at will. All conformation space is
open to it. However, as you lower the energy, fewer and fewer conformations
are energetically allowed (that is, the protein no longer has enough energy to
break certain hydrogen bonds or ionic interactions). Eventually, you lower the
energy enough, and you find the global energy minimum.

Where this gets tricky is that there could be "traps" in the funnel; local
energy minima that the protein can't escape from. If the protein gets caught
in one of these traps, then it hasn't solved the NP problem of finding the
global energy minimum. What's remarkable about proteins, however, is that the
path they do follow (the one that's kinetically favorable) almost always
avoids these traps. So, the protein is solving a P problem (finding the
steepest path down the funnel), but in doing so also solves an NP problem
(finding the global minimum).

If you think about it then, it's actually the __funnel __that has solved the
NP problem (or rather, turned it into a P problem). This funnel is constructed
by the laws of physics as they pertain to proteins, and it seems as though the
unique properties of the 20 amino acids that make up proteins are the key to
this NP to P conversion. Now, do I think this means that P = NP? No. The
protein folding funnel is a heuristic, just like any other. Just because
proteins usually find the global energy minimum, doesn't mean they always do.
To absolutely, _positively_ verify that they are at their global minimum, you
still have to solve an NP hard problem.

~~~
jdale27
_the thing to remember about P vs NP is that you can solve NP problems very
quickly, but it takes NP time to verify that the solution is correct._

I think you have it backwards. A problem is in NP if the solution can be
verified in (deterministic) polynomial time. But (as far as we know) finding
the solution may take much longer.

For example, the statement of TSP as a decision problem is: "Given these
distances between the cities, is there a closed tour of length less than K?"
If someone hands you a proposed solution -- a list of the cities, in the order
you should visit them -- it is easy to (a) verify that the list contains all
cities, and (b) the length of the tour is less than the required K. That is
why TSP is in NP.

I didn't really follow the rest of your comment, so I'm not sure what bearing
this has on your ideas on protein folding.

~~~
jballanc
I may have my terminology backward. (I am a computational biologist, not a
mathematician.) I think we're saying the same thing, though. Given that a
protein folds to a particular conformation (3-D arrangement of atoms in
space), you should be able to verify that a specific folding pathway is valid
for getting there. However, without knowing ahead of time what the folded
conformation is, determining the lowest energy conformation would require
trying all possible conformations.

So, yeah, I think I've got the terminology backward, but the point remains.
Nature can solve protein folding very quickly (depends on kinetics), but to
know whether the fold is the best (depends on thermodynamics) requires trying
all possible folds.

~~~
jdale27
_determining the lowest energy conformation would require trying all possible
conformations_

I apologize if it seems like I'm arguing over semantics, but from the computer
science perspective, _solving_ the protein folding problem (as opposed to
_approximating_ it) means finding an algorithm that does give the lowest
energy conformation, without (in order for it to be tractable) trying all
conformations.

In some formulation of protein folding that is NP-complete, your statement (
_require[s] trying all possible conformations_ ) is tantamount to P!=NP. So
I'm guessing you don't have a proof of that. ;)

I admit that this is weak reasoning, but consider an analogy from
computational biology: the Needleman-Wunsch algorithm for finding the optimal
global alignment between two sequences. There are exponentially many possible
alignments. Through the magic of dynamic programming, Needleman-Wunsch
guarantees us the optimal alignment without trying all of them (it works in
polynomial time). We can't rule out the possibility that some similarly clever
algorithm can do the same for protein folding.

Now, Needleman-Wunsch works with respect to a scoring function that happens to
make the problem tractable. In the case of protein folding, we'd have to
ensure that the energy function we're optimizing with whatever clever
algorithm we come up with is close enough to reality for the results to be
useful to biologists.

~~~
jballanc
No need to worry about arguing semantics, I'm learning here. As I've said, I'm
what you'd call an applied computer scientist. While I've got a good handle on
tractability, dynamic programming, and the like, sometimes I miss the
formalisms of the terminology.

 _In some formulation of protein folding that is NP-complete, your statement
(require[s] trying all possible conformations) is tantamount to P!=NP. So I'm
guessing you don't have a proof of that. ;)_

Haha, ok, yes. You've got me there. Actually, that also clears up a few issues
I was having with the original article. I tend to confound tractability and
NP-complete. If I follow you now, an algorithm that can fold a protein to
lowest energy is the _solution_. If that solution can be shown to be correct
_without_ trying all possible conformations, then it is P. If the only way to
verify it correct would be to explore all fold space, then it would be NP and
and P!=NP.

In other words, my original assertion that protein folding is not, strictly
speaking, NP relates to the fact that nature does not try all possible
conformations. We could write an NP solution that does, but this is not what
happens in reality. So, either nature is solving a slightly different problem
(it doesn't worry about finding the global energy minimum exactly), or P=NP
and the "algorithm" (in this sense a combination of physical laws) used by
nature solves the same problem as our NP search of all conformation space.

------
yarapavan
Executive Summary: Still Open

~~~
asdlfj2sd33
This is the top comment, really HN?

~~~
anshul
Frankly, I found that comment useful. The first question I had was if this was
about a new solution, idea or a fresh development and the comment in question
answers that in the negative. I suppose a lot of people here are already
familiar with the problem, it's history and gct.

~~~
jcl
Of course, the second sentence of the article also answers that question.

------
bhousel
Here's something that I've always been confused about regarding P vs NP: It
seems like what researchers are looking for is not necessarily an answer yes
or no, but really a transform that would convert NP problems into P ones. I
have a background in electrical engineering, where it is common to use Laplace
and Fourier transforms to convert differential equations in the time domain to
polynomial equations in the frequency domain, so I see the P vs NP issue to be
somewhat analogous to that. Am I understanding the issue, or completely off?

~~~
roundsquare
Well, complexity theory does have this concept. I.e. you can convert one
problem to another, they call it a reduction. I.e. you reduct problem A to
problem B.

So, in that sense, if you can somehow reduce an NP-Complete problem to a
problem in P, then yes, you would prove that P=NP. However, this would not be
the only way to prove this. If you could just find a polynomial time algorithm
for any NP-Complete problem, then you've proved P=NP.

Of course, most expert think P != NP, so if thats true then you'll fail in
your attempts to do these...

------
caryme
Lance Fortnow is my academic adviser!

~~~
Locke1689
Hah, I like how I tried to read the article from the NU wireless when I'm
literally less than a building away from the guy but the ACM still required me
to sign in.

