Hvad er DNA-computing, hvordan fungerer det, og hvorfor det er så vigtigt

I det seneste årti er ingeniører stødt på fysikkens barske virkelighed i deres stræben efter mere kraftfulde computere: transistorer, de tænd- og slukkontakter, der driver computerprocessoren, kan ikke gøres mindre, end de er i øjeblikket. Hvis man ser ud over siliciumchippen, er man i øjeblikket ved at udvikle et intuitivt alternativ, hvor man bruger DNA til at udføre den samme slags komplekse beregninger, som siliciumtransistorer gør nu. Men hvad er DNA-computing, hvordan fungerer DNA-computing, og hvorfor er det så vigtigt?

Beyond The Transistor

IC Chip
Kilde:

Problemet med transistorer er, at de nu findes i en størrelsesorden på få nanometer – kun et par siliciumatomer tykke. De kan praktisk talt ikke gøres mindre, end de er nu.

Hvis de bliver endnu mindre, vil den elektriske strøm, der strømmer gennem transistoren, let sive ud i andre komponenter i nærheden eller deformere transistoren på grund af varme, hvilket gør den ubrugelig. Man har brug for et minimalt antal atomer for at få transistoren til at fungere, og den grænse har vi funktionelt set nået.

Ingeniører har fundet nogle løsninger på dette problem ved at bruge multicore- og multiprocessorsystemer til at øge regneevnen uden at skulle skrumpe transistorerne yderligere, men også dette er forbundet med kompromiser i form af programmeringsudfordringer og strømbehov, så der er brug for en anden løsning, hvis vi håber at se mere kraftfulde computere i fremtiden.

SÅ OGSÅ: KOGNITIV DATABEHANDLING: Mere menneskelig end kunstig intelligens

Mens kvantecomputere har fået meget omtale på det seneste, kan DNA-computere være lige så – eller endda mere – kraftfulde end selv kvantecomputere, og de støder ikke på nær så mange af de stabilitetsbegrænsninger, som kvantecomputere har. Desuden ved vi, at det virker; vi er selv levende eksempler på DNA-computingens datalagring og beregningskraft.

Den udfordring, som DNA-computing står over for, er, at det sammenlignet med klassisk computing er smerteligt langsomt. Evolutionen har haft hundreder af millioner af år til at udvikle den komplicerede DNA-sekvens, der findes inde i hver eneste af vores celler, så DNA er vant til at arbejde efter geologiske tidsskalaer og ikke efter de mange gigahertz, som moderne klassiske processorer har.

Så hvordan fungerer DNA-computing så, og hvorfor forfølger vi det, hvis det er så langsomt?

Hvad er DNA-computing, hvordan fungerer det, og hvorfor er det så vigtigt?

DNA Helix
Kilde:

For at forstå, hvad DNA-computing er, hvordan det fungerer, og hvorfor DNA-computing er så vigtigt, skal vi først holde op med at tænke på det som en slags erstatning for vores daglige klassiske computerbrug; vi kommer ikke til at spille spil på en DNA-computer lige foreløbig, hvis noget sådant overhovedet var muligt. Siliciumchips vil være med os i meget lang tid endnu.

DNA-computing er det, vi ville bruge til at løse problemer, der ligger uden for det, som en klassisk computer kan løse, på samme måde som kvantecomputere kan bryde RSA-kryptering på få øjeblikke, mens det kan tage en klassisk computer tusindvis af år at gøre det samme.

DNA-computing blev første gang beskrevet i 1994 af datalog Leonard Adleman fra University of Southern California. Efter at have læst om DNA’s struktur blev han inspireret til at skrive en artikel i tidsskriftet Science, der viste, hvordan man kunne bruge DNA til et berygtet matematisk og datalogisk problem, der er kendt som det dirigerede Hamilton Path-problem, der almindeligvis kaldes “traveling salesman”-problemet (selv om Hamilton Path-problemet er en lidt anderledes version af traveling salesaman-problemet, kan de i vores formål i det væsentlige udskiftes).

Hvad er The Traveling Salesman Problem?

Traveling Salesman
Kilde: Det er en virksomhed, der har en sælger, som skal besøge n antal byer og foretage opkald, og som kun kan besøge hver by én gang. Hvilken rækkefølge af besøgte byer giver den korteste og dermed den billigste vej?

Når n er lig med 5, kan problemet udarbejdes i hånden på et stykke papir, og en klassisk computer kan relativt hurtigt afprøve alle mulige veje. Men hvad nu, hvis n er lig med 20? At finde den korteste vej gennem 20 byer bliver meget mere beregningsmæssigt vanskeligt, og det vil tage en klassisk computer eksponentielt længere tid at finde svaret.

Forsøg at finde den korteste vej mellem 500 byer, og det vil tage en klassisk computer længere tid end hele universets levetid at finde den korteste vej, da den eneste måde at verificere, at vi har fundet den korteste vej på, er at kontrollere hver eneste permutation af byer. Der findes nogle algoritmer, der anvender dynamisk databehandling, som teoretisk set kan reducere antallet af nødvendige kontroller (og det egentlige Hamilton Path-problem kræver ikke, at man kontrollerer hver eneste knude i en graf), men det kan måske barbere et par millioner år af toppen; problemet vil stadig være alt andet end beregningsmæssigt umuligt på en klassisk computer.

Hvordan DNA-computing løser dette problem

DNA Helix
Kilde: Det, Adleman kunne påvise, er, at DNA kan samles på en sådan måde, at et reagensglas fuld af DNA-blokke kan samles til at kode alle mulige stier i det rejsende sælgerproblem på samme tid.

I DNA er genetisk kodning repræsenteret af fire forskellige molekyler, kaldet A, T, C og G. Disse fire “bits” kan, når de kædes sammen, rumme en utrolig mængde data. Det menneskelige genom er trods alt kodet i noget, der kan pakkes ind i en enkelt cellekerne.

Gennem at blande disse fire molekyler i et reagensglas samlede molekylerne sig naturligt til DNA-strenge. Hvis en kombination af disse molekyler repræsenterer en by og en flyvevej, kunne hver DNA-streng repræsentere en anden flyvevej for sælgeren, idet alle beregnes på én gang i syntesen af de DNA-strenge, der samler sig parallelt.

Derpå ville det blot være et spørgsmål om at filtrere de længere stier fra, indtil man kun har den korteste sti tilbage. I sin afhandling viste han, hvordan dette kunne gøres med 7 byer, og løsningen på problemet ville være kodet, så snart DNA-strengene var syntetiseret.

DNA Computing
Kilde:

Grunden til, at dette vakte opsigt var, at DNA-strukturer er billige, relativt nemme at producere og skalerbare. Der er ingen grænse for den kraft, som DNA-computing teoretisk set kan have, da dens kraft øges, jo flere molekyler man tilføjer til ligningen, og i modsætning til siliciumtransistorer, som kan udføre en enkelt logisk operation ad gangen, kan disse DNA-strukturer teoretisk set udføre så mange beregninger ad gangen, som der er behov for for at løse et problem, og gøre det hele på én gang.

Problemet er imidlertid hastigheden. Selv om det tog få øjeblikke for Adlemans løsning på det omrejsende sælgerproblem at blive kodet ind i hans DNA-strenge i reagensglasset, tog det dage at filtrere dårlige løsninger fra for at finde den optimale løsning, han søgte – efter omhyggelig forberedelse til denne ene beregning.

Det var dog et fornuftigt koncept, og potentialet for utrolige gevinster i lagerkapacitet og beregningshastigheder var indlysende. Dette var startskuddet til to årtiers forskning i, hvordan man kunne gøre praktisk DNA-computing til en realitet.

Hvad er fordelene ved DNA-computing?

DNA Helix
Kilde:

Som det fremgår af Adlemans artikel, er den største fordel ved DNA-computing i forhold til klassisk computing – og endda kvantecomputing til en vis grad – at den kan udføre utallige beregninger parallelt. Denne idé om parallel beregning er ikke ny og er blevet efterlignet i klassisk beregning i årtier.

Når man kører to programmer på en computer på samme tid, kører de faktisk ikke samtidig; på et givet tidspunkt udføres der kun én instruktion. Så hvis du lytter til musik og handler på nettet ved hjælp af en browser, bruger computeren faktisk noget, der kaldes kontekstskifte, for at give det indtryk af samtidighed.

Den kører en instruktion for ét program, gemmer programmets tilstand, efter at instruktionen er udført, og fjerner programmet fra den aktive hukommelse. Derefter indlæser den den tidligere gemte tilstand for det andet program, kører dets næste instruktion, gemmer dets nye tilstand og fjerner det derefter fra den aktive hukommelse. Derefter genindlæser den det første program for at udføre dets næste instruktion og så videre.

Gennem at foretage millioner af trinvise trin i sekundet på tværs af forskellige programmer, opnås et udseende af samtidighed, men intet bliver faktisk nogensinde kørt parallelt. DNA-computing kan faktisk udføre disse millioner af operationer på samme tid.

Over 10 billioner DNA-molekyler kan klemmes ind i en enkelt kubikcentimeter. Denne kubikcentimeter materiale kan teoretisk set udføre 10 trillioner beregninger på én gang og rumme op til 10 terabyte data. På mange måder er meget af den åndeløse, men ukorrekte presse, som kvanteberegning får, faktisk muligt med DNA-beregning.

DNA-computing kan derfor bedst betragtes som et supplement til kvantecomputere, således at når de parres sammen og drives af en klassisk computer, der fungerer som en Singleton-agtig leder, bliver den slags dramatiske stigninger i beregningskraft, som folk håber at se i fremtiden, faktisk realistisk mulige.

Hvor lang tid vil det tage for DNA-computere at ankomme

Vi er kommet langt siden 1994. Kort efter at Adleman offentliggjorde sin artikel, var forskere i stand til at konstruere logiske porte ud af DNA – dele af et kredsløb bygget af individuelle transistorer, der kan bygge komplicerede sand-falsk-logiske ligninger ud fra elektrisk strøm.

Så sent som i denne måned har dataloger ved University of California i Davis og Caltech syntetiseret DNA-molekyler, der kan samle sig selv til strukturer ved i det væsentlige at køre deres eget program ved hjælp af seks-bit input.

Microsoft har endda et programmeringssprog til DNA-computing, der kan være med til at gøre DNA-computing praktisk anvendeligt, når teknologien for bio-processorer udvikler sig så meget, at den kan køre mere sofistikerede algoritmer. Microsoft planlægger faktisk at indføre DNA-computing i sine cloud-tjenester inden 2020 og udvikler aktivt en DNA-datalagring, der skal integreres i cloud-tjenesterne.

Det er sandsynligt, at disse fremskridt vil blive realiseret meget hurtigere end fremskridt inden for kvantecomputere. Kvantecomputere kræver sofistikerede maskiner, superledere og ekstremt kolde forhold for at holde qubits stabile nok til at udføre reelt nyttige beregningsopgaver, og medmindre vi udvikler et materiale, der kan fungere som superleder ved stuetemperatur, vil de ikke finde vej ind i vores computere i den nærmeste fremtid.

DNA-computing bruger i mellemtiden DNA, som vi er blevet eksperter i at manipulere så meget, at vi kan erstatte et enkelt gen i en DNA-streng ved hjælp af CRISPR. De materialer, der er nødvendige for at syntetisere DNA-molekyler, er billige og let tilgængelige og forbliver stabile ved stuetemperatur og derover. Det, som DNA-computing potentielt er i stand til at opnå i betragtning af DNA’s modstandsdygtighed og biologiske parallelitet, repræsenterer et væsentligt skridt hen imod fremtidens computing.

Leave a Reply