La notizia è recente e viene dall’American Mathematical Society: un gruppo di ricercatori legati al National Science and Engineering Research Council of Canada ha dimostrato la possibilità teorica di realizzare un computer universale programmabile basato sul comportamento del DNA.
In un’epoca in cui la ricerca tecnologica è tesa a realizzare calcolatori sempre più piccoli e sempre più potenti, non potevano passare inosservate le eccezionali risorse di calcolo di un computer molecolare naturale come l’acido desossiribonucleico. Racchiude in sé le informazioni necessarie a specificare la composizione di tutte le molecole proteiche presenti in un organismo, ma non si limita a conservare il patrimonio genetico: partecipa attivamente alla sintesi proteica interagendo con gli enzimi e le altre componenti cellulari. A dispetto della sua struttura apparentemente rigida e inerte, è una molecola estremamente reattiva. Si comporta come un potente meccanismo manipolatore di informazioni.
Come è noto, lo scheletro portante del DNA è costituito da due filamenti avvolti a spirale uno sull’altro. Ciascun filamento è una catena di molecole di desossiribosio alternate a gruppi fosfato. Alla molecola di desossiribosio è legata una delle quattro basi: adenina, timina, guanina e citosina. L’ordine del susseguirsi delle basi lungo la catena codifica l’informazione genetica. Ciascuna base di un filamento, poi, è attaccata mediante due o tre legami idrogeno alla corrispondente base del filamento opposto. Ma l’adenina può legarsi solo alla timina e la guanina solo alla citosina. Così la sequenza di basi di una catena determina completamente quella dell’altra e tutta l’informazione contenuta nel DNA è codificata interamente su ciascuno dei suoi due filamenti.
Quando negli organismi a riproduzione sessuata si formano i gameti, ovuli e spermatozoi, avviene il fenomeno della ricombinazione genetica. Particolari enzimi, detti di restrizione, tagliano in più punti i filamenti del DNA e i frammenti si mescolano tra loro, prima di essere nuovamente saldati insieme da un altro enzima, la ligasi. Il risultato è che ogni gamete porta con sé un patrimonio genetico leggermente differente da quello degli altri, così la prole non è mai identica ai genitori e, fatta eccezione per i gemelli monozigoti, i discendenti di uno stesso individuo sono sempre differenti tra di loro.
Nel 1994 Leonard Adleman della University of Southern California di Los Angeles ha messo a frutto questa capacità dei frammenti di DNA di ricombinarsi per dar luogo a nuove sequenze. I risultati del suo esperimento di “computazione molecolare”, il primo del genere, sono descritti in (1). In breve, Adleman ha considerato un grafo orientato: un insieme di punti collegati tra loro da segmenti dotati di un verso di percorrenza fissato. Stabilito un vertice iniziale e un vertice finale, il cosiddetto problema del cammino hamiltoniano consiste nel provare l’esistenza di un cammino lungo gli spigoli del grafo che rispetti il verso di percorrenza di ciascuno spigolo, passi una ed una sola volta per ciascun vertice e abbia inizio nel vertice iniziale e fine in quello finale.Un algoritmo che risolve il problema del cammino hamiltoniano è il seguente:
1- generare cammini casuali lungo il grafo
2- considerare solo quei cammini che iniziano nel vertice iniziale e terminano in quello finale
3- considerare solo quei cammini che toccano tutti i vertici del grafo
4- considerare solo quei cammini che toccano ogni vertice una volta sola
5- se dopo la selezione è rimasto qualche cammino, la risposta è “sì”, altrimenti è “no”.
Adleman ha associato a ciascuno spigolo del grafo un diverso frammento di sequenza di DNA, ha fatto sì che i frammenti si combinassero tra loro in modo da formare tutti i possibili cammini sul grafo e si è servito di reazioni enzimatiche per selezionare le sequenze seguendo i passi dell’algoritmo. Ha dimostrato così la possibilità di utilizzare il DNA come calcolatore per risolvere un particolare problema combinatorio.
Prima dell’esperimento di Adleman, nel 1987, Tom Head in (2) aveva descritto un’operazione matematica che formalizza il processo di ricombinazione genetica. Date due sequenze di simboli, l’operazione consiste nel tagliare ciascuna delle due sequenze in un punto indicato e congiungere la prima parte della prima sequenza alla seconda parte della seconda e la prima parte della seconda alla seconda della prima. Ad esempio, data la sequenza ” x a b x’ ” e la sequenza ” y c d y’ ”, e data una regola indicata con (a, b);(c, d), il risultato dell’operazione sono le due nuove sequenze ” x a d y’ ” e ” y c b x’ ”. I punti dove tagliare sono indicati dalla regola (a, b); (c, d). L’operazione formalizza l’azione sul DNA degli enzimi di restrizione e della ligasi e i simboli di cui le sequenze sono formate, nel caso concreto, sono A, T, C e G: le quattro basi adenina, timina, citosina e guanina.
Ed eccoci ai risultati annunciati di recente dall’American Mathematical Society. Sull’esperimento di Adleman e altri simili eseguiti in seguito e sul lavoro di formalizzazione di Head è basato il lavoro della matematica canadese Lila Kari e del gruppo di ricerca legato al National Science and Engineering Research Council of Canada. (3)”Gli studi sull’argomento condotti finora”, si legge nel loro articolo, “lasciano insoluta una questione fondamentale: è possibile realizzare un calcolatore basato sul comportamento del DNA capace di eseguire qualsiasi algoritmo, cioè un calcolatore computazionalmente completo equivalente ad una macchina di Turing, e che sia programmabile?”
La macchina di Turing, ricordiamo, è una macchina ideale composta da un nastro infinito suddiviso in caselle, ognuna delle quali può essere vuota o contenere un simbolo, e da un cursore mobile libero di scorrere sul nastro. Le operazioni che il cursore può eseguire sono di due tipi: può spostarsi a destra o a sinistra di una casella sul nastro, oppure può modificare o cancellare il simbolo contenuto nella casella. Esiste anche un certo numero di parametri che indicano lo “stato interno” del cursore e questo stato cambia dopo ogni sua operazione sul nastro. Un elenco di istruzioni specificano cosa il cursore deve fare in ogni situazione, in base al suo stato interno e al simbolo contenuto nella casella su cui si trova.Nel 1936 il matematico inglese Alan Turing (4) dimostrò che la macchina da lui ideata è in grado di eseguire qualunque algoritmo e dunque di risolvere qualunque problema computabile.
Kari e colleghi chiamano “sistema H” un sistema costituito da un insieme di sequenze dei quattro simboli A, G, T, e C e da un insieme di regole che indicano dove le sequenze debbano essere tagliate. Il funzionamento di un sistema H consiste nel tagliare e riassemblare tra loro le sequenze date, ripetere l’operazione sulle nuove sequenze generate e così via all’infinito. Un sistema H è un meccanismo generativo, nel senso che da un alfabeto iniziale di quattro lettere e poche parole ne genera un gran numero di nuove. Considerando anche la macchina di Turing come un meccanismo generatore di parole, i ricercatori hanno dimostrato la sua equivalenza al “sistema H universale”, un sistema che, adeguatamente programmato, esegue le funzioni di qualsiasi sistema H realizzabile. Hanno così dimostrato in via teorica la possibilità di realizzare computer programmabili a base di DNA, capaci di risolvere qualunque problema che sia computazionalmente risolubile.
“In una visione ottimistica”, commentano gli autori della ricerca, “si può riscontrare un’analogia tra questi risultati e la dimostrazione del ‘36 dell’esistenza di una macchina di Turing universale, che ha gettato le basi teoriche per la nascita dei computer elettronici. Allo stesso modo, sosteniamo che i computer a base di DNA, programmabili e universali, sono possibili. Diventeranno personal computer entro cinquant’anni, come è accaduto per i computer elettronici? Forse sì, forse no. Ad ogni modo, qui non si discute la possibilità di realizzare concretamente oggi computer di questo tipo, è un problema che va oltre la matematica e ricade nel campo dell’ingegneria genetica.”
Bibliografia
(1) L.M. Adleman, “Molecular Computation of Solutions to Combinatorial Problems”, Science, 266 (Nov 1994), 1021-1024
(2) T. Head, “Formal language theory and DNA: an analysis of the generative capacity of specific recombinant behaviors”, Bull. Math. Biology, 49 (1987), 737-759
(3) R. Freund, L. Kari, Gh. Paun, “DNA computing based on splicing: the existence of universal computers”, T. Report 185-2/FR-2/95, TU Wien, Institute for Computer Languages, 1995
(4) A.M. Turing, “On computable numbers, with an application to the Entscheidungsproblem”, Pro. London Math. Soc., Ser. 2, 42 (1936), 230-265