La optimización de cortes de grafos es un método de optimización combinatoria aplicable a una familia de funciones de variables discretas , que recibe su nombre del concepto de corte en la teoría de redes de flujo . Gracias al teorema de flujo máximo y corte mínimo , determinar el corte mínimo sobre un grafo que representa una red de flujo es equivalente a calcular el flujo máximo sobre la red. Dada una función pseudo-booleana, si es posible construir una red de flujo con pesos positivos tal que
- cada cortede la red se puede mapear a una asignación de variablesa(y viceversa), y
- el costo deigual(hasta una constante aditiva)
entonces es posible encontrar el óptimo global deen tiempo polinomial calculando un corte mínimo del grafo. La correspondencia entre los cortes y las asignaciones de variables se realiza representando cada variable con un nodo en el grafo y, dado un corte, cada variable tendrá un valor de 0 si el nodo correspondiente pertenece al componente conectado a la fuente, o de 1 si pertenece al componente conectado al sumidero.
No todas las funciones pseudobooleanas pueden representarse mediante una red de flujo, y en el caso general, el problema de optimización global es NP-difícil . Existen condiciones suficientes para caracterizar familias de funciones que pueden optimizarse mediante cortes de grafos, como las funciones cuadráticas submodulares . La optimización mediante cortes de grafos puede extenderse a funciones de variables discretas con un número finito de valores, que pueden abordarse con algoritmos iterativos con fuertes propiedades de optimalidad, calculando un corte de grafo en cada iteración.
La optimización de cortes de grafos es una herramienta importante para la inferencia sobre modelos gráficos como campos aleatorios de Markov o campos aleatorios condicionales , y tiene aplicaciones en problemas de visión por computadora como la segmentación de imágenes , [ 1 ] [ 2 ] la eliminación de ruido , [ 3 ] el registro [ 4 ] [ 5 ] y la correspondencia estéreo . [ 6 ] [ 7 ]
Representabilidad
Una función pseudobooleanaSe dice que es representable si existe un gráfico.con pesos no negativos y con nodos de origen y destinoyrespectivamente, y existe un conjunto de nodosde tal manera que, para cada tupla de valoresasignado a las variables,es igual (salvo una constante) al valor del flujo determinado por un corte mínimodel gráficode tal manera quesiysi. [ 8 ]
Es posible clasificar las funciones pseudobooleanas según su orden, determinado por el número máximo de variables que contribuyen a cada término. Todas las funciones de primer orden, donde cada término depende como máximo de una variable, son siempre representables. Funciones cuadráticas
son representables si y solo si son submodulares, es decir, para cada término cuadráticoSe cumple la siguiente condición.
Funciones cúbicas
Son representables si y solo si son regulares , es decir, todas las posibles proyecciones binarias a dos variables, obtenidas fijando el valor de la variable restante, son submodulares. Para funciones de orden superior, la regularidad es una condición necesaria para la representabilidad. [ 8 ]
Construcción de gráficos
La construcción gráfica de una función representable se simplifica por el hecho de que la suma de dos funciones representablesyes representable y su gráficoes la unión de los gráficosyrepresentando las dos funciones. Dicho teorema permite construir gráficas separadas que representan cada término y combinarlas para obtener una gráfica que representa la función completa . [ 8 ]
La gráfica que representa una función cuadrática deLas variables contienenvértices, dos de ellos representan la fuente y el sumidero, y los demás representan las variables. Al representar funciones de orden superior, el grafo contiene nodos auxiliares que permiten modelar interacciones de orden superior.
términos unarios
Un término unariodepende únicamente de una variabley puede representarse mediante un grafo con un nodo no terminal.y un bordecon pesosi, ocon pesosi. [ 8 ]
Términos binarios

Un término cuadrático (o binario)puede representarse mediante un grafo que contiene dos nodos no terminales.yEl término puede reescribirse como
con
En esta expresión, el primer término es constante y no está representado por ninguna arista, los dos términos siguientes dependen de una variable y están representados por una arista, como se muestra en la sección anterior para términos unarios, mientras que el tercer término está representado por una arista.con peso(la submodularidad garantiza que el peso sea no negativo). [ 8 ]
Términos ternarios
Un término cúbico (o ternario)puede representarse mediante un grafo con cuatro nodos no terminales, tres de ellos (, y) asociado a las tres variables más un cuarto nodo auxiliar. [ nota 1 ] Un término ternario genérico puede reescribirse como la suma de una constante, tres términos unarios, tres términos binarios y un término ternario en forma simplificada. Puede haber dos casos diferentes, según el signo de. Sientonces

