# Planted clique

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.

## Definition

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, n (the number of vertices), and k (the size of the clique). These parameters may be used to generate a graph, by the following random process:[1]

1. Create an Erdős–Rényi random graph on n vertices by choosing independently for each pair of vertices whether to include an edge connecting that pair, with probability 1/2 for each pair.
2. Decide whether or not to add a clique to the graph, with probability 1/2; if not, return the graph formed in step 1.
3. Choose randomly a subset of k of the n vertices and add an edge (if one is not already present) between each pair of the selected vertices.

The problem is then to determine algorithmically whether one of the graphs resulting from this process contains a clique of at least k vertices.

With high probability, the size of the largest clique in an n-vertex random graph is close to 2 log2 n. And when k is larger than the square root of n, the vertices of a planted clique can be recognized as having unusually large degrees, making a planted clique easy to find. Therefore, the most interesting range of values for the parameter k is between these two values,[1]

${\displaystyle 2\log _{2}n\ll k\ll {\sqrt {n}}.}$

## Algorithms

### Large cliques

For sufficiently large values of the parameter k, the planted clique problem can be solved (with high probability) in polynomial time.[1]

Kučera (1995) observes that, when ${\displaystyle k=\Omega ({\sqrt {n\log n}})}$ then almost surely all vertices of the planted clique have higher degree than all vertices outside the clique, making the clique very easy to find. He describes a modification to the random process for generating planted clique instances, that makes the vertex degrees more uniform even for large values of k, but shows that despite this modification the planted clique may still be found quickly.[2]

Alon, Krivelevich & Sudakov (1998) prove for ${\displaystyle k>10{\sqrt {n}}}$ a planted clique can be found with high probability by the following method:

1. Compute the eigenvector of the adjacency matrix corresponding to its second highest eigenvalue.
2. Select the k vertices whose coordinates in this eigenvector have the largest absolute values.
3. Return the set of vertices that are adjacent to at least 3/4 of the selected vertices.

They show how to modify this technique so that it continues to work whenever k is at least proportional to some multiple of the square root of the number of vertices.[3] Large planted cliques can also be found using semidefinite programming.[4] A combinatorial technique based on randomly sampling vertices can achieve the same bound on k and runs in linear time.[5]

### Quasipolynomial time

It is also possible to solve the planted clique problem, regardless of the choice of k, in quasi-polynomial time.[6] Because the largest clique in a random graph typically has size near 2 log2 n,[7] a planted clique of size k (if it exists) can be found with high probability by the following method:

1. Loop through all sets S of ${\displaystyle \min(k,3\log _{2}n)}$ vertices.
2. For each choice of S, test whether S is a clique. If it is, and ${\displaystyle |S|=k}$, return S. Otherwise, find the set T of vertices that are adjacent to all vertices in S. If ${\displaystyle |T|\geq k}$, return T.

The running time of this algorithm is quasipolynomial, because there are quasipolynomially many choices of S to loop over. This method is guaranteed to try a set S that is a subset of the planted clique; with high probability, the set T will consist only of other members of the planted clique.

## As a hardness assumption

The planted clique conjecture is the conjecture that there is no polynomial time algorithm that takes as input graphs produced by the planted clique process and distinguishes the ones with planted cliques from the ones that don't have planted cliques with probability significantly better than random chance.[8]

Hazan & Krauthgamer (2011) 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.[6] The planted clique conjecture has also been used as a hardness assumption to show the difficulty of property testing k-independence of random distributions,[9] finding clusters in social networks,[10] and machine learning.[11]

## References

1. ^ a b c Arora, Sanjeev; Barak, Boaz (2009), Computational Complexity: A Modern Approach, Cambridge University Press, pp. 362–363, ISBN 9780521424264.
2. ^ Kučera, Luděk (1995), "Expected complexity of graph partitioning problems", Discrete Applied Mathematics, 57 (2-3): 193–212, doi:10.1016/0166-218X(94)00103-K, MR 1327775.
3. ^ Alon, Noga; Krivelevich, Michael; Sudakov, Benny (1998), "Finding a large hidden clique in a random graph", Random Structures & Algorithms, 13 (3-4): 457–466, doi:10.1002/(SICI)1098-2418(199810/12)13:3/4<457::AID-RSA14>3.3.CO;2-K, MR 1662795
4. ^ Feige, U.; Krauthgamer, R. (2000), "Finding and certifying a large hidden clique in a semirandom graph", Random Structures and Algorithms, 16 (2): 195–208, doi:10.1002/(SICI)1098-2418(200003)16:2<195::AID-RSA5>3.0.CO;2-A.
5. ^ Dekel, Yael; Gurel-Gurevich, Ori; Peres, Yuval (2014), "Finding hidden cliques in linear time with high probability", Combinatorics, Probability and Computing, 23 (1): 29–49, arXiv:, doi:10.1017/S096354831300045X, MR 3197965.
6. ^ a b Hazan, Elad; Krauthgamer, Robert (2011), "How hard is it to approximate the best Nash equilibrium?", SIAM Journal on Computing, 40 (1): 79–91, CiteSeerX , doi:10.1137/090766991, MR 2765712.
7. ^ Grimmett, G. R.; McDiarmid, C. J. H. (1975), "On colouring random graphs", Mathematical Proceedings of the Cambridge Philosophical Society, 77: 313–324, Bibcode:1975MPCPS..77..313G, doi:10.1017/S0305004100051124, MR 0369129.
8. ^ Braverman, Mark; Ko, Young Kun; Rubinstein, Aviad; Weinstein, Omri (2015), ETH hardness for densest-k-subgraph with perfect completeness, arXiv:, Bibcode:2015arXiv150408352B.
9. ^ Alon, Noga; Andoni, Alexandr; Kaufman, Tali; Matulef, Kevin; Rubinfeld, Ronitt; Xie, Ning (2007), "Testing k-wise and almost k-wise independence", STOC'07—Proceedings of the 39th Annual ACM Symposium on Theory of Computing, New York: ACM, pp. 496–505, doi:10.1145/1250790.1250863, MR 2402475.
10. ^ Balcan, Maria-Florina; Borgs, Christian; Braverman, Mark; Chayes, Jennifer; Teng, Shang-Hua (2013), "Finding Endogenously Formed Communities", Proceedings of the Twenty-Fourth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA '13), SIAM, pp. 767–783, ISBN 978-1-611972-51-1.
11. ^ Berthet, Quentin; Rigollet, Philippe (2013), "Complexity theoretic lower bounds for sparse principal component detection", Conference on Learning Theory, Journal of Machine Learning Research, 30: 1046–1066.