Un enfoque hacia la tolerancia a fallos
Comenzamos esbozando un enfoque básico para la computación cuántica tolerante a fallos basado en circuitos cuánticos y códigos de corrección de errores.
Para esta discusión, consideremos el siguiente ejemplo de un circuito cuántico. Se trata de un circuito de teleportación que incluye la preparación del e-bit, pero la funcionalidad específica del circuito es irrelevante — es solo un ejemplo, y en la práctica probablemente estaremos interesados en circuitos significativamente más grandes.
Un circuito así representa un ideal, y una implementación real del mismo no será perfecta. ¿Qué podría salir mal entonces?
¡De hecho, muchas cosas podrían salir mal! En particular, las inicializaciones de estado, las operaciones unitarias y las mediciones serán todas imperfectas; y los qubits mismos serán susceptibles al ruido, incluida la decoherencia, en cualquier punto de la computación, incluso cuando no se realizan operaciones sobre ellos y simplemente almacenan información cuántica. En otras palabras: prácticamente todo podría salir mal.
Sin embargo, hay una excepción: todas las computaciones clásicas involucradas se consideran perfectas — porque, en la práctica, las computaciones clásicas son perfectas. Si, por ejemplo, estamos usando un código de superficie para la corrección de errores y se ejecuta un algoritmo clásico de emparejamiento perfecto para calcular las correcciones, realmente no necesitamos preocuparnos de que errores en esa computación clásica conduzcan a una solución incorrecta. Como otro ejemplo: las computaciones cuánticas a menudo requieren pre- y post-procesamiento clásico, y estas computaciones clásicas también pueden considerarse perfectas.
Modelos de ruido
Para analizar implementaciones tolerantes a fallos de circuitos cuánticos, necesitamos un modelo matemático preciso — un modelo de ruido — mediante el cual se puedan asignar probabilidades a los diferentes errores. Hipotéticamente, uno podría intentar desarrollar un modelo de ruido muy detallado y complicado que pretenda reflejar la realidad de lo que ocurre en un dispositivo específico. Pero si el modelo de ruido es demasiado complicado o difícil de analizar, probablemente será de utilidad limitada. Por esta razón, en la práctica se consideran modelos de ruido mucho más simples.
Un ejemplo de un modelo de ruido simple es el modelo de ruido estocástico independiente, en el que se asume que los errores que afectan a diferentes componentes en diferentes momentos — o, en otras palabras, diferentes ubicaciones en un circuito cuántico — son independientes. Por ejemplo, cada puerta podría fallar con una cierta probabilidad, un error podría afectar a cada qubit almacenado por unidad de tiempo con otra probabilidad, y así sucesivamente, sin correlaciones entre los diferentes errores posibles.
Ahora bien, es perfectamente legítimo objetar a un modelo así, ya que en dispositivos físicos reales es probable que haya correlaciones entre errores. Por ejemplo, podría haber una pequeña probabilidad de un error catastrófico que elimine todos los qubits de una vez. Quizás más probables son errores que son localmente acotados pero que aún afectan a múltiples componentes en un computador cuántico. ¡Nadie lo discute! Sin embargo, el modelo de ruido estocástico independiente proporciona una base simple que captura la idea de que la naturaleza es impredecible pero no maliciosa, y no intenta arruinar intencionadamente las computaciones cuánticas.
Otros modelos de ruido menos indulgentes también se estudian con frecuencia. Una relajación común de la suposición de independencia entre errores en diferentes ubicaciones de un circuito cuántico es, por ejemplo, que solo las ubicaciones de los errores son independientes, pero los errores reales en esas ubicaciones podrían estar correlacionados.
Independientemente del modelo de ruido elegido, debe reconocerse que el aprendizaje de los errores que afectan a dispositivos específicos y la formulación de nuevos modelos de error cuando los antiguos nos inducen a error podrían ser potencialmente una parte importante del desarrollo de la computación cuántica tolerante a fallos.
Implementaciones de circuitos tolerantes a fallos
A continuación, consideremos una estrategia básica para implementaciones tolerantes a fallos de circuitos cuánticos. Usamos el circuito de teleportación anterior como ejemplo continuo para ilustrar la estrategia, aunque podría aplicarse a cualquier circuito cuántico.
Aquí hay un diagrama de una implementación tolerante a fallos de nuestro circuito de teleportación.
Los componentes individuales en este diagrama y su conexión con el circuito original son los siguientes.
-
Las preparaciones de estado, las puertas unitarias y las mediciones no se realizan directamente como operaciones individuales, sino a través de los llamados gadgets, cada uno de los cuales puede involucrar múltiples qubits y múltiples operaciones. En el diagrama, los gadgets se indican mediante cajas moradas etiquetadas con la preparación de estado, puerta o medición respectiva que se debe implementar.
-
Los qubits lógicos, sobre los que se ejecuta el circuito original e ideal, están protegidos por un código corrector de errores cuánticos. En lugar de actuar directamente sobre estos qubits lógicos, los gadgets actúan sobre los qubits físicos que los codifican. El diagrama sugiere que se utilizan cinco qubits físicos para cada qubit lógico, como si se usara el código de qubits, pero el número podría ser diferente, por supuesto. Es importante enfatizar que estos qubits lógicos nunca están desprotegidos; pasan toda su existencia bajo la protección del código corrector de errores cuánticos elegido.
-
La corrección de errores se realiza repetidamente, como indican las cajas azules etiquetadas "EC" en el diagrama, durante toda la computación. Es de vital importancia que esto ocurra tanto con frecuencia como en paralelo. Cuando ocurren errores, se acumula entropía, y se requiere un trabajo constante para eliminarla del sistema lo suficientemente rápido como para que la computación pueda funcionar correctamente.
Por lo tanto, deben tomarse decisiones concretas, incluyendo la selección de los gadgets así como del propio código corrector de errores cuánticos. Una vez tomadas estas decisiones y asumido un modelo de ruido determinado, podemos hacernos una pregunta fundamental: ¿Esto realmente ayuda? Es decir: ¿estamos mejorando las cosas, o podríamos incluso estar empeorándolas?
Si el ruido es demasiado alto, todo el proceso que acabamos de proponer podría empeorar las cosas — al igual que el código de Shor de 9 qubits empeora las cosas si la probabilidad de error en cada qubit está por encima del punto de equilibrio. Sin embargo, si el ruido está por debajo de un cierto umbral, todo este trabajo adicional nos beneficiará — y como discutiremos hacia el final de la lección, se abren caminos para una mayor reducción de errores.