Skip to content

[Model] MaximumDomaticNumber #878

@isPANN

Description

@isPANN

Motivation

DOMATIC NUMBER (GT3) from Garey & Johnson, A1.1. The domatic number of a graph is the maximum number of disjoint dominating sets the vertex set can be partitioned into. NP-complete for any fixed K >= 3 (Garey, Johnson, Tarjan 1976b). The domatic number is always >= 1 (the whole vertex set is dominating) and <= δ(G)+1 where δ(G) is the minimum degree. Applications in distributed computing, network reliability, and resource allocation.

Definition

Name: MaximumDomaticNumber
Reference: Garey & Johnson, Computers and Intractability, A1.1 GT3; Garey, Johnson, Tarjan 1976b

Mathematical definition:

INSTANCE: Graph G = (V,E).
OBJECTIVE: Find the maximum k such that V can be partitioned into k disjoint sets V_1, V_2, ..., V_k where each V_i is a dominating set for G (i.e., for every vertex v in V, either v ∈ V_i or v is adjacent to some vertex in V_i).

In other words, find the maximum number of disjoint dominating sets the graph can be partitioned into.

Variables

  • Count: n = |V| (one per vertex)
  • Per-variable domain: {0, 1, ..., n-1}
  • Meaning: The index of the dominating set to which each vertex is assigned. Every part of the partition must satisfy the domination property. The objective is to maximize the number of non-empty parts.

Schema (data type)

Type name: MaximumDomaticNumber
Variants: graph: SimpleGraph

Field Type Description
graph SimpleGraph The input graph G = (V,E)

Complexity

  • Best known exact algorithm: O*(2.695^n) by Riege, Rothe, Spakowski, and Yamamoto (2007, Information Processing Letters 101(3), 101–106) using a polynomial-space algorithm. The general inclusion-exclusion approach of Björklund, Husfeldt, and Koivisto (2009) achieves O*(2^n) but requires exponential space. The problem is NP-complete for any fixed K >= 3 (Garey, Johnson, Tarjan 1976b). For K = 2, the problem is polynomial — a graph has domatic number >= 2 if and only if it has no isolated vertex.

Extra Remark

Full book text:

INSTANCE: Graph G = (V,E), positive integer K <= |V|.
QUESTION: Can V be partitioned into k >= K disjoint sets V_1, V_2, ..., V_k, such that each V_i is a dominating set for G?

Reference: Transformation from 3-SATISFIABILITY [Garey, Johnson, and Tarjan, 1976b].
Comment: NP-complete for any fixed K >= 3. Domatic number is at least 2 if and only if G has no isolated vertex (a necessary condition).

How to solve

  • It can be solved by (existing) bruteforce. (Enumerate all partitions of V; check if all parts are dominating; return the maximum number of parts.)
  • It can be solved by reducing to integer programming. (ILP with binary variables x_{v,i} for vertex-to-set assignment and y_i for set usage; partition, domination, and linking constraints; maximize Σ y_i.) See companion issue [Rule] MaximumDomaticNumber to ILP #963.
  • Other:

Reduction Rule Crossref

Example Instance

Input:
Graph G = (V, E) with V = {v0, v1, v2, v3, v4, v5} (n = 6).
Edges: {(v0,v1), (v0,v2), (v0,v3), (v1,v4), (v2,v5), (v3,v4), (v3,v5), (v4,v5)}.

Vertex degrees: v0: 3, v1: 2, v2: 2, v3: 3, v4: 3, v5: 3. Minimum degree δ = 2, so domatic number ≤ δ+1 = 3.

Optimal partition into 3 dominating sets:

  • V_1 = {v0, v3}: dominates because v1 adj v0 ✓, v2 adj v0 ✓, v4 adj v3 ✓, v5 adj v3 ✓
  • V_2 = {v1, v5}: dominates because v0 adj v1 ✓, v2 adj v5 ✓, v3 adj v5 ✓, v4 adj v5 ✓
  • V_3 = {v2, v4}: dominates because v0 adj v2 ✓, v1 adj v4 ✓, v3 adj v4 ✓, v5 adj v4 ✓

Assignment: config = [0, 1, 2, 0, 2, 1] (vertex → set index).

Why 4 sets is impossible: With 6 vertices and 4 sets, at least two sets would contain only one vertex. A singleton {v} is a dominating set only if v is adjacent to all other vertices. Since no vertex has degree 5 (= n-1), no singleton dominates, so no 4-partition can work.

Expected Outcome

Optimal value: Max(3) — the maximum domatic number of this graph is 3. There are 6 optimal partitions into 3 dominating sets, 26 valid partitions into 2 sets, and the trivial 1-set partition, giving 3 distinct objective values.

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions