Conjunto independiente (teoría de grafos) - Independent set (graph theory)

Los nueve vértices azules forman un conjunto máximo independiente para el gráfico de Petersen generalizado GP (12,4).

En la teoría de grafos , un conjunto independiente , conjunto estable , coclique o anticlique es un conjunto de vértices en un gráfico , no hay dos de los cuales son adyacentes. Es decir, es un conjunto de vértices tal que por cada dos vértices adentro , no hay arista que los conecte. De manera equivalente, cada borde del gráfico tiene como máximo un punto final en . Un conjunto es independiente si y solo si es una camarilla en el complemento del gráfico . El tamaño de un conjunto independiente es el número de vértices que contiene. Los conjuntos independientes también se han denominado "conjuntos internamente estables", de los cuales "conjunto estable" es una abreviatura.

Un conjunto independiente máximo es un conjunto independiente que no es un subconjunto propio de ningún otro conjunto independiente.

Un conjunto independiente máximo es un conjunto independiente de mayor tamaño posible para un gráfico dado . Este tamaño se denomina número de independencia de y generalmente se denota por . El problema de optimización de encontrar tal conjunto se denomina problema de conjunto independiente máximo. Es un problema fuertemente NP-difícil . Como tal, es poco probable que exista un algoritmo eficiente para encontrar un conjunto máximo independiente de un gráfico.

Cada conjunto máximo independiente también es máximo, pero la implicación inversa no se cumple necesariamente.

Propiedades

Relación con otros parámetros del gráfico

Un conjunto es independiente si y solo si es una camarilla en el complemento del gráfico , por lo que los dos conceptos son complementarios. De hecho, los gráficos suficientemente grandes sin grandes camarillas tienen grandes conjuntos independientes, un tema que se explora en la teoría de Ramsey .

Un conjunto es independiente si y solo si su complemento es una cobertura de vértice . Por lo tanto, la suma del tamaño del conjunto independiente más grande y el tamaño de una cobertura mínima de vértices es igual al número de vértices en el gráfico.

La coloración de un vértice de un gráfico corresponde a una partición de su conjunto de vértices en subconjuntos independientes. Por lo tanto, el número mínimo de colores necesarios en la coloración de un vértice, el número cromático , es al menos el cociente entre el número de vértices y el número independiente .

En un gráfico bipartito sin vértices aislados, el número de vértices en un conjunto máximo independiente es igual al número de aristas en una cobertura de aristas mínima ; este es el teorema de Kőnig .

Conjunto independiente máximo

Un conjunto independiente que no es un subconjunto adecuado de otro conjunto independiente se llama máximo . Tales conjuntos son conjuntos dominantes . Cada gráfico contiene como máximo 3 n / 3 conjuntos independientes máximos, pero muchos gráficos tienen muchos menos. El número de conjuntos independientes máximos en los gráficos de ciclo de n - vértices viene dado por los números de Perrin , y el número de conjuntos independientes máximos en los gráficos de trayectoria de n - vértices viene dado por la secuencia de Padovan . Por tanto, ambos números son proporcionales a potencias de 1.324718 ..., el número plástico .

Encontrar conjuntos independientes

En informática , se han estudiado varios problemas computacionales relacionados con conjuntos independientes.

  • En el problema del conjunto máximo independiente , la entrada es un gráfico no dirigido y la salida es un conjunto máximo independiente en el gráfico. Si hay varios conjuntos máximos independientes, solo es necesario generar uno. Este problema a veces se denomina " empaquetamiento de vértices ".
  • En el problema del conjunto independiente del peso máximo , la entrada es un gráfico no dirigido con pesos en sus vértices y la salida es un conjunto independiente con el peso total máximo. El problema del conjunto independiente máximo es el caso especial en el que todos los pesos son uno.
  • En el problema de listado de conjuntos máximos independientes , la entrada es un gráfico no dirigido y la salida es una lista de todos sus conjuntos independientes máximos. El problema del conjunto independiente máximo puede resolverse utilizando como subrutina un algoritmo para el problema de listado de conjuntos independientes máximos, porque el conjunto independiente máximo debe incluirse entre todos los conjuntos independientes máximos.
  • En el problema de decisión de conjuntos independientes , la entrada es un gráfico no dirigido y un número k , y la salida es un valor booleano : verdadero si el gráfico contiene un conjunto independiente de tamaño k , y falso en caso contrario.

