Finding Hidden Cliques in Linear Time with High Probability
Yael Dekel, Ori Gurel-Gurevich, Yuval Peres
Introduction
A clique in a graph is a subset of its vertices any two of which are connected by an edge. The problem of determining the size of the maximum clique in a graph is known to be NP-complete . It has also been proved that assuming P NP, there exists a constant for which it is hard to approximate the size of the maximum clique within a factor of . Therefore, it is natural to investigate the hardness of this problem in the average case.
The Erdös Rényi random graph model, also denoted , is a probability measure on graphs with vertices. In this model, a random graph is generated by choosing each pair of vertices independently with probability to be an edge. It is known that with probability tending to as tends to infinity, the size of the largest clique in is . There exists a polynomial time algorithm (see for example ) that finds a clique of size in with high probability, but even though in expectation contains many cliques of size for any fixed , there is no known polynomial time algorithm that finds one. It is plausible to conjecture that this problem is computationally hard, and this hardness has been used in several cryptographic applications .
Numerical calculations show that is close to . For a mathematical definition of see Definition 2.2. A refinement of the algorithm that works with high probability for all is presented in Sec. 3.1.
Since , there have been many papers describing algorithms that solve various variants of the hidden clique problem. In an algorithm for finding hidden cliques of size based on the Lovász theta function is given, that has two advantages. The first is being able to find the clique also in a semi-random hidden clique model, in which an adversary can remove edges that are not in the clique, and the second is being able to certify the optimality of its solution by providing an upper bound on the size of the maximum clique in the graph.
McSherry gives an algorithm that solves the more general problem of finding a planted partition. In the random graph model described there, we are given a graph where the vertices are randomly partitioned into classes, and between every pair of vertices where one is in class and the other in class there is an edge with probability . With the appropriate parameters, this model can be reduced both to the hidden clique model and to the hidden dense graph model that we describe in Sec. 3.2. For both these cases, the result is a polynomial time algorithm that finds the hidden clique (dense graph) with high probability for .
Several attempts have been made to develop polynomial time algorithms for finding hidden cliques of size , so far with no success. For example, Jerrum described the Metropolis process and proved that it cannot find the clique when . Feige and Krauthgamer explain why the algorithm described in fails when . Frieze and Kannan give an algorithm to find a hidden clique of size , however, the algorithm maximizes a certain cubic form, and there are no known polynomial time algorithms for maximizing cubic forms. In Sec. 2.1.3 we give an algorithm that finds the hidden clique when we are given a small part of it by an oracle or an adversary. We prove, that for any , knowing only vertices of the hidden clique enables us to find the rest of them with high probability. For smaller ’s, is not enough, but is.
There are many problems in different fields of computer science that are related to the hidden clique problem. Among others, there are connections to cryptography, testing and game theory. For connections to cryptography, see for example where an encryption scheme based on hiding an independent set in a graph is described or where the function whose input is a graph and a set of vertices and whose output is with a clique on is proposed as a one way function for certain values of . For connections to testing, see where Alon et al. prove that if there is no polynomial time algorithm to find hidden cliques of size then there is no polynomial time algorithm that can test -wise independence of a distribution even when given a polynomial number of samples from it, for . For connections to game theory, see , where Hazan and Krauthgamer prove that if there is a polynomial time algorithm that finds a Nash equilibrium of a two player game whose social-welfare is close to the maximum, then there is a randomized polynomial time algorithm that finds the hidden clique for . The hidden clique model is also related to the planted-SAT model and some models in computational biology .
Proof of Thm. 1.1
Throughout the paper we use the following notations.
Given a graph , for every and we denote by the number of neighbors has in . Formally,
All logarithms in the paper are base .
We use the shorthand “whp()” to mean: “with probability at least ”.
Given and , we define
Follows directly from Thm. A.3, by setting for the bound on and for the bound on . ∎
Assume that the events and both occur. By Lemma 2.5 this happens with high probability. We can now apply Cor. A.4 twice.
For the vertices in , the result follows directly from Cor. A.4 by setting . For , having is equivalent to having
So setting in Cor. A.4, gives that
In order to get a success probability that tends to , we need to bound the sum of the probabilities of failing in each iteration by . We refer the reader to Sec. 2.2 for a detailed analysis of the failure probability of the algorithm.
1.2 Proving the correctness of the second phase of the algorithm
We start by bounding the probability that a hidden clique of size contains the largest degree vertices in the graph.
Define . Then by Thm. A.3
1.3 Proving the correctness of the third phase of the algorithm
In order to prove that is the hidden clique with high probability, we prove a more general Lemma. We prove that if an adversary reveals a subset of the clique that is not too small, we can use it to find the whole clique.
and for some , or
and .
Consider an arbitrary subset of of size . The probability that its vertices have at least non-clique common neighbors can be bounded by . Taking union bound over all subsets of size of gives that the probability that there exists a subset with at least non-clique common neighbors is bounded by
If then letting gives l_{0}=2\big{(}\log n+\log n\log k+\log k\big{)}. Clearly, . To see that , denote where . Then \log n\log k=\log n\big{(}\log\log n+\log\big{(}f(n)\big{)}\big{)}. Clearly, , and from the definition of we also have .
If , then letting for some small is enough, since then . ∎
2 Bounding the failure probability
For any choice of and , denote
Refinements
The subset of that we use in this variation is the set of all vertices that have , for some . Since these degrees are not independent we cannot use the same concentration results we used before, so we first prove the following concentration result.
Let G\in G\big{(}n,\tfrac{1}{2}\big{)} and . Define a random variable
Then for every it holds that
For every define a random variable
Thus, we need to calculate the concentration of and . Both are edge exposure martingales with Lipschitz constant . Therefore, by Azuma’s inequality (see, for example ) we get:
Choosing and concludes the proof. ∎
2 Finding hidden dense graphs in G(n,p)𝐺𝑛𝑝G(n,p)
Define the random graph model for . Given a set of vertices, randomly choose a subset of vertices. For every pair of vertices , the edge between them exists with probability if at least one of the two vertices is in , and with probability if they are both in . The model discussed in the previous sections is equivalent to G\big{(}n,\tfrac{1}{2},c\sqrt{n},1\big{)}.
To prove Thm. 3.4, as in the hidden clique case, we first prove the correctness of each of the phases of the algorithm, and then bound the failure probability. To prove the correctness of the first phase, we prove Lemmas B.1 and B.2, which are analogous to Lemmas 2.4 and 2.6. To prove the correctness of the second phase, we prove Lemma B.3 and Cor. B.4, which are analogous to Lemma 2.7 and Cor. 2.8. To prove the correctness of the third phase we prove Lemma B.5. The failure probability follows as in Lemma 2.10 by noticing that substituting for in the definition of gives the exact definition of .
Discussion
Our results bring up some interesting questions for future research. For example, one of the advantages of the algorithm presented here is a failure probability that is less than polynomially small in the size of the input. Experimental results shown in suggest that the failure probability of the algorithm described there may also be . Whether the analysis can be improved to prove this rigorously is an interesting open question. One can also ask whether the analysis in can be improved to show failure probability that is less than polynomially small.
Aside from the most interesting open question of whether there exists an algorithm that finds hidden cliques for , one can ask about ways to find hidden cliques of size as gets smaller. In , Alon, Krivelevich and Sudakov give a way to improve the constant for which their algorithm works, at the expense of increasing the running time. This technique can be used for any algorithm that finds hidden cliques, so we describe it here. Pick a random vertex , and run the algorithm only on the subgraph containing and its neighborhood. is a clique vertex, then the parameters of the algorithm have improved, since instead of having a graph with vertices and a hidden clique of size we now have a graph with vertices and a hidden clique of size . The expected number of trials we need to do until we pick a clique vertex is . This means that if we have an algorithm that finds a hidden clique of size , where , we can also find a hidden clique for , while increasing the running time by a factor of . If we wish to improve the constant even further, we can pick random vertices and run the algorithm on the subgraph containing them and their common neighborhood. This gives an algorithm that works for constants smaller by up to a factor of than the original constant, at the expense of increasing the running time of the algorithm by a factor of .
We have described a sequence of algorithms whose running times increase by factors of . It is not known whether the constant can be decreased if we can only increase the running time by a factor smaller than .
Given an algorithm that runs in time and finds hidden cliques of size for any , is there an algorithm that runs in time , where , and finds hidden cliques of size where ? How small can be as a function of ?
References
Appendix A Concentration inequalities
Throughout the paper, we use the central limit theorem for binomial random variables, and its rate of convergence that was independently discovered by Berry in 1941 and by Esseen in 1942 . For details, see, for example [9, §Sec. 3.4.4].
Let where the ’s are independent Bernoulli random variables. Then for every
Then for every and it holds that
where the last inequality holds because \tfrac{n_{1}}{\sqrt{n_{2}}}\leq O\big{(}\sqrt{n_{1}}\big{)}=o(n_{1}^{1-\varepsilon}). ∎
Appendix B The G(n,p,k,q)𝐺𝑛𝑝𝑘𝑞G(n,p,k,q) case
The proof is identical to the proof of Lemma 2.4. ∎
Follows from Cor. A.4 the same way as in the proof of Lemma 2.6. ∎
Let where . Denote the hidden dense graph by and the set of largest degree vertices by . Then
Define . Then by Thm. A.3
and s\geq\big{(}\tfrac{2}{(q-p)^{2}}+\varepsilon\big{)}\ln n for some , or
and .