Processing math: 100%

3 votos

¿Cuál es un buen algoritmo para encontrar el número de camarilla de un vértice de un grafo?

En esta pregunta, "grafo" significa un grafo simple no orientado, sin bucles y sin etiquetas en las aristas o vértices.

Una camarilla en un gráfico G es un subgrafo completo de G . El número de camarilla ωv(G) de un vértice v de G es el máximo del orden (=número de vértices) de todas las camarillas de G que contiene v .

¿Existe un buen algoritmo que calcule el número de clique de un vector v en un gráfico?

Los grafos que considero están representados por su matriz de adyacencia, pero un algoritmo que funcione con la lista de aristas de un grafo también estaría bien.

Sé que el número de camarilla ω de G es el máximo del orden sobre todas las camarillas en G . Por lo tanto, ωv(G)=ω(N(v)) , donde N(v) es la vecindad de v ( v incluido). Además, el número de camarilla de un gráfico es el número de independencia de su complemento. Pero no estoy seguro de si esta información es útil o no.

2voto

paulinho Puntos 364

Probablemente ya te hayas dado cuenta de que este problema es NP-duro: si pudieras resolver este problema, entonces podrías encontrar el número de camarilla de un grafo G añadiendo simplemente un vértice v a G y conectándolo a todos los vértices previamente existentes de G y, por último, consultar lo que ωv(Gv) es. El número de camarilla de G sería entonces ω(Gv)1 .

Esto da lugar a una bonita heurística (aunque puede seguir siendo muy lenta). En primer lugar, se puede considerar el subgrafo inducido (llamémoslo H ) de G en los vértices vN(v) donde N(v) son los vecinos de v . Entonces se podría encontrar una camarilla máxima C para Hv en O(3|V(H)|/3) tiempo. Dado que todos los vértices de Hv se garantiza la conexión con V se deduce que Cv sería una camarilla máxima en H (y posteriormente) una camarilla máxima en G que contiene v .

Dado que los algoritmos más rápidos de búsqueda de cliques que conocemos se ejecutan en O(3V/3) tiempo, la equivalencia de su problema con el problema de la camarilla máxima sugeriría que el mejor algoritmo conocido para su problema también se ejecuta en O(3V/3) tiempo. De lo contrario, simplemente habríamos encontrado un algoritmo más rápido para resolver el problema de la camarilla máxima, a través de la reducción que he esbozado en el primer párrafo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X