Slashdot Mirror


DNA Solves Million-Answer NP-Complete Problem

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."

59 of 169 comments (clear)

  1. is this breakthrough a threat to security? by ardiri · · Score: 2, Interesting

    now, one needs to ask - "can this same technology be used to break codes/algorithms used within security?" the article is a bit lacking in details of how they achieved this exactly, but, koas theory is in action here.

    1. Re:is this breakthrough a threat to security? by r00tarded · · Score: 2, Interesting

      well is guess Leonard Adleman is the guy to know.
      he would be the 'A' in RSA.

  2. Which problem? by cperciva · · Score: 3, Interesting

    The article is a bit garbled (exponential time != NP-complete!) so it's a bit hard to work out what problem they were looking at.

    I'm guessing 2-SAT; can anyone confirm/deny this?

    1. Re:Which problem? by Permission+Denied · · Score: 2, Informative

      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).

    2. Re:Which problem? by allanj · · Score: 2, Informative

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

      --
      Black holes are where God divided by zero
    3. Re:Which problem? by Permission+Denied · · Score: 2, Interesting

      Yep, the article describes 3-SAT - so you're remembering your algorithms class just fine. Also, the article linked from the slashdot story describes 3-SAT in a nice, easy-to-understand but not too dumbed-down way (I posted before reading the article). I just looked it up and 3-SAT was proved to be NPC in 1974 by Cook and Levin.

    4. Re:Which problem? by Lictor · · Score: 3, Informative

      It was definitely 3-SAT; I just spoke with one of the experimenters yesterday.

    5. Re:Which problem? by ToLu+the+Happy+Furby · · Score: 2

      I just looked it up and 3-SAT was proved to be NPC in 1974 by Cook and Levin.

      The first problem proved NPC was general CNF SATISFIABILITY, by Cook in 1971. SATISFIABILITY can be shown to polynomially reduce to (CNF) 3-SAT (proving that 3-SAT is NPC), and 3-SAT reduces to lots of other problems, which themselves reduce to even more problems (this is the typical way to prove a new problem NPC).

      I somewhat doubt that 3-SAT wasn't proven NPC until 1974, because SAT->3-SAT is a pretty easy reduction. (You just introduce a bunch of dummy variables, e.g. (a or b or c or d) becomes ((a or b or z) and (~z or c or d)) and so on; the reduction is linear time in the number of variables in the original expression.)

    6. Re:Which problem? by Lictor · · Score: 2

      >Well tell them than a 24-clause 20-variable 3-SAT problem isn't very hard.

      I don't think anyone would argue with you on this point. These are still toy examples... proof-of-principle type stuff. Remember that this result came out of Len Adleman's lab; If you're aware of who Adleman is, then I assume you'll agree its likely he was quite aware of this fact. If you don't know who Adleman is... well, I assume anyone mathematically literate enough to come up with the (quite correct) argument that you made would have to be at least passingly familiar with him.

      If you're interested in attacks on DNA computing, I highly recommend reading:

      Juris Hartmanis. On the weight of computations. Bulletin of the European Association For Theoretical Computer Science, 55:136--138, 1995.

      Its short, but sweet.

      As for the "no person could complete by hand" bit; I have to agree with you. The concept of "doable by hand" is pretty ill-defined. In any case, thats not the *real* point of the paper. The point is that the lab tech who implemented the computation did not know the solution a priori. Seems like a pretty obvious control, but so far all previous experiments have been so trivial that a human (or moderately skilled monkey) could trivially see the answer just by looking at them.

  3. Real article by mnordstr · · Score: 5, Informative

    Here is the article at USC which covers the subject, including an interesting picture!

    1. Re:Real article by bcrowell · · Score: 5, Informative

      And here's the group's web page, including their preprints and FAQ. No preprint of the present paper, though.

  4. And in 5 years Microsoft will say... by Ozan · · Score: 5, Funny

    ...it's not a bug it's a mutation.

  5. Which OS? by Gangis · · Score: 3, Funny

    Which OS did they use? Microsoft DNA?

    *rimshot*

    --
    "Black holes are where God divided by zero." - Steve Wright
  6. for comparison sake by Alien54 · · Score: 3, Funny
    It would be interesting to find out what the comparitive time for finding an answer would be for common conventional computers. vs this process.

    at least we would have a benchmark of sorts.

    I imagine that the problems of creating a truly AI computer will be solved using a DNA based computer.

    ;-)

    --
    "It is a greater offense to steal men's labor, than their clothes"
  7. Re:I must resist.... by Mr+Teddy+Bear · · Score: 2, Funny

    Actually, the beowulf comment MIGHT actually be applicable this time. Because that is what clustering is all about. So really... a beowulf cluster of digital machines is an attempt at making one huge DNA machine.

    Now if only they could stop making the damn DNA computer morph into Bill Gates. And I thought sheep were baaaad.

  8. LSD by GigsVT · · Score: 2, Insightful

    And to think, LSD made this all possible

    "Would I have invented PCR if I hadn't taken LSD? I seriously doubt it,"

    -- Dr Kary Mullis, Nobel Prize Winning inventor of the Polymerase Chain Reaction that allows pretty much all the modern research in DNA technology.

    And to think on the same Google search that I found that, there was a sponsered link to "How drugs support terrorism" from the government.

    --
    I've had enough abrasive sigs. Kittens are cute and fuzzy.
  9. It's only a matter of time... by guttentag · · Score: 4, Funny
    before we hear:

    It looks like you're attempting mitosis. Now would be a great time to sign up for a Passport account. WARNING: Are you sure you want to attempt mitosis without a Passport account? Your ancestors may regret it!

    And on the other side of the coin, the Open Source DNA advocates will be saying:
    You don't need a Passport account to have kids, honey. Yes, it's perfectly safe. Support? Who the hell told you Microsoft was going to support our child?! A free PC?!

  10. don't hold your breath by hyrdra · · Score: 3, Interesting

    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. They are optimistic that such 'molecular computing' could ultimately allow scientists to control biological and chemical systems in the way that electronic computers control mechanical and electrical systems now.

    Huh? What they did here is use the self-construction property of DNA whereby only the respective nucleotides A, T, C, and G only form a bond with their compliment.

    That means you can have millions of solutions and the whole thing will solve itself because only the correct solutions 'fit' into the problem which you have represented in the ATCG language. You can do the same thing when you add more variables, and it's just as easy. That is something very hard to do with electronic computers, because they deal with information on the quantity level whereas DNA is able to solve a problem on the problem "abstraction" level itself.

    However, conventional *serial* problems are something very hard to do with DNA, because it involves the manipulation of a single strand whereas you would be working in parallel with millions, even billions of strands for NP complete problems. A DNA strand is infismal compared to today's current Si processes, where we measure things in micrometers. DNA is in the single nanometer range. That's several 100 times smaller than a single wavelength of light.

    I don't think DNA will be viable for most standard computational tasks, or for a practial turing machine. Biological systems don't use DNA to do logical operations (that I know of), and the only thing they use it for is for data storage (instructions for building proteins). The only operations (under normal circumstances) an organism does with DNA is copy. Mutations (reversals, transpositions, etc.) occur because of chemical errors. That is the only operation it does really.

    This all seems very interesting albeit limited to the lab.

    --


    "I'll just chip in a bit for RedHat: I actually have that installed on my university machine." - Linus, '95
    1. Re:don't hold your breath by isenguard · · Score: 2, Insightful
      However, conventional *serial* problems are something very hard to do with DNA, because it involves the manipulation of a single strand whereas you would be working in parallel with millions, even billions of strands for NP complete problems.

      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. Nobody seems to be suggesting that DNA computers should be used for serial problems that we can already solve with conventional computers. However, being able to solve SAT (and hence other NP-hard) problems more efficiently is incredibly useful, because SAT problems exist that we can't (and might never be able to) solve using existing techniques.

    2. Re:don't hold your breath by MarkusQ · · Score: 3, Informative
      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

    3. Re:don't hold your breath by isenguard · · Score: 3, Informative
      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!

    4. Re:don't hold your breath by Nagash · · Score: 4, Interesting

      I don't think DNA will be viable for most standard computational tasks, or for a practial turing machine.

      No (respected) person in the field of DNA computing thinks that DNA computing will be practical for everyday tasks. It's just too slow. (For that matter, no turing machine is practical. Every try to program one?)

      For the record, I (Geoff Wozniak) am a graduate student of Dr. Lila Kari, a well known member of the field of DNA computing. Incidently, Lila was involved in the project talked about in the article.

      However, what DNA computing could be useful for in the future is solving problems that can take electronic computers far too long to figure out. Consider the SAT problem that was solved in this article. Suppose we are able to get DNA to solve SAT problems with hundreds of variables. Sure, it might take a week to do it, (maybe even a month), but it sure beats waiting for millions of years.

      Quantum computers, however, could change the whole spectrum. However, they are not as evolved as "DNA computers" are right now and I suspect they may take a longer time to be viable.

      Biological systems don't use DNA to do logical operations (that I know of), and the only thing they use it for is for data storage (instructions for building proteins). The only operations (under normal circumstances) an organism does with DNA is copy. Mutations (reversals, transpositions, etc.) occur because of chemical errors. That is the only operation it does really.

      Biological systems do a lot more than just copy. Look up work by Landweber and Kari on ciliates and gene rearrangement, for starters. In addition to copy, biological systems also to extracting/cutting, filtering, and pasting/annealing.

      You mentioned data storage. Here is where the real benefit of DNA could come into use. The way genes are expressed using only A, C, G, T is quite remarkable. The real advantage of DNA computation lies, imo, in the encoding proerties of DNA. The language of DNA has incredible error-detecting/correcting capabilities. Our work is focusing on learning more about this language and using it for the computational process in some way. I/O would be slow to DNA, but if it can store huge quantities of information, it's worth the effort, especially if better ways for long term storage can be found (of which there is a good chance).

      You have to think outside of the conventional computing process to see why DNA computation is so interesting. The problem is that "computers" and "electronic" seem to be synonymous, which they are most certainly not.

      Woz

    5. Re:don't hold your breath by MarkusQ · · Score: 2
      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

      I assume you are refering to the post by Hydra; my only prior post on this topic was a reply to you, not visa versa.

      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.

      But (I claim) they have only distributed the work, adjusting the time required by factors that depends on things like:

      The number of DNA strands they use (which goes up roughly as the cube of the liniar scale of their reaction chamber(s), or linarly with cost of reagents, and goes down liniarly with n. The length of time that it takes two strands to bind (liniar with length, IIRC). Chance of mismatch (best case coding, liniar with length, but could easily turn into a birthday problem). Etc.
      Note that these are all polynomial factors, and some of them work against you; you haven't really changed the NP-ness of the problem. Yes, this is cool work, and I'm glad they are doing it; no, it doesn't affect the math, any more than faster CPU's (for which I am also glad) do. To me, a "breakthrough" would be something like cracking NPC or proving that that was impossible. Everything else is just technology.

      -- MarkusQ

    6. Re:don't hold your breath by roman_mir · · Score: 2

      A computer capable of increasing it's memory size by literary multiplying its memory cells - or growing (of-course I would have to feed it!) A computer that will solve tasks in parallel and will increase its solving power by growing more and more CPUs (brain cells if you will) A computer that has every brain cell connected with every other brain cell (the power is not the number of cells but number of connections between cells) A computer capable of abstract thinking, A computer aware of its own existence, A computer capable of real language communications, A computer that you can communicate with directly with no other input system than your own brain, A computer capable of reproducing itself with various mutations that may or may not improve the next computer generation powers, A computer consisting of trillions of living organisms that combine all computing and storage capacities of every separate organism into one huge organic computer, A computer capable of figuring out who I am without me having to remember any passwords, a computer capable of winning GO, and finally, me being a part of this enormous computing system being able to know everything that is worth knowing all at the same time as writing this goddamn web based application I am currently working on. This is the computer I want.

    7. Re:don't hold your breath by mgv · · Score: 2

      The only operations (under normal circumstances) an organism does with DNA is copy. Mutations (reversals, transpositions, etc.) occur because of chemical errors. That is the only operation it does really

      Actually, we do alot more than that. How do you think that our immune system works? Every immune globulin is coded in DNA. Do you think we have DNA to produce an immune globulin to every possible molecule? Nope. We rearrange our DNA to produce matching (ie., stereochemical gloves that fit a specifically shaped and charged molecule) immune globulin. There may be similar stuff for our sense of smell.

      Its alot more complex than that. Just like true neural computing has to do more than just weigh up a series of electrical inputs to a nerve - there are local and systemic hormonal messengers.

      Its easy to make a mistake by interpreting a technology only in terms of your current understanding of technology. See my .sig with regard to this.

      Michael

      --
      There is no cryptographic solution to the problem where the intended receiver and the attacker are the same entity.
    8. Re:don't hold your breath by Nagash · · Score: 2

      Except don't forget that the time-complexity of a serial computer is the space-complexity of a parallel computer, for example this one. note that the solution has to be present at the beginning of the algorithm, which for a SAT problem with a few hundred variables would quickly use up all the matter in the universe.

      This assumes one thing: that we continue to use the same encodings we have up to this point. I doubt this will be the case. I'm sure ways will be found to come up with better encodings and methods for solving problems of this scale. The field is only 8 years old, remember.

      Woz

    9. Re:don't hold your breath by sh_mmer · · Score: 2, Insightful


      to the extent that the space complexity of DNA computers can be improved by clever encodings, the time complexity of classical computers can be improved using the same encodings.

      that's simply because DNA computers are just a bunch of little computers which can be simulated with equal overall complexity (space complexity X time complexity) by one big computer. i'm not saying that DNA computers (or some other form of super-parallel computers) won't ultimately be much faster than conventional computers (i work with parallel algorithms in my research). what i'm saying is that exponential complexity algorithms won't be implemented in polynomial space and time, even by DNA computers, which is what the previous poster was implying (SAT is NP hard.)

      cheers,

      --
      Interested in learning Chinese or Japanese? check out Chinese/Japanese-English Dictiona
  11. What is P vs. NP and why should I care? by rtos · · Score: 5, Informative
    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 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 at Clay for a really good description (unfortunately too long to quote here). And lastly, you might want to check out Tutorial: Does P = NP? at VB Helper for a little more info.

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

    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. :)

    --
    -- null
  12. Re:Nice, but... by s20451 · · Score: 2

    Indeed. The advantage of DNA computing is massive parallelism, but consider the 3-Satisfiability problem (the classic NP-complete problem) with n predicates. Regardless of the number of parallel processors (be they silicon or DNA), the only known algorithm has complexity O(2^n), which means:

    • For n=10, a few thousand operations are required.
    • For n=30, a few billion operations are required.
    • For n=250, somewhere around 1e+80 operations are required, which is roughly the same number as the number of atoms in the universe.

    So imagine a DNA computer consisting of every atom in the universe -- even for this computer, a solution to 3-Satisfiability for n>250 would be basically hopeless.

    --
    Toronto-area transit rider? Rate your ride.
  13. Read the article by lars · · Score: 2
    Adleman and co-workers expressed their problem as a string of 24 'clauses', each of which specified a certain combination of 'true' and 'false' for three of the 20 variables. The team then assigned two short strands of specially encoded DNA to all 20 variables, representing 'true' and 'false' for each one.

    Clearly the problem was 3-SAT.

  14. Errata: First Complex Electronic Solutions by Baldrson · · Score: 3, Informative
    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 it is untrue that complex computations weren't being performed electronically until the 1960s.

    The History of Unisys 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.

  15. Comparable to 1960s computers by isenguard · · Score: 3, Informative
    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).

    1. Re:Comparable to 1960s computers by Thing+1 · · Score: 2
      ... proposed by Davis et al, whose procedure is still in use today for solving SAT problems.

      Wish I knew about that in high school, my SATs were abysmal.

      --
      I feel fantastic, and I'm still alive.
  16. Bizzare order by nusuth · · Score: 2
    That means you can have millions of solutions and the whole thing will solve itself because only the correct solutions 'fit' into the problem which you have represented in the ATCG language.

    Well, the way you stated the problem, all problems are solvable (on a digital computer) in linear time wrt problem representation The most amazing order I've seen so far.

    Hint: char alphabet[]="AGCT";

    --

    Gentlemen, you can't fight in here, this is the War Room!

  17. Short answer NO by lars · · Score: 2

    Well, any computer can be used to attack crypto algorithms, it's just a matter of whether the computer can do so in a reasonable amount of time (like, say, the lifetime of the universe :) ). With current technology, it is not possible to break these algorithms, because the problems they are based on are believed to be hard. You can view this DNA computer as simply just being a new architecture, like Intel or SPARC. It's cool, but it has no effect on the dificulty of problems. The computing models computational complexity theory is based on are mathematical, and do not depend on any physical implementation of a machine.

    Quantum computers are a slightly different story. They are theoretically non-deterministic machines that can solve all problems in NP in polynomial time. In theory, with a big enough quantum computer you could break all currently used encryption schemes, but in practice, no one has really come close to building a quantum computer to actually do anything non-trivial let alone useful. I've heard it suggested (I don't really know anything about quantum mechanics, so maybe the physics geeks in the crowd could comment on this and let me know if I'm full of crap) that it may be the case that while a quantum computer may be able to solve NP-hard problems in polytime, the difficulty and complexity of building such a machine might be proportional to the difficulty of solving the problem in P.

    If this is the case, then even if it's theoretically possible to build quantum machines to break known crypto algorithms, in practice it would be infeasible to do so. If the complexity of building the machine doubles when you add a qbit then you may as well just use a deterministic computer and wait a few billion years for your answer.

  18. Obligatory by lars · · Score: 2

    Imagine a Beowulf cluster of these!

    But seriously, I imagine these things must be pretty slow, since they are powered by chemical reactions. I don't forsee one of these babies supplanting my desktop any time soon. Of course, the whole point is that this shows the power of genetics, and it is amazing in that sense, to think that life is basically created by computer programs. Fortunately Microsoft hasn't gotten into the DNA software market yet, I'd hate to have bugs growing out of my skin and stuff. :)

    1. Re:Obligatory by SpinyNorman · · Score: 2

      That's like saying that the brain is slow because it's based on chemical reactions...

      The whole point of this "DNA computer" is that it's massively parallel - it evaluates all possible solutions in parallel. Increase the size of your problem .. no biggie - just add another pint of "computer".

    2. Re:Obligatory by lars · · Score: 2
      That's like saying the brain is slow because it's based on chemical reactions...

      Yes, exactly -- what would you use if you wanted to factor a 256-bit prime, your brain, or a computer? Similarly, this technology isn't going to be useful for solving general computational problems. I imagine it would be very useful for controlling biological systems, but it's not something I'm going to pull out when I want to do some number crunching! That's my point.

      it evaluates all possible solutions in parallel.

      Which means it's limited by the number of solutions you can represent in parallel. You're not going to be able to use this to evaluate 2^1024 possible solutions in parallel, unless there's funky quantum mechanics stuff involved. There probably aren't that many particles in the universe.

      Increase the size of your problem .. no biggie - just add another pint of "computer".

      Not exactly. For a problem like 3-SAT (the problem they solved here), a linear increase in the size of the problem input = an exponential increase in the number of solutions they need to evaluate. If they doubled the input size from 20 variables to 40, they'd need to evaluate 1 TRILLION solutions in parallel instead of 1 million. So they'd need the equivalent of 1 million of these DNA computers running in parallel. I'd consider that more than "just another pint".

  19. Re:Nice, but... by gkatsi · · Score: 2, Informative

    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).

  20. Re:Is this new? by Lictor · · Score: 3, Insightful

    Well it certianly isn't the "first" DNA computer to solve a problem. However, it *is* the first one to solve a problem that would be seriously non-trivial for a human to do by hand.

  21. Preparation is extensive by Jobe_br · · Score: 2

    It seems to me that the amount of preparation that went into constructing the long strands and each of the truth sets is extensive. For this type of computing to become useful, it would appear to me that this construction of the parts necessary to carry out the computation would need significant work. I am very, very hopeful that DNA based computing as well as quantum molecular based computing will begin to make rapid gains in the very near future. The potential to astronomically increase the available computing power is there, I've read all the theories. It just needs to be made to happen :)

    Just imagine ... quantum computing devices become common, as do DNA based computing devices - each in their own niche, possibly (neither device may be promising as a 'general computing' device, but used in conjunction they may complement each other) and the article previously posted about table-top fusion from the collapse of bubbles provides us with practically limitless and clean energy to drive the energy needs of all our computing devices. I can't wait :)

    Add to that the possibilities for human augmentation by cybernetic implants and I feel that the day of Gibson's Neuromancer may be soon approaching. As the geek I am, I can't wait :)

    1. Re:Preparation is extensive by Jerf · · Score: 2

      Each of the possible 1 048 576 solutions were then represented by much longer strands of specially encoded DNA, which Adleman's team added to the first cell.

      Granted I'm not a bio-engineer, but it's very difficult for me to believe that DNA will ever solve a problem faster then the computer can.

      For this problem, millions of DNA strands were generated. I guarentee you the researchers didn't do it by hand. In the time the computer was instructing the hardware on how to make any given solution, it could have checked a thousand solutions. And the speed is accelerating.

      Maybe, just maybe, if the strands could be generated automatically by a gene-gen'ed life form, except for the query strand, this could keep up with conventional silicon. But that's a tough nut itself.

      I'm more intrigued by the QM computers... and I don't really believe in them, either.

      (Biological computing may someday take off. But I don't think it's going to involve DNA. DNA is not meant for computing in the sense most of us find interesting. The gymnastics necessary to answer this simple question demonstrates that, and unlike conventional computers, where there has always been a clear path of progress, exactly what part of this computation is going to be streamlined? Millions upon millions of unique strands must be generated; what's the equivalent of shrinking the transistor by a factor of 2? I'm not holding my breath.)

    2. Re:Preparation is extensive by Jerf · · Score: 2

      Not very feasible with silicon, but what about DNA or QC?

      DNA: Infeasible. You're still stuck with manufacturing 2^n processors, and this is not a trivial problem. You get into situations where "The entire universe must consist of DNA to solve this problem" in short order. 2^n problems are quite, quite hard.

      Also, the parralelism breaks down, the more DNA you use, something I don't see much acknolegement of. For truly huge problems, if the solution involves strand A finding strand B amoung 2^50 strands, that may take a while, i.e., never happen.

      QC: In theory yes. In reality, I'm quite skeptical of true QM. It requires Nobel-Prize-winning work in isolating the quantum states of a system from outside interference for any significant quantum computer, and that may still be trivializing the difficulty. I'm not holding my breath for "strong" quantum computing.

      One chemical reaction that takes place in a fraction of a second could be equivalent to a single processor going through quadrillions of calculations.

      No. Chemicals live in the real world too, where they have volume, mass, and take real time to react. I'll buy thousands, but not quadrillions.

      The possibilities are intoxicating!

      Yes, the hype proves that.

    3. Re:Preparation is extensive by Jerf · · Score: 2

      If a DNA strand can divide and replicate in seconds (or less) and that strand has billions of CGAT pairs on it, and this is what DNA based computing is trying to harness, then quite literally, billions of calculations or more can be computed in a fraction of the time it takes a serial processor.

      It is not; DNA computing does not use the replication of DNA.

      I'm far from an expert, but I think you're quite missing the point of DNA and Quantum based computing.

      DNA maybe, quantum most assuredly not; my opnion on that is well considered.

      These forms of computing *break* the typical way processing takes place, which allows them to compute at orders of magnitude faster than traditional computing devices.

      IF AND ONLY IF THEY WORK.

      You're attacking the theory of these types of computing devices (particularly in your bit about DNA) and that's really not up for discussion.

      Not clear on how science works, are we? Theories are always up for discussion, because that's directly related to is simply if it will ever end up working they way its intended. I'm saying no to "strong" QM, and I doubt it for DNA. DNA is no stronger that I can see then conventional computing, it just jumps us up a few factors of magnitude, which corresponds to a problem size increase of very little. (Study what NP-Complete means.) I'm beginning to wonder if it's mostly Biologists studying this.

      QM does open new possibilities, but only is some improbably conditions exist (complete or nearly complete isolation from outside influences for many many milliseconds for many many qubits? unlikely!), which are probably impossible.

  22. A few questions by sean23007 · · Score: 2

    This is interesting, but would it have worked at all if the scientists did not know the answer already? I mean, they set up all the variables, and then they set up all the possible answers, and the DNA just matched up with the one that they already knew to be correct. What if they didn't know which one was correct? What if there were a billion possible answers? Would they have to program them all in? At what point is it actually faster to use a computationally inefficient conventional PC instead because the compiler does the brunt work for you? Is this DNA method ever faster?

    Obviously, there are a lot of questions to be asked about this, but it will be very interesting to see what happens when somebody develops some kind of compiler for the DNA computer, and you can just input an equation and some parameters and in several minutes you have the answer... But until then, this doesn't seem all that useful. On the other hand, it is fascinating research, and by all means, they should continue research on it.

    --

    Lack of eloquence does not denote lack of intelligence, though they often coincide.
  23. 42 by edoug · · Score: 2, Funny

    As a testimate to the parallel computing power of DNA computers, an entire planet of DNA computers has produced the answer to the universe. However, now we must wonder as to what question this answer applies....

    --
    meh.
  24. already done... by oo7tushar · · Score: 2

    The details are a repost, this technology is "old" as in they did this same problem with travelling salesmen 2 years ago. Details were posted in SCIAM.com

  25. Recent 3-SAT results for "normal" computers by Alea · · Score: 2, Informative
    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.
  26. it's already in "Applied Cryptography" (B.Schneier by rkit · · Score: 2, Insightful
    This is not exactly news. The second edition of "Applied Cryptography" by Bruce Schneier already mentions DNA Computing in the discussion of key size.

    According to Schneier, Adleman was able to solve a Directed Hamiltonian Path Problem with 7 vertices already in 1994. It is interesting that it took 8 years to get from 8 to 20 vertices. The difficulties seem to be enourmous.

    Allthough this seems to be excellent research, I still doubt that this is significant for solving real world problems. After all, this is a brute force search (although a massively parallel one). But there are physical limits to consider: there are ~10^50 atoms on this planet, but this only in the order of 42!. (read faculty of 42...) So 42 may not be the answer after all, but the size of the problem...

    Modern algorithms for discrete optimisation can do much better than this. Travelling Salesman Problems in the order of several thousand cities have already been solved.

    --
    sig intentionally left blank
  27. tip of the iceberg... by areiosoltani · · Score: 3, Interesting

    I don't think DNA will be viable for most standard computational tasks, or for a practial turing machine. Biological systems don't use DNA to do logical operations (that I know of), and the only thing they use it for is for data storage (instructions for building proteins). The only operations (under normal circumstances) an organism does with DNA is copy. Mutations (reversals, transpositions, etc.) occur because of chemical errors. That is the only operation it does really.

    this is not entirely true. nucleic acids are responsible for quite a few things in the cell. yes, DNA is not very reactive, designed to be a stable archival form of genetic material, but RNA (ribonucleic acid) is a different story. derived from DNA, it has a 2' hydroxyl (-OH) group on its sugar (hence the name ribo- instead of deoxyribo- which has a 2' hydryl (-H) group) and is much more reactive, causing cleavage, ligation, and other enzymatic modifications. there are programmed errors and very regular processes in the cells, things like SOS DNA repair, nonhomologous end-joining, and crossing over, that can result in modification. there is so much here to study it can make your head spin! so don't count any of it out =)

  28. Re:Correct answer: maybe by lars · · Score: 3, Interesting
    nope, Intel and SPARC are serial architectures. This DNA computing is fundementally different. It's actually trying solutions in parallel. Since all the DNA chains are trying to link together at once, you can view this as simultaneous computations to the order of some number relative to the ammount of DNA you've got in your tube. In this way, you can view the DNA computations as more relative to quantum computing. The only problem is, there's a lot of time and money involved in setting up the ccomputation, and in finding your solutions from the muck.

    Actually, I disagree. Quantum computers are non-deterministic. These DNA computers, while being massively parallel, as you say, are still deterministic. If you can test a million solutions at once in parallel, that's great, but all it does is speed things up by a constant factor over trying them one at a time. It doesn't turn a super-polynomial time algorithm into a polynomial time one, because there's a limit to how many computations you can do in parallel.

    On a quantum computer or some other non-deterministic machine, the idea is that you can essentially perform all computations (with no limitation on how many) in parallel.

  29. Why DNA computing will never be practical by lukesl · · Score: 2, Interesting

    There is one serious flaw in DNA computing that people are sweeping under the rug, and that's that although the amount of time needed to solve the problem does not increase exponentially, the amount of DNA does. Off the top of my head, I don't know the amount of DNA needed to perform a given calculation, but one of my professors who works on this sort of thing showed us once that a calculation that could be done in a reasonable amount of time on a standard desktop computer would require more DNA than there is on earth. I'm sure there are ways to increase the efficiency of the process, but this is still a fundamental limitation of this type of computing.

  30. Re:Correct answer: maybe by mgv · · Score: 3, Interesting

    These DNA computers, while being massively parallel, as you say, are still deterministic.

    Yes. To put it in perspective, though, the average DNA base pair has a molecular weight of 610. So one mole of the substance (ie. 610 g) contains 6.022 x 10 e+23 base pairs.

    So, assuming that it takes you 10 days to set up a computation - approximately 10 e+6 seconds, you have 6 * 10 e+17 computational units per second. This assumes the computation time is trivial (which it is, compared to the set up time of 10 days do make all the DNA).

    Lets say that again. 600 000 000 000 000 000 computations per second. In a large beaker containing a few litres of solute.

    Of course, each unit only holds a quaternery bit of information (ie., one of four states for the four kinds of nucleotide).

    At the moment we have computers that can run in the GHz range, ie., 2 * 10 e+9 computations per second.

    A DNA computer will be able to operate at at least 8 orders of magnitude faster than any current conventional computer, and potentially at 10 e+12 times faster with increased amounts of DNA and faster setup times.

    It may be deterministic, but it will take us another 25+ years to get to this point on the intel roadmap - which of course should derail before then. In other words, this technology is faster than anything that can be or is likely to be done on silicon.

    My 2c worth.

    Michael

    --
    There is no cryptographic solution to the problem where the intended receiver and the attacker are the same entity.
  31. Past /. article questioning what would happen if.. by 3seas · · Score: 2

    What would happen if NP-Complete was solved?

    Many responses (IIRC) were regarding encryption encoding...

    several days after that article I ran across something that
    suggested the potential benefits far outweighted not doing it.

    Something regarding Space as in outer space and it's safety of us in it.

    Anyone have links to such information, as I seem to have forgotten and lost out of browser cache the link.

  32. Re:Past /. article questioning what would happen i by 3seas · · Score: 2

    How is solving the NP-Complete problem useful to NASA?

  33. Amdahl nit-pick. by Christopher+Thomas · · Score: 2

    In other words, this technology is faster than anything that can be or is likely to bedone on silicon.

    ...For problems that are easily parallelized to order 1e24 nodes ;).

    On the other hand, rendering Quake is massively parallelizable...

  34. Article on "How a DNA Computer Works" by scubacuda · · Score: 2, Informative

    Printable version of the article found here.

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

  35. Re:Correct answer: No by lars · · Score: 2

    You are missing my point.

    My point is that if your algorithm is exponential time, I can ALWAYS beat your machine. All I need to do is double the size of the input I give you, and you're forced to SQUARE the speed of your machine to keep up. The only way you can build a machine that can defeat me is if it is a non-deterministic machine (which DNA computers are NOT), or if P=NP and you manage to find a polytime algorithm, which is unlikely.

    Consider your example of a 610g DNA computer. And forget about the setup time and let's assume you can perform 10^23, or let's say 2^80 computations per second, and that you never have to intervene to re-configure the machine after exhausting the solutions you're trying. It would still take you 2^944 seconds to solve a 1024-variable instance of 3-SAT. Even if you build one of these that uses 610kg of DNA, the factor of 2^10 speedup would be insignificant. Now you can solve the problem in 2^934 seconds -- big deal! In fact, you could NEVER solve a 1024 variable instance of 3-SAT by naively testing all possibilities using a DNA computer because there aren't enough particles in the universe to represent even a tiny fraction of the solutions!

    Maybe you know all of this already. But the poster I was responding to suggested (at least in my interpretation of his post) that these DNA computers are comparable to quantum computers, and that "maybe" eventually they could be used to solve hard problems such as those which are used in cryptography. And that's still absolutely false, unless P=NP, since there are crypto algorithms based on NP-complete problems. Even those which aren't (factoring) are believed to be hard enough that they probably aren't vulnerable (only current key sizes would be).

  36. Re:Correct answer: No by mgv · · Score: 2

    You are missing my point.

    I'm not missing your point. I understand the difference between having massively parallel system and something that is not deterministic

    In fact, you could NEVER solve a 1024 variable instance of 3-SAT by naively testing all possibilities using a DNA computer because there aren't enough particles in the universe to represent even a tiny fraction of the solutions!

    Thats a strong statement. It assumes that all solutions have to be present at once, not sequentially over time, or indeed that a DNA computer has to have all the solutions prefabricated in the first place. It is possible that DNA computers could assemble the answers from base pairs, for example.

    My point is that if your algorithm is exponential time, I can ALWAYS beat your machine.
    As I understand it, quantum computing currently has extreme scalability problems going beyond a few (? 11 AFAIK) qbits, as its hard to make a molecule big enough to hold all the quantum states.

    So you make that comparison based on my worst case scenario (that every answer has to be prefabricated), your best case scenario (that you can read the quantum state of a large molecule), and the assumption that you can simply increase the complexity of a problem until a non deterministic approach is faster.

    Personally, I was just commenting that DNA compting is very, very fast in principle. Perhaps we ought to rething 128 bit key lengths even on the basis of this. By the way, if quantum computing becomes practical, just how long will the key length need to get :) :) :)

    My 2c worth

    Michael

    --
    There is no cryptographic solution to the problem where the intended receiver and the attacker are the same entity.