Wat is DNA-computing, hoe werkt het en waarom is het zo’n groot succes
In het afgelopen decennium zijn ingenieurs in hun streven naar krachtigere computers gestuit op de harde realiteit van de fysica: transistors, de aan/uit-schakelaars die de computerprocessor aandrijven, kunnen niet kleiner worden gemaakt dan ze nu zijn. Voorbij de siliciumchip wordt momenteel een intuïtief alternatief ontwikkeld waarbij DNA wordt gebruikt om dezelfde soort complexe berekeningen uit te voeren als siliciumtransistoren nu doen. Maar wat is DNA-computing, hoe werkt DNA-computing, en waarom is het zo’n groot probleem?
Voorbij de transistor
Het probleem met transistors is dat ze nu bestaan op een schaal van een paar nanometer, slechts een paar siliciumatomen dik. Ze kunnen praktisch niet kleiner worden gemaakt dan ze nu zijn.
Als ze nog kleiner worden, lekt de elektrische stroom die door de transistor loopt gemakkelijk weg naar andere componenten in de buurt of vervormt de transistor door de hitte, waardoor hij onbruikbaar wordt. Er is een minimumaantal atomen nodig om de transistor te laten werken en die grens hebben we functioneel bereikt.
Onkundigen hebben enkele oplossingen voor dit probleem gevonden door multicore- en multiprocessingsystemen te gebruiken om de rekenkracht te vergroten zonder de transistors verder te verkleinen, maar ook dit gaat gepaard met nadelen op het gebied van programmeeruitdagingen en stroomvereisten, dus er is een andere oplossing nodig als we in de toekomst krachtigere computers willen zien.
ZIE OOK: COGNITIVE COMPUTING: MEER MENSELIJK DAN ARTIFICIËLE INTELLIGENTIE
Hoewel quantumcomputing de laatste tijd veel aandacht krijgt, kan DNA-computing net zo krachtig zijn – of zelfs krachtiger – dan zelfs quantumcomputing en het heeft lang niet zoveel stabiliteitsbeperkingen als quantumcomputing. Bovendien weten we dat het werkt; we zijn zelf levende voorbeelden van de gegevensopslag en de rekenkracht van DNA-computing.
De uitdaging voor DNA-computing is dat het vergeleken met klassieke computing tergend langzaam is. De evolutie heeft honderden miljoenen jaren de tijd gehad om de ingewikkelde sequentie van DNA te ontwikkelen die zich in elk van onze cellen bevindt, zodat DNA gewend is te werken volgens geologische tijdschalen, niet de meervoudige gigahertz van moderne klassieke processoren.
Dus hoe werkt DNA-computing dan en waarom streven we het na als het zo langzaam is?
Wat is DNA Computing, hoe werkt het en waarom is het zo’n groot probleem?
Om te begrijpen wat DNA-computing is, hoe het werkt en waarom DNA-computing zo’n big deal is, moeten we eerst ophouden erover te denken als een soort vervanging voor ons dagelijkse klassieke computergebruik; we zullen niet snel spelletjes spelen op een DNA-computer, als zoiets al mogelijk zou zijn. Siliciumchips zullen nog heel lang bij ons zijn.
DNA-computing is wat we zouden gebruiken om problemen op te lossen die verder gaan dan wat een klassieke computer kan oplossen, op dezelfde manier waarop kwantumcomputing in enkele ogenblikken RSA-encryptie kan breken, terwijl het een klassieke computer duizenden jaren zou kosten om hetzelfde te doen.
DNA-computing werd voor het eerst beschreven in 1994 door computerwetenschapper Leonard Adleman van de University of Southern California. Nadat hij zich had ingelezen in de structuur van DNA, werd hij geïnspireerd tot het schrijven van een artikel in het tijdschrift Science, waarin hij liet zien hoe je DNA kon gebruiken om een berucht wiskundig en computerwetenschappelijk probleem op te lossen dat bekend staat als het gerichte Hamilton Path-probleem, dat gewoonlijk het “reizende-verkoper”-probleem wordt genoemd (hoewel het Hamilton Path-probleem een iets andere versie is van het reizende-verkoper-probleem, zijn ze voor onze doeleinden in wezen onderling verwisselbaar).
Wat is het probleem van de reizende koopman?
Zoals het probleem van de reizende verkoper wordt gedefinieerd, heeft een bedrijf een verkoper die n aantal steden moet bezoeken om telefoontjes te plegen en die elke stad maar één keer kan bezoeken. Welke volgorde van bezochte steden levert de kortste, en dus goedkoopste, weg op?
Wanneer n gelijk is aan 5, kan het probleem met de hand op een stuk papier worden uitgewerkt en een klassieke computer kan betrekkelijk snel elk mogelijk pad testen. Maar wat als n gelijk is aan 20? Het kortste pad door 20 steden vinden wordt rekenkundig veel moeilijker en een klassieke computer zou er exponentieel veel langer over doen om het antwoord te vinden.
Probeer het kortste pad tussen 500 steden te vinden en een klassieke computer zou er langer over doen dan de hele levensduur van het heelal om het kortste pad te vinden, omdat de enige manier om te controleren of we het kortste pad hebben gevonden is om elke permutatie van steden te controleren. Er bestaan algoritmen die gebruik maken van dynamische computers die theoretisch het aantal vereiste controles kunnen verminderen (en voor het eigenlijke Hamilton Path-probleem is het niet nodig om elk knooppunt in een grafiek te controleren), maar dat scheelt misschien een paar miljoen jaar; het probleem zal op een klassieke computer nog steeds vrijwel onmogelijk te berekenen zijn.
Hoe DNA-computing dit probleem oplost
Wat Adleman kon aantonen, is dat DNA zo kan worden samengesteld dat een reageerbuis vol DNA-blokken zichzelf kan samenstellen om alle mogelijke paden in het reizende-verkoopprobleem tegelijkertijd te coderen.
In DNA wordt genetische codering weergegeven door vier verschillende moleculen, genaamd A, T, C, en G. Deze vier “bits” kunnen, wanneer ze aan elkaar worden geketend, een ongelooflijke hoeveelheid gegevens bevatten. Per slot van rekening is het menselijk genoom gecodeerd in iets dat kan worden verpakt in een enkele kern van een cel.
Door deze vier moleculen in een reageerbuis te mengen, hebben de moleculen zich op natuurlijke wijze geassembleerd tot strengen DNA. Als een combinatie van deze moleculen een stad en een vliegroute voorstelt, zou elke streng DNA een andere vliegroute voor de handelsreiziger kunnen voorstellen, die allemaal tegelijk worden berekend in de synthese van de DNA-strengen die zich parallel aan elkaar assembleren.
Dan zou het eenvoudig een kwestie zijn van het wegfilteren van de langere paden totdat alleen het kortste pad overblijft. In zijn artikel liet hij zien hoe dit met 7 steden zou kunnen worden gedaan en de oplossing van het probleem zou worden gecodeerd zodra de DNA-strengen waren gesynthetiseerd.
De reden voor deze opwinding was dat DNA-structuren goedkoop, relatief gemakkelijk te produceren en schaalbaar zijn. Er is geen limiet aan de kracht die DNA-computing theoretisch kan hebben, aangezien de kracht toeneemt naarmate er meer moleculen aan de vergelijking worden toegevoegd en in tegenstelling tot siliciumtransistors die één logische bewerking per keer kunnen uitvoeren, kunnen deze DNA-structuren theoretisch zoveel berekeningen per keer uitvoeren als nodig is om een probleem op te lossen en dat alles in één keer.
Het probleem is echter de snelheid. Hoewel Adlemans oplossing voor het reizende-verkoopprobleem in enkele ogenblikken in zijn DNA-strengen in de reageerbuis was gecodeerd, duurde het dagen om slechte oplossingen eruit te filteren en de optimale oplossing te vinden die hij zocht – na een nauwgezette voorbereiding voor deze ene berekening.
Toch was het een goed concept en het potentieel voor een ongelooflijke winst aan opslagcapaciteit en rekensnelheden was duidelijk. Dit was het begin van twee decennia onderzoek naar de manier waarop praktische DNA-computers werkelijkheid konden worden.
Wat zijn de voordelen van DNA-computers?
Zoals aangetoond in het artikel van Adleman, is het grote voordeel van DNA-rekenen ten opzichte van klassiek rekenen – en tot op zekere hoogte zelfs ten opzichte van kwantumrekenen – dat het talloze berekeningen parallel kan uitvoeren. Dit idee van parallel rekenen is niet nieuw en wordt al tientallen jaren in de klassieke informatica nagebootst.
Wanneer je twee applicaties tegelijk op een computer uitvoert, doen ze dat eigenlijk niet gelijktijdig; op elk gegeven moment wordt er maar één instructie uitgevoerd. Dus als je naar muziek luistert en online winkelt met een browser, gebruikt de computer in feite iets dat context switching wordt genoemd om de schijn van gelijktijdigheid te wekken.
Hij voert een instructie voor één programma uit, slaat de toestand van dat programma op nadat de instructie is uitgevoerd, en verwijdert het programma uit het actieve geheugen. Vervolgens laadt hij de eerder opgeslagen toestand van het tweede programma, voert de volgende instructie uit, slaat de nieuwe toestand op en verwijdert het programma vervolgens uit het actieve geheugen. Vervolgens laadt hij het eerste programma opnieuw om de volgende instructie uit te voeren, enzovoort.
Door miljoenen incrementele stappen per seconde over verschillende programma’s uit te voeren, wordt de schijn van gelijktijdigheid opgewekt, maar er wordt in feite nooit iets parallel uitgevoerd. DNA-computing kan deze miljoenen bewerkingen wel gelijktijdig uitvoeren.
Meer dan 10 biljoen DNA moleculen kunnen in één kubieke centimeter worden geperst. Deze kubieke centimeter materiaal zou theoretisch 10 biljoen berekeningen tegelijk kunnen uitvoeren en wel 10 terabytes aan gegevens kunnen bevatten. In veel opzichten is veel van de adembenemende maar onjuiste pers die quantumcomputing krijgt, in feite mogelijk met DNA-computing.
DNA-computing kan dan het beste worden gezien als een aanvulling op quantumcomputing, zodat wanneer ze aan elkaar worden gekoppeld en worden aangestuurd door een klassieke computer die als een Singleton-achtige manager fungeert, het soort dramatische toenames in rekenkracht dat mensen in de toekomst hopen te zien ook echt realistisch mogelijk wordt.
Hoe lang duurt het voordat DNA-computers er zijn
We hebben een lange weg afgelegd sinds 1994. Kort nadat Adleman zijn artikel publiceerde, waren onderzoekers in staat logische poorten te construeren uit DNA – de delen van een circuit opgebouwd uit individuele transistors die ingewikkelde waar/onwaar logische vergelijkingen kunnen bouwen uit elektrische stroom.
Sinds deze maand hebben computerwetenschappers van de Universiteit van Californië in Davis en Caltech DNA-moleculen gesynthetiseerd die zichzelf kunnen assembleren tot structuren door in wezen hun eigen programma uit te voeren met behulp van zes-bits inputs.
Microsoft heeft zelfs een programmeertaal voor DNA-computing die kan helpen DNA-computing praktisch te maken zodra de technologie van bioprocessors zich ontwikkelt tot het punt dat het meer geavanceerde algoritmen kan uitvoeren. Microsoft is zelfs van plan om DNA-computing tegen 2020 in zijn clouddiensten te introduceren en ontwikkelt actief een DNA-gegevensopslag om in zijn clouddiensten te integreren.
Het is waarschijnlijk dat deze vooruitgang veel sneller zal worden gerealiseerd dan de vooruitgang in kwantumcomputing. Kwantumcomputing vereist geavanceerde machines, supergeleiders en extreem koude omstandigheden om qubits stabiel genoeg te houden voor werkelijk nuttige rekentaken, en tenzij we een materiaal ontwikkelen dat bij kamertemperatuur als supergeleider kan fungeren, zullen ze niet snel hun weg vinden naar onze computers.
DNA-computing daarentegen maakt gebruik van DNA dat we inmiddels zo goed kunnen manipuleren dat we met CRISPR een enkel gen van een DNA-streng kunnen vervangen. De materialen die nodig zijn voor de synthese van DNA-moleculen zijn goedkoop en gemakkelijk verkrijgbaar en blijven stabiel bij kamertemperatuur en daarbuiten. Wat DNA-computing potentieel kan bereiken gezien de veerkracht en het biologisch parallellisme van DNA, is een essentiële stap in de richting van de toekomst van computing.
Leave a Reply