In computational complexity theory, a planted clique or hidden clique in an undirected graph is a clique formed from another graph by selecting a subset of vertices and adding edges between each pair of vertices in the subset. The planted clique problem is the algorithmic problem of distinguishing random graphs from graphs that have a planted clique. This is a variation of the clique problem; it may be solved in quasi-polynomial time but is conjectured not to be solvable in polynomial time for intermediate values of the clique size. The conjecture that no polynomial time solution exists is called the planted clique conjecture; it has been used as a computational hardness assumption.
A clique in a graph is a subset of vertices, all of which are adjacent to each other. A planted clique is a clique created from another graph by adding edges between all pairs of a selected subset of vertices.
The planted clique problem can be formalized as a decision problem over a random distribution on graphs, parameterized by two numbers, (the number of vertices), and (the size of the clique).These parameters may be used to generate a graph, by the following random process:[1]
The problem is then to determine algorithmically whether one of the graphs resulting from this process contains a clique of at least vertices.
There exists a function
f(n)\sim2log2n
f(n)
f(n)+1
c
\geqf(n)-c
\sim2log2n
By the central limit theorem, the vertex degrees of the random graph would be distributed close to a standard normal distribution with mean
n2 | |
\sqrt{n} | |
2 |
k
\sqrtn
2log2n\llk\ll\sqrtn.
For sufficiently large values of the parameter, the planted clique problem can be solved (with high probability) in polynomial time.[1]
observes that, when
k=\Omega(\sqrt{nlogn})
k>10\sqrtn
They show how to modify this technique so that it continues to work whenever is at least proportional to some multiple of the square root of the number of vertices. Large planted cliques can also be found using semidefinite programming.[3] A combinatorial technique based on randomly sampling vertices can achieve the same bound on and runs in linear time.[4]
It is also possible to solve the planted clique problem, regardless of the choice of, in quasi-polynomial time.[5] Because the largest clique in a random graph typically has size near,[6] a planted clique of size (if it exists) can be found with high probability by the following method:
min(k,3log2n)
|S|=k
|T|\gek
There are two versions of the planted clique conjecture: one based on finding the clique (search) and one based on determining if a clique exists (decision). The search conjecture states that no polynomial time algorithm can find (with high probability) a hidden clique of size
k
n0.5
n
The decision conjecture is more subtle. Suppose we are given two
n
k
\Theta(k2)
1/2+\Theta(k2/n)
1/2+\Theta(k2/n)
used the assumption that finding planted cliques is hard as a computational hardness assumption to prove that, if so, it is also hard to approximate the best Nash equilibrium in a two-player game.[5] The planted clique conjecture has also been used as a hardness assumption to show the difficulty of property testing -independence of random distributions,[8] finding clusters in social networks,[9] and machine learning.[10]