Uma clique de 3 pode ser encontrada em um gráfico -vertex no tempo , onde é o expoente de multiplicação da matriz e no espaço por um resultado de Itai e Rodeh. Basicamente, eles mostram que contém um triângulo se e somente se tiver uma entrada diferente de zero em sua diagonal principal. Como um triângulo também é um ciclo , pode-se usar métodos gerais de descoberta de ciclos para detectar triângulos. Alon, Yuster e Zwick mostram como os triângulos podem ser detectados em um gráfico de borda no tempo [6].G O ( n ω ) ω < 2,376 O ( n 2 ) G ( A ( G ) ) 3 C 3 m O ( m 2 ω / ( ω + 1 ) ) = O ( m 1,41 )nGO ( nω)ω < 2,337O ( n2)G( A ( G ) )3C3mO ( m2 ω / ( ω + 1 )) = O ( m1,41)
Durante muito tempo, o resultado de Nesetril e Poljak [2] foi o mais conhecido; eles mostraram que o número de cliques de tamanho pode ser encontrado no tempo O ( n ω k ) e O ( n 2 k ) no espaço. Finalmente, Eisenbrand e Grandoni [3] melhoraram o resultado de Nesetril e Poljak para uma ( 3 k + 1 ) -clique e uma ( 3 k + 2 ) -clique para pequenos valores de k . Especificamente, eles forneceram algoritmos para encontrar grupos de tamanhos 4, 5 e 7 no tempo O3 kO ( nω k)O ( n2 k)( 3 k + 1 )( 3 k + 2 )k , O ( n 4.220 ) e O ( n 5.714 ) , respectivamente.O ( n3,334)O ( n4.220)O ( n5.714)
Até onde eu sei, para o geral , o problema de projetar algoritmos melhores está aberto. Para possíveis consequências ou considerações teóricas da complexidade, Downey e Fellows (ver, por exemplo, [4]) mostraram k -clique com o parâmetro k é W [ 1 ] -hard. A classe W [ 1 ] indica a classe de problemas de decisão parametrizados redutíveis a CLIQUE com reduções parametrizadas. Acredita-se que o CLIQUE não é um parâmetro fixo tratável. Sabe-se que existem centenas de outros problemas equivalentes ao CLIQUE em reduções parametrizadas. Além disso, Feige e Kilian [5, Seção 2] têm um resultado dizendo que quando kkkkW[ 1 ]W[ 1 ]kfaz parte da entrada e , é improvável que exista um algoritmo polytime.k ≈ logn
Se você considerar algumas classes de gráfico restritas, poderá resolver o problema em tempo linear nos gráficos de acordes. Simplesmente calcule uma árvore de clique de um gráfico acorde em O ( n + m ) e verifique se qualquer clique é do tamanho exatamente k . Nos gráficos planares, também é possível encontrar triângulos em O ( n ) tempo usando os métodos de [6].GO ( n + m )kO ( n )
[1] Itai, Alon e Michael Rodeh. "Encontrando um circuito mínimo em um gráfico." SIAM Journal on Computing 7.4 (1978): 413-423.
[2] Nešetřil, Jaroslav e Svatopluk Poljak. "Sobre a complexidade do problema do subgráfico." Comentários Mathematicae Universitatis Carolinae 26.2 (1985): 415-419.
[3] Eisenbrand, Friedrich e Fabrizio Grandoni. "Sobre a complexidade do clique do parâmetro fixo e do conjunto dominante". Teórico Computer Science 326.1 (2004): 57-67.
[4] Downey, RG e Michael R. Fellows. "Fundamentos da complexidade parametrizada." Textos não degradados em Ciência da Computação, Springer-Verlag (2012).
[5] Feige, Uriel e Kilian, Joe. "No não determinismo limitado versus polinomial". Revista de Ciência da Computação Teórica de Chicago. (1997)
[6] Alon, Noga, Raphael Yuster e Uri Zwick. "Encontrar e contar determinados ciclos de duração." Algorithmica 17,3 (1997): 209-223.