¿Es necesaria la corrección de errores?

20

¿Por qué necesitas corrección de errores? Según tengo entendido, la corrección de errores elimina los errores del ruido, pero el ruido debería promediarse. Para aclarar lo que estoy preguntando, ¿por qué no puede, en lugar de involucrar la corrección de errores, simplemente ejecutar las operaciones, por ejemplo, cien veces y elegir la respuesta promedio / más común?

brezo
fuente

Respuestas:

18

Eso no escala bien. Después de un cálculo moderadamente largo, básicamente te quedas con el estado de mezcla máxima o cualquier punto fijo que tenga tu ruido. Para escalar a cálculos largos arbitrarios, debe corregir los errores antes de que sean demasiado grandes.

Aquí hay algunos cálculos cortos para la intuición dada anteriormente. Considere el modelo de ruido blanco simple (ruido de despolarización), dondeρes el estado ideal (seaplica lanotación estándar). Si concatenanprocesos tan ruidosos, el nuevo parámetro de ruido esε=1-(1-ε)n, que aumenta exponencialmente en el número de puertas (u otras fuentes de error). Si repite el experimentom-veces y asume que el error estándar se escala como1

ρ(ε)=(1ε)ρ+εItrI,
ρnε=1(1ε)nm ve que el número de corridasmsería exponencialmente en la longitud de su cálculo!1mm
M. Stern
fuente
11

Si la tasa de error fuera lo suficientemente baja, podría ejecutar un cálculo cien veces y tomar la respuesta más común. Por ejemplo, esto funcionaría si la tasa de error fuera lo suficientemente baja como para que el número esperado de errores por cómputo fuera algo muy pequeño, lo que significa que qué tan bien funciona esta estrategia dependerá de cuánto tiempo y compás le gustaría hacer.

Una vez que la tasa de error o la duración de su cálculo se vuelven lo suficientemente altas, ya no puede confiar en que el resultado más probable es que hubo cero errores: en cierto punto, es más probable que tenga uno, dos o más errores, que eso tienes cero. En este caso, no hay nada que impida que la mayoría de los casos le den una respuesta incorrecta. ¿Entonces que?

Estos problemas no son especiales para la computación cuántica: también se aplican a la computación clásica; simplemente sucede que casi toda nuestra tecnología está en un estado de madurez suficientemente avanzado que estos problemas no nos conciernen en la práctica; que puede haber una mayor probabilidad de que su computadora sea golpeada por un meteorito a mitad de la computación (o que se quede sin batería, o que decida apagarlo) que un error de hardware. Lo que es (temporalmente) especial sobre la computación cuántica es que la tecnología aún no está lo suficientemente madura como para que estemos tan relajados ante la posibilidad de error.

En aquellos tiempos cuando la computación clásica tieneEn una etapa en que la corrección de errores era práctica y necesaria, pudimos utilizar ciertas técnicas matemáticas (corrección de errores) que permitieron suprimir la tasa de error efectiva y, en principio, hacerla tan baja como quisiéramos. Sorprendentemente, se pueden usar las mismas técnicas para la corrección de errores cuánticos, con un poco de extensión, para acomodar la diferencia entre información cuántica y clásica. Al principio, antes de mediados de la década de 1990, se pensaba que la corrección de errores cuánticos era imposible debido a la continuidad del espacio de estados cuánticos. Pero resulta que, al aplicar las técnicas clásicas de corrección de errores de la manera correcta a las diferentes formas en que se puede medir un qubit (generalmente descrito como "bit" y "fase"), en principio, también puede suprimir muchos tipos de ruido en los sistemas cuánticos. Estas técnicas tampoco son especiales para los qubits: la misma idea se puede utilizar para sistemas cuánticos de cualquier dimensión finita (aunque para modelos como el cálculo adiabático, puede obstaculizar la realización del cálculo que desea realizar).

En el momento en que escribo esto, los qubits individuales son tan difíciles de construir y ordenar que la gente espera salirse con la suya haciendo cálculos de prueba de principio sin ninguna corrección de error. Eso está bien, pero limitará la duración de sus cálculos hasta que el número de errores acumulados sea lo suficientemente grande como para que el cálculo deje de ser significativo. Hay dos soluciones: mejorar en la supresión del ruido o aplicar corrección de errores. Ambas son buenas ideas, pero es posible que la corrección de errores sea más fácil de realizar a mediano y largo plazo que la supresión de fuentes de ruido.

Niel de Beaudrap
fuente
Como corrección rápida, el hardware moderno sufre tasas de error no despreciables y se utilizan métodos de corrección de errores. Dicho esto, por supuesto, su punto sobre los problemas que son mucho peores en las computadoras cuánticas actuales es válido.
Nat
@ Nat: interesante. Soy vagamente consciente de que este puede ser el caso para las GPU, y (en un contexto que no involucra cómputo activo) las matrices RAID son un ejemplo obvio también. Pero, ¿podría describir otras plataformas de hardware para las cuales la computación clásica debe basarse en la corrección de errores durante una computación?
Niel de Beaudrap
Parece que los errores son más frecuentes en contextos de red, seguidos por el almacenamiento en disco, seguido por la RAM. Los protocolos y discos de red implementan habitualmente trucos de corrección de errores. RAM es una bolsa mixta; la RAM del servidor / estación de trabajo tiende a usar código de corrección de errores (ECC), aunque la RAM del consumidor a menudo no lo hace. Dentro de las CPU, me imagino que tienen más tácticas específicas de implementación, pero probablemente sean secretos del fabricante. Las tasas de error en CPU y GPU se vuelven relevantes en un nivel observable en algunos casos, por ejemplo, en decisiones de overclocking y bloqueo de núcleo del fabricante.
Nat
Realmente un poco curioso sobre la corrección de errores de tipo CPU ahora ... Quiero decir, la memoria caché parecería propensa a los mismos problemas que la RAM normal (a menos que de alguna manera esté protegida con más potencia o algo así), que presumiblemente sería inaceptable en el servidor / contextos de estaciones de trabajo. ¿Pero a nivel de registro? Eso sería algo bueno para leer; no vi nada de inmediato en Google, aunque supongo que esa información probablemente sea un secreto comercial.
Nat
8

Ahora, agregando a la respuesta de M. Stern :

La razón principal de por qué la corrección de errores es necesaria para las computadoras cuánticas, es porque los qubits tienen un continuo de estados (estoy considerando las computadoras cuánticas basadas en qubit solo, por el momento, por simplicidad).

α|0+β|1α|0+βeiϕ|1α|0+βei(ϕ+δ)|1. El estado real está cerca del estado correcto pero sigue siendo incorrecto. Si no hacemos algo al respecto, los pequeños errores se acumularán con el tiempo y eventualmente se convertirán en un gran error.

α|0+β|1|0|α|2|1|β|2

En una computadora clásica, por ejemplo, si el valor de un bit se está replicando n veces de la siguiente manera:

000000...n times
111111...n times

000100010000000000000s010

|ψ=α|0+β|1(α|0+β|1)(αeiϵ|0+βeiϵ|1)(αeiϵ2|0+βeiϵ2|1)...001010

Por lo tanto, necesita una variedad diferente de técnicas de corrección de errores para lidiar con los errores que ocurren durante el funcionamiento de una computadora cuántica, que puede tratar no solo los errores de cambio de bits sino también los errores de cambio de fase. Además, tiene que ser resistente contra la decoherencia no intencional. Una cosa a tener en cuenta es que la mayoría de las puertas cuánticas no serán "perfectas", aunque con el número correcto de "puertas cuánticas universales" puede acercarse arbitrariamente a la construcción de cualquier puerta cuántica que realice (en teoría) una transformación unitaria.

