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
en las variables binarias, con. Sies submodular entonces QPBO produce un óptimo global equivalente a la optimización de corte de grafos , mientras que siSi 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 coeficientesde los términos cuadráticos satisfacen la condición de submodularidad
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 yrespectivamente. La solución tiene las dos propiedades siguientes.
- Optimalidad parcial : siSi 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.donde un subconjuntoLas 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.parade tal manera quepara cada.
- Persistencia : dada una solucióngenerado por QPBO y una asignación arbitraria de valoresa las variables, si una nueva soluciónse construye reemplazandoconpara cada, entonces. [ 1 ]
Algoritmo

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érticescontiene los nodos de origen y destinoyy un par de nodosypara 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.:
- para cada términolos bordesy, con peso;
- para cada términolos bordesy, con peso;
- para cada términolos bordesy, con peso;
- para cada términolos bordesy, con peso;
- para cada términolos bordesy, con peso;
- para cada términolos bordesy, con peso.
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.y: sipertenece al componente conectado que contiene la fuente ypertenece al componente conectado que contiene el sumidero, entonces la variable tendrá un valor de 0. Recíprocamente, sipertenece al componente conectado que contiene el sumidero yal que contiene la fuente, entonces la variable tendrá un valor de 1. Si ambos nodosysi 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-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
Referencias
- Billionnet, Alain; Jaumard, Brigitte (1989). "Un método de descomposición para minimizar funciones pseudobooleanas cuadráticas". Operations Research Letters . 8 (3): 161– 163. doi : 10.1016/0167-6377(89)90043-6 .
- Fix, Alexander; Gruber, Aritanan; Boros, Endre; Zabih, Ramin (2011). Un algoritmo de corte de grafos para campos aleatorios de Markov de orden superior (PDF) . Conferencia Internacional sobre Visión por Computadora . págs. 1020–1027 .
- Ishikawa, Hiroshi (2014). Reducción de cliques de orden superior sin variables auxiliares (PDF) . Conferencia sobre visión por computadora y reconocimiento de patrones . IEEE. pp. 1362–1269 .
- Kolmogorov, Vladimir; Rother, Carsten (2007). "Minimizing Nonsubmodular Functions: A Review". IEEE Transactions on Pattern Analysis and Machine Intelligence . 29 (7). IEEE: 1274– 1279. doi : 10.1109/tpami.2007.1031 . PMID 17496384 .
- Rother, Carsten; Kolmogorov, Vladimir; Lempitsky, Victor; Szummer, Martin (2007). Optimización de MRF binarios mediante dualidad de techo extendida (PDF) . Conferencia sobre Visión por Computadora y Reconocimiento de Patrones . págs. 1–8 .
Notas
- ↑ La representación de una función pseudobooleana con coeficientesno es único, y si dos vectores de coeficientesyentonces representan la misma funciónSe dice que es una reparametrización dey 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ónestá en forma normal si se cumplen las dos condiciones siguientes (Kolmogorov y Rother (2007)):
- para cada;
- para caday para cada.
- mientras existan índicesyDe modo que no se cumpla la segunda condición de normalidad, sustituya:
- con
- con
- con
- dónde;
- para, sustituto:
- con
- con
- con
- dónde.
Enlaces externos
- Implementación de QPBO (C++) , disponible bajo la Licencia Pública General de GNU , por Vladimir Kolmogorov.
- Implementación de HOCR (C++) , disponible bajo la licencia MIT , por Hiroshi Ishikawa.
- Optimización combinatoria
- Problemas computacionales en la teoría de grafos