¿Cuál es el significado del teorema de Solovay-Kitaev?

El teorema de Solovay-Kitaev nos permite definir una clase de complejidad BQP (y otras clases) para estudiar lo que se puede hacer con el cálculo cuántico con buenas propiedades y en términos de solo unas pocas puertas.

Aquí está el trasfondo: cualquier cálculo cuántico puede considerarse como una transformación unitaria en qubits. (De la misma manera que un cálculo clásico puede considerarse como una función arbitraria de entradas a salidas). Sin embargo, necesitamos una forma de hablar sobre la eficacia con la que se puede realizar un cálculo cuántico.

Para hacer esto, queremos hablar construyendo una transformación unitaria cuántica a partir de puertas cuánticas. Un conjunto de puertas cuánticas es universal si se pueden combinar para aproximar cualquier transformación unitaria. Uno de estos conjuntos universales es {CCNOT, Hadamard}.

(Un ejemplo más familiar de universalidad podría ser el conjunto {AND, NOT}, que es universal para la computación clásica; es decir, cualquier función clásica se puede hacer componiendo compuertas AND y NOT).

Como solemos hacer en la teoría de la complejidad, nuestra línea de base para que algo sea “eficiente”. Entonces, digamos que BQP es el conjunto de problemas que se pueden resolver mediante una operación unitaria que se puede aproximar mediante un número polinómico de puertas.

Lo que dice el teorema de Solovay-Kitaev es básicamente que podemos amplificar estas aproximaciones. En particular, dice que el número de puertas necesarias para aproximar un unitario dado dentro de [math] \ varepsilon [/ math] escalas con [math] \ log ^ 2 (1 / \ varepsilon) [/ math]. Esto permite una “composición” adecuada de los cálculos cuánticos, y nos permite considerar las “subrutinas” de la computación cuántica. (La forma del teórico de la complejidad de decir esto sería que [math] \ mathsf {BQP} ^ \ mathsf {BQP} = \ mathsf {BQP} [/ math].) El problema es que si tenemos un montón de buenas aproximaciones a transformaciones unitarias, podríamos obtener una aproximación horrible cuando las combinamos todas juntas. Pero Solovay-Kitaev nos permite tomar esas buenas aproximaciones y, sin demasiadas puertas, obtener aproximaciones increíbles . Combinarlos dará una buena aproximación a lo que queramos.

Otra implicación importante de Solovay-Kitaev es que no importa qué conjunto universal de puertas elijas, ¡todos los conjuntos de puertas universales darán la misma clase! Esto significa que si nos limitamos a {CCNOT, Hadamard}, por ejemplo, no tenemos que preocuparnos de que nos estemos perdiendo ningún cálculo cuántico potencialmente eficiente. Esto también tendría una gran implicación práctica si la computación cuántica universal con el modelo de compuerta alguna vez se convierta en una realidad y realmente necesitemos fabricar compuertas.

También tenga en cuenta que EQP (el equivalente de BQP sin permitir aproximaciones) no tiene esta bondad, y su definición básicamente requiere que especifique qué conjunto universal está utilizando junto con sus soluciones. Es por eso que generalmente solo hablamos de BQP y solo requerimos que nuestros cálculos cuánticos sean correctos con una probabilidad (por ejemplo) mayor que 2/3.

Contestaré sobre las implicaciones prácticas para el cálculo cuántico, aunque matemáticamente Solovay-Kitaev trata de encontrar un subconjunto de SU (2) que pueda aproximar todos sus elementos con un pequeño número de elementos en este subconjunto (estos métodos también pueden generalizarse a todos Grupos de mentiras). Las operaciones de circuito de un qubit pueden representarse mediante matrices 2 × 2 en SU ​​(2), por lo que esto dice algo acerca de la cantidad de recursos que necesita para implementar algoritmos cuánticos arbitrarios y cómo debe diseñar su máquina.

Un algoritmo basado en el teorema de Solovay-Kitaev ataca el problema de expresar puertas unitarias arbitrarias usando un pequeño conjunto de puertas (llámelo el “conjunto de instrucciones”), donde las puertas en el conjunto más pequeño son las únicas que pueden implementarse experimentalmente en de una manera tolerante a fallas. Esto es importante porque la implementación física de una computadora cuántica depende de la tolerancia a fallas de sus circuitos para combatir la decoherencia. También le da una pista importante sobre lo que sería un buen conjunto de instrucciones, lo cual es bueno saber en esta etapa donde estamos tratando de construir implementaciones físicas de todas estas puertas.

Para ponerlo en términos informáticos clásicos, simplemente “compila” su programa en un conjunto de instrucciones más pequeño. Es la reexpresión de su conjunto inicial de puertas arbitrarias de una manera que la computadora puede realizar físicamente. Es análogo a compilar Python hasta el código de ensamblaje, pero a nivel de circuito. Solovay-Kitaev dice que puede hacer esto de manera eficiente (en este caso, pollogarítmicamente). Si esto no fuera posible en general, existe una buena posibilidad de que perdamos la aceleración que algún algoritmo cuántico nos hubiera dado. Específicamente, la complejidad del circuito se da como [math] \ mathcal {O} (\ log ^ c 1 / \ epsilon) [/ math], donde [math] c [/ math] está limitado por uno y se piensa que es cerca de dos, aunque el valor óptimo es una pregunta abierta.

Le recomiendo que lea las siguientes fuentes, especialmente las introducciones en [1] y [3] ya que dan una explicación más técnica de lo que he mencionado aquí.

[1] [quant-ph / 0111031] Aproximaciones discretas eficientes de puertas cuánticas
[2] Información cuántica y computación, M. Nielsen e I. Chuang, Apéndice 3
[3] [quant-ph / 0505030v2] El algoritmo Solovay-Kitaev
[4] Si puedes leer ruso, creo que aquí es donde Alexei Kitaev describió por primera vez la prueba: алгоритмы и исправление ошибок ”, УМН, 52: 6 (318) (1997), 53-112

More Interesting

¿Es teóricamente posible crear una CPU cuántica de propósito general, o la computación cuántica siempre estará limitada a tipos específicos de problemas, como lo es ahora?

¿Cuál es la importancia de la fase de la amplitud cuántica?

¿Cuál es el aparato para medir el giro de un electrón? Si es un campo magnético, ¿qué tan fuerte debería ser?

Cuánticamente, ¿cuál es el origen de la fuerza normal?

¿Cómo cambiaría la computación cuántica el campo del diseño de software?

¿Crees que es más difícil definir un problema o resolver uno que se te da?

¿Por qué el patrón Observador usa una interfaz para el objeto Observador? ¿Qué beneficio aporta esto a un diseño? ¿Qué problema de diseño resuelve?

¿Por qué no decimos que los fotones son ondas con comportamiento cuántico? De esta manera, el principio de superposición se vuelve obvio y no una rareza cuántica.

Quiero aprender sobre la teoría de la computación cuántica. ¿Donde debería empezar?

¿Cuál es el algoritmo cuántico más fácil de aprender para principiantes?

¿Existe el universo dentro de nosotros? ¿La mecánica cuántica y la cosmología se encontrarán en algún momento?

¿Qué son las computadoras cuánticas y sus detalles?

¿Existen operaciones o algoritmos que sean físicamente imposibles de realizar en una computadora?

Después de medir el giro de una partícula + sacarlo del estado cuántico, ¿puede volver alguna vez a ese estado? ¿O su ola de probabilidad se ha derrumbado para siempre?

¿Cuál es la laguna más grande que ha quedado en el modelo de mecánica cuántica?