NP-Completitud de un problema de coloración gráfica

10

Formulación Alternativa

Se me ocurrió una formulación alternativa para el siguiente problema. La formulación alternativa es en realidad un caso especial del problema a continuación y utiliza gráficos bipartitos para describir el problema. Sin embargo, creo que la formulación alternativa sigue siendo NP-hard. La formulación alternativa utiliza un conjunto disjunto de nodos entrantes y salientes que simplifica la definición del problema.

Dados nodos salientes y entrantes (los nodos rojo y azul en la figura respectivamente), y un conjunto 's de tamaño n \ veces n de pesos de borde entre los vértices salientes y entrantes. El objetivo del problema es colorear los bordes gruesos de la figura para que para cada nodo entrante, se cumpla una condición.n w i j n × nnnwijn×n

Gráfico bipartito del problema.

Dado un conjunto de vértices de salida, un conjunto de vértices de entrada, pesos entre 's e ' s para , y una constante positiva , encuentre el número mínimo de colores para los bordes (bordes gruesos en la figura anterior) de modo que para todos ,{ I i{Oi|i=1n}n × n w i j0 O i I j i , j = 1 n β e i i j = 1 n{Ii|i=1n}n×nwij0OiIji,j=1nβeiij=1n

wjj1+C(yo)=C(j),yojwyojβ

donde muestra el color del borde .C(yo)miyoyo


Antigua formulación

El siguiente problema me parece NP-duro, pero no pude mostrarlo. Cualquier prueba / comentario para mostrar la dureza o facilidad de la misma es apreciada.

Suponga que es un gráfico dirigido ponderado completo con nodos y bordes. Deje que muestre el peso del borde y muestre el color del borde . Dado un subconjunto de los bordes y una constante positiva el objetivo es: encontrar el número mínimo de colores de manera que para cada :n n ( n - 1 ) w i j0 i j c ( i j ) i j T EKnorte=V,minortenorte(norte-1)wyoj0 0yojC(yoj)yojTmie i jTβmiyojT

c(ij)c(ik)

wyoj1+C(kl)=C(yoj),klyojwkjβ.
y
C(yoj)C(yok)Forjk

Tenga en cuenta que en el problema anterior, solo los bordes en deben colorearse. Ese es el problema que se puede resolver en .O ( | T | ! )TO(El |TEl |!)

Actualizar:

Después del comentario de Tsuyoshi Ito, actualicé el problema. El denominador se cambia de a . Por lo tanto, el denominador contiene los pesos fuera de también. Es por eso que mencioné el gráfico completo en la definición. 1 + c ( k l ) = c ( i j ) , k l i j w k j T1+C(kj)=C(yoj),kyo,mikjTwkj1+C(kl)=C(yoj),klyojwkjT

También agregué una restricción adicional . Eso significa que los bordes salientes de un nodo deben ser de diferentes colores (pero los colores entrantes pueden ser los mismos siempre que se mantenga la desigualdad). Esto pone un intuitivo límite inferior en el número de colores, que es el grado fuera máximo de los nodos en .TC(yoj)C(yok)ForjkT

Como mencionó Tsuyoshi, 's, y son entradas al problema y los colores de borde son la salida.wyojβTβ

Actualización 2:

El problema no impone que los bordes y sean del mismo color. e j imiyojmijyo

Helio
fuente
@Raphael: Normalmente, un problema de coloración de bordes parece ser un buen candidato para la reducción. Encontrar el problema np-hard más simple para la reducción es la parte más difícil. El siguiente paso es encontrar los pesos adecuados para el mapeo. Supongo que si un problema de coloración de bordes se reduce al problema anterior, los pesos deberían ser como 0/1 o debemos resolver un sistema de desigualdades para encontrar los pesos.
Helio
Algunos comentarios sobre la formulación del problema: (1) ¿Cuál es el aporte? Supongo que la entrada es w_ij para todos los bordes, T y β, pero si es así, no debe definir w_ij y c (ij) como si se hubieran dado de la misma manera. (2) Como entiendo lo que escribiste, los bordes fuera de T nunca se mencionan. Por lo tanto, es más simple definir el gráfico dirigido que consiste en los bordes en T en lugar de considerar el gráfico dirigido completo.
Tsuyoshi Ito
@ TsuyoshiIto: Gracias por sus comentarios, actualicé la pregunta.
Helio
1
Por cierto, el problema me parece bastante complicado. Si explica cómo llegó a este problema (en otras palabras, por qué está interesado en este problema), podría ayudar a otros a entender el problema.
Tsuyoshi Ito
1
@ TsuyoshiIto: 1) El problema es un caso especial de programación en redes inalámbricas ad-hoc. refiere al conjunto de transmisión y los pesos representan los coeficientes de atenuación de la señal. La restricción de puño también se refiere a señal a interferencia más relación de ruido. 2) "el denominador solo contiene los pesos de los bordes en T" se elimina ahora. T
Helio

