¿Por qué los protocolos de corrección de errores solo funcionan cuando las tasas de error ya son significativamente bajas para empezar?

15

La corrección de errores cuánticos es un aspecto fundamental del cálculo cuántico, sin el cual los cálculos cuánticos a gran escala son prácticamente inviables.

Un aspecto de la computación cuántica tolerante a fallas que a menudo se menciona es que cada protocolo de corrección de errores ha asociado un umbral de tasa de error . Básicamente, para que un cálculo dado sea protegido contra errores a través de un protocolo dado, la tasa de error de las puertas debe estar por debajo de cierto umbral.

En otras palabras, si las tasas de error de las compuertas individuales no son lo suficientemente bajas, entonces no es posible aplicar protocolos de corrección de errores para hacer que el cálculo sea más confiable.

¿Por qué es esto? ¿Por qué no es posible reducir las tasas de error que ya no son muy bajas para empezar?

glS
fuente
Bueno, en algún momento simplemente hay ruido. ¿Es extraño que haya un punto en el que la corrección de errores sea más probable que corrija las partes correctas en ruido?
Lagarto discreto
1
@Discretelizard no tanto que tal vez haya uno, pero los umbrales suelen ser muy bajos (o altos en términos de fidelidad). ¿Por qué es así?
glS

Respuestas:

4

Queremos comparar un estado de salida con algún estado ideal, por lo que normalmente, la fidelidad, F(|ψ,ρ) se utiliza como esta es una buena manera de decir qué tan bien los posibles resultados de medición de ρ se comparan con los posibles resultados de medición de |ψ , donde es el estado de la salida ideal y es el estado alcanzado (potencialmente mixta) después de un proceso de ruido. Como estamos comparando estados, esto es|ψρ

F(|ψ,ρ)=ψ|ρ|ψ.

Describiendo los procesos de corrección de ruido y error utilizando operadores Kraus, donde es el canal de ruido con los operadores Kraus y es el canal de corrección de error con los operadores Kraus , el estado después del ruido es y el estado después de la corrección de ruido y error isN i E E j ρ ' = N ( | Psi Psi | ) = Σ i N i | Psi Psi | N i ρ = EN ( | Psi Psi | ) = Σ i , j E j N i | Psi Psi | norteNNiEEj

ρ=N(|ψψ|)=iNi|ψψ|Ni
ρ=EN(|ψψ|)=i,jEjNi|ψψ|NiEj.

La fidelidad de esto viene dada por

F(|ψ,ρ)=ψ|ρ|ψ=i,jψ|EjNi|ψψ|NiEj|ψ=i,jψ|EjNi|ψψ|EjNi|ψ=i,j|ψ|EjNi|ψ|2.

Para que el protocolo de corrección de errores sea de alguna utilidad, queremos que la fidelidad después de la corrección de errores sea mayor que la fidelidad después del ruido, pero antes de la corrección de errores, de modo que el estado corregido por error sea menos distinguible del estado no corregido. Es decir, queremosEsto proporcionaComo la fidelidad es positiva, esto puede reescribirse como

F(El |ψ,ρ)>F(El |ψ,ρ).
i,j| Psi| EjNi| Psi| 2>i| Psi| Ni| Psi| 2.
yo,jEl |ψEl |mijnorteyoEl |ψEl |2>yoEl |ψEl |norteyoEl |ψEl |2.
i,jEl |ψEl |mijnorteyoEl |ψEl |2>yoEl |ψEl |norteyoEl |ψEl |2.

División de en la parte corregible, , para lo cualy la parte no corregible, , para la cual . Denotando la probabilidad de que el error sea corregible como y no corregible (es decir, se han producido demasiados errores para reconstruir el estado ideal) como daN c EN c ( | Psi Psi | ) = | Psi Psi | nortenortenorteCminorteC(El |ψψEl |)=El |ψψEl | E N n c ( | Psi Psi | ) =σ P c P n c Σ i , j | Psi | E j N i | Psi |nortenorteCminortenorteC(El |ψψEl |)=σPAGCPAGnorteCPsi | σ | Psi = 0