Niel de Beaudrap menciona que hay formas inteligentes de aplicar las técnicas clásicas de corrección de errores de manera tal que puedan corregir muchos de los errores que ocurren durante las operaciones cuánticas, lo cual es correcto, y es exactamente lo que hacen los códigos actuales de corrección de errores cuánticos. Me gustaría agregar lo siguiente de Wikipedia , ya que podría dar algo de claridad sobre cómo los códigos de corrección de errores cuánticos tratan el problema descrito anteriormente:

Los códigos de corrección de errores clásicos utilizan una medición de síndrome para diagnosticar qué error corrompe un estado codificado. Luego revertimos un error aplicando una operación correctiva basada en el síndrome. La corrección de errores cuánticos también emplea mediciones de síndrome. Realizamos una medición de múltiples qubits que no altera la información cuántica en el estado codificado pero recupera información sobre el error. La medición de un síndrome puede determinar si un qubit ha sido dañado y, de ser así, cuál. Lo que es más, el resultado de esta operación (el síndrome) nos dice no solo qué qubit físico se vio afectado, sino también, en cuál de varias formas posibles se vio afectado. Esto último es contra-intuitivo a primera vista: dado que el ruido es arbitrario, ¿cómo puede ser el efecto del ruido una de las pocas posibilidades distintas? En la mayoría de los códigos, el efecto es un cambio de bit o un cambio de signo (de la fase), o ambos (correspondientes a las matrices de Pauli X, Z e Y). La razón es que la medición del síndrome tiene el efecto proyectivo de una medición cuántica. Entonces, incluso si el error debido al ruido fue arbitrario, se puede expresar como una superposición de operaciones básicas: la base de error (que aquí se da por las matrices de Pauli y la identidad). La medición del síndrome "obliga" al qubit a "decidir" que cierto "error de Pauli" específico "haya sucedido", y el síndrome nos dice cuál, para que podamos dejar que el mismo operador de Pauli actúe nuevamente en el qubit corrupto para revertirlo. El efecto del error.

La medición del síndrome nos dice lo más posible sobre el error que ha sucedido, pero nada sobre el valor que se almacena en el qubit lógico, ya que de lo contrario la medición destruiría cualquier superposición cuántica de este qubit lógico con otros qubits en el cuanto computadora.


Nota : No he dado ningún ejemplo de técnicas de corrección de errores cuánticos reales. Hay muchos buenos libros de texto que tratan este tema. Sin embargo, espero que esta respuesta les dé a los lectores una idea básica de por qué necesitamos códigos de corrección de errores en la computación cuántica.


Lecturas adicionales recomendadas:

Video recomendado:

Mini Crash Course: corrección de errores cuánticos por Ben Reichardt, Universidad del Sur de California

Sanchayan Dutta
fuente
3
No estoy seguro de que el hecho de que haya un continuo de estados juegue algún papel. El cómputo clásico con bits también tendría los mismos problemas si nuestra tecnología fuera menos madura, y de hecho sufrió significativamente el ruido en varios momentos de su desarrollo. Tanto en el caso clásico como en el cuántico, el ruido no se aleja convenientemente en circunstancias normales
Niel de Beaudrap
51000.5005
Por supuesto, no te equivocas cuando dices que incluso la computación clásica sufrió el problema del ruido. ¡También existe una teoría bien establecida de los códigos de corrección de errores clásicos! Sin embargo, la situación es mucho más grave en el caso del cálculo cuántico debido a la posibilidad de un número infinito de estados de existencia de un solo qubit.
Sanchayan Dutta
1
Las técnicas utilizadas para la corrección de errores cuánticos no implican el hecho de que el espacio de estado es infinito de ninguna manera. Los argumentos que está haciendo parecen estar trazando una analogía entre la computación cuántica y la computación analógica, aunque existe una similitud, implicaría que la corrección de error cuántico sería imposible si fuera una analogía sólida. En contraste, el espacio de estado de muchos qubits también es como una distribución de probabilidad en cadenas de bits, de las cuales también hay un continuo; y, sin embargo, basta con corregir el error en cadenas de bits definidas para suprimir el error.
Niel de Beaudrap
1
@glS He eliminado la primera oración. Tienes razón. Estaba interpretando la computación de una manera no relacionada.
Sanchayan Dutta
2

