stringtranslate.com

Cubierta de vértice

Gráfico de ejemplo que tiene una cobertura de vértices que comprende 2 vértices (abajo), pero ninguno con menos.

En teoría de grafos , una cobertura de vértices (a veces cobertura de nodos ) de un gráfico es un conjunto de vértices que incluye al menos un punto final de cada borde del gráfico.

En informática , el problema de encontrar una cobertura mínima de vértices es un problema de optimización clásico . Es NP-difícil , por lo que no puede resolverse mediante un algoritmo de tiempo polinomial si P ≠ NP . Además, es difícil de aproximar : no se puede aproximar hasta un factor menor que 2 si la conjetura del juego único es cierta. Por otro lado, tiene varias aproximaciones simples de 2 factores. Es un ejemplo típico de un problema de optimización NP-hard que tiene un algoritmo de aproximación . Su versión de decisión , el problema de cobertura de vértices , fue uno de los 21 problemas NP-completos de Karp y, por lo tanto, es un problema NP-completo clásico en la teoría de la complejidad computacional . Además, el problema de la cobertura de vértices es manejable con parámetros fijos y es un problema central en la teoría de la complejidad parametrizada .

El problema de cobertura mínima de vértices se puede formular como un programa lineal semiintegral cuyo programa lineal dual es el problema de máxima coincidencia .

Los problemas de cobertura de vértices se han generalizado a los hipergráficos , consulte Cobertura de vértices en hipergráficos .

Definición

Ejemplos de cubiertas de vértices
Ejemplos de coberturas mínimas de vértices

Formalmente, una cobertura de vértices de un gráfico no dirigido es un subconjunto de tal que , es decir, es un conjunto de vértices donde cada arista tiene al menos un punto final en la cobertura de vértices . Se dice que un conjunto de este tipo cubre los bordes de . La figura superior muestra dos ejemplos de coberturas de vértices, con algunas coberturas de vértices marcadas en rojo.

Una cobertura de vértice mínima es una cobertura de vértice del tamaño más pequeño posible. El número de cobertura de vértice es el tamaño de una cobertura de vértice mínima, es decir . La figura inferior muestra ejemplos de coberturas mínimas de vértices en los gráficos anteriores.

Ejemplos

Propiedades

problema computacional

El problema de cobertura mínima de vértice es el problema de optimización de encontrar la cobertura de vértice más pequeña en un gráfico determinado.

INSTANCIA: Gráfico
SALIDA: Número más pequeño que tiene una cobertura de vértice de tamaño .

Si el problema se plantea como un problema de decisión , se denomina problema de cobertura de vértices :

INSTANCIA: Gráfica y entero positivo .
PREGUNTA: ¿ Tiene una cobertura de vértice de tamaño como máximo ?

El problema de la cobertura de vértices es un problema NP-completo : fue uno de los 21 problemas NP-completos de Karp . A menudo se utiliza en la teoría de la complejidad computacional como punto de partida para las pruebas de dureza NP .

formulación ILP

Supongamos que cada vértice tiene un costo asociado de . El problema de cobertura de vértice mínimo (ponderado) se puede formular como el siguiente programa lineal entero (ILP). [2]

Este ILP pertenece a la clase más general de ILP para cubrir problemas . La brecha de integralidad de este ILP es , por lo que su relajación (permitiendo que cada variable esté en el intervalo de 0 a 1, en lugar de requerir que las variables sean solo 0 o 1) da un algoritmo de aproximación factorial para el problema de cobertura mínima de vértices. Además, la relajación de programación lineal de ese ILP es semiintegral , es decir, existe una solución óptima para la cual cada entrada es 0, 1/2 o 1. Se puede obtener una cobertura de 2 vértices aproximados a partir de esta solución fraccionaria. seleccionando el subconjunto de vértices cuyas variables son distintas de cero.

Evaluación exacta

La variante de decisión del problema de cobertura de vértices es NP-completa , lo que significa que es poco probable que exista un algoritmo eficiente para resolverlo exactamente para gráficos arbitrarios. La completitud NP se puede demostrar mediante la reducción de la satisfacibilidad 3 o, como hizo Karp, mediante la reducción del problema de la camarilla . La cobertura de vértices sigue siendo NP completa incluso en gráficos cúbicos [3] e incluso en gráficos planos de grado 3 como máximo. [4]

