
P is not equal to NP - Anon84
http://arxiv.org/abs/0810.5056
======
randomwalker
I run the theory of computing blog aggregator (<http://feedworld.net/toc/>). P
=? NP "solutions" show up on there every couple of weeks. The community
basically just ignores them because of the virtual certainty that it is
flawed. Here is a meta-page discussing the attempts:
<http://www.win.tue.nl/~gwoegi/P-versus-NP.htm>

~~~
aristus
Idle question: if _you_ had found something interesting on the problem, what
process would you follow to try to get it verified?

~~~
randomwalker
I'd doubt my sanity :) But if I was convinced I had something interesting, I'd
send it to my friends before making it public. If I didn't have friends who
were respected theorists, I'd post it to a cs-theory mailing list. Most
importantly, I wouldn't title it "P != NP"; I'd rather say, "here's a line of
thought that might have implications for P =? NP; please tell me where I'm
going wrong."

------
s3graham
<http://pdos.csail.mit.edu/scigen/>

~~~
globalrev
He is a professor at Uppsala university in Sweden. The swedish wikipedia
article was started in 2006.

~~~
globalrev
Though after reading the paper it seems like gibberish.

Weird prank though since it seems fairly elaborate.

------
tlrobinson
Ok, the internet says P != NP... does anyone know if this is legit?

~~~
llimllib
arXiv == not peer reviewed. I know I'm not qualified to judge this paper;
anybody in here that is?

edit: He appears to be a professor at Uppsala University in sweden:
<http://user.it.uu.se/~stenake/> .

~~~
jacobscott
Sorry, the key point is that the assertion:

"Therefore, P is not equal to NP, is true and provable in a simply consistent
extension B" of B"

does not necessarily imply P \neq NP (the caveat being the B" and B stuff).
I'm not really a complexity theory guy, but I would say WHP that this either

(a) does not apply to the most general forms of computation (e.g., what people
mean when they ask P =? NP)

(b) is wrong

------
kevintwohy
the proof tries to show that p!=np as an extension B" of some Turing machine B
-- just read through it and it's all over the place. wouldn't get your hopes
up.

------
jhancock
P = NP, when N is 1. In other cases, I cannot say, but encryption and
e-commerce wouldn't exist if it weren't for this conundrum ;)

------
wallflower
In the future (Futurama), P could equal NP :)

[http://lance-
systems.com/wiki/_media/futurama/2x07-3.jpg?w=2...](http://lance-
systems.com/wiki/_media/futurama/2x07-3.jpg?w=288&h=216&cache=cache)

<http://lance-systems.com/wiki/futurama-mathematics>

------
cousin_it
Math graduate who knows some complexity theory here. I don't understand the
paper and can't even say it's legit. Explanations, anyone?

------
bayareaguy
What does it mean for something to be true and provable in a simply consistent
extension B" of B ?

------
vecter
Chances are, this proof is flawed, like the other hundreds published every
year.

------
markessien
CS students love dropping four letters: P, NP, O and N. Whenever I want to
judge who was a bit too focused on the surface details of computer science,
and too little on the real problems, I wait to see if those 4 letters come up
in a sentence.

~~~
globalrev
P vs NP is a pretty real problem, complexity theory is superimportant.

People how can't do proper Big-O-analysis are forever doomed to suck at
programming.

~~~
markessien
That's like saying that people who suck at changing tires of cars can never
design or build a car.

~~~
globalrev
If you don't undertand complexity and algorithms you will likely run in t huge
performance problems at some point and that will make your whole program
useless.

No matter the type of programming complexity and algorithms is involved.

So it is more like saying "not understanding how a car works will make it very
hard for you to design or build one".

~~~
markessien
You're completely wrong there. Most programmers will never have to deal with
performance as an issue, because most programmers don't work on web based
systems, or centralised systems where huge loads impact a single server

And for such programmers that do, the real key to performance lies in getting
multiple computers to work together, and not in fine tuning algorithms.

Most people can intuitively understand the factor by which a linear search is
different from a binary search, without any particularly in depth study of
complexity theory.

This P vs NP thing is just a way for CS students to show off with letters that
make their craft seem mysterious. In the real world, one can come through
without understanding this.

Not understand how a car works? That's really silly. Understanding the speed
of algorithms is important, but it's a tiny tiny part of writing large complex
programs. Most parts of a programs are not about number crunching, but about
information management.

