¿Cómo poner un bit cuántico en una superposición le permite hacer varios cálculos en paralelo?

Estoy de acuerdo en que el concepto general de superposición y medición a través de probabilidades puede ser confuso. Creo que está mejor ilustrado a través de un ejemplo de qué tipo de cálculos se pueden hacer y tal vez pueda ampliar el siguiente ejemplo para llegar a una mejor comprensión. Pido disculpas si esta es una lectura larga, pero debería ser relativamente comprensible y comprensible ( incluidas las matemáticas) . Si desea omitir la configuración e ir directamente al ejemplo que ilustra cómo las compuertas , la superposición y el enredo pueden trabajar juntas para realizar cálculos ridículamente rápidos en paralelo, solo busque el encabezado que dice EJEMPLO (todo en el ejemplo, sin embargo, se explica en los párrafos que lo preceden).

Esencialmente, una computadora cuántica funciona con qubits en lugar de bits regulares utilizados por las máquinas informáticas normales. Estas computadoras abusan o explotan el efecto de la superposición de estados, donde cada qubit en un registro puede existir en un número diferente de estados (en nuestro caso, está entre [matemáticas] 0 [/ matemáticas] y [matemáticas] 1 [/ matemáticas ]). Un grupo o un número de qubits juntos es un registro; por ejemplo, un qubyte o un byte cuántico es un grupo de ocho qubits y es un tipo de registro. Solo cuando el registro se verifica o se “interroga” se imprime uno de los estados elegidos de cada qubit, con cierta probabilidad, y se pierde el resto de la información de los otros estados. Ahora considere el registro que definimos anteriormente como un qubyte con ocho qubits. La superposición permite que cada uno de esos ocho qubits individuales sea simultáneamente [matemática] 0 [/ matemática] o [matemática] 1 [/ matemática]. Como tenemos ocho de estos, el qubyte puede estar simultáneamente en un total de [matemáticas] 2 ^ 8 = 256 [/ matemáticas] a la vez. Además, si un registro tuviera qubits [matemáticos] n [/ matemáticos] que pueden ser [matemáticos] 0 [/ matemáticos] o [matemáticos] 1 [/ matemáticos] (dos estados posibles), entonces ese registro puede estar simultáneamente en [math] 2 ^ n [/ math] establece todo a la vez, lo que permite realizar una gran cantidad de cálculos simultáneamente, o como algunos dicen “en paralelo”.

Examinemos más a fondo qué es un qubit para comprender lo que significa cuando estos cálculos se realizan “en paralelo”. Si un qubit puede estar en una superposición de estados hasta que se examina, entonces es engañoso decir que un qubit toma los valores [ matemática] 0 [/ matemática] y [matemática] 1 [/ matemática] antes de la medición. Para aclarar este punto, juguemos con tres qubits que llamaré [math] \ psi_1 [/ math], [math] \ psi_2 [/ math] y [math] \ psi_3 [/ math]. Dado que estas son medidas de estados cuánticos, es mejor usar la notación de Dirac para mayor claridad, por lo que tenemos: [matemáticas] | {\ psi_1} \ rangle [/ matemáticas], [matemáticas] | {\ psi_2} \ rangle [/ matemáticas] y [matemáticas] | [/ matemáticas] [matemáticas] {\ psi_3} \ rangle [/ matemáticas]. Un qubit es una superposición lineal de sus estados propios (los estados en los que puede ser: [matemática] 0 [/ matemática] y [matemática] 1 [/ matemática]) por lo que es una combinación lineal de los dos estados básicos posibles. Es decir

[matemáticas] | {\ psi} \ rangle = \ alpha_0 | {0} \ rangle + \ alpha_1 | {1} \ rangle \ tag 1 [/ matemáticas]

donde [math] \ alpha_0 [/ math] y [math] \ alpha_1 [/ math] son ​​amplitudes de probabilidad. Esto solo significa que, si este qubit se mide o examina, la probabilidad de [matemática] | {\ psi} \ rangle = | {0} \ rangle [/ matemática] es [matemática] \ left | {\ alpha_0} \ right | ^ 2 [/ math] y de la misma manera la probabilidad de [math] | {\ psi} \ rangle = | {1} \ rangle [/ math] es [math] \ left | {\ alpha_1} \ right | ^ 2 [ /matemáticas]. (La razón por la que las amplitudes de probabilidad se cuadran merece su propia respuesta, por lo que continuaremos). Una cosa que debe agregarse es que [math] {\ alpha_0} [/ math] y [math] {\ alpha_1} [/ math] son ​​números complejos (tienen una parte real e imaginaria) y que [math] \ left | {\ alpha_0} \ right | ^ 2 + \ left | {\ alpha_1} \ right | ^ 2 = 1 [/ math].