Los tres primeros de estos problemas son todos importantes en aplicaciones prácticas; el problema de decisión de conjuntos independientes no lo es, pero es necesario para aplicar la teoría de NP-completitud a problemas relacionados con conjuntos independientes.

Máximos conjuntos independientes y máximos camarillas

El problema del conjunto independiente y el problema de la camarilla son complementarios: una camarilla en G es un conjunto independiente en el gráfico de complemento de G y viceversa. Por lo tanto, muchos resultados computacionales pueden aplicarse igualmente bien a cualquier problema. Por ejemplo, los resultados relacionados con el problema de la camarilla tienen los siguientes corolarios:

  • El problema de decisión de conjuntos independientes es NP-completo y, por lo tanto, no se cree que exista un algoritmo eficiente para resolverlo.
  • El problema del conjunto independiente máximo es NP-hard y también es difícil de aproximar .

A pesar de la estrecha relación entre grupos máximos y conjuntos máximos independientes en gráficos arbitrarios, los problemas de grupos independientes y grupos pueden ser muy diferentes cuando se restringen a clases especiales de gráficos. Por ejemplo, para gráficos dispersos (gráficos en los que el número de aristas es como máximo una constante multiplicado por el número de vértices en cualquier subgrafo), la camarilla máxima tiene un tamaño limitado y se puede encontrar exactamente en tiempo lineal; sin embargo, para las mismas clases de gráficos, o incluso para la clase más restringida de gráficos de grados acotados, encontrar el conjunto independiente máximo es MAXSNP-completo , lo que implica que, para alguna constante c (dependiendo del grado) es NP-difícil de encontrar encuentre una solución aproximada que esté dentro de un factor de c del óptimo.

Encontrar conjuntos máximos independientes

Algoritmos exactos

El problema del conjunto independiente máximo es NP-hard. Sin embargo, se puede resolver de manera más eficiente que el tiempo O ( n 2  2 n ) que daría un algoritmo de fuerza bruta ingenuo que examina cada subconjunto de vértices y verifica si es un conjunto independiente.

A partir de 2017 se puede resolver en el tiempo O (1.1996 n ) utilizando el espacio polinomial. Cuando se restringe a gráficos con grado máximo 3, se puede resolver en el tiempo O (1.0836 n ).

Para muchas clases de gráficos, se puede encontrar un conjunto independiente del peso máximo en tiempo polinomial. Ejemplos famosos son gráficos sin garra , P 5 gráficos -free y gráficos perfectos . Para los gráficos de cuerdas , se puede encontrar un conjunto independiente del peso máximo en tiempo lineal.

La descomposición modular es una buena herramienta para resolver el problema del conjunto independiente del peso máximo; el algoritmo de tiempo lineal en cographs es el ejemplo básico de eso. Otra herramienta importante son los separadores de camarillas como los describe Tarjan.

El teorema de Kőnig implica que en un gráfico bipartito, el conjunto independiente máximo se puede encontrar en el tiempo polinomial utilizando un algoritmo de coincidencia bipartito.

Algoritmos de aproximación

En general, el problema del conjunto independiente máximo no se puede aproximar a un factor constante en el tiempo polinomial (a menos que P = NP). De hecho, Max Independent Set en general es Poly-APX-complete , lo que significa que es tan difícil como cualquier problema que se pueda aproximar a un factor polinomial. Sin embargo, existen algoritmos de aproximación eficientes para clases restringidas de gráficos.

En gráficos planos , el conjunto independiente máximo puede aproximarse dentro de cualquier relación de aproximación c  <1 en tiempo polinomial; Existen esquemas similares de aproximación polinomial-temporal en cualquier familia de gráficos cerrados para menores .

