Hoofdcategorieën

Dna-computer kan overweg met eenvoudige logische operatoren

Door Willem de Moor, vrijdag 7 augustus 2009 19:55
Submitter: fevenhuis, views: 11.854

Onderzoekers zijn erin geslaagd een 'dna-computer' te programmeren met behulp van biochemische logische bouwstenen. Bijzonder is dat hun werkwijze lijkt op de manier waarop elektronische computers worden geprogrammeerd.

De werkwijze van de Israëlische wetenschappers wijkt af van de gangbare manier waarop dna wordt ingezet om rekenkundige problemen op te lossen. Tom Ran en Ehud Shapiro van het Weizman Instituut in Israël leggen in Nature Nanotechnology uit dat ze in staat zijn om met biochemische bouwstenen eenvoudige logische programma's te maken. Het programmeren van de dna-computers zou met hun methode eenvoudiger zijn en meer lijken op de manier waarop normale, elektronische computers geprogrammeerd worden.

Het team stelde een systeem van in speciaal geconstrueerde moleculen vastgelegde regels en feiten voor de dna-computers samen. Door deze bouwstenen te combineren, konden zij het dna conditionele vraagstukken voorleggen, die via chemische processen worden beantwoord.

Om de juiste chemische bouwstenen en dna-strengen efficiënt bij elkaar te brengen, maakten de Israëli's gebruik van een robot. Deze vertaalt de logische vraagstukken naar de juiste combinaties van chemische stoffen. Wanneer het dna een antwoord heeft gevonden, wordt een fluorescerend molecuul van zijn inhibitor ontdaan. Deze remmer wordt verwijderd door een enzym, dat wordt geactiveerd wanneer het juiste antwoord is gevonden, waarna het dna groen oplicht.

De onderzoekers beweren dat hun werk de deur openzet voor programmeerbare moleculaire computers. Zij stellen dat de logica die op elektronische computers wordt gebruikt, ook voor hun dna-computer kan worden gebruikt. Daarmee zouden de biochemische computers op gelijke voet  met traditionele computers kunnen komen. De dna-computers hebben echter een streepje voor door hun enorme parallelle verwerkingskracht: miljoenen biochemische processen kunnen tegelijk aan de oplossing van een probleem werken.

Volgende 11:05
Vorige 18:38

Reacties


Is het wel de beste manier van nieuwe technologie, om oude principes toe te passen op totaal nieuwe technieken ?

Dat het economisch een ramp is om alle software aan te passen, kan wel waar zijn. Maar vooruitgang moet er zijn, anders moet men binnen dit en zoveel jaar toch nog naar de "nieuwe" methode. Dit lijkt me eerder een manier om de drempel te verlagen om investeerders te vinden.

Op zich is er niets mis met het bestaande binaire systeem, dat voldoet uitstekend. Maar mocht je een beter idee hebben, dan nodig ik je uit om dat in de praktijk toe te passen - of gewoon 't idee hier te noemen :).

Vergeet niet dat de eerste computers in principe volgens het decimale stelsel werkten, maar in de praktijk bleek dat toch niet het juiste antwoord te zijn. Door de processen aan te passen naar een binair systeem, heeft men de boel simpeler gemaakt en is daarna aan verdere verbeteringen (ik geef toe, met name op het gebied van snelheid) gaan werken.

Nu zou je misschien een ternair systeem kunnen toepassen, of een decimaal of misschien ook wel een hexadecimaal systeem in de 'dna-computer'. Maar met moet er wel voor zorgen dat de waardes duidelijk blijven qua verwerking - dat was ook 1 van de problemen van de decimale electronische computers, de waarde kon zomaar van 9 naar 8 springen omdat de spanning onderweg afnam...

Door de lessen van het verleden hier ook toe te passen, heeft men in elk geval resultaat bereikt. Men kan altijd nog werken aan een slimmere/betere manier om de 'dna-computer' te laten werken...

