Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Science Technology

DNA Solves Million-Answer NP-Complete Problem 169

cybrpnk writes: "A 'DNA computer' has been used for the first time to find the only correct answer from over a million possible solutions to a computational problem. Leonard Adleman of the University of Southern California in the US and colleagues used different strands of DNA to represent the 20 variables in their problem, which could be the most complex task ever solved without a conventional computer. Details to be published in Science."
This discussion has been archived. No new comments can be posted.

DNA Solves Million-Answer NP-Complete Problem

Comments Filter:
  • Nice, but... (Score:1, Informative)

    by Anonymous Coward on Saturday March 16, 2002 @10:06AM (#3172871)
    this doesn't make NP-complete problems polynomial ofcourse.

    Still, impressive!
  • Real article (Score:5, Informative)

    by mnordstr ( 472213 ) on Saturday March 16, 2002 @10:08AM (#3172881) Journal
    Here is the article [usc.edu] at USC which covers the subject, including an interesting picture!
  • Re:Which problem? (Score:2, Informative)

    by Permission Denied ( 551645 ) on Saturday March 16, 2002 @10:14AM (#3172892) Journal
    2-SAT is in P. 3-SAT, 4-SAT and so on are all NPC. In fact, 3-SAT was the first problem which was proved to be NPC (and, AFAIK, the only problem proved to be in NPC without using a Karp reduction proof).
  • Re:Which problem? (Score:2, Informative)

    by allanj ( 151784 ) on Saturday March 16, 2002 @10:17AM (#3172898)

    If memory serves me correctly, the problem described in the REAL article [usc.edu] is a 3-SAT, but algorithmics class was years back and beginning to fade from memory...

  • by rtos ( 179649 ) on Saturday March 16, 2002 @10:50AM (#3172972) Homepage
    Perhaps you are wondering what an NP-complete problem is or what this P vs. NP stuff is all about. You might want to check out the comp.theory FAQ [cs.unb.ca] and scroll down to 7. P vs NP. It gives a bit of history and a decent description.

    Or check out The P versus NP Problem [claymath.org] at Clay [claymath.org] for a really good description (unfortunately too long to quote here). And lastly, you might want to check out Tutorial: Does P = NP? [vb-helper.com] at VB Helper for a little more info.

    Ok, but what is it good for? The Compendium of NP Optimization Problems [nada.kth.se] is a great place to look for real world examples of NP problems. Including everything from flower shop scheduling [nada.kth.se] to multiprocessor scheduling [nada.kth.se].

    Hopefully that helps. I was very clueless when it came to P vs. NP stuff that always seems to be mentioned on Slashdot. So I took the time to look it up. Now I'm clueless but I have links to share. :)

  • by Baldrson ( 78598 ) on Saturday March 16, 2002 @11:18AM (#3173018) Homepage Journal
    the first time that electronic computers solved a complex problem in the 1960s.

    Although the author may be responding to Seymour Cray's first supercomputers circa 1960 [digitalcentury.com] it is untrue that complex computations weren't being performed electronically until the 1960s.

    The History of Unisys [unisys.com] shows the earliest milestones with the following one almost certainly qualifying as "complex computation":

    1952 UNIVAC makes history by predicting the election of Dwight D. Eisenhower as U.S. president before polls close.

  • by isenguard ( 14308 ) on Saturday March 16, 2002 @11:18AM (#3173022) Homepage
    According to Adleman and co-workers, their demonstration represents a watershed in DNA computation comparable with the first time that electronic computers solved a complex problem in the 1960s.

    The description of the problem they are solving corresponds to a 3-SAT (propositional satisfiability with clauses of length 3) instance. In 1962 Davis, Logemann and Loveland published a paper entitled "A Machine Program for Theorem-Proving", in which they described a computer program which could solve SAT problems of a similar size, extending earlier work by Davis and others published in 1960. (You can read the paper in Communications of the ACM if you have a library that goes back that far.) So it looks like their comparison is correct.

    The method they are using for the DNA computer is rather crude compared to that proposed by Davis et al, whose procedure is still in use today for solving SAT problems. We can now solve problems with thousands of variables, and actually do useful things in the process (e.g. verify hardware specifications).

  • The A in RSA (Score:1, Informative)

    by Anonymous Coward on Saturday March 16, 2002 @11:39AM (#3173076)
    This is Leonard Adleman .. the A in RSA, difficult to tell from his homepage .. unless u dig. i guess he keeps in low key.

    Ironic, by showing how to do 0computation with DNA he may be undemining RSA!
  • Re:Which problem? (Score:3, Informative)

    by Lictor ( 535015 ) on Saturday March 16, 2002 @11:47AM (#3173093)
    It was definitely 3-SAT; I just spoke with one of the experimenters yesterday.
  • Re:Nice, but... (Score:2, Informative)

    by gkatsi ( 39855 ) on Saturday March 16, 2002 @11:50AM (#3173100)
    These numbers are nice, but ignore the fact that the current algorithms for solving SAT can routinely solve random 250-variable problems in subsecond times and even larger structured problems. zChaff, the fastest solver currently has even solved some 1-million variable problems (of course it probably took a few days, but it's still better than the multiple-universe-lifetimes prediction of 2^n).
  • Re:Real article (Score:5, Informative)

    by bcrowell ( 177657 ) on Saturday March 16, 2002 @12:02PM (#3173150) Homepage
    And here's the group's web page [usc.edu], including their preprints and FAQ. No preprint of the present paper, though.
  • by MarkusQ ( 450076 ) on Saturday March 16, 2002 @12:04PM (#3173156) Journal
    You are missing the point: NP complete problems (like 3-SAT, which is what they are solving with this DNA computer) are incredibly difficult for serial computers to solve.

    Not quite. If you have a class of problems, characterized by some parameter n, then for large enough n, the problems in a class that is NP will get harder with increasing n faster than they would if the class was P.

    But for any particular instance of a class of problems, it doesn't really matter what the class is--in fact, you can construct example problems that would be NP if generalized in one way, P if generalized another, or even constant time if you choose a perverse "generalization" (e.g., n=date on which the question is posed).

    Saying that the problem was NPC is a red herring; what they are actually doing is making a time/space tradeoff which would be hard of conventional computers, and then solving a particular example problem (not the class of problems).

    -- MarkusQ

  • by isenguard ( 14308 ) on Saturday March 16, 2002 @12:20PM (#3173209) Homepage
    Not quite. If you have a class of problems, characterized by some parameter n, then for large enough n, the problems in a class that is NP will get harder with increasing n faster than they would if the class was P.
    True as far as it goes. That's the whole point of complexity: to talk about the growth in the difficulty of solving a problem as the problem size grows. The reason we spend so much time studying NP hard problems is because all known general methods for solving them grow exponentially in the worst case.
    Saying that the problem was NPC is a red herring; what they are actually doing is making a time/space tradeoff which would be hard of conventional computers, and then solving a particular example problem (not the class of problems).

    The reason I replied to your original comment was that you implied that the work wasn't useful, or wasn't as much of a breakthrough as Adleman claims. Saying that they only solved a single instance isn't relevant: they have a method that works on any 3-SAT problem for which they can construct a long enough DNA chain to represent an assignment, and they have an implementation that actually finds the solution.

    Don't forget that the first practical computer algorithm for SAT (Davis and Putnam, A Computing Procedure for Quantification Theory, Journal of the ACM, 1960) didn't even have a computer implementation: they demonstrated its usefulness by working an example out by hand!

  • Re:Which problem? (Score:1, Informative)

    by Anonymous Coward on Saturday March 16, 2002 @01:58PM (#3173589)
    It was definitely 3-SAT; I just spoke with one of the experimenters yesterday.

    Well tell them than a 24-clause 20-variable 3-SAT problem isn't very hard. You can number the variables in an arbitrary way, sort the clauses by "smallest index variable it uses" and start assigning values from the end. You only need very little guesswork.(Yeah, I'm contesting the claim that "A DNA-based computer has solved a logic problem that no person could complete by hand")

    You need about 5.1909 times more clauses than there are variables to get a "tough" 3-SAT instance. That means 104 clauses, not 24.
  • by Alea ( 122080 ) on Saturday March 16, 2002 @03:06PM (#3173916)
    The following are results on 100 variable, 460 clause, "hard" random 3-SAT problems running on a PIII 750. The results are averaged over 100 repetitions of 1000 variables (some solvers are stochastic which is why multiple runs are used). The result shown is the average number of seconds required to solve a single problem once.
    Note, these problems are 5 times larger than the one solved by the DNA computer and likely much harder (the DNA one sounds very underconstrained).
    Both complete and incomplete solvers are shown:
    DLM 0.00406513
    Novelty 0.00560927
    Novelty+ 0.00325692
    WalkSAT 0.00759083
    Satz 0.00557251
    zChaff 0.00800162

    Note: Things don't really get interesting until you get up over 500 variables for hard, random 3-SAT.
  • The 'A' in RSA (Score:1, Informative)

    by Anonymous Coward on Saturday March 16, 2002 @05:42PM (#3174578)
    As a grad student at MIT, Leonard Adleman helped invent the public key crypto algorithm know as 'RSA'. The other two gents were Ron Rivest and Adi Shamir (the 'R' and the 'S').
  • by scubacuda ( 411898 ) <scubacuda.gmail@com> on Sunday March 17, 2002 @11:40PM (#3179247)
    Printable version of the article found here [howstuffworks.com].

    (This is a good starting place if you want to know the basics.)

Life is a whim of several billion cells to be you for a while.

Working...