Articulo de referencia

Optimización pseudobooleana cuadrática

La optimización pseudo-booleana cuadrática ( QPBO ) es un método de optimización combinatoria para minimizar funciones pseudo-booleanas cuadráticas de la forma F ( incógnita ) =...

La optimización pseudo-booleana cuadrática ( QPBO ) es un método de optimización combinatoria para minimizar funciones pseudo-booleanas cuadráticas de la forma

F(incógnita)=w0+pagVwpag(incógnitapag)+(pag,q)miwpagq(incógnitapag,incógnitaq){\displaystyle f(\mathbf {x} )=w_{0}+\sum _{p\in V}w_{p}(x_{p})+\sum _{(p,q)\in E}w_{pq}(x_{p},x_{q})}

en las variables binariasincógnitapag{0,1}pagV={1,,norte}{\displaystyle x_{p}\in \{0,1\}\;\forall p\in V=\{1,\dots ,n\}}, conmiV×V{\displaystyle E\subseteq V\times V}. SiF{\displaystyle f}es submodular entonces QPBO produce un óptimo global equivalente a la optimización de corte de grafos , mientras que siF{\displaystyle f}Si contiene términos no submodulares, el algoritmo produce una solución parcial con propiedades de optimalidad específicas, en ambos casos en tiempo polinomial . [ 1 ]

QPBO es una herramienta útil para la inferencia en campos aleatorios de Markov y campos aleatorios condicionales , y tiene aplicaciones en problemas de visión por computadora como la segmentación de imágenes y la correspondencia estéreo . [ 2 ]

Optimización de funciones no submodulares

Si los coeficienteswpagq{\displaystyle w_{pq}}de los términos cuadráticos satisfacen la condición de submodularidad

wpagq(0,0)+wpagq(1,1)wpagq(0,1)+wpagq(1,0){\displaystyle w_{pq}(0,0)+w_{pq}(1,1)\leq w_{pq}(0,1)+w_{pq}(1,0)}

Entonces, la función se puede optimizar eficientemente mediante la optimización de cortes de grafos . De hecho, es posible representarla con un grafo ponderado no negativo , y el mínimo global se puede encontrar en tiempo polinomial calculando un corte mínimo del grafo, que se puede calcular con algoritmos como Ford-Fulkerson , Edmonds-Karp y Boykov-Kolmogorov .

Si la función no es submodular, el problema es NP-difícil en el caso general y no siempre es posible resolverlo exactamente en tiempo polinomial. Es posible reemplazar la función objetivo con una aproximación similar pero submodular, por ejemplo, eliminando todos los términos no submodulares o reemplazándolos con aproximaciones submodulares, pero este enfoque suele ser subóptimo y solo produce resultados satisfactorios si el número de términos no submodulares es relativamente pequeño. [ 1 ]

QPBO construye un grafo extendido, introduciendo un conjunto de variables auxiliares idealmente equivalentes a la negación de las variables del problema. Si los nodos del grafo asociados a una variable (que representan la variable misma y su negación) están separados por el corte mínimo del grafo en dos componentes conexas diferentes, entonces el valor óptimo para dicha variable está bien definido; de lo contrario, no es posible inferirlo. Este método produce resultados generalmente superiores a las aproximaciones submodulares de la función objetivo. [ 1 ]

Propiedades

QPBO produce una solución donde cada variable asume uno de tres valores posibles: verdadero , falso e indefinido , que se denotan a continuación como 1, 0 y{\displaystyle \emptyset }respectivamente. La solución tiene las dos propiedades siguientes.

  • Optimalidad parcial : siF{\displaystyle f}Si es submodular, entonces QPBO produce un mínimo global exacto, equivalente a un corte de grafo , y todas las variables tienen un valor no indefinido; si no se satisface la submodularidad, el resultado será una solución parcial.incógnita{\displaystyle \mathbf {x} }donde un subconjuntoV^V{\displaystyle {\hat {V}}\subseteq V}Las variables tienen un valor no indefinido. Una solución parcial siempre forma parte de una solución global, es decir, existe un punto mínimo global.incógnita{\displaystyle \mathbf {x^{*}} }paraF{\displaystyle f}de tal manera queincógnitai=incógnitai{\displaystyle x_{i}=x_{i}^{*}}para cadaiV^{\displaystyle i\in {\hat {V}}}.
  • Persistencia : dada una soluciónincógnita{\displaystyle \mathbf {x} }generado por QPBO y una asignación arbitraria de valoresy{\displaystyle \mathbf {y} }a las variables, si una nueva solucióny^{\displaystyle {\hat {\mathbf {y} }}}se construye reemplazandoyi{\displaystyle y_{i}}conincógnitai{\displaystyle x_{i}}para cadaiV^{\displaystyle i\in {\hat {V}}}, entoncesF(y^)F(y){\displaystyle f({\hat {\mathbf {y} }})\leq f(\mathbf {y} )}. [ 1 ]

Algoritmo

Gráfica que representa una función de dos variablesincógnitapag{\displaystyle x_{p}}yincógnitaq{\displaystyle x_{q}}.

El algoritmo se puede dividir en tres pasos: construcción del grafo, cálculo del flujo máximo y asignación de valores a las variables.

Al construir el gráfico, el conjunto de vérticesV{\displaystyle V}contiene los nodos de origen y destinos{\displaystyle s}yt{\displaystyle t}y un par de nodospag{\displaystyle p}ypag{\displaystyle p'}para cada variable. Después de volver a reparametrizar la función a la forma normal, [ nota 1 ] se agrega un par de aristas al grafo para cada término.w{\displaystyle w}:

  • para cada términowpag(0){\displaystyle w_{p}(0)}los bordespagt{\displaystyle p\rightarrow t}yspag{\displaystyle s\rightarrow p'}, con peso12wpag(0){\displaystyle {\frac {1}{2}}w_{p}(0)};
  • para cada términowpag(1){\displaystyle w_{p}(1)}los bordesspag{\displaystyle s\rightarrow p}ypagt{\displaystyle p'\rightarrow t}, con peso12wpag(1){\displaystyle {\frac {1}{2}}w_{p}(1)};
  • para cada términowpagq(0,1){\displaystyle w_{pq}(0,1)}los bordespagq{\displaystyle p\rightarrow q}yqpag{\displaystyle q'\rightarrow p'}, con peso12wpagq(0,1){\displaystyle {\frac {1}{2}}w_{pq}(0,1)};
  • para cada términowpagq(1,0){\displaystyle w_{pq}(1,0)}los bordesqpag{\displaystyle q\rightarrow p}ypagq{\displaystyle p'\rightarrow q'}, con peso12wpagq(1,0){\displaystyle {\frac {1}{2}}w_{pq}(1,0)};
  • para cada términowpagq(0,0){\displaystyle w_{pq}(0,0)}los bordespagq{\displaystyle p\rightarrow q'}yqpag{\displaystyle q\rightarrow p'}, con peso12wpagq(0,0){\displaystyle {\frac {1}{2}}w_{pq}(0,0)};
  • para cada términowpagq(1,1){\displaystyle w_{pq}(1,1)}los bordesqpag{\displaystyle q'\rightarrow p}ypagq{\displaystyle p'\rightarrow q}, con peso12wpagq(1,1){\displaystyle {\frac {1}{2}}w_{pq}(1,1)}.

El corte mínimo del grafo se puede calcular mediante un algoritmo de flujo máximo . En general, el corte mínimo no es único, y cada corte mínimo corresponde a una solución parcial diferente; sin embargo, es posible construir un corte mínimo que minimice el número de variables indefinidas.

Una vez que se conoce el corte mínimo, cada variable recibe un valor que depende de la posición de sus nodos correspondientes.pag{\displaystyle p}ypag{\displaystyle p'}: sipag{\displaystyle p}pertenece al componente conectado que contiene la fuente ypag{\displaystyle p'}pertenece al componente conectado que contiene el sumidero, entonces la variable tendrá un valor de 0. Recíprocamente, sipag{\displaystyle p}pertenece al componente conectado que contiene el sumidero ypag{\displaystyle p'}al que contiene la fuente, entonces la variable tendrá un valor de 1. Si ambos nodospag{\displaystyle p}ypag{\displaystyle p'}si pertenecen al mismo componente conectado, entonces el valor de la variable será indefinido. [ 2 ]

La forma en que se pueden manejar las variables indefinidas depende del contexto del problema. En el caso general, dada una partición del grafo en dos subgrafos y dos soluciones, cada una óptima para uno de los subgrafos, entonces es posible combinar las dos soluciones en una solución óptima para todo el grafo en tiempo polinomial. [ 3 ] Sin embargo, calcular una solución óptima para el subconjunto de variables indefinidas sigue siendo un problema NP-difícil . En el contexto de algoritmos iterativos comoα{\displaystyle \alpha }-expansión, un enfoque razonable es dejar el valor de las variables indefinidas sin cambios, ya que la propiedad de persistencia garantiza que la función objetivo tendrá un valor no creciente. [ 1 ] Existen diferentes estrategias exactas y aproximadas para minimizar el número de variables indefinidas. [ 2 ]

Términos de orden superior

Siempre es posible reducir una función de orden superior a una función cuadrática equivalente en cuanto a la optimización, problema conocido como " reducción de clique de orden superior " (HOCR), y el resultado de dicha reducción puede optimizarse con QPBO. Los métodos genéricos para la reducción de funciones arbitrarias se basan en reglas de sustitución específicas y, en general, requieren la introducción de variables auxiliares. [ 4 ] En la práctica, la mayoría de los términos pueden reducirse sin introducir variables adicionales, lo que resulta en un problema de optimización más simple , y los términos restantes pueden reducirse exactamente, con la adición de variables auxiliares, o aproximadamente, sin la adición de ninguna variable nueva. [ 5 ]

Notas

  1. 1 2 3 4 5 Kolmogorov y Rother (2007).
  2. 1 2 3 Rother et al. (2007).
  3. Billionnet y Jaumard (1989).
  4. Fix et al. (2011).
  5. Ishikawa (2014).

Referencias

Notas

  1. La representación de una función pseudobooleana con coeficientesw=(w0,w1,,wnortenorte){\displaystyle \mathbf {w} =(w_{0},w_{1},\dots ,w_{nn})}no es único, y si dos vectores de coeficientesw{\displaystyle \mathbf {w} }yw{\displaystyle \mathbf {w} '}entonces representan la misma funciónw{\displaystyle \mathbf {w} '}Se dice que es una reparametrización dew{\displaystyle \mathbf {w} }y viceversa. En algunas construcciones es útil asegurar que la función tenga una forma específica, llamada forma normal , que siempre está definida para cualquier función y no es única. Una funciónF{\displaystyle f}está en forma normal si se cumplen las dos condiciones siguientes (Kolmogorov y Rother (2007)):
    1. min{wpag0,wpag1}=0{\displaystyle \min\{w_{p}^{0},w_{p}^{1}\}=0}para cadapagV{\displaystyle p\in V};
    2. min{wpagq0j,wpagq1j}=0{\displaystyle \min\{w_{pq}^{0j},w_{pq}^{1j}\}=0}para cada(pag,q)mi{\displaystyle (p,q)\in E}y para cadaj{0,1}{\displaystyle j\in \{0,1\}}.
    Dada una función arbitrariaF{\displaystyle f}Siempre es posible encontrar una reparametrización a la forma normal con el siguiente algoritmo en dos pasos (Kolmogorov y Rother (2007)):
    1. mientras existan índices(pag,q)mi{\displaystyle (p,q)\in E}yj{0,1}{\displaystyle j\in \{0,1\}}De modo que no se cumpla la segunda condición de normalidad, sustituya:
      • wpagq0j{\displaystyle w_{pq}^{0j}}conwpagq0ja{\displaystyle w_{pq}^{0j}-a}
      • wpagq1j{\displaystyle w_{pq}^{1j}}conwpagq1ja{\displaystyle w_{pq}^{1j}-a}
      • wqj{\displaystyle w_{q}^{j}}conwqj+a{\displaystyle w_{q}^{j}+a}
      dóndea=min{wpagq0j,wpagq1j}{\displaystyle a=\min\{w_{pq}^{0j},w_{pq}^{1j}\}};
    2. parapag=1,,norte{\displaystyle p=1,\dots ,n}, sustituto:
      • w0{\displaystyle w_{0}}conw0+a{\displaystyle w_{0}+a}
      • wpag0{\displaystyle w_{p}^{0}}conwpag0a{\displaystyle w_{p}^{0}-a}
      • wpag1{\displaystyle w_{p}^{1}}conwpag1a{\displaystyle w_{p}^{1}-a}
      dóndea=min{wpag0,wpag1}{\displaystyle a=\min\{w_{p}^{0},w_{p}^{1}\}}.