In questo articolo di Wikipedia sul problema della cricca nella teoria dei grafi si afferma all'inizio che il problema di trovare una cricca di dimensione K, in un grafico G è NP-completo:
Le cricche sono state anche studiate in informatica: scoprire se esiste una cricca di una determinata dimensione in un grafico (il problema della cricca) è NP-completo, ma nonostante questo risultato di durezza sono stati studiati molti algoritmi per la ricerca di cricche.
Ma in questo altro articolo di Wikipedia sul problema della Clique in CS si dice che sta risolvendo il problema per una dimensione fissa k è un problema in P, può essere forzato brutalmente in tempo polinomiale.
Un algoritmo di forza bruta per verificare se un grafico G contiene una cricca k-vertice e per trovare una tale cricca che contiene, è esaminare ogni sottografo con almeno k vertici e verificare se forma una cricca. Questo algoritmo richiede tempo O (n ^ kk ^ 2): ci sono sottografi O (n ^ k) da controllare, ognuno dei quali ha bordi O (k ^ 2) la cui presenza in G deve essere verificata. Pertanto, il problema può essere risolto in tempi polinomiali ogni volta che k è una costante fissa. Quando k fa parte dell'input al problema, tuttavia, il tempo è esponenziale.
C'è qualcosa che mi manca qui? Forse una differenza nella formulazione del problema? E cosa significa l'ultima frase, che "Quando k fa parte dell'input al problema, tuttavia, il tempo è esponenziale"? Perché c'è una differenza quando k fa parte dell'input al problema?
La mia idea è che per trovare una cricca di dimensione k in un grafico G, è che per prima cosa scegliamo un sottoinsieme di dimensioni k di nodi da G, e testiamo se sono tutti correlati agli altri nodi k, che possono essere fatti in costante tempo. E ripeti fino a quando non avremo una cricca di dimensione k. Il numero di insiemi di k nodi che possiamo scegliere da G è n! / k! * (nk) !.