EO523
lo stato 0 o 1, mentre i qubit possono assumere una so- vrapposizione di tutti gli stati possibili. In altre parole, essi possono trovarsi nello stato 0, nello stato 1 o in un altro stato intermedio chiamato “sovrapposizione”, nel quale il qubit è contemporaneamente sia 0 che 1 in varie percentuali. Durante la lettura del qubit, esso collassa dal suo stato quantico e restituisce 0 o 1. Per comprendere, in modo molto elementare, il funzionamento del qubit, si può pensare a una scatola chiusa che contenga un og- getto, che può inizialmente assumere il colore rosso o il colore giallo (vedi l’esempio di figura 2). Mentre la scatola è chiusa l’oggetto può utilizzare alcune proprietà quanti- stiche per cambiare il suo colore in arancione, ossia una combinazione intermedia tra il colore rosso e il colore giallo. Tale stato è definito “sovrapposizione”. Quando si apre la scatola per osservare l’oggetto arancione, pur- troppo esso ritorna in uno dei colori originali, ossia rosso o giallo. Questo sarebbe un grosso problema ma esisto- no alcune “porte quantistiche” che si possono utilizzare durante lo stato di sovrapposizione che permettono di leggere o modificare, in tal modo, lo stato degli oggetti senza distruggerli. Alcune delle più importanti caratte- ristiche del qubit sono elencate di seguito: • sovrapposizione: con tale caratteristica le particelle quantistiche sono il risultato della combinazione di tutti gli stati possibili. Esse rimangono intatte fino a quando non vengono osservate e misurate • entanglement: i qubit formano un singolo sistema e si influenzano reciprocamente. Eseguendo osserva- zioni su un qubit è possibile calcolare le condizioni di altri qubit. Un qubit ha infiniti stati possibili. Esso può assumere ogni possibile sovrapposizione di uno e zero in qualsiasi percentuale come probabilità che dia come risultato 1 o 0 se venisse misurato. Ad ogni modo, quando viene mi- surato, un qubit può fornire il risultato di uno o di zero, come un bit classico. La potenza dei qubit si può osser- vare prima della sua misura, ossia durante la fase della sovrapposizione, nella quale si possono verificare infini- te combinazioni di stato. Più qubit possono essere com- binati insieme utilizzando porte logiche quantistiche (X, Y, H, ecc). Quando si misurano i valori finali dei qubit si ottengono valori di probabilità e per tale motivo è sem- pre conveniente ripetere lo stesso algoritmo più volte per avere un risultato più affidabile, tuttavia con un tempo di elaborazione minore rispetto a un algoritmo classico. Esempio di algoritmo quantistico Nel web esistono numerosi simulatori di algoritmi quan- tistici che permettono di sperimentare e di comprendere il funzionamento di questa tecnologia. Alcuni di questi simulatori sono progettati per essere semplici e intuiti- vi, ideali per chi muove i primi passi in questo campo, mentre altri offrono funzionalità avanzate e sono rivolti a utenti più esperti. A ogni modo, quello che deve essere ben recepito dagli utenti è proprio il concetto di algorit- mo quantistico, ben differente dalla teoria tradizionale. La disponibilità di questi strumenti è abbastanza ampia: molti sono gratuiti e open source mentre altri sono a pa- gamento e offrono funzionalità aggiuntive o un supporto più completo. Uno di questi è offerto da IBM. L’esempio è abbastanza semplice e riguarda lo scambio di valore di due qubit. La figura 3 mostra la schermata del simula- tore IBM Quantum Composer, un ambiente grafico e te- stuale al tempo stesso. Inizialmente i due qubit q[0] e q[1] sono settati al valore di 0. Quindi il qubit q[0] è invertito e settato a 1. Seguono tre comandi “cx” che rappresenta- no una porta logica quantistica CNOT (Controlled-NOT). Essa contiene due parametri, solitamente due qubit. Il valore del qbit0 controlla il valore del qbit1. Se il qbit0 è 0 l’operatore lascia invariato il qubit1, invece se il qbit0 è 1 l’operatore inverte il valore del qubit1. Tale ragiona- mento è valido per gli stati base 0 o 1 e non per gli stati sovrapposti, per i quali è tutto molto più complicato. Il listato sorgente della simulazione è scritto in linguaggio OPENQASM 2.0 ed è proposto di seguito: OPENQASM 2.0; include “qelib1.inc”; qreg q[2]; creg c[2]; reset q[0]; reset q[1]; x q[0]; cx q[0], q[1]; cx q[1], q[0]; cx q[0], q[1]; In breve, ecco la descrizione dei singoli comandi: • OPENQASM 2.0: è la dichiarazione della versione del linguaggio OpenQASM utilizzato Fig. 2 – Un semplicistico raffronto tra bit e qubit DIGITAL QUANTUM COMPUTING ELETTRONICA OGGI 523 - GENNAIO/FEBBRAIO 2025 39
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzg4NjYz