Finding Hidden Cliques in Linear Time with High Probability Yael Dekel The Hebrew University Ori Gurel-‐Gurevich University of BriBsh Columbia Yuval Peres MicrosoE Research
Preliminaries • A clique in a graph is a complete subgraph • Finding the size of the maximum clique in a graph is NP-‐complete • Assuming P≠NP, it is also hard to approximate • Can we do beNer in the average case?
Preliminaries • In every edge is chosen independently with probability ½ • Maximum clique: size whp • Greedy alg. Finds -‐clique whp • No known poly. Bme alg. for -‐cliques • Can we detect larger planted cliques?
Background • The hidden clique model : – Take – Randomly choose verBces – Add missing edges to form a -‐clique
• Jerrum (’92) and Kučera (‘95) suggested this model and posed this quesBon: For which values of k can the clique be efficiently found?
Previous results • For the clique verBces are whp the highest degree verBces (Kučera ‘95) • For there are several known polynomial Bme algorithms based on spectral methods, SDP, Lovász ϑ-‐funcBon, removal of low degree verBces • For there are no known polynomial Bme algorithms
Algorithms for . • First polynomial Bme algorithm, by Alon, Krivelevich and Sudakov (’98) – Spectral algorithm – The k largest components of the second eigenvector correspond whp to the clique verBces – Running Bme bounded by running Bme of compuBng eigenvectors of a matrix – Error probability
Algorithms for . • Feige and Ron (’10) – IteraBvely remove the vertex of lowest degree and recalculate the degrees, unBl we are leE with a clique – Running Bme – Error probability (depending on ) – Open quesBon: can the analysis be improved to show error probability ?
Our algorithm Input: a graph distributed as
Output: The verBces of the hidden clique Error probability:
st 1 phase: pruning the graph
st 1 phase: pruning the graph
• Pick a random subset of verBces containing every vertex with probability ¼
st 1 phase: pruning the graph
• Pick a random subset of verBces containing every vertex with probability ¼ • For each vertex in calculate number of neighbors in 5
5 3
5 2
4
2
3
4
2
4 6 4
5 4
5 7
st 1 phase: pruning the graph
• Pick a random subset of verBces containing every vertex with probability ¼ • For each vertex in calculate number of neighbors in • VerBces whose number of neighbors is above average ( ) conBnue to next iteraBon 5
5 3
5 2
4
2
3
4
2
Size of next iteraBon: Non-‐clique verBces: half survive Clique verBces: is one standard deviaBon below the mean
4 6 4
5 4
5 7
AEer iteraBons, we are ready to conBnue to the next phase…
nd 2 phase: finding a sub-‐clique
The graph has verBces and clique verBces, where
nd 2 phase: finding a sub-‐clique • Calculate the degrees of the verBces
7
9 7 6 7 8 5 4
3 5
6 6
The graph has verBces and clique verBces, where
nd 2 phase: finding a sub-‐clique • Calculate the degrees of the verBces • Pick the highest degree verBces
7
9 7 6 7 8 5 4
3 5
6 6
The graph has verBces and clique verBces, where Whp the degrees of the clique verBces are the highest degrees in the graph
3rd phase: compleBng the sub-‐clique • We are leE with a subset of the hidden clique, denote it
3rd phase: compleBng the sub-‐clique • We are leE with a subset of the hidden clique, denote it • Add the common neighbors
3rd phase: compleBng the sub-‐clique • We are leE with a subset of the hidden clique, denote it • Add the common neighbors , calculate the degrees 8
8 8
7 8 8 7
8
6
Whp there is only a logarithmic number of non-‐clique verBces, and their degrees are much smaller than the clique verBces’ degrees
3rd phase: compleBng the sub-‐clique • We are leE with a subset of the hidden clique, denote it • Add the common neighbors , calculate the degrees • Pick the largest degree verBces and return them as the hidden clique 8
8 8
7 8 8 7
8
6
Whp there is only a logarithmic number of non-‐clique verBces, and their degrees are much smaller than the clique verBces’ degrees
Bounding the failure probability • Failure in phase 1: in some iteraBon, # of surviving verBces (clique or non-‐clique) far from its mean • Failure in phase 2: high-‐degree non-‐clique verBces or low-‐degree clique verBces • Failure in phase 3: – Non-‐clique vertex with too many clique neighbors – too many non-‐clique verBces common neighbors of
• Failure probabiliBes bounded using Hoeffding and Berry-‐Esseen inequaliBes
Improving the constant • Use algorithm A that finds hidden cliques of size to find smaller cliques • Alon, Krivelevich and Sudakov (‘98) suggest: • Pick a random vertex , run A on • If is a hidden clique vertex, new graph has verBces and clique verBces • Can find cliques of size
Improving the constant • In expectaBon, iteraBons to pick a hidden clique vertex, so running Bme is mulBplied by • By mulBplying running Bme by we find hidden cliques of size • Open quesBon: what size clique can be found by increasing running Bme by a factor of ?
Thank you