Slashdot Mirror


Consequences of a Solution to NP Complete Problems?

m00nshyn3 asks: "If a person were to find a O(n) solution to an NP complete problem, it would obviously be a great advance in computer science, but what are the consequences of such a discovery? Would our most popular implementations of cryptography be useless overnight? It seems like there is a lot of immediate damage that could occur if such a solution were found. So if (when) the time comes, what is the responsible way for the solution to be made public?" If you had such an algorithm in hand, what could you do with it? It would be interesting to see how many problems we could map into the NP Complete model.

525 comments

  1. Salesman by rusti999 · · Score: 4, Funny

    Salesmen will certainly be happy when such an algorithm is found. For other classes of NP-complete problems, check this book.

  2. Unseen consequences! by Lemmy+Caution · · Score: 3, Funny

    Analogously, if it was learned that eating Hostess Twinkies that had been marinated in thai green curry sauce while bathing gave one super-strength and x-ray vision, we would have to become gravely concerned about the possible rise of Thai-Twinkie-powered super-criminals who know what we look like in our Underoos. This is clearly something that man was not meant to know. Won't someone think of the children?

    1. Re:Unseen consequences! by Anonymous Coward · · Score: 0

      Brilliant. Far too fucking clever for Slashdot weenies. You need to join a better web forum - may I suggest somethingawful.com?

  3. Advance in computer science? by ergo98 · · Score: 1

    Apart from rendering most asymmetrical encryption useless, what benefit would it be to computer science? Seems like one of those rather useless things like "calculating the nth digit of pi using a cluster of 40,000,000 PCs".

    Really I don't know and am curious (and maybe it'll let us have compression that will compress down to one byte! :-) See the prior story about the "data teleporter" to understand that joke).

    1. Re:Advance in computer science? by Anonymous Coward · · Score: 1, Interesting

      Many real problems that arise in practice are
      known to be either NP-complete, or worse, not
      computable at all. The usual workaround is
      approximation. Compiler writers, to name one
      example, will tell you all about it.

      So, yes, solving the P=NP? problem in favor of
      P=NP! would indeed be a major breakthrough, at
      least for some computer scientists.

      (Of course, there is no hope regarding the
      problems that are not computable. And then
      there are problems that are not just NP-complete
      but even harder than that. P=NP would not
      be the end to all trouble.)

    2. Re:Advance in computer science? by Wavicle · · Score: 5, Informative
      There is an NP Complete problem affecting the backbone of the internet:

      Several router manufacturers are designing their new equipment with support for MPLS. MPLS, among other things, offers better support for traffic engineering. Traffic engineering means deciding which router hops to take to get from border point A to border point B (it also means you can select an alternate route depending on network congestion or backbone router failures).

      Finding the most efficient path between the two endpoints is an NP complete problem.

      I think this problem also exists for BGP/IGP networks, but I'm not experienced with them. I do know that the promise of the internet being secure and redundant and safe from one node being bombed is a bunch of nonsense. Although the technology to route around outages exists, the chore of houskeeping for it has turned out to be rather intractable so it is minimally implemented at best. Usually if a large backbone provider suffers a hardware failure and can't swap in a backup, they call in one of their router guru's to look at their topology map and configure their other routers to route data around the bad router at that time. That's the automated process.

      All the providers out there would *REALLY* like a tool that could take their network topology map and output a reasonable set of LSPs (MPLS tags that indicate the route the packet is to take) for them in a reasonable amount of time. However, since this problem is NP complete, such a tool would have to compute every possible path and then choose those at the top of the list.

      --
      Education is a better safeguard of liberty than a standing army.
      Edward Everett (1794 - 1865)
    3. Re:Advance in computer science? by SpinyNorman · · Score: 5, Funny

      I've discovered a wonderful linear way to calculate optimal routing that I'd like to share, but unfortunately my keyboagu;[f=s af\sdfgsv asdfw352.,.f354asf

    4. Re:Advance in computer science? by nobody/incognito · · Score: 3, Insightful
      Finding the most efficient path between the two endpoints is an NP complete problem.

      huh? dijsktra's algorithm solves the shortest path problem in O(n^2) for the general case, O(n log n) for most real-world problems, in which the graph is sparse.

      nobody

      --
      parturiunt montes, nascetur ridiculus mus
    5. Re:Advance in computer science? by changelingyahoo.com · · Score: 1

      I was thinking that, too... In fact, not only does Dijkstra find the shortest path from point A to point B... it's finds the shortest path from point A to all other points! hmm...

    6. Re:Advance in computer science? by Paxton · · Score: 1

      The point of the NP complete is that you visit *every* other point. That is, what is the minimal path that a travelling salesman would take if he wanted to visit each city exactly once?

      Dijkstra solves the shortest path problem, something entirely different.

    7. Re:Advance in computer science? by Prothonotar · · Score: 1

      We certainly don't need internet packets visiting every other point on the internet, now do we?

      --
      "Every man is a mob, a chain gang of idiots." - Jonathan Nolan, Memento Mori
    8. Re:Advance in computer science? by Wavicle · · Score: 2
      Good call. Clearly I need to pay better attention. The specific application was a QoS NMS.

      So here's a link describing the NP complete problem (I think, I probably should read the whole thing first).

      You are right, Dijsktra's algorithm will solve the general case shortest path from any source to every other reachable point.

      --
      Education is a better safeguard of liberty than a standing army.
      Edward Everett (1794 - 1865)
    9. Re:Advance in computer science? by vrmlknight · · Score: 2, Funny

      I dunno could be an interesting DoS attack :)

      --
      This must be Thursday, I never could get the hang of Thursdays.
    10. Re:Advance in computer science? by Paxton · · Score: 1

      Not unless you want to do some sort of broadcast.

      I don't understand how this will solve all the problems the original posters say it will solve. I was just responding to another poster's questions about Dijkstra's algorithm.

    11. Re:Advance in computer science? by DPalomo · · Score: 1

      **Sigh**

      Quoting Scott Adams: 'When Did Ignorance Become A Point Of View?'

      --

      - For every winner, there are dozens of losers. Odds are you're one of them -

    12. Re:Advance in computer science? by Lozzer · · Score: 2

      I could be totally busking here, but just because a problem is NP complete doesn't mean you can't find a pretty good solution in polynomial time. I believe there is a genetic style algorithm (involving ants walking around a map where the towns supply sugar) that gives pretty good solutions to the travelling salesman problem in polynomial time.

      --
      Special Relativity: The person in the other queue thinks yours is moving faster.
    13. Re:Advance in computer science? by Anonymous Coward · · Score: 0

      **Sigh** When did cockbiter arrogant assholes start thinking that people give a crap what they say?

    14. Re:Advance in computer science? by Anonymous Coward · · Score: 0

      That's a good point. Most people focus on probabilistic algorithms these days. There are also polytime approximation algs.

      There is a simple graph algorithm that will find a good solution to a special case of TSP. The solution will never be any worse than twice the length of the optimal path. That's an approximation alg.

      But probabilistic algorithms are the way to go. Many NP-complete problems can be solved in algorithms that are not polytime, but have a low expected runtime. And you can also construct algorithms that find good solutions on average, but run in guaranteed polytime. They're called Monte Carlo and Las Vegas algorithms, but I don't remember which one is which.

    15. Re:Advance in computer science? by Anonymous Coward · · Score: 0

      **Sigh** When did ass-munch anonymous pieces of shit pull their heads out of each others' bung-holes long enough to flame reasonable complaints about the general stupidification of humanity?

    16. Re:Advance in computer science? by Anonymous Coward · · Score: 0

      **Sigh** When did fuckwad math geeks come on general conversation boards and think anyone gives a flying fuck that they have marginal knowledge in a largely irrelevant sphere?

    17. Re:Advance in computer science? by Anonymous Coward · · Score: 0

      Huh? Do you wade from conversation to conversation commenting with an allusion to your vast knowledge, when in reality you haven't the slightest clue? Get lost weenie.

    18. Re:Advance in computer science? by nobody/incognito · · Score: 1

      i glanced at the link and it looks to me like the hard part of what they are trying to do is solving the multiple-constraint problem.

      i'm guessing a reduction from integer programming would be straightforward.

      nobody

      --
      parturiunt montes, nascetur ridiculus mus
    19. Re:Advance in computer science? by nobody/incognito · · Score: 1

      i know the approximation algorithm you mean. it's not fully general. in particular, it doesn't work on graphs that don't satisfy the triangle inequality.

      nobody

      --
      parturiunt montes, nascetur ridiculus mus
  4. AI by Trejus · · Score: 3, Insightful

    First off, if they found an O(n) algorithm, that means that all NP problems would be in linear time. I'm assuming the poster means O(n^t) where t is independent of n.

    now if that were the case, i'd use it to build nifty AI's. Most ai problems are NP complete since they involve non-deterministically searching a problem space. Stuff like crossword puzzles and route planning come to mind for this one. Most of these problems do map to SAT, so it would be very short time before we start seeing some really intelligent AIs for a lot of your typical tasks.

    --
    "To save the planet, I had to go to the worst spot on Earth, and that was Philadelphia." -- Sun Ra
    1. Re:AI by Anonymous Coward · · Score: 0

      This is not true at all. Just because one NP-complete problem can be solved in linear time doesn't mean all of them can be solved in linear time. Remember that the reduction is only guaranteed to be polynomial time.

    2. Re:AI by harvardian · · Score: 1

      From an implementation point of view, a problem in polynomial time and a problem in linear time are pretty much the same compared to a problem in exponential time.

    3. Re:AI by Otter · · Score: 1
      First off, if they found an O(n) algorithm, that means that all NP problems would be in linear time. I'm assuming the poster means O(n^t) where t is independent of n.

      Maybe I'm giving too much credit to what strikes me as kind of a dopey question but -- I assumed he meant that an O(n^t) solution with a very large value for t would be of theoretical interest but not have the kind of practical impact that he was thinking of. In other words, he meant O(n) or at least a relatively tractable O(n^t).

      I'm a biologist, by the way, so don't flame too harshly if I'm saying something stupid. ;-)

    4. Re:AI by ChazeFroy · · Score: 2

      Yes, all NP-problems would become solveable because they are all related. Many Computer Science programs have an Automata class, and they teach how to convert from one NP-complete problem to another.

    5. Re:AI by Anonymous Coward · · Score: 1, Funny

      Who gives a shit, cockgoblin? A problem in polynomial, n>=2, time is not solvable in linear time, which is what the original poster was claimimg.

      Of course, you're an ignorant Slashdot fuck, so mathematical truth probably isn't important to you - and in fact is probably beyond the reach of your limited intellect.

      Go back to playschool, fuckface - it's the only place people might look up to you, and that's only because you're taller.

    6. Re:AI by Anonymous Coward · · Score: 0

      nitpicking here, but a linear algorithm for a NP complete problem would only imply a polynomial algorithm for everything in N.

    7. Re:AI by Nate+Eldredge · · Score: 2, Informative
      First off, if they found an O(n) algorithm, that means that all NP problems would be in linear time.


      Not necessarily true. Remember, NP-complete means all NP problems can be reduced to it in polynomial time. So even if I found a O(n) solution to, say, Hamiltonian Path, it's quite possible that reducing (say) Traveling Salesman to Hamiltonian Path is not a linear-time reduction. It might be any polynomial, maybe n^5. In fact, the degree of the polynomial might depend on the kind of computer you have at hand (for instance, whether you have a random-access memory where you can access any word in constant time, or a tape where you have to wind through the whole thing to find the word you want.)

    8. Re:AI by cpeterso · · Score: 2, Funny

      Who gives a shit, cockgoblin? A problem in polynomial, n>=2, time is not solvable in linear time, which is what the original poster was claimimg.


      Discussing cockgoblins and polynomial equations in the same post makes my day. Thanks for the smile.


      Is "harvardian" from Harvard? What does he know anyways..

    9. Re:AI by BenCaxton · · Score: 1

      This is a pretty simplistic way to look at AI. Tell me, which NP-Complete problem allows a computer to have a human level conversation in english? (or gives a computer understanding about common sense physics, etc...). You might be able to make a computer that plays better chess if you show that P=NP, but there are much deeper problems in AI that I don't think can just be solved by solving NP problems in polynomial time. It would certainly help, but P=NP does not imply that we can suddenly solve all of the problems in AI.

      --
      Ben
    10. Re:AI by Trejus · · Score: 2, Insightful

      I assumed he meant that an O(n^t) solution with a very large value for t would be of theoretical interest but not have the kind of practical impact that he was thinking of. In other words, he meant O(n) or at least a relatively tractable O(n^t).

      In essence you're right, an algo with a huge t would not be all that practical. However, once you have it down to poly time, it becomes relatively easy to get it into a more usable time space. I remember a lot of things from my datastructures class where the obvious solution was quadratic, with a little tweaking you got linear, and with some very convoluted code you got N/2 or better. I am not sure what that problem was (it may have been sorting), but that type of problem is pretty common. Despite that, for large problem spaces, the poly-time algo will be better than the exp-time algo.

      --
      "To save the planet, I had to go to the worst spot on Earth, and that was Philadelphia." -- Sun Ra
    11. Re:AI by Anonymous Coward · · Score: 0

      First off, if they found an O(n) algorithm, that means that all NP problems would be in linear time.

      Polynomial time!

    12. Re:AI by phliar · · Score: 0, Troll
      First off, if they found an O(n) algorithm, that means that all NP problems would be in linear time.
      Sorry, this is false.

      --
      Unlimited growth == Cancer.
    13. Re:AI by ghjm · · Score: 2, Informative

      Symbols translated, what he's saying is: If they found a linear-time solution to NP, then NP problems would be solvable in linear time.

      O(n) *means* linear time.

      The actual quest is to prove that P=NP (or that P != NP), meaning any/all NP problems can be solved in O(P) where P represents any polynomial equation. Not O(n), whatever the article may say.

      -Graham

    14. Re:AI by bigox · · Score: 1

      Not all NP problems, just NP-Complete. NP-hard problems have no known log-space polynomial time reductions to an NP-Complete problem.

    15. Re:AI by Anonymous Coward · · Score: 1, Informative

      Take an undergraduate course in AI and you'll see that when Computer Scientists talk about AI, they are generally talking about an entirely different set of problems than when a lay-person talks about AI. The original poster is indeed referring to the former context, while you seem to be referring to the latter.

    16. Re:AI by Anonymous Coward · · Score: 1, Informative

      Two points.

      1: n/2 is still linear. You probably mean log N (what you get when you can halve your data set each iteration).

      2: General comparison-based sorting is Omega(N log N). With more constraints you can get down to linear (radix, bucket sort). But for linear random lists you can't go below linear (you have to at least examine all the elements!

    17. Re:AI by Fjord · · Score: 2

      In addition to what the other poster stated, just because two problems are NP-Complete, it doesn't mean they have the same run-time. One problem can be thought to be O(n*e^n) and another O(e^n). Find a O(n) for the second, and the first maybe O(n^2). Note that then both are then in P. Finding a linear problem for one NP-complete problem with only bring all other problems into P. But some can still be O(n^1000).

      --
      -no broken link
    18. Re:AI by Anonymous Coward · · Score: 1, Insightful

      Actually, not just most NP-Complete problems reduce to SAT, they all do. And SAT can be reduced to any other NP-Complete problem. Read Cook's Theorem.

    19. Re:AI by kubalaa · · Score: 1

      Is the human brain capable of solving NP-complete problems? That doesn't sound right.

      --

      "If you look 'round the table and can't tell who the sucker is, it's you." -- Quiz Show

    20. Re:AI by Anonymous Coward · · Score: 0
      First off, if they found an O(n) algorithm, that means that all NP problems would be in linear time.

      Not so. If one NP-complete problem is solvable in polynomial time, then all problems in NP are solvable in polynomial time. But you can't extend this to a given polynomial.

      The way they would be solvable is through polytime reductions. These can turn a solution to one problem into a solution for another. But they can also increase the exponent. You might start with a linear time solution to one problem, and end up with a cubic for another.

      The definition of an NP-complete problem is:
      a) It is in NP, and
      b) every other problem in NP can be reduced to it.

    21. Re:AI by ajs · · Score: 2

      Your definition of "intelligent" is suspect. I know many people who could pass Turing's test who would not be able to solve the NYT crossword. I don't think being able to solve hard problems quickly is a factor in intelligence. Being able to evaluate the relative quality of many options based on projected outcomes and prior experience is my rough stab at what makes up intelligence.

      Interestingly there are many computer programs which perform this to a limited extent. We don't consider them "intelligent" for roughly the same reasons that we feel that tuna is an acceptable meal, but dolphins must be "safe"....

    22. Re:AI by Sir+Tristam · · Score: 2
      One of the problems you're probably thinking of is selecting the kth largest item out of a list of n items. If you do it by sorting the elements and selecting from the sorted list, then your worst-case bound is O(n lg n). However, there is a kth largest selection methodology that has a worst-case O(16n).

      (And, no, before anybody asks, you can't use it to make a linear search by selecting the first largest, then second largest, etc. You'd have to perform the selection n times, so your worst case would be O(16n^2), much worse than O(n lg n).)

      Chris Beckenbach

    23. Re:AI by josu · · Score: 1

      No, it means all NP problems could be solved in polynomial time. Even if the original algorithm is O(n), the reduction could still take O(n^k) time.

    24. Re:AI by Chris+Burke · · Score: 2

      Take an undergraduate course in AI and you'll see that when Computer Scientists talk about AI, they are generally talking about an entirely different set of problems than when a lay-person talks about AI.

      With the effect that most undergraduates are very dissapointed after the first day of class, and half end up dropping the course. :)

      --

      The enemies of Democracy are
    25. Re:AI by Chris+Burke · · Score: 2

      As was pointed out in another post (making this one redundant, moderators!) he is talking about the CS version of AI, not the popular notion of AI, and for that he's right -- a poly-time solution to NP problems would be incredibly helpfull.

      --

      The enemies of Democracy are
    26. Re:AI by Anonymous Coward · · Score: 0

      Actually a lot of good AI problems are worse than NP. The game of hex, for example, is P-space complete and a generalized chess is EX-time. I don't remember the source for these, I found it while researching some of Conway's combinatorial game stuff.

  5. Well duh... by kilgore_47 · · Score: 1, Offtopic

    If we knew the answer to that, we'd already have the solution!

    And shouldn't this be under Ask Slashdot?

    --
    ___
    The way to see by faith is to shut the eye of reason. --Ben Franklin
    1. Re:Well duh... by Archangel · · Score: 1

      I would disagree with the off topic mod, look into the halting problem, you might get it then.

  6. err... what do you think? by 2Bits · · Score: 3, Funny
    If you had such an algorithm in hand, what could you do with it?



    Publish it as soon as possible, get credit for it, and rack up the monetary prize, don't you think? :)

    1. Re:err... what do you think? by Anonymous Coward · · Score: 0

      Absolutely.

      What the fuck was the story poster thinking? if anyone could prove P=NP, they'd rush it to print ASAP.

      Of course, Slashdot weenies are notoriously stupid and technically ignorant. It honestly doesn't surprise me that the fucking shit scum around here don't know how important P=NP is.

      What a bunch of shit-eating, cock-munching, idiotic, cum-guzzling morons post here. Yes, I mean you. You all should have been aborted.

    2. Re:err... what do you think? by rlowe69 · · Score: 3, Funny

      If you had such an algorithm in hand, what could you do with it?

      I'd memorize it and then try to figure out how the guy did it ... ;)

      --
      ----- rL
    3. Re:err... what do you think? by npongratz · · Score: 1

      You all should have been aborted.

      What? You're blindly following the U.N. and Chinese party line again??? Gee, can't believe it!

    4. Re:err... what do you think? by Anonymous Coward · · Score: 0

      Publish it as soon as possible, get credit for it, and rack up the monetary prize, don't you think? :)

      Are you a moron? If you knew this and wanted to make money, your computation advantage over everyone else would be *enormous*. If you are nefarious, you could break every bank's security code. You could solve all sorts of networking problems this way -- problems nobody else could ever solve.

      At the very least you could sell the solution to AT&T or MCI for billions.

    5. Re:err... what do you think? by alpinist · · Score: 1
      If you had such an algorithm in hand, what could you do with it?

      As much as I hate to say it, odds are any person or corporation that found such a solution would go and patent it. :P

    6. Re:err... what do you think? by lewkor · · Score: 1

      I know that my profs would buy you beer! That may not be as good as you were expecting though!

    7. Re:err... what do you think? by irlbinky · · Score: 1

      how about collect the million dollar prize money for finding the solution for a start?

  7. Only the PK crypto by color+of+static · · Score: 5, Insightful

    No we wouldn't see the whole crypto world come smashing down around us, but a large portion of it. All of the Public Key crypto would be reduced from an assumed set of hard problems to a set of simple ones. No more digital signatures, or communications without pre shared secrets. Although any system using just symmetric ciphers would be immune from this reduction in work effort.
    Even if a timly NP complete solution is not found, PK based on factoring or discrete logarithms might get broken by other discoveries. For that reason I'm always watching the emergence of new PK systems such as FAPKC and some of the lattice based codes.

    1. Re:Only the PK crypto by harlows_monkeys · · Score: 2

      I don't believe factoring is known to be NP-complete.

    2. Re:Only the PK crypto by logicnazi · · Score: 2

      So wait is factoring in NP? OR is it that thing which is both NP and co-NP...I don't remember.

      Either way P=NP doesnt seem to imply that there are no aysmetric function...just that there are no aysmetric polynomial time functions. There seems to be no theoretical reason why you couldn't build a PK system with an exponential encryption time and a super super exponential decryption time.

      Secondly I am unsure if it even gets ride of polynomial time aysmetric functions. It puts a bound on how aysmetric they can be...as to whether this will mean a practical inability to do PK I don't know

      --

      If you liked this thought maybe you would find my blog nice too:

    3. Re:Only the PK crypto by Zachary+Kessin · · Score: 5, Informative

      Factoring is not NP_Complete. There were some early public key cryptsystems that were NP complete but they were abandoned rather quickly. While the best general case solutions to NP-Complete are O(2^n) there are many specific case solutions that will solve some subset of problems much faster. Or will get close to the correct result quickly. In a crypto-system you want to make sure that it is hard to solve ALL posible cases not just the worst case senario.

      --
      Erlang Developer and podcaster
    4. Re:Only the PK crypto by JF · · Score: 1

      Factoring isn't known to be NP-complete, and thus would *not* be affected by the discovery of a polynomial algo for a NP-complete problem.

      See my post somewhere else for more details.

    5. Re:Only the PK crypto by jbf · · Score: 1

      Not only would PK come crashing down; the use of ciphers with IVs would suck (as in CBC, CFB, probably OFB). Any time you have a known plaintext/ciphertext pair, it's over.

    6. Re:Only the PK crypto by mikek · · Score: 2, Informative

      Compositenesss is in NP (verify it easily by getting two factors and multiplying them together) so primality would then be in coNP. However, primality has also been shows to be in NP. If a language is NP-complete then its complement is coNP-complete. Since primality is in both NP and coNP, if it were NP-complete then that would imply that NP = coNP, which we don't believe is the case.

    7. Re:Only the PK crypto by donny · · Score: 1

      Any secret key algorithm would be affected too.

      Why? Because SAT is an NP-Complete problem.

      What does this mean? It means that we would have the ability to solve any system of boolean equations in polynomial time.

      What does that mean? It means that for any computer algorithm you can think of, having the output lets us efficiently find an input that gives it.

      Why do we care? Because that's just what breaking secret-key crypto is. Or public-key crypto, for that matter!

      A polynomial-time solution to an NP-Complete problem would render all our current public-key and secret-key crypto useless. The only thing we'd have left would be the one-time pad. Factoring is not NP-Complete, but it is NP, so it will also be solvable. (Or you can also think of it from the undoing a computer algorithm point of view).

      Donny

    8. Re:Only the PK crypto by Anonymous Coward · · Score: 0
      You are my hero. You are absolutely correct.

    9. Re:Only the PK crypto by zook · · Score: 1
      Um, not quite.

      Remember, one way of thinking about the problems in NP is that we can solve them by (1) correctly guessing the solution and then (2) checking it using a polynomial-time algorithm.

      Here's my NP algorithm for cypher X:

      1. Guess the polynomial-sized key (correctly!)
      2. Decrypt your message with the key and see if it looks right.

      All ciphers I know of, and probably all useful ciphers could be broken like X. If P=NP, then any cipher X can be broken in polynomial time.

    10. Re:Only the PK crypto by Anonymous Coward · · Score: 0

      RSA most definately *IS* NP-complete, and I don't know that it has been abandoned quite yet.

      For a crypto-system to exceed even NP-completeness, would likely make it extremely impractical. It would mean that you could not verify (and hence could not even generate) encryptions in polynomial time. That would be stupid.

    11. Re:Only the PK crypto by zook · · Score: 1
      First, let's not jump to conclusions! It's still open whether factoring is NP-complete, if I recall correctly. (Although I believe that most experts think it's not. Then again, most experts think P!=NP, but that doesn't constitute proof.)

      Second, you're right: Many NP-complete problems have easy cases. Take, for example, SAT. If we restrict ourselves to binary predicates, aka 2SAT, we can still things in polynomial time.

      Finally, for crypto we don't really care if there are easy cases. All we need is an identifiable hard subset of the cases. RSA rests on the difficulty of factoring. If we can tell that all numbers of a certain form are very hard to factor (and there are sufficiently many of them) then we're fine---we just restrict ourselves to using numbers from the subset.

    12. Re:Only the PK crypto by color+of+static · · Score: 2

      I think you are correct, but the complexity of NP-complete problems I believe set the upper bound of complexity for PK algorithms based on factoring and discrete logs.

    13. Re:Only the PK crypto by phliar · · Score: 2, Insightful
      No we wouldn't see the whole crypto world come smashing down around us, but a large portion of it.
      Why?

      Factoring is not known to be in NP or NP-complete

      --
      Unlimited growth == Cancer.
    14. Re:Only the PK crypto by maskdmirag · · Score: 1, Interesting

      rsa is not np-complete, it relies on factoring which is not know (or believed to be np-complete) My professor, the A in RSA, told us this himself.

    15. Re:Only the PK crypto by Anonymous Coward · · Score: 0

      Factoring is not NP-Complete

      Factoring is not known to be NP-complete. This doesn't mean that it isn't actually NP-complete, doofus.

    16. Re:Only the PK crypto by Fnkmaster · · Score: 2

      As the other responder said, nope. Factoring large pseudo-primes is not an NP-complete problem. For reference, see the RSA, Inc. FAQ - they clearly admit this. Or see any reasonable crypto textbook of the academic variety.

    17. Re:Only the PK crypto by Dr.+Blue · · Score: 4, Interesting

      I hate to be harsh, but there is some of the most phenomenal crap posted on this story that I've seen on slashdot in a while. This is what I do guys, so let me clear up some things:

      First, to all the people who keep saying "factoring isn't NP-complete" blah, blah, blah. That's not even a sensible question, since "factoring" isn't a decision problem. However, you *can* define a related decision problem that shows that if P=NP, then you can factor in polynomial time. So if indeed someone came up with an O(n) time algorithm for an NP-complete problem, then factoring would definitely be doable in polynomial time, and unless this were some really bizarre problem then factoring would most likely be pretty easy.

      Second, factoring isn't the only thing that's affected here. If all problems in NP are efficiently solvable, then *all* cryptographic algorithms (public key or symmetric) are susceptible to known-plaintext attack. Meaning, if you know a plaintext and corresponding ciphertext, you can find the decryption key --- since that's always trivial to do with a public key algorithm (since you can create the ciphertext yourself), they'd all be easy to break.

      So yes, public key crypto would cease to exist as we know it --- the only hope would be to find a function that's maybe O(n) to encrypt and Omega(n^10) to break, but an exponential time separation wouldn't be possible any more.

      But symmetric key crypto would also be severely damaged as well.

      Fortunately, most people think this is pretty unlikely!

    18. Re:Only the PK crypto by Anonymous Coward · · Score: 0

      There is a known algorithm that will factor
      numbers in polynomial time if you have a quantum computer (Shor's algorithm).

      If someone demonstrates that factoring is
      NP-complete, then the premise of the
      question comes true.

    19. Re:Only the PK crypto by YoJ · · Score: 3, Insightful

      Factoring is not known to be NP-complete. Of course factoring is NP, since we can verify that a number is a factor of another by just dividing (which takes polynomial time). So factoring integers is not more difficult than any NP-complete problem. That said, even if someone discovered a polynomial time algorithm to solve NP-complete problems, the degree of the polynomial would probably be so big that it was useless in practice for any real problems with today's technology.

      But the future of cryptography would be seriously shaken, since technology gets better and better, eventually the asymptotically faster methods will become the best way to do things. If the asymptotically fastest method is polynomial, then key lengths will have to get bigger faster and faster. Currently, increasing your key size by a X bits per year makes you immune to attack. But if there is a polynomial time attack, then suddenly the key size has to grow exponentially. Imagine doubling your key size every month.

      I believe all cryptographic schemes are based on algorithms that are NP. Being NP means that the solution can be verified in polynomial time, but the solution cannot necessarily be found in polynomial time. The verification part is important to cryptography, since you have to be able to prove to other people that you can solve the problem (since you have the key).

      I challenge anyone to name a cryptosystem that is not based on a problem that is NP.

    20. Re:Only the PK crypto by Anonymous Coward · · Score: 0

      When did a quantum computer become a deterministic turing machine?

    21. Re:Only the PK crypto by nairolF · · Score: 1
      Factoring is not known to be in NP or NP-complete
      Factoring has not yet been shown to be NP-complete, but it certainly is in NP. NP is the set of all problems for which a guessed solution can be tested in polynomial time. This is obviously the case in factoring: if you guess a factorisation of some number, just multiply out your guess and see if it really gives the orginal number. If so, your guess was right, if not, it was wrong. If one can show P=NP, then ALL problems in NP, not just the NP-complete ones, would have polynomial time solutions.

      Every (useful) trapdoor function is in NP, by definition. In fact, every PK scheme is in NP, again by definition: if you guess the key, you can check in polynomial time whether your guess is correct.

      A polynomial time solution to an NP complete problem would translate to polynomial time solutions to ALL NP problems (that's the definition of NP-hard). This would be a disaster for PK.

      With the advent of quantum computers, all non-quantum cryptography will probably become crackable, anyway. Quantum cryptography is the only way to go in the future.
      --
      "...Look on my works, ye mighty, and despair!"
    22. Re:Only the PK crypto by armb · · Score: 2

      > Although any system using just symmetric ciphers would be immune from this reduction in work effort.

      No. If you can non-deterministically guess the right symmetric key, checking it works is polynomial. (It isn't always possible to do the "check it works" step (e.g. for a one time pad), but for systems where a brute force search works at the moment, or would work in principle if the key wasn't so large it was impractical, it is).

      --
      rant
    23. Re:Only the PK crypto by Anonymous Coward · · Score: 0
      challenge anyone to name a cryptosystem that is not based on a problem that is NP.

      None exist. If the base problem was not in NP, decryption could not be done in polynomial time, and therefore the scheme would be useless.

      People here seem to be missing something: All crypto problems that we are concerned with are in NP! It doesn't matter that they're not NP-complete. That just makes them potentially easier to solve, not harder.

      As I mentioned in an earlier thread: It is proven that if P=NP then all cryptography is impossible except for one-time pad symmetric ciphers (which are, incidentally, the only known 100% secure form of crypto).

      It is not just a matter of finding better problems. If P=NP, there can be no trap-door one-way functions. Anything that can be done in polynomial time can be undone in polynomial time. Crypto is dead.

    24. Re:Only the PK crypto by John+Allsup · · Score: 1

      Factoring primes is DEFINATELY in NP (since
      you can multiply and compare in polynomial time).

      An NP-complete problem that can be done in
      polynomial time means that ALL NP problems
      (including factoring) can be done in P time
      (not just all NP-complete problems).
      See Cook's theorem.

      --
      John_Chalisque
    25. Re:Only the PK crypto by Zaak · · Score: 1

      You just pulled a Bill Gates. Factoring primes is easy if you know they're primes:

      problem: factor prime number P
      answer: P

      I think what you meant is factoring composite numbers made by multiplying two large primes. Not as succint, but a lot more accurate.

    26. Re:Only the PK crypto by crawling_chaos · · Score: 1
      If all problems in NP are efficiently solvable, then *all* cryptographic algorithms (public key or symmetric)

      Not one-time pads. They're uncrackable without time-travel and/or rubber-hose cryptography. If the key is the size of the message or larger, there's nothing to attack, period.

      --
      You can only drink 30 or 40 glasses of beer a day, no matter how rich you are.
      -- Colonel Adolphus Busch
    27. Re:Only the PK crypto by rick446 · · Score: 1

      No, factoring the large psuedo-primes is not NP-complete, but it is NP, meaning that if there exists a polynomial time algorithm for any NP-complete problem, then that algorithm can be reduced, in polynomial time, to factoring large psuedo-primes. Doesn't anyone remeber theory of computing anymore?

      --
      http://pythonisito.blogspot.com/
    28. Re:Only the PK crypto by zook · · Score: 1
      Um, yes. That wasn't the issue.

      Is it complete for the class?

    29. Re:Only the PK crypto by weakpunk · · Score: 1

      Factoring doesn't have to be NP-complete. If a polynomial time algorithm is found for some NP-complete problem, then you can solve all NP problems in polynomial time. Factoring is certainly in NP, because it has a polynomial time verifier (just multiply the factors). So if we proved NP = P, then all factoring based crypto would be in great peril. Of course, it could turn out the the polynomial time algorithm we get for factoring is O(n^1000000), in which case our crypto would be fine for now.

      --


      The more you learn, the more you discover how ignorant you are.
    30. Re:Only the PK crypto by Anonymous Coward · · Score: 0

      I'm rather uncertain of this, but couldn't there be a cipher such that for most plaintexts P, if P is encrypted with public key K, having secret counterpart K2, then there are a large number of keys k such that k decrypts the result correctly? This would seem to make a known-plaintext crack much more difficult, because only one of the keys will actually work on every other message (though they will also work for a large number of others). If you combine this with a good (e.g. language-based) modeler for compressing your data, it seems you would still have a hard problem. Of course, Ii don't know if such an algorithm does, or even could, exist.

    31. Re:Only the PK crypto by AME · · Score: 2
      But that's not even an interesting case when talking about cryptography. You still need a secure channel on which to send your key. If you have such a channel then why are you not using that channel for your messages?

      Unless you are using the same pad for all of your messages, in which case you have little hope of any real security.

      --
      "I have a good idea why it's hard to verify programs. They're usually wrong." --Manuel Blum, FOCS 94
    32. Re:Only the PK crypto by crawling_chaos · · Score: 2
      It was interesting enough for the Soviets to use it as their main method when spying on the West. It's all a matter of how valuable the security of the message is. I believe that the US's nuclear launch codes are all one-time padded, for instance.

      When the cost of a security breach is more expensive than couriering the keys, the one-time pad becomes very useful.

      --
      You can only drink 30 or 40 glasses of beer a day, no matter how rich you are.
      -- Colonel Adolphus Busch
    33. Re:Only the PK crypto by AME · · Score: 2
      I didn't say it wasn't useful. Merely that it wasn't cryptographically interesting. No more interesting than, say, the chance of guessing n numbers consecutively.

      But the necessary preparation for one-time pads is too high for it to be generally useful for real-time secure communication.

      --
      "I have a good idea why it's hard to verify programs. They're usually wrong." --Manuel Blum, FOCS 94
  8. Before anyone asks... by Anonymous Coward · · Score: 1, Funny
    Before anyone asks, yes, "NP" does stand for "Natalie Portman." Thus, anything NP-complete is not a problem!

    -- The_Messenger

  9. If I had that O(n) algorithm... by mfarah · · Score: 3, Offtopic

    I'd release it to the public, then sit down until they hand me my well-deserved Turing award.

    Seriously, there are more advantages (quick solutions to complex problems, like the traveller salesman) than disadvantages (cracking easily certain encryption mechanisms) to this.

    But then again, my gut feeling is that P!=NP.

    --
    "Trust me - I know what I'm doing."
    - Sledge Hammer
    1. Re:If I had that O(n) algorithm... by Coward+Anonymous · · Score: 1

      Alot of good the Turing Award will do you, I'm sure.
      Why not write a simple web page advertising your ability to factor any number for the princely sum of $1m.
      That would get you somewhere...

    2. Re:If I had that O(n) algorithm... by Peaker · · Score: 2

      As someone already mentioned, the travelling salesman problem is about finding the *optimal* solution. For any practical purpose, a near-optimal solution can be found, and there are P solutions to this problem.
      A certain P solution can be proven to always find a path at most twice the length of the optimal one.

    3. Re:If I had that O(n) algorithm... by jrockway · · Score: 1

      genetic algorithms are good for finding a decent solution; especially simple ones like the knapsack problem

      --
      My other car is first.
    4. Re:If I had that O(n) algorithm... by Anonymous Coward · · Score: 0

      The farthest insertion algorithm finds "solutions" to the tsp with worst case length 3/2 times the optimal in O(n^2) time.

    5. Re:If I had that O(n) algorithm... by -brazil- · · Score: 1
      That would get you somewhere...


      Yeah, six feet under, most likely. It is very definitely something that every secret service in the world would kill for.

      --

      The illegal we do immediately. The unconstitutional takes a little longer.
      --Henry Kissinger

  10. Solution made public? by Soong · · Score: 1, Redundant

    The solution will never be made public. It will be abducted and dissapeared away into the NSA or worse.

    --
    Start Running Better Polls
  11. Of course it depends by Telastyn · · Score: 1

    on who found the solution. Depending on the culture and the individual the proper thing maybe posting it to slashdot. If someone in the NSA finds the solution (if it exists) the 'proper' thing maybe to hide it forever.

    Most likely it will be a 1st world academic who will find a solution, in which case I think the common course would be to claim the find, and open it for peer review after doing a thorough personal review. Humans, academics in particular, are very egocentric creatures.

  12. *sigh* by Rosco+P.+Coltrane · · Score: 1, Troll
    "If a person were to find a O(n) solution to an NP complete problem [blah blah]"

    If someone could find a way to turn mercury into gold, [blah blah]

    If a person could find an function f(x) that returns the xth prime number, [blah blah]

    If only it was easy to find any decimal of PI with a simple formula, [blah blah]

    If only I could make up a nice AskSlashdot to get my story posted, [blah blah]

    --
    "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
    1. Re:*sigh* by Lemmy+Caution · · Score: 1

      That was pretty much the point of my magical Twinkie post above. Still was modded as "off-topic" somehow.

    2. Re:*sigh* by kreyg · · Score: 4, Insightful

      Uh...

      If only it was easy to find any decimal of PI with a simple formula, [blah blah]

      Well, it almost is. Not decimal, precisely, but any arbitrary hex digit...

      --
      sig fault
    3. Re:*sigh* by Anonymous Coward · · Score: 0

      Very good comment !

      I think they should raise the threshold for "Ask Slashdot" postings... This is beginning to become pathetic.

    4. Re:*sigh* by Anonymous+DWord · · Score: 2

      Seriously. If you've got it, publish it (or not). Otherwise, why waste your time talking about it?

      --
      "If he thinks he can hide and run from the United States and our allies, he's sorely mistaken." Bush on bin Laden
    5. Re:*sigh* by Ezza · · Score: 1

      > If only it was easy to find any decimal of PI with a simple formula, [blah blah]

      This has been done, and was on /. http://slashdot.org/article.pl?sid=01/07/27/133823 0

      --
      I'm a perfectionist but I'm trying to cut back.
    6. Re:*sigh* by Anonymous Coward · · Score: 0

      One of the above problems is trivial :)

    7. Re:*sigh* by Anonymous Coward · · Score: 0

      it's ok, I understood what you were getting at. some people are just dense.

    8. Re:*sigh* by fiftyfly · · Score: 2, Informative

      "If only it was easy to find any decimal of PI with a simple formula, [blah blah]" There is - for hex - that's how they compute it these days.

      --
      "Sanity is not statistical", George Orwell, "1984"
    9. Re:*sigh* by Anonymous Coward · · Score: 0

      "Some" people? There's half a million user accounts here, and they're all dense.

    10. Re:*sigh* by floW+enoL · · Score: 2, Informative

      >If someone could find a way to turn mercury into gold, [blah blah]

      As any chemistry class can tell you, this is practically impossible.

      >If a person could find an function f(x) that returns the xth prime number, [blah blah]

      Actually, you can. Anyone proficient in a programming language can code one easily enough, and anyone with any math experience can write out a description of said function. I think you meant a "simple" function f(x) (i.e., non-recursive), which I think has been proven impossible (although don't take my word for it).

      >If only it was easy to find any decimal of PI with a simple formula, [blah blah]

      It is. See other replies to your post.

      >"If a person were to find a O(n) solution to an NP complete problem [blah blah]"

      What's so different about this question? It's still open! All the examples you posted are either solved or proven unsolvable. This question is neither.

    11. Re:*sigh* by jmauro · · Score: 1

      >If someone could find a way to turn mercury into gold, [blah blah]

      As any chemistry class can tell you, this is practically impossible.


      It's easy to add extra protons and neutrons to an atom, effectively making a new element. It's just very, very messy.

    12. Re:*sigh* by quokka70 · · Score: 2, Interesting

      >If a person could find an function f(x) that returns the xth prime number, [blah blah]

      Actually, you can. Anyone proficient in a programming language can code one easily enough, and anyone with any math experience can write out a description of said function. I think you meant a "simple" function f(x) (i.e., non-recursive), which I think has been proven impossible (although don't take my word for it).


      There are simple functions f(x), for appropriate definitions of "simple". Here is one.

      Define the constant A by:


      A = \sum_1^\Infty (p_n / 10^(t_n))


      where \sum denotes summation, p_n is the n-th prime, and t_n is the n-th triangular number. Then A = 0.2030050011... In particular, A is a constant, and so "simple". Now define the function


      f(n) = floor(10^(T_n) * A)


      where floor is the integer part truncation of the argument, and T_n is the sum of the first n triangular numbers:


      T_n = 1 + 3 + 6 + ... + t_n


      Then, up to bone-headed off-by-one type errors on my part, f(n) = p_n.

      You may or may not regard this function as "simple". It is almost certainly not useful for generating primes.

      It is not hard to show that no non-constant polynomial can take on only prime values as inputs range over the integers. Rather more interestingly, there are (multi-variate) polynomials whose positive values are exactly the primes, but who also take on a bunch of "junk" negative values.

      Cheers, quokka.

    13. Re:*sigh* by quokka70 · · Score: 1

      In particular, A is a constant, and so "simple". Now define the function

      f(n) = floor(10^(T_n) * A)


      An obvious boneheaded error here is that this should actually be


      f(n) = (floor(10^(T_n) * A)) mod 10^(t_n)


      to "throw away" the bits of A that stores the primes before p_n. Sigh.

      quokka.

    14. Re:*sigh* by Anonymous Coward · · Score: 0

      Seriously: this isn't 5 ( Funny ) - it's 5 ( Nerds already know that this is non-News that Doesn't Matter ).

      --

      I haven't actually read the post in question - I'll wait for Cdmrtoecac's post of The Register's link to Metafilters's post of the CNN story about it tomorrow...

      [ Editors: those funny "'" characters are "apostrophes", here indicating possesion. ]

    15. Re:*sigh* by Anonymous Coward · · Score: 0

      1. If someone could find a way to turn mercury into gold, [blah blah]

      You can, conceivably turn many elements into other elements with a particle accelerator. It's just not cost efficient.

      2. If a person could find a function f(x) that returns the xth prime number, [blah blah]

      Let F(j) = floor[cos[pi * ((j-1)! + 1)/j]^2].

      Let G(m) = sigma[F(j), j=1 to m]

      Then the nth prime number is:

      1 + sigma(floor[floor[n/G(m)]^(1/n)], m = 1 to 2^n)

      It doesn't even involve an infinite sum! It's mostly not known because the computation needed with the upper bound on the second sigma being 2^n.

      3. If only it was easy to find any decimal of pi with a simple formula.

      Perhaps not decimal, but hex digit using the Bailey-Borwein-Plouffe algorithm.

      So, hey, your first three were already solved! :P

    16. Re:*sigh* by Debillitatus · · Score: 3, Insightful
      >If a person could find an function f(x) that returns the xth prime number, [blah blah]

      Actually, you can. Anyone proficient in a programming language can code one easily enough, and anyone with any math experience can write out a description of said function. I think you meant a "simple" function f(x) (i.e., non-recursive), which I think has been proven impossible (although don't take my word for it).

      Well, if you want to define function in any way you want, then of course, I can find a function which returns the primes. I define f so that f(n) is the nth prime. Woo.

      Of course, this function is completely meaningless. The poster was of course saying that it would interesting to find a function which allowed you to compute the nth prime without knowing the primes already. This has not been found. Of course, you can't prove that it's not possible, because our conditions are pretty vague. I mean, there are certainly many smooth functions whose value at n is the nth prime. And for any finite number N, there is even a polynomial whose values at 1,2,...,N are the 1st, 2nd, ... , Nth prime. But unless you could say something about these functions, then they are useless.

      For example, there is a function whose value at 0 is the time of my birth,at at 1 is the time of my death. Claiming there is such a function doesn't tell me much.

      >If only it was easy to find any decimal of PI with a simple formula, [blah blah]

      It is. See other replies to your post.

      I was going to reply to this elsewhere, but since I'm already typing...There is a result where one can calculate the nth digit of \pi in hex (and I think in any base which is a power of 2), but, surprisingly, there is no analogous algorithm for base 10. So you might say, well, the hell with it. Just compute the nth digit in hex, and then convert. But, to convert from hex to decimal to find the nth digit, you would need all of the preceding digits. A funny little Catch-22. Although, it's certainly possible that there is an analogous base 10 algorithm, just noone knows it.

      --

      Come on, give it up, that's

    17. Re:*sigh* by Anonymous Coward · · Score: 0

      hexadecimal != decimal

    18. Re:*sigh* by Anonymous Coward · · Score: 0

      Actually it's impossible to find an O(n) algorithm for an NP-complete problem. It's a simple matter of reductions.

      I'll use sorting since it is Omega(n*log(n)).

      If problem X is NP-complete and can be solved in O(n), then any problem in NP can be solved by X using a linear reduction (O(n)).

      Thus, we can turn an instance of sorting into an instance of X in O(n) time, then get the solution in O(n) time. So we have just sorted n numbers in O(n) time. But sorting is Omega(n*log(n)), so we cannot have an O(n) algorithm for an NP-Complete problem.

    19. Re:*sigh* by UnknownSoldier · · Score: 1

      > Actually it's impossible to find an O(n) algorithm for an NP-complete problem. It's a simple matter of reductions.

      I'll use sorting since it is Omega(n*log(n)).

      You *do* know that you can sort in O(n) time, right?!

      "Introduction to Algorithms", Cormen, Leiserson, Rivest, Pg 172 "Sorting in Linear Time"

  13. Go to the gov't by Anonymous Coward · · Score: 0

    I'd go to the government with it first. Something like this would definitely be of interest to Nat'l security

  14. Crypto is safe by Nater · · Score: 4, Informative

    Crypto algorithms are strong for other reasons. Factoring primes is not a difficult problem... the fastest known solution is already O(n), the reason it's time consuming is that you can choose arbitrarily large values of n, in which case, you need to do better than O(n) in order to effectively break it. One time pads are another thing altogether. There is no algorithm of any order that can break a proper OTP (note that an improper OTP, i.e. one who's pad is not truly random or who pad is reused could be cracked). Other algorithms are based on other principles, but in any case, most are based on mathematically difficult or impossible problems, not computationally difficult ones.

    --

    I like to play children's songs in minor keys.
    "We're all sons of bitches now." --J. Robert Oppenheimer

    1. Re:Crypto is safe by Nater · · Score: 2

      (Nater pulls head out of ass, puts foot in mouth)

      That should say "factoring large numbers" rather than "factoring primes"

      My bad

      --

      I like to play children's songs in minor keys.
      "We're all sons of bitches now." --J. Robert Oppenheimer

    2. Re:Crypto is safe by 11223 · · Score: 1
      The problem is that most of the canonical methods of generating One Time Pads are based on discrete log (in the form of the Diffie-Helman (sp?) key exchange), which can be solved by factoring.


      Note that there's nothing out there that's proven to be mathematically difficult, so I'm not sure what else I should use. I'll stick with ECC for now.

    3. Re:Crypto is safe by JF · · Score: 1, Informative

      Hummm, well not quite.

      Although in some twisted fashion you can see it as being linear regarding the number to be factored, it is actually exponential considering the bits allowed for 'n', which is really what matters.

    4. Re:Crypto is safe by Anonymous Coward · · Score: 3, Informative

      Factoring is difficult. Remember that speed is normally expressed in terms of the size of the input. It only takes log n bits to represent n. Thus, a O(n) algorithm for factoring (where n is the input) is actually exponential in the input size.

      I'm familiar with several fast primality testers, all probabilistic, but I'm not familiar with any fast factorization algorithm.

    5. Re:Crypto is safe by Anonymous Coward · · Score: 0

      youre exactly right.

      but i think you should also mention the memory table sizes required to keep the speed up in very-large factoring/prime generation problems (example: the number sieve). the sheer amount of memory grows extremely fast - faster than the 18 month rule for computers. for very large problems, moving the memory pointer from one 200 or 300 digit number to the next becomes not-so-neglidgable too.

      but youre just a troll, so im posting ac :-)

    6. Re:Crypto is safe by jsburke · · Score: 2, Informative

      No, there's no O(n) algorithm for integer factorization. The fastest known deterministic algorithm just to test for primality runs in (lg n)^(O(lg lg lg n)) time, which is superpolynomial. Only randomized algorithms (i.e., ones that may produce the wrong answer) can achieve polynomial time.

    7. Re:Crypto is safe by AnotherBlackHat · · Score: 2, Informative
      The problem is that most of the canonical methods of generating One Time Pads are based on discrete log (in the form of the Diffie-Helman (sp?) key exchange), which can be solved by factoring.


      Are you on drugs? Most canonical methods of generating One Time Pads are based on physical processes, like throwing dice, sampling a radioactive source or digitizing lava lamps
      Using a pseudo-random generator to generate one time pads offers pseudo security.
    8. Re:Crypto is safe by pthisis · · Score: 3, Informative

      The problem is that most of the canonical methods of generating One Time Pads are based on discrete log (in the form of the Diffie-Helman (sp?) key exchange), which can be solved by factoring.

      You're mixing things up. One-Time Pads are simply long strings of random numbers, you don't use Diffie-Hellman to generate them. And if you used DH to exchange them you defeat the point (which is that they're provably secure). They're generally delivered by trusted courier. OTPs are used (for instance) for some sensitive communications with US embassies and presumably by the CIA and NSA as well.

      DH is completely unrelated to one time pads.

      Sumner

      --
      rage, rage against the dying of the light
    9. Re:Crypto is safe by RelliK · · Score: 2, Redundant
      Factoring primes is not a difficult problem... the fastest known solution is already O(n)

      Oh, it's certainly not difficult. I can factor primes in O(1) time. Give me any prime and I'll tell you all its factors. However, the only known algorigthm to factor non-primes runs in exponential time. You got to love it when a clueless post gets marked "insightful" by even more clueless moderators.

      --
      ___
      If you think big enough, you'll never have to do it.
    10. Re:Crypto is safe by tc · · Score: 1

      I think there may be some confusion about the value of N here. Is N the actual size of the number in question, or the number of bits used to represent the number? In the first case, I think there are O(N) algorithms, but that's not terribly useful since it's easy to make N exponentially large (N is O(2^K) if K is number of bits). In the second case, then it's a trickier problem, and I believe the best known solutions are superpolynomial.

    11. Re:Crypto is safe by arvindn · · Score: 1


      Only randomized algorithms (i.e., ones that may produce the wrong answer) can achieve polynomial time.

      Actually, ones that may produce no answer at all. There is really no such thing as producing the wrong answer because it is trivial (polynomial time) to verify if the answer is correct (i.e a given number is a factor).

      Infact by the definition of NP-completeness it must be possible to verify a solution in polynomial time (But yes, I do know that factoring is not NP-complete).

    12. Re:Crypto is safe by ideut · · Score: 0

      Do you remember that Bill Gates interview where he was asked what single discovery would have the greatest impact on computing? "A way to efficiently factor large primes" was his answer.

      --

      --

    13. Re:Crypto is safe by Spy+Hunter · · Score: 4, Funny
      >Factoring primes is not a difficult problem... the fastest known solution is already O(n)

      Oh yeah? I've got a nifty little program right here that will factor your large primes in O(1)! Don't believe me? Read it and weep!

      int factor(int largePrime)
      {
      return largePrime;
      }

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    14. Re:Crypto is safe by Fjord · · Score: 2

      However, the only known algorigthm to factor non-primes runs in exponential time

      Yay! I just discovered a new algorithm! Take the number to be factored and call it n. Then, for i=2 to n/2, see if i divides n. This is much faster than exponential time.

      You've got to love it when a clueless poster follows another clueless poster and tries to show how fucking great they are.

      --
      -no broken link
    15. Re:Crypto is safe by acidblood · · Score: 1

      Now, I was about to moderate this post down, but I find that the moderation choices are highly non-orthogonal. Where is the `incorrect' moderation option? Or `clueless poster' option? And even better, what about leaving a small space for the moderator to explain why he modded as such?

      I say this because most of the /. crowd (as shown by the high score of the parent post) doesn't understand shit about the subject, so they moderate it up, and would metamoderate a clued in moderation (that is, one which detracted points from the post) as `unfair'.

      My opinion is: if you don't understand the subject, restrict yourself to moderating and metamoderating the `funny' posts. And, even better, don't post. The S/N ratio is already too low with all the crapflooding, and downright wrong posts are even worse, since only knowledgeable people can moderate it up. Which isn't happening, as the parent post shows.

      --

      Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/

    16. Re:Crypto is safe by skyhawker · · Score: 1

      Uh, if it's an int, it ain't a large prime.

      --

      The best diplomat I know is a fully activated phaser bank.
      -- Scotty.
    17. Re:Crypto is safe by jareds · · Score: 1, Flamebait

      Yay! I just discovered a new algorithm! Take the number to be factored and call it n. Then, for i=2 to n/2, see if i divides n. This is much faster than exponential time.

      When choosing an encoding to map an abstract decision problem to a concrete problem, it is traditional (read: all sane people do this) to represent numbers using a place value system (such as binary) rather than something stupid like unary bit strings. Therefore, the size of the input is Theta(log(k)), if the input is a single number k, so a O(k) solution is O(b^n), where n is the size of the input and b is a constant.

      You've got to love it when a clueless poster follows another clueless poster and tries to show how fucking great they are.

      You're right, it's quite amusing.

    18. Re:Crypto is safe by Spy+Hunter · · Score: 1

      What would you prefer? long long? That wouldn't work either. It was just a joke.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    19. Re:Crypto is safe by RelliK · · Score: 2
      solution is O(b^n), where n is the size of the input and b is a constant

      More specifically, b is the base of the number. (so it would be 2 for binary, 10 for decimal, etc.)

      You have correctly explained that complexity of factoring a number is exponential in the the length of the number. That's because the magnitude of a number is exponential in its length for all bases other than one. Fjord used this little fact to claim that factoring a number is linear in the magnitude of the number. Well -- duh! Lame Fjord, really lame.

      Thus factoring a 128-bit RSA key would not take c*128 time, for some constant c, as Fjord's post would seem to imply. It would take c*2^64 time, for some constant c. Why 64 and not 128? Theorem: any non-prime integer has a factor less than or equal to its square root. Proof: exercise to the reader (or take a first year algebra course).

      --
      ___
      If you think big enough, you'll never have to do it.
    20. Re:Crypto is safe by paxil · · Score: 1

      Nater said:

      Factoring primes is not a difficult problem... the fastest known solution is already O(n)[...]

      I find this hard to believe. Factoring can now be done in O(n)?

      I am not a mathematician, but I do have access to a library. I would enjoy reading any papers you have found supporting this assertion.

      Would you be willing to provide one citation?

      Thanks!

    21. Re:Crypto is safe by haystor · · Score: 2

      But you were correct in saying its not a difficult problem and that puts you way ahead of half the posts in this (or any) topic.

      --
      t
    22. Re:Crypto is safe by Furry+Ice · · Score: 1

      Primality tests don't give you the factors. That would be a factorization algorithm. They just tell you whether or not the number is prime. If it's probablistic, it just tells you there's a good chance the number is prime.

    23. Re:Crypto is safe by terminal.dk · · Score: 1

      But all exisiting encrypted data would be de-cryptable.

      So to keep things a secret, you should probably sell the stuff to the chinese AND the russians. They will keep it secret for some years, until they can make the best use of it.

      Takes the burden of how/when to tell the world off your shoulders, and you can even make a lot of money :)

    24. Re:Crypto is safe by Nater · · Score: 2

      Here's the brute force method for factorization that we all know and love:

      Pick a positive integer, n. That's your input. Now, for each positive integer i less than n, find n % i. If that's 0, then i is a factor of n. That's a loop of n iterations which guarantees (hence it's an algorithm) that you'll find all the factors of n. And it's O(n).

      Actually you only need to check up to the square root of n if you divide and test to see whether the result is an integer, because in that case you're finding factors two at a time and all the factors greater than the square root will be found by the time you get to the square root. Whether or not it's actually faster depends on implementation. Modulus and testing for 0 may or may not be more than half as fast as dividing and testing for an integer.

      --

      I like to play children's songs in minor keys.
      "We're all sons of bitches now." --J. Robert Oppenheimer

    25. Re:Crypto is safe by Nater · · Score: 2

      Remember that speed is normally expressed in terms of the size of the input. It only takes log n bits to represent n.

      Obviously when we're talking about computers, we can assume certain things, like that binary numbers will be used, but factorization is mathematics, not computers. You have to remember that in mathematics, you can slide the number base around and represent a given number using arbitrarily few digits. How do you write 1592 in base 1592? It's written like this: 10. So measuring the "size" of the number you're trying to factor by counting its digits is completely arbitrary. But since the integers are ordinal, we don't have to play this stupid "How should we measure this?" game. Integers measure themselves.

      Remember, it's easy to factor a number. It can take an aweful long time, though, if your number is big.

      --

      I like to play children's songs in minor keys.
      "We're all sons of bitches now." --J. Robert Oppenheimer

    26. Re:Crypto is safe by Nater · · Score: 2

      Although in some twisted fashion you can see it as being linear regarding the number to be factored

      How is that so twisted? I think declaring a number's "size" to be equal to the number of digits needed to represent it is twisted. Number base and number of digits is purely cosmetic. Suppose I've got 32 bits of data that represent a number which is the composite of two primes. What do I know about those two primes before I do any calculations at all? They're both less than the number in my 32 bits. So the fact that it fits in 32 bits is pretty irrelevant to the algorithm. It's the number itself that matters.

      --

      I like to play children's songs in minor keys.
      "We're all sons of bitches now." --J. Robert Oppenheimer

    27. Re:Crypto is safe by Nater · · Score: 2

      Where is the `incorrect' moderation option? Or `clueless poster' option?

      People find this very hard to believe, but factorization is easy. The problem is that it can take a long time when the number your factoring is sufficiently large.

      Think about the brute force factorization algorithm. Write it down, in fact. And now analyze it. You'll find that given a positive integer n to factor, the algorithm runs in O(n) time.

      The reason cryptosystems based on factorization are thought to be safe is because we can choose arbitrarily large values of n and we presume that there is no more efficient way to factor integers. Now, if someone were to find a way to factor integers faster than O(n), we could still keep increasing n but that alone might not be sufficient. In any case, factorization is not an NP problem.

      --

      I like to play children's songs in minor keys.
      "We're all sons of bitches now." --J. Robert Oppenheimer

    28. Re:Crypto is safe by Florian+Weimer · · Score: 2

      I don't think so. Even if you know something is in O(n^t), you don't know the constant in the O. It might be so incredibly large that it doesn't make sense to use the O(n^t) algorithm.

      On the other hand, in the distant future, we might reach a point where increasing the key length no longer increases security, but is probably very theoretical, too.

    29. Re:Crypto is safe by Anonymous Coward · · Score: 0

      ha. i can do even better: O(0)

      /* factors unspecified amount of large integers
      stored in whatever places in any format and stuffs the results over the original values */

      #define factor() (void)0

      now if i only could make it run in negative time so i could have it run in the background to make my programs faster.

    30. Re:Crypto is safe by Anonymous Coward · · Score: 0

      What is the time to check (n % i)? Would it be O(n)? Is it possible then that your brute force would be closer to O(n^2)?

    31. Re:Crypto is safe by Nater · · Score: 2

      Modulus ought to have similar running time to division. It's basically the same operation except for the last part where modulus returns the remainder and division returns the quotient. You could certainly implement modulus and division so that they're O(n), but I would be very surprised and a little pissed if there wasn't something better.

      --

      I like to play children's songs in minor keys.
      "We're all sons of bitches now." --J. Robert Oppenheimer

    32. Re:Crypto is safe by Anonymous Coward · · Score: 0
      Sorry, but this is bull. You haven't studied much complexity theory, I take it?

      This is not an O(n) algorithm. This is exponential time. It's about the worst way possible to factor numbers.

      Look: There is no known polytime algorithm for factoring large numbers! If there was, RSA would be useless.

      "Polytime" means "solvable in time polynomial of the input size".

      Your error is that you misunderstand the meaning of 'input size'. The size of the input is the size of the binary encoding of the input (or ternary, or higher bases, that's unimportant; the important thing is that it's not the unary encoding, which would be length n).

      So the size of the input for integer n is actually log n. Therefore your "O(n)" algorithm is actually exponential in the size of the input, since O(n) = O(2^(log n))

    33. Re:Crypto is safe by Anonymous Coward · · Score: 0


      Sort of. He's way out to lunch on claiming there is a known polytime algorithm for factoring large numbers, but it is possible (perhaps even likely) that one exists. It's not known or believed to be NP-complete.

      Factoring is in NP and co-NP, which makes it a strong candidate for P.

      But if P=NP then the point is moot and factoring is automatically in P. Then RSA is pointless. Electronic security promptly goes down the toilet.

    34. Re:Crypto is safe by Fjord · · Score: 1

      Well sue me. I'm at 50 karma, and I decided to try out this trolling thing (yes, darling, the karma cap does encourage trolling). It really didn't help that you were both inflamatory and ambiguously incorrect. So I used that abmiguity and your "high and mighty" attidude to get a rise out of you.

      Or in short YHBT ;)

      --
      -no broken link
    35. Re:Crypto is safe by acidblood · · Score: 2, Flamebait
      Ok, Mr. Know-it-all. Here's all the evidence I could gather for you. I really don't know why I spent so much time responding to an obvious troll, but it seems the moderators don't agree with me.

      I hope that you realize, by the end of this post, that you shouldn't comment on subjects you have no clue about. Even worse, in this case, you have the wrong `clues'. You managed to squeeze a lot of stupid and wrong stuff in a few lines, and you seem to stick to you. So here goes:

      factorization is easy


      From the RSA Labs Cryptography FAQ (here's a link to this particular question):

      Factoring is the underlying, presumably hard problem upon which several public-key cryptosystems are based, including the RSA algorithm. (...) It has not been proven that factoring must be difficult, and there remains a possibility that a quick and easy factoring method might be discovered, though factoring researchers consider this possibility remote.


      Oh, then you must be wrong somewhere, OK? I know exactly where. Here's from the book ``Algorithms and Complexity'', by Herbert Wilf:

      The problem is this. Let n be a given integer. We want to find out if n is prime. The method that we choose is the following. For each integer m = 2,3, ..., floor(sqrt(n)) we ask if m divides (evenly into) n. If all of the answers are `No,' then we declare n to be a prime number, else it is composite.


      OK, so as a primality testing algorithm, it is rather inefficient. The Jacobi sum test and Atkin's test have a much better asymptotic growth, but if you look at it, you can use the same procedure to factor numbers.

      We will now look at the computational complexity of this algorithm. That means that we are going to find out how much work is involved in doing the test. For a given integer n the work that we have to do can be measured in units of divisions of a whole number by another whole number. In those units, we obviously will do about sqrt(n) units of work.


      See? Your O(n) algorithm (O(n) according to your stupid notation) is already a slow one. There are much faster algorithms out there than trial division. You should be realizing, by now, that you are beyond clueless, but here's the finishing touch:

      It seems as though this is a tractable problem, because, after all, n is of polynomial growth in n. For instance, we do less than n units of work, and that's certainly a polynomial in n, isn't it? So, according to our definition of fast and slow algorithms, the distinction was made on the basis of polynomial vs. faster-than-polynomial growth of the work done with the problem size, and therefore this problem must be easy. Right? Well no, not really.



      Reference to the distinction between fast and slow methods will show that we have to measure the amount of work done as a function of the number of bits of input to the problem. In this example, n is not the number of bits of input. For instance, if n = 59, we don't need 59 bits to describe n, but only 6. In general, the number of binary digits in the bit string of an integer n is close to (log n)/(log 2).



      If we express the amount of work done as a function of B; we find that the complexity of this calculation is approximately 2**(B/2) , and that grows much faster than any polynomial function of B.



      Satisfied there? Great. Now, if this book isn't enough for you, go out there and try to find another book which contradicts this one. And no, Teach Yourself Algorithms in 21 days, or something along these lines, doesn't count. Which seems to be your source of information; otherwise you'd have refrained from posting this.

      Now, for the really stupid part:

      The reason cryptosystems based on factorization are thought to be safe is because we can choose arbitrarily large values of n and we presume that there is no more efficient way to factor integers.


      This shows how you have no understanding of asymptotics, or the general field of complexity of algorithms. Refer to the introduction of any good book on the matter, and you'll realize how wrong you are.

      If that's not a good example, do some research on calculating Pi, for instance. You'll soon realize that the bottleneck for those computations is a means to do fast multiplication, and it can be done today in better than O(n log n) time (this particular value is the growth for the FFT-based methods.) But still, it can't be done yet in O(n) time, and it has been proven that this O(n) is the theoretical floor for a multiplication algorithm. So, it can't possibly do better than factorization, correct? But how come I can calculate a couple billion digits of Pi on my computer, while I can't factorize even a 100-digit number? In fact, I think I could hardly factorize an 80-digit number in the same amount of time it takes for calculating these billions of digits of Pi. (And it makes sense that algorithms for factorization are researched far more frequently than algorithms for Pi-calculation.)

      Now, if you haven't convinced yourself, there's nothing more I can offer. I just hope the moderators read this post and mod you down into -1.

      Now, if someone were to find a way to factor integers faster than O(n), we could still keep increasing n but that alone might not be sufficient.


      I have shown you one such algorithm above. Did this change the world? No. And it is still a very slow algorithm by today's standards. Oh, and did I mention that it was invented by the greek mathematician Erathostenes, a few millenia ago? You should rethink about posting every idiot idea that comes out of your head from now on; at least avoid a complete embarassment by looking up whether you've been wrong for thousand of years.
      --

      Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/

    36. Re:Crypto is safe by Nater · · Score: 1, Offtopic

      I really don't know why I spent so much time responding to an obvious troll, but it seems the moderators don't agree with me.

      Because you want so badly for them to agree with you. Guess what. They're gone now. This article is dead and the moderators have moved on to today's killings.

      --

      I like to play children's songs in minor keys.
      "We're all sons of bitches now." --J. Robert Oppenheimer

    37. Re:Crypto is safe by Anonymous Coward · · Score: 0
      I think declaring a number's "size" to be equal to the number of digits needed to represent it is twisted.

      It's not twisted, it's the way it's done.

      It's the size of the input to the problem that's important, not the value of that input.

      Maybe it's arbitary, but it's just the way P and NP are defined. Claiming factoring is 'linear' by changing the definition of 'linear' (and yes, that is exactly what you are doing) is not useful.

      Things are defined that way for a reason. If you define "polytime" to mean polynomial in the value of the input rather than the size of the input, then almost everything can be solved in linear time. In that case the study of Complexity Theory wouldn't be going anywhere in a hurry. If we used that definition, P=NP=PSPACE=NPSPACE becomes a trivial result.

      Buy a book on NP-completeness and Complexity and you will understand. The definition used for P is a very sensible one.

    38. Re:Crypto is safe by oddjob · · Score: 2

      I've read through your posts in this thread, and there is a consistent flaw in your reasoning that the other posters have not pointed out. Your argument for a O(n) algorithm assumes that division can be done in constant time, which is not the case. You don't get division for free. The algorithm for division is dependent on the magnitude of the numbers involved, regardless of base. (I don't recall the order of that algorithm... guess I could look it up :) )

    39. Re:Crypto is safe by pokeyburro · · Score: 1

      To be clearer, Nater is describing a classic factoring algorithm that runs in O(sqrt(n)) in the size of the number. The tricker and more interesting question is whether there's an algorithm that is O(n) where n is the number of bits in the number to be factored.

      Suppose n =128. Then the classic algorithm requires sqrt(2^128) steps, or 2^64. In general, the classic algorithm runs in O(2^(n/2)) in the number of bits, which is equivalent to O(2^n).

      In conclusion, the classic algorithm is better than linear-time in the size of the number, and exponential-time in the number of bits in the number.

      If you have access to a lot of memory and a lot of time for pre-computation, you can do even better than this, of course. Rather than divide by all integers up to the square root of x, you can divide only by 2, and then by all the odd integers. Better still, you can divide only by all the prime integers up to the square root. However, this requires you to keep a list of them. I don't believe there's any list of all prime numbers up to 2^64, for example. It would be several gigabytes, if not terabytes, I imagine, and would take a long time to compile.

      You could use this algorithm to grow that list, and this would take no longer than n-squared time to make a list of all primes less than n. Even so, that's a huge number. In general that's what makes the factorization problem useful in encryption, even though there's a better-than-linear-time solution to break any particular key; the key is friggin' huge.

      --
      Lately democracy seems to be based on the skybox, the Happy Meal box, the X-box, and the idiot box.
    40. Re:Crypto is safe by acidblood · · Score: 2
      which is that they're provably secure


      You're mixing things up. OTPs are unconditionally secure. Shannon (in `Communication Theory of Secrecy Systems', 1949) has proven that unconditionally secure systems require keys as lenghty as the message itself, but OTOH an adversary cannot gleam anything about the plaintext given the ciphertext. One such example is the Vernam cipher, which represents the message and the key as a stream of bits, and XORs them together to generate the ciphertext.

      Provably secure cryptosystems are those who have been proven to be as hard as the underlying hard problem, such as the Rabin cryptosystem, which is provably as hard as the integer factorization problem. In fact, it is based on the `square roots of modular numbers' problem, which has been proven to be computationally equivalent to integer factorization.

      Just FYI.
      --

      Join the NFSNET. Our prime goal is making little numbers out of big ones. http://www.nfsnet.org/

    41. Re:Crypto is safe by Anonymous Coward · · Score: 0

      Buddy, what you say might be concise and correct, but as long as this is slashdot expect to stay modded at 0 while the bullshit around you piles higher. Next time, I suggest adding a "PS: Microsoft sucks" at the end of your post to help it get modded up.

  15. That would Suck by harvardian · · Score: 1

    Whoever made the discovery would have to notify Verisign, RSA, the government, and major corporations in secret at least a few weeks before the discovery became public knowledge. If they didn't, the economic hit from loss of privacy would be overwhelmingly staggering. So if we ever see lots of major corporations taking their encrypted systems off of the Internet, then we have an idea of what happened.

    The problem is that if somebody solves one NP-complete problem, they've all been solved, since they're all reduceable to each other in P time, so no cryptographic system would be safe.

    And, of course, the mathemetician would probably be sued by the RIAA for violating the DMCA.

    1. Re:That would Suck by Sux2BU · · Score: 1

      Notifying that large list of people could cause problems. First, you'd have to talk to somebody who could understand the consequences. Then, you'd have to prove it to them that you do have it. After that, you'd run the slight risk of somebody claiming your discovery, or worse, knocking you off to keep the knowledge hidden (like in Mercury Rising). That may be unlikely, but the government could always consider it a risk to national security and take other measures to prevent the release. In the best case, you'd have to wait 6+ months for the government to switch their systems, if not longer. They may even ask you to NEVER release it, or keep delaying the release. All this hassle (and risk) just to save them.

      To avoid all of these problems you'd either have to destroy the knowledge or release it immediately.

      ...Or maybe I'm just being too pessimistic.

  16. Ask Slashdot: Shouldn't this be under Ask Slashdot by Anonymous Coward · · Score: 0

    And then ask why it already is

  17. Pizza and UPS Packages Would Arrive Faster by Carnage4Life · · Score: 4, Funny

    Considering that the Travelling Salesman Problem is NP complete and affects almost any problem that involves delivering something to several destinations in an optimal fashion. A solution to NP problems ould have widespread ramifications in improving many aspects of businesses that involve deliveries (including the airline business now that I think about it).

    1. Re:Pizza and UPS Packages Would Arrive Faster by isomeme · · Score: 2

      Not really. While finding the optimal solution is NP-complete, for real world, non-contrived cases, getting a suboptimal-but-close-enough solution gets you within a few percent of peak perfomance. And for most real-world cases, there exist P algorithms which converge on a good enough solution quite rapidly.

      --
      When all you have is a hammer, everything looks like a skull.
    2. Re:Pizza and UPS Packages Would Arrive Faster by Murmer · · Score: 0
      Not entirely true. I get what you're saying, but strictly speaking, proving that P=NP would mean that it is possible to find a better way to send your pizzas and packages. P=NP would imply that an exponential-time algorithm exists. It does not actually provide you with that algorithm.

      That said, given that problems can be mapped to other problems, (the knapsack problem to the partitioning problem, frex) the nature of the proof would most likely provide some path for mapping the travelling salesman problem to something known to be in P.

      --
      Mike Hoye
    3. Re:Pizza and UPS Packages Would Arrive Faster by Anonymous Coward · · Score: 0

      Neither pizza deliveries nor UPS involve delivering something to several destinations in an optimal fashion. They involve delivering several things to several destinations in an optimal fashion, which is extremely simple in comparison.

    4. Re:Pizza and UPS Packages Would Arrive Faster by SpinyNorman · · Score: 2

      Maybe that'd be true if Pizza Hut had a single guy to deliver ALL their pizzas (boy, would that job suck!), but in reality they use parallelism - multiple pizza deliverers that deliver a few pizzas on a simple route.

      I pity the poor pizza boy who not only has to deliver pizzas to the entire United States, but maybe also has to wait for an O(google) (but not NP - whoopee!) algorithm to calculate his route before he can even start!

      :-)

    5. Re:Pizza and UPS Packages Would Arrive Faster by anthony_dipierro · · Score: 1

      You're thinking of the shortest path algorithm, which is O(n log n).

    6. Re:Pizza and UPS Packages Would Arrive Faster by MasteroftheVoxel · · Score: 1

      ok, there are many things wrong here...

      first of all, dividing an NP-complete problem up into a finite number of parts, like the "parallel" pizza delivers does not make it easier. It is still NP-complete.

      second, O(google) is it is the same as O(1) because "google" is a constant.

      third, "google" is spelled googol when it refers to the number, but I admit thats just nitpicking

    7. Re:Pizza and UPS Packages Would Arrive Faster by Anonymous Coward · · Score: 0

      ...and you are thinking that you are smart, but you aren't!

    8. Re:Pizza and UPS Packages Would Arrive Faster by SpinyNorman · · Score: 2

      Consider dividing a 1000 house pizza delivery region by splitting it into a grid of 10x10 regions each containing an average of 10 houses.

      N^1000 vs 100 * N^10 looks like a no brainer to me!

      Now of course it's not optimal, but with a not too big, not too small grid it's going to be good enough, and if you can assign 10x10 pizza boys to the job they'll probably be done before the lone pizza delivery boy has even submitted the job to distributed.net

      I'll give you the O(google) multiple snafu though!

    9. Re:Pizza and UPS Packages Would Arrive Faster by Anonymous Coward · · Score: 0
      I'll give you the O(google) multiple snafu though!

      nah, you give in too easy.

      O(10) is ten times harder than O(1). Yes, it scales the same as any O(constant) algo which is the whole point with regard to large N problems. But, an order-googol solution to 3x3 tic tac toe would still suck.

    10. Re:Pizza and UPS Packages Would Arrive Faster by DavidTC · · Score: 1

      No, that would work just as well. The traveling salesmen works just as well with two salesmens, it just takes a lot longer to find the solution, but, hey, if you can solve NP complete problems, that shouldn't matter.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    11. Re:Pizza and UPS Packages Would Arrive Faster by Anonymous Coward · · Score: 0

      It would seem that most pizza delivery personel only deliver to 1 or 2 houses at a time. So N would be 2, or 3. (N-1)!=N for N=2 or 3. So there would be absolutely no difference.

  18. Easier Solution by Renraku · · Score: 1

    Or we could make it a lot easier on ourselves and just break into someone's house to get their password instead of having to go through a bunch of math and all that just to have the rights to say, '0wns j00'.

    --
    Job? I don't have time to get a job! Who will sit around and bitch about being broke and unemployed then?
    1. Re:Easier Solution by TheM0cktor · · Score: 1

      and where would be the geek kudos in that? :)

      you're right of course. Hence Magic Lantern.

  19. Stupid. by Anonymous Coward · · Score: 0

    This is not a flame or a troll, I'm serious.

    Ask Slashdot is normally not-so-bright, but this one is waaaay up there for stupid questions. How does this stuff get through, then to the front page, no less?

    1. Re:Stupid. by Anonymous Coward · · Score: 0

      Well, all the Slashdot editors are stupid. How come you haven't realised this yet?

    2. Re:Stupid. by karlj000 · · Score: 1

      I don't think they're stupid, some of them have something going on upstairs. I just think they've lost interest in this site, and I don't blame them. The community is too large, too dense, and suffers from a SERIOUS case of GROUPTHINK. It's not fun anymore...

      If you don't know what GROUPTHINK is, I encourage everyone to look it up and consider it next time you come back to the site... It'll take some hard work to bring this place back from the depths of technology hell...

  20. Quietly sell it to FBI or Micro$oft by HilbertCurve · · Score: 1

    ...and work no more. ;-) There is a real danger somebody will do this.

    1. Re:Quietly sell it to FBI or Micro$oft by irlbinky · · Score: 1

      thats a good idea - sell it to Microsoft. As if they aren't powerful enough already, you'ld give them the solution to cracking encryption?

  21. With such an algorithm I would by Density_Altitude · · Score: 2, Insightful

    be the king of MineSweeper

    --
    delete free(system.gc);
  22. P=NP doesn't mean O(N) by ElJefe · · Score: 4, Informative

    Even if someone manages to prove that P=NP, it doesn't mean that a reasonably efficient solution can be found. All it means is that an NP-complete problem can be solved in polynomial time. That polynomial can still be huge, say N^1000. Except for really large N, current exponential-time algorithms could be superior to polynomial-time ones.

    So, the short answer is that proving P=NP probably won't ruin your encryption. On the other hand, if someone did prove it, there will probably be a mad scramble to invent some new encryption schemes, just in case.

    -Chris

    1. Re:P=NP doesn't mean O(N) by Anonymous Coward · · Score: 0

      You forget Moore's law. N^1000 *will* fall to the advances of Moore's law eventually (in the sense that you will eventually have to increase N by absurdly large amounts over time to try to defeat Moore's law). 2^N will never fall (in the sense that increasing the size of N needs only grow linearly over time to defeat Moore's Law).

    2. Re:P=NP doesn't mean O(N) by Anonymous Coward · · Score: 0

      N^1000 *will* fall to the advances of Moore's law eventually

      Get a fucking clue. Moore's law is an observation, not a natural law. The doubling every 18 months *will* fall eventually.

    3. Re:P=NP doesn't mean O(N) by Birdie-PL · · Score: 1

      So, the short answer is that proving P=NP probably won't ruin your encryption. On the other hand, if someone did prove it, there will probably be a mad scramble to invent some new encryption schemes, just in case.

      First of all, it depends on how the P=?NP problem would be solved.
      If someone shows algorithm for solving [i.e.] 3-SAT in O(n^3) time then most of the current encryption schemes would be rendered substantially useless.
      If someone shows that a polynomial algorithm exists but it's not known how to construct it - the crypto is only weakened (you know it's possible to break it but you don't know how).

      Another things to remember are hashing functions and all the digital signatures based on them. It is proven that P=NP if and only if there exists one-way function. This simply means that no [keyless] hash function can be cryptographically secure under the assumption that P=NP.

      --
      e-mail: karol at tls-technologies.com
      www: http://www.tls-technologies.com
      sig: not found
  23. Re:Sex Kitten! by Anonymous Coward · · Score: 0

    Look, buddy. Some of us happen to like Oasis.

  24. O(n^x) is not necessarily hard... by cmowire · · Score: 3, Insightful

    If you solve an NP complete problem in O(n^65535) time, you have just shown that P == NP. However, you still wouldn't be able to crack any of the NP complete problems that cryptography is based on in a reasonable amount of time.

    Because trust me, if it was a low exponent for x, we'd have found it already. ;)

    Besides, they'd just move to problems that are not NP complete for the popular cryptography algorythims. Cryptographers are too smart for their own good, you know.

    1. Re:O(n^x) is not necessarily hard... by orestes_141 · · Score: 1

      > Because trust me, if it was a low exponent for x, we'd have found it already.

      This seems not to understand the basic nature of the problem with finding a solution: It's not that there's a brute force method for finding a solution.

      The difficulty here is that the solution will probably involve some trick or twist that nobody has thought of before.

      It's a similar case to that of Fermat's original solution to FLT; it's not that he didn't have a solution (although most believe that he didn't); it's just that nobody ever figured out or found his proof. It's possible that the solution exists, and nobody has yet figured out what the mental gymnastics were to arrive at it.

      And the solution of NP-complete problems would make number-theoretic cryptography significantly more difficult (if not impossible). It's not like there's another, better class of problems. The reason that the NP complete problems work for public key cryptography is that there is an easy solution in both directions given the right pieces of information. It doesn't rely upon a one-way function, but upon a reversible algorithm. Quantum would be the way to go at that point.

  25. What else would you do? by spaceyhackerlady · · Score: 1

    Patent it and sue the ass off anybody who tries to use it. :-)

    ...laura

  26. Well, basically... by inerte · · Score: 1

    ... I would have to call my ninja to protect me using the old fashioned way.

    Seriously, a problem is NP-complete if anwers can be verified quickly. I guess we will have to use cryptography algorithms asking such things as 'What is the meaning of life, to be or not to be, where we came from', etc...

    And no, 42 should not be used since it's already known ;-)

  27. Difference of P, NP and NP complete by angel'o'sphere · · Score: 1

    The interesting question is not:
    <i>
    If a person were to find a O(n) solution to an
    NP complete problem
    </i>
    The interesting question is:
    <I>to find a O(<x>) solution to an NP complete problem
    </I>
    Where <x> is any polynom of the kind n, n*n, n+n*n, n*n*n, and so on.

    I'm quite sure neither the asker of the question nor the poster understands the difference between P, NP and NP complete :-)

    And I'm realy more sure that the general /. community does not care about that difference.

    I *know* the difference, but I learned it only for passing a test ... so I have no clue if it affects public key encryption, via eliptic curves or prime numbers. However, where I can imagine that it might be affecting eliptic curve encryptions, I doubt advances in that field migh thave any benefit in factorizing of prime numbers.

    Regards,
    angel'o'sphere

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  28. Students and NP probs by Anonymous Coward · · Score: 0

    I have no idea if this is on topic, but it was an intersting read of some people's understanding of NP during a CS 105 class that talked about NP probalems.

    http://www.math.grin.edu/~rebelsky/Courses/CS105 /2 000S/Questions/question.42.html

  29. Tell everyone then Run and HIDE by nachoman · · Score: 1

    First of all, it doesn't even have to be a O(n) solution. NP hard problems are exponential, so even a O(n^2) or n^3 or anything polynomial would be a major breakthrough.

    As to the outcomes...

    Personally, I've though about this a lot in my algorithms class. The way the theory goes, if you can solve an NP complete problem in polynomial time then it means that all the other problems in NP complete are part of P (or something to that effect). Where I see the problem is that all encryption EVERYWHERE is based on the face the a very large number can't be easily factored into it's two primes. This is designated as an NP hard problem. So, cracking encryption in polynomial time would be possible.

    This is when I get a large government grant and construct the worlds most secure underground bunker. Then I release the the solution to the world and hide. The consequences would be chaotic. Nothing would be digitally secure anymore, anywhere.

    But, the chances that someone will actually solve an NP problem is slim... But hey, It could happen

  30. Ahem... by RelliK · · Score: 3, Insightful

    Please take an algorithms course. It's taught in any university with a decent CS faculty. And if you think the course is too hard for you, feel free to come back and ask slashdot again. (Other questions may include: "what's a Turing Machine?" and "can you run Linux on it?")

    As an aside, when did slashdot become a meta-search engine? Oh wait... never mind!

    --
    ___
    If you think big enough, you'll never have to do it.
  31. Here's a news flash by empesey · · Score: 2

    Would our most popular implementations of cryptography be useless overnight?

    All of our cryptography schemes are made useless more often sooner than later.

    Which is why I think this government initiative to install viruses on our computers is not only a bad idea, but an awful waste of money, that could be put into better use. Like an extra daisy-cutter or something.

  32. May not be that far off by kosipov · · Score: 1

    I am not sure that quantum computation can solve an arbitrary NP problem in O(n) time, but if I understand it correctly you still get the effect of non-deterministic search in a space limited by the number of particles in coherent quantum state. As the article points out the incentives to develop even something close P time solution of NP are huge. So the race to build a reliable and scalable quantum computer is on.

  33. The obvious answer.. by mESSDan · · Score: 3, Funny

    Is 42. ;)

    --

    -- Dan
    1. Re:The obvious answer.. by spirality · · Score: 1

      That's Hitchhiker's Guide to the Galaxy is it not. I'm not moderating, but I thought it was funny. :P

  34. RSA and all would *not* die by JF · · Score: 4, Interesting

    Regardless of what was said above, this doesn't destroy public key cryptography at all. The two biggest mathematical assumptions used in PK crypto are that:

    a) Factoring large numbers is hard
    b) Solving discrete log problems is hard

    Mind you, these are *not* NP-Complete problems (at the moment). They are believe to be in NP, but that's another story completly. Finding a polynomial algo for an NP-complete problem does not give you an algo for factoring and/or solving DLP problems.

    Now on the other hand, if you had a quantum computer, you could factor in quadratic time, and solve DLPs in cubic time. Now *that* would be somewhat bad. :)

    1. Re:RSA and all would *not* die by Anonymous Coward · · Score: 0

      Someone needs to take Theory of Computation again. If they're in NP, and any NP-Complete problem can be solved in constant time, then any problem in NP can be solved in polynomial time, as all problems in NP are polynomially-time reducible to any NP-Complete problems.

    2. Re:RSA and all would *not* die by Lagos · · Score: 1

      Sorry, but you're basically wrong, and everyone here really needs a better understanding of complexity theory before posting.

      Factoring and solving discrete logarithms in a finite field have been shown to be not not NP-Complete, although they are believed to not be in P either (this operating under the assumption that NP != P) and so are called NP-Hard. Since they are not NP-Complete, given a polynomial running time algorithm which solves them, we can't change it into an algorithm which solves an NP-Complete problem in polynomial time.

      However, since NP-Complete problems are harder than NP-hard problems the other way around works: If one can solve *any* of the NP-Complete problems (and hence, all of them) in polynomial in polynomial time, one could solve all NP-hard problems in polynomial time as well. So you'd still be screwed.

      Interesting aside: While there are plenty of NP-Complete problems, and countless problems definitely in P, there are only two known NP-hard problems: Factoring and graph isomorphism. What is more interesting is that while there are successful crypto systems built off of both factoring and graph isomorphism, every crypto-system based off an NP-complete problem has failed (i.e. Knapsack problem). There seems to be something fundamental which makes NP-Complete problems inappropiate for crypto-systems, but no one's been able to quantify it yet.

    3. Re:RSA and all would *not* die by lucius · · Score: 1
      Mind you, these are *not* NP-Complete problems (at the moment).

      I think they're not NP complete full stop. I don't have the references at my fingertips, but due to the Shor factorisation algorithm (for quantum computers). You can define a class (I think called QP#) of all problems with probablistic polynomial time solutions on a quantum computer; factorisation is one of these.

      Now, it has been shown using the random oracle that NP complete problems are not in QP#. So factorisation is not NP complete.

      And everyone bitches about quantum computers not having practical uses, but here is a straightforward result;-)

    4. Re:RSA and all would *not* die by Pseudonym · · Score: 1

      I think you're confused about what "NP-hard" means.

      An NP-hard problem is one that is intrinsically harder than those that can be solved by a nondeterministic Turing machine in polynomial time. An NP-complete problem is one that is both NP-hard and in NP.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    5. Re:RSA and all would *not* die by JF · · Score: 2, Informative

      Sorry, but you're basically wrong, and everyone here really needs a better understanding of complexity theory before posting.

      Yeah, my thoughts exactly.

      since NP-Complete problems are harder than NP-hard problems the other way around works

      Huh huh... http://hissa.nist.gov/dads/HTML/nphard.html

    6. Re:RSA and all would *not* die by jpmorgan · · Score: 1
      Factoring isn't a hard problem at all; it's RSA isn't secure because it's tough to crack, compared to other problem cracking RSA is fairly trivial, RSA is secure because it's really easy to compute. You can compute RSA in O(log n) where n is the size of the keyspace.

      It's not that RSA is hard to crack, it's just that it's exponentially easier to compute so you just use really, really long keys (can you imagine using a 4k bit key for Rijndael or Blowfish?).

    7. Re:RSA and all would *not* die by Furry+Ice · · Score: 1
      The link is good, but I doubt people are following it, so I'll state the facts:

      NP-complete is a proper subset of NP-hard.

      This of course means that NP-complete problems are not harder than NP-hard. In fact, the converse can be true (for NP-hard problems not in NP).

    8. Re:RSA and all would *not* die by nivedita · · Score: 1
      You have to keep in mind while reading complexity theory papers that practically all of them make the fundamental assumption that P != NP (and usually a whole bunch of other assumptions as well). It has definitely not been shown unconditionally that NP-complete problems are not in QP#. Perhaps it has been shown that if an NP-complete problem is solvable in QP#, then NP can be solved in probabilistic poly time.

      But for all we know, NP-complete problems can be solved in polynomial time.

  35. If somebody found a solution... by silvaran · · Score: 1

    If somebody found a solution to an NP complete problem, it would open the doors to a whole new world of algorithm efficiency. That's a small statement compared to how much easier it would make you computer science degree program.

  36. I would really hate that! by 2Bits · · Score: 4, Funny
    You know, when I look for an apartment, I look for something that does not have a pizza store near by. And I love to order pizza delivery from those chains that claim I can get it for free, if they can't deliver it within 30 minutes.

    I've actually got quite a few pizza this way. If this NP solution helps to speed up pizza delivery, I don't I would like that, at all.

    1. Re:I would really hate that! by dpilot · · Score: 4, Funny

      Have any of your pizza delivery boys ended up with their vehicles in a neighbor's swimming pool, and ended up giving your pizza to a skatboarding girl to make the final delivery?

      --
      The living have better things to do than to continue hating the dead.
    2. Re:I would really hate that! by Anonymous Coward · · Score: 0

      Wow!

      I can't believe you really used your +1 bonus to post such unmitigated stupidity.

    3. Re:I would really hate that! by Anonymous Coward · · Score: 0

      It's called a literary allusion. And hardly an obscure one, at that (at least not in this community). Go read a book, coward-boy.

    4. Re:I would really hate that! by ideut · · Score: 0

      I've heard of japscat, but what's skatboarding?

      --

      --

    5. Re:I would really hate that! by "Zow" · · Score: 2

      An alternative method is to live close, but have an address that's just really hard to find: growing up I lived in a city that had a pretty consistant grid layout to the streets, at least in any part of the city that was more than 15 years old. We lived on this little street that curved right through a couple of these otherwise nice rectangular blocks. I think it was all the free pizzas we got that caused Domino's to change their 30-minutes or free policy - the complaints about reckless driving were just a red anchovie.

      The name of the court I live on now is shared with the attached street, an avenue, and a boulivard (sp?) located in rather different parts of town. Since none of the pizza joints here have a 30-minutes or free policy, I just always pick up the pie because otherwise it takes about 2 hours and 3 phone calls for them to find us.

      The moral to the story is that a linear (or even polynomial) solution to the TSP is not going to keep the pizza places from giving you free pies as long as you live somewhere that either causes the algorithm to bomb (like next to a circle that causes the program to get caught in an infinite loop), or at an ambiguous address.

      -"Zow"

    6. Re:I would really hate that! by Anonymous Coward · · Score: 0

      WOW, I would rather have a HOT pizza than a cold-free pizza, but maybe that is just me.

      Seriously though, I used to deliver for a Pizza Hut back in high school. I can virtually guarentee you that if you gave the drivers a descent tip, you would always be getting hot-fresh pizza within 20 minutes. If you are known to tip well, they will skip nereby deliveries to get it to you first. If you, or your neighborhood, are known for not tipping at all, or complaining regularly, then you can expect to recieve cold-stale pizza for the rest of your days. Also, no major chain has had a 30-minute rule in years due to liability issues. If they give it to you free it is cause you call up the manager and make a major a** of yourself. If you are so cheap that you don't want to pay for a pizza then you also probably never tip and you likely live in a low rent neighborhood that doesn't tip either, so it is no wonder that your pizza's are always late.

  37. You're a little confused.... by 11223 · · Score: 3, Informative
    For starters, what people are looking for is a O(n^k) solution, not a O(n), but one complication is that these problems may still take years to solve - your constant in front of n^k is just very very large. However, as time goes on (and Moore's law with it), they will get (comparatively) easier to solve, when compared to O(k^n) methods.

    Secondly, there are very few encryption problems that are NP-complete. Now NP is a general class of problems that don't have a O(n^k) solution, but that's different than NP-complete. (I wouldn't want to use a NP-complete encryption anyway, given how much effort seems to be going into that area!) In fact, most encryption is based on the infeasibility of calculating discrete logs in Z mod n. However, this problem is very close to being solved itself. I haven't read up too much on what's going on there, but apparently they've been mapping Z/n to elliptic curves (don't ask me how).

    Consequences of that? Well, for starters, if you can calculate a discrete log in Z/n, then it's relatively trivial to recover some multiple of the order of the order of the group - which makes primality testing easier (your order will be k*(n-1)). However, this means you should stick with elliptic curve-based encryption for now, as the NSA probably has discrete log cracked :-P

    1. Re:You're a little confused.... by Anonymous Coward · · Score: 0

      Oh-kaaay...

      click.

      Next caller, please.

    2. Re:You're a little confused.... by Anonymous Coward · · Score: 0

      Don't. Please don't. Around here, the next caller will want to tell you how a remote root exploit for Linux known for 2 years that Linus has refused to patch isn't as bad as a local crack for the NT guest account that only existed in the alpha code due to an incorrect source control check in and that was never actually compiled.

    3. Re:You're a little confused.... by Anonymous Coward · · Score: 0

      > (I wouldn't want to use a NP-complete encryption anyway, given how much effort seems to be going into that area!)

      You probably would want that. If you prove something is in NP, you haven't given much evidence that it isn't in P. So you might have a decent chance that your sitting on a problem that can be solved in polytime when you thought it couldn't be.

      If something is NP-complete, then the only way the problem could be in P is if NP=P. While this isn't so much a proof, but since most in computer science feel that NP!=P, you can be fairly confident that the problem isn't in P, and hence will be more useful than something proved simply NP for encryption.

    4. Re:You're a little confused.... by MasteroftheVoxel · · Score: 3, Insightful

      I think you are confused actually.

      I can't comment on the math in the second half of your posting but your definition of NP-complete is wrong on many levels.

      First of all, it isn't known whether NP is equal to P or not, so its nto safe to say that there is no O(n^k) solution to those problems. This is minor because it is widely believed that P!=NP.

      Second, NP is a superset of P. That means all the problems in P are also in NP!

      Third, your definition is wrong. NP is the group of problems that can be solved by a nondeterministic turing machine in polynomial time. If you don't know what this means, there are several good books out there. Come back to this post when you have read them.

      Fourth, it hasn't been shown that there are ANY problems in NP, but not in P, but aren't NP-complete! That means all the so-called NP (excluding P here) problems we know of are NP-complete! Now they may be some that lie "between NP-complete and P but no one has found one yet. Or proven that a problem we know of lives in this set.

      Lastly, there are harder problems than NP-complete problems. See PSPACE and EXPTIME.

    5. Re:You're a little confused.... by crab · · Score: 2, Informative

      >That means all the so-called NP (excluding P here) problems we know of are NP-complete!

      That's not true. Factoring and discrete log are NP but not shown to be NP-complete. It is relatively easy to show that some problem is in NP (If you can check an answer for validity in polynomial time it is in NP). Much harder to show that it is NP-complete (Need to show that the SAT problem can be solved in poly time if the given problem can be solved in poly time).

      On another note, quantum computers can solve factoring and discrete log in poly time thus breaking most cryptosystems. However, it is believed that quantum computers will not be able to solve NP-complete problems in polynomial time.

      An interesting question is that if P!=NP then are there some problems that are not in P and not in NP-complete. The answer is not known but factoring could be a candidate.

  38. Or the opposite... by jatbrowne · · Score: 1, Informative

    Not publish your solution, go to the people in the know and use the knowledge to your advantage. Secretly rip of banks all over the world, bring down governments, get yourself in a position of power. The possibilities are endless.

    There is also a chance that an agency such as the NSA or the British intelligence services have ALREADY found a solution. Just look at rsa, or how long the Brits kept enigma and their digital computers secret (predating ENIAC). Without a credible alternative to RSA at the moment it would be sensible for such an organisation to keep a solution secret.

    Or have I just been watching too many spy films?

    1. Re:Or the opposite... by Anonymous Coward · · Score: 0

      Fuck off. You're not welcome here.

    2. Re:Or the opposite... by rhombic · · Score: 1

      Sounds like a good way to get a permanent vacation in the Langely basement....

      --
      1984 was supposed to be a warning, not an instruction manual.
  39. Wrong question by arjennienhuis · · Score: 1

    The qustion should be: prove that there is no such algorithm. But because that prove does not exist yet, you can also give a counter prove by finding one.

    Instinctivly you could say no such algorithm exists, but you only need to prove it.

  40. The Big if by vlad_petric · · Score: 1

    Proving that either P=NP or P!=NP is pretty much like prooving Fermat's Big Hunch - one of the Holly Grails of CS research. The problem is that we're not even close to such a result. It's interesting, though, that a lot of research is based on the assumption that P!=NP and not P=NP

    Sure, finding a polynomial solution (ant not even O(n)!) for any of the NP-complete problems implies that all of them are solvable in polynomial time (they're polynomially reducible to each other), but ... no one has found it (it's as ellusive as the concept of hyperspace)

    And, BTW, only cracking the key in RSA is NP-complete. One could crack the message without cracking the key first (theoretically speaking)

    The Raven

    --

    The Raven

    1. Re:The Big if by furiousgeorge · · Score: 2

      "Fetmat's Big Hunch"?

      Care to give a reference...... I did a google search on that and came up with nothing...

      If you're thinking about 'Fermats Last Theorem', it was solved in 1993/94 by Andrew Wiles.

    2. Re:The Big if by Anonymous Coward · · Score: 0

      nice work smarty-pants. what the fuck do you think he meant?

    3. Re:The Big if by jopie_b · · Score: 1

      Fermat's Big Hunch (aka Fermat's Last Theorem).
      Has already been solved.
      In 1993(!) by Andrew Wiles. (after mathmaticians puzzled on it for 358 years).

    4. Re:The Big if by DavidTC · · Score: 1

      Yeah, but we still don't know how Fermat did it.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    5. Re:The Big if by joto · · Score: 2
      Sure we do! It is partly proven by lost reference, secondly by authority (as Fermat was a pretty famous mathematician)...

      This page will give you a clue...

      As you will remember, Fermat claimed in the margin of some notes that he had a wonderful proof, but unfortunately it wouldn't fit there.

      By the time this was written, it would count as proof by intuition and proof by obviousness, but this view has shifted through the times, and today the lost-reference and authority proof-techniques are viewed as the most strikingly elegant touches in this proof.

  41. sa? by autopr0n · · Score: 2

    Of course, here he can post stuff for free, and have it seen by a wider audience.

    --
    autopr0n is like, down and stuff.
    1. Re:sa? by Anonymous Coward · · Score: 0

      Yeah, but it's like the Royal Shakespeare Company playing the local retard farm - it doesn't rack up too much kudos.

  42. DMCA Beat down by digital_freedom · · Score: 1

    Whoever proved that an NP problem could be solved in some linear time would probably end up getting put in jail by Verisign or RSA as publishing a way to defeat their software. Then the FSF would have to step in, we would see a bunch of posts on /. about it, and then the Feds would finally get some brains and let that person go.

    Doesn't this seem vaguely familiar? Are we in an environment today that really allows us to do what we want with computers or even our minds?

  43. sorry, but... by jatbrowne · · Score: 1

    Just imagine a beowolf cluster of Turing machines...

    wow.

  44. If I solved it... by Baloo+Ursidae · · Score: 2, Funny

    ...I'd break the news a lot like Linus did when he released 2.4.

    "Oh, and by the way, here's the solution to some NP complete problem..."

    --
    Help us build a better map!
    1. Re:If I solved it... by Anonymous Coward · · Score: 0
      ...I'd break the news a lot like Linus did when he released 2.4.


      "Oh, and by the way, here's a bunch of crap you need to keep a mile away from your computer."
  45. NP is not O(n) by nsample · · Score: 2, Informative
    Okay, kay, I'll concede the possibility that P=NP, because I'm bored. And just maybe quantum computers will allow us to bend the Von Neumann/Turing rules that we've been saddled with these o'-so-many years...

    To answer the question about crypto then, will it break? Yes, definitely, crypto as we know it will break. Public Key Crypto is effective because the time to generate a private key from and unknown bit of salt and a private key is NP. That's why people don't brute force PGP... the naive brute solution is exponential in n, where n is the length of the key (2^n, where |n| is in bits).

    But here's the rub: If you reduce such a problem to linearity (O(n)), then the only protection you have is increasing the length of n. But, to encrypt a message is still in O(n)*.
    • It would take only as long to crack a private key as it takes to encrypt a message.

    So, protect yourself with larger values of n all you like, but it takes exactly as long to crack a message as it does to encrypt one.


    * the oddity is that it takes more time than O(n) to encrypt a message. But, it is in P. and if P=NP, the all polynomial time algorithms are O(n). Kinda sounds silly at the end of the day...

  46. Re:How about a solution to the first post problem? by Anonymous Coward · · Score: 0

    [b]A[/b]ffect, dipshit, [b]a[/b]ffect.

  47. Understand NP-completeness, please by larse · · Score: 2, Informative

    It would only mean that NP-complete problems would now have a polynomial solution. It would *not* contrain the exponent of the polynomial, so they could still (and likely would still) be very hard.

  48. No by autopr0n · · Score: 2

    Most crypto algos are not NP complete. You can solve 'em it just takes a ton of time (but you can calculate how long it's going to take.) Doing NP complete problems in O(n) time won't help you break crypto at all.

    --
    autopr0n is like, down and stuff.
    1. Re:No by majiCk · · Score: 1

      it doesn't matter if most crypto algorithms are not NP-complete -- if a problem is NP-complete, that means that every problem in NP reduces to it in polynomial time, i.e. P = NP. so if you solved an NP-complete problem in deterministic polynomial time, you'd have an efficient (polynomial-time) solution to every NP problem, and most crypto depends on problems which are known to be in NP ("hard") but not known to be in P.

      also, solvability (i.e. decidability) has nothing to do with NP-completeness, so "You can solve 'em it just takes a ton of time" says nothing about whether a problem is NP-complete, but it suggests that the problem is in NP.

    2. Re:No by Anonymous Coward · · Score: 0
      Most crypto algos are not NP complete. You can solve 'em it just takes a ton of time (but you can calculate how long it's going to take.) Doing NP complete problems in O(n) time won't help you break crypto at all.

      All the people who are saying this are stupid.

      Sorry if I don't feel like being tactful today. I should say "misinformed", but it's early and I'm grumpy.

      If P=NP, public-key crypto is no longer viable.
      If P=NP, all problems in NP are solvable in polynomial time. That means all cryptosystems can be efficiently cracked, except the ones that rely on one-time pad symmetric ciphers.

      Read some of the above threads. I've been trying to explain this ad nauseum to some folks who just don't get it. I'm hoping at least one of my posts will get moderated up to help reduce the misinformation getting thrown around here.

      I gotta stop posting as an AC.

  49. Think about it by Acheon · · Score: 1

    The very first consequence would be the discoverer being arrested for having violated the DMCA. And the second would be to threaten/arrest all algorithmic mathematicians working on the problem and likely to understand a word of the solution.

    --Martin

  50. Depends *which* NP-Complete problem gets solved by Black+Art · · Score: 1, Troll

    The only thing that would suffer would be algorithms based on that class of problems. Unless someone found a way of solving the entire class of NP-Complete problems. By their nature, i seriously doubt if it is possible to solve beyond a single type of problem. It would require some sort of interrelationship between problem sets. If something on that magnitude were found, the benifits would greatly outweigh the drawbacks as we would have made a great leap forward in the understanding of mathematics.

    --
    "Trademarks are the heraldry of the new feudalism."
    1. Re:Depends *which* NP-Complete problem gets solved by Anonymous Coward · · Score: 1, Insightful

      Clearly, you have no idea what NP-Complete means. NP-Complete problems are problems (technically, languages) that can be used to solve other NP problems, with a polynomial degree of overhead.

      As an aside, why do people think that quantum computation somehow lets you break the rules of computation and complexity? Quantum computers are not non-deterministic turing machines. They are not magical. They do not factor numbers in "quadratic time," etc.

      Sorry, but I actually took the time to learn this, and I hate it when people just spout of random garbage as if they had a clue.

      The ignorance in this thread was just so offensive that I needed to speak up.

    2. Re:Depends *which* NP-Complete problem gets solved by Dominic_Mazzoni · · Score: 2, Redundant

      Actually, you can use a polynomial-time solution to ANY NP-complete problem to construct a polynomial-time solution to any other NP-complete problem. That's what NP-complete is.

    3. Re:Depends *which* NP-Complete problem gets solved by Anonymous Coward · · Score: 0

      Well, NP-complete problems can solve other problems in NP, not just the NP-complete ones. You can think of NP-complete problems as the hardest class of problems within NP.

      Of course, you probably already knew that, going to CMU and all...

    4. Re:Depends *which* NP-Complete problem gets solved by furchin · · Score: 1

      The only thing that would suffer would be algorithms based on that class of problems.

      That is completely untrue. By definition, a problem is NP-Complete if ANY other NP-Complete problem can reduce to it, and thus it can be reduced to any other NP-Complete problem. So if you can solve just one NP Complete problem in polynomial time, you've solved them all in polynomial time.

    5. Re:Depends *which* NP-Complete problem gets solved by DavidTC · · Score: 1

      Erm, a quantum computer wouldn't factor numbers in 'quadratic time', whatever that is. They would factor numbers instantly. Peter Shor came up with a program to do this, I believe.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    6. Re:Depends *which* NP-Complete problem gets solved by Dominic_Mazzoni · · Score: 1

      You're right, of course. I was trying to simplify it by making a statement which was true, even though it wasn't complete.

      Most of what I would have contributed to this discussion has already been posted, too bad...

  51. Make it public. by siliconvortex · · Score: 1

    Make press releases. Submit papers to several different journals. Put it on different websites. Hand it out on flyers at the mall. Make sure that it becomes widely available before it can be caught and hidden by a small group. While there is some downside, it doesn't compare to having the solution be in the hands of a small group.

  52. Read Hodges by rockhome · · Score: 1

    Why not read about Turing, especially from Andrew Hodges excellent biography. it provides wonderful insight to the entsheidungsproblem and other issues about computing. Basicly, it won't happen. It can't happen.

  53. Only slightly faster by s20451 · · Score: 1

    They would only arrive slightly faster. There are simulated annealing algorithms that solve the problem in O(n) with good (but suboptimal) solutions.

    --
    Toronto-area transit rider? Rate your ride.
  54. what about normal 128 bit encription by Anonymous Coward · · Score: 0

    assuming this made RSA encryption easy to crack by factoring primes (or whatever)
    wouldn't regualar 128 bit encription be considered stronger?

    1. Re:what about normal 128 bit encription by pthisis · · Score: 2

      (Insert obligatory comment about factoring primes being trivial here)

      Symmetric crypto is already considered to be stronger than the available public-key methods. Well, stronger may be the wrong word: better studied and less likely to fall to a sudden advance in mathematics.

      Most systems that use public key crypto (including e.g. PGP, ssh, ssl, all of which use RSA most commonly) use the public key method only to exchange a key and then use that key with a symmetric algorithm (most widely 3DES (SSH), IDEA (PGP), and RC4 (SSL), but plenty of others are common)

      This approach limits the amount of crypto text (and known plaintext) available to attack the PK system with.

      Sumner

      --
      rage, rage against the dying of the light
  55. Oh no! by autopr0n · · Score: 3, Funny

    They can crack RSA crypto in O(n^123,312,352) The world is doomed!!!!

    'polynomial time' can still be a long-ass time.

    --
    autopr0n is like, down and stuff.
    1. Re:Oh no! by furchin · · Score: 1

      There are techniques for improving the running time of polynomial algorithms.... thus if an O(n^12345) algorithm were found for an NP-Complete problem, chances are it would be turned into something fairly reasonable very soon. To make my point, how many algorithms do you know of that run in O(n^2391074)? Sure, that's slow, but so is O(2^n) and yet you can probably think of an algorithm that does have a complexity of O(2^n)...

    2. Re:Oh no! by Anonymous Coward · · Score: 0

      nice porn site

  56. What you could solve...? by makkverk · · Score: 1

    If you had such an algorithm in hand, what could you do with it? It would be interesting to see how many problems we could map into the NP Complete model.

    Strictly speaking all problems where you can verify that a solution to the problem is correct (in polynomial time), could be solved by your algorithm. Or put another way: if you're able to formulate your problem in strict mathematical terms (using an IP, BIP or MIP) you should be able to solve it.

    Perhaps the most obvious thing that would happen is that all theory about P, NP, NPC and complexity in general could be thrown away. No point in describing difficult problems with strict theory if they all can be reduced and solved as simpler ones.

    1. Re:What you could solve...? by Anonymous Coward · · Score: 0

      There's more to complexity theory than P and NP. There is PSPACE (which is curiously equal to NPSPACE) EXPTIME, etc. etc.

      Proving P?=NP only bring you up one rung of the latter. There are many class containments that are not known to be proper or not (like PSPACE EXPTIME)

  57. A Karma Whoring Link... by fiftyfly · · Score: 1

    http://www.mathsoft.com/asolve/plouffe/plouffe.htm l

    --
    "Sanity is not statistical", George Orwell, "1984"
  58. np complete approximation by dollargonzo · · Score: 1

    although we cannot solve np solutions easily these days, there are many methods of approximation. some np complete problems, such as the travelling salesman problem, are easily modeled by things like the self organizing kohonen neural networks. although it does not technically find the optimal solution it is used quite widely in the real world to find a solution VERY quickly and as a VERY good approximation... i don't know much about too many other np complete problems, so i'm not sure if approximation would suffice. afaik, factoring large primes is np complete....but clearly approximation is NOT good enough.

    QED

    --
    BSD is for people who love UNIX. Linux is for those who hate Microsoft.
  59. No good submissions in the queue, huh? by Anonymous Coward · · Score: 0

    I'm sure there must be a story about Linux possibly being defamed somewhere that could have been posted instead.

  60. You're not the only one by Anonymous Coward · · Score: 0, Funny

    "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers."

    - Bill Gates, _The Road Ahead_

    1. Re:You're not the only one by Anonymous Coward · · Score: 0

      Idiots, all of you.

      13 = 2^2 * 3 + 1
      17 = 2^4 + 1
      31 = 2^5 - 1
      And so on, as you work your way towards hitting the 100 digit long numbers.

    2. Re:You're not the only one by Anonymous Coward · · Score: 1, Interesting

      tography/page-1.html for more quotations like that:)

  61. What? by Tim+C · · Score: 2

    Sorry, that was a question?

    If you could do that, publish it.

    Stuff the collateral damage, that in itself would be a major achievement.

    Sciene is not progressed by discovering things and keeping them to yourself...

    Cheers,

    Tim

    1. Re:What? by Anonymous Coward · · Score: 0
      There are two possoble outcomes to the question
      does P=NP?

      1. P != NP - Publish this result, take research position at major university and enjoy your tenure, no money to be made here.
      2. P == NP - This has MAJOR economic and social implications. Run, don't walk to your nearest patent office, get yourself a good lawyer and look for tax shelters. Best surround yourself with top rate theoreticians to ensure that people who improve extend your results are likely to be your partners. Remember Karmarkar's algorithm was AT&T's best earning patent.
  62. Misconceptions by s20451 · · Score: 4, Informative

    Firstly, an affirmative answer to the NP=P? conjecture only means that there is a solution to every NP-complete problem in P. That is, there exists a solution for every NP-complete problem that is O(n^d), where d is a constant integer. If d > 3, the solution would be practically infeasible anyway. Furthermore, even with an O(n) problem, this only means that the computational complexity approaches C*n in the limit of large n, where C is some constant. If C has to be arbitrarily large, or there exists a large constant additive factor in any potential solution, again the solution is infeasible.

    Furthermore, the security of public key cryptography does not rely on NP!=P. It is not known whether the discrete-log and integer factoring problems are in NP (I think ... correct me if that's wrong). In fact, some CS researchers believe public key cryptography to be insecure, since some brilliant person could come up with a feasible factoring algorithm tomorrow, without requiring that NP=P.

    --
    Toronto-area transit rider? Rate your ride.
    1. Re:Misconceptions by arvindn · · Score: 1

      What has to be looked at is not the complexity of decryption itself but the difference between the complexities of encryption and decryption. Public key encryption relies crucially on the assumption of a "computationally bounded adversary". If it turns out that whatever I can encrypt on my home box, someone with a bunch of supercomputers (wink, wink) can crack, then we have a problem.

    2. Re:Misconceptions by hephro · · Score: 1

      > Furthermore, the security of public key
      > cryptography does not rely on NP!=P.

      It does. The proof goes roughly like this: if I can (nondeterministically) guess the secret key, I can in polynomial time check whether I guessed the correct secret key (by using it to decrypt your message.)

      The point is that Factoring and the Discrete Log *are* known to be in NP, but not known to be NP complete (most people conjecture that they are not NP complete.) NP=P is a *much* stronger statement than Factoring in P.

      -Hein

    3. Re:Misconceptions by mj6798 · · Score: 2
      O(n^d), where d is a constant integer. If d > 3, the solution would be practically infeasible anyway.

      As is common, you are overestimating the significance of worst-case complexity, and you are assuming that "n" can get arbitrarily large. In the real world, "n" is often bounded by constraints in the real-world, and algorithms have much better average case complexities than their worst case complexities. I routinely solve problems whose worst-case complexity is O(n^8).

    4. Re:Misconceptions by skeptikos · · Score: 1
      FYI integer factoring is trivially in NP. Just
      give me the factors as certificate and I can multiply them quickly to verify they are the right
      ones. What we don't know is if factoring is NP
      complete or not. It could be in P or could be somewhere in the middle of P and NP-complete or
      maybe is NP complete.As a professor said it is a
      "serious state of ignorance".


      What we know for sure is: breaking RSA cannot be
      harder than factoring. It could be easier but
      nobody knows how to solve it. We also know factorization is not harder that NP complete problems.P=NP would mean breaking RSA is in P.

    5. Re:Misconceptions by Dr.+A.+van+Code · · Score: 1

      As is common, you are overestimating the significance of worst-case complexity, and you are assuming that "n" can get arbitrarily large. In the real world, "n" is often bounded by constraints in the real-world, and algorithms have much better average case complexities than their worst case complexities. I routinely solve problems whose worst-case complexity is O(n^8).

      But in such a world where an NP-hard encryption algorithm could be broken in polynomial time, and the worst case is n^5, and the average case is just n^2, or n log n, all I have to do is carefully choose my key to be among those that gets or at least approaches the worst case complexity of n^5.

      Of course, this would mean that current secrets could get broken, and it would require a re-evaluation of cipher systems and key choices, but P=NP would *not* necessarily imply that no symmetric ciphers, or even assymmetric ones, would be of any use anymore.

      --
      Good mfences make good neighbors.
    6. Re:Misconceptions by mj6798 · · Score: 2
      First of all, upper bounds like O(n^5) don't tell you at all whether a problem is hard or an algorithm is slow--it might still run in linear time in all cases. If you mean a worst case lower bound o(n^5), that still only tells you that some problem instances may be harder. But finding such problem instances may itself be hard, so it doesn't necessarily help you with cryptography. And worst-case lower bounds still tell you little about the existence of good practical algorithms, like randomized algorithms.

      Worst case upper bounds are good only for one thing: to prove that a problem is easy. They are useless for proving that a problem is hard.

  63. Decryption not NP-Complete, Implications of Poly by fireboy1919 · · Score: 4, Insightful

    Not all encryption schemes are NP-Complete! Most are actually just NP-Hard because you can't tell whether or not you've found the correct decryption. So, decryption schemes will not be solved even if you can convert into NP complete problems into NP problems. It will be a lot easier though.

    That polynomial can still be huge, say N^1000. Except for really large N, current exponential-time algorithms could be superior to polynomial-time ones.

    This lacks some of the insight into NP and NPC problems. We only care about the large cases for the most part. On the small scale (small being relative to the problem), exponential solutions are always easy to solve.
    There are some amazing implications of this anyway. For instance, we can solve chess (find the best possible game), and all other decidable search problems.

    Keep in mind that our computer improvements allow us to make polynomial time reductions in the amount of time that the problem takes.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
  64. Not likely to find that P=NP by BenCaxton · · Score: 1

    I wouldn't worry much about this. Almost all computer scientists believe that P != NP, and a lot of very smart people have put in a lot of time trying to show otherwise. Besides, even publishing a proof of P=NP does not mean that we can solve NP-Complete problems easily (could be huge exponents involved) and does not make encryption usless overnight.

    Besides, cryptographers would very quickly start using much larger keys and eventually move into algorithms whose keys cannot be broken by solving NP-Complete problems.

    --
    Ben
    1. Re:Not likely to find that P=NP by The+Cookie+Monster · · Score: 1, Troll

      Yes, it appears many people here seem to think the challenge is finding a P=NP solution.

      We pretty much know that P != NP, we just can't prove it, the challenge is proving P != NP, not finding a P=NP solution.

      Similarly, we know there are an infinite number of primes, just that nobody has been able to prove it.

      Saying things like "So if (when) the time comes" with regard to finding a P=NP solution is somewhat akin to saying if (when) we can finally prove that the primes are finite...

      Sure, it's somewhat fun to speculate on what the social implications might be, but why stop with P=NP, why don't we have an ask slashdot about how you would go public if (when) you discover the fountain of youth?

    2. Re:Not likely to find that P=NP by quokka70 · · Score: 1

      Similarly, we know there are an infinite number of primes, just that nobody has been able to prove it.


      You must have meant to write something else. Euclid has a simple proof that there are infinitely many primes.

      Cheers, quokka

    3. Re:Not likely to find that P=NP by mbrubeck · · Score: 2
      You must have meant to write something else. Euclid has a simple proof that there are infinitely many primes.

      The writer most likely was thinking of the famous open question, Are there an infinite number of twin primes? Twin primes are pairs of primes whose difference is 2, for example 17 & 19, or 41 & 43. It is conjectured but unproven that the twin primes are inexhaustible.

    4. Re:Not likely to find that P=NP by The+Cookie+Monster · · Score: 1

      Yup, that was the question I meant.

    5. Re:Not likely to find that P=NP by Blue+Neon+Head · · Score: 2

      Guess it's time to find that one-way function whose inverse is EXPSPACE-complete!

      Or better yet, undecidable altogether. Good luck on that one.

  65. I would put it in a blackjack chip... by Spyffe · · Score: 1

    and send it to some orbital gambling station where nobody would find it.

    --
    Sigmentation fault - core dumped
  66. How to break encryption by Virtex · · Score: 1

    I presented this once before, but here it is again. I have a formula for finding the prime factors of a number, as long as the number only has two prime factors (this is usually the case for encryption). Here it is:

    Let's say r = p * q

    p and q are positive prime integers. If we are given r, we can deduce p and q with the following:

    p = GCD(r, floor(sqrt(r))!)

    q = r/p

    GCD is the "greatest common divisor" function (quickly deducible with Euclidean math). This works because if a number only has two factors, one will be less than its square root, and the other will be larger (assuming p != q). In this case, the product of all the numbers less than the square root (the factorial) will have exactly one factor in common with r, and the GCD function will extract it. There's just one problem with this formula: for numbers as large as those used in encryption, the factorial will return a number too large to handle. But if we could find a good way to simplify the above equation without fully expanding the factorial, current encryption methods would crumble.

    BTW, there are types of encryption that use chaos theory that would still stand strong.

    --
    For every post, there is an equal and opposite re-post.
    1. Re:How to break encryption by Anonymous Coward · · Score: 0

      How fast do you think GCD is? I'm guessing SLOW.

    2. Re:How to break encryption by Anonymous Coward · · Score: 0

      This is the worst factoring algorithm I've ever heard of. This is actually WORSE than brute force. Your magical "not expanding the factorial" is the deadest of dead ends.

      Sorry for the flame, but this entire thread is insulting me.

    3. Re:How to break encryption by Anonymous Coward · · Score: 0

      GCD is linear in the number of digits, or log(MAX(M, N))

    4. Re:How to break encryption by Anonymous Coward · · Score: 0

      Funniest thing I've read today!

    5. Re:How to break encryption by Anonymous Coward · · Score: 0

      Correction: it actually depends on how fast you can perform division...

    6. Re:How to break encryption by Lagos · · Score: 1

      Knuth showed in his _Art of Computer Programming_ that the running time of GCD() is between O(n^2) and O(n). Since the factorial function is exponential, the arguments to GCD are exponential in size, and so your algorithm is exponential as well. It is no better than brute force.

      Sorry, but post this magic algorithm as much as you want. The situation isn't going to become less bleak.

    7. Re:How to break encryption by Debillitatus · · Score: 2
      I think you've actually made the problem worse. I don't know what the complexity of GCD is, but you're giving it a factorial input, which is significantly worse that exponential, because n! is asymptotically the same as n^n, which is even worse than e^n. And GCD will be at least linear in the size of its argument.

      On the other hand, you've not really done anything there. All you're roughly saying is, find the greatest common divisor of r and all numbers less than r, which is intuitively even worse than just factoring the damn thing.

      --

      Come on, give it up, that's

    8. Re:How to break encryption by Anonymous Coward · · Score: 0

      I can make this more tractable.

      The integers modulo any prime form a field, therefore if one chooses a prime larger than the result one can reduce any intermediate result modulo that prime.

      Thus:

      assert( (s > ceil(sqrt(r))) && isprime(s) );

      t = 1;

      for(i = 1; i < floor(sqrt(r)); i++)
      t = (t * i) % s;

      p = GCD(r, t);

  67. More good things by zunger · · Score: 4, Informative

    The thing we would get if someone were to find a polynomial-time algorithm for any NP-complete problem is an immediate, poly-time algorithm for every NP-complete problem. This is because the definition of NP-complete is that there is a (known) poly-time algorithm to turn any one NP-complete algorithm into any other, so just by composing these two you get them all. (I'll attach a glossary at the bottom -- most people on this list probably aren't mathematicians :)

    But OK, what does this mean realistically? The good news is that there are several very useful NP-complete problems; probably the best known (as someone has already mentioned) is the travelling salesman, and being able to do fast TS problems could mean incredible reductions in cost for shipping of goods and things like that. All sorts of problems in computer network architecture are also NP-complete; think about trying to design an internet which is both fault-tolerant and maximizing bandwidth.

    The bad news: There are two things. First of all: This does not mean encryption of any sort is broken! The heart of public-key crypto is that factorization takes exponential time (or more specifically, the discrete logarithm, which is at the heart of fast factorization, takes exp time) and so if you could do poly-time factorization, you could break various algorithms like RSA. But factorization is only conjectured to be NP-complete; there is no proof, and in particular the explicit algorithm which would be needed to use a poly-time algorithm for some other NP-complete problem for factorization isn't known. This doesn't mean it can't be done; it just means that there's one other significant step between finding such an algorithm and breaking crypto.

    The second problem is that even a poly-time algorithm isn't necessarily useful if the coefficients are large. What poly-time really means is that, in the limit of very large inputs, computation time doesn't go completely out of control; the fact that (to the best of current knowledge) factorization isn't poly is what makes adding one digit to key size enough to increase the difficulty of decryption by a factor of two. (i.e., the work increases as an exponential of the input) So this is important when you're trying to create "sufficiently large" inputs to jam up an algorithm. But for real-world problems that people are trying to solve apart from crypto, an O(N^1000) algorithm might technically be "better" than an O(e^N) algorithm but practically still be way out of reach.

    In fact, most of the interesting NP-complete problems such as travelling salesman are routinely worked on by methods which give approximate answers in fairly short time; this turns out to be more than good enough for a remarkable range of uses, which means that the advance of getting poly time wouldn't be as earth-shaking for most real-world applications.

    1. Re:More good things by hephro · · Score: 1

      > First of all: This does not mean encryption of any sort is broken!

      Yes, it does. FACTORING (or, to be more precise, its decision variant COMPOSITE) is in NP. Just nondeterministically guess a factor and verify it in polynomial time by dividing the input by the guessed factor.

      -Hein

  68. Approximate Solutions Won't Gain (Much) by Anonymous Coward · · Score: 0

    One thing to remember too, is that for many of these problems, e.g. the traveling salesman problem, approximate solutions can be computed quite quickly through various combinatorial optimization approaches. While having an exact, provable solution would be nice, if your willing to accept a "close enough" solution, having an algorithm that reduces it in polynomial time won't make much difference.

  69. Even if P == NP, not out of the woods yet by pclminion · · Score: 3, Informative
    Even if P == NP, this just means that all NP problems can be solved in polynomial time. This does not necessarily mean linear time. An algorithm of order O(n^100000000000) is polynomial time, but it certainly isn't fast.

    Even linear problems can take a long time to solve. Remember that algorithmic order represents asymptotic behavior -- how does the algorithm perform as the input size goes to infinity? A linear algorithm where each operation takes a trillion clock cycles will, in practice, be much slower than a quadratic algorithm where each operation takes only one hundred clock cycles; at least for "reasonable" input. In the real world, N does not go to infinity!

    1. Re:Even if P == NP, not out of the woods yet by Anonymous Coward · · Score: 0

      Given a quantum computer, any polynomial algorithm can be solved in constant time.

      Fast enough?

    2. Re:Even if P == NP, not out of the woods yet by addaon · · Score: 1

      "Fast enough?"

      No, it's not fast enough. That's the point. If you place some faith in humanity, /every/ problem can be solved in constant time; that is, every problem we'll ever solve, in all of humanity's history, is solved in O(1) time, if we take the constant to be the lifetime of the universe. The point is, while asymptotic behaviour gives you some very good gut feel for how easy a problem is, it's not at all hard to come up with pathological problems where this simply isn't valid.

      --

      I've had this sig for three days.
  70. My Cat's Breath Smells Like Cat Food by Anonymous Coward · · Score: 0

    NP is funny. Like N pee.

    Huh-huh!

  71. Err... No? :) by Balinares · · Score: 1

    Hmm, I think I have to clarify something here. As long as there's a key or 'shared secret' involved, decryption is an NP problem. Go check the definition: an NP problem is a yes/no question such as if the answer is 'yes', then it can be proven in polynomial time (O(n^t)). That's the case here: "Is there a key to decipher this?" can be rapidly given a positive answer once you actually do have the key. It's also most probably NP-complete, but the margin is too small for me to demonstrate it here. :) (You demonstrate that by proving a given problem is polynomially equivalent to a typical NP-complete problem such as SAT).

    --

    -- B.
    This sig does in fact not have the property it claims not to have.
  72. It's even less important than that. by Nindalf · · Score: 3, Insightful

    In real-world situations, you don't have accurate data for the cost of each link. Only approximations, built on probabilities of delays, estimates of how many packages will be ordered, etc.

    The miniscule gain of selecting the best possible path rather than just a very good path would likely be reduced to an imperceptible gain when applied to rough real-world estimates.

    There would be some extremely important consequences of P=NP, but direct application of a faster optimal solution of the Travelling Salesman problem to real-world travelling is not likely to be one of them.

  73. O(n) Solution to NP-Complete = Wow by Anonymous Coward · · Score: 0

    It would mean a linear(O(n)) solution to all NP-Complete problems. Since it's proven that any NP-Complete problem can be translated into any other NP-Complete problem(that's how you prove NP-Complete by the way) a solution in linear time to one is a solution in linear time to ALL of them.

    This would pretty much mean computers can do in linear time the most difficult problems we've found. These problems have enormous practical applications... The bin problem(filling an infinite series of 1.0 size bins with a infinite stream of fractional 0.13 0.35 0.80 pieces in an optimal fashion) can be used in an OS scheduler.. The traveling salesman problem in airline routes, etc.

    It would also tend to imply that computers can do anything humans can.

    1. Re:O(n) Solution to NP-Complete = Wow by matrix0040 · · Score: 1

      No it wouldn't imply that computers can do anything that humans can do. Firstly there were some suggestions that computers can be used to solve math thms which is NOT possible. There is no way that math can be automated. Godel proved it long ago.

  74. Dire Consequences by Matrix14 · · Score: 1

    The first thing that would happen after creating such a solution would be the FBI showing up at your door without a warrent and arresting you under the DMCA.

    1. Re:Dire Consequences by Debillitatus · · Score: 1
      The first thing that would happen after creating such a solution would be the FBI showing up at your door without a warrent and arresting you under the DMCA.

      Now that is a /. post!

      --

      Come on, give it up, that's

  75. Factoring is NP hard by Tom7 · · Score: 2, Insightful

    I'm pretty sure factoring is in NP. (The solution will be polynomial in the size of the input, and verifiable in polynomial time.) If someone were to prove P=NP, we'd have "fast" solutions to all of the problems in NP, not just the NP complete ones. (That's never gonna happen though..!)

  76. airline schedules by Anonymous Coward · · Score: 0

    in addition to optimizing the routes, the algorithm could be tweaked to make hijackings more difficult. Assign the flight numbers & routes at gate time, say. And you could even program the jets to fly straight up, sending terrorists into the lavatory. The best most ironic part is that John Ashcroft ends up funding open source!

  77. The answer is clear.... by Mr.+Neutron · · Score: 4, Funny

    Prove that it's impossible to solve NP-Complete problems in linear time, before someone figures out how to do it.

    --
    dinner: it's what's for beer
    1. Re:The answer is clear.... by sholden · · Score: 1
      Prove that it's impossible to solve NP-Complete problems in linear time, before someone figures out how to do it.

      Which can be done trivially. Just grab the nearest algorithms book, and turn to the sorting section. Assumming the book is any good there should be proof that O(NlogN) is the best you can do with a comparison-based sort - it probably raves on about decision trees and so forth.

      Since sorting unbounded integers is an algorithm in P, it is in NP (P is a subset of NP after all). Since there is no linear algorithm for this problem there can be no linear algorithm for NP-complete problems.

      Proving its impossible to solve NP-complete problems in polynomial time is a little bit harder, and left as an exercise for the reader ;)

  78. I mean, "in NP" by Tom7 · · Score: 1

    Oops, I didn't mean to say "NP Hard" in the subject line. It should say, "Factoring is in NP".

  79. Check your theory by OeLeWaPpErKe · · Score: 2, Interesting

    EVERY np complete problem can be mapped on any other (because it can be expressed in a simple logic language, and given one of the solutions you can generate any other by doing math with the solution you have). If you can calculate something that takes infinite processing power, you can calculate any other thing that requires that same amount.

    The implications would be simple yet brutal, breaking a key of 128 bits would require 128 times the amount of time to break a 1 bit key.

    There are still stronger mathematical formulae, but they must have continuous key spaces for encryption to work, if they want to defeat this, in other words, you will not only need an infinite amount of possible keys, but also an infinite amount of keys between any two given keys.

    But that's not more than normal ... you can destroy public key encryption in a simpler way ...

    The security of PKE is that you cannot easily determine the exponent of a given number. In other words given a and (a^n mod m), you cannot easily determine n. Right now there are algorithms that only work if n complies with a simple restriction. The alternative to that method is trying everything out. If some smart mind can generalise those algorithms we would have lost encryption as we know it ...

    I only know a dutch text discussing this ... "Fundamenten van de informatica" by B.Demoen

  80. NP Complete is NP Complete by redhog · · Score: 2

    "It would be interesting to see how many problems we could map into the NP Complete model."

    The point is, everything that is not NP-complete, and still computable that has been found by man to date, is NP-complete (that is, exponential; O(a^n) for some a). The definition of NP-completeness is that it, using an algorithm of polynomial complexity (or O(n^a) for some a), can be mapped onto any other NP-complete problem, and thus solved using algorithms for it.

    Thus, if an algorithm where found to solve one specific NP-complete problem in polynomial time, all of the NP-complete problems would be possible to compute in polynomial time (polynomial time to map it onto that particular problem for which we have the algorithm, plus polynomial time to solve it, and a polynom plus another is still a polynom).

    Trivia: The "standard" NP-complete problem is SAT, which is the problem of finding out if there exists assignements of truth-values (TRUE and FALSE) for the variables of a logic formula, that makes the value of the formula TRUE.

    --
    --The knowledge that you are an idiot, is what distinguishes you from one.
    1. Re:NP Complete is NP Complete by jareds · · Score: 1

      The point is, everything that is not NP-complete, and still computable that has been found by man to date, is NP-complete (that is, exponential; O(a^n) for some a).

      Huh? Everthing we know of that isn't NP-complete is NP-complete, unless it is not computable? This barely manages not to be self contradictory by implying that everything we know of that isn't NP-complete isn't computable. But this is false. Also, NP-complete isn't the same thing as exponential.

  81. LOL by Tom7 · · Score: 1, Flamebait

    If this is a troll, it's a great one. Otherwise, you are an idiot.

  82. Charles Stross short story "Antibodies" by Anonymous Coward · · Score: 0

    the Charles Stross short story "Antibodies" deals with exactly this question. It can be found in this "the years best science fiction" anthology - very good story

  83. Long Answer by PotatoMan · · Score: 1

    Some of the implications of P=NP were explored by the UK author Charles Stross in "Antibodies". You can read it in "Year's Best S.F.:18" ed. by Gardner Dozois.

  84. Re:Sex Kitten! by rebug · · Score: 0, Offtopic

    i thought the point was another goatse link

    since both the beatles and stern are total shite, the hendrix comparison seemed out of place

    --

    there's more than one way to do me.
  85. Re:Decryption not NP-Complete, Implications of Pol by roystgnr · · Score: 2

    This lacks some of the insight into NP and NPC problems. We only care about the large cases for the most part.

    How large is large? 2^128 (for brute forcing common encryption) is pretty much impossibly large, but is 128^1000 (to use the original poster's example) really an improvement?

  86. Shor's Algorithm by Anonymous Coward · · Score: 0

    Actually, there has been an NP complete problem solved in P time. Peter Shor in 1994 published an algorithm for factoring large numbers in P time using a QUANTUM algorithm, not a classical one. AFAIK, scientists have Los Alamos have also built one of these to factor the number 15 (woohoo).

    Does this mean that RSA is going to die anytime soon? Unlikely unless a breakthrough in quantum computing occurs in the short future (look at how long it took for transistors to get up to super speeds).

    Using quantum properties, there will probably be more NP complete algorithms that are found to have polynomial solutions, but it is a realitively new area, so we'll see what happens. And remember, if it's not quantum, it's crap!

    1. Re:Shor's Algorithm by MasteroftheVoxel · · Score: 2, Informative

      oh boy.

      From the perspective of theorectical computer science this means nothing. NP problems are measured by the speed they run on DETERMINISTIC *turing machines* which means traditional computers and the like. Remember that NP problems can be solved by nondeterministic turing machines in polynomial time. No one cares how long it takes on a quantum computer, because they aren't deterministic turing machines.

      And if one NP-complete problem were found to have a polynomial time solution on a deterministic turing machine we could reduce all the other NP-complete problems to this problem in polynomial time and solve them just as fast. This is how one goes about showing a problem is NP-complete

    2. Re:Shor's Algorithm by rufusdufus · · Score: 1

      Wrong. If you can cut the Gordian knot by running algorithms nondeterministically, NP=P becomes only mathemematical curiosity. In the real world, non-deterministic machines would have a much bigger impact than solving NP-complete.
      It must be noted however that a) factoring is not NP-Complete, and the best possible deterministic runtime is unknown and b) a quantum computer is no a non-determistic turing machine, although there are some apparently non-deterministic characteristics to the algorithms we do have.

  87. How optimal is optimal? by mdubinko · · Score: 1

    What if I had an algo (or heuristic) that would produce, not necessarily the best answer, but one always within 1% of optimal, all in O(n)? Would that have the same practical effect as a true solution in O(n)?

    .micah

    --
    --- Learn XForms today: http://xformsinstitute.com
  88. Factorization and NP-Complete Re:More good things by Anonymous Coward · · Score: 0

    Just one point: Whether or not Factorization is NP-Complete, a poly time solution to an NP-complete problem would imply a poly time solution to Factorization. This is because an poly time algorithm for an NP-complete problem implies poly time solutions for all NP problems: that's the definition of NP-complete and what makes that class interesting.

    NP (non-deterministic polynomial) problems are precisely those class of problems for which a non-deterministic turing machine can guess a solution and verify it in polynomial time. Thus, for question X, if an answer can be proven correct or incorrect in polynomial time, then X is in NP. Factorization is in NP since, given the correct factors of a large number, those factors can be multiplied quickly to prove they are the real factors.

  89. Infinite number of primes by Tom7 · · Score: 1

    > Similarly, we know there are an infinite number of primes, just that nobody has been able to prove it.

    Actually there are loads of proofs of this:

    http://www.utm.edu/research/primes/notes/proofs/ in finite/

    Otherwise I agree with your sentiment...

  90. uhh... FLT has been proven by Anonymous Coward · · Score: 0

    Somebody help me, but there's even a paperback book available on the story.

    1. Re:uhh... FLT has been proven by Fnkmaster · · Score: 1

      Yes it has, but the "real" proof that was finally accepted as being logically consistent and valid required the use of entire fields of mathematics that didn't exist until the 1970s or 1980s. Since we can safely assume that Fermat didn't invent all of mathematics contained between his era and that era in order to arrive at the modern proof, he likely had a different proof. It is widely believed that the "proof" he had was one of the ones that was discovered in the years after his death and eventually determined to be logically inconsistent or invalid. OR he may have had some absolutely brilliant proof that didn't require extremely complex modern math, but if so, nobody has ever found THAT PROOF.

    2. Re:uhh... FLT has been proven by spaceyhackerlady · · Score: 1

      The other possibility is that Fermat's "proof" was a proof by the standards of the day, where it was acceptable to provide a few examples to prove something. He may also have been wrong.

      Proving FLT for any particular n is straightforward. Proving it for all n is what took until the 1990s.

      ...laura

    3. Re:uhh... FLT has been proven by Anonymous Coward · · Score: 0

      You do a disservice to Fermat and his contemporaries. Providng a few examples was NOT "the standard [of proof] of the day."

  91. A slide from class by JohnZed · · Score: 3, Insightful

    So, this question came up in an algorithms class at Princeton. To the best of my memory, the slide answering it said:

    "What if P = NP?"

    "BAD:
    - Many computer scientists out of work

    GOOD:
    - Perfect societal bliss"

    The point is essentially this: verifying the value of an answer to an optimization problem (of any kind) is usually easy. But finding a better solution is usually hard (exponential). So, saying "P=NP" is equivalent to saying "Finding an optimal answer is not really harder than verifying if an answer IS optimal." So, finding the optimal design for an aircraft, the optimal routing for a network packet, the optimal anything, is not really that tough. And that wouldn't be such a bad thing for our society (though "perfect bliss" was probably an exaggeration).

    1. Re:A slide from class by Anonymous Coward · · Score: 0

      Something no one seems to have pointed out is how many problems are outside the class of NP. Even if a linear time solution to all NP-complete problems were found you still couldn't
      1.Write a program to check all your students programs from practicals.
      2.Check your program was the shortest/most efficent program for a task.
      3.Write a program to do tile your house, well kinda (see Roger Penrose).
      There are more programs outside NP then in it and a number of these would be in the achieve societal bliss area of things.

  92. AW I'd just post it on slashdot by BattyMan · · Score: 1

    and let the chips fall where they may.

    Information wants to be free.

    It wouldn't be the first time whole industries got brushed aside by advancing technology, either.

    You should have heard the way the buggy-whip consortium bitched when those damn horseless carriages came out. Man, there was gnashing of teeth.

    And the telegraph industry is now a mere shell of the monolith that it constituted before AGBell came around with his damn telephones.

    Look at the passenger train industry, if you can find it. Those Wright brothers and their damn airplanes stuck a stake into its heart.

    Do you expect me to mourn the passage of RSA when something better blows them away?

    And what about the Borg? Proprietary OS software doesn't have a prayer against Open Source Development, yet the Monopolist refuses to give up.

    I guess all these guys are to be admired for their tenacity, but you have to understand that it's their livliehood that's at stake. Of course they aren't going to give up without a fight!

    --
    Exceeding the recommended torque is not recommended.
  93. The problem y bigger !! by Jlunix · · Score: 1

    Finding prime numbers (the basement of the encryptions algorithms) is a NP problem. But it is too in the Co-NP class. This is very important, because all of the problems that were in both classes in the past are really P problem ! So... the only one problem that is at the present in both NP and Co-NP classes is the primality problem !!! Brrrr..... :)

  94. Re:Decryption not NP-Complete, Implications of Pol by zmooc · · Score: 2

    Large in this case usually means infinite:) It's all about how the function t(n) behaves where t is the time necessary to compute the value of a certain function f(n) relative to n; it's not about comparing 2^128 to 128^1000 but about comparing 2x to x^2 and 2^x to log(x). Read Herbert S. Wilf's Algorithms and Complexity if you want to know more about it. It's the book we use in school (and it's downloadable for free).

    --
    0x or or snor perron?!
  95. Re:Factorization and NP-Complete Re:More good thin by Anonymous Coward · · Score: 0

    someone mod up the parent saying why factoring IS in NP.

    The post above that says finding a solution to an NP complete problem does not affect factoring, but it does. It is a known fact that factoring is in NP. It is not known if it is NP complete.

    In other words, if you figure out how to factor fast, you can't do anything else fast necessarily. But if you figure out how to solve travelling salesman, you can solve factoring.

  96. It'd be awesome! by TheSHAD0W · · Score: 2

    A boon to traveling salesmen everywhere!

    :-)~

    1. Re:It'd be awesome! by Anonymous Coward · · Score: 0

      Wow, that's super funny. I wish you had a +2 bonus so you could annoy even MORE people with your stupid comments.

  97. Re:Just lost every shred of respect for islam by Anonymous Coward · · Score: 0

    Could you be more racist?

    Open up your eyes and get a life.

  98. Like I said by fireboy1919 · · Score: 2

    We can make polynomial improvements by getting better hardware for most problems. What we can't do is make exponential improvements. This is why it is trivial to solve most kinds of polynomial problems.

    All NP-complete problems can be considered search problems. All search problems can be parallelized.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
    1. Re:Like I said by linuxy · · Score: 1

      Technically you are confusing NP-complete problems and NP-Hard problems. An NP-Complete problem is a problem such that it given a solution it is polynomially variable, and all other problems in the class NP reduce polynomially to it. An NP complete problem is a decision problem -- we are looking at whether a clique of size k exists in a graph -- and looking for a yes/no answer. An NP-hard problem is the optomization part of that problem, actually finding the clique in the graph.

      A polynomial solution to an NP-Hard problem, obviously implies a polynomial solution to an NP-Complete problem (eg. finding polynomially a set of variables that satisfy 3-SAT, solves 3-SAT), and similary a polynomial number of aplications of a solution to an NP-complete problem can solve a polynomial problem.

    2. Re:Like I said by fireboy1919 · · Score: 2

      I'm not sure you quite understand the difference enough to understand my comments. Let me formalize the definitions for you of NPC and NP-Hard. This is taken straight from my textbook (I'm a grad student at Purdue University).

      The simplest, and main way that NP completness is proven is by showing

      1) A decision problem may be transformed in polynomial time into another NP complete problem

      2) The solution to the problem may be verified as correct or incorrect in polynomial time

      If only condition 1 may be met, then the problem is considered NP-Hard. This is what I meant when I said, "merely NP-Hard" - they haven't the ability to go the full distance towards a proof of NPC.

      The decision problem in this case is "Does this key decrypt this data?" The answer is undecidable. Hence, most decryption is NP Hard.

      Now lets look at your case. Almost all problems can be trivally converted into decision problems (and back, but I'll leave the inverse conversion to you as exercise) in polynomial time, given the proper context, including the ones you presented. The decision in the first case is "Is there a clique of size k within Graph G?" while the second (transformed into a decision problem) is "Is the maximum clique of size K in Graph G?"

      As you see from the criteria you have presented, both would be considered NPC. However, given my criteria, the first would be NPC if condition #2 is satisfied (it is), while the second would NP-hard, because you cannot prove in polynomial time that any solution is optimal.

      --
      Mod me down and I will become more powerful than you can possibly imagine!
    3. Re:Like I said by Furry+Ice · · Score: 2, Informative
      I'm sorry, but you've got your definition a bit screwed up. I'll clarify:

      A problem B is NP-complete if it satifies two conditions:

      1. B is in NP
      2. Every A in NP is polynomial time reducible to B


      An NP hard problem is one for which the second condition holds. The first does *not* need to hold. The difference between this and your definition is that the reduction goes in the other direction. You don't reduce the problem to NP-complete problems, but rather reduce NP-complete problems to the problem in question. There are NP-hard problems which are not in NP, and thus cannot be reduced to them in polynomial time.
    4. Re:Like I said by Anonymous Coward · · Score: 0
      I'm not sure you quite understand the difference enough to understand my comments. Let me formalize the definitions for you of NPC and NP-Hard. This is taken straight from my textbook (I'm a grad student at Purdue University).



      Pray, tell me what is the name of your textbook? We are considering to switch the textbook of our basic theoretical computer science course and I want to make certain that we don't accidentally choose that one as the replacement.


      if only condition 1 may be met, then the problem is considered NP-Hard. This is what I meant when I said, "merely NP-Hard" - they haven't the ability to go the full distance towards a proof of NPC.



      I would suggest that you shouldn't try to give an authoritative answer if you don't know what you are speaking about.


      A problem that is NP-hard is at least as difficult to solve than a NP-complete problem. Note the at least part. It may be much, much more.


      For example, consider the problem of checking the equivalence of two regular expressions when intersections are allowed. This problem is certainly NP-hard, but if you can find a method to check the answer in polynomial time, you will get rich beyond your wildest dreams. (The problem is O(2^2^...^n^k) where there are as many exponents as intersections).

    5. Re:Like I said by fireboy1919 · · Score: 2

      Learn to read. I've said it twice now. You even quoted me. I WAS REFERRING TO THE PROOF WHEN I SAID "MERELY NP-HARD." Does this make sense yet? Let me try again to be more clear. The proof for NP-Hardness is much easier than the proof for NPC because all you have to prove is a reduction to NPC, and not a polynomial verification of the solution. Hopefully you understand now.

      Nowhere did I say that NP-Hard was easier to solve than NP. You inferred that this is what I was saying.

      Why didn't I come right out and say that NP-Hard is at least as hard as NPC? Well, I would assume that if you were actually reading the constraints it would be obvious.

      --
      Mod me down and I will become more powerful than you can possibly imagine!
    6. Re:Like I said by fireboy1919 · · Score: 2

      You're right. I never remember which to convert to which.

      --
      Mod me down and I will become more powerful than you can possibly imagine!
  99. A more interesting question by SIGFPE · · Score: 2
    What would happen if *all* terminating algorithms could be made to run instantly?


    I'm not sure it's obvious what the answer would be. For example - would we be able to cure cancer? You might just say "simulate the whole human body and simulate throwing a googleplex different drugs at it". But in order to do that you need to have an accurate physical model - accurate down to every molecule in a person. That's still hard.


    So imagine an 'oracle' like this suddenly appeared somewhere. What impact would it have on society for the next few centuries?


    (There's also the issue of what kind of interface this device would have. Lets say it has some kind of serial port that appears to be able to respond to signals sent into it no matter how fast they are).

    --
    -- SIGFPE
  100. A proof. by Debillitatus · · Score: 3, Informative
    Similarly, we know there are an infinite number of primes, just that nobody has been able to prove it.

    Other posters have pointed out that this was proved clasically (and by classically I don't mean last century, I mean like 500BC or whenever Euclid was around), but not only is this a classically known fact, I will reproduce the simplest proof I know here:

    We will prove this by contradiction. We will assume that there are a finite number of primes, i.e. that there is a largest prime. Let's number them p_1,...,p_n.

    To show N is prime, it suffices to show that it cannot be divided by any smaller number (except for 1). Even better, it suffices to show that N cannot be divided by any smaller prime (since if a smaller number divided N, so would its prime factors). Consider the number

    N = p_1p_2...p_n + 1

    by which I mean that I multiply all of the primes together, and then add one. If I can show that this is not divisible by any of the primes, I am done. But consider what happens if I divide N by any p_k. Looking at the formula, p_k certainly divides the product evenly, so therefore if I divide N by p_k, I always get a remainder of 1.

    Thus N is not divisible by any p_k. But thus it is not divisible by any smaller number, and therefore is prime. But since N > p_n, our "largest" prime, this is obviously a contradiction. Therefore there can be no largest prime, and thus there are infinitely many.

    As I said, this proof is due to Euclid. There are many sources for this proof, and there are many other elegant proofs. There is a realtively advanced book called Proofs from the Book which gives elegant proofs to some well-known (and perhaps not so well-known) results. This is a nice little book, and, anyway, there are no fewer than six proofs that there are infinitely many primes. Not being a number theorist, I don't get all stiff about primes personally, but it's good stuff.

    --

    Come on, give it up, that's

    1. Re:A proof. by The+Cookie+Monster · · Score: 1

      My mistake, I meant infinitely many twin primes.

      That's a neat proof tho.

  101. The question has little meaning as stated... by Anonymous Coward · · Score: 0

    First of all, solutions for most NP-complete problems can be solved in much better time than exhaustive search. However, the solution of one problem does not imply the solution to any other NP problem. This is one of the important defining characteristics of NP problems: they are not related in any way to any thing, structure, or each other at all. That is why generally the only way to solve certain special NP complete problems is through a brute force search of the entire solution space which may be so large that it is impractical for such a search. An algorithmic solution that produces a solution faster than brute force search implies a structure to the problem that by definition, NP problems do not have.

    It is generally believed that all NP complete problems are also extremely difficult. In fact, you only hear about the really hard NP problems that make the entire class of problems famous. There are techniques for example that very effectively "prune" large search trees. Yes the search space can be huge and yes there is no algorithmic way to locate the exact solution, but huge portions of the search space can be disqualified from the search making finding a solution very efficient in most cases. The N-queens problem is a good exmple of this principle. On an NxN chess board, find all configurations of N queens such that no queen is in a position to take another queen in one move. For a board with even N = 15, the search space is absolutely massive. A simple minded program could take several years to solve it. There is no algorithmic solution to this problem. It is NP complete. However, much of the search space can be eliminated by simple prunings such as: any solutio n with 2 queens adjacent to one another need not be searched, etc. A well written program that takes advantage of huristics like these can solve N-queens in nearly linear time. Most NP-complete problems fall into this class.

    Apparently, there is a ratio for NP problems that can be expressed as a set of binary equations between the number of variables and the number of clauses where NP problems are truelly difficult and no known technique can reduce the search space significantly. I think it is something like 2.1:1

    I know that last part sounds assinine and I don't really understand why, but I swear I've seen run times for hundreds of variables and clauses range from a few seconds at ANY other ratio to taking hours to longer than I cared to wait for sets of equations at that ratio.

    (I took a very cool AI class last winter.)

  102. What I think you should do... by jellybear · · Score: 1

    If such a discovery were ever to be made, the only responsible course for the discoverer would be to keep the discovery a secret, and to form, as discretely as possible, a society of Custodians of the knowledge, whose task it would be to keep the O(n) solution safe. By applying their knowledge in secret beneficial ways, they could subtly steer the course of Mankind's history towards a future time when they would be sufficiently prepared to deal with the consequences of the O(n) solution.

    The organization would, of course, have to be composed of all the top computer scientists in the world, and would have to continually recruit all of those intelligent enough and close enough to coming upon the discovery on their own. On the other hand, in the classrooms, the old dogma would have to perpetuated to keep society safe from the disastrous effects of a premature disclosure.

    If--and I say IF--one of us slashdotters should stumble upon such a discovery, I should hope he would realize the Promethean significance of it, and refrain from submitting it to Taco or whomever. I have been studying and thinking about the science of Psychohistory for a long time, and have meditated profoundly over the works of Harri Sheldon. I would be glad to provide my aid in constituting the Society. And please respond via private e-mail.

  103. Somebody? by talonyx · · Score: 2

    Somebody want to explain to a non-mathematician (only in 1st year university, gentlemen) what P and NP are?
    I'll give you a cookie if you do, and undoubtably you'll get a +5 Informative.

  104. Please get your topics reviewed ... by Anonymous Coward · · Score: 0

    If NP complete problems were reduced to O(n), then that would be *FANTASTIC* -- amazing beyond belief I tell you! Because the current conjecture that NP > P >= O(n), would also mean that all *POLYNOMIAL* problems were reduced to O(n)! I.e., bubble sort could be made just as fast as quicksort!

    Guys, consult a mathematician before you blather on matters mathematical. The interesting case is if NP = P (which is not the same as O(n)). This would mean that there was some maximal polynomial at which all NP problems could be bound; which would be interesting -- the real implication being that Moore's law would eventually be able to out run a large class of interesting math problems.

    I'm not 100% sure, but I think it may mean that we can go track down Ramsey numbers using brute force as just a matter of time and compute power. And yes, cryptography in its current form would fall.

  105. you too by RelliK · · Score: 5, Insightful
    Now NP is a general class of problems that don't have a O(n^k) solution, but that's different than NP-complete.

    false.

    Definitions:

    P is a class of problems that can be decided by a deterministic turing machine in polynomial time.
    NP s a class of problems that can be decided by a non-deterministic turing machine in polynomial time. It means (literally) non-deterministic polynomial.

    A problem is NP-Complete if:
    1. It is in NP.
    2. Any other problem in NP can be reduced (read: "converted") to it in polynomial time.

    So, if a polynomial-time solution to an NP-complete problem is ever found, any other problem in NP will automatically have a polynomial-time solution. That includes most of the known algorighms.

    Oh, and just to preempt stupid replies saying "it depends on which NP-complete problem is solved" or "perhaps the problem is misclassified": read the definition again. Any problem in NP can be reduced to an NP-complete problem in polynomial time; including another NP-complete problem.

    Finally, a description of what P ?= NP question is:
    P is a subset of NP (obviously). The question is whether it is a proper subset (i.e. P is strictly smaller than NP) or P and NP are actually coincident (i.e. P = NP). The answer so far is "probably not". There is a large number of NP-complete problems and so far no one has been able to come up with an efficient (i.e. poly-time) algorithm to solve any of them. However, P = NP implies that such algorithm exists (and vice versa).

    (Stupid slashdot filter deletes less then signs)

    --
    ___
    If you think big enough, you'll never have to do it.
    1. Re:you too by Anonymous Coward · · Score: 0

      I am confussed by your post. Granted that English may not be your first language, however, for someone who proffesses mathematical knowledge, your use of the english language to espouse said knowledge, is, to say the least, quite sloppy. In fact, sloppy to a degree which renders any "mathematics" which you may have intended your post to contain quite invisible.

      For example, do you mean "...is a class..." or "...is the class..."

      Well, one can not tell from reading your fractured english!

      and so on, and so on, and so on.

      Of course, that is why math is normaly written in "natural language neutral" symbols.

      Worthless post.

      Plus, you called people stupid.

    2. Re:you too by TheMeld · · Score: 1

      A problem is NP-Complete if:
      1. It is in NP.
      2. Any other problem in NP can be reduced (read: "converted") to it in polynomial time.

      Last I heard, not all NP problems could be reduced to NP-complete. The definition for NP-complete that I've always heard is that NP-complete is a subset of NP and that all NP-complete problems can be reduced to each other (I suppose in poly time is implcit here). There are some (though not many I think) problems that are in NP but not NP-complete.

      --
      -Cheetah
    3. Re:you too by RelliK · · Score: 2
      Last I heard, not all NP problems could be reduced to NP-complete.

      You heard wrong. I suggest you take an algorithms course.

      There are some (though not many I think) problems that are in NP but not NP-complete.

      There are lots of problems that are in NP but not NP-complete. Most of the known algorithms are.

      --
      ___
      If you think big enough, you'll never have to do it.
    4. Re:you too by Anonymous Coward · · Score: 0

      You don't know what you're talking about. What you may have heard is that there are some problems which reduce to NP-complete problems, but to which NP-complete problems are not know to reduce.

      I hate it when people post mathematical stuff like this on Slashdot, because it invariably gets totally bastardized.

  106. You're All Bloody Wrong by tbo · · Score: 4, Informative

    It doesn't surprise me any more when Slashdot displays large amounts of ignorance about non-computer topics, but I expected better for something like this. I've been skimming through the +2 and higher comments, and not a single poster has defined NP-complete correctly (this may have changed by the time you read this, but it was true when there were >50 comments at 2 or above).

    Here's the correct definition of NP-complete:
    To be in NP-complete, a problem must be in NP--that is, it must be a concrete decision problem, and have a polynomial-time verification algorithm (i.e., if somebody hands you a solution to the problem, you can verify that it's correct in polynomial time). Furthermore, there must be a polynomial-time mapping from every problem in NP (not just NP-complete) to your problem.

    My source for this is Introduction to Algorithms, by Cormen, Leiserson, and Rivest (yes, that's THE Rivest of cryptography fame), which is part of the MIT Electrical Engineering and Computer Science Series.

    Now, some people have been getting confused and saying that being in NP-complete only requires there to be a polynomial-time mapping from every problem in NP. This is an understandable mistake, since the way one usually proves a problem is in NP-complete is by finding a polynomial-time mapping from one NP-complete problem to the problem of interest (which must already have been shown to be in NP). However, since you already know that there are polynomial-time mappings from every problem in NP to the NP-complete problem, there is thus also a polynomial-time mapping from every problem in NP to your problem. The difference here is that efficiently solving an NP-complete problem means you can efficiently solve all NP problems, not just the other NP-complete ones.

    The second big error--the one that boggles my mind--is that the poster seems to have confused O(n), which is linear time, with polynomial time. True, O(n) implies polynomial running time, but polynomial-time does not necessarily imply O(n)--you could have O(n^2), O(n^3)...

    The third mistake is the implications of any polynomial-time solution to an NP-complete problem--even if it is O(n^1000). A few people here are claiming a polynomial-time solution would be irrelevant if the order of the polynomial was large (giving O(n^1000) as an example of large). For moderately large inputs (and we're really not talking that large), O(n^1000) is better than O(e^n). Taking the example of O(n^1000), n only has to be greater than 10,000 for O(n^1000) to beat O(e^n). Exponentials grow fast, people.

    Finally, getting to implications, any polynomial-time solution to any NP-complete problem would instantly destroy public-key cryptography. Even if everybody immediately switched cryptosystems, the implications would be staggering, because someone could have archived all sorts of encrypted transactions, the contents of which are still sensitive. My understanding is that prime factorization is in NP, but not in NP-complete (not that this matters too much, as I explained earlier). Not sure about the math other forms of PK crypto are based on, but I suspect it's also NP.

    On the plus side, protein folding simulation is suspected to be in NP (this may have been proven--not sure). If you could do protein folding simulations efficiently, it would make finding a cure to most diseases a hell of a lot easier (and we'd finally be able to figure out what the hell the human genome means).

    1. Re:You're All Bloody Wrong by jclip · · Score: 2, Informative

      This is the only person thus far who knows what he/she is talking about. Everyone else should RTFFAQ and mod this up.

    2. Re:You're All Bloody Wrong by e_lehman · · Score: 2

      A few people here are claiming a polynomial-time solution would be irrelevant if the order of the polynomial was large (giving O(n^1000) as an example of large). For moderately large inputs (and we're really not talking that large), O(n^1000) is better than O(e^n). Taking the example of O(n^1000), n only has to be greater than 10,000 for O(n^1000) to beat O(e^n). Exponentials grow fast, people.

      But 10,000^1000 is a four thousand digit number! So this is not a meaningful demonstration of the superiority of polynomial time vs. exponential time. A running time of n^1000 is impractical even for n = 2-- that gives a three hundred digit number.

    3. Re:You're All Bloody Wrong by ponos · · Score: 1



      Protein folding is studied using various
      models that try to mimic the actual
      molecular interactions.

      At least one of these models (a very simple
      one!) has been proven to be NP-complete by
      Christos Papadimitriou and others (check it
      out at xxx.lanl.gov (?)).

      Possibly some other model could accurately
      solve the problem without requiring O(a^N)
      time but no one has yet found it.

      Petros

  107. Clarification by tbo · · Score: 2

    Pardon me, the fourth paragraph should read:

    Now, some people have been getting confused and saying that being in NP-complete only requires there to be a polynomial-time mapping from every problem in NP-complete, and that it does not imply a mapping from NP in general....

  108. programming is NP-complete by bob_jenkins · · Score: 1

    The question, "Is there a program of length n that passes this test suite in polynomial time?" is NP-complete. Algorithm: guess the program, then run it through the test suite. I believe an O(n) algorithm for that would make mighty big changes to computer science.

  109. Re:Decryption not NP-Complete, Implications of Pol by undecidable · · Score: 1

    For instance, we can solve chess (find the best possible game), and all other decidable search problems.
    Can you rephrase this? It sounds like you are saying that we can/could determine the best moves in chess.

    --
    "The only rights you have are the rights you are willing to fight for."
  110. Re:Decryption not NP-Complete, Implications of Pol by Daniel · · Score: 2

    Large in this case usually means infinite:)

    Yes, I'm sure the previous poster knew that.

    The asymptotic performance of an algorithm is not everything; if you actually want to use it, constants matter too. (ask your algorithms teacher why everyone isn't using the linear-time mediant algorithm for their quicksorts, for instance)

    The point the previous poster was making (which I will remain agnostic on) is that if someone manages (heh) to prove that P=NP, solving a given NP-complete problem might have such a large constant or (worse) exponent that for PRACTICAL PURPOSES it doesn't allow us to do anything new.

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  111. huh! by Anonymous Coward · · Score: 0

    E = MC2

  112. NP is Optimization by chiguy · · Score: 5, Informative
    P=NP only means NP-complete problems are solvable in polynomial time O(n^t) where t is some constant (possibly very large constant).

    The simplest problem to understand in NP space is optimization. EVERY optimization problem is NP-complete. If you want to find the shortest route to visit every city in the US, this is an optimization problem.

    What a problem being in NP-complete space means is that if you can solve one problem in the space, you can solve all problems in that space (by transforming the other problems to look like the solved problem and then solving that).

    So if you prove P=NP, then you can solve optimization problems in polynomial time O(n^t). Pick a problem where you could say "I wonder what the fastest/shortest/lightest way of doing this is?" and you could solve it in O(n^t).

    4 caveats/common misconceptions:

    O(n^t) could be very VERY large. n^237203 still takes a very long time.

    As far as I know, encryption algorithms are NOT KNOWN to be NP-complete. So it's UNKNOWN what proving P=NP means to the encryption world.

    People who say P=NP is not provable aren't conveying the situation. The situation is that it is UNKNOWN if P=NP or not. They don't know the answer.

    There are problems that do not fall into NP-complete class. There are NP problems that are not complete. There are (provably) problems that cannot be solved. So P=NP doesn't really act as a cycle multiplier (you don't just get more pure computation), it just gives you another trick in your bag.

    So my answer for what happens if P=NP is proven: Everything in the world gets cheaper.

    --
    passetspike!
    1. Re:NP is Optimization by Anonymous Coward · · Score: 4, Informative

      Ummm. maybe you have a peculiar definition of optimization, but some optimization problems are not NP-complete. For example:

      shortest-path on a graph
      matrix chain multiplication
      polygon triangulation
      Huffman encoding

      I could go on, but I won't.

      GS

    2. Re:NP is Optimization by Anonymous Coward · · Score: 0
      O(n^t) could be very VERY large. n^237203 still takes a very long time.

      Yes, in theory. But in practice things don't tend to work that way. The vast majority of known polynomial-time solvable problems can be solved in cubic, quadratic, or linear times (or less). Rarely does the exponent get larger than 3. While it is theoretically possible that you would need a very large exponent for a solution to a given problem, it is considered very unlikely that such problems exist

      So it's UNKNOWN what proving P=NP means to the encryption world.

      Not so. It has been proven that if P=NP, then encryption is impossible except for one-time pad symmetric ciphers. Public-key cryptography would be dead in the water.

      As you mentioned, our current cryptographic methods are not known to be secure. But if P=NP, then we can be certain they are not secure.

      People who say P=NP is not provable aren't conveying the situation.

      You're right, but it may not be provable one way or the other. Some people have postulated that P=NP can never be proven or disproven (more to the point: it may be false, but not provably false). But people postulate that whenever there is a difficult open problem, it seems. Ever since Goedel, math has never been the same... (sigh)

      There are NP problems that are not complete. There are (provably) problems that cannot be solved.

      That's right. There are classes beyond NP that are known to be not solvable in polynomial time (PSPACE and EXP, for example). They are less important, but still good for study. Many games are known to be PSPACE-complete. It was proven a few years ago that NPSPACE=PSPACE, which not many people expected. That was sort of the space equivalent of P=NP (space instead of time).

      So my answer for what happens if P=NP is proven: Everything in the world gets cheaper.

      Except security, which becomes horrendously more expensive.

    3. Re:NP is Optimization by Anonymous Coward · · Score: 0


      He's talking about combinatorial optimization. Integer programming and the like. The TSP is an example of an integer program, all of which are known to be NP-complete.

    4. Re:NP is Optimization by rvaniwaa · · Score: 1
      EVERY optimization problem is NP-complete.


      This is absolutely false. Linear programming which is solving systems like max sum(a_i*x_i) subject to the constraint Ax > b where A is a matrix and x and b are vectors is solvable in polynomial time. There are many algorithms for solving these problems which are polynomial although the most common technique is NP-complete (but usually solves quickly)

      --
      main(i){(10-putchar(((25208>>3*(i+=3))&7)+(i ?i-4?100:65:10)))?main(i-4):i;}
    5. Re:NP is Optimization by Anonymous Coward · · Score: 0
      I hate to be nitpicky, but:
      There are many algorithms for solving these problems which are polynomial although the most common technique is NP-complete (but usually solves quickly)

      There is no such thing as an NP-complete algorithm. NP is a class of problems, algorithms are not in NP and cannot be NP-complete.

      What you mean is the most common technique (the Simplex Method) runs in exponential time, but usually solves quickly.

      To be fair, I think the original comment was referring to integer programming problems, which are NP-hard.

    6. Re:NP is Optimization by Anonymous Coward · · Score: 0

      Although there are methods of solving linear programming problems in polynomial time too (unfortunately, polynomial in both the size [read: length of the encoding] of the input and magnitude of the input's values)...

      I'm referring, of course, to interior point algorithms. Think "ellipsoid method," and there are other faster varieties.

      It's still unclear, I believe, whether there are strongly polynomial (poly only in the size of the input, not the magnitude) methods for solving linear programming problems...

    7. Re:NP is Optimization by Isle · · Score: 1

      I hate to be nitpicky, but: :-)

      There is a definition for NP-completenes. And NP is a superset of P (or equal). The NP-complete problems though has not been proven to be distinct of P.

    8. Re:NP is Optimization by Isle · · Score: 1
      EVERY optimization problem is NP-complete



      Depends on what you call optimizations, there are problems harder than NP-complete, NP-hard problems comes to mind. And NP-hard includes problemes that are not even NP (takes longer than expontential time).

    9. Re:NP is Optimization by Dr.+A.+van+Code · · Score: 1

      O(n^t) could be very VERY large. ...

      Yes, in theory. But in practice things don't tend to work that way. The vast majority of known polynomial-time solvable problems can be solved in cubic, quadratic, or linear times (or less). Rarely does the exponent get larger than 3. While it is theoretically possible that you would need a very large exponent for a solution to a given problem, it is considered very unlikely that such problems exist.

      The assumption here is that the putative polynomial-time algorithm for some current NP problem would tend to look like current algorithms for current P-time problems. What if (part of) the reason we haven't found P-time algorithms for these NP problems is that the solutions to them differ qualitatively from the algorithms we now know? Maybe when (if) we find these algorithms, they will characteristically have polynomials of higher orders; 5th, 8th, 23rd, 42nd, or, as the writer you were responding to suggested, 237,203rd order.

      Even if the situation turned out to be as you suggest, you acknowledged that the degree of the polynomial rarely gets above 3. Well, that means that occasionally it does get above 3. An algorithm that had a worst case running time of O(n^4) could make a decent encryption algorithm IF I can choose a key that gets me near that worst-case performance (the typical running time may be significantly less, but I can take all the care I want in picking a good key), and IF I pick a nice, long key (say, 3072 bits rather than 128 bits). That also means I have to have a model that lets me predict which keys get me close to that worst-case time, because we now have an algorithm with a large (maybe enormous) class of weak keys.

      This would be bad, but it would not automatically relegate us to one time pads.

      --
      Good mfences make good neighbors.
    10. Re:NP is Optimization by Anonymous Coward · · Score: 0

      It's certainly true that integer programming is NP complete, but lots of optimization problems are just linear programming (no integers), which is P.

    11. Re:NP is Optimization by Anonymous Coward · · Score: 0

      This is true. The fact that it's hard to comprehend a problem that would require such a ridiculously complex algorithm doesn't mean such problems don't exist.

      But it would still make security much weaker and more expensive. You're right that it may have results like requiring us to use 3072 bits instead of 128. But could you imagine how long it would take to encrypt and decrypt using a 3072 bit key?

      That's the nice thing about exponential time. Increasing the cost of encrypting and decrypting by a constant amount (like 128 bit to 129 bits) will cause the adversary to have a multiplicative increase in the time he needs to break it (x2).

      Polynomial time cracking algorithms would significantly reduce this advantage.

  113. MOD PARENT UP (NT) by Anonymous Coward · · Score: 0

    Pure Gold!

  114. Answering the actual question by William+Tanksley · · Score: 5, Insightful

    It's interesting how most of the answers here fail to look at the actual question. The question wasn't so much, "what will break;" the question was, "what should one do."

    Although it's interesting and even essential to review what parts of computer science or our economy would be toppled by such a discovery, doing so doesn't answer the question.

    Let me rephrase the question for any who missed it: "Suppose you discover that P=NP. What is the right thing to do?" Do I cover it up, or do I release? What if I proved that P=NP, but I don't know of an algorithm to actually convert any known problem? Or, what if I did know the algorithm and the proof, and I believed that the algorithm couldn't be reconstructed from the proof -- should I release the proof?

    This is a powerful question!

    My feeling is that the truth should be known, but experience shows that information without knowledge, and knowledge without understanding, can be deadly. (I'm afraid you can't affect whether people will get understanding without wisdom, so we'll stop the natural progression before we reach that point.) A little survey of the literature (please see the other posts here; they've got GREAT info) shows that the practical benefits of this discovery would be IMMENSE. The drawbacks seem huge, too; but if a particular algorithm has become easier to destroy, so also do new algorithms open up. Look around -- identify as many existing things which are harmed by your discovery, and try to provide a discussion of how to recover from the harm.

    Even if you're not altruistic you want to do this; the person who is most essential in the new world isn't the person who discovered the info, since once the secret's out it's not under his control; it's the person on whom people are depending. Be that person -- but don't be selfish about it. Too selfish ruins the game too; there's always someone with enough power to take your position away from you.

    So that's my knee-jerk answer, with a bit of reasoning: research the discovery, find who it hurts, and prepare to help them. Then make it public.

    There's another question which is implied by the first one: to whom do I release info about my discovery? I can't answer that. Does anyone have an answer? I can say that you'll HAVE to release some information before you're ready to release it all; for example, you might want to found a corporation, and you'll almost certainly need library assistance. What can I say about that? Pick people you can trust, and don't trust them with too much.

    -Billy

    1. Re:Answering the actual question by linuxy · · Score: 1

      I'm not quite sure I follow all of your logic here. If you have shown that you have a polynomial algorithm that solves an NP-complete problem you have proven that P=NP. Your algorithm is the proof. P=NP iff there exists a polynomial time algorithm to solve an np-complete problem in polynomial time. There may be a way to prove it that doesn't imply an algorithm, but I'd be impressed if I saw it...

      A problem is NP-complete iff it is in NP, and all problems in NP are polynomial reducable to it. Thus is you solve one NP-complete problem, you have polynomial solved any problem in NP. Now, the coefficients may be very large, especially when you start multiplying things together as you do reductions, and you're also probably increasing the size considerably (think of the reduction from 3-SAT, to 3 coloring), so it's not necessarily very convenient to do this.

      P=NP, or P!=NP is an important theoretical result, as much as it is a practical one. In fact, it's probably very unlikely that we'd be able to find efficient algorithms to solve any of the NP-complete problems any time soon even if P=NP were proven. However it would mean that we not only have a polynomial solution to these problems, but also to the optomization versions -- the NP-Hard problems, which is more what we're worried about when we talk about things such as factoring numbers, or finding set-partitions. NP-complete problems are just decision (yes, no) problems. .

      As far as proving it -- if you do it, go ahead and publish! It's an important theoretical result, probably far more important in theory than it is in practice for now. If people just hoarded their discoveries we'd never have seen the advancement in the area. Heck, if Cook hadn't released his work, we'd probably not be arguing about this now. . .

    2. Re:Answering the actual question by Furry+Ice · · Score: 1

      Oh no! More confusion! Proving that P = NP would not necessarily mean that NP-hard problems could be solved in polynomial time. Every problem in NP can be reduced polynomially to an NP-hard problem, but the converse is not true. Not every NP-hard problem is in NP.

    3. Re:Answering the actual question by LazyDawg · · Score: 3, Insightful

      >Let me rephrase the question for any who missed it: "Suppose you discover
      >that P=NP. What is the right thing to do?" Do I cover it up, or do I release?
      >What if I proved that P=NP, but I don't know of an algorithm to actually
      >convert any known problem? Or, what if I did know the algorithm and the
      >proof, and I believed that the algorithm couldn't be reconstructed from the
      >proof -- should I release the proof?

      The question of whether or not such a world-altering technology would "make it into the wrong hands" is easy to avoid if you get this world-altering technology into *everyone's* hands, all at once.

      For example, if you showed someone 50 years ago a PC from nowadays, they'd be like "Oh my god I could take over the world with this thing!" and possibly make a huge fortune. If, however, you gave one computer to every one of the billion people living back then, and showed them exactly how to manufacture more, they'd be like, "Oh, a new, faster, cheaper computer. So what?"

      So, if you ever find that P=NP, spam EVERYONE with the solution. That way the "wrong hands" and the "right hands" think its a pretty commonplace thing.

      --
      "Look at me, I invented the stove!" -- Ben Franklin
    4. Re:Answering the actual question by hephro · · Score: 1

      > What if I proved that P=NP, but I don't know of an algorithm to actually convert any known problem?

      That cannot happen. If you guarantee me that P=NP, I can give you a polynomial-time algorithm for any NP-complete problem L: enumerate all Turing machines; simulate the first one for one step, then the first two for two steps, then the first three for three steps and so on. Whenever one machine produces an output, check in polynomial time whether it is a witness for the input being in L. Now, if P=NP, there exists a polynomial-time algorithm that always produces a correct witness, and you will simulate after having simulated a finite number of bogus Turing machines. This only gives you finite overhead and a polynomial time algorithm in total.

      Not very efficient, but polynomial time.

      -Hein

    5. Re:Answering the actual question by William+Tanksley · · Score: 2

      When you say "all Turing machines" I assume you mean "all algorithms", of course.

      Yes, that's the canonical P=NP solution. It's also completely useless (it may not even be implementable), thus bringing us back to my original point.

      -Billy

    6. Re:Answering the actual question by William+Tanksley · · Score: 2

      I'm puzzled by your answer, since it seems you do follow my logic quite well -- you state very clearly that "it's unlikely that we'd be able to find efficient algorithms ... even if P=NP were known."

      So go back to my post and read it that way:

      1. I know an efficient algorithm, thereby proving P=NP.
      2. I know a proof but no algorithm.
      3. I know both a proof and an algorithm, and the algorithm can't plausibly be derived from the proof (I probably used the algorithm to derive the proof).

      What do you do?

      -Billy

    7. Re:Answering the actual question by Misagon · · Score: 1
      The question of whether or not such a world-altering technology would "make it into the wrong hands" is easy to avoid if you get this world-altering technology into *everyone's* hands, all at once.
      You would get a race between software vendors and crackers to fix/exploit the discovery. It is quite common for crackers to be first when security holes are found. You should also have in mind that many machines are never patched.

      What I would do if I had cracked RSA would be to publish a proof of the finding (say, the md5 checksum to the answer to the RSA Factoring Challenge) in a public forum (say, news:sci.crypt). My post would be anonymous, but together with an message, encrypted using a symmetric encryption algorithm. A year after that, I would publish the algorithm in the same forum, and a year after that I would publish my name together with the decryption key to my secret message from the first post. This way, most systems using the algorithm would have had time to be phased out, the algorithm would have been published, I would get the credit and the risk of being gunned down by any disgruntled computer security expert would have been somewhat reduced.

      --
      "We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
    8. Re:Answering the actual question by plaa · · Score: 2

      Let me rephrase the question for any who missed it: "Suppose you discover that P=NP. What is the right thing to do?" Do I cover it up, or do I release? What if I proved that P=NP, but I don't know of an algorithm to actually convert any known problem? Or, what if I did know the algorithm and the proof, and I believed that the algorithm couldn't be reconstructed from the proof -- should I release the proof?

      This is definately a problematic question, one which I have also pondered often. As one reply says "spam everybody with it". Would this be a good solution? If you have an algorithm for it, or if one can be easily made from the proof, it would ruin most Internet security overnight. Would you want to cause certain chaos on the 'net, not to mention the financial consequenses (think every single bank's net-service vulnerable...)?

      On the other hand, I don't think it would be right to keep it secret, because of the scientific value and because sooner or later it would be discovered.

      But how can you prepare the world for such a blow? Obviously you would need to tell some people about it so preparations could be made. But to whom?

      You could, of course, publicly announce that "I can prove that P=NP" and give a demonstration to some reputable people that you can solve difficult problems in reasonable time (assuming you have a working implementation). How long do you think it would take before the NSA is knocking at your door with shotguns?

      --

      I doubt, therefore I may be.
  115. Who says its not already found... by Anonymous Coward · · Score: 0

    Just because something is not known by everyone else, does not mean that someone one(or government) hasn't already figured it out and keeping it all to themselves.

  116. Proof would probably mean... by Spinality · · Score: 1

    ...that the original classification as NP-complete was wrong. "We thought we had a hard problem, but we were wrong." This would typically mean that the original paper had a bad proof -- not an unknown event. Another possibility is that a hard general case has a much easier special case, and the special case maps usefully to real-world problem sets. Again, not an unknown event (perhaps a good description of fluid dynamics -- impossible theory but useful praxis).

    So while you're absolutely right at the mathematical end (and there were too many pseudo-conclusions posted here, no surprise), from a practical standpoint the question is valid: what if it turns out that there is an easy solution to a hard problem, a problem whose hardness we had viewed as a practical limit? (And this isn't a mathematical or CS problem, but a political issue.) I suppose this interesting question was just phrased in "look how smart I am" terms.

    --
    -- We all have enough strength to endure the misfortunes of other people. La Rochefoucauld
    1. Re:Proof would probably mean... by tbo · · Score: 2

      No, a proof would not imply that the original classification as NP-complete was wrong (I assume you mean a proof that NP = P, which would likely take the form of finding a polynomial-time algorithm for an NP-complete problem). Re-read my definition of NP and NP-complete, and you'll see that nowhere do I state that an NP problem must not have a polynomial-time solution. The only additional requirement on NP-complete (as compared with NP) is that there exist a polynomial-time mapping from every problem in NP to that problem. Nothing requires that NP or NP-complete problems be "hard".

      There's also no requirement that they be "easy", and, since nobody has found an "easy" NP-complete problem, we suppose (without any strong theoretical reason to do so) that NP != P. Now, we already know that P is contained in NP. If somebody were to find an "easy" solution to an NP-complete problem, it would mean that NP=P. NP-complete would still be a valid classification, although it wouldn't be nearly as interesting anymore (who cares if a problem is NP-complete if NP=P?).

      In short, proving that NP=P wouldn't mean anybody screwed up (except all those suckers who trusted their secrets to crypto based on an unproven hypothesis).

      The question itself, which was poorly phrased by the poster, is definitely very interesting, and is actually closely related to the subject of a talk I plan to give next year at the Canadian Undergraduate Physics Conference in Halifax.

  117. P does = NP by Anonymous Coward · · Score: 0

    P=NP if P = 0 or N = 1, right? Maybe I'm missing something?

  118. Not as unrealistic as it might seem by internic · · Score: 1

    Given advances in alternate methods of computing, such as quantum computing, NMR computing (ensamble quantum computing), and DNA computing, to name a few, there is good reason to consider such a question.

    It is also ironic that the examples of unsolved problems given may certaintly at one time have been considered intractable, but several have now been decided. Similarly, although it is not obvious now how to do it, it does not seem too incredible that it could be solved in the not-too-distant future.

    --
    "You call it a new way of thinking; I call it regression to ignorance!" -- Operation Ivy
    1. Re:Not as unrealistic as it might seem by jawtheshark · · Score: 1
      I don't know if you realise what you are saying: NP-completeness has nothing to do with the computing power of a calculating method. It is intrinsic to an algorithm.
      The calculations you describe (well, I only know about DNA and quantum computing) are massively parrallel and non-deterministic. That is what the N in NP stands for "Nondeterministic Polynomial (time)", this means, using a non-deterministic calculation method it alread is Polynomial time. So what you describe effectively avoids the NP problem.

      Look, it's been a while I had these classes so I might be wrong on some points...but as far as I remember this is right. Feel free to correct me.

      --
      Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    2. Re:Not as unrealistic as it might seem by internic · · Score: 1

      I think that is essentially true, but the point is that it would allow such problems to be solved efficiently; thus, we would have to think about the consequences, so I think the tone of the parent post, dismissing this as a pipe-dream, is unwarrented.

      --
      "You call it a new way of thinking; I call it regression to ignorance!" -- Operation Ivy
    3. Re:Not as unrealistic as it might seem by jawtheshark · · Score: 1
      I didn't say it was a pipe-dream, you shoudn't twist my words that way. I do realize that more computing power results in faster cracking of ciphers. The discussion *then* is about the computing power of the machine, not about the NP character of the problem.
      Given an infinitely fast computer with infinite memory any NP problem will be solved in no-time. Since neither is possible, we have to work with approximations of "infinity" which are of course finite, so automatically the calculating time will be longer. So assume you can break a 1024bit key in 1 second because you have more computing power, not because you have found a "better way to solve". No problem, I'll use a 1024^1024 key instead, and you will have a big problem again because your super-fast computer has become slow again. It's that simple. The point is, if you find a way to solve an NP problem *always* in 1 second (or a "short" time), then *I* to have a problem because my cipher has become useless.

      The thing that the grand-parent poster did ignore, is the fact that speed of computation linked to a certain machine has nothing to do with complexity of algorithms. Since we are talking complexity in this thread, the remark looked quite clueless. I'm sorry if you don't feel that way.

      One point I might add, is that the massively parallel methods like DNA and Quantum computing do circumvent the problem. Assume that checking a certain key takes only one second (heck, it would be fast because it's called "Decoding") and you try all possible keys *at once* (which DNA and Quantum computer do), it would take just 1 second to decipher it. My point is: this is the non-deterministic part of NP, if you go massively parallel, you have no problem with NP.

      --
      Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
  119. Most block ciphers are no harder than NP-complete by nickovs · · Score: 2, Informative

    NP problems are, loosely, problems for which you can check that the solution you have is correct in a time that is a polynomial function of the size of the problem. NP-Complete problems are problems that can be converted, in polynomial time, to the boolean satisfiability problem, and the answer to the resulting problem can be converted back in polynomial time.

    Given a plaintext/ciphertext pair most block ciphers can be written as boolean equations that are satified by the correct key (you may need more than one pair to be sure that there is only one answer). Thus, if NPC=P then most block ciphers can be broken in a time that is polynomial in the key length.

    Of course the order of the polynoial may be so high that you don't care that much, and indeed is the order is greater than the key length then it's no better than exponential time :-)

    --
    If intelligent life is too complex to evolve on its own, who designed God?
  120. Sci-Fi by the+eric+conspiracy · · Score: 2

    Interestingly this was the premise of a story published in Analog Science Fiction earlier this year. The end result in the story was a not so nice form of AI made possible by the use of more efficient algorithms. Parts of the story also referred to some of the poster's concepts of failed cryptography, etc.

    I wonder if the poster was 'inspired' by this story?

  121. "What if..." answered by theoretician by Anonymous Coward · · Score: 0

    Actually, a theoretical computer scientist (Russell Impagliazzo) has already sort of answered the "What if..." question in this paper. It's an interesting paper and the "what if" portions shouldn't be too hard to read, even for those without complexity theory backgrounds.

  122. NP Hard=/= NP Complete by matrix0040 · · Score: 2, Insightful

    NP hard problems will not be affected. The TSP and all the optimization problems are NP hard. NP complete means the solution can be checked in polynomial time, which is not true for optimization problems. Also factroring primes is not NP complete as there is no polynomial time algorithm yet to check if a number is prime.

    1. Re:NP Hard=/= NP Complete by jareds · · Score: 2

      NP hard problems will not be affected. The TSP and all the optimization problems are NP hard. NP complete means the solution can be checked in polynomial time, which is not true for optimization problems.

      You're simply wrong.

      First, all NP-complete problems are NP-hard by definition. A problem is NP-hard if every problem in NP is reducible to it in polynomial time. A problem is NP-complete if it is NP-hard and it is in NP.

      Second, TSP is a classic NP-complete problem. Formally, the problem is: given a weighted graph and a cost k, is there a Hamiltonian path with cost at most k? To verify the solution, you just take the path as the certificate, and verification is trivial: add up the cost of the path, check that it's not more than k, and check that the path is Hamiltonian.

      Also factroring primes is not NP complete as there is no polynomial time algorithm yet to check if a number is prime.

      (Insert obligatory comment about factoring primes here.)

      Usually, the goal isn't to find the prime factorization of the input, but to find any factors at all. This is certainly true in cryptography, for example. In this case, verification is just multiplication, which is of course polynomial.

  123. what would i do with a solution to.... by stak · · Score: 0, Troll

    Two women at the same time.

  124. Flip of a coin by GrEp · · Score: 2

    I was at an interesting seminar today where one of my professors was talking about how P=NP seems to pop up in a lot of areas. The most intersting thing is that we can solve many NP problems in almost guarenteed polynomial time by using random techniques. As pseudorandom generators evolve we are able to generate numbers almost totaly random to the computation at hand.

    The question may not be does P=NP, but are problems solvable in polynomal time in the same class as problems that can be solved using random methods, a class called BPP(Bounded-error Probabilistic Polynomial).

    --

    bash-2.04$
    bash-2.04$yes "Don't you hate dialup connections?"| write USERNAME
  125. NP Complete by Anonymous Coward · · Score: 0

    Is a NP complete solution sometihg I can do on my linus beowulf cluster? If so I can stop runnnig my favorite game of Doom, and devote some of my cluster boxes to this problem instead.

  126. Encryption and NP-Completeness by Anonymous Coward · · Score: 1, Interesting

    A few theory things to clear up:

    1) Completeness. A polynomial solution to any NP-Complete problem would mean that there would then be a polynomial solution to *all* problems in NP, i.e. that P=NP. This does in fact mean that the usual problems we assume to be superpolynomial for encryption purposes (i.e. factoring, discrete log) would have polynomial solutions, since they are in NP, though not believed to be NP-complete.

    To check whether a decision problem is in NP, simply find a polynomial-length "hint" with which you can solve the problem in polynomial time if the answer is yes. For instance, satisfiability is in NP because a satisfying truth assignment allows you to check quite quickly that a formula is satisfiable. Discrete log is also easily seen to have such a hint (i.e. if you're told the discrete log, you can check quite easily that it actually is by exponentiating). Factoring is harder to show in NP, but possible.

    2) Complexity measures for numbers. While we usually think of numbers having their own sizes (2 is bigger than 3, etc), when we talk about the inputs to algorithms being numbers, for compleixty purposes, we usually want to think of their size as being their length in binary digits rather than their size, since numbers get harder to deal with for addition, multiplication, etc. as their length increases (adding any two digit numbers is pretty much the same difficulty compared to adding three digit ones). So while we can factor n in time o(\sqrt n) by brute force, we really want to do it in time O((log n)^t) for some constant t. This is what would constitute a polynomial time solution here.

    3) Large exponents. It is absolutely true that P=NP would only mean that there was a polynomial solution to factoring; this could still have a huge exponent and still be really slow. But I assume that the original poster was interested in the potential for a fast solution.

    Assuming a fast solution to an NP-complete problem, yes, lots of public-key cryptography would break badly (much symmetric key would still be as safe as ever). The responsible thing to do would probably be to announce the solution with some lead time, after making arrangements for your own safety until the solution could be published widely. Though if it were actually satisfiability that we could do quickly, rather than just factoring, there would be lots of other interesting things you could do (solve many engineering optimization problems quickly, for instance, and use computers to prove most mathematical theorems fast...)

    1. Re:Encryption and NP-Completeness by Anonymous Coward · · Score: 1, Interesting

      If there is a fast solution to an NP-Complete problem, then symmetric key cryptography is completely breakable. Guess the key and check if you're right. In general modern cryptography based on intractability assumptions (and not information theory) does not exist if P=NP.

  127. Traveling Salesman Solution! by 3seas · · Score: 0, Offtopic

    If in Atlanta during rush hour on a bad traffic day.....

    The Answer is to get out of the car and start walking, unless you are lucky enough to have one of them Segways. Then you can fall you way there, and there and there.

    That compaired to having stayed in your car.... You did better then NP complete.

  128. Re:Decryption not NP-Complete, Implications of Pol by roystgnr · · Score: 2

    Large in this case usually means infinite

    It's always easy to tell who's getting their CS degree and heading off to the workforce... and who's headed off to never-never land for their Ph.D. Large in this case usually means 128 bits. Really. I know about asymptotic analysis; I'm talking about actual programs.

    Don't take that personally, BTW... I'm currently in CAM never-never land, and I'm just pissy that the spiffy O(n lg n) Delaunay triangulation algorithm I invented this semester doesn't seem to beat the standard O(n^(5/4)) algorithm for any problem size small enough to test on the 256MB RAM in my PC.

  129. Simple Algebra by servoled · · Score: 2, Funny

    I think I have this P=NP problem worked out. All you have to do is divide everything through by P. That way N = 1. Now where is my prize?

    --
    "I have a porkchop, you have a porkchop. I have a veal, you have a veal".
    1. Re:Simple Algebra by Anonymous Coward · · Score: 0

      Nicely done, but you forgot to prove that P is non-zero before you divide by it. Maybe you'll have to share the prize with someone else.

  130. Just a few facts by Lictor · · Score: 2, Insightful

    I have to say its wonderful to see TCS making an appearance on the front page of /. ... warms my heart.

    Anyway, after perusing the comments (most of them quite good), I thought I'd point out a couple of common misconceptions in previous posts:

    NP != EXP. Yes, for problems in NP the best *known* algorithms require exponential time, but no one has proven this to always be the case. Maybe we're just bad at finding algorithms (not likely though). All we can say for sure is that problems in NP require polynomial time on a non-deterministic machine. Non-determinism being the key problem here (and what forces these algorithms into exponential time when you run them on deterministic machines).

    NP != BQP. E.g. you can't solve NP-complete problems in polynomial time on a quantum computer. There are two types of quantum algorithms out there at the moment, Shor-flavour and Grover-flavour. Shor-flavour algorithms can solve some specific problems (notably factoring and discrete log) that are in the intersection of NP and co-NP but are *not* NP-complete. Grover-flavour algorithms can solve database searching problems in O(sqrt(n)) time, despite the classical firm lower bound being O(n).

    Its most likely that BQP and NP are disjoint so attempting to compare them may be a rather fruitless effort.

    If the hardness of NP-complete problems really causes you to lose sleep, look into the field of approximation algorithms. In many cases we can get a very good solution, just not the optimal one. We can even given an upper-bound on exactly how 'bad' the solution we find is compared to the optimal one.

    Just my two cents worth.

    L.

  131. WOW by neoevans · · Score: 1

    This is BY FAR the nerdiest article I've ever seen on slashdot...

    --
    "You are not a beautiful and unique snowflake."...Tyler Durden
  132. Noooooo by Anonymous Coward · · Score: 1, Funny

    Aggghhh. I thought that I'd escaped from talk of NP-Complete problems after my "machines and algorithms" final on tuesday. Is there nowhere I can hide?

  133. Mixed up... by Tom7 · · Score: 3, Informative

    Well, everybody seems to have their own ideas about what the various classes mean. Your post contradicts what I thought, so I looked it up:

    NP-Hard: From a solution to an NP-hard problem, we can solve any problem in NP.
    NP: Can check a polynomial-size solution in polynomial time.
    NP-Complete: Intersection of NP and NP-Hard.

    Thus, NP-hard problems are "harder" than NP-complete in the sense that a solution to an NP-hard problem gives you a solution to any problem in NP-complete.

    I am almost positive that factoring is in NP, since it should be straightforward to check a solution in polynomial time.

    http://www.cs.unb.ca/~alopez-o/comp-faq/faq.html

    1. Re:Mixed up... by Furry+Ice · · Score: 1

      Mod this up! Finally, someone who understands. For those not too slick with sets, the definition of NP-complete as the intersection of NP and NP-hard means that NP-complete is a subset of NP. It is also a subset of NP-hard. There are many mistakes being made about this point!

  134. Actually N is not alway prime. by Empty+Sands · · Score: 1


    2x3x5x7x11 + 1 = 2311 is prime
    but
    2x3x5x7x11x13 + 1 = 30031 = 59x509
    in not prime.

    The important steps in the proof is supposing that {1, ..., p_N} is complete then showing that their must exist a prime not in that set greater than p_N. ie. 59 or 509 above.

    See http://www.newphys.se/elektromagnum/physics/Ludwig Plutonium/File106.html for greater detail

    1. Re:Actually N is not alway prime. by Debillitatus · · Score: 2
      No, read my proof more carefully. In the proof, we assume that there is no prime larger than p_n. Your example of 30031 is of course not prime, but under the assumption that the only primes are {2,3,5,7,11,13}, it is. This is because although it is divisible by a smaller number (59 and 509), these numbers cannot be prime by assumption, thus they each must have been divisible by a smaller number.

      As you've pointed out, in either case you get a contradiction, and therefore the statement is true.

      --

      Come on, give it up, that's

  135. Possible answer: Parameterized Complexity by km790816 · · Score: 1

    Check out what Google has...an excerpt

    The field is motivated by the many concrete problems that are NP-complete or worse, yet can be solved in polynomial time with only an additive exponential contribution from some limited distributional aspect(s) of the problem (the parameter). The theory is built around this sharper analysis of feasibility extending polynomial time and includes distinctive and powerful algorithmic techniques to exploit parameterization. It is widely embodied in practical exponential heuristics, and involves a rich and concretely applicable structure theory based on miniaturizations of Cook's and other theorems.

  136. Re:Decryption not NP-Complete, Implications of Pol by Accelerated+Joe · · Score: 1

    "For instance, we can solve chess (find the best possible game), and all other decidable search problems."

    Can you rephrase this? It sounds like you are saying that we can/could determine the best moves in chess.


    There are about 10^120 positions in chess, if I remember correctly. Even if you could solve it, there'd be no possible way to store the answer, as this is much larger than the number of atoms in the universe (around 10^80). As Dirk Gently might say, "If you can't possibly store it, then it must be stored impossibly!"

    --
    They who would give up an essential liberty for temporary security, deserve neither liberty or security
  137. Solution to my problem by Deflatamouse! · · Score: 2, Funny

    Can anyone suggest a solution to this:

    I have a lot of warez on my computer and running out of disk space. I need to burn those warez to 650mb CDs. But I want to use the space on those CDs efficiently, since I am too cheap to waste space like that :) Which means I need to find a way to burn X bytes of warez onto N cds. where (N-1)*650MB = X = N*650MB, N a integer, and X is closer to N*650MB than (N-1)*650MB. Would this turn into an NP complete problem?

  138. karma whoring: by wroot · · Score: 2, Informative
    The question is thoroughly discussed and answered in a popular 90-minute RealPlayer lecture here

    Wroot

  139. Re:Decryption not NP-Complete, Implications of Pol by undecidable · · Score: 1
    Even if you could solve it, there'd be no possible way to store the answer
    "the answer", at least as I'm defining it, is the best move which could be represented in a 32-bit int.

    Additionally, if time was not an issue, you could solve this problem with very little memory using a simple depth-first-search approach. The amount of additional space you would need would simply be the depth of the stack. The depth of the stack is equivalent to the number of moves. The number of moves in a typical game of chess is less than 50, but what's important is that you can bound the number of moves by some constant.
    --
    "The only rights you have are the rights you are willing to fight for."
  140. Re:Decryption not NP-Complete, Implications of Pol by MarkusQ · · Score: 2
    There are about 10^120 positions in chess, if I remember correctly. Even if you could solve it, there'd be no possible way to store the answer

    Not quite true; it is likely that the solution could be expressed as an algorithm that would take up much less space than an exhaustive list of state transitions.

    For example, if you had a game where the goal was to take turns naming positive integers until someone was forced to name an integer larger than the one their opponent just named (and thus lost), there are an infinite number of states, but the "solution" can be expressed quite simply:

    Say "one."

    So, at least in this case, the solution is much smaller than the list of all posible cases. I suspect the solution to chess, while much larger than this, is still smaller that you propose.

    -- MarkusQ

  141. Take it from a graduate student. by Chai_Bot · · Score: 3, Informative

    Most people have incorrect misconceptions about NP/NP-completeness since this often isn't covered in many CS degree programs. Let me clear up a few things people seem to consistently post incorrectly about.

    First of all, what is meant (most likely) is that some NP-complete language can be recognized in polynomial time. The complete in NP-complete means that EVERY language in NP can be reduced (in polynomial time) to this particular NP-complete language. So P=NP.

    NP is the class of guess and check languages. For example, we can see that determining if a number is composite is 'in NP' by guessing a factor. We can check by seeing if our guess divides the original number. If the total time for the guessing and doing the check is polynomial in the input length, then the language is NP.

    P is a subset of NP. So when you say a particular problem is 'in NP,' this doesn't necessarily equate with an (even potentially) intractable solution.

    There are only a few problems which are in NP that are not either known to be NP-complete or known to be in P. One of these is factoring of integers and forms the basis for RSA. Another is the Discrete Log which forms the basis for Elliptic Curve cryptosystems. Both would be essentially broken if P=NP, but so would most other things.

    One of the biggest consequences of P=NP is that P=PSPACE. This means that many problems thought 'harder' than NP are also solvable in polynomial time. For example, the level of 'GO'-playing computers would increase. Just about every computational problem imaginable is within PSPACE, so if you are wondering would 'xxx' be affected, the answer is probably yes.

    It is believed that recognizing whether a number is prime or composite is already solvable in polynomial time (in the input length) (ERH). However it isn't certain if ERH is true, so recognizing if a number is prime is technically NOT (necessarily) in P.
    In practice, it is possible to make the decision with arbitrarily high probability. The fact that it is still sometimes difficult to factor is what makes the problem useful for cryptography.

    I hope this clears things up some. Maybe people will stop wishing for O(n) solutions for NP-complete problems...

    1. Re:Take it from a graduate student. by Anonymous Coward · · Score: 0

      Care to explain how P=NP --> P=PSPACE. P=NP collapses the hiarchy, but this is not equal to PSPACE? Is this what you had in mind?

    2. Re:Take it from a graduate student. by Anonymous Coward · · Score: 0

      I meant to say that the hiarchy is not believed to be equal to PSPACE

    3. Re:Take it from a graduate student. by Zebulon+Terrafram · · Score: 1
      Most people have incorrect misconceptions about NP/NP-completeness...

      I fully agree; you'd probably have to search a long time for someone who's misconceptions are correct ;-)
    4. Re:Take it from a graduate student. by jclip · · Score: 1
      There are only a few problems which are in NP that are not either known to be NP-complete or known to be in P.

      I know what you're getting at, but this statement is incorrect on two levels. First off, the spirit of your statement would be much more accurare if it referred to NP-hard problems rather than NP-complete problems.

      Secondly (and more pedantically), there are an infinite number of problems that are in NP and are not known to be either in P or NP-hard.

    5. Re:Take it from a graduate student. by jclip · · Score: 1
      Actually, on reconsideration, criticism #1 is dumb in this context. I apologize.

      #2 is valid, though.

  142. Doh, what's the problem? by TheLink · · Score: 2

    Why should that be a problem? If it really were the answer to so many real world problems then just use your new found solution to figure out whether to make it public (and how) ;).

    If it doesn't work that way, then why worry: just publish it I'd say. Get your Nobel Prize, have fun, be good.

    Finding answers to questions is easy compared to finding the right question in the first place.

    Also with humans sometimes just talking is good enough.

    "What's the problem?"
    "Dunno, nothing"
    blahblahblahblah about nothing much in particular, esp things both already know about, for 20 minutes.
    "Hey thanks!"

    Funny eh?

    Cheerio,
    Link.

    The difference between theory and real life is in theory there's no difference.

    --
  143. hhgttg by Oily+Tuna · · Score: 1

    packets visiting every other point on the internet

    That would be infinite improbability powered internet.

    --
    Mmmmmmm ... sushi.
  144. Did anyone out there pass complexity theory? by Blue+Neon+Head · · Score: 2

    Because if you did, they should've known that prime factorization is not considered an NP-hard problem, but is more likely in neither P nor the hard subset of NP.

    (Incidentally, it has been proved that either P=NP, or there exist problems that are neither in P nor NP-hard, of which prime-fac is believed to be one.)

  145. Re:Decryption not NP-Complete, Implications of Pol by fireboy1919 · · Score: 2

    That's exactly what I'm saying - we could find the absolute best.
    By "solve" I meant, given that two computerized players both played a perfect game, who would win, the first player, the second player, or would it be a draw? This is the kind of question we could answer.

    It seems impossible, but if you study AI a bit, you'll see that this is what NP=P implies, despite the seemingly enormous search space required by BFS, since chess is NPC. Obviously the solution wouldn't be using the BFS.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
  146. True, but... by Jugalator · · Score: 1

    However, giving a near-optimal, approximative, shortest path is *not* NP Complete.

    So if the providers have a lot to gain from not using an NPC problem and don't mind slightly less optimal paths, they'd go for that.

    --
    Beware: In C++, your friends can see your privates!
    1. Re:True, but... by nobody/incognito · · Score: 1

      that depends -- an approximate traveling salesman tour can be computed in some graphs, e.g., any graph that satisfies the triangle inequality, but not all. in the general case, finding a tour that is no worse than k times optimal is also np-hard.

      i knew all that theory i studied would come in handy! mod me up, scotty, there's intelligent life here!

      nobody

      --
      parturiunt montes, nascetur ridiculus mus
  147. WTF? by Anonymous Coward · · Score: 0

    And exactly what pizza chains are doing this?

    Dominoes was the only one that really ever offered it free if not delivered in 30 minutes and it's been what... a decade since they stopped doing it because of legal concerns with bad driving as a result of meeting the 30 minute mark?

  148. Not necessarily useful by Anonymous Coward · · Score: 0

    First I assume you mean O(n^p), not simply linear.

    Even if NP can be reduced to P, the transducer could very well be 10^100*x^(10^100). In fact it would be much more likely that the transducer would be some unwieldy polynomial. And as is often the case, the first one found would be very rough and would lead the way towards more streamlined functions.

    The point being, while it would have very major theoretical implication immediatley, it may not have ANY practical implications

    1. Re:Not necessarily useful by Tazzy531 · · Score: 1

      Sorry, your assumption is wrong. P vs NP is not a discussion on O(n^p). P vs NP is used to check if a problem is calculatable and correct in polynomial time. The problem with a lot of problems is that it takes an infinite amount of resources and time to verify if the solution is correct. P vs NP checks if a solution is correct and that it is the best solution.

      I just need to correct this before some sap who hasn't gone to class reads this and fails his finals..

      --


      _______________________________
      "I'm not Conceited...I'm just a realist..."
  149. SNEAKERS! The guy died! by statusbar · · Score: 2


    Come up with a proof and tell people about it. Even if it only helps optimize the factoring of large numbers by 10%, no one will understand that it doesn't change the security of encryption much and Mossad, Saddam, the CIA, and the NSA will be after you. And you'll be dead just like the nice mathematician was in the movie Sneakers.
    </conspiracy theory>

    --jeff (off to watch more movies)

    --
    ipv6 is my vpn
  150. Re: DON'T take it from a graduate student. by Chai_Bot · · Score: 1

    You are right; I meant P=PH, not P=PSPACE.

  151. *ROFL* by gibson_81 · · Score: 1

    come on here people .... this is SO OBVIOUSLY a joke, you just have to laugh at him, and thank him for brightening my dull day ...

  152. Yeah whatever by Anonymous Coward · · Score: 0

    Well, I finished my theory final the other day, and unless someone tries to sell me a solver for an NP complete problem, I really do not give a horses ass about them... of course this could just be because I am burnt out from studying a semsters worth of theory, alrogrithms, and turning machines...

  153. Good Timing! by Tazzy531 · · Score: 1

    Wow, this is such great timing. I've been studying for my computability final for next tuesday and this was the topic that I didn't really get...

    Anyways..just as a note, NP doesn't not mean O(NP) as many of you are talking about. O(n) is a term for speed of an algorithm. P vs NP problems deal with whether something is calculatable

    If anyone has some free time and wants to win a million dollars read this: The P versus NP Problem (oh..did I forget to mention that you must be a genius in computablity) Here is the press release about the $1 million prize money.

    --


    _______________________________
    "I'm not Conceited...I'm just a realist..."
  154. Moreover: Some NP=P does not mean all NP=P by Tune · · Score: 1

    I totally agree. And I would like to add that when a particular polynomynal time solution is found for a problem thought to be non-deterministically, this does not mean all NP problems are in P.

    For example, the problem of parsing context free grammars (or mildly context sensitive languages) in the most general form was long thought to be non deterministic. Nowadays we have context-free parsers that operate within O(n^2), while there are particular problems, like the LALR(1) grammars applicalble to most programming languages, that operate within linear time. Still, many NP problems remain.

    The misconception here is that non-determinism is usually incorporated into an algorithm in terms of some "enigma" which *somehow* makes the non-deterministic choice the right way. Then, the non-determinism is completely localized within this black box. Next, this line of thinking assumes that when a (some) problem that is formulated in terms of this enigma turns out to be formulatable in P as well, that in this case we have implemented the enigma itself in P. Consequently, all algorithms using this enigma are though to be in P.

    In reallity, the enigma is not touched at all. When an algorithm is improved, we generally think of a way to work around the hard parts. In case of NP to P, this means bypassing the enigma.

    Therefore, a solution like the solution to the context-free parsing problem has no effect at all on other problems! Although the invention is a great achievement and although we are stunned afterwards by the simplicity of the solution we could not think of earlier, it usually has only limited effect on related problems. At best, an unrelated problem can be translated to the solved problem and then be otimized as well.

    Therefore, it is unlikely that solving the translation from an NP problem into a P algorithm will change the way we think of computational complexities in a revolutionary way.

    1. Re:Moreover: Some NP=P does not mean all NP=P by rick446 · · Score: 1
      Therefore, it is unlikely that solving the translation from an NP problem into a P algorithm will change the way we think of computational complexities in a revolutionary way.
      No, but translating an NP-complete problem into a P problem would by definition provide a P solution for all problems in NP. That's what NP-complete means.
      --
      http://pythonisito.blogspot.com/
  155. Really? by rew · · Score: 1

    Every student, after going to classes about NP complete problems, wakes up in the middle of the night one day, and thinks: "I've solved the P = NP problem! I can solve NP problem suchandsuch in P time!". I have.

    The general pattern is, that this is simply not true.

    Note that it's possible to solve NP complete problems in P time using Exponential space. Don't fall for that trap.

    The "proof in the pudding is in the eating". Try to write a program that will implement your algorithm. You will quickly find the loop that takes exponential time....

    Roger.

  156. worst case is usually not relevant by mj6798 · · Score: 2
    We only care about the large cases for the most part.

    That's wrong on several counts. First, the worst case performance of an algorithm may not matter at all because the worst case is rare or because good randomized versions are available. Second, the constants on the asymptotically more efficient algorithm may be so much worse that it doesn't matter for problem sizes that occur in practice. You see, "N" isn't usually some kind of bragging factor, it corresponds to real-world entities, like people, components, cars, etc., of which there is a bounded number.

    While occasionally theoretically interesting, many recently developed algorithms for solving common problems with slightly better asymptotic worst-case complexity are completely useless in practice.

    1. Re:worst case is usually not relevant by fireboy1919 · · Score: 2

      The cases to which you are referring are already solvable in practice so are not a concern for this discussion. What is of interest here is problems that couldn't be solved previously, such as, for instance, optimization problems. To find the optimal solution to most problems, even a normal case often involves a significant amount of search.

      Everyones a critic.

      --
      Mod me down and I will become more powerful than you can possibly imagine!
    2. Re:worst case is usually not relevant by mj6798 · · Score: 2
      Far from it. You yourself gave an example: chess. P=NP is irrelevant to chess. Chess is played on an 8x8 board with 32 pieces. The problem isn't going to get any bigger. If P=NP, that doesn't mean that it would result in an algorithm that is of any interest to chess because current exponential time methods may still be faster in practice. And even if P!=NP, there can still be algorithms that solve chess games fast.

      Even for optimization problems that (unlike chess) can scale arbitrarily, P!=NP doesn't mean that there are no good algorithms to solve them fast in any interesting practical sense. Only a positive result, P=NP, would establish that there are algorithms that scale "well" (in the sense of "polynomially") in all cases.

  157. asymptotic worst-case complexity tells you little by mj6798 · · Score: 2
    If you can get a good asymptotic bound for an algorithm, that tells you something useful: the algorithm will have a good asymptotic complexity also for the problems you encounter in practice. A bad asymptotic worst-case upper bound tells you almost nothing: the algorithm may still run fast on almost all cases, or it may run fast on those cases you encounter in practice. Not even a bad asymptotic worst-case lower bound tells you much, for the same reason.

    Furthermore, for real problems, "N" often corresponds to real-world objects and doesn't get arbitrarily large, so the relevance of asymptotic results breaks down at some point: algorithms with worse asymptotic complexity may perform better in practice on all problems you would be interested in. This is probably rather the norm than the exception, although people often don't realize it.

    So, if P=NP, that would tell you that a large number of problems don't necessarily require exponential time to solve in the worst case. But that doesn't make such problems easy. Conversely, many problems that are NP-hard have, in fact, good, practical solutions in many cases no matter whether P=NP or not (as some cryptographers had to discover to their dismay).

  158. The real story of P and NP by po8 · · Score: 3, Informative

    A problem is NP-complete if it is NP-hard and in NP. A problem is in NP if a guess of the answer can be checked in polynomial time. A problem is NP-hard if being able to solve it in polytime means being able to solve any problem in NP in polytime. To prove P=NP, it is sufficient to find a polytime algorithm for an NP-hard problem. (I believe I have seen a result that suggests that there cannot be a non-constructive proof that P=NP, but I can't offer a reference offhand.)

    As other posters have pointed out, "in polytime" is not a panacea: the polynomial might be unbelievably bad, the memory requirements of the algorithm might be unreasonably large, etc. (But n^3 is way better than 2^n even for large n: do the math.) There is a belief in the business known as the Polynomial Thesis which suggests that anytime there's a polynomial algorithm, there's a low-order polynomial algorithm.

    All the encryption schemes you have ever heard of are in NP: if you can guess the key, you can quickly check that it works. This is true for both private key schemes (trivially) and public key schemes (guess the factorization of the product of two large primes, and you can certainly check it quickly by multiplication). The crypto arms race would then turn to algorithms that use the power of the NP-solver to encrypt: there are results that suggest that this is possible.

    Most practical problems which are compute-bound are in NP, and thus tractable for an NP-solver. This includes such things as production scheduling and many kinds of gene and protein sequencing and folding. A few practical problems are believed or known not to be in NP, such as general-purpose planning (PSPACE complete) and checking computer programs for infinite loops (semi-decidable).

    Hope this helps. For more information, check out the classic book by Garey and Johnson.

  159. Lets find out! by Anonymous Coward · · Score: 0

    Someone should start a distibuted.net style project to enumerate turing machines until we find a polynomial time algorithm for an NP-complete problem.

    If it's possible, we'd find out sooner or later.

    Actually, maybe we should devise a system than can enumerate all possible mathematic proofs. Then if P=NP is either provable or disprovable, we'd eventually find out.

    (I'm kidding, BTW...)

  160. No no no... you missed something critical by Kjella · · Score: 2
    Thus N is not divisible by any p_k. But thus it is not divisible by any smaller number, and therefore is prime.
    No, this does not gurantee that N is prime, in fact for a simple example to the contrary: 2*3*5*7*11*13 + 1 = 30031 = 59*509. What the proof concludes is that N is prime *or* has prime factors not in the set of known primes. So the proof only establishes that there *are* more primes, but it does not provide any reasonable way to calculate primes.

    By the way, nothing prevents a proof that NP-Complete can be solved in polyminial time, but doesn't provide any way of doing so.

    Kjella
    --
    Live today, because you never know what tomorrow brings
  161. I solved it by circletimessquare · · Score: 4, Funny

    I solved it! I solved it!

    I have the proof right here! I'm going to post it right now, right here on Slashdot!

    Oh wait, there's a knock at my door. Hang in there folks, I'll be right back...

    Muffled Yell

    Thud

    Long Silence

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    1. Re:I solved it by uigrad_2000 · · Score: 2

      I did solve it.

      The only reason I haven't posted it is because I can't seem to get it past the lameness filters!

      Isn't it ironic?

      --
      Free unix account: freeshell.org
  162. NP != non-polynomial by Anonymous Coward · · Score: 0

    After reading a few posts, I realized many others had the same misconception I had until recently. If a problem is NP that does not mean it is not solvable in polynomial time. NP stands for nondeterministic polynomial, and P is a subset of NP.

  163. This question has been addressed by wickline · · Score: 1

    Very Good sci fi short story. I can't give away the end, but it starts with an NP reduction posted to usenet and things go in some very unexpected directions from there.

    short story "Antibodies," by Charles Stross
    (c) 2000 by _Interzone_.
    First published by _Interzone_, July 2000.

    Reprinted in 18th annual year's best sci fi
    (ed Gardner Dozois) ISBN = 0312274785

    more info at amazon
    http://www.amazon.com/exec/obidos/ASIN/031227478 5

    but buy it from alldirect for better price
    http://www.alldirect.com/book.asp?isbn=031227478 5

    or pick it up and read at you local bookstore.

    -matt

    1. Re:This question has been addressed by majikthyze · · Score: 1

      An excellent short story! I was about to post about this myself. I highly recommend the read...

  164. Re:Decryption not NP-Complete, Implications of Pol by Anonymous Coward · · Score: 0

    It seems impossible, but if you study AI a bit, you'll see that this is what NP=P implies, despite the seemingly enormous search space required by BFS, since chess is NPC.

    Chess NP-complete? Are you sure of that? Are you really, really sure of that? I would like to have a reference to the proof since that statement is VERY surprising.

    First, since the rules of Chess are tailored for a fixed 8 x 8 board, it is quite obviously a O(1)-problem (though for a relatively large value of '1').

    Second, if we start to vary the size of the board to n x n, my guess would be that we would end with a PSPACE-hard problem (possibly even PSPACE-complete, but quite probably up, up, and away from even that). This is because that the problem is then of the form: "does there exist a white move such that for all black moves there exists a white move such that for all black moves ... such that white wins". You can express all quantified boolean formulas (QSAT) in that form, and QSAT is PSPACE-complete.

    Note for those that don't know much complexity theory: PSPACE is the class where a problem can be solved using a polynomial amount of space but time is not limited (except that there is at most exponential amount of different computation states). NP is a subclass of PSPACE and it isn't known whether it is a proper subclass or not. However, NP=PSPACE is a very unlikely proposition.

  165. Re:Decryption not NP-Complete, Implications of Pol by fireboy1919 · · Score: 2

    You know what? You're right. It is PSPACE. I'm totally wrong. Thanks for the correction.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
  166. Did I miss something by demigod · · Score: 1

    It seems to me that if you can solve this problem
    in O(n) time then it wasn't NP-complete to begin
    with. We shouldn't call things NP-complete unless
    we can prove they are.

    --
    "The last thing I want to do is deal with a bunch of people who want something."
    Major Major
  167. No, sorry, I meant... by Spinality · · Score: 1

    ...I meant that the problem in question, originally believed to be NP-complete, would turn out NOT to have been NP-complete, and that therefore any conclusions about NP=P in this case were wrong/irrelevant. This result would therefore not have significant theoretical repercussions, but it might have practical implications, if that problem's putative NP-completeness had led people to believe that a linear-time solution to the problem was unlikely. Suddenly a computational barrier is removed. I'd agree it seems more unlikely that we have a systematic misunderstanding about NP-complete problems and that NP=P. (But of course that's the kind of thinking that was rocked in 1931 by Kurt Godel.)

    --
    -- We all have enough strength to endure the misfortunes of other people. La Rochefoucauld
  168. P=NP solved by AeiwiMaster · · Score: 1

    My brother fund a algoritme which solved
    the sat problem in o(n^6) time but the
    only problem where that it used O(p^n) in space.

  169. I'm so excited... by Anonymous Coward · · Score: 0

    Damn, I don't have the time to read all these post, but just reading the topic make me too excited. I know a guy who secretly find an "answer" for TSP (Traveling Salesman Problem). It mean that he can resolve NP Complete Problems!!! He's been working with TSP for more than 30 years but he is too scared to reveal to the public the key of this stubborn problem... He's been keeping this secret for too long... I bet you don't believe me, but thats your problem... btw, I bet my neck that what I'm saying is true... I'm serious, as serius as I just subscribe to slashdot just to write this message... ciao.

  170. Re:Decryption not NP-Complete, Implications of Pol by Accelerated+Joe · · Score: 1

    "There are about 10^120 positions in chess, if I remember correctly. Even if you could solve it, there'd be no possible way to store the answer"

    Not quite true; it is likely that the solution could be expressed as an algorithm that would take up much less space than an exhaustive list of state transitions.

    For example, if you had a game where the goal was to take turns naming positive integers until someone was forced to name an integer larger than the one their opponent just named (and thus lost), there are an infinite number of states, but the "solution" can be expressed quite simply:

    Say "one."

    So, at least in this case, the solution is much smaller than the list of all posible cases. I suspect the solution to chess, while much larger than this, is still smaller that you propose.


    You're mostly correct. To find the best move at the beginning of a game, for instance, your example is like choosing an opening. You're also right for the endgame. I imagine that in the middlegame, though, if you're not doing an exhaustive search, then you're using a heuristic. I can't say whether a perfect heuristic can be found for chess, but there would probably be a whole lot of exceptions to the "perfect move" generated, which would need to be stored in the heuristic.

    So, with your method, there might be no way to store the algorithm to run! On the other hand, maybe the heuristic could fit onto a 1.44 MB floppy disc. But if the search space wasn't full of local maxima, chess wouldn't be such a hard AI problem. So, the only thing that keeps us from finding the right answer might be the high branching factor, which is more related to the number of positions. Just random thoughts.

    --
    They who would give up an essential liberty for temporary security, deserve neither liberty or security
  171. Crypto with prime products is insecure but ... by crovira · · Score: 2

    if someone uses private non-algoritmically generated keys to encrypt and decrypt, then the communications are probably secure.

    If they use synchronized one-time pads then the communications are probably even more secure.

    --
    MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
  172. Re:Decryption not NP-Complete, Implications of Pol by Accelerated+Joe · · Score: 1

    Additionally, if time was not an issue, you could solve this problem with very little memory using a simple depth-first-search approach. The amount of additional space you would need would simply be the depth of the stack. The depth of the stack is equivalent to the number of moves. The number of moves in a typical game of chess is less than 50, but what's important is that you can bound the number of moves by some constant.

    This is blatantly wrong. A DFS (presumably, you mean a minimax search) would need to visit every possible check- or stale- mate from the starting position, in order to assess it. Then, it would work backwards through the entire search space. Just marking nodes as visited would require more memory than the number of atoms in the universe.

    To put it in more simple terms, how would your "depth-first-search" know that the first move was correct, without first knowing the opponent made the best first move, and knowing that you made the best second move?

    --
    They who would give up an essential liberty for temporary security, deserve neither liberty or security
  173. If P == NP by Anonymous Coward · · Score: 0

    then N = 1 !

  174. Huh? by PinkFloyd · · Score: 1
    This wasn't on my MCSE exam ??!!

    --

    The face of a child can say it all, especially the mouth part of the face.
  175. Don't get your hopes up ... by Jobe_br · · Score: 2

    NP completeness is something that you will come across in many undergraduate CS programs (e.g. Rose-Hulman Institute of Technology, my alma mater) and something you should most definitely come across in any self-respecting masters program for CS.

    Once you start to understand NP completeness, you won't write statements such as:


    ... So if (when) the time comes ...

    Many NP complete and NP hard problems have approximations that are extremely close to the optimal answer. A solution to an NP complete problem is unlikely. Quantum computing may in fact be able to solve an NP complete problem because it entirely changes the playing field for mathematical calculations - but who knows? We don't have any quantum computers yet that are more than a meager 'proof-of-concept'. Additionally, it has already been discussed that quantum computing would severely impact the longevity of cryptographic algorithms. I imagine researchers are working on quantum-safe cryptographic algorithms as I write this, though I don't know of any off-hand.

    In short, NP complete is a difficult concept to even grasp the basic gist of, much less to fully understand and appreciate the magnitude of its implications. If you want to check out something I wrote on the topic for a master's class at DePaul, go here: http://www.webprojkt.com/brice/csc491/

  176. Traveling salesman problem by e_lehman · · Score: 2

    Many people have pointed out that the Traveling Salesman Problem is NP complete, and so showing P = NP could have practical implications for the business world.

    What this misses is the idea of approximation algorithms, which has emerged in recent years. The idea is simple: even though finding the optimal solution to a problem is NP-hard, finding a nearly-optimal solution may be easy. For example, finding the shortest path for the salesman might be very difficult, but finding nearly the shortest path isn't.

    For the traveling salesman problem in particular, there is a polynomial time approximation scheme. This means that if you want a solution that is within 10% of optimal, you can get it in polynomial time. If you want one within 1% of optimal, you can also get it in polynomial time. In fact, you can approximate the solution as well as you want in polynomial time. The catch is that the degree of the polynomial increases as you demand better approximations. So, as a practical matter, the Traveling Salesman Problem is already solved. (At least for Euclidean spaces.)

  177. Clay Math by thesiltman · · Score: 1

    Clay Math Institute in Cambridge has a bunch of stuff on P vs. NP. Here is the link to their site about it. Proving (or disproving) this one gets you a million bucks.

  178. Not necessarily a problem... by gweihir · · Score: 1

    If the NP parts of some crypto are still high order plynominal, no problem arises in practice. If e.g. a one-way function has a complexity of
    n in one direction and n^30 in the other it is secure for pretty small values of n. I always wonderd about the "exponential" requirement for these things. Of course it does solve the problem, but high order polynomial against low order polynomial does the job as well.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted and ignored otherwise.
  179. Re:Decryption not NP-Complete, Implications of Pol by nivedita · · Score: 1

    The example of chess you give is surprising. It isn't clear that chess (or any game, for that matter) is obviously NP. If someone gave you "the best move" for white, how would you verify in polynomial time that he is correct? (Note: this assumes an nxn version of chess, since for the 8x8 version, one can just precompute everything: theoretically speaking, 8x8 chess is solvable in constant time).

    Search problems are not necessarily NP.

  180. I'd publish the crap outa that algorythm..... by lobsterGun · · Score: 1

    ... because if I can come up with it you can be damn sure that someone else already has....and they might not be quite so scrupulious as I am.

    People would need to be warned.

  181. Quantum Cryptography by wessto · · Score: 1

    To expand on this, I would say that if NP-complete problems were solved, we would quickly find PRACTICAL ways of using quantum mechanics to do cryptography. We already have it in labs (see this link). But I believe research would be more focused as Quantum computation would become necessary.

    I don't think there will ever be an end to the problems we have to solve. There will always be one class of problems that are unsolved.

  182. What would happen? I'll tell you... by bukowski · · Score: 1

    if you had a solution to the P=NP problem which states that P does in fact equal NP, no one would listen. You would be blacklisted from the entire scientific community as a lunatic. Too many important, "smart", and "credible" people have built up entire careers (Sanjiv Aurora, for instance), based on the fact that P does not equal NP. IF you told them they were wrong, well that is like saying the sun does not revolve around the earth. preposterous! no way! end of story, for a couple of decades at the least.

  183. less than NP crypto by RabidChipmunk · · Score: 1

    ROT13 !!!!

    Hey if the DMCA says it's crypto....

    --
    This is not a political statement. This is not legal advice. It's a frick'n Slasdot post. However: I'm Running For
  184. Unseen issues: I'm putting everyone on notice... by freeBill · · Score: 2

    ...that I've stumbled across a NP-complete problem the solution to which will allow me to rule the known universe.

    I'm not revealing it here, of course, because I don't trust everyone who reads this. (And I have very little desire to be ruled by someone else, especially if they stole the idea from me.)

    I doubt this is the only such problem, so everyone should be very careful about publishing any solution.

    --
    Eternal vigilance only works if you look in every direction.
  185. Well, factoring is NP by p88h · · Score: 1

    It's possible to map single bits of A and B to boolean variables (asume they are N-bit long), multiplication is equivalent o a logic circuit N^2 big, and the problem of finding a solution to a logic circut, i.e CIRCUIT-SAT is NP-complete; which roughly means that factoring is NP.

    Most numerical problems are, so that's nothing new.

    If one could find a solution, it's easy to demonstrate that it is working, for example by solving all contests driven by RSA. One does not need to actually reveal the algorithm, to prove that he has found it. (At least until appropriate government officials find him :).

    It's bit harder to demonstrate that one actually found that P=NP, but if anyone said that he(she) broke RSA this way, i'd believe the other solution exists, too.

    Symmetric cryptography is generally better in this situation, you don't have a 'public' key around so it is not possible to determine in polynomial time if the decrypted data is correct, so the brilliant solution won't help here. Of course if the encryption algorithm adds some checksums or has constant elements, or you had encrypted some plain text with a simple block algorithm, it might be easier (usual cryptoanalysis methods may be applied).

    But, there is a greater problem that 'what if somebody finds it out and tells everybody?' - simply replace 'every' with 'no'.

    --
    #sp
    Signature under konstruktion.

  186. Solved! by mikeage · · Score: 2

    I have this proved, I just don't have enough room here to write it out...

    --
    -- Is "Sig" copyrighted by www.sig.com?
  187. I wouldn't by selfdiscipline · · Score: 1

    Publish it to get money? I'd crack electronic money transfers, and make much, much more money than if I had published.
    Damn... why does everyone have to go and think inside the box? (the box, in this case being legality and possibly, morality)

    --


    -------
    Incite and flee.
  188. Distinction between being in NP an being NP-Hard by Anonymous Coward · · Score: 0


    Let's get the definitions straight first.

    1. A problem is in the class NP if it can be solved (or "decided") by a nondeterministic Turing machine in polynomial time. (Nondeterministic is the "N" in NP).

    2. A problem P is NP-Hard (or "hard for NP") if, for all problems Q in NP, there exists a transformation T(q) with the followin properties:

    o T(q) takes instance q of Q and converts it, in polynomial time, into an instance p of problem P
    o for all such q and p, p is accepted (returns solution yes or no) by P if and only if q is accepted by Q.

    In other words, given an black box P that decides some NP-hard problem, we can build a box P' that decides all problems in Q.

    3. A problem is NP-complete if and only if it is in NP and it is hard for NP (NP-hard).

    Why is this of any importance?

    Well, problems such as finding primes, factoring large integers, and so forth, are trivially problems in NP. They are no know, however, to be NP-hard (and thus NP-complete). In fact, there is a class of problems lovingly referred to as "NP Incomplete". These problems are really useful to solve, they defy many of the traditional estimation strategies for quickly solving other NP-hard problems, and they turn out to be REALLY difficult to solve, i.e., they are almost always exponential.

    There is stong evidence that these problems are NOT NP-hard; they lack a certain expressiveness available in, say 3-SAT or HAMPATH.

    So, I say, yes, in the highly unlikely event that someone finds an O(n^k) (for some constant integer k) solution to an NP-Hard problem, much of modern cryptography will collapse onto its left ear. Finding primes, factoring large numbers, all these kinds of tasks would be "effifient".

    There are also some more important theoretical consequences to P==NP; with P==NP, several of the time/space (computer science meaning, you phyiscs freaks!) hierarchies collapse, making other, far more difficult problems, tractable.

    These consequence of P==NP add to the mounds of evidence that P!=NP -- the consequence would not make sense in may cases.

    Either that, or a couple centuries of the most brilliant minds in Mathematics have missed some really simple insights.

    Ooh, this is fun stuff to wrap your brain around :)

    -- Alex Blate, blate@cs.unc.edu

  189. Re:Decryption not NP-Complete, Implications of Pol by undecidable · · Score: 1


    You have missed the point. Using a depth-first-seach approach allows you to avoid exactly what it is that you have described.

    You sound rather dogmatic, so perhaps it would be instructive for you first to realize that you are wrong: it does not require more memory than the number of atoms in the universe to calculate this answer. The fact that "NxN chess" is in PSPACE stands in direct contradiction to your statement.

    --
    "The only rights you have are the rights you are willing to fight for."
  190. Why do people always talk about protien folding? by GMOL · · Score: 1

    I believe a more correct statement is that
    real molecular dynamics simulation is in NP, not just proteins (doesn't this boil down to the fact that it is an N-body problem?)?

    There are all sorts of ways you can try to fold a protien without molecular dynamics (like homology)...

  191. Re:Decryption not NP-Complete, Implications of Pol by Accelerated+Joe · · Score: 1

    You have missed the point. Using a depth-first-seach approach allows you to avoid exactly what it is that you have described.

    You sound rather dogmatic, so perhaps it would be instructive for you first to realize that you are wrong: it does not require more memory than the number of atoms in the universe to calculate this answer. The fact that "NxN chess" is in PSPACE stands in direct contradiction to your statement.


    BULLSHIT. What the hell do you think you are searching? The NXN chess proof doesn't make it implementable. Tell me what structure you are searching. Your first post said you needed a stack of depth 50. This is utter nonsense because in a DFS of a graph, you must keep a list of visited nodes. Otherwise, your super chess program will run in circles until the end of time. Once you keep a list of states, you're screwed for storage space.

    My quick search on the internet seems to say that NxN chess is EXPTIME-complete. Even if I give you the right answer for the best move in a particular position, you can't verify it in poly time. This gives more credence to the storage space problem.

    --
    They who would give up an essential liberty for temporary security, deserve neither liberty or security
  192. In AI, approx may be okay by Tablizer · · Score: 0

    (quote) Is the human brain capable of solving NP-complete problems? That doesn't sound right. (end quote)

    I believe that the brain uses close-enuf approximations. Otherwise coffee and Marijuana would turn us into pure blobs (instead of partial blobs).

    I believe Penrose (is that the guy?) made a similar mistake when prophezing that the human brain could never be emulated. He was falsely assuming that a perfect simulation of every atom would be needed.

    99% may be sufficent to make it functionable. Neural nets are famous for not needing perfect inputs (or perfect connections).

  193. Re:Decryption not NP-Complete, Implications of Pol by undecidable · · Score: 1

    There are two issues:
    1. Is NxN chess in PSPACE-complete or EXPTIME-complete?
    2. Can you compute perfect chess (regular 8x8) in a reasonable amount of space?
    Let's look at issue (1) first.
    My quick search on the internet seems to say that NxN chess is EXPTIME-complete.
    Perhaps you are referring to the proof contained in:
    A.Fraenkel, D.Lichtenstein
    Computing a perfect strategy for NxN chess requires time exponential in N.
    Journal of Combinatorial Theory, Series A31, 1981, pp. 199-214
    Nice catch. Here's the scoop on NxN chess and PSPACE vs. EXPTIME:

    If you bound the allowed length of an NxN chess game to be polynomial in N (which is my operating assumption), then NxN chess is in PSPACE (and thus in PSPACE-complete). If, however, you decide to generalize chess into NxN chess so as to allow a less restrictive bound on the length of a game as Fraenkel and Lichtenstein did, you arrive at their solution of EXPTIME-complete.

    So this issue is not as clear-cut as I originally thought. Whether one classifies NxN chess as PSPACE-complete or EXPTIME-complete depends on which chess rulebook you decide to follow (note there are several rules which concern when the game is a draw depending on cycles or lack of progress), and how you decide to generalize the game of chess to an NxN board.

    However, what's important to note is that it's the actual length of the game that becomes the space issue, not the breadth of the search space.

    With that in mind, let's hit issue (2):

    What the hell do you think you are searching? The NXN chess proof doesn't make it implementable. Tell me what structure you are searching. Your first post said you needed a stack of depth 50. This is utter nonsense because in a DFS of a graph, you must keep a list of visited nodes. Otherwise, your super chess program will run in circles until the end of time. Once you keep a list of states, you're screwed for storage space.

    So it sounds like you understand minimax searches, etc., but perhaps you are not use to thinking in the completely frightening way that you need to think to solve PSPACE proofs. Don't think about issues like maintaining a visited list to help speed efficiency. We can visit the same state over and over again, as long as we don't cycle repeatedly, thus leading to an unbounded game length. And we know if we are cycling since we store the stack of moves we have made corresponding to the current branch.

    Fundamentally, white needs to determine if there exists a move1 that for all black move2s there exists a white move3 such that for all black move4s, ..., there exists a white moveN such that white wins.

    Well, let's say that we're on move12 for some assignment of move1, ..., move11, and we see that black wins. What this means is that we go back to move11 and say, ok, that is not a move that is going to cut it since it doesn't work for all black moves from that state. Let's try "the next" move11. Let's say that after trying every move11 we didn't find anything that lead to victory. Ok, that means that black's move10 was a good move for black and we can't allow black to get to this position, so we need to go back to move8 and pick the "next move", etc.

    And you can envision that the "next move" is simply an operation that is performed on a chess state which ultimately generates an iteration over valid chess moves from that state.

    So now the question is, what is the maximum number of moves in a (regular) game of chess? Typically it's about 50, but let's bound it by 1,000,000,000 just to be obnoxiously unrestrictive. Ok, how much space does each state require? Let's say about 1K. So we need to be able to store 1 Terabyte of data. No problem.

    --
    "The only rights you have are the rights you are willing to fight for."
  194. Re:Decryption not NP-Complete, Implications of Pol by Anonymous Coward · · Score: 0

    The O(n lg n) algorithm you invented? It's been a while since I've looked at this stuff, but I seem to remember that there were at least two O(n lg n) algorithms for computing a Delaunay triangulation (Fortune and Guibas-Stolfi). You are talking about planar triangulations, correct?

    Reuven

  195. Approximation is usually good enough by epepke · · Score: 2

    The usual workaround is approximation.

    Right, and approximation is almost always good enough.

    Consider the kind of optimizations that are usually tackled by the simplex method, such as how much of each size shoe or model of computer to make so that you optimize your profits. The simplex method, worst case, is NP. Back in the 1980's, someone in the Soviet Union came up with a guaranteed P solution to those problems which I only vaguely remember (it involved ellipsoids, but that's all I can recall). Did everyone immediately switch? No, because

    • Cases that aren't P for the simplex method don't seem to come up in the real world anyway.
    • The simplex method is much easier to write and test
    • The inputs to the simplex method are usually just guesses anyway, and you can get rid of the excruciatingly rare NP cases by perturbing the inputs
    • If it's a little off, and you wind up with two pairs of size 12 shoes out of a thousand, who really cares?
    • The stupidity of the CEO is more of a factor in making profit anyway

    So, basically, the simplex method is plenty good enough, so people use it. The same is true of others. There are node-visiting problems that are NP, but you can get very close to optimal with simuated annealing or genetic algorithms, which are simple and converge quickly. Is it really worth saving a teacup of fuel by finding an exact solution, which will be way less than how much variation you get from delays on the taxiway?

    It is really nice to have an exact, provable solution to a problem from an aesthetic standpoint. However, a solution that works in practice is usually all that is necessary.

    As others have pointed out, factoring large numbers isn't even NP in the first place; it's just way harder than constructing two large primes. Even that is due to an approximation, an algorithm that tells you if a number is probably prime.

    So, what would happen? We hard-core CS types would be ecstatic, but the rest of the world would mostly just shrug.

  196. Re:Decryption not NP-Complete, Implications of Pol by Accelerated+Joe · · Score: 1

    Well, let's say that we're on move12 for some assignment of move1, ..., move11, and we see that black wins. What this means is that we go back to move11 and say, ok, that is not a move that is going to cut it since it doesn't work for all black moves from that state. Let's try "the next" move11. Let's say that after trying every move11 we didn't find anything that lead to victory. Ok, that means that black's move10 was a good move for black and we can't allow black to get to this position, so we need to go back to move8 and pick the "next move", etc.

    I'm not sure we're talking about the same problem. NxN chess, if I understand it, tries to find a guaranteed win from a specific position. From the opening position on a real chess board, there is almost certainly no strategy to guarantee victory for white or black. If there was a sequence of moves such that for every black move, white can find a victory, then I might understand what you are saying, but in chess, there is no such sequence. There may be a "best" move in any position for either side, but there is no guaranteed win from the start. Does this make sense?

    --
    They who would give up an essential liberty for temporary security, deserve neither liberty or security
  197. Re:Decryption not NP-Complete, Implications of Pol by undecidable · · Score: 1

    NxN chess, if I understand it, tries to find a guaranteed win from a specific position.
    Right on. But notice that a specific position is the starting position.

    From the opening position on a real chess board, there is almost certainly no strategy to guarantee victory for white or black. If there was a sequence of moves such that for every black move, white can find a victory, then I might understand what you are saying, but in chess, there is no such sequence.
    Actually, nobody knows the answer to this because nobody is able to calculate it. There are only three posibilities in the game of chess:
    1. White can always win.
    2. Black can always win.
    3. White and Black can always force a draw.
    What continues to make chess an interesting game is that it's complex enough for a human not to be able to plan ahead and always know what to do.

    In this context, chess and tic-tac-toe are very similar games. Each player makes a move until one player wins or it is a draw. The difference is that tic-tac-toe is simple enough that it is relatively easy to calculate the "best" move.

    There is no luck in chess. There is a "best" first move, but calculating it is a major challenge.
    --
    "The only rights you have are the rights you are willing to fight for."
  198. Simplifies it... by Tazzy531 · · Score: 1

    This lecture note for my Computability class simplifies the problem to terms that people can understand. This is a definitely good read if you're interested in P vs NP

    --


    _______________________________
    "I'm not Conceited...I'm just a realist..."
  199. re: future of factoring by Anonymous Coward · · Score: 0

    QUANTUM LEAP FOR QUANTUM COMPUTING
    IBM researchers announced they have used a newly developed computer to
    perform "the most complex quantum computation to date" in a demonstration
    of "Shor's Algorithm," a method of factoring numbers that was developed in
    1994 by AT&T scientist Peter Shor. IBM's new quantum computer is based on
    seven atoms that comprise both the computer's processor and memory.
    Previously, the most powerful quantum computer developed by IBM was based
    on five atoms. In the most recent demonstration, the tiny computer was able
    to correctly identify 3 and 5 as the factors of 15. "Although the answer
    may appear to be trivial, the unprecedented control required during the
    calculation made this the most complex quantum computation performed to
    date," said Nabil Amer, a manager at IBM's Almaden Research Center. The
    research is still at a very early stage, but could eventually have an
    important impact on cryptography, since many of the mathematical techniques
    used to encrypt digital information rely on the idea that it is at present
    almost impossible to factor large numbers. (Reuters/CNet.com 19 Dec 2001)
    http://news.cnet.com/news/0-1003-200-8234595.htm l? tag=mn_hd