Lo siguiente a discutir es lo que podemos hacer con estos qubits puros y grupos de qubits: puertas , superposición y enredos .

Probablemente ya hayas notado que [math] | {\ psi} \ rangle = \ alpha_0 | {0} \ rangle + \ alpha_1 | {1} \ rangle [/ math] se parece a un vector y ya que estaremos preocupados por manipular [math] {\ alpha_0} [/ math] y [math] {\ alpha_1} [/ math], podemos construir la siguiente representación vectorial de un qubit:

[matemáticas] | {\ psi} \ rangle = \ alpha_0 | {0} \ rangle + \ alpha_1 | {1} \ rangle {\ rightarrow} \ begin {bmatrix} \ alpha_0 \\ \ alpha_1 \ end {bmatrix} \ tag 2 [/matemáticas]

Las puertas realizan operaciones unitarias en qubits. Esto significa que los valores para [math] {\ alpha_0} [/ math] y [math] {\ alpha_1} [/ math] cambian para [math] | {\ psi_ \ text {before}} \ rangle [/ math] a medida que pasa por una puerta a algunos valores nuevos [matemática] {A_0} [/ matemática] y [matemática] {A_1} [/ matemática] que aún satisfacen las reglas anteriores:

  • la probabilidad [math] | {\ psi_ \ text {after}} \ rangle = | {0} \ rangle [/ math] es [math] \ left | {A_0} \ right | ^ 2 [/ math] y del mismo modo el probabilidad de [matemáticas] | {\ psi_ \ text {después}} \ rangle = | {1} \ rangle [/ matemáticas] es [matemáticas] \ izquierda | {A_1} \ derecha | ^ 2 [/ matemáticas]
  • y [matemáticas] \ left | {A_0} \ right | ^ 2 + \ left | {A_1} \ right | ^ 2 = 1 [/ math].

Además, esta es una definición (extremadamente) simplificada de unitario, pero debería ser suficiente junto con esta comprensión superficial de cómo funcionan las puertas.

La puerta más simple que puede operar en un qubit individual es la puerta NOT , similar a la puerta NOT utilizada en la computación de bits normal. Probablemente ya haya notado que las compuertas funcionan con los valores de los vectores base del qubit, o que las compuertas manipulan los estados base de [math] | {0} \ rangle [/ math] y [math] | {1} \ rangle [/matemáticas]. En pocas palabras, la puerta NOT voltea los valores de cada estado base al otro, asignando [math] | {0} \ rangle [/ math] a [math] | {1} \ rangle [/ math] y [math] | {1} \ rangle [/ math] a [math] | {0} \ rangle [/ math]. Probablemente pueda ver que la representación matricial de la puerta NOT sigue

[matemáticas] X = \ begin {bmatrix} 0 & 1 \\ 1 & 0 \ end {bmatrix} \ tag 3 [/ math]

Al mismo tiempo, introduzcamos la puerta [matemática] H [/ matemática] que “restablece” un qubit pero también induce una superposición . Toma el estado base [matemáticas] | {0} \ rangle [/ matemáticas] a [matemáticas] \ dfrac {1} {\ sqrt {2}} | {0} \ rangle + \ dfrac {1} {\ sqrt {2 }} | {1} \ rangle [/ math] y [math] | {1} \ rangle [/ math] a [math] \ dfrac {1} {\ sqrt {2}} | {0} \ rangle- \ dfrac {1} {\ sqrt {2}} | {1} \ rangle [/ math]. En aras de la coherencia, la matriz de [math] H [/ math] o Hadamard Gate se deja como ejercicio . ¡Es una broma! Eso fue solo un cheque para ver si todavía estabas leyendo; aquí está la puerta como una matriz

[matemáticas] H = \ dfrac {1} {\ sqrt {2}} \ begin {bmatrix} 1 & 1 \\ 1 & -1 \ end {bmatrix} \ tag 4 [/ math]

