¿Qué clases de problemas no se pueden resolver con métodos de optimización?

Puede resolver cualquier función computable con un esquema de optimización global. La prueba de esto proviene del estudio del modelo de Ising o, alternativamente, del problema de optimización binaria cuadrática sin restricciones (QUBO). Brevemente, configura un gráfico con las restricciones que:

  1. Los vértices pueden tener etiquetas [math] v_i \ in \ {0,1 \} [/ math] o [math] \ {\ pm 1 \} [/ math] si se considera el modelo Ising.
  2. Los bordes pueden tener un peso arbitrario, positivo, negativo o cero.

Luego escribes una función objetivo (correspondiente a la energía del problema de Ising):

[matemáticas] E (\ mathbf {z}) = \ mathbf {z} ^ TQ \ mathbf {z} [/ math]

donde [math] Q [/ math] es la matriz de adyacencia del gráfico Ising / QUBO (donde la diagonal indica ponderaciones de vértices) y [math] \ mathbf {z} [/ math] es un vector que contiene las etiquetas binarias en los vértices . El estado fundamental es la (s) cadena (s) de bits que minimiza la función anterior.

Ahora la tarea es codificar una función booleana arbitraria en este estado fundamental. Parece que debería poder hacer esto, excepto que la descripción anterior solo permite términos de interacción cuadrática, mientras que en general puede tener expresiones booleanas con un orden arbitrariamente alto. En realidad, esto no es un problema, porque siempre se puede reducir una expresión booleana de orden superior en una de orden inferior mediante la introducción de variables secundarias. Por ejemplo, si tiene una función booleana (en forma algebraica) [matemáticas] F (\ vec {b}) = b_1 + b_1b_2b_3 [/ matemáticas], puede introducir una nueva variable [matemáticas] a [/ matemáticas] para sustituir el producto [math] b_1b_2 [/ math]. Luego agrega otro término [math] 3 (a (3-2b_1-2b_2) + b_1b_2) [/ math] para penalizar el caso donde [math] a \ neq b_1b_2 [/ math]. Estas reducciones requieren solo números polinómicos de bits de ancilla.

El resto de la prueba se basa en mostrar que puede construir pequeños gráficos de espín que simulan un conjunto de circuitos capaces de computación universal. Para eso, puede leer la sección IV de este documento:

Codificación de la computación universal en los estados fundamentales de las redes Ising

Luego, los autores toman un problema NP-completo conocido, la satisfacción del circuito (CSAT) y lo mapean en un problema Ising. A partir de esto, puede construir un problema de decisión donde el bit decisivo le dice si el estado fundamental de una configuración de espín particular es mayor que cero (siempre puede agregar un cambio de energía arbitrario al hamiltoniano para que el estado fundamental no sea negativo), y dado que una energía de configuración particular se puede verificar fácilmente, sabemos que el problema de Ising es NP-completo .

Incluso puede mostrar que ciertos tipos de modelos de Ising son capaces de computación cuántica universal mediante un enfoque similar de mapeo de circuitos cuánticos al Hamiltoniano final de una computación cuántica adiabática, y con los grados de libertad apropiados, se puede demostrar que este mapeo puede simular eficientemente circuitos cuánticos, lo que demuestra la universalidad ya que los circuitos cuánticos también son universales. Para una discusión de eso, vea este documento:

Hamiltonianos realistas para computadoras cuánticas adiabáticas universales

More Interesting

¿Qué tiene de malo este algoritmo 3SAT?

¿Qué aprendería una función de valor de acción de estado si colocamos múltiples objetivos en el espacio de estado y nos movemos de un punto de partida a un objetivo y luego de un objetivo a otro utilizando el aprendizaje de refuerzo con aproximación de funciones?

Cómo demostrar esta congruencia si p es un primo mayor que 3 de modo que 1 ^ 2 + 2 ^ 2 + 3 ^ 2 + 4 ^ 2… (p-1) ^ 2 = 0 (mod p)

¿Qué papel juega la habilidad matemática en la ingeniería informática o la codificación?

¿Qué significa definir una variable en matemáticas?

¿Por qué se le dio al F-117 Nighthawk un prefijo F?

¿Cuál es el alcance de la probabilidad y las matemáticas discretas en ciencias de la computación?

Cómo analizar un archivo de texto en Python y obtener la suma de los números presentes en el archivo

Cómo resolver problemas sobre el análisis de algoritmos paso a paso

¿Cómo es útil la optimización convexa en la industria tecnológica?

¿Cuál es el concepto de tipos en la teoría de tipos (de una manera simple pero rigurosa)?

Cómo representar más de la cantidad predeterminada de dígitos en números como (1/7) en Python

Cómo usar algoritmos y estructura de datos en la vida real

¿Cuáles son algunos proyectos simples de C ++ que puedo emprender que me ayudarán a comprender los vectores?

¿Cuál es su problema (s) abierto (s) favorito (s) en Machine Learning desde la perspectiva teórica de un científico de la computación?