yo,jEl |ψEl |mijnorteyoEl |ψEl |2=PAGC+PAGnorteCψEl |σEl |ψPAGC,
donde se asumirá la igualdad asumiendo . Esa es una falsa 'corrección' que se proyectará en un resultado ortogonal al correcto.ψEl |σEl |ψ=0 0

Para qubits, con una probabilidad (igual) de error en cada qubit como ( nota : esto no es lo mismo que el parámetro de ruido, que debería usarse para calcular la probabilidad de un error), la probabilidad de tener un error corregible (suponiendo que los qubits se han utilizado para codificar qubits, lo que permite errores en hasta qubits, determinado por el enlace Singleton ) esp n k t n - k 4 t P cnortepagnortektnk4t

Pc=jt(nj)pj(1p)nj=(1p)n+np(1p)n1+12n(n1)p2(1p)n2+O(p3)=1(nt+1)pt+1+O(pt+2)
.

Los canales de ruido también se pueden escribir como para una base , que se puede usar para definir una matriz de proceso . Esto da donde es la probabilidad de que no ocurra ningún error.P j χ j , k = i α i , j α Ni=jαi,jPjPj i| Psi| Ni| Psi| 2=Σj,kχj,kPsi| Pj| PsiPsiχj,k=iαi,jαi,kχ 0 , 0 = ( 1 - p ) n

i|ψ|Ni|ψ|2=j,kχj,kψEl |PAGjEl |ψψEl |PAGkEl |ψχ0 0,,0 0,
χ0 0,0 0=(1-pag)norte

Esto da que la corrección de errores ha sido exitosa en la mitigación (al menos algo de) el ruido cuandoSi bien esto solo es válido para y, como se ha utilizado un límite más débil, puede dar resultados inexactos de cuándo la corrección de errores ha sido exitosa, esto muestra que la corrección de errores es buena para pequeñas probabilidades de error ya que crece más rápido que cuando es pequeño.ρ1ppt+1p

1-(nortet+1)pagt+1(1-pag)norte.
ρ1pagpagt+1pag

Sin embargo, a medida que hace un poco más grande, crece más rápido que y, dependiendo de los prefactores, que depende del tamaño del código y del número de qubits para corregir, hará que la corrección de errores se 'corrija' incorrectamente los errores que han ocurrido y comienza a fallar como un código de corrección de errores. En el caso de , dando , esto sucede en , aunque esto es solo una estimación.p t + 1 p n = 5 t = 1 p 0.29pagpagt+1pagnorte=5 5t=1pag0,29

Editar de comentarios:

Como , esto daPAGC+PAGnorteC=1

yo,jEl |ψEl |mijnorteyoEl |ψEl |2=ψEl |σEl |ψ+PAGC(1-ψEl |σEl |ψ).

Al conectar esto como se indica arriba, se obtiene que es el mismo comportamiento que antes, solo que con una constante diferente.

1-(1-ψEl |σEl |ψ)(nortet+1)pagt+1(1-pag)norte,

Esto también muestra que, aunque la corrección de errores puede aumentar la fidelidad, no puede aumentar la fidelidad a , especialmente porque habrá errores (por ejemplo, errores de compuerta por no poder implementar perfectamente ninguna compuerta en la realidad) que surgen de la implementación del error corrección. Como cualquier circuito razonablemente profundo requiere, por definición, un número razonable de puertas, la fidelidad después de cada puerta será menor que la fidelidad de la puerta anterior (en promedio) y el protocolo de corrección de errores será menos efectivo. Luego habrá un número límite de puertas en cuyo punto el protocolo de corrección de errores disminuirá la fidelidad y los errores se agravarán continuamente.1

Esto muestra, en una aproximación aproximada, que la corrección de errores, o simplemente la reducción de las tasas de error, no es suficiente para el cálculo tolerante a fallas , a menos que los errores sean extremadamente bajos, dependiendo de la profundidad del circuito.

