di  -  lunedì 8 giugno 2009

Ormai siamo abituati alla filosofia che quando compri un computer è già vecchio da molti anni. Per me è sempre stato così, l’ultima cosa la scheda video, che dopo 2 mesi è stata soppiantata dal nuovo modello, più veloce e performante.

Sembra che la “sete” di potenza di calcolo non si cheti mai. Tra un po’ un giga di memoria equivarrà ad un litro di benzina e, se ci fidiamo della Prima legge di Moore, bisogna stare al passo con processori che raddoppiano la propria potenza di calcolo ogni 18 mesi.

Una bella differenza rispetto alla vecchia previsione di Howard Aiken (che potrebbe essere una leggenda, ma è comunque interessante) secondo cui solo sei (6!) computer digitali avrebbero soddisfatto interamente i bisogni degli interi Stati Uniti. Probabilmente chi ha detto questa frase non teneva conto di come i computer sarebbero entrati nella vita di tutti i giorni e della mastodontica quantità di dati che sarebbe stata prodotta in ambiente scientifico ed industriale.

Un sistema per stare al passo con la crescente richiesta di potenza di calcolo possono essere i computer quantistici, che sfrutterebbero le leggi della Meccanica Quantistica per amplificare la memoria disponibile per il calcolo.

Per capire come funzionano i computer quantistici bisogna capire fondamentalmente 2 cose: come funzionano i computer classici e come funziona la meccanica quantistica. Molti dei lettori di questo blog hanno sicuramente un’ottima conoscenza dei computer, ma faccio una brevissima introduzione per chi non ne sa molto, rimanendo per ragioni di spazio ad un livello estremamente divulgativo.

Il concetto di base del computer, nell’ottica della realizzazione di un computer quantistico, è la macchina di Turing,  una macchina formale composta da un nastro di lunghezza infinita composto da caselle quadrate. Ciascuna casella può contenere un simbolo (0 o 1) o essere vuota. Una macchina in grado di leggere questo nastro interpreta la serie di simboli in modo da tradurli in istruzioni che poi può eseguire o inviare altrove. Ecco descritto in 2 parole cos’è un compuer!

Nel 1981, per la prima volta, Poul Benioff ha teorizzato la possibilità di creare una macchina di Turing quantistica.

E veniamo dunque alla meccanica quantistica. Non pretendo in nessun modo di spiegare la meccanica quantistica in poche righe, e chi fosse interessato a una lettura più approfondita può dare un’occhiata alla pagina di wikipedia o di forma-mentis, e per chi è veramente interessato consiglio la lettura dell’ottimo libro “Alice nel Paese dei Quanti” di Robert Gilmore che spiega la meccanica quantistica nel modo più intuitivo che abbia mai letto.

Il concetto che serve a noi è però relativamente semplice. Nella meccanica classica quando un oggetto viaggia ad una certa velocità nello spazio, il suo stato è interamente descritto dalla velocità con cui viaggia e la posizione in cui si trova in ogni istante. La meccanica quantistica sostiene che un oggetto, come per esempio una particella, non può avere nello stesso momento una posizione e una velocità note con una determinata precisione.

È quindi impossibile sapere nello stesso momento sia dove una particella è sia a che velocità va. Il principio che descrive questa caratteristica si chiama “Principio di indeterminazione di Heisenberg” ed è illustrato in maniera intuitiva dal paradosso del gatto di Shrödinger. Per spiegare ad Einstein e compagni il concetto di stati sovrapposti (a cui tornerò tra un attimo), Shrödinger ha proposto il seguente esperimento. Immaginiamo un gatto chiuso dentro una stanza di acciaio. Assieme a lui vi è una macchina, posta in una posizione di sicurezza irraggiungibile dal gatto.

Questa macchina contiene un contatore Geiger e una piccolissima quantità di materiale radioattivo. Una quantità così piccola che nel giro di un’ora può decadere, emettendo una radiazione, ma anche, con la stessa probabilità, può non decadere e quindi non emettere nulla. Se la radiazione viene emessa il contatore Geiger emette una scarica elettrica che attiva un meccanismo che fa permeare la piccola stanza di acido cianidrico, uccidendo così il gatto.

Se lo sperimentatore ha mantenuto sigillato il sistema per un’ora, uno può dire che il gatto è vivo se il materiale radioattivo non è decaduto, e morto se invece è avvenuto il decadimento. A questo punto se uno, dall’esterno, vuole descrivere lo stato del gatto dopo un’ora esatta che è stato messo dentro la stanza, dovrà descriverlo come una sovrapposizione di stati, in cui lo stato di gatto vivo e di gatto morto sono sovrapposti in parti uguali, in quanto il gatto ha la stessa probabilità di essere vivo o morto.

Questo “esperimento” è di particolare interesse in quanto trasforma l’indeterminazione microscopica, ovvero lo stato di energetico degli atomi di materiale radioattivo, in un’indeterminazione macroscopica, ovvero se il gatto è vivo o morto. Questo fa si che un’osservatore esterno possa effettivamente misurare lo stato del gatto, osservando se è vivo o morto, e “degenerando” così lo  stato in una condizione misurabile.

Adesso possiamo facilmente capire il principio della Macchina di Turing quantistica. In questo caso le caselle contengono una sovrapposizione di stati, 1 e 0, o casella bianca. In questo senso la casella è sia 1 che 0 (e tutti gli stati intermedi) che nulla allo stesso tempo. Se chiamiamo le caselle bit, allora vediamo che considerando per esempio un sistema a 3 bit, il computer classico può assumere le combinazioni 000, 001, 010,100,011,101, 110, 111. Un bit quantistico, o qubit, è descritto come la probabilità di trovarsi in un certo stato. Per descrivere la probabilità di uno oggetto di trovarsi in un certo stato si usa una funzione chiamata funzione d’onda , la cui ampiezza rappresenta proprio la probabilità. In questo modo il qubit non è limitato a 2 stati, ma è contempraneamente una moltitudine di stati. Il qubit, in pratica può rappresentate un atomo, o una particella, o un nucleo atomico.