Para gráficos bipartitos , la equivalencia entre cobertura de vértice y coincidencia máxima descrita por el teorema de Kőnig permite resolver el problema de cobertura de vértice bipartito en tiempo polinomial .

Para los gráficos de árbol , un algoritmo encuentra una cobertura de vértice mínima en tiempo polinómico al encontrar la primera hoja del árbol y agregar su padre a la cobertura de vértice mínima, luego eliminar la hoja y el padre y todos los bordes asociados y continuar repetidamente hasta que no queden bordes en el árbol.

Tratabilidad de parámetros fijos

Un algoritmo de búsqueda exhaustivo puede resolver el problema en el tiempo 2 k n O (1) , donde k es el tamaño de la cobertura del vértice. Por lo tanto, la cobertura de vértices es manejable con parámetros fijos , y si solo estamos interesados ​​en k pequeño , podemos resolver el problema en tiempo polinomial . Una técnica algorítmica que funciona aquí se llama algoritmo de árbol de búsqueda acotado , y su idea es elegir repetidamente algún vértice y ramificar recursivamente, con dos casos en cada paso: colocar el vértice actual o todos sus vecinos en la cubierta de vértices. El algoritmo para resolver la cobertura de vértices que logra la mejor dependencia asintótica del parámetro se ejecuta en el tiempo . [5] El valor klam de este límite de tiempo (una estimación del valor de parámetro más grande que podría resolverse en un período de tiempo razonable) es aproximadamente 190. Es decir, a menos que se puedan encontrar mejoras algorítmicas adicionales, este algoritmo es adecuado sólo para instancias cuyo número de cobertura de vértices es 190 o menos. Bajo supuestos razonables de la teoría de la complejidad, es decir, la hipótesis del tiempo exponencial , el tiempo de ejecución no se puede mejorar a 2 o ( k ) , incluso cuando es .

Sin embargo, para gráficos planos , y más generalmente, para gráficos que excluyen algún gráfico fijo como menor, se puede encontrar en el tiempo una cobertura de vértice de tamaño k , es decir, el problema es manejable subexponencial de parámetros fijos . [6] Este algoritmo es nuevamente óptimo, en el sentido de que, bajo la hipótesis del tiempo exponencial , ningún algoritmo puede resolver la cobertura de vértices en gráficos planos en el tiempo . [7]

Evaluación aproximada

Se puede encontrar una aproximación de factor 2 tomando repetidamente ambos puntos finales de un borde en la cubierta del vértice y luego eliminándolos del gráfico. Dicho de otra manera, encontramos una coincidencia máxima M con un algoritmo codicioso y construimos una cubierta de vértice C que consta de todos los puntos finales de los bordes en M. En la siguiente figura, una coincidencia máxima M está marcada en rojo y la cubierta de vértice C está marcada en azul.

El conjunto C construido de esta manera es una cobertura de vértice: supongamos que una arista e no está cubierta por C ; entonces M  ∪ { e } es una coincidencia y e  ∉  M , lo cual es una contradicción con el supuesto de que M es máximo. Además, si e  = { uv } ∈ M , entonces cualquier cobertura de vértice, incluida una cobertura de vértice óptima, debe contener u o v (o ambos); de lo contrario, el borde e no queda cubierto. Es decir, una cobertura óptima contiene al menos un punto final de cada arista en M ; en total, el conjunto C es como máximo 2 veces más grande que la cobertura de vértice óptima.

Este sencillo algoritmo fue descubierto de forma independiente por Fanica Gavril y Mihalis Yannakakis . [8]

Técnicas más complicadas muestran que existen algoritmos de aproximación con un factor de aproximación ligeramente mejor. Por ejemplo, se conoce un algoritmo de aproximación con un factor de aproximación de . [9] El problema se puede aproximar con un factor de aproximación en gráficos densos. [10]

Inaccesibilidad

