¿Cómo exactamente los procesadores cuánticos logran una velocidad exponencial?

Un procesador en una computadora normal consta de la unidad aritmética y lógica (ALU) y alguna forma de caché (también conocida como memoria). Ignoraré la unidad de control .

La ALU contiene un montón de módulos como,

  • Aritmética: AGREGAR, RESTAR, MULTIPLICAR, INCREMENTAR / DISMINUIR, etc.
  • Bitwise: CAMBIOS ARITMÉTICOS Y LÓGICOS, AND, OR, Exclusive_OR, etc.

Todos estos módulos se implementan utilizando las puertas clásicas AND, OR y NOT. Puede pensar en estos módulos como un algoritmo clásico implementado por hardware donde el bloque de construcción son estas puertas clásicas (es decir, AND, OR, NOT, NAND, etc.).

La MEMORIA es un montón de bits uno al lado del otro.

Ahora en una computadora cuántica, tenemos una estructura similar, tenemos MEMORIA en forma de un montón de qubits. Tenemos puertas, puertas cuánticas, pero no tenemos módulos.

Puertas cuánticas: HADAMARD, PAULI, PHASE_SHIFT, CNOT, MEDICIÓN, etc.

Un algoritmo cuántico puede considerarse como uno de los módulos en la ALU.

Así que déjame guiarte a través del algoritmo cuántico más simple para mostrarte la aceleración exponencial y hacer algunos comentarios.

Algoritmo de DEUTSCH:

Declaración del problema: Dada una función f (que se implementa como una puerta lógica) que toma como entrada un solo bit (0 o 1) y genera un solo bit (0 o 1). Determine si esta función es constante o equilibrada .

  • Una función constante es aquella en la que f (0) = f (1), por lo que la salida es independiente de la entrada.

  • Una función equilibrada es aquella en la que f (0)! = F (1), por lo que cada entrada produce una salida diferente.

Algoritmo usando una computadora clásica:

  1. Calcule f para la entrada 0
  2. Calcule f para la entrada 1
  3. Si f (0) = f (1), entonces f es una función constante.
  4. De lo contrario, f es una función equilibrada.

Fácil verdad? ¿Cuántas evaluaciones de f requirió nuestro algoritmo? Dos .

Déjame dibujarte el circuito clásico que hace este algoritmo:

Algoritmo usando una computadora cuántica:

Primero, comprendamos la versión cuántica de la función (puerta) f

Tiene dos entradas, la entrada superior es la entrada clásica de f, la entrada inferior se llama entrada de control, y todo lo que necesita saber al respecto es que:

  • Ayuda a que esta puerta cuántica ” exista ” (hacerla reversible y unitaria).
  • No aumenta la potencia de la puerta f , por lo que el uso de esta puerta no es la razón de la velocidad de las computadoras cuánticas, para ver esto darse cuenta de que esta es simplemente la puerta f clásica más una puerta XOR.

Ahora aquí está el algoritmo cuántico de Deutsch

Antes de explicar por qué esto funciona, observe que solo necesitábamos una única evaluación de nuestra función f para determinar si era equilibrada o constante. Esa es la mitad del número de evaluaciones que hizo el algoritmo clásico.

Explicación (supongo que conoce el producto de superposición, enredo y tensor):

Recuerde que la puerta Hadamard coloca su entrada q-bit en una superposición:

[matemáticas] H | 0 \ rangle = \ dfrac {| 0 \ rangle + | 1 \ rangle} {\ sqrt (2)} [/ math]

y [matemáticas] H | 1 \ rangle = \ dfrac {| 0 \ rangle- | 1 \ rangle} {\ sqrt (2)} [/ math]

Si alguna transición para [matemáticas] | \ psi_i \ rangle [/ matemáticas] a [matemáticas] | \ psi_j \ rangle [/ matemáticas] no está clara, simplemente pregunte en los comentarios y elaboraré.

[matemáticas] | \ psi_0 \ rangle = | 0,1 \ rangle [/ matemáticas]

[matemáticas] | \ psi_1 \ rangle = [\ dfrac {| 0 \ rangle + | 1 \ rangle} {\ sqrt (2)}] [\ dfrac {| 0 \ rangle- | 1 \ rangle} {\ sqrt (2) }] = \ dfrac {| 0,0 \ rangle- | 0,1 \ rangle + | 1,0 \ rangle- | 1,1 \ rangle} {2} [/ math]

[matemáticas] | \ psi_2 \ rangle = [\ dfrac {(- 1) ^ {f (0)} | 0 \ rangle + (- 1) ^ {f (1)} | 1 \ rangle} {\ sqrt (2) }] [\ dfrac {| 0 \ rangle- | 1 \ rangle} {\ sqrt (2)}] [/ math]

Ahora, si f es constante, entonces [math] [{(- 1) ^ {f (0)} | 0 \ rangle + (- 1) ^ {f (1)} | 1 \ rangle}] [/ math]

será igual

  • [matemáticas] +1 (| 0 \ rangle + | 1 \ rangle) [/ matemáticas] si f es una constante 0.
  • o [matemática] -1 (| 0 \ rangle + | 1 \ rangle) [/ math] si f es una constante 1.

y si f es balance entonces [math] [{(- 1) ^ {f (0)} | 0 \ rangle + (- 1) ^ {f (1)} | 1 \ rangle}] [/ math]

será igual

  • [matemáticas] +1 (| 0 \ rangle- | 1 \ rangle) [/ math]
  • o [matemáticas] -1 (| 0 \ rangle- | 1 \ rangle) [/ math]

Por lo tanto:

