¿Hay alguna declaración general sobre qué tipos de problemas se pueden resolver de manera más eficiente utilizando una computadora cuántica?

24

¿Existe una declaración general sobre qué tipos de problemas se pueden resolver de manera más eficiente utilizando computadoras cuánticas (solo modelo de puerta cuántica)? ¿Los problemas por los cuales se conoce un algoritmo hoy tienen una propiedad común?

Hasta donde entiendo, la computación cuántica ayuda con el problema de subgrupos ocultos (Shor); El algoritmo de Grover ayuda a acelerar los problemas de búsqueda. He leído que los algoritmos cuánticos pueden proporcionar aceleración si busca una 'propiedad global' de una función (Grover / Deutsch).

  1. ¿Existe una declaración más concisa y correcta sobre dónde la computación cuántica puede ayudar?
  2. ¿Es posible dar una explicación de por qué la física cuántica puede ayudar allí (preferiblemente algo más profundo que 'la interferencia puede ser explotada')? ¿Y por qué posiblemente no ayudará para otros problemas (por ejemplo, para problemas de NP completo)?

¿Hay documentos relevantes que discutan solo eso?

Había hecho esta pregunta antes en cstheory.stackexchange.com, pero puede ser más adecuada aquí.

protagonista de hiro
fuente

Respuestas:

16

Sobre la utilidad computacional en general

Sin darse cuenta, está haciendo una versión de una de las preguntas más difíciles que puede hacer sobre informática teórica. Puede hacer la misma pregunta sobre las computadoras clásicas, solo que en lugar de preguntar si es útil agregar 'cuántica', puede preguntar:

  • ¿Hay una declaración concisa sobre dónde los algoritmos aleatorios pueden ayudar?

    Es posible decir algo muy vago aquí: si crees que las soluciones son abundantes (o que la cantidad de soluciones a algún subproblema es abundante) pero que puede ser difícil construir una sistemáticamente, entonces es útil poder hacer elecciones al azar para superar el problema de la construcción sistemática. Pero cuidado, a veces la razón por la que sabes que hay muchas soluciones para un subproblema es porque hay una prueba que utiliza el método probabilístico . Cuando este es el caso, usted sabe que la cantidad de soluciones es abundante mediante la reducción de lo que en realidad es un algoritmo aleatorio útil.

    A menos que tenga otra forma de justificar el hecho de que el número de soluciones es abundante para esos casos, no existe una descripción simple de cuándo un algoritmo aleatorio puede ayudar. Y si tiene demandas suficientemente altas de 'ayuda' (una ventaja súper polinomial), entonces lo que está preguntando es si , que es un problema no resuelto en la teoría de la complejidad. PBPP

  • ¿Hay una declaración concisa sobre dónde los algoritmos paralelos pueden ayudar?

    Aquí las cosas pueden estar un poco mejor. Si parece que un problema puede desglosarse en muchos subproblemas independientes, entonces puede ser paralelizado, aunque este es un criterio vago de "lo sabrás cuando lo veas". La pregunta principal es, ¿ lo sabrás cuando lo veas? ¿Habría adivinado que probar la viabilidad de sistemas de ecuaciones lineales sobre los racionales no solo es paralelizable, sino que podría resolverse usando circuitos de profundidad [cf  Comput. Complejo. 8 (págs. 99-126), 1999 ]?O(log2n)

    Una forma en que las personas intentan pintar una intuición general para esto es abordar la pregunta desde la dirección opuesta y decir cuándo se sabe que un algoritmo en paralelo no ayudará. Específicamente, no ayudará si el problema tiene un aspecto inherentemente secuencial. Pero esto es circular, porque 'secuencial' solo significa que la estructura que puede ver para el problema es una que no está paralela.

    Nuevamente, no existe una descripción simple y completa de cuándo un algoritmo en paralelo puede ayudar. Y si tiene demandas suficientemente altas de 'ayuda' (un límite superior polilogarítmico en la cantidad de tiempo, suponiendo paralelización polinómica), entonces lo que está preguntando es si PNC , que nuevamente es un problema no resuelto en la teoría de la complejidad .