con
SiLa construcción es similar, pero las variables tendrán valores opuestos. Si la función es regular, entonces todas sus proyecciones de dos variables serán submodulares, lo que implica que,yson positivos y entonces todos los términos en la nueva representación son submodulares.
En esta descomposición, los términos constante, unario y binario se pueden representar como se muestra en las secciones anteriores. SiEl término ternario se puede representar con un gráfico de cuatro aristas.,,,, todos con peso, mientras que siEl término puede representarse mediante cuatro aristas.,,,con peso. [ 8 ]
Recorte mínimo
Tras construir un grafo que representa una función pseudobooleana, es posible calcular un corte mínimo utilizando alguno de los diversos algoritmos desarrollados para redes de flujo, como los algoritmos de Ford-Fulkerson , Edmonds-Karp y Boykov-Kolmogorov . El resultado es una partición del grafo en dos componentes conexas.yde tal manera queyy la función alcanza su mínimo global cuandopara cadade tal manera que el nodo correspondiente, ypara cadade tal manera que el nodo correspondiente.
Los algoritmos de flujo máximo, como el de Boykov - Kolmogorov, son muy eficientes en la práctica para la computación secuencial, pero son difíciles de paralelizar, lo que los hace inadecuados para aplicaciones de computación distribuida e impide que aprovechen el potencial de las CPU modernas . Se desarrollaron algoritmos de flujo máximo paralelos, como push-relabel [ 9 ] y jump-flood [ 1 ] , que también pueden aprovechar la aceleración por hardware en implementaciones GPGPU . [ 10 ] [ 1 ] [ 11 ]
Funciones de variables discretas con más de dos valores
La construcción anterior permite la optimización global de funciones pseudobooleanas únicamente, pero puede extenderse a funciones cuadráticas de variables discretas con un número finito de valores, en la forma
dóndey. La funciónrepresenta la contribución unaria de cada variable (a menudo denominada término de datos ), mientras que la funciónrepresenta interacciones binarias entre variables ( término de suavidad ). En el caso general, la optimización de tales funciones es un problema NP-difícil , y los métodos de optimización estocástica como el recocido simulado son sensibles a los mínimos locales y en la práctica pueden generar resultados arbitrariamente subóptimos. [ nota 2 ] Con cortes de grafos es posible construir algoritmos de movimiento que permiten alcanzar en tiempo polinomial un mínimo local con fuertes propiedades de optimalidad para una amplia familia de funciones cuadráticas de interés práctico (cuando la interacción binariaes una métrica o una semimétrica ), de modo que el valor de la función en la solución se encuentra dentro de un factor constante y conocido del óptimo global. [ 12 ]
Dada una funcióncony una determinada asignación de valoresA las variables, es posible asociar cada asignación.a una particióndel conjunto de variables, de tal manera que,. Proporcione dos tareas distintasyy un valor, una medida que transformaenSe dice que es un-expansión siyDados un par de valoresySe dice que una medida es-intercambiar si. Intuitivamente, un-movimiento de expansión desdeasigna el valor dea algunas variables que tienen un valor diferente en, mientras que un-intercambiar mover asignaa algunas variables que tienen valoreny viceversa.
Para cada iteración, el-el algoritmo de expansión calcula, para cada valor posible, el mínimo de la función entre todas las asignacionesque se puede alcanzar con un solo-Ampliación de la solución temporal actualy lo toma como la nueva solución temporal.
mientras: para cada: si:
ElEl algoritmo -swap es similar, pero busca el mínimo entre todas las asignaciones.accesible con un solo-intercambiar movimiento de.
mientras: para cada: si:
En ambos casos, el problema de optimización en el bucle más interno se puede resolver de forma exacta y eficiente mediante un corte de grafo. Ambos algoritmos finalizan con certeza en un número finito de iteraciones del bucle externo, y en la práctica dicho número es pequeño, produciéndose la mayor parte de la mejora en la primera iteración. Los algoritmos pueden generar diferentes soluciones dependiendo de la estimación inicial, pero en la práctica son robustos con respecto a la inicialización, y comenzar con un punto donde todas las variables tienen el mismo valor aleatorio suele ser suficiente para obtener resultados de buena calidad. [ 12 ]
La solución generada por dichos algoritmos no es necesariamente un óptimo global, pero tiene fuertes garantías de optimalidad. Sies una métrica yes una solución generada por el-algoritmo de expansión, o sies una semimétrica yes una solución generada por el-algoritmo de intercambio, entoncesse encuentra dentro de un factor conocido y constante del mínimo global: [ 12 ]
Funciones no submodulares
En términos generales, el problema de optimizar una función pseudobooleana no submodular es NP-difícil y no puede resolverse en tiempo polinomial con un simple corte de grafo. El enfoque más sencillo consiste en aproximar la función con una similar pero submodular, por ejemplo, truncando todos los términos no submodulares o reemplazándolos con expresiones submodulares similares. Este enfoque suele ser subóptimo y solo produce resultados aceptables si el número de términos no submodulares es relativamente pequeño. [ 13 ]
En el caso de funciones cuadráticas no submodulares, es posible calcular en tiempo polinomial una solución parcial utilizando algoritmos como QPBO . [ 13 ] Las funciones de orden superior pueden reducirse en tiempo polinomial a una forma cuadrática que puede optimizarse con QPBO. [ 14 ]
Funciones de orden superior
Las funciones cuadráticas se han estudiado exhaustivamente y se han caracterizado en detalle, pero también se han obtenido resultados más generales para funciones de orden superior. Si bien las funciones cuadráticas pueden modelar muchos problemas de interés práctico, están limitadas por el hecho de que solo pueden representar interacciones binarias entre variables. La posibilidad de capturar interacciones de orden superior permite comprender mejor la naturaleza del problema y proporciona resultados de mayor calidad que serían difíciles de lograr con modelos cuadráticos. Por ejemplo, en aplicaciones de visión artificial , donde cada variable representa un píxel o vóxel de la imagen, las interacciones de orden superior pueden utilizarse para modelar información de textura, que sería difícil de capturar utilizando únicamente funciones cuadráticas. [ 15 ]
Se desarrollaron condiciones suficientes análogas a la submodularidad para caracterizar funciones pseudobooleanas de orden superior que pueden optimizarse en tiempo polinomial, [ 16 ] y existen algoritmos análogos a-expansión y-intercambio para algunas familias de funciones de orden superior. [ 15 ] El problema es NP-difícil en el caso general, y se desarrollaron métodos aproximados para la optimización rápida de funciones que no satisfacen tales condiciones. [ 16 ] [ 17 ]
Notas
- ↑ Es necesario agregar un nodo; los gráficos sin nodos auxiliares solo pueden representar interacciones binarias entre variables.
- ↑ Algoritmos como el recocido simulado poseen fuertes propiedades de convergencia teórica para ciertas configuraciones de temperatura que tienden al infinito. Dicha configuración no puede realizarse en la práctica.
Referencias
- 1 2 3 Peng et al. (2015).
- ↑ Rother et al. (2012).
- ↑ Lombaert y Cheriet (2012).
- ↑ So et al. (2011).
- ↑ Tang y Chung (2007).
- ↑ Kim et al. (2003).
- ↑ Hong y Chen (2004).
- ^ Kolmogorov y Zabin ( 2004 ) .
- ↑ Goldberg y Tarjan (1988).
- ↑ Vineet y Narayanan (2008).
- ↑ Stitch (2009).
- 1 2 3 Boykov et al. (2001).
- 1 2 Kolmogorov y Rother (2007).
- ↑ Ishikawa (2014).
- 1 2 Kohli et al. (2009).
- 1 2 Freedman y Drineas (2005).
- ↑ Kohli et al. (2008).
Bibliografía
- Boykov, Yuri; Veksler, Olga; Zabih, Ramin (2001). "Minimización rápida aproximada de energía mediante cortes de grafos". IEEE Transactions on Pattern Analysis and Machine Intelligence . 23 (11): 1222– 1239. Bibcode : 2001ITPAM..23.1222B . CiteSeerX 10.1.1.439.2071 . doi : 10.1109/34.969114 .
- Freedman, Daniel; Drineas, Petros (2005). Minimización de energía mediante cortes de grafos: Determinando lo que es posible (PDF) . Conferencia de la IEEE Computer Society sobre Visión por Computadora y Reconocimiento de Patrones. Vol. 2. pp. 939–946 .
- Goldberg, Andrew V; Tarjan, Robert E (1988). "Un nuevo enfoque al problema del flujo máximo" (PDF) . Journal of the ACM . 35 (4): 921– 940. doi : 10.1145/48014.61051 . S2CID 52152408 .
- Ishikawa, Hiroshi (2014). Reducción de cliques de orden superior sin variables auxiliares (PDF) . Conferencia IEEE sobre visión por computadora y reconocimiento de patrones. IEEE. pp. 1362–1369 .
- Hong, Li; Chen, George (2004). Segment-based stereo matching using graph cuts (PDF) . Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Vol. 1. pp. 74–81 .
- Kohli, Pushmeet; Kumar, M. Pawan; Torr, Philip HS (2009). "P 3 & Beyond: Move Making Algorithms for Solving Higher Order Functions" ( PDF) . IEEE Transactions on Pattern Analysis and Machine Intelligence . 31 (9): 1645– 1656. doi : 10.1109/tpami.2008.217 . PMID 19574624. S2CID 91470 .
- Kim, Junhwan; Kolmogorov, Vladimir; Zabih, Ramin (2003). Correspondencia visual mediante minimización de energía e información mutua . Actas de la Novena Conferencia Internacional IEEE sobre Visión por Computadora. pp. 1033–1040 . doi : 10.1109/ICCV.2003.1238463 .
- Kohli, Pushmeet; Ladicky, Lubor; Torr, PHS (2008). Cortes de grafos para minimizar potenciales robustos de orden superior (PDF) (Informe técnico). Universidad Oxford Brookes. págs. 1–9 .
- Kolmogorov, Vladimir; Rother, Carsten (2007). "Minimizing Nonsubmodular Functions: A Review". IEEE Transactions on Pattern Analysis and Machine Intelligence . 29 (7): 1274– 1279. doi : 10.1109/tpami.2007.1031 . PMID 17496384 . S2CID 15319364 .
- Kolmogorov, Vladimir; Zabin, Ramin (2004). "¿Qué funciones de energía se pueden minimizar mediante cortes de grafos?" (PDF) . IEEE Transactions on Pattern Analysis and Machine Intelligence . 26 (2): 1645– 1656. Bibcode : 2004ITPAM..26..147K . doi : 10.1109/TPAMI.2004.1262177 . hdl : 1813/5842 . PMID 15376891 .
- Lombaert, Herve; Cheriet, Farida (2012). Eliminación simultánea de ruido y registro de imágenes mediante cortes de grafos: Aplicación a imágenes médicas corruptas (PDF) . XI Conferencia Internacional sobre Ciencias de la Información, Procesamiento de Señales y sus Aplicaciones. pp. 264–268 .
- Peng, Yi; Chen, Li; Ou-Yang, Fang-Xin; Chen, Wei; Yong, Jun-Hai (2015). "JF-Cut: un enfoque de corte de grafos paralelo para imágenes y videos a gran escala". IEEE Transactions on Image Processing . 24 (2): 655– 666. Bibcode : 2015ITIP...24..655P . doi : 10.1109/TIP.2014.2378060 . PMID 25494510 . S2CID 1665580 .
- Rother, Carsten; Kolmogorov, Vladimir; Blake, Andrew (2004). Grabcut: Extracción interactiva de primer plano mediante cortes de grafos iterados (PDF) . Transacciones ACM sobre gráficos. Vol. 23. pp. 309–314 .
- So, Ronald WK; Tang, Tommy WH; Chung, Albert CS (2011). "Registro no rígido de imágenes de resonancia magnética cerebral mediante cortes de grafos". Pattern Recognition . 44 ( 10– 11): 2450– 2467. Bibcode : 2011PatRe..44.2450S . doi : 10.1016/j.patcog.2011.04.008 .
- Stich, Timo (2009). Cortes de grafos con CUDA (PDF) . Conferencia de tecnología GPU.
- Tang, Tommy WH; Chung, Albert CS (2007). Registro de imágenes no rígido mediante cortes de grafos (PDF) . Conferencia Internacional sobre Computación de Imágenes Médicas e Intervención Asistida por Computadora. pp. 916–924 . doi : 10.1007/978-3-540-75757-3_111 .
- Vineet, Vibhav; Narayanan, PJ (2008). CUDA cuts: Cortes rápidos de grafos en la GPU (PDF) . Talleres de la Conferencia de la Sociedad de Computación IEEE sobre Visión por Computadora y Reconocimiento de Patrones. págs. 1–8 .
Enlaces externos
- Implementación (C++) de varios algoritmos de corte de grafos de Vladimir Kolmogorov.
- GCO , biblioteca de optimización de cortes de grafos creada por Olga Veksler y Andrew Delong.
- Optimización combinatoria
- visión por computadora
- Problemas computacionales en la teoría de grafos