Articulo de referencia

Optimización de corte de grafos

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 ...

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-booleanaF{\displaystyle f}, si es posible construir una red de flujo con pesos positivos tal que

  • cada cortedo{\displaystyle C}de la red se puede mapear a una asignación de variablesincógnita{\displaystyle \mathbf {x} }aF{\displaystyle f}(y viceversa), y
  • el costo dedo{\displaystyle C}igualF(incógnita){\displaystyle f(\mathbf {x} )}(hasta una constante aditiva)

entonces es posible encontrar el óptimo global deF{\displaystyle f}en 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 pseudobooleanaF:{0,1}norteR{\displaystyle f:\{0,1\}^{n}\to \mathbb {R} }Se dice que es representable si existe un gráfico.GRAMO=(V,mi){\displaystyle G=(V,E)}con pesos no negativos y con nodos de origen y destinos{\displaystyle s}yt{\displaystyle t}respectivamente, y existe un conjunto de nodosV0={v1,,vnorte}V{s,t}{\displaystyle V_{0}=\{v_{1},\dots ,v_{n}\}\subset V-\{s,t\}}de tal manera que, para cada tupla de valores(incógnita1,,incógnitanorte){0,1}norte{\displaystyle (x_{1},\dots ,x_{n})\in \{0,1\}^{n}}asignado a las variables,F(incógnita1,,incógnitanorte){\displaystyle f(x_{1},\dots ,x_{n})}es igual (salvo una constante) al valor del flujo determinado por un corte mínimodo=(S,T){\displaystyle C=(S,T)}del gráficoGRAMO{\displaystyle G}de tal manera queviS{\displaystyle v_{i}\in S}siincógnitai=0{\displaystyle x_{i}=0}yviT{\displaystyle v_{i}\in T}siincógnitai=1{\displaystyle x_{i}=1}. [ 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

F(incógnita)=w0+iwi(incógnitai)+i<jwij(incógnitai,incógnitaj).{\displaystyle f(\mathbf {x} )=w_{0}+\sum _{i}w_{i}(x_{i})+\sum _{i<j}w_{ij}(x_{i},x_{j}).}

son representables si y solo si son submodulares, es decir, para cada término cuadráticowij{\displaystyle w_{ij}}Se cumple la siguiente condición.

wij(0,0)+wij(1,1)wij(0,1)+wij(1,0).{\displaystyle w_{ij}(0,0)+w_{ij}(1,1)\leq w_{ij}(0,1)+w_{ij}(1,0).}

Funciones cúbicas

F(incógnita)=w0+iwi(incógnitai)+i<jwij(incógnitai,incógnitaj)+i<j<kwijk(incógnitai,incógnitaj,incógnitak){\displaystyle f(\mathbf {x} )=w_{0}+\sum _{i}w_{i}(x_{i})+\sum _{i<j}w_{ij}(x_{i},x_{j})+\sum _{i<j<k}w_{ijk}(x_{i},x_{j},x_{k})}

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 representablesF{\displaystyle f'}yF{\displaystyle f''}es representable y su gráficoGRAMO=(VV,mimi){\displaystyle G=(V'\taza V'',E'\taza E'')}es la unión de los gráficosGRAMO=(V,mi){\displaystyle G'=(V',E')}yGRAMO=(V,mi){\displaystyle G''=(V'',E'')}representando 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 denorte{\displaystyle n}Las variables contienennorte+2{\displaystyle n+2}vé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 unariowi{\displaystyle w_{i}}depende únicamente de una variableincógnitai{\displaystyle x_{i}}y puede representarse mediante un grafo con un nodo no terminal.vi{\displaystyle v_{i}}y un bordesvi{\displaystyle s\rightarrow v_{i}}con pesowi(1)wi(0){\displaystyle w_{i}(1)-w_{i}(0)}siwi(1)wi(0){\displaystyle w_{i}(1)\geq w_{i}(0)}, ovit{\displaystyle v_{i}\rightarrow t}con pesowi(0)wi(1){\displaystyle w_{i}(0)-w_{i}(1)}siwi(1)<wi(0){\displaystyle w_{i}(1)<w_{i}(0)}. [ 8 ]

Términos binarios

Ejemplo de una gráfica que representa un término cuadráticowij(incógnitai,incógnitaj){\ Displaystyle w_ {ij} (x_ {i}, x_ {j})}En casowij(1,0)wij(0,0)>0{\displaystyle w_{ij}(1,0)-w_{ij}(0,0)>0}ywij(1,1)wij(1,0)<0{\displaystyle w_{ij}(1,1)-w_{ij}(1,0)<0}

Un término cuadrático (o binario)wij{\displaystyle w_{ij}}puede representarse mediante un grafo que contiene dos nodos no terminales.vi{\displaystyle v_{i}}yvj{\displaystyle v_{j}}El término puede reescribirse como

wij(incógnitai,incógnitaj)=wij(0,0)+kiincógnitai+kjincógnitaj+kij((1incógnitai)incógnitaj+incógnitai(1incógnitaj)){\displaystyle w_{ij}(x_{i},x_{j})=w_{ij}(0,0)+k_{i}x_{i}+k_{j}x_{j}+k_{ij}\left((1-x_{i})x_{j}+x_{i}(1-x_{j})\right)}

con

ki=12(wij(1,0)wij(0,0))kj=12(wij(1,1)wij(1,0))kij=12(wij(0,1)+wij(1,0)wij(0,0)wij(1,1)).{\displaystyle {\begin{aligned}k_{i}&={\frac {1}{2}}(w_{ij}(1,0)-w_{ij}(0,0))\\k_{j}&={\frac {1}{2}}(w_{ij}(1,1)-w_{ij}(1,0))\\k_{ij}&={\frac {1}{2}}(w_{ij}(0,1)+w_{ij}(1,0)-w_{ij}(0,0)-w_{ij}(1,1)).\end{aligned}}}

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.vivj{\displaystyle v_{i}\rightarrow v_{j}}con pesowij(0,1)+wij(1,0)wij(0,0)wij(1,1){\displaystyle w_{ij}(0,1)+w_{ij}(1,0)-w_{ij}(0,0)-w_{ij}(1,1)}(la submodularidad garantiza que el peso sea no negativo). [ 8 ]

Términos ternarios

Un término cúbico (o ternario)wijk{\displaystyle w_{ijk}}puede representarse mediante un grafo con cuatro nodos no terminales, tres de ellos (vi{\displaystyle v_{i}}, vj{\displaystyle v_{j}}yvk{\displaystyle v_{k}}) asociado a las tres variables más un cuarto nodo auxiliarvijk{\displaystyle v_{ijk}}. [ 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 depag=wijk(0,0,0)+wijk(0,1,1)+wijk(1,0,1)+wijk(1,1,0){\displaystyle p=w_{ijk}(0,0,0)+w_{ijk}(0,1,1)+w_{ijk}(1,0,1)+w_{ijk}(1,1,0)}. Sipag>0{\displaystyle p>0}entonces

wijk(incógnitai,incógnitaj,incógnitak)=wijk(0,0,0)+pag1(incógnitai1)+pag2(incógnitaj1)+pag3(incógnitak1)+pag23(incógnitaj1)incógnitak+pag31incógnitai(incógnitak1)+pag12(incógnitai1)incógnitajpagincógnitaiincógnitajincógnitak{\displaystyle w_{ijk}(x_{i},x_{j},x_{k})=w_{ijk}(0,0,0)+p_{1}(x_{i}-1)+p_{2}(x_{j}-1)+p_{3}(x_{k}-1)+p_{23}(x_{j}-1)x_{k}+p_{31}x_{i}(x_{k}-1)+p_{12}(x_{i}-1)x_{j}-px_{i}x_{j}x_{k}}
Ejemplo de un gráfico que representa el término ternario.pagincógnitaiincógnitajincógnitak{\displaystyle px_{i}x_{j}x_{k}}cuandopag>0{\displaystyle p>0}(izquierda) y cuandopag<0{\displaystyle p<0}(bien)

con

pag1=wijk(1,0,1)wijk(0,0,1)pag2=wijk(1,1,0)wijk(1,0,1)pag3=wijk(0,1,1)wijk(0,1,0)pag23=wijk(0,0,1)+wijk(0,1,0)wijk(0,0,0)wijk(0,1,1)pag31=wijk(0,0,1)+wijk(1,0,0)wijk(0,0,0)wijk(1,0,1)pag12=wijk(0,1,0)+wijk(1,0,0)wijk(0,0,0)wijk(1,1,0).{\displaystyle {\begin{aligned}p_{1}&=w_{ijk}(1,0,1)-w_{ijk}(0,0,1)\\p_{2}&=w_{ijk}(1,1,0)-w_{ijk}(1,0,1)\\p_{3}&=w_{ijk}(0,1,1)-w_{ijk}(0,1,0)\\p_{23}&=w_{ijk}(0,0,1)+w_{ijk}(0,1,0)-w_{ijk}(0,0,0)-w_{ijk}(0,1,1)\\p_{31}&=w_{ijk}(0,0,1)+w_{ijk}(1,0,0)-w_{ijk}(0,0,0)-w_{ijk}(1,0,1)\\p_{12}&=w_{ijk}(0,1,0)+w_{ijk}(1,0,0)-w_{ijk}(0,0,0)-w_{ijk}(1,1,0).\end{aligned}}}

Sipag<0{\displaystyle p<0}La 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 quepag23{\displaystyle p_{23}},pag31{\displaystyle p_{31}}ypag12{\displaystyle p_{12}}son 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. Sipag>0{\displaystyle p>0}El término ternario se puede representar con un gráfico de cuatro aristas.vivijk{\displaystyle v_{i}\rightarrow v_{ijk}},vjvijk{\displaystyle v_{j}\rightarrow v_{ijk}},vkvijk{\displaystyle v_{k}\rightarrow v_{ijk}},vijkt{\displaystyle v_{ijk}\rightarrow t}, todos con pesopag{\displaystyle p}, mientras que sipag<0{\displaystyle p<0}El término puede representarse mediante cuatro aristas.vijkvi{\displaystyle v_{ijk}\rightarrow v_{i}},vijkvj{\displaystyle v_{ijk}\rightarrow v_{j}},vijkvk{\displaystyle v_{ijk}\rightarrow v_{k}},svijk{\displaystyle s\rightarrow v_{ijk}}con pesopag{\displaystyle -p}. [ 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.S{\displaystyle S}yT{\displaystyle T}de tal manera quesS{\displaystyle s\in S}ytT{\displaystyle t\in T}y la función alcanza su mínimo global cuandoincógnitai=0{\displaystyle x_{i}=0}para cadai{\displaystyle i}de tal manera que el nodo correspondienteviS{\displaystyle v_{i}\in S}, yincógnitai=1{\displaystyle x_{i}=1}para cadai{\displaystyle i}de tal manera que el nodo correspondienteviT{\displaystyle v_{i}\in T}.

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

F(incógnita)=iVD(incógnitai)+(i,j)miS(incógnitai,incógnitaj){\displaystyle f(\mathbf {x} )=\sum _{i\in V}D(x_{i})+\sum _{(i,j)\in E}S(x_{i},x_{j})}

dóndemiV×V{\displaystyle E\subseteq V\times V}yincógnitaiΛ={1,,k}{\displaystyle x_{i}\in \Lambda =\{1,\dots ,k\}}. La funciónD(incógnitai){\displaystyle D(x_{i})}representa la contribución unaria de cada variable (a menudo denominada término de datos ), mientras que la funciónS(incógnitai,incógnitaj){\displaystyle S(x_{i},x_{j})}representa 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 binariaS(incógnitai,incógnitaj){\displaystyle S(x_{i},x_{j})}es 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ónF:ΛnorteR{\displaystyle f:\Lambda ^{n}\to \mathbb {R} }conΛ={1,,k}{\displaystyle \Lambda =\{1,\dots ,k\}}y una determinada asignación de valoresincógnita=(incógnita1,,incógnitanorte)Λnorte{\displaystyle \mathbf {x} =(x_{1},\dots ,x_{n})\in \Lambda ^{n}}A las variables, es posible asociar cada asignación.incógnita{\displaystyle \mathbf {x} }a una particiónPAG={PAGl|lΛ}{\displaystyle P=\{P_{l}|l\in \Lambda \}}del conjunto de variables, de tal manera que,PAGl={incógnitai|incógnitai=lΛ}{\displaystyle P_{l}=\{x_{i}|x_{i}=l\in \Lambda \}}. Proporcione dos tareas distintasPAG{\displaystyle P}yPAG{\displaystyle P'}y un valorαΛ{\displaystyle \alpha \in \Lambda }, una medida que transformaPAG{\displaystyle P}enPAG{\displaystyle P'}Se dice que es unα{\displaystyle \alpha }-expansión siPAGαPAGα{\displaystyle P_{\alpha }\subset P'_{\alpha }}yPAGlPAGllΛ{α}{\displaystyle P'_{l}\subset P_{l}\;\forall l\in \Lambda -\{\alpha \}}Dados un par de valoresα{\displaystyle \alpha }yβ{\displaystyle \beta }Se dice que una medida esαβ{\displaystyle \alpha \beta }-intercambiar siPAGl=PAGllΛ{α,β}{\displaystyle P_{l}=P'_{l}\;\forall l\in \Lambda -\{\alpha ,\beta \}}. Intuitivamente, unα{\displaystyle \alpha }-movimiento de expansión desdeincógnita{\displaystyle \mathbf {x} }asigna el valor deα{\displaystyle \alpha }a algunas variables que tienen un valor diferente enincógnita{\displaystyle \mathbf {x} }, mientras que unαβ{\displaystyle \alpha \beta }-intercambiar mover asignaα{\displaystyle \alpha }a algunas variables que tienen valorβ{\displaystyle \beta }enincógnita{\displaystyle \mathbf {x} }y viceversa.

Para cada iteración, elα{\displaystyle \alpha }-el algoritmo de expansión calcula, para cada valor posibleα{\displaystyle \alpha }, el mínimo de la función entre todas las asignacionesA(incógnita){\displaystyle \mathrm {A} (\mathbf {x} )}que se puede alcanzar con un soloα{\displaystyle \alpha }-Ampliación de la solución temporal actualincógnita{\displaystyle \mathbf {x} }y lo toma como la nueva solución temporal.

incógnita:=valor arbitrario en Λnorte{\displaystyle \mathbf {x} :={\text{arbitrary value in }}\Lambda ^{n}}salida:=0{\displaystyle {\text{exit}}:=0}mientrassalida1{\displaystyle {\text{exit}}\neq 1}: salida=1{\displaystyle {\text{exit}}=1}para cadaαΛ{\displaystyle \alpha \in \Lambda }: incógnita^:=argminyA(incógnita)F(y){\displaystyle \mathbf {\hat {x}} :=\arg \min _{\mathbf {y} \in \mathrm {A} (\mathbf {x} )}f(\mathbf {y} )}siF(incógnita^)<F(incógnita){\displaystyle f(\mathbf {\hat {x}} )<f(\mathbf {x} )}: incógnita=incógnita^{\displaystyle \mathbf {x} =\mathbf {\hat {x}} }salida:=0{\displaystyle {\text{exit}}:=0}

Elαβ{\displaystyle \alpha \beta }El algoritmo -swap es similar, pero busca el mínimo entre todas las asignaciones.AB(incógnita){\displaystyle \mathrm {A} \mathrm {B} (\mathbf {x} )}accesible con un soloαβ{\displaystyle \alpha \beta }-intercambiar movimiento deincógnita{\displaystyle \mathbf {x} }.

incógnita:=valor arbitrario en Λnorte{\displaystyle \mathbf {x} :={\text{arbitrary value in }}\Lambda ^{n}}salida:=0{\displaystyle {\text{exit}}:=0}mientrassalida1{\displaystyle {\text{exit}}\neq 1}: salida=1{\displaystyle {\text{exit}}=1}para cada(α,β)Λ2{\displaystyle (\alpha ,\beta )\in \Lambda ^{2}}: incógnita^:=argminyAB(incógnita)F(y){\displaystyle \mathbf {\hat {x}} :=\arg \min _{\mathbf {y} \in \mathrm {A} \mathrm {B} (\mathbf {x} )}f(\mathbf {y} )}siF(incógnita^)<F(incógnita){\displaystyle f(\mathbf {\hat {x}} )<f(\mathbf {x} )}: incógnita=incógnita^{\displaystyle \mathbf {x} =\mathbf {\hat {x}} }salida:=0{\displaystyle {\text{exit}}:=0}

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. SiS(incógnitai,incógnitaj){\displaystyle S(x_{i},x_{j})}es una métrica yincógnita{\displaystyle \mathbf {x} }es una solución generada por elα{\displaystyle \alpha }-algoritmo de expansión, o siS(incógnitai,incógnitaj){\displaystyle S(x_{i},x_{j})}es una semimétrica yincógnita{\displaystyle \mathbf {x} }es una solución generada por elαβ{\displaystyle \alpha \beta }-algoritmo de intercambio, entoncesF(incógnita){\displaystyle f(\mathbf {x} )}se encuentra dentro de un factor conocido y constante del mínimo globalF(incógnita){\displaystyle f(\mathbf {x} ^{*})}: [ 12 ]

F(incógnita)2máximoαβΛS(α,β)minαβΛS(α,β)F(incógnita).{\displaystyle f(\mathbf {x} )\leq 2{\frac {\max _{\alpha \neq \beta \in \Lambda }S(\alpha ,\beta )}{\min _{\alpha \neq \beta \in \Lambda }S(\alpha ,\beta )}}f(\mathbf {x} ^{*}).}

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α{\displaystyle \alpha }-expansión yαβ{\displaystyle \alpha \beta }-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

  1. Es necesario agregar un nodo; los gráficos sin nodos auxiliares solo pueden representar interacciones binarias entre variables.
  2. 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. 1 2 3 Peng et al. (2015).
  2. Rother et al. (2012).
  3. Lombaert y Cheriet (2012).
  4. So et al. (2011).
  5. Tang y Chung (2007).
  6. Kim et al. (2003).
  7. Hong y Chen (2004).
  8. ^ Kolmogorov y Zabin ( 2004 ) .
  9. Goldberg y Tarjan (1988).
  10. Vineet y Narayanan (2008).
  11. Stitch (2009).
  12. 1 2 3 Boykov et al. (2001).
  13. 1 2 Kolmogorov y Rother (2007).
  14. Ishikawa (2014).
  15. 1 2 Kohli et al. (2009).
  16. 1 2 Freedman y Drineas (2005).
  17. 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 . 
  • 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.