¿Por qué necesitas corrección de errores? Según tengo entendido, la corrección de errores elimina los errores del ruido, pero el ruido debería promediarse.

Si construyó una casa o una carretera y el ruido era una variación, una diferencia con respecto a la rectitud, a la dirección, no es solo / simplemente: "¿Cómo se vería?", Sino "¿Cómo sería?" - una superposición de eficiencia y corrección.

Si dos personas calcularan la circunferencia de una pelota de golf con un diámetro dado, cada una obtendría una respuesta similar, sujeto a la precisión de sus cálculos; si cada uno usara varios lugares decimales sería "suficientemente bueno".

Si a dos personas se les proporcionó equipo e ingredientes idénticos, y se les dio la misma receta para un pastel, ¿deberíamos esperar resultados idénticos?

Para aclarar lo que estoy preguntando, ¿por qué no puede, en lugar de involucrar la corrección de errores, simplemente ejecutar las operaciones, por ejemplo, cien veces y elegir la respuesta promedio / más común?

Estás estropeando el pesaje, tocando con el dedo la balanza.

Si estás en un concierto ruidoso e intentas comunicarte con la persona a tu lado, ¿te entienden la primera vez, siempre?

Si cuenta una historia o difunde un rumor (y algunas personas se comunican textualmente, algunas agregan su propio giro, y otras olvidan partes), cuando vuelve a usted, se promedia y se convierte esencialmente (pero no idénticamente) en el mismo ¿Qué dijiste? - poco probable

Es como arrugar un trozo de papel y luego aplanarlo.

Todas esas analogías estaban destinadas a ofrecer simplicidad sobre exactitud, puede releerlas varias veces, promediarlas y tener la respuesta exacta, o no. ;)


Una explicación más técnica de por qué la corrección de errores cuánticos es difícil pero necesaria se explica en la página web de Wikipedia: " Corrección de errores cuánticos ":

"La corrección de errores cuánticos (QEC) se usa en la computación cuántica para proteger la información cuántica de los errores debidos a la decoherencia y otros ruidos cuánticos . La corrección de errores cuánticos es esencial si se quiere lograr un cálculo cuántico tolerante a fallas que pueda lidiar no solo con el ruido almacenado información cuántica, pero también con compuertas cuánticas defectuosas, preparación cuántica defectuosa y mediciones defectuosas ".

"La corrección de errores clásica emplea redundancia " ...

"La copia de información cuántica no es posible debido al teorema de no clonación . Este teorema parece presentar un obstáculo para formular una teoría de corrección de errores cuánticos. Pero es posible difundir la información de un qubit en un estado altamente entrelazado de varios ( "qubits físicos". Peter Shor descubrió por primera vez este método de formular un código de corrección de errores cuánticos almacenando la información de un qubit en un estado altamente entrelazado de nueve qubits. Un código de corrección de errores cuánticos protege la información cuántica contra errores de forma limitada ".

Robar
fuente
2

el ruido debería promediarse.

El ruido no se promedia a la perfección. Esa es la falacia del jugador. Aunque el ruido tiende a serpentear de un lado a otro, aún se acumula con el tiempo.

N/2O(N)O(N)

Q2Q2QO(N)

ejecutar las operaciones, digamos, cien veces, y elegir la respuesta promedio / más común?

A medida que los cálculos se hacen más grandes y más largos, la posibilidad de no ver ruido o de que el ruido se cancele perfectamente rápidamente se vuelve tan cercana al 0% que no puede esperar ver la respuesta correcta incluso una vez, incluso si repitió el cálculo un billón de veces.

Craig Gidney
fuente