No se conoce ningún algoritmo de aproximación de factor constante mejor que el anterior. El problema de cobertura mínima de vértice es APX-completo , es decir, no se puede aproximar arbitrariamente bien a menos que P  =  NP . Utilizando técnicas del teorema PCP , Dinur y Safra demostraron en 2005 que la cobertura mínima de vértice no puede aproximarse dentro de un factor de 1,3606 para ningún grado de vértice suficientemente grande a menos que P  =  NP . [11] Posteriormente, el factor se mejoró a para cualquier . [12] Además, si la conjetura de los juegos únicos es cierta, entonces la cobertura mínima de vértices no puede aproximarse dentro de ningún factor constante mejor que 2. [13]

Aunque encontrar la cobertura de vértice de tamaño mínimo es equivalente a encontrar el conjunto independiente de tamaño máximo, como se describió anteriormente, los dos problemas no son equivalentes en una forma de preservación de la aproximación: El problema del conjunto independiente no tiene aproximación de factor constante a menos que P  =  NP .

Pseudocódigo

APROXIMACIÓN - VÉRTEX - CUBIERTA ( G ) C = E ' = G . mi   mientras que E ' : sea ( u , v ) una arista arbitraria de E ' C = C { u , v } elimine de E ' cada arista incidente en u o v                             regresar C 

[14] [15]

Aplicaciones

La optimización de la cobertura de vértices sirve como modelo para muchos problemas teóricos y del mundo real . Por ejemplo, un establecimiento comercial interesado en instalar la menor cantidad posible de cámaras de circuito cerrado que cubran todos los pasillos (bordes) que conectan todas las habitaciones (nodos) en un piso podría modelar el objetivo como un problema de minimización de la cobertura de vértices. El problema también se ha utilizado para modelar la eliminación de secuencias de ADN repetitivas para aplicaciones de biología sintética e ingeniería metabólica . [16] [17]

Ver también

Notas

  1. ^ Gallai 1959.
  2. ^ Vazirani 2003, págs. 121-122
  3. ^ Garey, Johnson y Stockmeyer 1974
  4. ^ Garey y Johnson 1977; Garey y Johnson 1979, págs. 190 y 195.
  5. ^ Chen, Kanj y Xia 2006
  6. ^ Demaine y col. 2005
  7. ^ Flum y Grohe (2006, pág.437)
  8. ^ Papadimitriou y Steiglitz 1998, pág. 432, menciona tanto a Gavril como a Yannakakis. Garey y Johnson 1979, pág. 134, cita a Gavril.
  9. ^ Karakosta 2009
  10. ^ Karpinski y Zelikovsky 1998
  11. ^ Dinur y Safra 2005
  12. ^ Khot, Minzer y Safra 2017; Dinur et al. 2018; Khot, Minzer y Safra 2018
  13. ^ Khot y Regev 2008
  14. ^ Cormen, Thomas H .; Leiserson, Charles E .; Rivest, Ronald L .; Stein, Clifford (2001) [1990]. "Sección 35.1: El problema de la cobertura de vértices". Introducción a los algoritmos (2ª ed.). MIT Press y McGraw-Hill. págs. 1024-1027. ISBN 0-262-03293-7.
  15. ^ Chakrabarti, Amit (invierno de 2005). "Algoritmos de aproximación: cobertura de vértices" (PDF) . Ciencias de la Computación 105 . Universidad de Dartmouth . Consultado el 21 de febrero de 2005 .
  16. ^ Hossain, Ayaan; López, Eriberto; Halper, Sean M.; Cetnar, Daniel P.; Reis, Alejandro C.; Strickland, Devin; Klavins, Eric; Salis, Howard M. (13 de julio de 2020). "Diseño automatizado de miles de piezas no repetitivas para la ingeniería de sistemas genéticos estables". Biotecnología de la Naturaleza . 38 (12): 1466-1475. doi :10.1038/s41587-020-0584-2. ISSN  1087-0156. PMID  32661437. S2CID  220506228.
  17. ^ Reis, Alejandro C.; Halper, Sean M.; Vézeau, Grace E.; Cetnar, Daniel P.; Hossain, Ayaan; Clauer, Phillip R.; Salis, Howard M. (noviembre de 2019). "Represión simultánea de múltiples genes bacterianos utilizando matrices de sgRNA extralargas no repetitivas". Biotecnología de la Naturaleza . 37 (11): 1294-1301. doi :10.1038/s41587-019-0286-9. ISSN  1546-1696. OSTI  1569832. PMID  31591552. S2CID  203852115.

Referencias

enlaces externos