Tutte le risposte

0173. Qual è il linguaggio di programmazione che si deve usare su un computer quantistico?

espertomini

Sono una studentessa di informatica e sono interessata alle ricerche riguardo il quantum computing. Mi piacerebbe sapere, avendo già delle basi su cos'è un computer quantistico, che tipo di linguaggio di programmazione e che caratteristiche generali deve soddisfare un linguaggio di programmazione ad alto livello per un computer di tale tecnologia, (come ad esempio è il C per un computer tradizionale) (Monica Brusò)(2054-3024)

 

sem_esperto_rosso

Nota redazionale SxT

La nostra web-nauta dichiara di avere già delle conoscenze avanzate sul computer quantistico e potrà quindi pienamente apprezzare la risposta fornita dal nostro esperto. A chi invece desidera partire dagli elementi di base suggeriamo la lettura preliminare di una breve scheda introduttiva .

Non è semplice definire le caratteristiche di un linguaggio di programmazione per un calcolatore quantistico icona_esperto per il semplice motivo che questo non è mai stato costruito se non in modo parziale e con una quantità di parti (qubit icona_glossario ) veramente piccola (minore di una decina). Sebbene tutte queste limitazioni costituiscano un limite molto serio, si deve osservare anche che molto lavoro è già stato dedicato alla costruzione di una teoria consistente del calcolo quantistico ed è quindi possibile tentare alcune previsioni attendibili.

Un calcolatore quantistico sarà utile solamente se potrà risolvere problemi pratici e quindi, accanto alle componenti quantistiche, che ne costituiscono il valore speciale, sarà importante curare la semplicità della sua utilizzazione pratica. Questa semplicità d’uso sarà probabilmente garantita da un’architettura ibrida in cui un calcolatore tradizionale controlla un calcolatore quantistico.

Il controllo della parte quantistica consiste nella preparazione dei dati d’ingresso e del programma da eseguire sul calcolatore quantistico e nella capacità di eseguire misure sullo stato del sistema quantistico durante oppure alla fine del calcolo quantistico. In base a tutte queste osservazioni si pensa che un qualsiasi linguaggio di programmazione tradizionale, procedurale e strutturato, può essere utilizzato direttamente per la gestione di questa macchina di calcolo ibrida e quindi per la programmazione quantistica. È ovvio che un linguaggio di questo tipo dovrà essere esteso per introdurre i tipi quantistici fondamentali quali il qubit, i registri quantistici e le funzioni tipiche dell’interazione con le componenti classiche quali la misura dei registri quantistici.

Il compilatore di questo linguaggio dovrà avere cura di generare un codice che soddisfi i vincoli quantistici, specifici dell’hardware quantistico, solo nelle porzioni di programma che non sono di pertinenza del calcolatore classico di controllo. Questi vincoli non sono molti, sebbene siano molto importanti, e consistono nel fatto che le operazioni quantistiche sullo stato del sistema quantistico devono essere unitarie (e quindi anche invertibili); da questo fatto discendono alcuni aspetti non intuitivi quali l’impossibilità di copiare direttamente il contenuto di un qubit in un altro qubit oppure l’impossibilità di azzerare il contenuto di un qubit.

È degno di nota il fatto che alcuni strumenti di gestione di un programma classico, come il debugging, non potranno essere utilizzati per studiare il funzionamento delle sezioni quantistiche di un programma perché la stampa del contenuto dei registri quantistici ne altererebbe irrimediabilmente il contenuto stesso (misura dello stato quantico). Esistono diverse versioni di linguaggi di programmazione per calcolatori quantistici. Una di queste è il QCL icona_glossario e il suo interprete è disponibile su rete, insieme alla libreria di simulazione del calcolatore quantistico stesso. Con questi strumenti è facile scrivere un programma quantistico per poi farlo girare sul simulatore. Questi simulatori riescono a mostrare le straordinarie proprietà dei calcolatori quantistici, quali la possibilità di memorizzare moltissimi dati in pochi qubit e di effettuare calcoli su tutti questi dati mediante l’intrinseco parallelismo quantistico, al prezzo dell’uso di grandi risorse di memoria e di calcolo. Si pensa quindi che, anche con i simulatori, non è praticamente possibile effettuare calcoli quantistici che utilizzino più di qualche decina di qubit.

