Introducción:
El método convencional de computación es el método más popular para resolver el problema deseado con las complejidades de tiempo estimadas. Los algoritmos de búsqueda, clasificación y muchos otros están ahí para abordar los problemas de la vida diaria y se controlan de manera eficiente en el tiempo y el espacio con respecto a diferentes enfoques. Por ejemplo, la búsqueda lineal tiene una complejidad de tiempo de O(n), la búsqueda binaria tiene (nlog2n). Todos estos dan un auge a las industrias de software y otros sectores de TI para trabajar por el bienestar del mundo.
Estructura convencional básica:
ciertamente, usamos bits (ya sea 0 o 1) para almacenar la información y con la ayuda de estos 2 bits, calculamos Giga a Tera a Petabytes de datos e incluso mucho más con una eficiencia sin igual. Ahora profundicemos, cuatro bits clásicos se pueden transformar en 2 4 combinaciones, es decir, 16 combinaciones de la siguiente manera:
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Son 16 combinaciones posibles, de las cuales solo podemos usar una a la vez. Nuestra CPU calcula a un promedio de 2,4 GHz, aparentemente, parece que todas las combinaciones se calculan simultáneamente pero, por supuesto, son distintas entre sí y la CPU calcula una a la vez cada combinación. Aunque el cálculo simultáneo se puede hacer teniendo más de 1 CPU en la máquina y eso se llama Multiprocesamiento, pero eso es algo diferente. El caso es que nuestra CPU calcula cada combinación de una en una. Aquí surge una pregunta de investigación grande y avanzada: ¿pueden usarse todos simultáneamente sin tener multiprocesadores?
Computación cuántica
Para responder a esta loca pregunta, Quantum Computing entró en escena. Esta técnica informática hace uso directo de fenómenos mecánicamente cuánticos característicos, como la superposición y el entrelazamiento, para realizar la operación en los datos. La idea básica y extraordinaria de la computación cuántica es que, en las computadoras clásicas normales, los bits son la unidad de información básica más pequeña.
Las computadoras cuánticas usan qubits (bits cuánticos) que también se pueden configurar como 0 o 1, al igual que los bits clásicos, pero el contenedor de estos bits se cambia de transistores a fotones . Un Qubit puede estar entre cualquier sistema cuántico de 2 niveles, como el espín y un campo magnético, o un solo fotón. Los estados posibles se pueden titular como 0 o 1 según la polarización horizontal o vertical. En consecuencia, de la teoría Quantum World, qubit no tiene por qué ser solo uno de esos. puede estar en cualquier proporción de ambos estados a la vez. Eso simplemente se llama superposición .
.
Aplicación de la Computación Cuántica
Esto puede conducir a una fundación severa e innovadora en el campo de la informática. Esto ayuda a resolver muchos problemas no resueltos o virtualmente solucionables con las complejidades unificadas de espacio y tiempo.
Creación de una aplicación para dados de 8 caras
Para escribir el programa básico utilizando la computación cuántica, tenemos un entorno de configuración para la máquina. Siga los pasos a continuación para configurar el entorno:
- Regístrese para obtener una clave API gratuita para Forest. Después de registrarse, el API ket se le enviará por correo de forma gratuita.
- Compruebe si tiene instalado Python 3.x. (Utilice python –version ). Si la versión no está actualizada, instale la última versión desde aquí )
- Una vez que haya instalado la versión correcta, instale pyquil usando el comando pip install pyquil
Importando el módulo requerido:
from pyquil.quil import Program from pyquil.api import QVMConnection from pyquil.gates import H from functools import reduce qvm = QVMConnection()
>
Nota IMPORTANTE :
- Generalmente, la cuántica se programa en Forest usando el objeto del programa.
- QVM en realidad proporciona la conexión a la máquina virtual cuántica (QVM).
- H es la puerta de Hadamard. Básicamente se utiliza para aleatorizar la tirada de los dados.
- reduce es básicamente la biblioteca utilizada para funcionalidades iterativas y de bucle.
Programa final:
from pyquil.quil import Program from pyquil.api import QVMConnection from pyquil.gates import H from functools import reduce qvm = QVMConnection() dice = Program(H(0),H(1), H(2)) roll = dice.measure_all() res = qvm.run(roll) value = reduce(lambda x,y: 2*x+y,res[0],0)+1 print ("Dice returned value are ", value)
;
Producción
While printing the roll value we got some instructions set as Output : H 0 H 1 H 2 MEASURE 0 [0] MEASURE 1 [1] MEASURE 2 [2] These instruction sets are basically written in QUIL (Quantum Instruction Language)
Publicación traducida automáticamente
Artículo escrito por Harshal Mittal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA