Cos’è il DNA Computing, come funziona e perché è un grande affare

Negli ultimi dieci anni, gli ingegneri si sono scontrati con la dura realtà della fisica nella ricerca di computer più potenti: i transistor, gli interruttori on-off che alimentano il processore del computer, non possono essere resi più piccoli di quanto siano attualmente. Guardando oltre il chip di silicio, un’alternativa intuitiva è attualmente in fase di sviluppo utilizzando il DNA per eseguire gli stessi tipi di calcoli complessi che i transistor di silicio fanno ora. Ma cos’è il DNA computing, come funziona il DNA computing, e perché è un così grande affare?

Oltre il transistor

C Chip
Fonte: Fritzchens Fritz / Flickr

Il problema dei transistor è che ora esistono su scala di pochi nanometri di dimensione – solo pochi atomi di silicio di spessore. Praticamente non possono essere resi più piccoli di quanto lo siano ora.

Se diventano più piccoli, la corrente elettrica che scorre attraverso il transistor si disperde facilmente in altri componenti vicini o deforma il transistor a causa del calore, rendendolo inutile. È necessario un numero minimo di atomi per far funzionare il transistor e abbiamo funzionalmente raggiunto quel limite.

Gli ingegneri hanno trovato alcune soluzioni per questo problema utilizzando sistemi multicore e multiprocessing per aumentare la potenza di calcolo senza dover rimpicciolire ulteriormente i transistor, ma anche questo comporta dei compromessi in termini di sfide di programmazione e requisiti di potenza, quindi è necessaria un’altra soluzione se speriamo di vedere computer più potenti in futuro.

VEDI ANCHE: INFORMATICA COGNITIVA: PIÙ UMANA DELL’INTELLIGENZA ARTIFICIALE

Mentre l’informatica quantistica sta ricevendo molta stampa ultimamente, l’informatica del DNA può essere altrettanto – o anche più – potente dell’informatica quantistica e non incorre in molti dei vincoli di stabilità che ha l’informatica quantistica. Inoltre, sappiamo che funziona; noi stessi siamo esempi viventi dell’immagazzinamento dei dati e della potenza di calcolo del DNA computing.

La sfida per il DNA computing è che, rispetto al calcolo classico, è dolorosamente lento. L’evoluzione ha avuto centinaia di milioni di anni per sviluppare la complicata sequenza di DNA che esiste all’interno di ognuna delle nostre cellule, così che il DNA è abituato a lavorare secondo tempi geologici, non i gigahertz multipli dei moderni processori classici.

Come funziona allora il calcolo del DNA e perché lo stiamo perseguendo se è così lento?

Che cos’è il DNA Computing, come funziona e perché è così importante?

DNA Helix
Fonte:

Per capire cos’è il DNA computing, come funziona e perché il DNA computing è così importante, per prima cosa dobbiamo smettere di pensarlo come una sorta di sostituto per il nostro uso quotidiano del computer classico; non giocheremo presto a giochi su un computer DNA, se una cosa del genere fosse possibile. I chip di silicio saranno con noi ancora per molto tempo.

Il DNA computing è ciò che useremmo per risolvere problemi che vanno oltre la portata di ciò che un computer classico può risolvere, nello stesso modo in cui il quantum computing può rompere la crittografia RSA in pochi istanti mentre un computer classico potrebbe impiegare migliaia di anni per fare lo stesso.

Il DNA computing fu descritto per la prima volta nel 1994 dall’informatico Leonard Adleman della University of Southern California. Dopo essersi documentato sulla struttura del DNA, fu ispirato a scrivere un articolo sulla rivista Science mostrando come si poteva usare il DNA per un famigerato problema matematico e informatico noto come il problema del percorso diretto di Hamilton, comunemente chiamato il problema del “commesso viaggiatore” (anche se il problema del percorso di Hamilton è una versione leggermente diversa del problema del commesso viaggiatore, per i nostri scopi sono essenzialmente intercambiabili).

Che cos’è il problema del commesso viaggiatore?

