Si la computación cuántica un día reemplaza la computación binaria tradicional, ¿cómo afectará la forma en que programamos y qué tipo de problemas nuevos para los desarrolladores surgirían de esto?

¡Los ingenieros de software tendrán que convertirse en mecánica cuántica!

Pero en serio, dado que las compuertas cuánticas pueden implementar las mismas funciones lógicas que las compuertas lógicas de silicio, sería posible escribir los mismos tipos de programas que usted escribe hoy y podrían funcionar en una computadora cuántica. Sin embargo, no estaría aprovechando el poder de la computadora cuántica para resolver problemas que son intratables en las computadoras clásicas. De hecho, probablemente funcionaría mucho más lento que en una computadora clásica, ya que las puertas cuánticas, al menos inicialmente, probablemente serán órdenes de magnitud más lentas que las computadoras clásicas en velocidad de reloj y tendrán muchos órdenes de magnitud menos bits programables.

De hecho, las computadoras clásicas sin duda serán los canales de entrada y salida y harán un trabajo significativo para configurar y decodificar los resultados de la computación cuántica.

Los lugares donde la computación cuántica tiene ventajas están en la implementación del algoritmo central para algunos problemas de tiempo exponencial / intratables actualmente. No resolverá todos los problemas y existen límites conocidos sobre cuánto puede acelerar una computadora cuántica ciertos problemas. Por ejemplo, a diferencia de las cuentas de prensa populares (y de algunas personas que deberían saberlo mejor), una computadora cuántica con N bits q no puede trabajar simultáneamente en [matemáticas] 2 ^ N [/ matemáticas] problemas de bits N simultáneamente. Es cierto que los estados entrelazados [matemática] 2 ^ N [/ matemática] pueden procesarse simultáneamente en N bits-q, pero el problema viene en la lectura de los N bits-q. Durante la fase de lectura, los estados cuánticos superpuestos entrelazados solo pueden leerse como un estado particular. Por lo tanto, las computadoras cuánticas solo tendrán una ventaja si el algoritmo se puede diseñar de modo que algún tipo de efecto de interferencia cuántica pueda mejorar una amplitud de estado final particular.

Por lo tanto, el desarrollo de algoritmos donde la aceleración significativa en una computadora cuántica será útil será bastante desafiante y utilizará un conjunto de habilidades bastante diferente en comparación con los algoritmos informáticos actuales. Entonces, tal vez tendrán que convertirse en Mecánica Cuántica después de todo …

Edite para abordar algunos puntos en otras respuestas:

Es cierto que el algoritmo de Shor produjo un algoritmo de tiempo polinómico para factorizar grandes números y el mejor algoritmo de computadora convencional anterior fue exponencial. Sin embargo, hubo y no hay pruebas de que la factorización sea un problema NP de NP completo, por lo que este algoritmo no resuelve automáticamente todos los problemas NP (se ha demostrado que todos los problemas NP / NP completos son equivalentes; una solución a uno de ellos sería resolverlos todos)

Consulte este PDF para obtener más información sobre los límites de la computación cuántica: http://www.cs.virginia.edu/~robi… Esto fue escrito por un experto en computación cuántica y está escrito al nivel de un laico educado (es decir, para Lectores científicos estadounidenses).

Además, es extremadamente dudoso que un compilador / herramientas de abstracción pueda reconocer un algoritmo exponencial de computadora convencional y convertirlo en un algoritmo de computadora cuántica polinomial. Cada uno de estos algoritmos será creado a mano por expertos en informática cuántica y funcionará solo para el problema para el que fueron diseñados.

