Skip to content

[Model] KClique #714

@isPANN

Description

@isPANN

Motivation

CLIQUE (GT19) from Garey & Johnson, one of Karp's 21 NP-complete problems (1972). The decision version asks whether a graph contains a clique of size at least k. This is the satisfaction counterpart to MaximumClique (which optimizes clique weight). A dedicated KClique model is needed because several reductions from and to CLIQUE are inherently decision-to-decision mappings that depend on the clique size parameter k — these cannot be expressed as ReduceTo implementations on the optimization MaximumClique.

Blocked rule issues: #229 (3SAT → KClique), #231 (KClique → BalancedCompleteBipartiteSubgraph), #201 (Clique → SubgraphIsomorphism), #206 (Clique → MinimumTardinessSequencing).

Definition

Name: KClique
Reference: Garey & Johnson, Computers and Intractability, A1.2 GT19; Karp (1972)

INSTANCE: Graph G = (V, E), positive integer k ≤ |V|.
QUESTION: Does G contain a clique of size k or more, i.e., a subset V' ⊆ V with |V'| ≥ k such that every two vertices in V' are joined by an edge in E?

Variables

  • Count: n = |V| (one variable per vertex)
  • Per-variable domain: binary {0, 1} — whether the vertex is in the clique
  • Dims: [2; n] — n binary variables, one per vertex
  • Meaning: x_v = 1 if vertex v is selected for the clique. The configuration is satisfying if {v : x_v = 1} is a clique (all pairs adjacent) and |{v : x_v = 1}| ≥ k.

Schema (data type)

Type name: KClique
Variants: graph topology (graph type parameter G)

Field Type Description
graph G The input graph G = (V, E)
k usize Minimum clique size threshold

Size fields: num_vertices = |V|, num_edges = |E|, k = clique size threshold.

Complexity

  • Best known exact algorithm: O*(1.1996^n) — Xiao & Nagamochi (2017), "Exact Algorithms for Maximum Independent Set," Information and Computation 255:126–146. The algorithm solves maximum independent set; clique is equivalent via complement graph.
  • Special cases: Polynomial for chordal graphs (Gavril, 1972), comparability graphs, and graphs with bounded degree.

Extra Remark

  • Canonical name: Clique (also: k-Clique, Decision Clique)
  • NP-complete (Karp, 1972; transformation from 3-SAT via vertex cover).

Reduction Rule Crossref

How to solve

  • It can be solved by (existing) brute force. (Enumerate all 2^n vertex subsets, check if each forms a clique of size ≥ k.)
  • It can be solved by reducing to ILP.
  • Other: solve MaximumClique on the same graph and compare the result to k.

Example Instance

Graph G with 5 vertices {0, 1, 2, 3, 4} and 6 edges:

  • Edges: {0,1}, {0,2}, {1,3}, {2,3}, {2,4}, {3,4}
  • k = 3

(Same graph as the MaximumClique canonical example.)

Expected Outcome

Satisfying solution: config = [0, 0, 1, 1, 1] — selects vertices {2, 3, 4}.

  • Pairwise adjacency: {2,3} ✓, {2,4} ✓, {3,4} ✓ — all edges exist.
  • Size: 3 ≥ k = 3 ✓.
  • This is the unique satisfying configuration (no other subset of size ≥ 3 forms a clique).

BibTeX

@article{XiaoNagamochi2017,
  author    = {Mingyu Xiao and Hiroshi Nagamochi},
  title     = {Exact Algorithms for Maximum Independent Set},
  journal   = {Information and Computation},
  volume    = {255},
  pages     = {126--146},
  year      = {2017},
  doi       = {10.1016/j.ic.2017.06.001}
}

@inproceedings{Karp1972,
  author    = {Richard M. Karp},
  title     = {Reducibility among Combinatorial Problems},
  booktitle = {Complexity of Computer Computations},
  pages     = {85--103},
  year      = {1972},
  publisher = {Plenum Press},
  doi       = {10.1007/978-1-4684-2001-2_9}
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    GoodAn issue passed all checks.modelA model problem to be implemented.

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions