Mi az a DNS-számítás, hogyan működik, és miért olyan nagy dolog

Az elmúlt évtizedben a mérnökök a nagyobb teljesítményű számítógépek kifejlesztése során a fizika rideg valóságával szembesültek: a tranzisztorokat, a számítógépes processzorokat működtető ki-be kapcsolókat nem lehet a jelenleginél kisebbre gyártani. A szilíciumchipeken túlra tekintve jelenleg egy intuitív alternatívát fejlesztenek ki a DNS felhasználásával, amely ugyanolyan összetett számításokat végez, mint a szilíciumtranzisztorok most. De mi is az a DNS-számítás, hogyan működik a DNS-számítás, és miért olyan nagy dolog ez?

Beyond The Transistor

IC Chip
Source: Fritzchens Fritz / Flickr

A tranzisztorokkal az a baj, hogy ma már csak néhány nanométeres méretben léteznek – mindössze néhány szilíciumatom vastagságúak. Gyakorlatilag nem lehet őket a jelenleginél kisebbre gyártani.

Ha még kisebbek lesznek, a tranzisztoron átfolyó elektromos áram könnyen kiszivárog a közelben lévő más alkatrészekbe, vagy a hő hatására deformálódik a tranzisztor, és használhatatlanná válik. A tranzisztor működéséhez minimális számú atomra van szükség, és funkcionálisan elértük ezt a határt.

A mérnökök találtak némi megoldást erre a problémára a többmagos és többprocesszoros rendszerek alkalmazásával, hogy növeljék a számítási teljesítményt anélkül, hogy a tranzisztorokat tovább kellene zsugorítani, de ez is kompromisszumokkal jár a programozási kihívások és az energiaigény szempontjából, ezért más megoldásra van szükség, ha azt reméljük, hogy a jövőben még nagyobb teljesítményű számítógépeket láthatunk.

LÁTSD MÉG: KOGNITÍV SZÁMÍTÁSTECHNIKA: MORE HUMAN THAN THAN ARTIFICIAL INTELLIGENCE

Míg a kvantumszámítás mostanában nagy sajtóvisszhangot kap, a DNS-számítás ugyanolyan – vagy még erősebb – teljesítményű lehet, mint a kvantumszámítás, és közel sem ütközik olyan stabilitási korlátokba, mint a kvantumszámítás. Ráadásul tudjuk, hogy működik; mi magunk is élő példái vagyunk a DNS-számítás adattárolási és számítási teljesítményének.

A DNS-számítás számára az a kihívás, hogy a klasszikus számításhoz képest fájdalmasan lassú. Az evolúciónak több százmillió éve volt arra, hogy kifejlessze a DNS bonyolult szekvenciáját, amely minden egyes sejtünkben megtalálható, így a DNS megszokta, hogy geológiai időskálák szerint működik, nem pedig a modern klasszikus processzorok több gigahertzes sebességével.

Hát akkor hogyan működik a DNS-számítás, és miért foglalkozunk vele, ha ilyen lassú?

Mi a DNS-számítás, hogyan működik, és miért olyan nagy dolog?

DNS-hélix
Forrás:

Mi a DNS-számítás, hogyan működik, és miért olyan nagy dolog?

DNS-hélix
Forrás:

DNS-hélix
Source:

Hogy megértsük, mi a DNS-számítás, hogyan működik, és miért olyan nagy dolog a DNS-számítás, először is abba kell hagynunk, hogy úgy gondoljunk rá, mint a mindennapi klasszikus számítógép-használatunk valamiféle helyettesítőjére; nem fogunk egyhamar egy DNS-számítógépen játszani, ha egyáltalán lehetséges lenne ilyesmi. A szilícium chipek még nagyon sokáig velünk lesznek.

A DNS-számítást arra használnánk, hogy olyan problémákat oldjunk meg, amelyeket egy klasszikus számítógép nem tud megoldani, ugyanúgy, ahogy a kvantumszámítás pillanatok alatt képes feltörni az RSA-titkosítást, míg egy klasszikus számítógépnek ehhez több ezer évre lenne szüksége.

A DNS-számítást először 1994-ben írta le Leonard Adleman informatikus a Dél-Kaliforniai Egyetemről. Miután utánaolvasott a DNS szerkezetének, arra ösztönözte, hogy írjon egy tanulmányt a Science című folyóiratban, amelyben bemutatta, hogyan lehet a DNS-t felhasználni egy hírhedt matematikai és informatikai problémára, amelyet irányított Hamilton-út probléma néven ismerünk, és amelyet általában “utazó ügynök” problémának neveznek (bár a Hamilton-út probléma az utazó ügynök problémájának kissé eltérő változata, a mi céljainkra lényegében felcserélhetők).

Mi az utazó üzletkötő probléma?

Az utazó üzletkötő
forrás: BarnImages

Az utazó üzletkötő probléma meghatározása szerint egy cégnek van egy üzletkötője, akinek n számú várost kell felkeresnie telefonon, és minden várost csak egyszer látogathat meg. A meglátogatott városok melyik sorozata adja a legrövidebb, tehát a legolcsóbb utat?

Ha n egyenlő 5-tel, a probléma kézzel is megoldható egy papírlapon, és egy klasszikus számítógép viszonylag gyorsan ki tudja próbálni az összes lehetséges utat. De mi van akkor, ha n egyenlő 20-zal? A 20 városon keresztül vezető legrövidebb út megtalálása számításilag sokkal nehezebbé válik, és egy klasszikus számítógépnek exponenciálisan hosszabb időbe telne a válasz megtalálása.

Próbáljuk megkeresni a legrövidebb utat 500 város között, és egy klasszikus számítógépnek a világegyetem teljes élettartamánál tovább tartana megtalálni a legrövidebb utat, mivel csak úgy tudjuk ellenőrizni, hogy megtaláltuk-e a legrövidebb utat, ha minden egyes várospermutációt megvizsgálunk. Léteznek olyan algoritmusok, amelyek dinamikus számítást használnak, és elméletileg csökkenthetik a szükséges ellenőrzések számát (és a tényleges Hamilton-út probléma nem igényli a gráf minden egyes csomópontjának ellenőrzését), de ez néhány millió évet lefaraghat az időből; a probléma egy klasszikus számítógépen még mindig számításilag szinte lehetetlen.

How DNA Computing Solves This Problem

DNS Helix
Forrás: Adleman azt tudta bizonyítani, hogy a DNS-t úgy lehet összerakni, hogy egy DNS-blokkokkal teli kémcső egyszerre képes összeállni úgy, hogy a travelling salesman probléma összes lehetséges útvonalát kódolja.

A DNS-ben a genetikai kódolást négy különböző molekula, az A, T, C és G jelöli. Ez a négy “bit” egymáshoz láncolva hihetetlen mennyiségű adatot képes tárolni. Végül is az emberi genomot valami olyasmi kódolja, ami egyetlen sejtmagba is belefér.

Ezt a négy molekulát egy kémcsőben összekeverve a molekulák természetesen DNS-szálakká álltak össze. Ha ezeknek a molekuláknak valamilyen kombinációja egy várost és egy repülési útvonalat képvisel, akkor minden egyes DNS-szál egy másik repülési útvonalat képviselhet az eladó számára, és mindegyiket egyszerre számítják ki az önmagukat párhuzamosan összerakó DNS-szálak szintézisében.

Ezután egyszerűen csak ki kellene szűrni a hosszabb útvonalakat, amíg csak a legrövidebb útvonal marad. Dolgozatában megmutatta, hogyan lehetne ezt 7 várossal megoldani, és a probléma megoldása már a DNS-szálak szintézisekor kódolva lenne.

DNS-számítás
Forrás:

Ez azért keltett izgalmat, mert a DNS-szerkezetek olcsók, viszonylag könnyen előállíthatók és skálázhatók. A DNS-számítás teljesítményének elméletileg nincs határa, hiszen a teljesítménye annál nagyobb, minél több molekulát adunk hozzá az egyenlethez, és a szilícium tranzisztorokkal ellentétben, amelyek egyszerre egyetlen logikai műveletet képesek végrehajtani, ezek a DNS-struktúrák elméletileg egyszerre annyi számítást képesek elvégezni, amennyi egy probléma megoldásához szükséges, és mindezt egyszerre.

A probléma azonban a sebesség. Bár Adleman utazó ügynök problémájának megoldását pillanatok alatt kódolta a kémcsőben lévő DNS-szálakba, a rossz megoldások kiszűrése után napokig tartott, mire megtalálta a keresett optimális megoldást – az egyetlen számítás aprólékos előkészítése után.

A koncepció mégis jó volt, és nyilvánvaló volt a tárolókapacitás és a számítási sebesség hihetetlen növekedésének lehetősége. Ez indította el azt a két évtizedes kutatást, amely arra irányult, hogyan lehetne a gyakorlati DNS-számítást valósággá tenni.

Melyek a DNS-számítás előnyei?

DNS-hélix
Forrás: A DNS-számítás előnyei?