Si observa, cuando esta puerta se aplica a un qubit que se encuentra en el estado [matemática] | {0} \ rangle [/ matemática] (donde [matemática] {\ alpha_0} = 1 [/ matemática] y [matemática] { \ alpha_1} = 0 [/ math]), obtienes un nuevo qubit que muestra superposición (ya que [math] {A_0} = \ dfrac {1} {\ sqrt {2}} [/ math] y [math] {A_1 } = \ dfrac {1} {\ sqrt {2}} [/ math]), una combinación de múltiples estados. Esto es lo que significa cuando las puertas pueden inducir una superposición .

La multiplicación matricial de un vector qubit como se definió anteriormente nos dará el nuevo mapeo de los estados básicos y es una representación simple de cómo funcionan las puertas en un circuito cuántico real. Si ha ido lo suficientemente lejos en el estudio de álgebra lineal, también se dará cuenta de que estas matrices son unitarias. Las puertas de arriba solo actúan en un qubit y, por lo tanto, el tamaño de la matriz es solo [matemática] 2 ^ 1 \ veces 2 ^ 1 [/ matemática] o [matemática] 2 \ veces2 [/ matemática]; sin embargo, si un operador opera en múltiples qubits [matemática] n [/ matemática], entonces el operador de matriz crece para ser [matemática] 2 ^ n \ veces 2 ^ n [/ matemática] (la mayoría de las veces [matemática] n [ / math] suele ser [math] 1 [/ math] o [math] 2 [/ math]).

Anteriormente hablamos sobre la representación vectorial de un qubit, pero ¿qué pasa con un par de qubits? Bueno, si has estado siguiendo, entonces no debería ser difícil ver que la representación vectorial de dos qubits es

[matemáticas] | {\ psi_1 \ psi_2} \ rangle = \ alpha_ {0} \ beta_ {0} | {00} \ rangle + \ alpha_ {0} \ beta_ {1} | {01} \ rangle + \ alpha_ {1} \ beta_ {0} | {10} \ rangle + \ alpha_ {1} \ beta_ {1} | {11} \ rangle {\ rightarrow} \ begin {bmatrix} \ alpha_ {0} \ beta_ {0} \\ \ alpha_ {0} \ beta_ {1} \\\ alpha_ {1} \ beta_ {0} \\ \ alpha_ {1} \ beta_ {1} \ end {bmatrix} \ tag 5 [/ math]

Esta fue la configuración necesaria para explicar el enredo . Digamos que tenemos un registro de dos qubits [matemáticas] | {\ psi_1 \ psi_2} \ rangle = \ dfrac {1} {\ sqrt {2}} | {00} \ rangle + 0 | {01} \ rangle + 0 | {10} \ rangle + \ dfrac {1} {\ sqrt {2}} | {11} \ rangle [/ math]. En nuestra representación vectorial, esto es [matemáticas] \ begin {bmatrix} \ dfrac {1} {\ sqrt {2}} \\ 0 \\ 0 \\\ dfrac {1} {\ sqrt {2}} \ end { bmatrix} [/ math]

Los dos qubits [math] | {\ psi_1 \ psi_2} \ rangle [/ math] están enredados porque si tuviera que tomar el primer qubit [math] | {\ psi_1} \ rangle [/ math] y medir su resultado, [math] | {0} \ rangle [/ math] o [math] | {1} \ rangle [/ math], luego, una vez que lo haya medido, ya ha determinado cuál es el resultado de [math] | { \ psi_2} \ rangle [/ math] es. Los dos qubits están enredados en el sentido de que, independientemente de la separación, la medición de uno determina el resultado de otro, ya que solo hay un conjunto limitado de estados que nuestro registro puede tomar con cierta probabilidad. En este caso, nuestro registro puede tomar [matemáticas] | {\ psi_1 \ psi_2} \ rangle = | {00} \ rangle [/ matemáticas] con probabilidad [matemáticas] \ dfrac {1} {2} [/ matemáticas] y puede tomar [matemáticas] | {\ psi_1 \ psi_2} \ rangle = | {11 \ rangle} [/ matemáticas] con probabilidad [matemáticas] \ dfrac {1} {2} [/ matemáticas]. El momento [math] | {\ psi_1} \ rangle [/ math] se dice que es [math] | {0} \ rangle [/ math] y, como sabemos, el registro solo tiene [math] | {\ psi_1 \ psi_2 } \ rangle = | {00} \ rangle [/ math] como una posibilidad cuando eso sucede, sabemos que [math] | {\ psi_2} \ rangle = | {0} \ rangle [/ math].


