¿Qué tan grande es un número entero en una computadora cuántica en comparación con los enteros de 32 bits en las computadoras clásicas?
Un número entero en una computadora cuántica tiene el mismo tamaño que el mismo número entero en una computadora clásica. Si una computadora clásica usa 32 bits para almacenar un número entero particular, entonces la computadora cuántica usará 32 qubits para almacenar el mismo número entero. Entonces, ¿cómo es que las personas afirman que las computadoras cuánticas son más rápidas para resolver ciertos problemas?
Una de las razones por las cuales las personas están interesadas en la computación cuántica es por la superposición . La computadora clásica con 32 bits solo puede almacenar un número entero de 2 ^ 32 opciones posibles. La computadora cuántica puede estar en una superposición de todos esos 2 ^ 32 enteros; Esta es una propiedad que proviene de la mecánica cuántica.
- ¿Cuáles son algunos ejemplos de cálculo con estados qBit?
- ¿Qué tipo de problemas no aprovechan las capacidades de la computadora cuántica?
- ¿La computación cuántica afectará a la minería de bitcoin?
- ¿De qué haremos qubits? ¿Ya tenemos?
- ¿Cómo puede la física cuántica destruir nuestras vidas?
Entonces, ¿qué es una superposición? Explicaré usando un solo bit. El estado de este bit estará representado por [math] | \ psi \ rangle [/ math].
El bit clásico tiene dos estados posibles: [math] | \ psi \ rangle = | 0 \ rangle [/ math] y [math] | \ psi \ rangle = | 1 \ rangle [/ math]
El bit cuántico puede estar en cualquiera de estos estados cuando lo medimos.
Sin embargo, si no medimos nuestro bit cuántico, puede estar en un estado como este:
[matemáticas] | \ psi \ rangle = a | 0 \ rangle + b | 1 \ rangle [/ matemáticas]
Esta es nuestra superposición. Tenemos una cantidad de [math] | 0 \ rangle [/ math], pero también tenemos una cantidad b de [math] | 1 \ rangle [/ math] y nuestro qubit realmente no puede considerarse como totalmente activado o desactivado. Llamamos a [math] | 0 \ rangle [/ math] y [math] | 1 \ rangle [/ math] “estados básicos” y podemos definir operaciones de lógica cuántica en términos de cómo actúan sobre los estados básicos.
¿Qué sucede cuando medimos nuestro bit cuántico en una superposición? Tiene que colapsar en uno de los dos estados básicos *. Esto significa que perdemos nuestra superposición, y nuestro qubit está definitivamente en un estado [math] | 0 \ rangle [/ math] o [math] | 1 \ rangle [/ math].
(* Hay mucho debate sobre cómo definir “medición” y “colapso” o si estas cosas realmente existen. Ese tipo de discusión está por encima de mi nivel actual, y me quedaré con un “cállate y calcula” actitud.)
Podemos calcular la probabilidad de encontrar cada resultado posible, si nuestro qubit está en un estado [math] | \ psi \ rangle = a | 0 \ rangle + b | 1 \ rangle [/ math]. Para [matemática] | 0 \ rangle [/ matemática] es [matemática] {| a |} ^ {2} [/ matemática], y para [matemática] | 1 \ rangle [/ matemática] es [matemática] {| b |} ^ {2} [/ matemáticas].
La forma en que ejecutamos algoritmos en una computadora cuántica es actuando varias operaciones en [math] | \ psi \ rangle [/ math] para cambiar estas probabilidades. Por ejemplo, podría usar una puerta NO. Esto cambia [math] | 0 \ rangle [/ math] en [math] | 1 \ rangle [/ math] y viceversa, como está acostumbrado en una computadora clásica, y no tiene ningún efecto en ay b .
[matemáticas] NO | \ psi \ rangle = a NO | 0 \ rangle + b NO | 1 \ rangle [/ matemáticas]
[matemáticas] NO | \ psi \ rangle = a | 1 \ rangle + b | 0 \ rangle [/ matemáticas]
Solo hemos realizado una operación, pero hemos afectado tanto al estado [matemático] | 0 \ rangle [/ matemático] como al [matemático] | 1 \ rangle [/ matemático] al mismo tiempo.
Este principio puede extenderse a problemas más útiles. Digamos que desea factorizar un número con dos factores primos; Voy a elegir 6, porque puede representarse en tres bits (como [math] | 110 \ rangle [/ math]). Hagamos una operación que pueda verificar si un número es un factor primo de 6, y llamémoslo [matemáticas] MAGIA [/ matemáticas] (en el mundo real, tendrían que construir esto a partir de operaciones simples, pero en este momento yo Lo llamaré mágico, así que no tengo que explicar nada).
Cuando [math] MAGIC [/ math] encuentra un factor primo, lo convierte en una parte más grande de la superposición, y cuando encuentra algo más, se convierte en una parte más pequeña de la superposición; desafortunadamente, no podemos simplemente eliminar partes de la superposición por completo.
Ahora colocamos nuestra computadora en una superposición (lo cual es molesto de escribir).
[matemáticas] | \ psi \ rangle = a | 000 \ rangle + b | 001 \ rangle + c | 010 \ rangle + d | 011 \ rangle + e | 100 \ rangle + f | 101 \ rangle + g | 110 \ rangle + h | 111 \ rangle [/ matemáticas]
Luego aplicamos nuestro operador [math] MAGIC [/ math] a [math] | \ psi \ rangle [/ math].
[matemática] MAGIC | \ psi \ rangle = a MAGIC | 000 \ rangle + b MAGIC | 001 \ rangle + c MAGIC | 010 \ rangle + d MAGIC | 011 \ rangle + e MAGIC | 100 \ rangle + f MAGIC | 101 \ rangle + g MAGIC | 110 \ rangle + h MAGIC | 111 \ rangle [/ math]
[matemáticas] MAGIA | \ psi \ rangle = a_ {pequeño} | 000 \ rangle + b_ {pequeño} | 001 \ rangle + c_ {grande} | 010 \ rangle + d_ {grande} | 011 \ rangle + e_ {pequeño} | 100 \ rangle + f_ {small} | 101 \ rangle + g_ {small} | 110 \ rangle + h_ {small} | 111 \ rangle [/ math]
Al final, [math] | 010 \ rangle [/ math] y [math] | 011 \ rangle [/ math] (también conocido como [math] | 2 \ rangle [/ math] y [math] | 3 \ rangle [/ math]) se han convertido en partes más grandes de la superposición, y todo lo demás es más pequeño. Luego, medimos esto, y se derrumba. Es mucho más probable colapsar en los estados [matemática] | 2 \ rangle [/ matemática] o [matemática] | 3 \ rangle [/ matemática] que colapsar en uno de los otros estados.
Todavía existe la posibilidad de que la computadora cuántica pueda colapsar en algo como [math] | 111 \ rangle [/ math] aka [math] | 7 \ rangle [/ math], que definitivamente no es un factor de 6. Podemos reducir esta posibilidad aplicando el operador [math] MAGIC [/ math] unas cuantas veces más, lo que lleva a una compensación entre precisión y velocidad.
Una computadora clásica habría necesitado verificar todas las posibilidades hasta [math] \ sqrt {6} [/ math] individualmente, mientras que la computadora cuántica solo necesitaba aplicar el operador [math] MAGIC [/ math] a la superposición y luego medir el estado final Para números más grandes, esta diferencia se vuelve mucho más obvia, y la computadora cuántica puede (en teoría) tomar un tiempo relativamente corto para factorizar números que causan que la clásica se asfixie.
Sin embargo, esta ventaja solo se extiende a ciertos problemas. El problema debe tener 3 atributos:
- El problema se puede dividir en muchos pequeños subproblemas.
- Todos los subproblemas son prácticamente idénticos, y la única diferencia es la entrada.
- Se espera que solo un pequeño número de subproblemas produzca resultados útiles.
Las dos primeras condiciones son necesarias para que pueda resolver el problema colocando la computadora en una superposición. Se necesita lo último para que pueda medir el estado de la computadora, hacer que el estado de la computadora colapse en la salida deseada y luego no se preocupe por perder cualquier otra información en la superposición.