Las perspectivas de "descripciones concisas y correctas de cuándo [X] es útil" no parecen demasiado grandes en este momento. Aunque podría protestar que estamos siendo demasiado estrictos aquí: por exigir más que una ventaja polinómica, ni siquiera podríamos afirmar que las máquinas de Turing no deterministas fueron "útiles" (lo cual es claramente absurdo). No deberíamos exigir una barra tan alta: en ausencia de técnicas para resolver eficientemente la satisfacción, al menos deberíamos aceptar que si de alguna manera pudiéramos obtener una máquina de Turing no determinista, la encontraríamos realmente muy útil . Pero esto es diferente de poder caracterizar con precisión para qué problemas nos sería útil.

Sobre la utilidad de las computadoras cuánticas

Dando un paso atrás, ¿hay algo que podamos decir sobre dónde son útiles las computadoras cuánticas?

Podemos decir esto: una computadora cuántica solo puede hacer algo interesante si está aprovechando la estructura de un problema, que no está disponible para una computadora clásica. (Esto es insinuado por las observaciones sobre una "propiedad global" de un problema, como usted menciona). Pero podemos decir más que esto: los problemas resueltos por las computadoras cuánticas en el modelo de circuito unitario instanciarán algunas características de ese problema como operadores unitarios . Las características del problema que no están disponibles para las computadoras clásicas serán todas aquellas que no tengan una relación estadísticamente significativa (probablemente) con la base estándar.

  • En el caso del algoritmo de Shor, esta propiedad son los valores propios de un operador de permutación que se define en términos de multiplicación sobre un anillo.
  • ±1

No es especialmente sorprendente ver que en ambos casos, la información se relaciona con valores propios y vectores propios. Este es un excelente ejemplo de una propiedad de un operador que no necesita tener una relación significativa con la base estándar. Pero no hay una razón particular por la cual la información tiene que ser un valor propio. Todo lo que se necesita es poder describir un operador unitario, codificando alguna característica relevante del problema que no es obvio a partir de la inspección de la base estándar, pero que es accesible de alguna otra manera fácil de describir.

Al final, todo lo que dice es que una computadora cuántica es útil cuando puedes encontrar un algoritmo cuántico para resolver un problema. Pero al menos es un esquema general de una estrategia para encontrar algoritmos cuánticos, que no es peor que los esquemas generales de las estrategias que he descrito anteriormente para algoritmos aleatorios o paralelos.

Observaciones sobre cuándo una computadora cuántica es "útil"

Como otras personas han señalado aquí, "donde la computación cuántica puede ayudar" depende de lo que quiere decir con "ayuda".

  • El algoritmo de Shor a menudo se pone de manifiesto en tales debates, y de vez en cuando la gente señalará que no sabemos que la factorización no se puede resolver en tiempo polinómico. Entonces, ¿sabemos realmente que "la computación cuántica sería útil para factorizar números"?

    Aparte de la dificultad para realizar computadoras cuánticas, creo que la respuesta razonable es 'sí'; no porque sepamos que no puedes factorizar de manera eficiente usando computadoras convencionales, sino porque no sabemos cómo lo harías usando computadoras convencionales. Si las computadoras cuánticas lo ayudan a hacer algo que no tiene un mejor enfoque, me parece que esto está 'ayudando'.

  • O(20,386norte)

    Quizás el algoritmo de Grover como tal no sea especialmente útil. Sin embargo, puede ser útil si lo usa para elaborar estrategias clásicas más inteligentes más allá de la búsqueda de fuerza bruta: usando la amplificación de amplitud , la generalización natural del algoritmo de Grover a configuraciones más generales, podemos mejorar el rendimiento de muchos algoritmos no triviales para SAT (véase, por ejemplo, [ACM SIGACT News  36 (pp.103-108), 2005 - enlace PDF gratuito ]; un saludo a Martin Schwarz, quien me señaló esta referencia en los comentarios).

    Al igual que con el algoritmo de Grover, la amplificación de amplitud solo produce aceleraciones polinómicas: pero hablando prácticamente, incluso una aceleración polinómica puede ser interesante si no se ve afectada por la sobrecarga asociada con la protección de la información cuántica del ruido.

Niel de Beaudrap
fuente
Hola niel En realidad, hay una versión cuántica de PPSZ con aceleración Grover: digitalcommons.utep.edu/cgi/…
Martin Schwarz
@ MartinSchwarz: ¡Gracias, es una excelente referencia! :-) Lo agregué a las observaciones finales sobre "ayuda", lo cual se siente bastante adecuado.
Niel de Beaudrap
Niel, es cierto, mis habilidades matemáticas están un poco por debajo de la media para entender esta respuesta, pero estoy en lo correcto al interpretar lo que dijiste que significa que cuando hay una relación subyacente entre los datos que es difícil de imponer en los algoritmos clásicos, es decir, cuando cuántica brillan las computadoras? Entonces, para probar con un ejemplo, ¿deberían las computadoras cuánticas ser fantásticas para encontrar primos?
TheEnvironmentalist
1
@TheEnvironmentalist: eso podría considerarse una condición necesaria para una ventaja cuántica, pero no es suficiente. También hay que poder ver con precisión cómo se puede acceder a la estructura por otros medios. ('Accesible' aquí es relativo: el algoritmo HHL muestra aspectos del álgebra lineal que se pueden resolver de manera clásica con eficiencia, pero aún más accesibles para los algoritmos cuánticos; y el algoritmo de Grover muestra cómo los algoritmos cuánticos parecen obtener un poco más de acceso a la información sobre problemas no estructurados que los algoritmos clásicos pueden, pero 'brillar' es una palabra fuerte para usar allí.)
Niel de Beaudrap
Muy interesante respuesta. ¿Qué se entiende exactamente por " características que no tienen una relación estadísticamente significativa (probablemente) con la base estándar "?
JanVdA
11

TL; DR: No, no tenemos ninguna declaración "general" precisa sobre exactamente qué tipo de problemas pueden resolver las computadoras cuánticas , en términos de teoría de la complejidad. Sin embargo, tenemos una idea aproximada.

Según el sub-artículo de Wikipedia sobre la relación con la teoría de la complejidad computacional

La clase de problemas que las computadoras cuánticas pueden resolver de manera eficiente se llama BQP , por "error acotado, tiempo cuántico y polinómico". Las computadoras cuánticas solo ejecutan algoritmos probabilísticos , por lo que BQP en computadoras cuánticas es la contraparte de BPP ("error acotado, probabilístico, tiempo polinómico") en computadoras clásicas. Se define como el conjunto de problemas que se pueden resolver con un algoritmo de tiempo polinómico, cuya probabilidad de error se limita a la mitad . Se dice que una computadora cuántica "resuelve" un problema si, para cada caso, su respuesta será correcta con alta probabilidad. Si esa solución se ejecuta en tiempo polinomial, entonces ese problema está en BQP.

BQP está contenido en la clase de complejidad #P (o más precisamente en la clase asociada de problemas de decisión P #P ), que es una subclase de PSPACE .

Se sospecha que BQP es disjunto de NP-complete y un estricto superconjunto de P, pero eso no se sabe. Tanto la factorización entera como el registro discreto están en BQP. Ambos problemas son problemas de NP sospechosos de estar fuera de BPP y, por lo tanto, fuera de P. Se sospecha que ambos no están completos de NP. Existe una idea errónea común de que las computadoras cuánticas pueden resolver problemas NP-completos en tiempo polinómico. No se sabe que eso sea cierto, y generalmente se sospecha que es falso.

La capacidad de una computadora cuántica para acelerar algoritmos clásicos tiene límites rígidos, límites superiores de la complejidad de la computación cuántica. La parte abrumadora de los cálculos clásicos no se puede acelerar en una computadora cuántica. Un hecho similar tiene lugar para tareas computacionales particulares, como el problema de búsqueda, para el cual el algoritmo de Grover es óptimo.

O(norte3)O(norte)

Aunque las computadoras cuánticas pueden ser más rápidas que las computadoras clásicas para algunos tipos de problemas, las descritas anteriormente no pueden resolver ningún problema que las computadoras clásicas ya no puedan resolver. Una máquina Turing puede simular estas computadoras cuánticas, por lo que una computadora cuántica nunca podría resolver un problema indecidible como el problema de la detención. La existencia de computadoras cuánticas "estándar" no refuta la tesis de la Iglesia-Turing. Se ha especulado que las teorías de la gravedad cuántica, como la teoría M o la gravedad cuántica de bucle, pueden permitir la creación de computadoras aún más rápidas. Actualmente, definir la computación en tales teorías es un problema abierto debido al problema del tiempo, es decir, actualmente no existe una forma obvia de describir lo que significa para un observador enviar información a una computadora y luego recibir salida.

En cuanto a por qué las computadoras cuánticas pueden resolver eficientemente los problemas de BQP:

  1. norte2norte

  2. Por lo general, el cálculo en una computadora cuántica termina con una medición. Esto lleva a un colapso del estado cuántico a uno de los estados base. Se puede decir que el estado cuántico se mide para estar en el estado correcto con alta probabilidad.

Curiosamente, si teóricamente permitimos la selección posterior (que no tiene ninguna implementación práctica escalable), obtenemos la clase de complejidad post-BQP :

En la teoría de la complejidad computacional, PostBQP es una clase de complejidad que consiste en todos los problemas computacionales que se pueden resolver en tiempo polinómico en una máquina de Turing cuántica con postselección y error acotado (en el sentido de que el algoritmo es correcto al menos 2/3 del tiempo en todos entradas). Sin embargo, la Postselección no se considera una característica que poseería una computadora realista (incluso una cuántica), sin embargo, las máquinas de postselección son interesantes desde una perspectiva teórica.

Me gustaría agregar lo que @Discrete lizard mencionó en la sección de comentarios. No ha definido explícitamente lo que quiere decir con "puede ayudar", sin embargo, la regla general en la teoría de la complejidad es que si una computadora cuántica "puede ayudar" en términos de resolver en tiempo polinómico (con un error vinculado) si la clase de problema puede resolver mentiras en BQP pero no en P o BPP. Se sospecha que la relación general entre las clases de complejidad que discutimos anteriormente es :

PAGS  BPP  BQP  PSPACE

ingrese la descripción de la imagen aquí

Sin embargo, P = PSPACE, es un problema abierto en informática . Además, la relación entre P y NP aún no se conoce.

