Dado un gráfico, decida si su conectividad de borde es al menos n / 2 o no

13

El Capítulo 1 del libro El Método Probabilístico, de Alon y Spencer, menciona el siguiente problema:

Dado un gráfico G , decida si su conectividad de borde es al menos n/2 o no.

El autor menciona la existencia de un O(n3) algoritmo por Matula y mejora a O(n8/3logn) .

Mi pregunta es, ¿cuál es el tiempo de ejecución más conocido para este problema?

Permítanme describir el algoritmo mejorado.

Primero, decida si G tiene su grado mínimo al menos n/2 o no. Si no, entonces la conectividad de borde es claramente menor que n/2 .

A continuación, si ese no es el caso, calcule un conjunto dominante U de G de tamaño O(logn) . Esto se puede hacer en el tiempo O(n2) , mediante un algoritmo descrito en la sección anterior del libro.

A continuación, utiliza el siguiente hecho no muy difícil de probar:

Si el grado mínimo es δ , entonces para cualquier corte de tamaño de borde como máximo δ que divida V en V1 y V2 , cualquier conjunto dominante de G debe tener sus vértices en V1 y V2 .

Ahora considere el conjunto dominante . Desde G tiene grado mínimo n / 2 , cualquier corte de borde de tamaño inferior a n / 2 también debe separar U . Por lo tanto, para cada i { 2 , k } , encontramos el tamaño del corte de borde más pequeño que separa u 1 y u i . Cada una de estas cosas se pueden hacer en el tiempo O ( n 8 / 3U={u1,,uk}Gn/2n/2Ui{2,k}u1ui utilizando un algoritmo de flujo máximo. Así, el tiempo total necesario es O ( n 8 / 3 log n ) .O(n8/3)O(n8/3logn)

Vinayak Pathak
fuente
Por cierto, una mejora en el algoritmo de flujo máximo también conducirá a una mejora aquí. Pero supongo es el mejor algoritmo de flujo máximo conocido actualmente? O(n8/3)
Vinayak Pathak
Tal vez estoy malinterpretando algo, pero ¿el algoritmo de mincut aleatorio de Karger-Stein no tiene tiempo de ejecución ? O~(n2)
Sasho Nikolov
2
¿Es el tiempo de ejecución esperado? El algoritmo que he descrito es completamente determinista. O(n2)
Vinayak Pathak
3
El algoritmo es Monte Carlo: siempre se completa en el tiempo y genera el corte mínimo con alta probabilidad. La probabilidad de falla depende inversamente del tiempo de ejecución, por supuesto. Lo siento, dado que su cita es Alon-Spencer, simplemente asumí que el algoritmo es aleatorio :)O~(n2)
Sasho Nikolov
Si está buscando un algoritmo determinista, creo que debería especificarlo en la pregunta. No conozco un algoritmo determinista mejor que para corte mínimo (vea Stoer-Wagner para un algoritmo fácil que logra este tiempo de ejecución). Es interesante cuánto mejor podemos hacer determinísticamente para el problema que especifique (8/3 en el exponente parece poco natural para un mejor límite, pero quién sabe). O(mn+n2logn)
Sasho Nikolov

Respuestas:

12

Puede verificar esto fácilmente en tiempo lineal, ya que un gráfico tiene conectividad de borde al menos si y solo si su grado mínimo es al menos n / 2 . Usted ya abogó por la parte "solo si". Considere ahora un gráfico donde cada vértice tiene un grado de al menos n / 2 y un corte que divide el gráfico en dos conjuntos de vértices X y ˉ X con x : = | X | n / 2 . Un vértice en X puede tener como máximo x - 1 conexiones a otros vértices enn/2n/2n/2XX¯x:=|X|n/2Xx1 , y por lo tanto debe contribuir al menos n / 2 - ( x - 1 ) bordes al corte. Por lo tanto, el corte debe tener un tamaño de al menos x ( n / 2 - x + 1 ) . Queda por demostrar que x ( n / 2 - x + 1 ) n / 2 , lo cual es cierto ya que ( x - 1 ) ( n / 2 - x ) Xn/2(x1)x(n/2x+1)x(n/2x+1)n/2 .(x1)(n/2x)0

Curiosamente, la única referencia que encuentro a este resultado es esta de una conferencia de la bioinformática. Sería realmente curioso ver si se ha probado en otro lugar.

Editar: Una referencia anterior es: Gary Chartrand: un enfoque teórico gráfico para un problema de comunicación , SIAM J. Appl. Matemáticas. 14-4 (1966), págs. 778-781.

Falk Hüffner
fuente