Zover ik weet gebruiken we een binair systeem omdat dat het enige systeem is dat technisch haalbaar is dankzij het gebruik van eerst buizen en nu transistoren. Het binaire systeem volgt logisch uit de electronische technologie. Een decimaal systeem zou voor ons tienvingerigen een stuk handiger zijn.

Als er een technologie zou komen die ons toelaat meer dan binair of zelfs in een willekeurig stelsel zou kunnen laten werken zou dat met open armen ontvangen worden.

Het is vaak de kunst om het systeem eerst zo simpel mogelijk te maken en daarna verder te gaan verbeteren. Er is geen simpeler systeem te verzinnen dan het binaire systeem, dus is dat in elk geval een goed uitgangspunt.

Op het moment dat men natuurlijk in staat is om meer te bereiken met een 'dna-computer', dan is dat uiteraard ideaal - maar om nu direct te beginnen met een decimaal systeem lijkt me vragen om een combinatie van 2 problemen.

Vergeet niet dat er heel veel kennis is van het oplossen van problemen in een binair systeem, maar om dit nu ook te doen - in een computer - op een decimale manier is minder bekend.

Verder maakt het niet uit hoe het ding intern werkt, als het voor berekeningen maar de waarde decimaal weergeeft (hoewel het wel zo is dat een FPU wel anders rekent dan mensen vanwege het feit dat'ie slechts binair is). Als wij mensen slechts 8 vingers hadden, dan hadden we allemaal octaal geteld, decimaal is ook maar een keus vanwege de mens...

Lichtelijk offtopic: dit klopt inderdaad, Mayanen gebruikte bijvoorbeeld een stelsel met 20 (vingers en tenen), "The Yuki language in California and the Pamean languages in Mexico have octal systems because the speakers count using the spaces between their fingers rather than the fingers themselves" (wikipedia), en uiteraard nog veel meer (met wellicht minder logische uitleg erbij).

Als er een technologie zou komen die ons toelaat meer dan binair of zelfs in een willekeurig stelsel zou kunnen laten werken zou dat met open armen ontvangen worden.
Die technologie werd het eerst gevonden, analoge schakelingen :), en was niet zo handig en uitermate moeilijk. De uitkomst hoeft zelfst geen integer meer te zijn, maar een reeel getal. Nadeel? De componenten moeten van hoge kwaliteit (lees: heel duur) zijn.
Het voordeel van binair is net dat je ervoor kunt zorgen dat als de uitkomst bv boven 2 volt ligt het een 1 is, onder 2 volt is het 0, en dan zorg je dat er een uitkomst van ongeveer 0.5 en 5 volt mogelijk is, dan is er al een behoorlijke afwijking nodig om het resultaat te verknoeien, en dus kunnen er goedkopere componenten gebruikt worden. Het nadeel is dan weer dat je er heel veel nodig hebt (denk maar aan miljoenen transistors in een cpu/gpu).
Hoe meer mogelijkheden, hoe duurder de componenten moeten zijn.

quantumcomputers uitgesloten :)

Via groepentheorie is het haalbaar om van een booleaanse algebra over te gaan naar een andere algebra (die voldoet aan dezelfde eisen, en dus uiteindelijk ook booleaanse algebra genoemd zal worden). Er is alleen een goed gedefinieerd homomorfisme nodig.

Het omzetten van binaire code naar een andere code is dus geen issue als een juiste algebra gevonden wordt.

Het is nogal complex om het hier allemaal uit de doeken te doen. Moest je interesse hebben, zoek op abstracte algebra.

De dna-computers hebben echter een streepje voor door hun enorme parallelle verwerkingskracht: miljoenen biochemische processen kunnen tegelijk aan de oplossing van een probleem werken.
Miljoenen CPU's kunnen toch ook parallel naast mekaar aan een oplossing werken. Voor beide gevallen is het nog steeds nodig om het probleem zo op te delen dat het parallel kan verwerkt worden.

