ArticleslgStudy

computer science

Planted clique

Planted clique is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Planted clique rather than just read about it. In short: 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.

Planted clique — main illustration
Planted clique — illustration

Key takeaways

  • Planted clique belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Planted clique to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Planted clique from memory before moving on to harder problems.

Reference excerpt

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:

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. Decide whether or not to add a clique to the graph, with probability 1/2; if not, return the graph formed in step 1. 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.

Upper and lower bounds There exists a function f ( n ) ∼ 2 log 2 ⁡ n {\displaystyle f(n)\sim 2\log _{2}n} such that asymptotically almost surely, the size of the largest clique in an n-vertex random graph is either f ( n ) {\displaystyle f(n)} or f ( n ) + 1 {\displaystyle f(n)+1} , and there exists some constant c {\displaystyle c} such that the expected number of cliques of size ≥ f ( n ) − c {\displaystyle \geq f(n)-c} converges to infinity. Consequently, one should expect that the planting a clique of size ∼ 2 log 2 ⁡ n {\displaystyle \sim 2\log _{2}n} cannot be detected with high probability. By the central limit theorem, the vertex degrees of the random graph would be distributed close to a standard normal distribution with mean n 2 {\displaystyle {\frac {n}{2}}} and standard deviation n 2 {\displaystyle {\frac {\sqrt {n}}{2}}} . Consequently, when k {\displaystyle k} is on the order of n {\displaystyle {\sqrt {n}}} it would create a detectable change in the shape of the distribution. Namely, if you plot out the vertex degree distribution, it would look like a deformed bell curve. Therefore, the most interesting range of values for the parameter k is between these two values,

2 log 2 ⁡ n ≪ k ≪ n . {\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. Kučera (1995) observes that, when k = Ω ( n log ⁡ n ) {\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. Alon, Krivelevich & Sudakov (1998) prove for k > 10 n {\displaystyle k>10{\sqrt {n}}} a planted clique can be found with high probability by the following method:

Compute the eigenvector of the adjacency matrix corresponding to its second highest eigenvalue. Select the k vertices whose coordinates in this eigenvector have the largest absolute values. 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. Large planted cliques can also be found using semidefinite programming. A combinatorial technique based on randomly sampling vertices can achieve the same bound on k and runs in linear time.

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

… excerpt ends here. Continue reading the full article.

Illustrations

Planted clique: A 15-vertex planted clique (blue vertices and upper edges) in a 32-vertex random graph (all vertices and lower edges). Every pair of blue vertices is adjacent; the remaining pairs are adjacent randomly with probability 1/2.
A 15-vertex planted clique (blue vertices and upper edges) in a 32-vertex random graph (all vertices and lower edges). Every pair of blue vertices is adjacent; the remaining pairs are adjacent randomly with probability 1/2.

Worked examples

Example 1 — a first encounter with Planted clique

Start with the simplest possible case. Write down what Planted clique claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Planted clique before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Planted clique ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Planted clique

In research
Planted clique appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Planted clique in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Planted clique is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computational hardness assumptions, Computational problems in graph theory, Quasi-polynomial time algorithms, so understanding it makes those chapters shorter.
In everyday life
Look for Planted clique outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Planted clique in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Planted clique means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Planted clique out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Planted clique in simple terms?

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…

Why does Planted clique matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Planted clique?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Planted clique.

Tags

  • Computational hardness assumptions
  • Computational problems in graph theory
  • Quasi-polynomial time algorithms
  • Random graphs

Keep exploring