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."
Press release here... (Score:1)
is this breakthrough a threat to security? (Score:2, Interesting)
Short answer NO (Score:2)
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.
Re:Short answer NO (Score:1)
Any instance of a NP complete problem can be solved by a deterministic computer in a fixed time. Often, throwing more computers at the problem lowers the time linearly, so for that specific problem, the time can be as low as wanted. It is just that the number of computers you have to throw at the problem grows very fast as the problem size grows. What they have shown here is that DNA computing works at somewhat large problems, but 2^20 could be bruteforced just as easily.
Now, you calim that Quantum Computing can solve ALL NP-complete problems. That is not known. The group of problems that are polynomially quantum-commputable are a subset of the NP problems which is not known to include any NP-complete problem.
(We don't know that it doesn't, since that would mean that we knew that PNP, and we would have heard that
Factoring can be performed effectively by a qunatum computer, but is not NP complete.
(It is in NP intersect coNP, incidentally).
/RS
Re:Correct answer: maybe (Score:3, Interesting)
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.
Re:Correct answer: maybe (Score:3, Interesting)
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
Amdahl nit-pick. (Score:2)
...For problems that are easily parallelized to order 1e24 nodes
On the other hand, rendering Quake is massively parallelizable...
Re:Correct answer: No (Score:2)
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).
Re:Correct answer: No (Score:2)
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
Re:is this breakthrough a threat to security? (Score:2, Interesting)
he would be the 'A' in RSA.
questions, questions (Score:1)
Re:questions, questions (Score:1)
I look forward to when this will find a practical use. It is certainly possible. Hopefully this experiment generates some interest, not to mention good ideas for future DNA computers.
Which problem? (Score:3, Interesting)
I'm guessing 2-SAT; can anyone confirm/deny this?
Re:Which problem? (Score:1)
Re:Which problem? (Score:1)
Re:Which problem? (Score:2, Informative)
Re:Which problem? (Score:2, Informative)
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...
Re:Which problem? (Score:2, Interesting)
Re:Which problem? (Score:2)
The first problem proved NPC was general CNF SATISFIABILITY, by Cook in 1971 [epita.fr]. 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.)
Re:Which problem? (Score:1)
Re:Which problem? (Score:1)
Read the article (Score:2)
Clearly the problem was 3-SAT.
Re:Which problem? (Score:3, Informative)
Re:Which problem? (Score:1, Informative)
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.
Re:Which problem? (Score:2)
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.
Nice, but... (Score:1, Informative)
Still, impressive!
Re:Nice, but... (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:
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.
Re:Nice, but... (Score:2, Informative)
Re:Nice, but... (Score:1)
This is the future... (Score:1)
It is really the time for searching new and more complex computer architechtures if we ever want to have true IA (a la HAL 9000). I always wondered why ppl insist on building neural nets based on ordinary computers rather than building them on dedicated neural hardware (expeeeensive, but needs to be tried more often).
Of course, today's computers do a good job resolving them, but there are too many architechtural limitations. Brains are a hella lot older than computers, and a hella lot more advanced (but very fragile).
Way to go dudes.
Re:This is the future... (Score:1)
The big setbacks of DNA computing are
1. Slow to setup
2. Takes a while to get results
3. Has a high rate of error [compared to a typical computer]
What people mistake is that while a DNA computer could test 2^n cases simultaneously it still takes a while to get the results back. During that time errors can creep in (this is real life...)
Tom
Real article (Score:5, Informative)
Re:Real article (Score:5, Informative)
And in 5 years Microsoft will say... (Score:5, Funny)
Re:And in 5 years Microsoft will say... (Score:1)
Which OS? (Score:3, Funny)
*rimshot*
I must resist.... (Score:1)
Re:I must resist.... (Score:2, Funny)
Now if only they could stop making the damn DNA computer morph into Bill Gates. And I thought sheep were baaaad.
Re:I must resist.... (Score:1)
Re:I must resist.... (Score:1)
Imagine a beowulf cluster of these!
It's easy to imagine, since that is basically what DNA computers are: clusters of DNA molecules.
They can put a lot of DNA molecules together and have them compute in parallel, which is why this has so much potential.
Re:I must resist.... (Score:1)
I think it's called the human body...
for comparison sake (Score:3, Funny)
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.
;-)
Re:for comparison sake (Score:1)
is computing power and parallel processing vs the inherently serial nature of todays conventional computing solutions. the benchmark idea is nice, but the BIGGEST problem with AI is trying to create a model that can handle every kind of input (and even one to start with would be nice) and be able to generalize concepts as well as learn independantly (without predefined associations between internal structure and external input).
computing power is nice, but we can't even create the correct models yet. even if its slow, at least it'll work. sure, DNA sounds nice...cause its biological ala humans, but beyond that, its just another computing method.
QED
I see now. (Score:1)
You took it very seriously because it hit a hot button.
There is a technical term for the comment I made about a DNA based AI computer.
It is called a "joke".
This is because of the cognitive dissonance between the usual attempts at AI using wires and cirsuits and such, the DNA from living creatures, where some form of awareness and intelligence can occasionally be found.
go have yer morning cup of coffee, and relax. perhaps you didn't see the smiley face in the original post.
Re:I see now. (Score:1)
QED
Re:for comparison sake (Score:1)
That would be even faster for newer and better algorithms.
Need to know all the answers? (Score:1)
So they had to go through and find all the possible answers and put them in the mix? I don't think this will every be a viable solution when to find the correct answer you have to know all the wrong ones as well. Part of problem solving is starting out with 0 answers. I bet they couldn't use the DNA computer to figure out all those 1048576 wrong solutions. Although I think it would be an interesting concept, until they can figure out a way to solve problems without knowing all the answers, I do not see how it could be used for serious calculations. I think it could possibly be the next great search engine, or maybe an RC5 engine. But how long would it take to encode 18,446,744,073,709,551,616 strands of DNA?
Re:Need to know all the answers? (Score:1)
In early Adleman experiments the correct solution is one where the opposing strands completely bind together. Then they use a comb+gel+electrode+glow_in_dark_radioactive_die. The shorter strands will make it further through the gel towards the electrodes. the longer [complete answer] strand will not move far.
Obviously new DNA computers use different filtering techniques...
Another thing you should read up on is PCR or Polymeraese Chain Reaction [and I know I can't spell]. Its a technique that won a Nobel prize. I don't recall the technique but it involves making each strand duplicate themselves. So to get the 2^64 strands you alluded to you apply the PCR technique 64 times.
[no mention of errors...]
Tom
Re:Need to know all the answers? (Score:1)
Cool, but... (Score:1)
The REAL article [usc.edu] states that
... device ..., electrons will be our computing friends for the foreseeable future.
"It would take a breakthrough in the technology of working with large biomolecules like DNA for molecular computers to beat their electronic counterparts".
So while the article also mentions code-breaking as an obvious application for this
LSD (Score:2, Insightful)
"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.
Is this new? (Score:1)
ISBN 3-540-64196-3
which discussed Adlemans experiements.
How could this article describe it as the "first" dna computer used to solve a problem?
Re:Is this new? (Score:3, Insightful)
Re:Is this new? (Score:1)
It's only a matter of time... (Score:4, Funny)
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?!
don't hold your breath (Score:3, Interesting)
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.
Bizzare order (Score:2)
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";
Re:don't hold your breath (Score:2, Insightful)
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.
Re:don't hold your breath (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.
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
Re:don't hold your breath (Score:3, Informative)
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:don't hold your breath (Score:2)
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:
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
Re:don't hold your breath (Score:1)
oh god......Microsoft is going to use this for their next generation Office File format!!!!!
now we will have to pay royalties to reproduce!!!!
Re:don't hold your breath (Score:1)
When I first started reading the article, I thought this was a big breakthrough for security and encryption (knee-jerk reaction, I know). When I saw "million-answer" and "Adleman", I thought he'd found a way to factor an enormous composite number into a million factors. Correct me if I'm wrong, but he is the "A" in RSA, right? I was very quickly disappointed.
This article is a total letdown and, dare I say it, neither news for nerds, nor stuff that matters. The sheer theoretical limitations of this project demands that this sort of thing will never, ever make it into common and public use until every Joe on the street has at least a BS in biogenetical engineering.
There are so many constraints to this kind of work that it will only ever be useful to academics with too much free time. Is it interesting? Sure, for some. Is it useful? I don't see how. When every Linux-loving 14-year-old out there has his own little genetics lab in his bedroom next to his homebrew Apache server, maybe this article will start to stir real interest on this site. This subject is so far removed from "real" computing, by which I mean conventional transistors and whatnot, that it's virutally useless to the computing community. Bravo, Dr. Adleman.
Re:don't hold your breath (Score:4, Interesting)
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 [csd.uwo.ca], 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
Re:don't hold your breath (Score:2)
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
Re:don't hold your breath (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,
Re:don't hold your breath (Score:2)
Re:don't hold your breath (Score:2)
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
Michael
What is P vs. NP and why should I care? (Score:5, Informative)
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. :)
Good links! (Score:1)
I am particularly enjoying the one on the link between Microsoft Minesweeper and NP complete problems
(Yes I remember when it was reported here, but it only linked to the guys academic paper which was too deep for me)
DNA computers (Score:1)
Of course, it won't be long until people are over clocking. Or worse, adding transparent case mods. *shudders*
Errata: First Complex Electronic Solutions (Score:3, Informative)
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.
Re:Errata: First Complex Electronic Solutions (Score:1)
So we have in 1946 'ENIAC developed', and in 1997, with about the same amount of emphasis: 'Lawrence A. Weinbach named chairman, president, and CEO. Unisys Windows NT servers lead industry in price/performance.'.
Comparable to 1960s computers (Score:3, Informative)
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).
Re:Comparable to 1960s computers (Score:2)
Wish I knew about that in high school, my SATs were abysmal.
The A in RSA (Score:1, Informative)
Ironic, by showing how to do 0computation with DNA he may be undemining RSA!
Obligatory (Score:2)
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.
Re:Obligatory (Score:1)
DNA base pairs are not held together by chemical bonding. That would be a really, really difficult. They're held together by hydrogen bonds. The breaking and formation of hydrogen bonds takes on the order of picoseconds (it's the same timescale as rotations in the medium, since that's the basic mechanism for their breaking). Furthermore, they can break and form in parallel.
You can read more about the mechanism for base pairing here [utexas.edu] or if you want to see google render the pdf here [google.com].
Re:Obligatory (Score:2)
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
Re:Obligatory (Score:2)
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".
Imagine... (Score:1)
becomes a monster (some cells actually incorporated problem DNA-s).
WoW!
Re:Imagine... (Score:1)
Preparation is extensive (Score:2)
Just imagine
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
Re:Preparation is extensive (Score:2)
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.)
Re:Preparation is extensive (Score:2)
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.
Re:Preparation is extensive (Score:2)
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.
A few questions (Score:2)
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.
42 (Score:2, Funny)
already done... (Score:2)
Recent 3-SAT results for "normal" computers (Score:2, Informative)
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:
Note: Things don't really get interesting until you get up over 500 variables for hard, random 3-SAT.
Re:Recent 3-SAT results for "normal" computers (Score:1)
It's important to realize... (Score:1)
it's already in "Applied Cryptography" (B.Schneier (Score:2, Insightful)
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.
Didn't Adleman do this something like 9 years ago? (Score:1)
tip of the iceberg... (Score:3, Interesting)
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 =)
Why DNA computing will never be practical (Score:2, Interesting)
Past /. article questioning what would happen if.. (Score:2)
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.
Re:Past /. article questioning what would happen i (Score:2)
Article on "How a DNA Computer Works" (Score:2, Informative)
(This is a good starting place if you want to know the basics.)
Re:Travelling Salesman (Score:1, Interesting)
looks like 3SAT to me.