Amint azt Adleman tanulmánya bemutatta, a DNS-számítás legfőbb előnye a klasszikus számítástechnikával – és bizonyos mértékig még a kvantumszámítással szemben is – az, hogy számtalan számítást képes párhuzamosan elvégezni. A párhuzamos számításnak ez az ötlete nem új, és a klasszikus számítástechnikában már évtizedek óta utánozzák.

Amikor egy számítógépen egyszerre két alkalmazást futtatunk, azok valójában nem párhuzamosan futnak; egy adott időpontban mindig csak egy utasítást hajtanak végre. Ha tehát egy böngésző segítségével zenét hallgatsz és online vásárolsz, akkor a számítógép valójában egy úgynevezett kontextusváltást használ, hogy az egyidejűség látszatát keltse.

Egy program utasítását lefuttatja, az utasítás végrehajtása után elmenti a program állapotát, majd eltávolítja a programot az aktív memóriából. Ezután betölti a második program korábban elmentett állapotát, lefuttatja annak következő utasítását, elmenti annak új állapotát, majd kiveszi azt az aktív memóriából. Ezután újra betölti az első programot a következő utasítás végrehajtásához, és így tovább.

Azzal, hogy másodpercenként több millió inkrementális lépést hajt végre a különböző programokon keresztül, az egyidejűség látszatát kelti, de valójában soha semmi nem fut párhuzamosan. A DNS-számítás valójában egyszerre képes elvégezni ezeket a több millió műveletet.

Egyetlen köbcentiméterbe több mint 10 billió DNS-molekula szorítható. Ez a köbcentiméternyi anyag elméletileg 10 trillió számítást tudna egyszerre elvégezni, és akár 10 terabájtnyi adatot is tárolhatna. Sok szempontból a kvantumszámítástechnika által kapott lélegzetelállító, de pontatlan sajtó nagy része valójában a DNS-számítástechnikával lehetséges.

A DNS-számítást tehát leginkább a kvantumszámítás kiegészítőjeként lehet elképzelni, így a Singleton-stílusú menedzserként működő klasszikus számítógéppel párosítva és vezérelve a számítási teljesítmény olyan drámai növekedése, amelyet az emberek a jövőben remélnek, valóban reálisan megvalósíthatóvá válik.

Mennyi időbe telik a DNS-számítógépek megjelenése

1994 óta hosszú utat tettünk meg. Nem sokkal azután, hogy Adleman publikálta tanulmányát, a kutatók képesek voltak logikai kapukat építeni DNS-ből – az áramkör egyes tranzisztorokból felépített részeit, amelyek elektromos áramból bonyolult igaz-hamis logikai egyenleteket képesek felépíteni.

Még ebben a hónapban a Davis-i Kaliforniai Egyetem és a Caltech informatikusai olyan DNS-molekulákat szintetizáltak, amelyek képesek önmaguktól szerkezetekké összeállni, lényegében saját programjukat futtatva hatbites bemenetekkel.

A Microsoftnak még egy programozási nyelve is van a DNS-számításhoz, amely segíthet a DNS-számítás gyakorlati hasznosításában, amint a bio-processzorok technológiája olyan szintre fejlődik, hogy bonyolultabb algoritmusok futtatására is képes lesz. Sőt, a Microsoft azt tervezi, hogy 2020-ig bevezeti a DNS-számítást a felhőszolgáltatásaiba, és aktívan fejleszti a felhőszolgáltatásaiba integrálandó DNS-adattárolót.

Valószínű, hogy ezek a fejlesztések sokkal gyorsabban megvalósulnak, mint a kvantumszámítástechnika fejlődése. A kvantumszámításhoz kifinomult gépekre, szupravezetőkre és rendkívül hideg körülményekre van szükség ahhoz, hogy a qubiteket elég stabilan tartsák ahhoz, hogy ténylegesen hasznos számítási feladatokat végezzenek, és hacsak nem fejlesztünk ki egy olyan anyagot, amely szobahőmérsékleten is képes szupravezetőként viselkedni, ezek nem fognak egyhamar utat törni a számítógépeinkbe.

A DNS-számítás eközben olyan DNS-t használ, amelynek manipulálásában már olyannyira gyakorlottá váltunk, hogy a CRISPR segítségével egy DNS-szál egyetlen génjét is ki tudjuk cserélni. A DNS-molekulák szintéziséhez szükséges anyagok olcsók és könnyen elérhetők, és szobahőmérsékleten és azon túl is stabilak maradnak. Amit a DNS-számítástechnika potenciálisan képes elérni a DNS rugalmassága és biológiai párhuzamossága miatt, az alapvető lépést jelent a számítástechnika jövője felé.

Leave a Reply