È utile ricordare che un linguaggio di programmazione quantistica è solo uno strumento utile per gestire un calcolatore quantistico e le straordinarie caratteristiche di un calcolatore quantistico sono sfruttabili solamente se esistono degli algoritmi quantistici specifici. A questo riguardo, le ricerche hanno dato risultati sorprendenti in almeno due casi. Il primo caso è quello della ricerca di un elemento di una lista: se la lista contiene N elementi, questo problema può essere risolto in O(N) passi in un calcolatore classico mentre lo stesso problema richiede solamente O(vN) passi su un calcolatore quantistico in cui si usa l’algoritmo di Grover.

Il secondo caso è quello della scomposizione di un numero N nei suoi fattori primi: la migliore soluzione conosciuta di questo problema ha una complessità esponenziale su un calcolatore classico mentre richiede solo O((log(N))3) se si utilizza l’algoritmo di Shor icona_glossario su un calcolatore quantistico. L’impossibilità pratica della scomposizione di numeri molto grandi in fattori primi è la alla base della sostanziale indecifrabilità dei sistemi di crittografia a chiave pubblica, quali RSA o DH, che sono ritenuti algoritmicamente inattaccabili se il numero N è sufficientemente grande. Un calcolatore quantistico, con n qubit, potrebbe attaccare velocemente questi sistemi di crittografia e potrebbe decifrare tutti i messaggi velocemente, purché il numero dei qubit utilizzabili fosse maggiore del numero di bit icona_glossario utilizzati per la crittografia. Qui riappare l’importanza dell’aspetto tecnologico legato alla costruzione pratica di un calcolatore quantistico perché l’esistenza di limiti pratici al numero massimo di qubit renderebbe inutile la potenza dell’algoritmo quantistico di Shor. Per sconfiggere quest’ultimo basterebbe infatti crittografare mediante un numero di bit superiore al numero massimo di qubit usabili in un calcolatore quantistico.

I due algoritmi quantistici, appena ricordati, sorprendono per la loro efficacia e si pone immediatamente la domanda circa l’esistenza di altri algoritmi che possano risolvere altri problemi e sarebbe interessante sapere quante siano le classi di problemi che possono trarre vantaggio dai calcolatori quantistici. Sarebbe anche utile che il compilatore di un linguaggio per calcolatori quantistici potesse identificare questi problemi automaticamente durante l’analisi del programma al fine tradurli direttamente in algoritmi quantistici. I compilatori sono stati in grado di svolgere compiti di questo genere in varie occasioni quando, nel corso del tempo, si sono resi disponibili miglioramenti dell’hardware quali i sistemi vettoriali, quelli paralleli a memoria condivisa e poi a memoria distribuita e molti altri ancora.

Una classe di problemi, in un certo senso, separata è quella della simulazione numerica dei sistemi fisici microscopici reali, per esempio nelle applicazioni della fisica dello stato solido alla scienza dei materiali. In questo caso, il calcolatore quantistico simula i fenomeni microscopici naturali che sono certamente quantistici. Storicamente, è proprio a partire da quest’osservazione di R.P. Feynmann icona_biografia che ha preso le mosse, all’inizio degli anni ottanta, l’avventura dei calcolatori quantistici, certamente prima di incontrare la scienza dell’informazione, che aveva sviluppato indipendentemente molti concetti interessanti e notevolmente correlati come il denaro quantistico , il calcolo invertibile e la crittografia quantistica .

Paolo Santangelo – Fisico


 

 
Utilizza il filtro dei tags anche digitando le lettere della parola che stai cercando

© 2002 - 2018 ScienzaPerTutti - Grafica Francesca Cuicchio Ufficio Comunicazione INFN - powered by mspweb

NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Informativa sulla Privacy e Cookie Policy

Ultima modifica: 28 maggio 2018

IL TITOLARE

L’INFN si articola sul territorio italiano in 20 Sezioni, che hanno sede in dipartimenti universitari e realizzano il collegamento diretto tra l'Istituto e le Università, 4 Laboratori Nazionali, con sede a Catania, Frascati, Legnaro e Gran Sasso, che ospitano grandi apparecchiature e infrastrutture messe a disposizione della comunità scientifica nazionale e internazionale e 3 Centri Nazionali dedicati, rispettivamente, alla ricerca di tecnologie digitali innovative (CNAF), all’alta formazione internazionale (GSSI) ed agli studi nel campo della fisica teorica (GGI). Il personale dell'Infn conta circa 1800 dipendenti propri e quasi 2000 dipendenti universitari coinvolti nelle attività dell'Istituto e 1300 giovani tra laureandi, borsisti e dottorandi.