(Obviously, I've got an computer engineering degree, and I learned all this,
I'm just pointing out that in general and in the real world it has very rarely
been neccessary to know this)

~~~
DarkShikari
What you really mean is "in my job, I haven't had to use these particular
concepts," which is of course completely anecdotal, and, given the response
(and voting) of other HN users, probably not a very common situation.

In my business, the difference between polynomial and NP is the difference
between a thousand clocks and a million clocks, the difference between a
practical quantization optimization algorithm and a totally useless one. And
if you don't understand that before trying to write it, you're going to waste
days of coding time on a pipedream.

NP problems are _incredibly common_ in almost all fields one could imagine.
Not being able to identify them before wasting time trying to optimally solve
them is a recipe for disaster and the sign of a completely incompetent
programmer.

~~~
markessien
The voting of HN users will never be relevant to my opinions.

I have needed to use the concepts in my job, and I'm pointing out that these
are really not what computer science is about. Anybody who focuses on
algorithmic efficiency based off speed is looking at the bark of a tree and
failing to recongize that the forest is being cut down.

Our problems with CS have become wider and bigger and different. We are having
to deal with abstractions of very complex behaviour, and N vs NP, even though
it should be understood, is not something that needs to be focused on in-depth
in most programming activities today.

NP problems are not 'incredibly common' in most programming activities. They
are common in most programming fields, just as molecules are common in most
human beings, but it does not mean that all human beings have to bio
scientists.

The reason I am arguing against this N-NP name dropping is that I believe that
to properly evolve in computer science, we need to abstract away the details
and focus on the bigger picture. For that to happen, we WILL need a generation
of programmers that should not need to know this stuff. Just like many new
programmers do not know assembler.

You're obviously preaching to the choir here, so lots of people will agree
with you. But I am convinced that the only path forward we have is by wrapping
complexity in aggregates, so that programmers can create even more complex
machines. We need to get rid of the details for a certain class of high level
programmers, otherwise we will not be able to break out of the existing models
we have.

~~~
globalrev
I think we turned what was an innocent and perhaps true remark to a certain
degree(people like to namedrop it) into a quarrel here.

I'm not saying that computer science is all day P vs NP philosophy. I'm just
saying that you have to know complexity and algorithm theory to work in the
field just as you have to understand the hardware, you might get by most of
the time without it but when you don't, if you don't even know where to start,
you'll have a mountain to climb rather than a little tree.

* However your remark about how this should be abstracted away and people shouldn't have to know it in the same way people don't have to know assembler now, that's not the same thing at all.

~~~
markessien
Well, what I've learned from this is that people are really sensitive about
their P-NP knowledge. Look at the scale of the down-moding I'm getting :)

I think I'd better stop making trying to make my point now, it apparently is
not being understood.

~~~
brent
I'm guessing most of the downvotes are due to the confusion between software
engineering and computer science.

From wikipedia:

Computer science (or computing science) is the study and the science of the
theoretical foundations of information and computation and their
implementation and application in computer systems.

Software engineering is the application of a systematic, disciplined,
quantifiable approach to the development, operation, and maintenance of
software.

\--

I think you are talking about software engineers and everyone else is
defending computer scientists.

~~~
wheels
The excessive downvoting has become something of a recent fad here. I'd have
put your comments to -1, but not further, because I do, like apparently many,
believe that your notions are fundamentally flawed.

Complexity theory isn't hand-wavey-ultra-complicated-irrelevant CS; it's first
/ second semester stuff. It's fundamental enough that it's a cognate for most
lots of physics, math and engineering students. That's to say, that it's
relevant enough that if you're even doing something moderately related to
computer science that it's worth knowing.

Are there a lot of jobs where you don't need to know this stuff? Well, I think
there are a lot of jobs where you can _get by_ without knowing basic CS, but
it'd still benefit you from time to time to be able to apply these sorts of
abstractions.

"Why is this function so slow?"

"Its runtime is quadratic."

"Huh?"

In my particular case, not knowing fundamentals of CS theory would cut me out
of being able to work on precisely the problems that I find most interesting
in programming.

~~~
markessien
I understand the theory perfectly, having a pretty good degree in CE. My
argument has nothing to do with my personal situation, I'm running an argument
based on a theoretical situation.

