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
    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions