Newsgroup: it.scienza.fisica
Titolo: Ma insomma quello di Google è un vero computer quantistico o no?

Mi capita di vedere nei TG o in altre fonti online che un non meglio
identificato 'computer quantistico di Google' ha battuto una serie
mirabolante di record mondiali eseguendo calcoli ad una velocità
irraggiungibile dai computer 'normali'.
 
Da altre fonti invece leggo che il computer quantistico per ora esiste solo
sulla carta perché le difficoltà tecniche non sono state ancora superate per
cui allo stato attuale non esiste un vero computer quantistico sulla faccia
della terra.
 
Qualcuno può fare un po' di chiarezza?


Mi associo alla domanda, ma purtroppo -- a quanto pare -- nessuno qui
ha le idee tanto chiare, o quantomeno e' in grado di esporle in modo
IMHO comprensibile. Ciao


Non credo che quelli che potrebbero fare chiarezza vengano qua (o anche 
la') a dirtelo
Essendo un progetto che puo' facilmente cambiare il destino di 
un'azienda e pure di una nazione e' sicuramente tenuto ben segreto al 
fine di mantenere un vantaggio rispetto ad altre aziende/nazioni
E' un qualcosa di simile alla macchina di Turing per decodificare le 
Enigma, un 'coso' di questo tipo puo' far vincere le guerre
 

Enigma, un 'coso' di questo tipo puo' far vincere le guerre
 
Non direi proprio. IMHO questo e' solo complottismo. AFAIR,
quantum-computer reali esistono, a livello "giocattolo", cioe' con
pochi bit. Il mio problema e' che non capisco perche', anche ammesso
di risolvere il problema della decoerenza, e quindi di consentire la
costruzione di non-toy computer, questi possano funzionare meglio (a
parita' di bit) delle macchine tradizionali. Ciao 

 delle macchine tradizionali. Ciao
 
Non ne so assolutamente nulla di computer quantistici, pero', da quel 
pochissimo che mi e' parso di capire, su un bit classico puoi scriverci solo 
|0> o |1>, su un quantum bit puoi scriverci |0>+exp(i*phi)|1>, con phi 
qualsiasi. Una differenza abissale.
 
Ciao
--
Bruno Cocciaro
--- Li portammo sull'orlo del baratro e ordinammo loro di volare.
--- Resistevano. Volate, dicemmo. Continuavano a opporre resistenza.
--- Li spingemmo oltre il bordo. E volarono. (G. Apollinaire) 
 

|0> o |1>, su un quantum bit puoi scriverci |0>+exp(i*phi)|1>
 
ma puoi leggerci o 0 o 1. Chi ti da' la sicurezza (o perlomeno un'alta
probabilita') di leggere il valore giusto? Ciao


Sospetto (dalla mia conoscenza superficialissima dell'argomento) che dipenda dal problema. Ad esempio pare che per trovare un elemento in una lista al computer quantistico sia sufficiente un solo passo, indipendentemente dalla lunghezza della lista. Tra i frequentatori di isf/fisf Marco Giampaolo dovrebbe essere in grado di rispondere, chissà se legge il thread.

 probabilita') di leggere il valore giusto ? Ciao
 
anche qui mi sfugge il punto. La forza di questi Qbits 
sarebbe quella di supportare valori di "verità" frazionari, 
e calcoli "fuzzy" ... così la vendono eh
 
 
-- 
1) Resistere, resistere, resistere.
2) Se tutti pagano le tasse, le tasse le pagano tutti
Soviet_Mario - (aka Gatto_Vizzato)

Se è altro, cos'altro ?
 
Mi riferisco alla misura del qbit. Ciao

qualsiasi. Una differenza abissale.
 
Intanto, magari e' a|0> + b|1> con aa+bb=1. Poi "puoi scriverci" non
mi sembra un'espressione appropriata. Ciao

Intanto, magari e' a|0> + b|1> con aa+bb=1.
 
 |aa|+|bb|=1.

 Intanto, magari e' a|0> + b|1> con |aa|+|bb|=1.
 
Non cambia nulla a rappresentare uno stato con
un vettore normalizzato oppure no, un postulato
interpretativo della MQ è che agli stati del
sistema corrispondano i _raggi_ in uno spazio
di Hilbert complesso e separabile.
La normalizzazione interessa invece ovviamente
quando si consideri la c.l. di più vettori
rappresentativi di stati, per rappresentare
la sovrapposizione di stati.
 
Ciao
 
-- 
Giorgio Bibbiani
(mail non letta)


Ti chiedo scusa :-(, quello che ho scritto è corretto
ma non c'entra, rileggendo ho capito che tu intendevi
un'altra cosa, cioé che i 2 vettori |0> e |1> non
devono necessariamente comparire con coefficienti di
uguale modulo, e infatti la c.l. che hai scritto
non è normalizzata se i 2 vettori iniziali lo sono...


 non è normalizzata se i 2 vettori iniziali lo sono...
 
Certo che lo è invece, se |0> e |1> sono ortonormali,
ora termino per evitare di aggiungere altre sciocchezze...
:-(



Allora, la risposta è un bel ni :)
 
Un po' più seriamente, Google ha un computer casato su processi quantistici che su uno specifico problema ha mostrato di essere estremamente più efficace di un computer classico.
 
Tuttavia un "universal quantum computer", cioè un computer classico universale dovrebbe trasformare tutti i problemi di tipo NP in problemi di tipo P.
 
Un problema è di tipo NP se il numero di step utilizzati per la soluzione del problema (o più banalmente il tempo di esecuzione) scala con una legge più veloce di qualsiasi funzione polinomiale (NP sta per Non Polinomiale mentre P per Polinomiale).
 
Ora Google ha mostrato "solo" che il suo computer è molto più veloce di uno classico ma non ha mostrato che:
1- il tempo di esecuzione scala in maniera diversa tra computer classici ed il suo prototipo
2- (se 1 fosse verificato) che questo vantaggio si estenda a tutti i problemi di tipo NP
 
 
 
C'è da dire che il punto fondamentale è il punto 1. Vi sono alcune congetture che asseriscono che tutti i problemi di tipo NP sono equivalenti e che, quindi, se il punto 1 è verificato per un particolare problema, allora il punto 2 risulta automaticamente verificato. Ma qui si entra in un campo (la teoria della complessità degli algoritmi) in cui non sono esperto e per ciò mi taccio.
 
 
Sicuramente, quello di Google così come i D-wave computer sono dei passi avanti significativi verso la realizzazione di un quantum computer universale. Ma la storia non è ancora finita
 
Marco

 parita' di bit) delle macchine tradizionali. Ciao
 
Il motivo di base per cui i computer quantistici sarebbero,
sulla carta, enormemente piu' veloci di quelli classici,
sarebbe anche abbastanza banale da spiegare e se vuoi ci
provo, ma proprio per questo motivo sospetto che tu intenda
che hai dubbi su qualche specifico aspetto tecnico della
faccenda (es. sulla correzione degli errori) piuttosto che
sulla questione di base. Ho indovinato?
 
Ciao
Paolo Russo
 

sulla questione di base. Ho indovinato?
 
No. E' proprio il funzionamento basilare *fenomenologico* che non
comprendo. Ciao


farò una menzione di un'immagine (era un video che mi colpì 
tantissimo, ma non ricordo manco il titolo) che riguarda non 
tanto e non per forza il calcolo "quantistico" vs normale, 
ma verteva su calcolo ANALOGICO vs DIGITALE.
Ora non sono sicuro sulla totale o parziale 
sovrapponibilità, nel contesto, tra quantistico e analogico 
(perché analogico può anche essere non quantistico).
 
 
Il tipo di problema pratico era l'ordinamento di un insieme 
di oggetti simili ed estrazione del più grande di essi per 
selezione.
Ora non ho che ultra tenui ricordi sulle prestazioni di 
quicksort, ma se non erro mi pareva che in un contesto non 
sfavorevole barra sfigato, scalasse come O(N*logN), ossia 
più che linearmente col numero di oggetti.
 
La computazione analogica usava una spezzettatura di 
spaghetti rotti a mano in tronconi di lunghezza casuale.
 
Li posava (tenendoli in un cilindro largo appena il giusto) 
sul tavolo piatto, calava da sopra un altro piano ADESIVO 
parallelo al piano del tavolo, e se ne tornava su avendo 
selezionato uno o più spaghetti più lunghi di tutti.
quindi l'operazione era O(costante) per qualsiasi N di 
spaghetti, perché lavorava analogicamente e in parallelo su 
tutti insieme, allineandoli indipendentemente.
 
Detto questo non so tradurre in pratica come si implementi 
questo tipo di ragionamento su un computer quantistico (o 
anche analogico non quantistico : vidi un altro video su 
computer analogici a valvole che eseguivano elaborazioni 
sulle onde), ma è evidente che se il tipo di problema si 
presta a questo tipo di approccio, non ci può essere proprio 
gara con un algoritmo digitale classico che quando va di 
lusso scala come O(N) e spesso peggio per non parlare di 
certe situazioni dove ti trovi O>=(N!). Un algoritmo 
intrinsecamente O(const), magari anche con un clock molto 
basso, finisce presto per annientare uno tradizionale con 
numeri di N oggetti manco tanto grandi.
 
Non so che genere di calcoli possano effettuare questi Qbit 
(io li immagino solo come celle di memoria non digitali, con 
una profondità di bit che ignoro), ma forse si prestano 
anche a realizzare porte logiche varie alla base dei 
processori.
boh


 
Esiste già una nutrita bibliografia sui vantaggi della computazione quantistica su quella classica, in particolare su una vasta gamma di algoritmi che potete trovare qui:
 
https://en.wikipedia.org/wiki/Quantum_algorithm
 
 
 
 
Ma c'è di più: nel 2013 uscì su arxiv un interessante articolo, ad opera di un ricercatore italiano, che proponeva un nuovo paradigma di computazione quantistica basato sulla tecnica di teletrasporto a post-selezione, e che prometterebbe di azzerare i tempi di qualsiasi processo computazionale (in pratica prometterebbe la costruzione di CPU dotate di velocità infinita).
 
Potete trovare il suddetto articolo qui:
 
https://arxiv.org/abs/1304.1892
 


A parte che avrei dovuto scrivere cos[chi]|0>+exp(i*phi)sin[chi]|1> (con chi e phi qualsiasi), cioè la correzione, di cui ti ringrazio, che hai notato in successivo post, il punto è che nel quantum bit non puoi leggerci "solo" o 0 o 1. Nel senso che quello che ci leggerai (e la probabilità di ottenere una risposta o l'altra) *dipenderà* dalla "domanda" che deciderai di porre.
Per il bit classico la domanda è una sola: sei pieno? E il bit classico risponde o sì (1) o no (0).
Al bit quantistico si puo' "chiedere": collassi nello stato cos[chi_m]|0>+exp(i*phi_m)sin[chi_m]|1> (con chi_m e psi_m qualsiasi)?
E il bit quantistico rispondera' si' con probabilita'
|cos[chi_m]cos[chi]+exp(i*(phi_m+phi))sin[chi_m]sin[chi]|^2.
 
 
 
Non ho la minima idea di come un computer quantistico possa risolvere problemi utilizzando queste "domande" le cui risposte avranno una distribuzione di probabilita' dipendente dalla domanda, pero', di sicuro, lo "spazio per giocare" e' decisamente piu' ampio rispetto a quello che ha a disposizione il computer classico. E' uno "spazio" infinito^2 piu' ampio (sempre usando un linguaggio libero).
 
 
 
 
Non sono nemmeno sicuro che sia questo che sto dicendo il "cuore" della differenza, cioe' che sia cio' che rende un computer quantistico "di altro ordine" rispetto a un computer classico. Quanto sto dicendo e' solo quello che mi pare di ricordare di aver letto da qualche parte che rispondeva alla domanda che ponevi (sempre posto che io ricordi bene e che abbia ben compreso sia cio' che leggevo che la tua domanda). Quando torno a casa dopo le vacanze magari ritrovo il passo originale e potrei provare ad essere piu' preciso.
 
Ciao, Bruno

 comprendo.
 
Allora, visto che non hai problemi con la matematica posso
partire con un approccio un pelino tecnico.
 
In MQ lo stato di un sistema (potenzialmente, qualunque
sistema isolato) e` rappresentato da un vettore di stato che
si evolve nel tempo. Il passare del tempo e` rappresentato da
un operatore lineare che trasforma un vettore di stato in un
altro. Chiamiamo T l'operatore lineare di evoluzione
temporale che rappresenta il passaggio di un certo intervallo
di tempo. Diciamo che |A> e` uno stato di un sistema;
chiamiamo |A'> il suo stato futuro:
 
|A'> = T|A>
 
Puoi pensare ad A come a un vettore colonna e T come a una
matrice quadrata.
Se il sistema invece che nello stato |A> si trovasse
inizialmente nello stato |B>, la sua evoluzione temporale
cambierebbe di conseguenza:
 
|B'> = T|B>
 
Il punto fondamentale della questione e` che T e`
deterministico e lineare (lasciando da parte per adesso i
processi di misura, che sono in parte casuali e non lineari),
pertanto, se abbiamo uno stato che e` una combinazione
lineare di |A> e |B>:
 
|C> = a|A> + b|B>
 
con a e b coefficienti complessi, il suo stato futuro |C'> e`
una combinazione lineare dei due futuri:
 
|C'> = T|C> = T(a|A> + b|B>) = aT|A> + bT|B> = a|A'> + b|B'>
 
Apro una parentesi. Questo fatto che l'evoluzione temporale
e` lineare porta al paradosso del gatto di Schroedinger: se
un sistema quantistico si trova in una sovrapposizione di due
stati, tali che il primo stato ha per conseguenza che il
gatto vive, mentre il secondo ha per conseguenza di uccidere
il gatto, allora alla fine il gatto e` in una sovrapposizione
di stati vivo e morto? E sarebbe solo l'osservazione da parte
di uno sperimentatore a far collassare il gatto in uno stato
definito? E in cosa lo sperimentatore differirebbe dal gatto?
Come si puo` giustificare fisicamente un collasso che
distingue tra i due casi?
Qui ci sarebbe MOLTO da dire e qualche parola ce la devo
spendere perche' altrimenti il discorso rimane un po' monco e
non molto comprensibile. Questo paradosso e` stato usato per
sostenere che la MQ non e` applicabile a sistemi macroscopici
tout court e quindi non puo` essere del tutto corretta: il
collasso avverrebbe in qualche modo gia` a livello
microscopico, ben prima della misura, poi non si capisce bene
cosa succederebbe dopo. Nel 1957 un certo Everett si rese
conto che quest'argomentazione e` fallace, perche' proprio la
linearita` dell'evoluzione temporale garantisce che gli stati
macroscopici sovrapposti siano praticamente inosservabili,
per cui non c'e` bisogno di pensare a collassi ne' micro ne'
macro per spiegare la loro mancata osservazione. Il sistema
totale comprendente non solo atomi, rivelatore e gatto, ma
anche uno o piu' osservatori, si troverebbe alla fine in una
sovrapposizione di due stati, in uno dei quali il gatto
sarebbe vivo e tutti gli osservatori concorderebbero che
fosse vivo, mentre nell'altro sarebbe morto e tutti
concorderebbero che fosse morto. Anche in assenza di un
collasso del vettore di stato, nessun osservatore direbbe mai
d'aver visto un gatto vivo E morto. Questa situazione puo`
venire chiamata "molti mondi" o "universi paralleli",
pertanto Everett e` considerato l'ideatore
dell'interpretazione a universi paralleli della MQ. Molti
credono che abbia lavorato molto di fantasia, mentre in
realta` non si e` inventato un bel nulla; ha solo applicato i
principi base della MQ ai sistemi macroscopici e si e` reso
conto che cio` poteva spiegare l'apparente collasso del
vettore di stato. Chiusa parentesi.
 
Torniamo ai computer. Diciamo che dobbiamo eseguire un sacco
di calcoli. Dividiamoli in due blocchi. Condizioniamoli a un
IF sullo stato di un bit di controllo: se il bit vale 0,
eseguiamo il primo blocco di calcoli; se vale 1, eseguiamo il
secondo. Se abbiamo un computer quantistico e possiamo porre
questo bit di controllo in una sovrapposizione di stati |0> e
|1>, la linearita` di T ci garantisce che il computer
eseguira` entrambi i blocchi di calcoli allo stesso tempo e
alla fine il suo output sara` una combinazione lineare dei
risultati dei due blocchi di calcoli. Se abbiamo tre qbit,
possiamo dividere il problema in otto blocchi di calcoli,
associandone ognuno a una diversa combinazione di valori dei
tre qbit, e quindi un computer quantistico eseguira` tutti e
otto i blocchi di calcoli in parallelo. Se abbiamo n qbit, e`
come se avessimo a disposizione 2^n computer indipendenti che
lavorano in parallelo.
 
Nella visione a universi paralleli la cosa e` particolarmente
semplice da capire: n qbit consentono a un computer
quantistico di creare un massimo di 2^n universi paralleli in
ognuno dei quali il computer esegue un calcolo diverso. Il
problema e` mettere assieme i risultati alla fine. Una volta
che gli universi paralleli si sono separati in modo
irreversibile, non hanno piu' modo di comunicare tra loro
(Everett docet) per mettere assieme i risultati. Una
separazione e` irreversibile quando la sovrapposizione di
stati si estende fino a coinvolgere qualche parte del sistema
che e` fuori dal controllo dello sperimentatore: questa parte
del sistema complessivo su cui non si ha controllo viene
solitamente chiamata "ambiente esterno".
I computer tradizionali non sono strutturati per mantenere la
sovrapposizione di stati confinata al loro interno. Ogni
amplificazione eseguita da una porta logica convenzionale
influenza l'ambiente esterno. Per questo motivo non si puo`
fare elaborazione quantistica con un computer tradizionale,
anche disponendo di bit di controllo in stato di
sovrapposizione; se bastasse questo, basterebbe collegare un
generatore di casualita` quantistica a un computer
tradizionale per avere un computer quantistico. Invece le
cose sono molto piu' difficili.
 
Un fisico che non adotta l'interpretazione di Everett non
dira` che la sovrapposizione deve essere contenuta
all'interno del dispositivo; dira` piuttosto che e`
"fragile", che ogni interazione con l'ambiente esterno "la
distrugge". Si tratta esattamente dello stesso fenomeno, la
cosiddetta "decoerenza", solo interpretato diversamente.
 
Naturalmente ho semplificato molto. Un computer quantistico
con n qbit normalmente esegue meno di 2^n calcoli in
parallelo perche' una parte dei qbit viene usata per le
variabili temporanee nel corso dei calcoli. Poi l'esigenza di
tenere sotto controllo la sovrapposizione e l'esigenza di
mettere assieme i risultati alla fine fondendoli in maniera
utile pongono tanti di quei limiti alle modalita` di
elaborazione che solo di certi problemi si e` finora trovato
un algoritmo quantistico decente.
 
Ciao
Paolo Russo

un algoritmo quantistico decente.
 
Mettiamola cosi', partiamo dal fondo, ossia dall'output. Una data
elaborazione -- venga essa affrontata da un computer tradizionale o
quantistico (QC) --  necessita dell'output di una informazione di n
bit, non uno di meno.
 
Nel computer tradizionale leggo l'output quando mi pare, nell'ordine
che preferisco, un bit alla volta, senza che questo rompa il cazzo
agli altri bit. Credo che cio' non sia possibile nel QC, dato che gli
altri qbit sarebbero entanglati al bit letto. E se questo fosse
sbagliato? c'e' qualcosa che avverte di cio'? Tipo una "risonanza" del
sistema che viene a mancare? Ciao

 sistema che viene a mancare? Ciao
 
Non so se e` questo che intendi, ma c'e` effettivamente un
problema di affidabilita`: mentre i computer tradizionali
(in realta` tutta l'elettronica digitale) sono basati
su porte logiche che funzionando a soglia amplificano
intrinsecamente i segnali - e a cio` si deve la superiore
affidabilita` dei computer digitali rispetto a quelli
analogici che per questo motivo sono giustamente caduti in
disuso - i computer quantistici non possono fare niente del
genere, quindi l'elaborazione introduce errori. Che io
sappia, sono stati sviluppati algoritmi di correzione
d'errore per aggirare il problema; se non ricordo male
richiedono di sacrificare un po' di qbit per avere la
ridondanza.
 
Ciao
Paolo Russo

determinato e quindi non intrecciato.
 
I bit di output sono correlati logicamente fra di loro, strano che non
siano entanglati. Comunque e' lo stesso: supponiamo che i n qbit di
output siano determinati correttamente con alta probabilita'. La
domanda resta sempre la stessa: qual e' il motivo per cui, tra le 2^n
possibilita', la risposta corretta dovrebbe avere piu' alta
probabilita' delle sbagliate? Una sorta di risonanza, suppongo. 
 
Ma ora lasciamo perdere anche il perche' e le interpretazioni. Da 0:
c'e' che dice che i quantum computer esistono e funzionano, sia pure
con pochi qbit. La mia richiesta sarebbe di avere un report
dettagliato *fenomenologico* di un computo quantistico. Richiesta a
tutt'oggi vana, su isf. Ciao

 tutt'oggi vana, su isf. Ciao
 
Prova a leggere 
https://arxiv.org/abs/1411.6758
 e la ref. 1 lì citata, ho l'impressione che ci sia l'informazione che cerchi.