Mithrandir24601
fuente
Creo que estás tratando de explicar hasta qué tasa de error físico es baja la probabilidad de errores no corregibles. Tenga en cuenta que los umbrales de tolerancia a fallas son más pequeños (órdenes de magnitud para muchos códigos)
M. Stern
@ M.Stern Entonces, esta es una estimación (muy aproximada) para cuando una corrección de errores 'disminuye el error' (es decir, aumenta la fidelidad en cierta cantidad después de aplicar el ruido), por lo que definitivamente no es un umbral tolerante a fallas, no. Es posible que la corrección de errores haya aumentado la fidelidad después del ruido en cierta cantidad, pero no lo ha restablecido ni nada, por lo que la fidelidad solo disminuirá (y los errores se propagarán incluso si la corrección de errores se aplica constantemente, mostrando corrección de errores por sí solo no es suficiente para la tolerancia a fallas
Mithrandir24601
Hm, glS tendrá que juzgar si eso responde la pregunta. En cualquier caso es interesante y está bien escrito. Entonces, supones que el estado es ortogonal si los errores no se pueden corregir, ¿verdad? (Eso es ciertamente razonable en muchos escenarios). El otro extremo sería cuando hay una probabilidad de 50/50 de un error lógico en caso de errores no corregibles.
M. Stern
@ M.Stern ¡Gracias! Sí, ya sea que los estados son ortogonales o que toman el límite inferior. Como comparar un límite inferior con otro no es una gran idea, asumí que son ortogonales. Si hay alguna edición que consideres útil agregar al final de esto, ¡trabaja lejos! Hmm ... Creo que arriesgarse a un 50/50 de error lógico conduciría al mismo resultado, solo con diferentes prefactores al final
Mithrandir24601
4

Ya hay una buena respuesta matemática, así que intentaré proporcionar una fácil de entender.

La corrección de errores cuánticos (QEC) es un (grupo de) algoritmo (s) bastante complejo (s), que requiere muchas acciones (compuertas) en y entre qubits. En QEC, prácticamente conecta dos qubits a un tercer qubit auxiliar (ancilla) y transfiere la información si los otros dos son iguales (en algún aspecto específico) a ese tercer qubit. Luego lees esa información de la ancialla. Si le dice que no son iguales, usted actúa sobre esa información (aplique una corrección). Entonces, ¿cómo puede salir mal si nuestros qubits y puertas no son perfectos?

QEC puede hacer que la información almacenada en sus qubits decaiga. Cada una de estas puertas puede descomponer la información almacenada en ellas, si no se ejecutan perfectamente. Entonces, si solo ejecutar el QEC destruye más información de la que recupera en promedio, es inútil.

Cree que encontró un error, pero no lo hizo. Si la comparación (ejecución de compuertas) o la lectura de la información (ancilla) es imperfecta, puede obtener información incorrecta y, por lo tanto, aplicar "correcciones incorrectas" (léase: introducir errores). Además, si la información en las ancillas decae (o cambia por ruido) antes de que pueda leerla, también obtendrá una lectura incorrecta.

El objetivo de cada QEC es, obviamente, introducir menos errores de los que corrige, por lo que debe minimizar los efectos antes mencionados. Si hace todos los cálculos, encontrará requisitos bastante estrictos en sus qubits, puertas y lecturas (dependiendo del algoritmo QEC exacto que elija).

3244611 usuario
fuente
4

Versión clásica

Piense en una estrategia simple de corrección de errores clásica. Tienes un solo bit que quieres codificar, He elegido codificarlo en 5 bits, pero cualquier número impar funcionaría (cuanto más mejor). Ahora, supongamos que se han producido algunos errores de cambio de bits, así que lo que tenemos es ¿Era originalmente el 0 o 1 codificado? Si suponemos que la probabilidad de error por bit, , es menor que la mitad, entonces esperamos que menos de la mitad de los bits tengan errores. Entonces, miramos el número de 0s y el número de 1s. Cualquiera que haya más es el que asumimos que es con el que comenzamos. Esto se llama voto mayoritario. Hay alguna probabilidad de que estemos equivocados, pero cuantos más bits codificamos,

0 000000111111
01010.
pag

Por otro lado, si sabemos que , aún podemos hacer la corrección. ¡Simplemente implementaría un voto minoritario! El punto, sin embargo, es que tienes que hacer completamente la operación opuesta. Aquí hay un umbral agudo que muestra, al menos, que necesitas saber en qué régimen estás trabajando.pag>12

Para la tolerancia a fallas, las cosas se vuelven más desordenadas: la cadena que obtuviste podría no ser el estado en realidad . Puede ser algo diferente, aún con algunos errores que debe corregir, pero las mediciones que ha realizado al leer los bits también son ligeramente defectuosas. Crudamente, puede imaginar que esto convierte la transición brusca en una región ambigua donde realmente no sabe qué hacer. Aún así, si las probabilidades de error son lo suficientemente bajas o altas, puede corregirlas, solo necesita saber cuál es el caso.01010

Versión cuántica

En general, las cosas empeoran en el régimen cuántico porque tienes que lidiar con dos tipos de errores: errores de cambio de bit ( ) y errores de cambio de fase ( ), y eso tiende a agrandar la región ambigua. No entraré más en detalles aquí. Sin embargo, hay un argumento lindo en el régimen cuántico que puede ser esclarecedor.XZ

Imagine que tiene el estado de un solo qubit lógico almacenado en un código de corrección de error cuántico en qubits físicos. No importa cuál sea ese código, este es un argumento completamente general. Ahora imagine que hay tanto ruido que destruye el estado cuántico en qubits ("tanto ruido" en realidad significa que los errores ocurren con una probabilidad de 50:50, no cerca del 100%, lo cual, como ya lo hemos hecho dicho, se puede corregir). Es imposible corregir ese error. ¿Cómo sé eso? Imagina que tengo una versión completamente silenciosa y mantengo qubits y te doy los qubits restantes. Cada uno de nosotros introduce suficientes qubits en blanco para que tengamosEl |ψnortenorte/ /2norte/ /2nortequbits en total, y ejecutamos corrección de errores en ellos. demostración de clonación Si fuera posible realizar esa corrección de error, el resultado sería que ambos tendríamos el estado original . ¡Hubiéramos clonado el qubit lógico! Pero la clonación es imposible, por lo que la corrección de errores debe haber sido imposible.El |ψ

DaftWullie
fuente
2

Para mí, parece haber dos partes de esta pregunta (una más relacionada con el título, una más relacionada con la pregunta en sí):

1) ¿A qué cantidad de ruido son efectivos los códigos de corrección de errores?
2) ¿Con qué cantidad de imperfección en las puertas podemos implementar cálculos cuánticos tolerantes a fallas?

