¿Cómo será diferente la programación para la computación cuántica que la programación para computadoras tradicionales?

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.

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;
}

Se cree que solo está destinado a resolver problemas muy específicos y criptografía. Por lo tanto, la programación regular debería estar disponible por un tiempo. IOW debería proporcionar una funcionalidad adicional y no un reemplazo. De hecho, ya hay un chip de Intel y quizás será un complemento.

Será un poco diferente.

El hecho de que podamos hacer que una computadora empuje electrones miles de millones de veces y más por segundo simplemente escribiendo código comprensible para los humanos sigue siendo una maravilla nueva e increíble.

Considerando otra vista, podríamos hacer lo mismo para las computadoras de vapor y de palanca de antaño, si nos tomáramos el tiempo para crear las capas de abstracción necesarias para mover las palancas mecánicas escribiendo instrucciones en inglés.

La única diferencia que puede hacer un QC es lo que una vez se llamó ‘lógica difusa’, que requiere 5 estados para hacerlo correctamente. A los japoneses les gustaba mucho emularlo con binarios, pero nunca funcionó porque los binarios en realidad no pueden producir 5 estados.

En un control de calidad tienes sí, no y una superposición, ‘tal vez’. de esos tres puede extrapolar tal vez sí y tal vez no para un total de 5 estados.

No tengo idea de qué harían los programadores con eso, soy físico, llamo a los chicos de TI cuando mi computadora portátil se vuelve loca … (Obtuve mi doctorado cuando las computadoras todavía tenían tubos de vacío, seguidos de transistores tan grandes como un error. )

No creo que sea muy diferente. Probablemente tendremos algún tipo de compilador para traducir código legible por humanos a código de objeto de estilo cuántico.

More Interesting

¿Los qubits trinarios (también conocidos como ternarios) son cosas que existen en la informática?

¿La computación cuántica facilitará la biología computacional?

¿Existe alguna técnica de encriptación que las computadoras cuánticas no puedan romper?

¿Qué ventaja obtenemos de usar Double DFS (DFS desde ambos extremos del gráfico) al resolver un cubo Rubik 2 × 2?

¿Por qué los estados puros están representados por los puntos en la superficie de una esfera Bloch mientras que los puntos interiores en la esfera representan estados mixtos?

¿Qué es la computación cuántica? ¿Cómo debería uno entrar en este campo?

¿Por qué se dice que los transistores dependen de la mecánica cuántica?

¿Cómo debería alguien en informática comenzar con la computación cuántica?

En mecánica cuántica, ¿está comprobado que un objeto no existe a menos que lo mire?

¿Cuáles son algunos ejemplos de mecánica cuántica que conducen a avances tecnológicos?

¿Alguien puede proporcionar una explicación simple pero detallada de la computación cuántica?

¿Qué se entiende por teoría de desarrollo de enfoque de necesidad básica?

¿Cómo pueden los operadores en computación cuántica (por ejemplo, el operador de 'oráculo cuántico' de Grover) operar en qubits sin destruir el enredo entre los qubits?

¿Cuál es la computadora cuántica más rápida en 2017?

¿La interpretación de Copenhague de la mecánica cuántica se interpone en el camino del progreso continuo en la física cuántica?