Precies, het probleem is niet dat we binaire operatoren niet parallel kunnen laten lopen, maar dat het conceptueel bijzonder moeilijk is om deze operatoren aan een gezamenlijke opdracht te laten werken, waarbij de data wordt gedeeld.

Ik denk dat je het kan vergelijken met een kwantum-computer.

Stel u voor dat er 100 000 deuren naast elkaar staan, en iemand(lees: de oplossing) staat achter één van die 100 000 deuren.
Werkwijze gewone cpu: open deur één, open deur twee, open deur drie, ...
Werkwijze kwantum en blijkbaar ook dna-computer/processor: Alle deuren tegelijkertijd opendoen en kijken waar die persoon(lees: oplossing) zich bevind

Wacht niet te lang op die leerstoel "toegepaste biomechanica/kwantum mechanica" .. dat gaat hem niet worden knul..

je kan het beter vergelijken met een mechanisch telraam waar je een probleemstelling in vastzet en via een draaiorgel een oplossing eruit laat poepen.
het verschil met DNA is dat DNA op een moleculaire schaal werkt en daarom er een hoop op een speldenknop passen.

De reden waarom DNA is tweevoudig. 1. DNA is een flexibel en stabiel molecuul waar de bouwstenen en hulpmiddelen ruim voorhanden zijn, en 2. er is een hoop te vinden en te doen in DNA onderzoek.

In methode heeft het geen aarsch met quantum mechanica te maken behalve dan dat op het moleculaire niveau deze de aard van de onderdelen bepaald, maar niet de geimpliceerde functionaliteit dus.

Het gaat hier niet om een miljoen problemen tegelijk op te lossen, maar om miljoenen mogelijke oplossingen voor één probleem tegelijk door te rekenen. Denk aan handelsreiziger probleem, factoriseren van grote getallen (~= RSA-sleutels kraken), dat soort dingen. Ik kan trouwens niet garanderen dat die specifieke problemen "vertaald" kunnen worden naar DNA-computers, maar dan weet je in elk geval aan wat voor soort problemen je aan moet denken. Tuurlijk kun je dat ook door een miljoen CPUs laten doen, maar dat zuipt stroom en bovendien neemt het veel meer plaats in (er passen met gemak miljoenen strengen DNA in een bekerglas, dat zie ik met een miljoen cores nog niet lukken voorlopig ;) ).

Let op: als ik de techniek goed begrijp is er geen theoretisch verschil tussen een dna-computer en een gewonen computer. Beide zijn wel verschillend van een kwantum-computer

Het probleem van een `gewone' computer (en dus in mijn optiek ook een dna-computer) is dat het rekenproces discreet is. Tot op heden is er nog geen algorithm gevonden dat bijv. het hierboven genoemde "handelsreizigers" probleem `efficient' kan oplossen (zie wikipedia voor NP vs. P). Kort gezegd gaat het hier om een fundamenteel probleem waarbij een ver-miljoen-voudiging van de rekenkracht (lees dna-computing) theoretisch gezien niets, maar dan ook niets uitmaakt. (zie het onderwerp probleem complexiteitstheorie op wikipedia voor een uitgebreide uitleg).

Een kwantum-computer draait op basis van een stochastic process (spin). Dat is fundamenteel anders dan dna/gewone computer. Men heeft -voor zover ik weet- nog niet kunnen bewijzen dat een uiteindelijk werkend model bijv. een handelsreizigersprobleem in linaire tijd kan uitrekenen. Men heeft een sterk vermoeden, maar de toekomst moet dat uitwijzen!

zat hier net aan te denken... stel dat we dat eens zou kunnen, TSP in lineaire tijd oplossen. Diegene gaat iig een boel centjes verdienen.

Wauw dit gaat echt vér boven mijn pet :O!
Ik vraag me af wat het gemiddeld IQ van die wetenschappers is :P

het uwe maal 2 :D

no flame intended, gewoon voor de grap.

[Reactie gewijzigd door GoBieN-Be op zaterdag 8 augustus 2009 01:47]


