El usuario 9479463705020282020 hizo un gran trabajo al explicar la primera pregunta para el modelo de lógica cuántica / puerta de la computación cuántica. Si desea ver una explicación laica para la computación cuántica adiabática , como la máquina que fue construida por D-Wave , puede consultar mi respuesta a esta pregunta: ¿Cómo funciona la computación cuántica adiabática en términos simples?
Sin embargo, para esta respuesta, voy a responder la segunda (y, brevemente, la tercera) pregunta, que se establece de la siguiente manera:
¿Qué tipo de problemas la computación cuántica podría ayudar a resolver?
Primero, permítanme comenzar diciendo que hay dos paradigmas principales en este momento para la computación cuántica, y son el circuito cuántico o el modelo de puerta y el modelo adiabático cuántico (en realidad, hay más de solo dos (ver: la respuesta de Hadayat Seddiqi a What ¿Hay algunos temas candentes en la investigación de la computación cuántica? para una discusión sobre esto), pero estas son las implementaciones experimentales más serias hasta ahora). Si has oído hablar de la compañía D-Wave y su computadora cuántica, estás viendo una máquina del último tipo. La mayoría de los físicos e ingenieros que trabajan en computación cuántica están trabajando en el tipo anterior. Sin embargo, son equivalentes, como muestra este artículo:
[quant-ph / 0405098] La computación cuántica adiabática es equivalente a la computación cuántica estándar
Por lo tanto, alguien podría también factorizar grandes números si encontrara una versión adiabática equivalente al algoritmo de Shor, pero no necesariamente sería tan rápido como lo permitiría el modelo de circuito, ni sería necesariamente incluso más rápido que el cálculo clásico. Este es un punto importante a tener en cuenta sobre la computación cuántica. Adiabático, puerta cuántica, silicio clásico, todos estos son paradigmas diferentes de computación. Algunos son más rápidos que otros con ciertos problemas. La computación cuántica no es mejor en todos los algoritmos que todo lo demás que tenemos. Hay una serie de problemas en los que ambos paradigmas de CC fallan seriamente … pero, por supuesto, me voy a centrar en los que funcionan bien.
Dicho esto, es interesante observar que una implementación ingenua del algoritmo de optimización cuántica adiabática solo proporciona una complejidad de tiempo [matemática] \ matemática {O} (n) [/ matemática] para la búsqueda no estructurada (donde los circuitos cuánticos proporcionan [matemática] \ mathcal {O} (\ sqrt {n}) [/ math]), pero esto solo es cierto si no eres un poco inteligente al respecto, consulta [quant-ph / 0107015] Búsqueda cuántica por evolución adiabática local (por la forma, la computación cuántica adiabática, la optimización cuántica, el recocido cuántico y nombres similares se refieren aproximadamente a lo mismo en el contexto de dicha descripción general)
Circuito cuántico / modelo de puerta
Vea la respuesta del usuario de Quora, ya que cubre la mayor parte de lo que proporciona la investigación actual. Para ser breves, existe el algoritmo de Shor para factorizar grandes números, el algoritmo de búsqueda de Grover que le permite hacer una búsqueda de “aguja en un pajar” y una transformación cuántica de Fourier (una excelente explicación de lo cual se da aquí. ¿Cómo funciona la transformación cuántica de Fourier?).
Una breve imagen intuitiva (pero definitivamente no rigurosa) es simple si conoce un poco sobre mecánica cuántica. En la probabilidad clásica, tiene dos “formas” de hacer algo que aumente la probabilidad total de ese resultado. En cuanto, tiene probabilidades que están representadas por números complejos en lugar de reales (como en el problema clásico), lo que significa que tener más de una forma de hacer algo no necesariamente lo hace más probable, de hecho, estos números complejos se llaman amplitudes de probabilidad, y pueden “interferir” constructivamente, como podría pensar, pero también destructivamente. Esta interferencia ayuda con la búsqueda no estructurada, por ejemplo, porque lo que haces es manipular tus entradas de tal manera que las respuestas incorrectas se “cancelen” entre sí hasta que solo la respuesta correcta tenga una alta probabilidad de ser medida.
Modelo adiabático
Por lo tanto, factorizar números primos grandes parece ser la gran cosa con la computación cuántica, pero diría que los problemas que el modelo adiabático puede resolver son tan importantes, si no más. Si está interesado en cómo funciona realmente la computación cuántica adiabática (AQC, en adelante), lo remitiré nuevamente a esta pregunta: ¿Cómo funciona la computación cuántica adiabática en términos simples?
De todos modos, el tipo de problemas en los que los AQC son muy buenos son problemas de optimización . Consulte este wiki por un breve momento si desea: Problema de satisfacción booleana. Básicamente, es una expresión algebraica o booleana que se parece a (^ significa y, v significa o, divertido de lado L significa que no):
Ahora puede convertir esto en forma algebraica si lo desea, de modo que los AND sean la multiplicación (*), los OR sean la suma (+), la negación podría ser negativa (-), etc. Entonces tendrá una expresión algebraica. Puede tomar esa expresión y representarla en forma de suma. Todos estos son detalles.
Con toda esa basura teórica fuera del camino, ¿cuáles son los problemas de optimización / satisfacción? Piense, por ejemplo, en tratar de encontrar el camino más corto en un mapa de una ciudad a otra. Si quisieras hacer una búsqueda de fuerza bruta, estarías probando todas las posibilidades existentes. Otro ejemplo es el problema de la mochila, donde tienes un montón de artículos pero solo puedes llevar una cierta cantidad. ¿Cuál es el valor de cada artículo versus su peso? Tal vez eres de la NASA y estás construyendo un cohete, y estás tratando de averiguar cuánto combustible poner en el cohete. Pero recuerde que el combustible agrega peso, entonces, ¿cuáles son las relaciones óptimas de combustible a carga útil? Tal vez esté estudiando el plegamiento de proteínas, y necesita plegar la conformación de energía mínima para poder comprender cómo funcionan las enfermedades (la naturaleza no siempre llega al mínimo, por ejemplo, enfermedad de las vacas locas, anemia falciforme). Problema masivo con toneladas de parámetros simulados. ¿O qué pasa si necesita programar un vuelo? Ah, pero su avión estará a 2 horas de esta ciudad en ese momento, y hay otros vuelos entrantes que también necesitan puertas, y necesita repostar en algún lugar, y …
Por lo tanto, puede ver que buscar en cada posibilidad problemas detallados es totalmente poco práctico (y todos los que mencioné son mucho más complejos de lo que he explicado). Por el momento, nos va bien con las heurísticas y las aproximaciones, pero siempre podríamos hacerlo mejor. Sin embargo, la computación cuántica adiabática nos brinda una forma de resolver estos problemas potencialmente mucho más rápido que las computadoras clásicas. El truco radica en la tunelización cuántica. Esta figura hace que esa idea sea más obvia:
Imagina la función negra como una colina. En nuestro mundo clásico, no hay forma de pasar de un mínimo a otro sin caminar sobre la colina. Esto es lo que deben hacer todas las técnicas clásicas de resolución, ya sea simple escalada, recocido simulado o algoritmos genéticos. Sin embargo, los recoctores cuánticos pueden atravesar barreras suficientemente delgadas (dependiendo de la amplitud de la partícula). Puede ver intuitivamente cuánto trabajo se necesitaría para subir esa colina, y por qué no es probable que cualquier solucionador sepa hacer eso, especialmente si no tiene conocimiento de que los mínimos globales están al límite. Pero es fácil para la partícula cuántica, por lo que esto es útil.
En resumen, hay una pequeña lista de problemas y áreas de aplicación que podrían resolverse mucho más rápidamente con un AQC:
- Plegamiento de proteínas
- Los caminos más cortos en un mapa
- Fabricación y logística
- Aprendizaje automático e IA
- Problema de contención en fusión nuclear (simulación de materiales)
- Ingeniería de tráfico
- Visión por computadora (por ejemplo, detección de anomalías)
- Ranking de búsqueda
- Compresión de imagen / video / datos
- Programación de cualquier tipo (línea aérea, eventos, proceso informático, etc.)
- Probadores de teoremas automáticos
Y, por supuesto, hay cosas que si somos capaces de hacer, como el álgebra lineal, aumentarán muchas, muchas veces cualquier lista real como esta.
No puede ser tan fácil, ¿verdad?
Lo siento, no. Mapear un problema a un problema básico de satisfacción booleana es realmente difícil. Algunos problemas que no querría convertir a esa forma de todos modos (imagine un problema que requiere que el número de qubits se escale con el número de variables reales por un polinomio de alto grado, o peor, exponencialmente). O puede encontrar que un solucionador aproximado no es bueno cuando tiene restricciones difíciles que no se deben violar (estas máquinas funcionan a temperatura finita, por lo que siempre hay ruido). Se trata de ser inteligente y saber en qué tipo de problemas será bueno este paradigma. Dicho esto, puede ser una herramienta muy útil en el futuro una vez que comencemos a entenderlo más.
En términos de practicidad, D-Wave ya ha construido un AQC de 128 qubit (a principios de 2014, Google / NASA Ames comparte una máquina de 512 qubit), por lo que estamos bien. Todavía están tratando de mejorar la precisión y esas cosas, pero su objetivo principal es obtener buenas respuestas dentro de cierta tolerancia tolerable. Tienen grandes clientes (Lockheed Martin, posiblemente Google en el futuro) que desean una parte de esto, y parecen estar progresando mucho. De hecho, es un área de investigación muy emocionante a seguir. Sin embargo, debemos tener cuidado ya que se sabe que la máquina D-Wave PR … dobla la verdad a veces, para decirlo a la ligera. Ver: ¿Por qué hay tanta controversia en torno a la computadora cuántica D-Wave? ¿Por qué tanta gente tiene dudas sobre si la D-Wave es o no una computadora cuántica?
¿Cómo corregir errores?
Bueno, este es bastante fácil en teoría para AQC. Si comprende cómo funciona este tipo de control de calidad, verá que todo lo que necesita hacer es ejecutar su computadora durante más tiempo. El teorema adiabático le dice que cuanto más espere a que su sistema alcance su estado final, es más probable que se haya quedado en el estado fundamental (o, dicho de otra manera, menos probable es que tenga excitaciones, que básicamente se traducen a errores). Si lo ejecutó para T = infinito, sería 100% preciso.
Por supuesto, experimentalmente habrá muchos más desafíos. En teoría, suponemos que no tenemos campos magnéticos dispersos, por ejemplo, que estamos siempre en el estado fundamental, por lo que tenemos mucho frío, etc. Muchas cosas en las que no soy bueno, ya que no soy un experimentalista, pero cualquier físico que trabaje con superconductores puede decírselo (aunque supongo que podría implementar un AQC con algo diferente a los superconductores, pero todavía no conozco ningún buen candidato para eso). Como Dan menciona en su comentario a continuación, hay problemas prácticos de por qué no es útil tener un horario de recocido arbitrariamente largo.
Entonces, ante estos problemas, hay métodos más sofisticados que tenemos que emplear. Es difícil dar una idea de cómo funciona esta corrección de errores, pero imagine que define diferentes espacios para la codificación, los errores y su problema, y si la solución tiende a algo más que lo que desea, penaliza esto de alguna manera en su función objetivo. Aquí hay algunos documentos: [quant-ph / 0512170] Códigos de corrección de errores para computación cuántica adiabática y [quant-ph / 1307.5893] Supresión de errores y corrección de errores en computación cuántica adiabática I: técnicas y desafíos.