Permítanme enfatizar la diferencia: los códigos de corrección de errores cuánticos se pueden usar en muchos escenarios diferentes, por ejemplo, para corregir las pérdidas en las transmisiones. Aquí, la cantidad de ruido depende principalmente de la longitud de la fibra óptica y no de la imperfección de las puertas. Sin embargo, si queremos implementar el cálculo cuántico tolerante a fallas, las puertas son la principal fuente de ruido.

En 1)

La corrección de errores funciona para tasas de error grandes (más pequeñas que ). Tomemos, por ejemplo, el código simple de repetición de 3 qubits. La tasa de error lógico es solo la probabilidad de que el voto mayoritario sea incorrecto (la línea naranja es para comparación): 1/ /2F(pag)=pag

trazar la tasa de error físico vs lógico

Entonces, siempre que la tasa de error físico sea ​​inferior a , la tasa de error lógico es menor que . Sin embargo, tenga en cuenta que eso es particularmente efectivo para pequeñas , porque el código cambia la velocidad de a un comportamiento . pag1/ /2pagpagO(pag)O(pag2)

En 2)

Queremos realizar cálculos cuánticos arbitrariamente largos con una computadora cuántica. Sin embargo, las puertas cuánticas no son perfectas. Para hacer frente a los errores introducidos por las puertas, utilizamos códigos de corrección de errores cuánticos. Esto significa que un qubit lógico está codificado en muchos qubits físicos. Esta redundancia permite corregir una cierta cantidad de errores en los qubits físicos, de modo que la información almacenada en el qubit lógico permanezca intacta. Los códigos más grandes permiten que los cálculos más largos sigan siendo precisos . Sin embargo, los códigos más grandes implican más compuertas (por ejemplo, más mediciones de síndrome) y estas compuertas introducen ruido. Verá que hay una compensación aquí, y qué código es óptimo no es obvio.
Si el ruido introducido por cada puerta está por debajo de algún umbral (la tolerancia a fallas o el umbral de precisión), entonces es posible aumentar el tamaño del código para permitir cálculos arbitrariamente largos. Este umbral depende del código con el que comenzamos (generalmente se concatena iterativamente consigo mismo). Hay varias formas de estimar este valor. A menudo se realiza mediante simulación numérica: introduzca errores aleatorios y verifique si el cálculo aún funcionó. Este método generalmente proporciona valores de umbral que son demasiado altos. También hay algunas pruebas analíticas en la literatura, por ejemplo esta de Aliferis y Cross .