Dus als we straks een nieuwe pc kopen moeten we een druppel bloed erin doen voordat we kunnen beginnen? :+

En moet ik bij overclocken / upgraden denken aan slimmer worden of braintraining? ;)

Dit klinkt meer als een mogelijke manier om hun 'vijanden' te gaan herprogrammeren :/
Stel je voor dat ze met geïnjecteerde DNA de DNA van het slachtoffer / de vijand kunnen manipuleren... Ergens vind ik dit weer een uitvinding als de atoombom ;(

erm....DNA is gewoon een stof (zuur) hoor. dat betekent niet dat het opeens allerlei dingen gaat doen als je het binnen krijgt. "Injecteer" jezelf maar eens met wat planten DNA door een salade te eten. Dat geeft je niet plotseling de mogelijkheid om aan fotosynthese oid te doen :)

Er zijn mij een aantal zaken nog niet duidelijk.

Ik kan het volgen dat je verschillende DNA-computers naast elkaar kunt laten werken om tot de juiste oplossing te komen. Een niet nieuw concept. Ik kan me herinneren dat eind jaren 70 bij SARA (academisch rekencentrum in Amsterdam) een nieuwe CDC Cyber binnen gekard werd waardoor alle programma's omgeschreven moesten worden, vanwege de 64-bits architectuur met vectorrekening en parallelprocessing. Ook in deze computer werden parallel berekeningen uitgevoerd waarna met de goede uitkomst verder werd gegaan. Sterker nog er zat een stuk intelligentie in die de uitkomsten al voorspelde en daarmee verder ging (bleek het dus fout voorspelt, dan verdween het in de bittenbak, was het goed, dan had je een hoop tijd gewonnen). Jammer genoeg heeft deze computer toch niet gebracht wat men er van verwachtte (zie http://en.wikipedia.org/wiki/CDC_Cyber).

In het geval hier kan men "makkelijk" die parallel processing realiseren. Immers we werken met het relatief kleine DNA, waarvan op een flexibele manier een hoop van voorhanden kan zijn. Maar als ik het artikel goed lees (althans het BBC artikel, ik ga de echte ook eens bekijken) dan werken ze met een robot die de juiste DNA voorzet om het (bekende, eenvoudige) probleem op te lossen. Het antwoord is dan ook alleen "maar" een "Ja" of een "Nee".

Wat moeten we aan met de uitspraak van Prof. Shapiro:
"It is important to note that, while bio-molecular computing trails behind electronic computing - in terms of actual computing power, maturity of the technology, and sheer historical progression - at the conceptual level they stand side-by-side, without one being a more 'preferred' embodiment of the ideas of computation,"
Hij zegt dat de bio-moleculaire computer conceptueel even ver is als de elektronische computer, maar tegelijk dat ze er nog ver bij achter lopen. Is het probleem niet enorm om een concept om te zetten naar een werkend model? Iets dat bij elektronische computers al aardig is gebeurd, maar bij de bio-moleculaire computers nauwelijks? Conceptueel is de hierboven door mastadizzy aangehaalde kwantumcomputer ook al heel erg ver en als ik dan ergens mijn geld op zou moeten zetten......

Het probleem lijkt mij dus vooral te zitten in de compiler, de robot die de zaakjes moet regelen. Op dat moment ontgaat mij dan weer het voordeel van de vele parallel processen, immers de robot zal het DNA zo construeren dat er een goed antwoord uit gaat komen. Daarna hebben we het probleem van het uitlezen van het antwoord. Nu hebben ze voor testdoeleinden daar een molecuul "overheen geplakt" die weggehaald wordt als het antwoord goed is. Dit konden ze doen omdat ze wisten wat het antwoord is! Straks weten ze dat niet en moeten ze het antwoord (chemisch?) uitlezen om daarna daar weer mee verder te rekenen. Ondanks dat Shapior stelt dat er geen verschil is tussen simpele en complexe vraagstukken
"Of course when the examples are simple, as in today's logic program, one can pre-compute the answer with pencil and paper. But in principle there is no difference between simple and complex computer programs; they can compute only what they programmed to compute.
denk ik dat daar toch wel eens een bottleneck zou kunnen zitten.

