Encuentre qué vértices eliminar del gráfico para obtener el componente más grande más pequeño

8

Dado un gráfico , encuentre vértices , cuya eliminación daría como resultado un gráfico con el componente más grande más pequeño. sol=(V,mi)k{v1,...,vk}

Supongo que para grandesy grande el problema es difícil (NP-hard), pero estoy interesado en valores pequeños de ( ).n=|V|kkk{1,2,3,4}

Para , creo que es posible encontrar el mejor vértice para eliminar realizando una sola búsqueda en profundidad de la gráfica (es decir, verificando los puntos de articulación).k=1{v1}

Para , sería posible encontrar los mejores vértices realizando búsquedas de profundidad primero (cada una de ellas para el gráfico ). Se podría aplicar un enfoque similar en el caso .k=2{v1,v2}nGi=G/{vi}k>2

Me pregunto si hay una solución mejor que esa.

(Relacionado: contar el número mínimo de vértices sin enumerarlos necesariamente )

MindaugasK
fuente
Bueno, generaliza la cubierta de vértices que pide vértices modo que tenga un componente más grande de tamaño singleton. S={v1,,vk}GS
Pål GD
Ps., Un algoritmo parametrizado es un algoritmo FPT si se ejecuta en el tiempo para alguna , y un algoritmo es un algoritmo XP si se ejecuta en el tiempo . f(k)nccnf(k)
Pål GD
¿Puedes venir con más información? Estoy bastante interesado en los antecedentes de este problema.
Pål GD
Enfrenté este problema mientras buscaba un subgrafo conectado máximo común de dos gráficos. Revise los comentarios en su respuesta :)
MindaugasK

Respuestas:

9

El problema que está describiendo se conoce como Conectividad de orden de componentes en el campo de las medidas de vulnerabilidad de los gráficos . La versión de decisión del problema es la siguiente:

Conectividad de orden de componentes :

Entrada: Gráfico , enteros yG=(V,E)k

Pregunta: ¿Existe un conjunto de vértices de tamaño como máximo tal que el tamaño del componente más grande de sea ​​como máximo ?XVkGX

El problema es obviamente NP-completo ya que generaliza la cobertura de vértices; el caso cuando es la cubierta del vértice. Por lo tanto, el problema no puede ser un parámetro fijo manejable cuando es parametrizado por (a menos que ). También se sabe que el problema es -hard cuando está parametrizado por . Por lo tanto, tenemos que recurrir a algoritmos con un tiempo de ejecución exponencial en .=1FPT=W[1]W[1]kk+

Pregunta muy interesante Para la entradaG,k,, un enfoque de fuerza bruta sería:

branching(G,k,l):
    Find a connected set of vertices D of G of size l+1
    if no such D exists:
            return True // no component of size > l
    for v in D:
        if branching(G-v,k-1,l):
            return True
    return False

El algoritmo se ejecuta a tiempo. (+1)kn2.

Observe que cualquier instancia de sí G,k, del problema tiene ancho de árbol y, de hecho, ancho de ruta como máximo k+. Esto se puede observar al ver que tomar un conjunto de eliminaciónX de tamaño como máximo k produce un gráfico GX donde cada componente conectado tiene tamaño como máximo . Por lo tanto, una descomposición de ruta válida es simplemente construir una bolsa para cada uno de los componentes enGX y luego agregue todo Xa cada bolsa Se deduce que cualquier instancia de sí tiene|E(G)|n(k+).

Un problema relacionado se ha estudiado en el pasado con el nombre de Integridad de gráficos o Integridad de vértices para distinguir la versión de eliminación de vértices y la versión de eliminación de bordes:

Integridad de vértices :

Entrada: gráficoG=(V,E)entero p

Pregunta: ¿Existe un conjunto de vértices?XV tal que |X|+maxDcc(GX)|D|pags?

Es decir, la suma del conjunto de eliminación y el tamaño del componente máximo deben minimizarse. Este problema también es NP-hard. Ver, por ejemplo,

  • Clark, LH, Entringer, RC, Fellows, MR: Complejidad computacional de integridad. J. Combin. Matemáticas. Combin Comput 2, 179-191 (1987)
  • Fellows, M., Stueckle, S .: El orden de inmersión, los subgrafos prohibidos y la complejidad de la integridad de la red. J. Combin. Matemáticas. Combin Comput 6, 23–32 (1989)
Pål GD
fuente
Bueno, en realidad estoy trabajando con gráficos químicos, que son planos con una probabilidad muy alta.
MindaugasK
Luego puede consultar el teorema del separador plano (Lipton y Tarjan) que dice que puede encontrar equilibrado O(n)separadores
Pål GD
Resolví este problema como sugerí en la pregunta, haciendo |V|+1-profin-primero-búsquedas (una para encontrar puntos de articulación, |V|para encontrar pares de puntos de articulación). El componente máximo de los gráficos químicos (moléculas), que son escasos, a menudo se puede hacer lo suficientemente pequeño eliminando solo 1-2 átomos (vértices) (con raras excepciones). No estaba buscando una solución óptima, solo quería 1, 2 o 3 átomos, cuya eliminación 'cortaría' la molécula en pequeñas piezas, y DFS fue suficiente.
MindaugasK
En realidad, el problema que dije en la pregunta no era exactamente el que quería resolver. Cada vértice también tenía pesos asociados con él. Por lo tanto, quería elegir vértices, que no solo dan como resultado un componente pequeño más grande, sino que la suma de peso también es pequeña.
MindaugasK
Esto en sí mismo era un subproblema de otro problema: encontrar la subestructura conectada común máxima de 2 moléculas dadas (encontrar la subgrafía inducida conectada común máxima de 2 gráficos). Después de mapear un solo átomo de una molécula con todos los mapeos posibles de otra, puede eliminar ese átomo de la consideración, y es bueno si 'corta' la molécula. Tal vez debería decir esto como otra pregunta.
MindaugasK