Mikä on DNA-laskenta, miten se toimii ja miksi se on niin iso juttu

Viime vuosikymmenen ajan insinöörit ovat törmänneet fysiikan karuun todellisuuteen pyrkiessään entistä tehokkaampiin tietokoneisiin: transistoreista, tietokoneen prosessorin virtalähteenä toimivista päälle/pois-kytkimistä, ei voida tehdä nykyistä pienempiä. Parhaillaan kehitetään piisirujen lisäksi intuitiivista vaihtoehtoa, jossa käytetään DNA:ta suorittamaan samantyyppisiä monimutkaisia laskutoimituksia kuin piitransistorit nyt tekevät. Mutta mitä on DNA-laskenta, miten DNA-laskenta toimii ja miksi se on niin iso juttu?

Transistorin tuolla puolen

IC-siru
Lähde: Fritzchens Fritz / Flickr

Transistoreiden ongelmana on, että niitä on nykyään olemassa muutaman nanometrin kokoisessa mittakaavassa – vain muutaman piiatomin paksuisia. Niitä ei käytännössä voi tehdä nykyistä pienemmiksi.

Jos niitä saadaan vielä pienemmiksi, transistorin läpi kulkeva sähkövirta vuotaa helposti muihin lähellä oleviin komponentteihin tai deformoi transistoria lämmön vaikutuksesta tehden siitä käyttökelvottoman. Tarvitaan vähimmäismäärä atomeja, jotta transistori toimisi, ja olemme toiminnallisesti saavuttaneet tuon rajan.

Insinöörit ovat löytäneet tähän ongelmaan jonkin verran kiertoteitä käyttämällä moniytimisiä ja moniprosessorijärjestelmiä laskentatehon lisäämiseksi ilman, että transistoreiden tarvitsee kutistua entisestään.

KATSO MYÖS: KOGNITIIVINEN TIETOJENKÄSITTELY: MORE HUMAN THAN THAN ARTIFICIAL INTELLIGENCE

Vaikka kvanttilaskenta on saanut viime aikoina paljon julkisuutta, DNA-laskenta voi olla yhtä tehokasta tai jopa tehokkaampaa kuin kvanttilaskenta, eikä sillä ole läheskään yhtä paljon vakausrajoitteita kuin kvanttilaskennalla. Lisäksi tiedämme, että se toimii; olemme itse eläviä esimerkkejä DNA-laskennan tiedonvarastointi- ja laskentatehosta.

DNA-laskennan haasteena on se, että klassiseen laskentaan verrattuna se on tuskastuttavan hidasta. Evoluutiolla on ollut satoja miljoonia vuosia aikaa kehittää monimutkainen DNA-sekvenssi, joka on jokaisen solumme sisällä, joten DNA on tottunut työskentelemään geologisten aikaskaalojen mukaan, ei nykyaikaisten klassisten prosessoreiden useiden gigahertsien mukaan.

Miten DNA-laskenta sitten toimii, ja miksi etsimme sitä, jos se on niin hidasta?

Mitä on DNA-laskenta, miten se toimii ja miksi se on niin iso juttu?

DNA Helix
Lähde:

DNA Helix
Source:

Ymmärtääksemme, mitä DNA-laskenta on, miten se toimii ja miksi DNA-laskenta on niin iso juttu, meidän on ensin lakattava ajattelemasta sitä jonkinlaisena korvikkeena jokapäiväiselle klassiselle tietokonekäytöllemme; emme tule pelaamaan pelejä DNA-tietokoneella lähiaikoina, jos sellainen edes olisi mahdollista. Piisirut tulevat olemaan kanssamme vielä hyvin pitkään.

DNA-tietokoneita käyttäisimme ratkaisemaan ongelmia, jotka ylittävät sen, mitä klassinen tietokone pystyy ratkaisemaan, samaan tapaan kuin kvanttitietokoneet pystyvät murtamaan RSA-salauksen hetkessä, kun taas klassiselta tietokoneelta saattaisi kulua tuhansia vuosia samaan.

DNA-tietokoneet kuvasi ensimmäisen kerran vuonna 1994 Etelä-Kalifornian yliopiston tietotekniikan tutkija Leonard Adleman. Tutustuttuaan DNA:n rakenteeseen hän innostui kirjoittamaan Science-lehteen artikkelin, jossa osoitettiin, miten DNA:ta voitaisiin käyttää surullisenkuuluisaan matemaattiseen ja tietotekniseen ongelmaan, joka tunnetaan nimellä suunnattu Hamiltonin polku -ongelma, jota yleisesti kutsutaan ”travelling salesman” -ongelmaksi (vaikka Hamiltonin polku -ongelma on hieman erilainen versio travelling salesman -ongelmasta, tarkoituksiamme silmällä pitäen ne ovat pohjimmiltaan keskenään vaihdettavissa).

Mikä on kiertävän myyntimiehen ongelma?

Kiertävä myyntimies
Lähde: BarnImages

