El problema de la camarilla pertenece a la clase de problemas NP-completos en el campo de la teoría de grafos . Fue formulado por primera vez en 1972 por Richard Karp . [una]
Una camarilla en un gráfico no dirigido es un subconjunto de vértices, cada uno de los cuales está conectado por un borde del gráfico. En otras palabras, es un subgrafo completo del grafo original. El tamaño de la camarilla se define como el número de vértices en ella. El problema de la camarilla existe en dos versiones: en el problema de reconocimiento, se requiere determinar si hay unacamarilla de tamaño k en un grafo G dado , mientras que en una variante computacional, se requiere encontrar unacamarilla de tamaño máximo en una gráfica dada. dada la gráfica G.
El NP-completo del problema de la camarilla se deriva del NP-completo del problema del conjunto de vértices independientes . Es fácil mostrar que una condición necesaria y suficiente para la existencia de una camarilla de tamaño k es la presencia de un conjunto independiente de tamaño al menos k en el complemento del gráfico. Esto es obvio, ya que la completitud de un subgrafo significa que su complemento no contiene aristas.
Otra prueba de la completitud de NP se puede encontrar en Algorithms: Construction and Analysis. [2]
En cuanto a otros problemas NP-completos, aún no se ha encontrado un algoritmo eficiente para encontrar una camarilla de un tamaño dado. Una búsqueda exhaustiva de todos los subgrafos posibles de tamaño k , comprobando si al menos uno de ellos está completo, es ineficiente, ya que el número total de dichos subgrafos en un grafo con v vértices es igual al coeficiente binomial
Otro algoritmo funciona así: dos camarillas de tamaño n y m se "pegan" en una camarilla grande de tamaño n + m , y se supone que un vértice separado del gráfico es una camarilla de tamaño 1 . El algoritmo termina tan pronto como no se pueden realizar más fusiones. El tiempo de ejecución de este algoritmo es lineal, pero es heurístico , ya que no siempre conduce a encontrar una camarilla del tamaño máximo. Un ejemplo de finalización fallida es el caso cuando los vértices pertenecientes a la camarilla máxima están separados y están en camarillas más pequeñas, y esta última ya no se puede “pegar” entre sí.
Se prueba que, bajo la condición de desigualdad de las clases P y NP , no existe un algoritmo de aproximación polinomial con error absoluto igual a arbitrario . Considere un gráfico u - el producto directo de un gráfico y una camarilla de tamaño . Obviamente, el número de clique del gráfico será igual a . Suponga que existe un algoritmo de aproximación con un error absoluto igual a . Luego alimentamos el gráfico como entrada y, bajo la condición, obtenemos . Sean camarillas de grafos de la forma , donde . Tenga en cuenta la validez de la desigualdad y sustitúyala en la desigualdad anterior de la siguiente manera: . Después de la transformación, obtenemos , lo que significa que existe tal que y, por lo tanto, el problema de la camarilla es solucionable en tiempo polinomial, lo que contradice la condición de desigualdad para las clases P y NP.
Problemas NP-completos | |
---|---|
Problema de maximización del apilamiento (packing) |
|
teoría de grafos teoría de conjuntos | |
Problemas algorítmicos | |
Juegos de lógica y rompecabezas. | |