En los gráficos de grados acotados, se conocen algoritmos de aproximación efectivos con relaciones de aproximación que son constantes para un valor fijo del grado máximo; por ejemplo, un algoritmo codicioso que forma un conjunto independiente máximo eligiendo, en cada paso, el vértice de grado mínimo en el gráfico y eliminando sus vecinos, logra una relación de aproximación de (Δ + 2) / 3 en gráficos con grado máximo Δ. Los límites de dureza aproximados para tales casos se probaron en Berman y Karpinski (1999) . De hecho, incluso el conjunto independiente máximo en gráficos coloreables de 3 bordes regulares es APX completo .

Conjuntos independientes en gráficos de intersección de intervalos

Un gráfico de intervalo es un gráfico en el que los nodos son intervalos unidimensionales (por ejemplo, intervalos de tiempo) y hay un borde entre dos intervalos si y solo si se cruzan. Un conjunto independiente en un gráfico de intervalo es solo un conjunto de intervalos que no se superponen. El problema de encontrar conjuntos máximos independientes en gráficos de intervalo se ha estudiado, por ejemplo, en el contexto de la programación de trabajos : dado un conjunto de trabajos que deben ejecutarse en una computadora, encuentre un conjunto máximo de trabajos que se puedan ejecutar sin interferir juntos. Este problema se puede resolver exactamente en tiempo polinomial utilizando la primera programación de la fecha límite más temprana .

Conjuntos independientes en gráficas de intersección geométrica

Un gráfico de intersección geométrica es un gráfico en el que los nodos son formas geométricas y hay un borde entre dos formas si y solo si se cruzan. Un conjunto independiente en un gráfico de intersección geométrica es solo un conjunto de formas disjuntas (no superpuestas). El problema de encontrar conjuntos máximos independientes en gráficos de intersección geométrica se ha estudiado, por ejemplo, en el contexto de la colocación automática de etiquetas : dado un conjunto de ubicaciones en un mapa, encuentre un conjunto máximo de etiquetas rectangulares disjuntas cerca de estas ubicaciones.

Encontrar un conjunto máximo independiente en gráficas de intersección sigue siendo NP-completo, pero es más fácil de aproximar que el problema general de conjunto máximo independiente. Se puede encontrar una encuesta reciente en la introducción de Chan & Har-Peled (2012) .

Encontrar conjuntos independientes máximos

El problema de encontrar un conjunto independiente máximo se puede resolver en tiempo polinomial mediante un algoritmo codicioso trivial . Todos los conjuntos independientes máximos se pueden encontrar en el tiempo O (3 n / 3 ) = O (1.4423 n ).

Software para buscar el máximo conjunto independiente

Nombre Licencia Lenguaje API Breve información
igraph GPL C, Python, R, Ruby solución exacta. "La implementación actual fue trasladada a igraph de la biblioteca de gráficos Very Nauty por Keith Briggs y utiliza el algoritmo del artículo S. Tsukiyama, M. Ide, H. Ariyoshi e I. Shirawaka. Un nuevo algoritmo para generar todos los conjuntos independientes máximos . SIAM J Computing, 6: 505-517, 1977 ".
LightGraphs MIT Julia solución exacta. Consulte la documentación para obtener más detalles.
NetworkX BSD Pitón solución aproximada, consulte la rutina maximum_independent_set
mal Abierto Rust (binarios) solución aproximada mediante muestreo aleatorio del espacio máximo de conjuntos independientes, consulte la página web para obtener más detalles

Aplicaciones

El conjunto máximo independiente y su problema dual, el mínimo de cobertura de vértices , está involucrado en probar la complejidad computacional de muchos problemas teóricos. También sirven como modelos útiles para problemas de optimización del mundo real, por ejemplo, el conjunto mínimo independiente es un modelo útil para descubrir componentes genéticos estables para diseñar sistemas genéticos modificados genéticamente .

Ver también

  • Un conjunto independiente de aristas es un conjunto de aristas de las cuales no hay dos que tengan un vértice en común. Por lo general, se llama coincidencia .
  • Una coloración de vértices es una partición del conjunto de vértices en conjuntos independientes.

Notas

Referencias

enlaces externos