La maggior parte degli algoritmi utili / relativamente efficienti 1 per i computer quantistici appartiene alla classe di complessità del "tempo quantico polinomiale di errore limitato" (BQP) . Con questa definizione, si desidera che il "tasso di fallimento" di qualsiasi algoritmo quantico sia oP(successo)≥2≤ 13 , sebbene il risultato potrebbe essere ancora all'interno di un piccolo errore. Un algoritmo non probabilistico (che può essere eseguito in tempo polinomiale) sarà ancora in questa classe di complessità, con l'unica differenza cherestituiscesempreil risultato corretto2.P ( successo ) ≥ 23
Tuttavia, poiché è possibile eseguire un algoritmo un numero arbitrario di volte, ciò equivale ad avere una probabilità di successo di almeno per un input di lunghezzane qualsiasi costante positivac.12+ n- cnc
Quindi, il risultato "corretto" è quello che appare almeno due terzi del tempo, a meno che tu non voglia un calcolo "one-shot" come se vuoi generare numeri casuali o se vuoi fare qualcosa come benchmark il chip quantico, dove le statistiche contano e fanno parte del "risultato".
A parte questi (o altri algoritmi che non hanno un singolo "risultato corretto"), se trovi un algoritmo con un tasso di successo inferiore alla metà, non è più un "errore limitato" e potrebbe non essere possibile per l'utente per conoscere il risultato corretto: potrebbe esserci semplicemente una risposta errata con una probabilità di accadimento più elevata di quella corretta.
Sì, potresti vedere un risultato diverso ogni volta che esegui un calcolo. La fiducia nel risultato è fornita da:
- L'algoritmo quantico stesso assicura che il risultato corretto avvenga con alta probabilità e;
- Ripetendo l'algoritmo più volte per trovare il risultato più probabile.
1 Qui, algoritmi che possono essere calcolati in tempo polinomiale per fornire una soluzione con "alta probabilità", sebbene ai fini di questa risposta, la complessità temporale sia di minore importanza
2 Beh, idealisticamente, almeno