Algoritmo de Bernstein-Wazirani

 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 .

Historia

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] .

Enunciado del problema de Bernstein-Vazirani

El problema clásico

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 problema cuántico

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] .

Algoritmo

El problema clásico

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] .

Algoritmo Cuántico

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] :

  1. En el primer paso, el operador de Hadamard se aplica a un estado -qubit que consta de un estado fundamental y un bit auxiliar : ;
  2. Luego se aplica el operador al resultado del paso anterior : ;
  3. Luego se aplica , a los primeros qubits del resultado , que teniendo en cuenta que , da [4] : .

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] .

Implementación del algoritmo en computadoras IBM

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] .

Aplicación práctica

El algoritmo de Bernstein-Wazirani se puede aplicar:

  1. En bases de datos [8] . Con la ayuda de un algoritmo, el acceso a los datos necesarios teóricamente se puede obtener mucho más rápido que en el caso clásico.
  2. En el ataque al cifrado de bloques [9] . El algoritmo de Bernstein-Wazirani proporciona varias formas nuevas, más avanzadas que en el caso clásico, de atacar un cifrado de bloque.
  3. En la prueba de rendimiento para computadoras cuánticas [10] . El algoritmo se utiliza como prueba de rendimiento para una computadora cuántica de 11 qubits.

Notas

  1. ↑ 1 2 3 4 5 6 7 8 9 10 11 12 Coles et al, 2018 , pág. 10-13.
  2. Ethan Bernstein, Umesh Vazirani. Teoría de la complejidad cuántica  // Actas del vigésimo quinto simposio anual de ACM sobre teoría de la computación. - Nueva York, NY, USA: ACM, 1993. - S. 11-20 . — ISBN 978-0-89791-591-5 . -doi : 10.1145/ 167088.167097 .
  3. Hidary, 2019 , pág. 104-107.
  4. 1 2 Sevag Gharibian. Conferencia 7: Los algoritmos de Deutsch-Josza y Berstein-Vazirani  //  Introducción a la Computación Cuántica Verano 2018, Universidad de Paderborn. - P. 1-10 .
  5. Hidary, 2019 , pág. 12-13.
  6. Coles et al, 2018 , pág. cuatro
  7. P. Londero, K. Banaszek, IA Walmsley, C. Dorrer, M. Anderson. Implementación óptica eficiente del algoritmo de Bernstein-Vazirani  (inglés)  // Physical Review A. - 2004. - V. 69 , no. 1 . — S. 010302–010302.4 . — ISSN 1050-2947 . -doi : 10.1103 / PhysRevA.69.010302 .
  8. A.A. Yezhov. Algunos problemas de la neurotecnología cuántica  (ruso)  // Sesión científica MEPhI–2003. V Conferencia científica y técnica de toda Rusia "Neuroinformática-2003": conferencias sobre neuroinformática. Parte 2. - 2003. - S. 44-45 . Archivado desde el original el 21 de enero de 2022.
  9. Huiqin Xie, Li Yang. Uso del algoritmo de Bernstein-Vazirani para atacar cifrados en bloque  //  Diseños, códigos y criptografía. — 2019-05-01. — vol. 87 , edición. 5 . — pág. 1161–1182 . — ISSN 1573-7586 . -doi : 10.1007/ s10623-018-0510-5 .
  10. K. Wright, K. M. Beck, S. Debnath, J. M. Amini, Y. Nam, N. Grzesiak, J.-S. Chen, NC Pisenti, M. Chmielewski, C. Collins, KM Hudek, J. Mizrahi, JD Wong-Campos, S. Allen, J. Apisdorf, P. Solomon, M. Williams, AM Ducore, A. Blinov, SM Kreikemeier , V. Chaplin, M. Keesan, C. Monroe y J. Kim. Evaluación comparativa de una computadora cuántica de 11 qubits // Nature Communications. - 2019. - Vol. 10. - S. 5464. - doi : 10.1038/s41467-019-13534-2 .

Enlaces