Muchas respuestas incorrectas chicos.
Es lo más diferente posible a la informática normal.
La computación cuántica es más como un experimento de física teórica en curso que computar algo.
- ¿Qué es la no localidad cuántica?
- ¿Existe un reino cuántico? Si es así, ¿se aplican las reglas de la física allí?
- He leído que es posible un enredo cuántico en el tiempo, no solo en el espacio. ¿Se aplicarán los principios de computación cuántica a este tipo de qbits?
- ¿Cómo introduciría un nuevo concepto a la mecánica cuántica?
- ¿Qué puertas se requieren para construir un sumador cuántico?
Las computadoras modernas tienen estados, siempre están en un estado que describe todos sus registros y contenido de memoria.
Por ejemplo, en la multitarea, cambiamos el estado de los registros entre los diferentes programas.
Las computadoras cuánticas ya no tienen estados, es más como un estado combinado que ni siquiera se puede medir o ver sin destruirlo.
Las computadoras modernas tienen memoria, STACK y HEAP y están formadas por bits.
Cada bit es 0 o 1. La secuencia de esos bits define sobre todo lo que importa.
Las computadoras cuánticas tienen memoria qubit, un qubit no tiene un estado definido que pueda medir. Cada Qubit tiene un estado de sistema doble entre 0 y 1 y suma absolutamente hasta 1.
Solo puede dar una probabilidad de que la probabilidad de que un estado del sistema sea 1 cuando lo mide. Y una vez que se mide, todo se va al “infierno”.
¿Recuerdas todo el alboroto sobre las computadoras cuánticas N-qubit? Cuando hablamos de computadoras normales que tienen miles de millones de bits de memoria, ya estamos orgullosos de tener 16 qubits de memoria de computadora cuántica.
Piensa en el gato Schrödingers, que tiene una gran familia de muchos gatos bebés y nunca sabes cuáles están realmente muertos, pero lo decides cuando abres las jaulas 🙂
Cambios de estado
Cuando una computadora moderna funciona, cambia de estado permanentemente.
Cada instrucción individual de la memoria (bits leídos) hace que los registros (procesador) cambien el estado. Es un proceso exacto y definido.
Las computadoras cuánticas ni siquiera pueden hacer lo que queremos, está muy limitado en lo que puede “procesar” y cómo puede procesarlo. Se trata de superposiciones, estados de qubit paralelos y reversibilidad o transformaciones.
Mientras que una computadora moderna funciona en unos pocos operadores booleanos (o, y, no, xor) con computadoras cuánticas, pensamos más como rotaciones dimensionales en espacios
Computación (aritmética)
Las computadoras modernas pueden calcular cualquier cosa que pueda describir de manera matemática, funcionan de la misma manera que lo haría de forma manual al resolver una tarea.
Las computadoras cuánticas solo pueden funcionar en operaciones reversibles, lo que significa operaciones que pueden revertirse mirando la salida de un cálculo y obteniendo la entrada.
Piensa en el sistema lógico AND. 1 + 1 = 1, 0 + 1 = 0, 1 + 0 = 0, 0 + 0 = 0
Si tiene un 1, puede revertirlo, pero si tiene una salida 0, no sabe cuál era la entrada.
Las computadoras cuánticas no pueden funcionar con eso.
Podrían funcionar con NOT (0 = 1, 1 = 0) porque es una entrada definida por salida, reversible.
Incluso una división por 2 no es reversible, no se puede dividir un número entero por 2 en una computadora cuántica porque la salida no le da un 100% de capacidad de propagación de la entrada.
Flujo de funciones
Las computadoras modernas ejecutan funciones como una secuencia de instrucciones, dentro de la función saltan usando desestructuraciones IF (o cosas similares, siempre lógica binaria simple 0/1)
Las computadoras cuánticas no tienen un estado definido, no tienen control de flujo.
Solo la operación lógica “NO” se puede utilizar para algún tipo de control de flujo.
¿Cómo programar a esa perra?
Como lo entiendo, ni siquiera lo programa.
Es más probable que escriba un código de probabilidad.
Imagine que desea encontrar una respuesta especial a su problema:
Tendrás un LOOP (oye, NO tienes lógica, eso es genial)
INICIO -> RESTABLECER SISTEMA -> TRANSFORMAR QUBITS -> ESTADO DE MEDIDA -> COMPARAR MEDICIÓN -> VOLVER AL INICIO O FINALIZAR
Simplemente repetirás todo una y otra vez hasta que te dé el resultado correcto.
No solo trabajas con ingegers y float, sino que también trabajas con variables complejas.
El término que está buscando es QPL (lenguaje de programación cuántico)
Ejemplo (entero + complejo): 1+ (2,0) = (3.000, 0.00)
Aquí hay un ejemplo para probar si una variable es un número primo:
isprime booleano (int n)
{
int i;
si n <= 1 {devuelve falso; }
para i = 2 al piso (sqrt (n))
{
if n mod i == 0 {return false; }
}
volver verdadero;
}