El algoritmo de Bernstein-Vazirani es un algoritmo cuántico que resuelve el problema de encontrar un número de bits (el término cadena oculta [1] también se usa en la literatura extranjera ) escondido en una caja negra . Propuesto por Ethan Bernstein y Umesh Wazirani en 1993 . Este algoritmo resuelve el problema mucho más rápido de lo que es posible en la formulación no cuántica . El algoritmo se puede utilizar en bases de datos , ataques a cifrados de bloque , pruebas de rendimiento para computadoras cuánticas , se implementó en computadoras cuánticas IBM de 5 y 16 qubits .
El algoritmo fue propuesto por el profesor de Berkeley Vazirani y su alumno Ethan Bernstein Al describir el algoritmo, las fuentes modernas, por regla general, se refieren al discurso de Bernstein y Vazirani [2] en un simposio sobre la teoría de la computación en 1993 [3] . El algoritmo de Bernstein-Vazirani es una versión extendida del algoritmo de Deutsch-Yozhi , porque en lugar de determinar si una función pertenece a una determinada clase, equilibrada o constante (es decir, toma el valor 0 o 1 para cualquier argumento), la El algoritmo encuentra un vector "oculto" que le permite determinar de forma única las funciones de valor en cualquier punto [4] .
El algoritmo de Bernstein-Vazirani demuestra en el problema que resuelve la brecha entre los algoritmos clásicos y cuánticos en términos del menor número requerido de solicitudes al oráculo (caja negra). Incluso si permite el uso de algoritmos probabilísticos (con una probabilidad de error pre-limitada), la solución del problema clásico requerirá llamadas al oráculo, mientras que en el algoritmo cuántico basta con llamarlo [5] .
Considere un oráculo que convierte un número de -bit en un bit, es decir, .
Además , donde es el producto escalar de la forma: . Consideramos que una llamada de función se realiza en tiempo constante.
Se requiere encontrar [1] .
El enunciado del problema en el modelo cuántico es similar, pero el acceso al oráculo en él no se realiza directamente a través de la función , sino a través de un operador lineal que actúa sobre un sistema de qubits :
,donde es el vector ket correspondiente al estado cuántico , es el vector bra correspondiente al estado cuántico , es el producto de Kronecker y es la suma módulo 2 .
Los estados cuánticos y corresponden a los vectores y . El vector para el estado conjunto se puede representar como un producto [6] .
De forma similar al caso clásico, se supone que la llamada al oráculo, que calcula el resultado de aplicar el operador al sistema de entrada desde el qubit , se realiza en tiempo constante.
En el caso cuántico, como en el caso clásico, se supone que , y se requiere encontrar [1] .
En el caso clásico, cada llamada de Oracle devuelve un bit del número , por lo que para encontrar el número de bits , debe llamar a Oracle times. A continuación se muestra una variante de llamadas al oráculo, que le permite restaurar completamente [1] :
El número de llamadas al oráculo en el caso clásico es , donde es el número de bits del número . El simple razonamiento teórico de la información puede mostrar que este límite no se puede mejorar incluso dentro del marco de la clase BPP [1] .
El algoritmo se basa en el operador Hadamard n-qubit :
Y también el hecho de que aplicar un operador a un estado de la forma , donde da como resultado el valor [1] .
Paso a paso, el funcionamiento del algoritmo se puede representar de la siguiente manera [1] :
Como resultado, medir el registro de entrada dará el valor [1] . Así, en la formulación cuántica del problema basta con referirse al oráculo. En el caso general, la construcción y uso de un oráculo requiere elementos lógicos , pero esto no se tiene en cuenta al analizar el algoritmo en este modelo, ya que solo el número de llamadas al oráculo es significativo para él [1] . El algoritmo de esta forma se implementó en computadoras IBM de 5 y 16 qubits [1] , también es posible ensamblar un sistema óptico que implemente el algoritmo [7] .
En cualquier implementación práctica del algoritmo de Bernstein-Vazirani, la principal dificultad es la creación de un oráculo, ya que la construcción y uso de un oráculo requiere un elemento lógico . [una]
Además de la complejidad de construir un oráculo, la implementación práctica va acompañada de problemas de precisión. El sistema se probó en cadenas de 1, 2 y 3 bits, en las que el simulador IBM-Qiskit la con un 100 % de precisión Luego, se realizaron pruebas de cadenas de 1 y 2 bits en una máquina ibmqx4 de 5 qubits y una máquina ibmqx5 de 16 qubits, donde se registraron errores de cálculo y una fuerte desviación del resultado esperado [1] .
El algoritmo de Bernstein-Wazirani se puede aplicar:
informatica cuantica | |||||||||
---|---|---|---|---|---|---|---|---|---|
Conceptos generales |
| ||||||||
comunicaciones cuánticas |
| ||||||||
Algoritmos cuánticos |
| ||||||||
Teoría de la complejidad cuántica |
| ||||||||
Modelos de computación cuántica |
| ||||||||
Prevención de decoherencia |
| ||||||||
Implementaciones físicas |
|