Se ad un dato momento una persona misura lo stato del qubit, allora il suo stato degenera, e si dice che si fa collassare il computer quantistico in uno stato classico, esattamente come succede quando si guarda se il gatto è vivo o morto. Questa è la principale limitazione pratica nella realizzazione di un computer quantistico. È necessario infatti trovare un sistema di “lettura” indiretto che non interferisca col sistema, “aprendo la scatola”. Un possibile fenomeno che è possibile sfruttare in questo senso è la correlazione quantistica, o entanglement, in cui quando un atomo, per esempio, interferisce con un altro atomo, può assumerne alcune proprietà. In questo modo si può osservare il secondo atomo, senza disturbare quello originale.

Questo principio permette al computer quantistico di essere estremamente più veloce nel effettuare calcoli complessi. Un esempio è dato dalla fattorizzazione in numeri primi di una data cifra. Attualmente non esiste un algoritmo realizzabile con i computer a nostra disposizione per effettuare tale calcolo, infatti questo sistema di fattorizzazione è la base fondamentale della crittografia utilizzata ai giorni nostri. Un computer quantistico, invece, potrebbe risolvere facilmente il problema utilizzando l’algoritmo di fattorizzazione di Shor, rendendo inutili tutti i sistemi di crittografia attuali.

I computer quantistici potrebbero essere il prossimo passo dei computer, il naturale sviluppo degli attuali calcolatori, proprio come i transistor hanno sostituito le vecchie valvole, ma la strada prima di realizzare concretamente questi computer è ancora lunga.  Nel 2007 un’industria canadese è riuscita a realizzare un computer quantistico a 16 qubit, in grado di risolvere sudoku e altri giochi matematici in modo estremamente veloce. Prima di poterci installare Halo, però, ne passerà di tempo…

11 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    Phoneix89
     scrive: 

    qui si smentisce tutto ;)

    http://www.sergiothekiller.altervista.org

    certe volte mi chiedo…

  • # 2
    mastro Andrea
     scrive: 

    Articolo interessante come sempre, anche se già conoscevo l’argomento… Non credo che questo tipo di computer nasca fondamentalmente x giocare ad Halo ;) cmq a titolo di informazione, ci sn degli errori di ortografia nel testo…

  • # 3
    Nicola Caldera
     scrive: 

    Adoro i tuoi articoli!

  • # 4
    pabloski
     scrive: 

    una volta solo Dio giocava a dadi, tra poco lo faranno anche i computer

    e poi sarà skynet :D

  • # 5
    TheFoggy
     scrive: 

    @Phoenix89: dove si smentisce, scusa? Su quel sito non ho trovato nulla sui computer quantici..
    Detto questo..io spero di vederli presto! Saranno la manna per i ricercatori, più che per gli utenti mainstream! Folding@Home ne trarrebbe vantaggi infiniti!

  • # 6
    matic
     scrive: 

    Non posso affermare di aver compiutamente compreso come funzioni un computer quantistico però la lettura è stata piacevole ed ha provocato in me una certa curiosità. Se possibile invito chi si occupa di queste cose a non accopare gatti nel proseguo delle ricerche, per quanto questi siano ancora più misteriosi nel loro funzionamento… :D

  • # 7
    0l134Ng
     scrive: 

    “rendendo inutili tutti i sistemi di crittografia attuali”

    Perchè dici questo?

    L’algoritmo di Shor potrebbe essere utilizzato contro l’algoritmo RSA (crittografia asimmetrica), visto che si basa sproprio sul problema della fattorizzazione, ma gli algoritmi simmetrici o quelli asimmetrici basati su altri problemi non sono comunque toccati.

  • # 8
    Eleonora Presani (Autore del post)
     scrive: 

    Ok, mi correggo, diciamo che dovremmo ripensare i sistemi di crittografia, tenendo conto che i computer quantistici possono risolvere il problema della fattorizzazione in numeri primi.

  • # 9
    Cesare Di Mauro
     scrive: 

    Se non erro sono soltanto 6, finora, gli algoritmi implementabili da computer quantistici.

    Difficilmente la storia dell’informatica cambierà, di questo passo. ;)

  • # 10
    Giulio
     scrive: 

    Ciao Eleonora,

    la frase ‘tenendo conto che i computer quantistici possono risolvere il problema della fattorizzazione in numeri primi’ non mi pare corretta. Anche un computer ‘classico’ risolve il problema, solo ci mette un tempo esponenziale. Al momento non si conosce alcun modo per trovare un numero primo in tempo polinomiale, perciò, se fosse realtà già da ora, un computer quantistico dovrebbe usare gli stessi metodi di un computer classico nella risoluzione del problema; il vantaggio è che un calcolatore quantistico impiegherbbe molto ma molto meno tempo, usando però lo stesso algoritmo matematico.

    Giulio.

  • # 11
    Eleonora Presani (Autore del post)
     scrive: 

    Caro Giulio,
    proprio qui è il punto: il computer quantistico permette di rendere l’algoritmo di Shor polinomiale:
    In a quantum computer, to factor an integer N, Shor’s algorithm takes polynomial time in logN, specifically O((logN)3), demonstrating that integer factorization is in the complexity class BQP. This is exponentially faster than the best-known classical factoring algorithm, the general number field sieve, which works in sub-exponential time – about O(e^{{{(\log N)}^{1/3}}{{(\log \log N)}^{2/3}}}). Peter Shor discovered the eponymous algorithm in 1994.

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.