RASSEGNA STAMPA

14 MAGGIO 2000
PIERGIORGIO ODIFREDDI
Copmputer di quanti e Dna
La meccanica quantistica e i processi di replicazione della doppia elica per costruire Pc sempre più veloci .
Von Neumann realizzò l'idea di Turing. Ora si avvereranno anche i sogni di Feynman e Head?
Fra le non poche invenzioni tecnologiche del Novecento, che vanno dall'aeroplano alla televisione, il computer è forse quella che sta cambiando più profondamente la nostra vita. Lo dimostra lo sforzo che dobbiamo fare per ricordare che non c'erano computer nella prima metà del secolo, e non c'erano personal computer prima di una ventina di anni fa.
Per quanto innovativa, l'idea del computer è il prodotto di una lunga evoluzione. Dapprima si calcolava con metodi manuali, dell'abaco ai pallottolieri. In seguito sì passò a metodi meccanici, i cui primi esempi furono le macchine per calcolare somme e prodotti costruite da Pascal e Leibniz nel Seicento. L'inglese Charles Babbage progettò nell'Ottocento un computer a vapore, che non fu mai costruito perché troppo avanti rispetto ai suoi tempi: era infatti una vera e propria versione di quello moderno. Nei primi decenni del Novecento arrivarono infine le macchine elettriche dell'IBM.
L'informatica moderna nacque nel 1936, con la tesi di laurea del ventiquattrenne Alan Turing. Partendo da problematiche di natura puramente logica legate ai teoremi di limitazione della matematica scoperti pochi anni prima da Kurt Goedel, Turing inventò una macchina in grado di effettuare tutti i calcoli teoricamente possibili. La sua idea geniale, che avrebbe cambiato il mondo, fu di progettare una macchina programmabile: in grado, cioè, di imitare qualunque altra macchina calcolatrice, simulandone una sua descrizione.
La realizzazione pratica della macchina dì Turing dovette attendere la fine della Seconda guerra mondiale, e fu stimolata da problematiche emerse nello sforzo bellico. Le simultanee esperienze di costruzione della bomba atomica negli Stati Uniti e di decifrazione del codice tedesco Enigma in Inghilterra avevano fatti dimostrato la necessità di effettuare un'enorme quantità dì calcoli quotidiani, che sarebbe stato utile e vantaggioso automatizzare. Nacquero così i primi calcolatori elettronici, progettati da John Von Neumann sul modello della macchina programmatile ideata da Turing: dapprima a valvole, poi a transistor, e infine a circuiti integrati.
Da un punto di vista teorico, la macchina di Turing programmabile non può essere migliorata: essa è infatti in grado di effettuare tutti i calcoli che siano eseguibili su qualunque macchina dedicata. Miglioramenti sono invece possibili da un punto dì vista pratico, e riguardano sostanzialmente le dimensioni della macchina stessa, la sua velocità di calcolo e la sua capacità di memoria.
Queste problematiche portarono negli anni Sessanta alla cosiddetta teoria della complessità computazionale, che studia la possibilità di effettuare calcoli non in maniera astratta, senza limitazioni di tempo e spazio, ma in maniera concreta, con limitazioni realistiche delle risorse.
Una delle scoperte più interessati di questa teoria fu che ci sono calcoli utili che non sì sanno fare efficientemente. Un esempio semplice è la scomposizione di un numero intero in fattori: il numero più grande che si è finora decomposto ha solo 129 cifre, e la scomposizione ha richiesto il lavoro di un migliaio di calcolatori per un anno. Per semporre nello stesso modo un numero di 250 cifre si calcola che ci vorrebbe qualcosa come un milione di calcolatori che lavorassero per un milione di anni. In altre parole, la complessità del problema cresce in maniera esponenziale: raddoppiando il numero di cifre, il tempo necessario alla scomposizione non si raddoppia ma si quadruplica. Proprio su questa difficoltà si basano i moderni metodi di crittografia: il numero che codifica il messaggio viene moltiplicato per una chiave molto grande, e decodificare il prodotto è praticamente impossibile senza conoscere la chiave.
Per ovviare a questo genere dì limitazione dei computer tradizionali, negli ultimi due decenni sono stati proposti due nuovi modelli che potrebbero portare a radicali miglioramenti di efficienza.- il computer quantistico e il computer biologico.
Il computer quantistico è stato ideato nel 1982 dal fisico Richard Feynman, che ha pensato di sfruttare un peculiare fenomeno della meccanica quantistica: la cosiddetta sovrapposizione di stati delle particelle subatomiche. Metaforicamente, si può dire che esistono simultaneamente motti universi: gli oggetti macroscopici si situano completamente in uno solo di essi, mentre gli oggetti microscopici sono distribuiti in tutti. Quando gli oggetti microscopici interferiscono con un apparato di misura, entrano a far parte di un sistema macroscopico e cessano dunque di essere distribuiti nei vari universi entrando a far parte dell'unico a cui appartiene l'apparato.
L'idea di Feynman è che, invece di molti calcoli dì seguito (in serie) mediante un calcolatore grossolano, si possono fare, tutti i calcoli insieme (in parallelo) mediante un calcolatore microscopico, facendone in pratica uno in ciascun universo in cui il calcolatore si trova. Nel 1985 David Deutsch ha dimostrato che in questo modo si possono effettuare, in teoria, tutti i calcoli che un normale computer può effettuare. E nel 1994 Peter Shor ha dimostrato che in questo modo si può effettuare velocemente, in teoria, la scomposizione in fattori di qualsiasi numero.
Questo significa che, se si sapesse come costruire un computer quantistico, si potrebbero risolvere in maniera efficiente alcuni problemi che oggi non si sanno risolvere in maniera efficiente con un computer elettronico: in particolare, la crittografia dovrebbe correre immediatamente ai ripari.
Gli ostacoli alla costruzione di un computer quantistico sono per ora duplici: da un lato, lo sviluppo di una nanotecnologia che permetta di costruire circuiti subatomici; dall'altro lato, il controllo del fenomeno di decorrenza che tende a rendere instabile la sovrapposizione di stati di sistemi di particelle.
Il computer biologico è stato invece ideato nel 1987 dal biologo Thomas Head, e si basa sulla capacità della doppia elica del Dna di duplicarsi esponenzialmente mediante un processo di decomposizione e copiatura guidato da enzimi. L'alfabeto a quattro lettere (A, G, C, T) in cui l'informazione genetica viene scritta nel Dna è più che sufficiente ai fini della computazione, che ha bisogno soltanto di un alfabeto a due lettere (O e 1). Le operazioni di riconoscimento, incollatura e accorciamento effettuate da particolari enzimi (endonucleasi, ligasi ed essonucleasi) sulle catene di Dna costituiscono l'analogo delle operazioni basilari del calcolo, e corrispondono letteralmente ai costrutti basilari del linguaggio di programmazione Lisp (car, cons e cdr).
Non stupisce che mediante la manipolazione di stringhe di Dna si possano effettuare, in teoria, tutti i calcoli che un normale computer può effettuare. E nel 1994 Leonard Aldeman ha dimostrato che in questo modo si possono risolvere in maniera efficiente casi speciali di un problema (la ricerca di cammino hamiltoniani) che, come già la scomposizione in fattori, oggi non si sa come risolvere in maniera efficiente con un computer elettronico.
Gli ostacoli alla costruzione di un computer biologico programmabile sono simili a quelli per la costruzione di un computer quantistico: da un lato, lo sviluppo di una tecnologia che permetta di codificare senza errori l'informazione nel Dna; dall'altro lato, il controllo dei fattori chimici e termodinamici che disturbano il comportamento di grandi sistemi di molecole. Se questi ostacoli saranno superati i computer di domani raggiungeranno dimensioni ridottissime, lavoreranno a velocità altissime e costi energetici bassissimi, e relegheranno nei musei quelli che oggi ci appaiono invece come miracoli tecnologici.
inizio pagina
vedi anche
Il pensiero matematico