Sanchayan Dutta
fuente
La primera parte sólo responde a la pregunta "¿cómo es el conjunto de algoritmos eficientes en los circuitos cuánticos llamados ". Aunque observar los problemas en la clase da una idea de qué problemas se sabe que actualmente tienen mejores algoritmos cuánticos que los algoritmos clásicos, esto no conduce a una declaración general. La segunda parte se acerca a lo que se solicita, aunque esos son ejemplos, no una declaración general. La afirmación general está, por supuesto, más allá del conocimiento actual, pero creo que vale la pena mencionarlo.
Lagarto discreto
Para ser claros, el hecho de que haya un problema en BQP no significa que la computación cuántica "pueda ayudar". Solo podemos decir para un problema A que QC ayuda si A está en BQP, pero no en P (¿o BPP?).
Lagarto discreto
lo siento, solo puedo aceptar una respuesta ... muchas gracias!
Hiro protagonista
Un aspecto que no puedo encontrar claramente en su respuesta es el tipo de problemas que una computadora cuántica puede resolver de manera más eficiente. En el primer párrafo mencionas que tenemos una idea aproximada, pero ¿está documentada esta idea aproximada en la respuesta?
JanVdA
@ JanVdA Todos los algoritmos cuánticos estándar como Grover's, Shor's, etc. nos dan ideas aproximadas de qué tipo de problemas podrían resolver una computadora cuántica de manera más eficiente. No sentí la necesidad de cubrir eso en la respuesta, ya que lo encontraría en cualquier libro de texto general sobre el tema o incluso en Wiikipedia. El punto es que no estamos seguros de que no puedan existir algoritmos clásicos que funcionen tan bien o mejor que esos.
Sanchayan Dutta
6

No existe tal declaración general y es poco probable que la haya pronto. Explicaré por qué este es el caso. Para obtener una respuesta parcial a su pregunta, podría ser útil observar los problemas en las dos clases de complejidad BQP y PostBQP.


Las clases de complejidad que se acercan más a los problemas que las computadoras cuánticas del modelo de puerta cuántica pueden resolver de manera eficiente son:

  1. BQP ; y
  2. PostBQP

BQP consiste en los problemas que se pueden resolver en tiempo polinómico en un circuito cuántico. Los algoritmos cuánticos más importantes, como el algoritmo de Shor, resuelven problemas en BQP.

=

Sin embargo, actualmente no hay métodos para implementar prácticamente la postselección, por lo que PostBQP es más de interés teórico.

La relación entre P, NP y BQP es actualmente desconocida; y un problema abierto en el orden de P vs. NP. Como una declaración general sobre qué tipos de problemas se pueden resolver de manera más eficiente usando computadoras cuánticas debe responder la pregunta BQP vs. P (si BQP = P, entonces aparentemente las computadoras cuánticas no son más eficientes (al menos para los teóricos de la complejidad)

Lagarto discreto
fuente
La postselección se puede lograr con un procesador cuántico que no utiliza la postselección con el postprocesamiento clásico. El problema es que generalmente requiere un número exponencial de ejecuciones
Mithrandir24601
1
@ Mithrandir24601 Por lo tanto, no hay implementaciones prácticas de postselección.
Lagarto discreto
1
Hay, um, interesantes usos para un pequeño número de qubits, pero que yo sepa, no hay implementaciones prácticas y escalables, no
Mithrandir24601
1
¿Podemos decir realmente que PostBQP se acerca a problemas que las computadoras cuánticas pueden resolver de manera eficiente (en cualquier modelo)? Sus propias observaciones sobre la implementación práctica de la postselección sugerirían que no, y la postselección ciertamente no está permitida en la definición del modelo de circuito unitario. ¿No sería ZQP un candidato mucho mejor (más restrictivo que BQP en que en principio nunca produciría un resultado erróneo y de interés no trivial porque contiene factorización entera)?
Niel de Beaudrap
2
Tomé su mención del "modelo de puerta cuántica" como una invitación a considerar modelos teóricos de computación cuántica, en los que enumeramos las operaciones permitidas. PostBQP es la clase que surge si supone que la postselección es una operación permitida que solo tiene un costo constante. Por supuesto, podemos acomodar la selección posterior simplemente haciéndolo parte de las condiciones que queremos en la salida medida. Pero podemos hacer lo mismo para el cómputo clásico, y nadie sugiere seriamente que la postselección sea una técnica para el cómputo clásico eficiente (de esa manera puede 'resolver' problemas NP completos).
Niel de Beaudrap
2

Similar a la imagen de Blue, me gusta más esta de Quanta Magazine , ya que parece resumir visualmente de lo que estamos hablando. ingrese la descripción de la imagen aquí

not2qubit
fuente