La mayoría de los algoritmos útiles / relativamente eficientes 1 para computadoras cuánticas pertenecen a la clase de complejidad 'tiempo polinomial cuántico de error acotado' (BQP) . Según esta definición, desea que la 'tasa de falla' de cualquier algoritmo cuántico sea , o , aunque el resultado aún puede estar dentro de algún pequeño error. Un algoritmo no probabilístico (que puede ejecutarse en tiempo polinómico) seguirá estando en esta clase de complejidad, con la única diferencia de que siempre devuelve el resultado correcto 2 . P(éxito)≥2≤ 13P ( éxito ) ≥ 23
Sin embargo, como puede ejecutar un algoritmo un número arbitrario de veces, esto es equivalente a tener una probabilidad de éxito de al menos para una entrada de longitud cualquier constante positiva .nc12+ n- cnortedo
Entonces, el resultado 'correcto' es el que aparece al menos dos tercios de las veces, a menos que desee un cálculo de 'una sola vez', como si desea generar números aleatorios, o si desea hacer algo como punto de referencia el chip cuántico, donde las estadísticas importan y son parte del 'resultado'.
Aparte de estos (u otros algoritmos que no tienen un solo 'resultado correcto'), si encuentra un algoritmo con una tasa de éxito inferior a la mitad, ya no es un 'error acotado' y puede que no sea posible para el usuario para conocer el resultado correcto: puede que simplemente haya una respuesta incorrecta con una probabilidad mayor de ocurrir que la correcta.
Sí, puede ver un resultado diferente cada vez que ejecuta un cálculo. La confianza en el resultado es proporcionada por:
- El algoritmo cuántico en sí mismo asegura que el resultado correcto ocurra con alta probabilidad y;
- Repetir el algoritmo varias veces para encontrar el resultado más probable.
1 Aquí, los algoritmos que se pueden calcular en tiempo polinómico para dar una solución con 'alta probabilidad', aunque a los efectos de esta respuesta, la complejidad del tiempo es de menor importancia
2 Bueno, idealista, al menos