Il commesso viaggiatore
Fonte: BarnImages

Come definisce il problema del commesso viaggiatore, un’azienda ha un commesso che deve visitare n numero di città facendo delle chiamate e può visitare ogni città solo una volta. Quale sequenza di città visitate fornisce il percorso più breve, e quindi più economico?

Quando n è uguale a 5, il problema può essere risolto a mano su un pezzo di carta e un computer classico può testare ogni possibile percorso in modo relativamente rapido. Ma cosa succede se n è uguale a 20? Trovare il percorso più breve attraverso 20 città diventa molto più difficile dal punto di vista computazionale e un computer classico impiegherebbe esponenzialmente più tempo per trovare la risposta.

Prova a trovare il percorso più breve tra 500 città e un computer classico impiegherebbe più tempo dell’intera vita dell’Universo per trovare il percorso più breve poiché l’unico modo per verificare che abbiamo trovato il percorso più breve è controllare ogni singola permutazione delle città. Esistono alcuni algoritmi che usano il calcolo dinamico che possono teoricamente ridurre il numero di controlli richiesti (e l’attuale problema del percorso di Hamilton non richiede il controllo di ogni nodo in un grafo), ma questo potrebbe ridurre di qualche milione di anni; il problema sarà ancora quasi impossibile da calcolare su un computer classico.

Come il calcolo del DNA risolve questo problema

Elisse di DNA
Fonte: NIH / Flickr

Quello che Adleman fu in grado di dimostrare è che il DNA può essere assemblato in modo tale che una provetta piena di blocchi di DNA potrebbe assemblarsi per codificare tutti i possibili percorsi nel problema del commesso viaggiatore allo stesso tempo.

Nel DNA, la codifica genetica è rappresentata da quattro molecole diverse, chiamate A, T, C e G. Questi quattro “bit”, quando sono concatenati insieme, possono contenere una quantità incredibile di dati. Dopo tutto, il genoma umano è codificato in qualcosa che può essere stipato in un singolo nucleo di una cellula.

Miscelando queste quattro molecole in una provetta, le molecole si assemblano naturalmente in filamenti di DNA. Se qualche combinazione di queste molecole rappresenta una città e un percorso di volo, ogni filamento di DNA potrebbe rappresentare un diverso percorso di volo per il commesso, essendo tutti calcolati contemporaneamente nella sintesi dei filamenti di DNA che si assemblano in parallelo.

Allora, si tratterebbe semplicemente di filtrare i percorsi più lunghi fino ad avere solo il percorso più breve. Nel suo articolo, ha mostrato come questo potrebbe essere fatto con 7 città e la soluzione al problema sarebbe codificata non appena i filamenti di DNA sono stati sintetizzati.

DNA Computing
Fonte:

La ragione per cui questo ha generato entusiasmo è che le strutture di DNA sono economiche, relativamente facili da produrre e scalabili. Non c’è limite alla potenza che il DNA computing può teoricamente avere poiché la sua potenza aumenta più molecole si aggiungono all’equazione e a differenza dei transistor al silicio che possono eseguire una singola operazione logica alla volta, queste strutture di DNA possono teoricamente eseguire tanti calcoli alla volta quanti sono necessari per risolvere un problema e farlo tutto in una volta.

Il problema però è la velocità. Anche se la soluzione di Adleman al problema del commesso viaggiatore ha impiegato pochi istanti per essere codificata nei suoi filamenti di DNA nella provetta, ci sono voluti giorni per filtrare le cattive soluzioni per trovare la soluzione ottimale che stava cercando – dopo una meticolosa preparazione per questa singola computazione.

Ancora, il concetto era solido e il potenziale per incredibili guadagni nella capacità di memorizzazione e nella velocità di calcolo era ovvio. Questo ha dato il via a due decenni di ricerca su come creare il calcolo pratico del DNA una realtà.

Quali sono i vantaggi del calcolo del DNA?

DNA Helix
Fonte:

Come dimostrato dall’articolo di Adleman, il vantaggio principale del calcolo del DNA rispetto al calcolo classico – e in parte anche al calcolo quantistico – è che può eseguire innumerevoli calcoli in parallelo. Questa idea di calcolo parallelo non è nuova ed è stata imitata nel calcolo classico per decenni.

Quando si eseguono due applicazioni su un computer allo stesso tempo, non sono effettivamente in esecuzione simultanea; in qualsiasi momento, solo un’istruzione viene eseguita. Quindi, se state ascoltando musica e facendo shopping online usando un browser, il computer sta effettivamente usando qualcosa chiamato commutazione di contesto per dare l’apparenza della concorrenza.

Esegue un’istruzione per un programma, salva lo stato di quel programma dopo che l’istruzione è stata eseguita, e rimuove il programma dalla memoria attiva. Poi carica lo stato precedentemente salvato del secondo programma, esegue la sua prossima istruzione, salva il suo nuovo stato e poi lo scarica dalla memoria attiva. Poi ricarica il primo programma per eseguire la sua prossima istruzione e così via.

Facendo milioni di passi incrementali al secondo attraverso programmi diversi, si ottiene l’apparenza della concorrenza, ma nulla viene mai effettivamente eseguito in parallelo. Il DNA computing può effettivamente eseguire questi milioni di operazioni allo stesso tempo.

Oltre 10 trilioni di molecole di DNA possono essere spremute in un singolo centimetro cubo. Questo centimetro cubo di materiale potrebbe teoricamente eseguire 10 trilioni di calcoli contemporaneamente e contenere fino a 10 terabyte di dati. In molti modi, un sacco di stampa senza fiato ma imprecisa che il calcolo quantistico ottiene è in realtà possibile con il calcolo del DNA.

Il DNA computing è quindi meglio pensato come un complemento del quantum computing, in modo che quando è accoppiato insieme e guidato da un computer classico che agisce come un gestore in stile Singleton, i tipi di drammatici aumenti di potenza computazionale che la gente spera di vedere in futuro diventano effettivamente possibili.

Quanto tempo ci vorrà per l’arrivo dei computer a DNA

Abbiamo fatto molta strada dal 1994. Poco dopo che Adleman ha pubblicato il suo articolo, i ricercatori sono stati in grado di costruire porte logiche dal DNA – le parti di un circuito costruito da transistor individuali che possono costruire complicate equazioni logiche vero-falso dalla corrente elettrica.

Proprio questo mese, gli scienziati informatici dell’Università della California a Davis e Caltech hanno sintetizzato molecole di DNA che possono auto-assemblarsi in strutture essenzialmente eseguendo il proprio programma usando input a sei bit.

Microsoft ha persino un linguaggio di programmazione per il DNA computing che può aiutare a rendere pratico il DNA computing una volta che la tecnologia dei bio-processori progredisce al punto da poter eseguire algoritmi più sofisticati. Infatti, Microsoft sta progettando di introdurre il DNA computing nei suoi servizi cloud entro il 2020 e sta sviluppando attivamente un’archiviazione di dati sul DNA da integrare nei suoi servizi cloud.

È probabile che questi progressi saranno realizzati molto più rapidamente dei progressi nel calcolo quantistico. Il quantum computing richiede macchinari sofisticati, superconduttori e condizioni estremamente fredde per mantenere i qubit abbastanza stabili da svolgere qualsiasi compito computazionale effettivamente utile, e a meno che non sviluppiamo un materiale che può agire come un superconduttore a temperatura ambiente, non si faranno strada nei nostri computer molto presto.

DNA computing, nel frattempo, utilizza il DNA che siamo diventati esperti nel manipolare fino al punto di sostituire un singolo gene di un filamento di DNA attraverso CRISPR. I materiali necessari per sintetizzare le molecole di DNA sono economici e facilmente disponibili e rimangono stabili a temperatura ambiente e oltre. Ciò che il DNA Computing è potenzialmente in grado di raggiungere data la resilienza del DNA e il parallelismo biologico rappresenta un passo essenziale verso il futuro dell’informatica.

Leave a Reply