Respuestas:

3

Es bastante simple demostrar que la formulación alternativa es NP-hard. La reducción es del problema de coloración del vértice. Dado un gráfico G con vértices, creamos una instancia del problema anterior con vértices de salida y vértices de entrada. Los pesos se establecen de la siguiente manera: para todo , dejemos . Para , si hay un borde entre el vértice y el vértice , deje , de lo contrario deje . Además, let .n n i w i i = 1 i j i j w i j = w j i = 1nortenortenorteyowyoyo=1yojyojwyoj=wjyo=1β = 1wyoj=wjyo=0 0β=1

Esto es bastante obvio pero difícil de describir por qué la reducción es correcta. Deje que muestre la instancia del color del gráfico y muestre la instancia reducida del problema. Para mostrar que la reducción anterior da una solución correcta, debemos mostrar que (1) cada coloración válida para es válida para . (2) la respuesta dada por es mínima para .R RCRRCCRC

Si y son dos vértices adyacentes de , entonces deben tener diferentes colores en . Esto se debe a que si y son adyacentes y tienen el mismo color, la fracción daría como resultado , donde tiene un valor positivo. Por lo tanto, la condición no se cumple. Además, cada coloración válida (pero no necesariamente mínima) para , es una coloración válida para también. De ello se desprende que en una coloración válida dejyojR i j w j jCRyoj 1wjj1+C(yo)=C(j),yojwyoj XCRCRCRRCC11+XXCRC, cada par de nodos adyacentes tienen colores diferentes, por lo que la condición se cumple para todos los bordes coloreados de en la solución. Dado que cada coloración de es una coloración válida para , la solución mínima para debe ser una solución mínima para . De lo contrario, no es mínimo porque la solución a da una solución con un número menor de colores.RCRRCC

Helio
fuente
0

EDITAR : La construcción a continuación no funciona del todo, según el comentario de Tsuyoshi Ito a continuación, no impone que . Sin embargo, lo dejo en caso de que sea un comienzo útil. Además, no debe incluir arcos con peso .T 0C(yoj)=C(jyo)T0 0

A lo largo de las líneas sugeridas por Mohsen, comience con Edge Coloring, convierta el gráfico a un dígrafo en el mismo conjunto de vértices donde tenemos y en , dé a todos los arcos (en este punto) peso , luego agregue y a con , set a y .D = ( V , A ) u v E ( u , v ) ( v , u ) A a A w a = 1 x y E ( x , y ) ( y , x ) A w x y = w y x =sol=(V,mi)re=(V,UN)tuvmi(tu,v)(v,tu)UNunUNwun=1Xymi(X,y)(y,X)UNβ 1 T = AwXy=wyX=0 0β1T=UN

Entonces, la condición solo se cumple si no hay dos arcos incidentes en el mismo vértice que tengan el mismo color, sin tener en cuenta los arcos que provienen de no bordes en el gráfico original (ya que tienen un peso ). Esta coloración se puede convertir nuevamente en una coloración adecuada para el gráfico original.0 0

Técnicamente, he convertido su problema original en un problema de decisión ("¿es el gráfico coloreable con colores?"), Pero de todos modos esto debía hacerse para encajar en y es efectivamente intercambiable hasta un polinomio.N PknortePAGS

Entonces, creo que funciona, ¿o acabo de mostrar que algo más es duro? ;)nortePAGS

Luke Mathieson
fuente
¿Cómo se impone que c (ij) = c (ji)? Esto no es necesariamente cierto en el problema en cuestión, si lo entiendo correctamente.
Tsuyoshi Ito
Buen punto. Editaré la publicación original para notar el problema.
Luke Mathieson