Kuten kiertävän myyntimiehen ongelma määritellään, yrityksellä on myyntimies, jonka on käytävä n kaupungissa soittamassa puheluita ja joka voi käydä jokaisessa kaupungissa vain kerran. Mikä vierailtujen kaupunkien järjestys tarjoaa lyhimmän ja siten halvimman polun?

Kun n on yhtä kuin 5, ongelma voidaan ratkaista käsin paperilla, ja klassisella tietokoneella jokainen mahdollinen polku voidaan testata suhteellisen nopeasti. Mutta entä jos n on 20? Lyhimmän polun löytäminen 20 kaupungin kautta muuttuu laskennallisesti paljon vaikeammaksi, ja klassiselta tietokoneelta kestäisi eksponentiaalisesti pidempään löytää vastaus.

Yritetään löytää lyhin polku 500 kaupungin välille, ja klassiselta tietokoneelta kestäisi pidempään kuin koko maailmankaikkeuden kesto löytää lyhin polku, koska ainoa keino todentaa, että olemme löytäneet lyhimmän polun, on tarkastaa kaikki kaupunkien permutaatiot. On olemassa joitakin dynaamista laskentaa käyttäviä algoritmeja, jotka voivat teoriassa vähentää tarvittavien tarkistusten määrää (eikä varsinainen Hamiltonin polku -ongelma vaadi graafin jokaisen solmun tarkistamista), mutta se saattaa säästää muutaman miljoonan vuoden; ongelma on edelleen lähes mahdoton klassisella tietokoneella.

Miten DNA-laskenta ratkaisee tämän ongelman

DNA-kierre
Lähde: KUVAILULEHTI: NIH / Flickr

Adleman pystyi osoittamaan, että DNA voidaan koota siten, että koeputki täynnä DNA-lohkoja voisi koota itsensä niin, että ne voisivat koodata kaikki mahdolliset polut travelling salesman -ongelmassa samanaikaisesti.

DNA:ssa geneettistä koodausta edustaa neljä erilaista molekyyliä, joita kutsutaan A:ksi, T:ksi, C:ksi ja G:ksi. Näihin neljään ”bittiin” voi ketjutettuna mahtua uskomaton määrä tietoa. Loppujen lopuksi ihmisen genomi on koodattu johonkin, joka voidaan pakata yhteen solun ytimeen.

Sekoittamalla nämä neljä molekyyliä koeputkeen, molekyylit kokosivat luonnollisesti itsensä DNA-juosteiksi. Jos jokin näiden molekyylien yhdistelmä edustaa kaupunkia ja lentoreittiä, jokainen DNA-juoste voisi edustaa myyntimiehen erilaista lentoreittiä, ja kaikki laskettaisiin kerralla synteesissä itseään rinnakkain kokoavien DNA-juosteiden avulla.

Tällöin olisi yksinkertaisesti kyse pidempien polkujen suodattamisesta pois, kunnes jäljelle jää vain lyhin polku. Kirjoituksessaan hän osoitti, miten tämä voitaisiin tehdä seitsemällä kaupungilla, ja ongelman ratkaisu olisi koodattu heti, kun DNA-säikeet olisi syntetisoitu.

DNA Computing
Lähde:

Syy, miksi tämä herätti innostusta, oli se, että DNA-rakenteet ovat halpoja, suhteellisen helposti valmistettavia ja skaalautuvia. DNA-laskennan teholla ei ole teoriassa mitään rajaa, sillä sen teho kasvaa, mitä enemmän molekyylejä yhtälöön lisätään, ja toisin kuin piitransistorit, jotka pystyvät suorittamaan yhden loogisen operaation kerrallaan, nämä DNA-rakenteet pystyvät teoriassa suorittamaan niin monta laskutoimitusta kerrallaan kuin ongelman ratkaisemiseksi tarvitaan, ja tekemään sen kerralla.

Ongelmana on kuitenkin nopeus. Vaikka Adlemanin travelling salesman -ongelman ratkaisun koodaaminen koeputkessa oleviin DNA-säikeisiin kesti vain hetken, hänen etsimänsä optimaalisen ratkaisun löytämiseen tarvittiin päiviä huonojen ratkaisujen suodattamista – tämän yksittäisen laskutoimituksen huolellisen valmistelun jälkeen.

Konsepti oli kuitenkin järkevä, ja potentiaali uskomattomiin parannuksiin tallennuskapasiteetissa ja laskentanopeudessa oli ilmeinen. Tämä käynnisti kaksi vuosikymmentä kestäneen tutkimuksen siitä, miten käytännön DNA-laskennasta voitaisiin tehdä todellisuutta.

Mitkä ovat DNA-laskennan edut?

DNA Helix
Lähde:

Kuten Adlemanin artikkeli osoitti, DNA-laskennan suurin etu klassiseen laskentaan – ja jossain määrin jopa kvanttilaskentaan – verrattuna on se, että se voi suorittaa lukemattomia laskutoimituksia rinnakkain. Tämä rinnakkaislaskennan idea ei ole uusi, ja sitä on jäljitelty klassisessa laskennassa jo vuosikymmeniä.

Kun tietokoneella ajetaan kahta sovellusta samaan aikaan, ne eivät itse asiassa toimi rinnakkain, vaan kullakin hetkellä suoritetaan vain yksi käsky. Jos siis kuuntelet musiikkia ja teet verkko-ostoksia selaimella, tietokone käyttää itse asiassa jotain, jota kutsutaan kontekstinvaihdoksi, antaakseen vaikutelman samanaikaisuudesta.

Se suorittaa yhden ohjelman käskyn, tallentaa kyseisen ohjelman tilan käskyn suorittamisen jälkeen ja poistaa ohjelman aktiivisesta muistista. Sitten se lataa toisen ohjelman aiemmin tallennetun tilan, suorittaa sen seuraavan käskyn, tallentaa sen uuden tilan ja poistaa sen aktiivimuistista. Sitten se lataa ensimmäisen ohjelman uudelleen suorittaakseen sen seuraavan käskyn ja niin edelleen.

Toteuttamalla miljoonia inkrementaalisia askelia sekunnissa eri ohjelmien välillä saavutetaan rinnakkaisuuden vaikutelma, mutta mitään ei todellisuudessa koskaan suoriteta rinnakkain. DNA-laskenta voi itse asiassa suorittaa nämä miljoonat operaatiot samanaikaisesti.

Yli 10 biljoonaa DNA-molekyyliä voidaan puristaa yhteen kuutiosenttimetriin. Tämä kuutiosenttimetri materiaalia voisi teoriassa suorittaa 10 triljoonaa laskutoimitusta kerralla ja tallentaa jopa 10 teratavua dataa. Kvanttilaskennan saama henkeäsalpaava mutta epätarkka lehdistö on monella tapaa mahdollista DNA-laskennan avulla.

DNA-laskenta on siis parasta ajatella kvanttilaskennan täydennyksenä, niin että kun se yhdistetään ja sitä ohjaa Singleton-tyylisenä managerina toimiva klassinen tietokone, sellaiset dramaattiset laskentatehon lisäykset, joita ihmiset toivovat näkevänsä tulevaisuudessa, tulevat todella realistisesti mahdollisiksi.

Kuinka kauan DNA-tietokoneiden tulo kestää

Olemme kulkeneet pitkän matkan vuodesta 1994. Pian Adlemanin julkaisun jälkeen tutkijat pystyivät rakentamaan DNA:sta logiikkaportteja – yksittäisistä transistoreista rakennetun piirin osia, jotka pystyvät rakentamaan sähkövirrasta monimutkaisia true-false-logiikkayhtälöitä.

Juuri tässä kuussa Kalifornian yliopiston Davisin ja Caltechin tietojenkäsittelytieteilijät ovat syntetisoineet DNA-molekyylejä, jotka voivat itse koota itsensä rakenteiksi suorittamalla periaatteessa omaa ohjelmaansa kuuden bittisen syötteen avulla.

Microsoftilla on jopa ohjelmointikieli DNA-laskentaa varten, jonka avulla DNA-laskennasta voidaan tehdä käytännöllistä, kunhan bioprosessoreiden tekniikka kehittyy niin pitkälle, että sillä voidaan suorittaa monimutkaisempia algoritmeja. Itse asiassa Microsoft suunnittelee ottavansa DNA-laskennan käyttöön pilvipalveluissaan vuoteen 2020 mennessä ja kehittää aktiivisesti DNA-tietovarastoa integroitavaksi pilvipalveluihinsa.

On todennäköistä, että nämä edistysaskeleet toteutuvat paljon nopeammin kuin kvanttilaskennan edistysaskeleet. Kvanttilaskenta vaatii hienostuneita koneita, suprajohteita ja äärimmäisen kylmiä olosuhteita pitääkseen qubitit riittävän vakaina, jotta ne voisivat tehdä mitään todella hyödyllisiä laskentatehtäviä, ja ellei kehitetä materiaalia, joka voi toimia suprajohteena huoneenlämmössä, ne eivät pääse tietokoneisiimme lähiaikoina.

DNA-laskenta puolestaan käyttää DNA:ta, jonka manipuloinnissa olemme tulleet asiantuntijoiksi niin pitkälle, että voimme korvata yksittäisen geenin DNA:n säikeestä CRISPR:n avulla. DNA-molekyylien syntetisointiin tarvittavat materiaalit ovat halpoja ja helposti saatavilla, ja ne pysyvät stabiileina huoneenlämmössä ja sen yli. Se, mitä DNA-laskenta mahdollisesti pystyy saavuttamaan, kun otetaan huomioon DNA:n joustavuus ja biologinen rinnakkaisuus, on olennainen askel kohti tulevaisuuden tietojenkäsittelyä.

Leave a Reply