Un desafío específico para los desarrolladores en una era en la que la computación qubit se vuelve común sería desarrollar un reemplazo para el cifrado de clave pública actual. RSA, el cifrado utilizado comúnmente por bancos y corporaciones para transmitir material sensible, ya no sería seguro. Parece plausible que la criptografía de curva elíptica se preste a un análogo del algoritmo de Schor, por lo que también sería inseguro. Página en math.uwaterloo.ca
El solo indicio de que la rotura es posible crea una demanda de un enfoque alternativo. Definir una función cuántica unidireccional que requeriría eones para revertir se convertiría en un objetivo de desarrollo prioritario.
¡Presumiblemente, tal desarrollo crearía una demanda de hardware cuántico en cada sistema que usa RSA o ECC hoy! Por lo tanto, existe una presión tanto del comprador como del proveedor para desarrollarlo. Dados los recursos actuales para simular programas cuánticos, por ejemplo, Quantum Computing Playground de Google, no hay razón para esperar la emergencia: cualquiera que desarrolle la base de computación cuántica para un sistema de cifrado de clave pública tendría una propiedad intelectual de alto valor.
Las respuestas a la Criptografía: ¿Hay algún algoritmo criptográfico que las computadoras cuánticas consideren indescifrable en el tiempo polinómico? proporcionará algunos consejos útiles para comenzar.

Lo maravilloso de los lenguajes de programación es que son una abstracción. Cómo las cosas se mueven debajo para hacer el trabajo realmente no importa tanto. Así que no creo que veas un gran cambio en el caso de la mayoría (la excepción serán los programadores que construyen esas abstracciones y herramientas).

Los lenguajes de programación ya están luchando a través de los esfuerzos para expresar eficientemente la computación paralela masiva, esos esfuerzos ya son útiles hoy pero pagarán dividendos en la era de la computación cuántica. Básicamente, avanzar hacia arquitecturas masivamente paralelas implicará un cambio más significativo para los programadores que el aspecto cuántico.

Lo primero que probablemente verás que hacen las computadoras cuánticas es romper la criptografía porque toda la criptografía (no cuántica) de hoy depende de la intratabilidad de ciertos problemas matemáticos cuando es intentada por una computadora clásica. Así que será una transición desordenada.

Más allá de eso, creo que el siguiente dominio al que se aplicará la computación cuántica es la química computacional. Con el grupo más poderoso de computadoras clásicas hoy en día, apenas podemos simular un átomo de hidrógeno simple. Con una computadora cuántica ampliada podríamos comenzar a simular otros átomos, luego moléculas simples, luego moléculas complejas, etc. Esto será tremendamente beneficioso en el estudio de medicamentos y actividad biológica.

Pero los científicos también están encontrando formas de evitar algunas de estas limitaciones: http://www.rsc.org/chemistryworl

Por lo tanto, durante mucho tiempo, estas serán aplicaciones extremadamente especializadas. Pero lo que aprendemos allí se aplicará para crear interfaces fáciles de usar que exploten el hardware subyacente (y la complejidad del software).

More Interesting

¿Es posible determinar el tamaño mínimo para una computadora cuántica a partir de los primeros principios?

Si la expansión se produce a escala cósmica, ¿no debería ocurrir también a escala cuántica?

¿Cuál es más poderoso, una supercomputadora o una computadora cuántica?

¿Deberán reconstruirse los lenguajes de programación frente a la computación cuántica? ¿Valdría la pena que?

¿Cómo uso una sola puerta Qubit, en un estado con múltiples Qubits?

¿Se puede crear y usar entrelazamiento o discordia cuántica fuera del laboratorio para la teledetección y las imágenes?

¿Qué requisitos debe cumplir una computadora cuántica para poder ejecutar con éxito el algoritmo de Shor y romper los esquemas de criptografía de clave pública?

Cómo implementar un cálculo de una posición basado en la aceleración medida por una IMU 9DOF con fusión de sensor en C ++

¿Desde dónde puedo aprender los fundamentos de la computación cuántica?

¿Cuáles son los detalles de trabajar en un satélite cuántico a prueba de piratería?

¿Cómo pueden los experimentos avanzados de mecánica cuántica estar más disponibles para los talleres de garaje?

¿Cómo se enfría la computadora cuántica D-Wave?

¿Qué es la función de estado general en mecánica cuántica?

¿Por qué los graduados en matemáticas, física y química son los programadores informáticos más impresionantes? ¿Cómo les ayuda la búsqueda de matemáticas / física a ser programadores tan exitosos? ¿Qué los motiva a profundizar en las computadoras?

¿Qué se entiende por 'idéntico pero distinguible' en física cuántica?