EJEMPLO

Computadora cuántica: varios cálculos en paralelo

Este ejemplo NO será tan sorprendente, pero es un vistazo de lo poderoso que puede ser este tipo de procesamiento paralelo. Tratemos de hacer una puerta cuántica que agregue dos dígitos en binario. Llame a esta puerta como [math] \ sum_ {2} [/ math]. Nuestro registro constará de tres qubits. Aquí hay otras propiedades que tendrá nuestra puerta:

  1. Será una operación unitaria (una matriz ortogonal invertible [matemática] 8 \ veces 8 [/ matemática]) (no se cubrirá).
  2. Los tres qubits se usarán como entrada y como salida:
    1. Nuestros primeros dos qubits [math] | {\ psi_1 \ psi_2} \ rangle [/ math] serán los qubits que queremos agregar,
    2. y el último qubit [matemáticas] | {\ psi_3} \ rangle [/ matemáticas] será nuestra respuesta.
  3. Para facilitar el problema, el registro siempre comenzará con el último qubit igual a [math] \ begin {bmatrix} 1 \\ 0 \ end {bmatrix} [/ math]. Sin embargo, esto no es necesariamente factible si observa el número 4. y en la práctica real, ya que nos obliga a volver a visitar el número 1.

4. La asignación de entrada a salida de nuestra puerta:

Si está buscando la matriz de [math] \ sum_ {2} [/ math], tenga en cuenta que sería una matriz [math] 8 \ times 8 [/ math] mucho más complicada que las discutidas anteriormente. Sin embargo, este mapa de entrada a salida anterior debería ser suficiente para la explicación.

Como estamos tratando con tres qubits, nuestro registro será un vector con 8 coordenadas [matemáticas] | {\ psi_1 \ psi_2 \ psi_3} \ rangle = \ begin {bmatrix} \ alpha_ {0} \ beta_ {0} \ gamma_ {0} \\ \ alpha_ {0} \ beta_ {0} \ gamma_ {1} \\ \ alpha_ {0} \ beta_ {1} \ gamma_ {0} \\ \ alpha_ {0} \ beta_ {1} \ gamma_ {1} \\ \ alpha_ {1} \ beta_ {0} \ gamma_ {0} \\ \ alpha_ {1} \ beta_ {0} \ gamma_ {1} \\ \ alpha_ {1} \ beta_ {1} \ gamma_ {0} \\ \ alpha_ {1} \ beta_ {1} \ gamma_ {1} \ end {bmatrix} [/ math],

donde cada coordenada representa los estados de base de coordenadas del registro [math] \ {| {000} \ rangle, | {001} \ rangle, \ ldots | {111} \ rangle \} [/ math]. Iniciamos el registro en el estado [math] | {000} \ rangle [/ math], lo que significa que nuestro vector actualmente se ve como [math] \ begin {bmatrix} 1 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \ end {bmatrix} [/ math].

Queremos inducir superposición en nuestros qubits, por lo que aplicamos la puerta [math] H [/ math] a nuestro primer y segundo qubits [math] | {\ psi_1 \ psi_2} \ rangle [/ math]. Esto convierte [matemáticas] | {\ psi_1} \ rangle = \ dfrac {1} {\ sqrt {2}} | {0} \ rangle + \ dfrac {1} {\ sqrt {2}} | {1} \ rangle [ / math] y del mismo modo [math] | {\ psi_2} \ rangle = \ dfrac {1} {\ sqrt {2}} | {0} \ rangle + \ dfrac {1} {\ sqrt {2}} | {1} \ rangle [/ math].

Nuestro registro se convierte en [matemáticas] \ begin {bmatrix} \ dfrac {1} {2} \\ 0 \\ \ dfrac {1} {2} \\ 0 \\ \ dfrac {1} {2} \\ 0 \\ \ dfrac {1} {2} \\ 0 \ end {bmatrix} [/ math] que representa las entradas.