Daarnaast brengen chemische computers ook nog wel de nodige problemen met zich mee. Fuji-films heeft (had?) een groot research laboratorium hier in Nederland om te zorgen dat de kleuren op hun films er hetzelfde uitzagen als in Japan.
Tijdens mijn bijvak practicum (anorganische chemie) stond er bij mij op het lab een professor uit Colombia die om humanitaire redenen bij ons aan het werk was. In Colombia had hij een methode ontwikkeld om bepaalde stoffen te bestuderen. Deze methode kon hij jaren lang niet gereproduceerd krijgen bij ons om een of andere duistere reden. Na veel zoekwerk bleek ons oplosmiddel een iets andere zuurgraad te hebben dan in Colombia, waardoor de reacties compleet anders verliepen.
Wat ik met het laatste voorbeelden wil zeggen is dat chemische reacties extreem gevoelig (kunnen) zijn voor externe omstandigheden. Dat kan zijn het niet constant houden van de temperatuur, iets andere reagentia, enz. De reproduceerbaarheid is hierdoor ook erg kritisch.

Dus, stel dat zo’n bio-moleculaire computer inderdaad toekomst heeft, hoe ga je dan garanderen dat hij overal op de wereld dat gaat doen wat hij nu ook in Israël doet. Hiervoor zal nog eens jarenlange research nodig zijn, om dit allemaal in de vingers te krijgen.

En dan nog een kanttekening die mij (naar de verre toekomst toe) een weinig verontrust:
While the current work may raise the bar for programmable, molecular computing, Professor Shapiro said: "the ultimate applications are in programmable autonomous computing devices that can operate in a biological environment."
In other words, computers that go to work inside a cell.
Een volgende stap van die computer: zelfreproductie zonder tussenkomst…….? Iets waar ik me bij de huidige elektronische computers (misschien onterecht), binair of kwantum, niet zo’n zorgen over maak. Misschien is dat wat Grrmbl hierboven bedoeld met een uitvinding zoals een atoombom.

Het potentieel van die technologie is volgens mij niet om er stabiele computers mee te bouwen die de onze zullen vervangen, maar eerder om processen te ontwikkelen die weinig verbruiken, op korte tijd enorm veel 'werk' verzetten en relatief goedkoop repliceerbaar zijn.

Vooral in de geneeskunde lijkt me dit zeer nuttig. In de eerste plaats om genetische codes van virussen zoals HIV te 'verslaan', of nog een stapje verder...
Stel je bijvoorbeeld binnen dit en honderd jaar geavanceerde genetische behandelingen voor waarmee miljarden nano-sondes je cellen binnendringen om een virus te vernietigen, kanker te bestrijden of zelfs genen te repareren. Men zou de klassieke geneeskunde volledig naar de geschiedenisboeken kunnen verwijzen.

Het is uiteraard niet ondenkbaar dat men er ook één of ander 'doomsday device' mee kan ontwikkelen, maar uiteindelijk is het de maatschappij die zich moet aanpassen aan de omstandigheden die door technologie worden gecreëerd, niet andersom. Anders komen we nergens...

Wat is nu eigenlijk het echte doel van biologische computers, is het speciaal bedoeld voor biologische toepassingen, mutatie's en dergelijke ?

Uiteindelijk zijn het weer electronische robots die dingen inelkaar gaan zetten, waarom zo als we ook quantum technologie hebben, immers is elke materie ook energie.
Inlog formulier

Je moet inloggen om te kunnen reageren.

Reactie formulier
Volgende 11:05
Vorige 18:38
VNU Media logo Powered by True

© 1998 - 2009 Tweakers.net - Alle rechten voorbehouden

Uitgever van:
Klik hier!
Klik hier!
Klik hier!