[matemáticas] \ begin {ecation} | \ psi_2 \ rangle = \ begin {cases} (\ pm1) [\ dfrac {| 0 \ rangle + | 1 \ rangle} {\ sqrt (2)}] [\ dfrac {| 0 \ rangle- | 1 \ rangle} {\ sqrt (2)}], & \ text {if} \ f \ is \ constant \\ (\ pm1) [\ dfrac {| 0 \ rangle- | 1 \ rangle} { \ sqrt (2)}] [\ dfrac {| 0 \ rangle- | 1 \ rangle} {\ sqrt (2)}], & \ text {if} \ f \ is \ balance \ end {cases} \ end { ecuación} [/ matemáticas]

Ahora, si aplicamos la puerta de Hadamard final (que es el inverso de sí misma)

[matemáticas] H \ dfrac {| 0 \ rangle + | 1 \ rangle} {\ sqrt (2)} = | 0 \ rangle [/ math]

y [matemáticas] H \ dfrac {| 0 \ rangle- | 1 \ rangle} {\ sqrt (2)} = | 1 \ rangle [/ math]

Por lo tanto:

[matemáticas] \ begin {ecation} | \ psi_2 \ rangle = \ begin {cases} (\ pm1) | 0 \ rangle [\ dfrac {| 0 \ rangle- | 1 \ rangle} {\ sqrt (2)}], & \ text {if} \ f \ is \ constant \\ (\ pm1) | 1 \ rangle [\ dfrac {| 0 \ rangle- | 1 \ rangle} {\ sqrt (2)}], y \ text {if } \ f \ is \ balanceado \ end {casos} \ end {ecuación} [/ math]

Entonces, si medimos el qubit superior y encontramos que es 0, sabemos que f es una función constante, y si es 1, sabemos que f está equilibrado solo usando una evaluación de la función / puerta f.

Ahora esto no es ni brujería ni es una violación de la teoría de la información. Para tener una idea de cómo resolvimos este problema usando menos información de la que pensamos que era necesaria, la razón es muy simple:

Hay cuatro funciones f posibles (dos funciones balanceadas y dos funciones constantes):

  • El algoritmo clásico nos dijo qué función de los cuatro es f y al hacerlo resuelve el problema que estábamos preguntando (si f era equilibrado o constante) . Por lo tanto, necesitaba dos bits de información (dos evaluaciones de f para resolver todo esto).
  • Lo que hizo el algoritmo cuántico fue básicamente responder si era equilibrado o constante. Entonces, si el algoritmo cuántico nos dice que f es constante, ¡no sabemos qué función constante es! ¿Es una constante 0 o una constante 1? no tenemos idea !! Entonces solo necesitaba un poco de información.

El algoritmo cuántico resolvió así la pregunta que estábamos haciendo, resolvió la pregunta correcta y, por lo tanto, requirió menos información, mientras que el algoritmo clásico resolvió una pregunta más difícil y, por lo tanto, necesitaba más información. Esta es la razón de la velocidad cuántica desactivada. Es que podemos cambiar la base de nuestro sistema y hacerle una pregunta diferente (la pregunta correcta), una pregunta que no podemos hacer a nuestro sistema clásico debido a sus límites.

Tenga en cuenta que muchos problemas se pueden resolver de manera eficiente solo usando una computadora clásica y, por lo tanto, una computadora cuántica no ayudaría en absoluto a resolverlos, por lo que va en ambos sentidos.

Entonces, con una computadora cuántica tenemos más herramientas, y con más herramientas puedes usar la herramienta correcta para el problema correcto.

“Si todo lo que tienes es un martillo, cada problema parece un clavo”. – Juez Elena Kagan

Ahora tienes un martillo y una llave inglesa, diviértete.

More Interesting

¿Cuál es la diferencia entre la declaración de variables y la inicialización?

Mi trabajo de tesis está relacionado con el aprendizaje automático. ¿Alguien puede sugerir algún trabajo de aprendizaje automático que contenga alguna investigación que pueda completar en los próximos dos meses?

¿Por qué es que cuando se requiere que los estudiantes universitarios (CS, IT o IS) realicen investigaciones / proyectos / tesis, siempre se trata del diseño y desarrollo de sistemas?

¿Cuáles son algunos de los problemas de investigación más difíciles en la arquitectura de computadoras ahora?

¿Qué es el modelo computacional y su relación con la arquitectura informática?

¿Cuál es el estado del arte en bases de datos temporales?

¿Cuáles son algunos de los usos activos de los sistemas distribuidos de lectura / escritura / lectura débilmente consistentes como Bayou?

¿Cuándo tiene sentido informar el tiempo de CPU y / o tiempo de pared en publicaciones de informática?

¿Cuáles son algunas áreas candentes en informática en Oriente Medio?

Presenté mi trabajo en una conferencia de CS superior hace 8 meses. Fue bien recibido, pero nadie lo cita. ¿Qué puedo hacer para que más personas citen mi trabajo? ¿Hay algo que pueda hacer para aumentar la visibilidad del documento y obtener más citas?

¿Cómo los estudiantes de posgrado mejoran su código, ya que no existe un proceso formal?

¿Cuál es el lenguaje de programación que debo elegir para realizar una investigación en el área de Visión por Computador?

Nanotecnología: ¿Sería posible en el futuro transferir el olor de forma remota? ¿Cuál es el estado actual de la investigación en curso en esa área?

Informática teórica: ¿Cuál es la diferencia entre un algoritmo de aproximación y un heurístico?

Es a tiempo parcial Ph.D. ¿En CSE es una opción práctica si no puede dejar su trabajo?