L’INFN con sede legale in Frascati, Roma, via E. Fermi n. 40, Roma, email: presidenza@presid.infn.it, PEC: amm.ne.centrale@pec.infn.it in qualità di titolare tratterà i dati personali eventualmente conferiti da coloro che interagiscono con i servizi web INFN

IL RESPONSABILE DELLA PROTEZIONE DEI DATI PERSONALI NELL’INFN

Ai sensi degli artt. 37 e ss. del Regolamento UE 2016/679 relativo alla protezione delle persone fisiche con riguardo al trattamento dei dati, l’INFN con deliberazione del Consiglio Direttivo n. 14734 del 27 aprile 2018 ha designato il Responsabile per la Protezione dei Dati (RPD o DPO).

Il DPO è contattabile presso il seguente indirizzo e.mail: dpo@infn.it

Riferimenti del Garante per la protezione dei dati personali: www.garanteprivacy.it

Il TRATTAMENTO DEI DATI VIA WEB

L'informativa è resa solo per i siti dell'INFN e non anche per altri siti web eventualmente raggiunti dall'utente tramite link.

Alcune pagine possono richiedere dati personali: si informa che il loro mancato conferimento può comportare l’impossibilità di raggiungere le finalità cui il trattamento è connesso

Ai sensi dell'art. 13 del Regolamento UE 2016/679, si informano coloro che interagiscono con i servizi web dell'Istituto Nazionale di Fisica Nucleare, accessibili per via telematica sul dominio infn.it, che il trattamento dei dati personali effettuato dall'INFN tramite web attiene esclusivamente ai dati personali acquisiti dall'Istituto in relazione al raggiungimento dei propri fini istituzionali o comunque connessi all’esercizio dei compiti di interesse pubblico e all’esercizio di pubblici poteri cui è chiamato, incluse le finalità ricerca scientifica ed analisi per scopi statistici.

In conformità a quanto stabilito nelle Norme per il trattamento dei dati personali dell’INFN e nel Disciplinare per l’uso delle risorse informatiche nell’INFN, i dati personali sono trattati in modo lecito, corretto, pertinente, limitato a quanto necessario al raggiungimento delle finalità del trattamento, per il solo tempo necessario a conseguire gli scopi per cui sono stati raccolti e comunque in conformità ai principi indicati nell’art. 5 del Regolamento UE 2016/679.

Specifiche misure di sicurezza sono osservate per prevenire la perdita dei dati, usi illeciti o non corretti ed accessi non autorizzati.

L’INFN tratta dati di navigazione perché i sistemi informatici e le procedure software preposte al funzionamento di questo sito web acquisiscono, nel corso del loro normale esercizio, alcuni dati la cui trasmissione è prevista dai protocolli di comunicazione impiegati. Questi dati - che per loro natura potrebbero consentire l'identificazione degli utenti - vengono utilizzati al solo fine di ricavare informazioni statistiche anonime sull'uso del sito e per controllarne il corretto funzionamento. Gli stessi potrebbero essere utilizzati per l'accertamento di responsabilità in caso di compimento di reati informatici o di atti di danneggiamento del sito; salva questa eventualità, non sono conservati oltre il tempo necessario all'esecuzione delle verifiche volte a garantire la sicurezza del sistema.

UTILIZZO DI COOKIE

Questo sito utilizza esclusivamente cookie “tecnici” (o di sessione) e non utilizza nessun sistema per il tracciamento degli utenti.

L'uso di cookie di sessione è strettamente limitato alla trasmissione di identificativi di sessione (costituiti da numeri casuali generati dal server) necessari per consentire l'esplorazione sicura ed efficiente del sito. Il loro uso evita il ricorso ad altre tecniche potenzialmente pregiudizievoli per la riservatezza della navigazione e non prevede l'acquisizione di dati personali dell'utente.

DIRITTI DEGLI INTERESSATI

Gli interessati hanno il diritto di chiedere al titolare del trattamento l'accesso ai dati personali e la rettifica o la cancellazione degli stessi o la limitazione del trattamento che li riguarda o di opporsi al trattamento secondo quanto previsto dagli art. 15 e ss. del Regolamento UE 2016/679. L'apposita istanza è presentata contattando il Responsabile della protezione dei dati presso l’indirizzo email: dpo@infn.it.

Agli interessati, ricorrendone i presupposti, è riconosciuto altresì il diritto di proporre reclamo al Garante quale autorità di controllo.

Il presente documento, pubblicato all'indirizzo: http://www.infn.it/privacy costituisce la privacy policy di questo sito, che sarà soggetta ad aggiornamenti.