Ahora, necesitamos enredar nuestras partículas para que las operaciones llevadas a cabo estén inherentemente emparejadas con la respuesta. Para hacerlo, aplicamos nuestras [matemáticas] \ sum_ {2} [/ matemáticas] a nuestro registro actual una vez. Al observar el mapa de entrada a salida anterior, vemos que nuestro registro se convertirá en [matemáticas] \ begin {bmatrix} \ dfrac {1} {2} \\ 0 \\ \ dfrac {1} {2} \\ 0 \ \ \ dfrac {1} {2} \\ 0 \\ \ dfrac {1} {2} \\ 0 \ end {bmatrix} [/ math] en el mapa de salida.

Si mira hacia atrás lo que significan estos valores distintos de cero en nuestro registro, son exactamente los valores de cálculo correctos que necesitamos para el módulo de suma [matemática] 2 [/ matemática].

Lo que es aún más interesante es que la respuesta correcta ahora está enredada con sus dos sumandos.


Esencialmente tomamos esa tabla de entrada a salida y la reducimos a

y luego aplicamos nuestra puerta [matemática] H [/ matemática] para inducir la superposición en nuestro registro (ser valores múltiples simultáneamente con una probabilidad dada) y pasar a

Entonces necesitamos adquirir enredos con las respuestas para que podamos ejecutar nuestro registro a través de la puerta que nos da

Ahora mire cómo si medimos nuestros dos primeros qubits (en la salida), sabemos de inmediato la respuesta del tercero. Observe también cómo se realizan todas las configuraciones posibles simultáneamente. Es como si el cálculo correcto estuviera oculto entre otros cálculos correctos. Este problema de la respuesta deseada “ocultarse dentro de las probabilidades” es lo que dificulta la computación cuántica. Tenemos un [math] 100 [/ math]% de posibilidades de obtener la respuesta correcta, pero solo [math] 25 [/ math]% de obtener el cálculo deseado que queremos. Esto es lo que significa cuando los cálculos se realizan en paralelo utilizando superposición y entrelazamiento . Todos los cálculos posibles se realizan y codifican dentro de los qubits, solo es cuestión de obtener el correcto.

Las computadoras cuánticas de Welo juegan un truco usando la superposición cuántica. Como pueden estar en múltiples lugares al mismo tiempo.

Por ejemplo, si estás en un laberinto y quieres salir, caminarás más, te darás muchas vueltas equivocadas y muchos callejones sin salida. Hasta que finalmente llegues a Lucky y salgas. Esta es una forma de trabajo realizada por computadoras normales. Aunque lo hacen muy rápido

Ahora, si estás en un laberinto a nivel cuántico. Luego, sus múltiples copias comprobarán todas las posibilidades del laberinto a la vez en lugar de ir por separado. Así es como funciona la computadora cuántica

More Interesting

¿Por qué los qubits pueden ser más útiles que los bits?

¿Las computadoras cuánticas alguna vez eliminarán la necesidad de programadores regulares?

¿Cuáles son algunos problemas que, incluso teóricamente, una computadora cuántica encontrará difícil o imposible de hacer?

¿Cuál es la propiedad en las partículas cuánticas que hace que las computadoras cuánticas sean mucho más rápidas?

¿Cuál es una buena explicación del tipo de tono de ascensor (30-60 segundos) de la computación cuántica y los beneficios de crear dicho dispositivo?

¿Qué debería aprender a continuación en programación que sería útil como estudiante interesado en física teórica?

¿Cuándo tendremos la primera computadora cuántica funcional?

¿Cómo es la Universidad de Waterloo para estudios de posgrado en computación cuántica, siendo una de las pocas universidades con programas de posgrado explícitos?

¿Cuáles son las principales críticas de la computación cuántica adiabática?

¿Podría la mecánica cuántica desarrollar una forma de manipular las estructuras moleculares?

Si las computadoras cuánticas están accediendo a universos paralelos, ¿qué les impide resolver problemas NP-completos en tiempo polinómico?

¿Hubo un progreso significativo en la computación cuántica en los últimos 5 años, es decir, entre 2012 y 2017?

¿Qué pasará con los lenguajes de programación actuales cuando la computación cuántica se convierta en una cosa?

¿Para qué sirve la computadora cuántica?

¿La electrónica digital pronto será tecnología obsoleta y será reemplazada por tecnología de computación cuántica?