M. Stern
fuente
El segundo párrafo toca los puntos correctos, pero sigue siendo muy cualitativo. Está diciendo que necesita las puertas introducidas por el protocolo de corrección de errores para reducir la tasa de error más de lo que la aumentan. Sin embargo, ¿cómo se pasa de esta idea intuitiva a una estimación cuantitativa real por encima del umbral? Además, ¿esto implica un umbral inferior universal que ningún protocolo de corrección de errores puede superar?
glS
@glS Sospecho que existe un "umbral inferior universal", es decir, un valor de error por encima del cual no existen protocolos de corrección de tolerancia a fallas. Sin embargo, el valor debe depender tanto de su conjunto de puertas como de su modelo de error. Las personas tienden a estar más interesadas en los resultados positivos aquí (que muestran la existencia de un buen protocolo tolerante a fallas). Puede ser interesante encontrar límites superiores para ver "cuánto espacio nos queda" para mejorar nuestros esquemas tolerantes a fallas. Supongo que no queda mucho espacio.
Jalex Stark
@glS Tienes razón, algunos cálculos cuantitativos reales mejorarían esta respuesta. Creo que estos cálculos se hacen típicamente de forma numérica? Pero también quiero saber sobre esto
M. Stern
@JalexStark ¿Qué te hace pensar que no queda mucho espacio? Por ejemplo, el código de superficie no parece estar optimizado con este umbral. Utiliza solo las interacciones vecinas más cercanas en una red y podría hacer mucho más en general.
M. Stern
@ M.Stern No tengo ninguna evidencia basada en el teorema, y ​​no soy un experto en el área. Solo estaba adivinando en función de la cantidad de trabajo realizado y de cuán grandes son los mejores umbrales.
Jalex Stark
2

XyoyoyoyoYyoyoyoyoZyoyoyoyoyoXyoyoyoyoYyoyoyoyoZyoyoyoyoyoXyoyoyoyoYyoyoyoyoZyoyoyoyoyoXyoyoyoyoYyoyoyoyoZyoyoyoyoyoXyoyoyoyoYyoyoyoyoZyoyoyoyoyoXYZyo

La parte principal de la razón es, sin embargo, que no puede utilizar circuitos de detección de errores directos: cada CNOT (o cualquier otra puerta no trivial de 2 o más qubit) reenvía errores en un qubit a otro qubit, lo que sería desastroso para los más triviales. caso de un solo error de qubit que corrige el código y sigue siendo muy malo para códigos más sofisticados Por lo tanto, una implementación tolerante a fallas (útil) de las necesidades requiere aún más esfuerzo del que uno podría pensar ingenuamente.

ϵnorteϵnorte2ϵ

solsolsol+ϵXϵϵXnortesolnorte+norteϵsolnorteXnorteϵnorte2ϵ

Los errores incoherentes son más benignos. Sin embargo, si se debe dar un valor único como umbral de error, ¡entonces no se puede elegir asumir solo errores benignos!

pirámides
fuente
norte2ϵnorteϵ
@glS He ampliado sustancialmente la respuesta para responder a todas sus preguntas. ¿Me las arreglé para hacer eso?
Pirámides