1/54
Minimal Dominating Sets in Graphs:
Enumeration, Combinatorial Bounds and
Graph Classes
J.-F. Couturier1
D. Kratsch1
P. Heggernes2
P. van t’ Hof2
1
LITA
Université de Lorraine
F-57045 Metz
France
2
University of Bergen
N-5020 Bergen
Norway
Journées Combinatoires Rhônes-Alpes Auvergne
Clermont-Ferrand, 1-2 fevrier, 2012
Contents
Exact Exponential Algorithms
Input-Sensitive Enumeration
Known Algorithms and Combinatorial Bounds
Dominating Set
Graph Classes
Chordal Graphs
Cographs
Chain Graphs
Cobipartite Graphs
Open Questions
2/54
3/54
I. Solving computationally hard problems
exactly
How to attack NP-hard problems
Various techniques have been developed to attack NP-hard
problems :
4/54
I
approximation algorithms
I
heuristics
I
parameterized algorithms
I
randomized algorithms
I
restricted inputs
I
exact exponential algorithms
Exact exponential-time algorithms
5/54
I
dates back to the early nineteen sixties
I
Davis, Putnam (1960) and Bellmann ; Held, Karp (1962)
I
tries to cope with NP-completeness in a strong sense
I
solves problem exactly
I
worst-case analysis of running time (and space)
Why Study Exponential Algorithms ?
6/54
I
leads to a better understanding of NP-hard problems
I
initiates interesting new combinatorial and algorithmic
challenges
I
Alan Perlis (first Turing Award winner) : “for every
polynomial-time algorithm you have, there is an exponential
algorithm that I would rather run”.
7/54
II. Why study input-sensitive enumeration
algorithms ?
Types of problems
General
I
decision
I
optimization
I
counting
I
enumeration
Example
8/54
I
decision problem : Has the graph G a dominating set ?
I
optimization problem : Find the minimum size of a
dominating set of G .
I
counting problem : Count the number of dominating sets of G
of size k.
I
enumeration problem : List all minimal dominating sets of G .
An input-sensitive algorithm solving an enumeration
problem ...
9/54
I
can be used to solve appropriate decision, optimization and
counting versions of the problem
I
can be used to solve other NP-hard problems
I
provides an upper bound for the maximum number of
enumerated objects
What is the maximum number of vertex sets satisfying a
given property in an n-vertex graph ?
Upper bounds ...
I
are crucial for the analysis of the worst-case running time of
exact algorithms
I
allow to use enumeration algorithms as subroutines
I
may lead to matching lower and upper bounds (up to a
polynomial factor)
I
are of interest in their own in Combinatorics
Examples
10/54
I
What is the maximum number of maximal independent sets in
an n-vertex graph ?
I
What is the maximum number of minimal dominating sets in
an n-vertex graph ?
11/54
III. Highlights
Maximal Independent Sets
Moon,Moser 1965
12/54
I
The maximum number of maximal independent sets in any
graph on n vertices is 3n/3 .
I
Original proof by induction
I
Easy to transform into a branching algorithm enumerating all
maximal independent sets of a graph in time O ∗ (3n/3 )
I
Polynomial-delay algorithm (Tsukiyama, Ide, Ariyoshi,
Shirakawa, 1977)
Application in Coloring Algorithms
13/54
I
based on dynamic programming over set of all maximal
independent sets
I
O(2.4422n ) time optimal coloring algorithm (Lawler 1976)
I
improved upper bound on the maximum number of maximal
independent sets of small size
I
O(2.4150n ) time algorithm to compute an optimal coloring of
a graph (Eppstein 2003)
Minimal Feedback Vertex Sets
Fomin,Gaspers,Pyatkin,Razgon, 2008
14/54
I
The maximum number of minimal feedback vertex sets in any
graph on n vertices is at most 1.8638n .
I
Proof based on a branching algorithm to enumerate all
minimal feedback vertex sets of running time O(1.8638n ).
I
Lower Bound : There exists an infinite family of graphs all
having 105n/10 ≈ 1.5926n minimal feedback vertex sets.
I
Polynomial-delay algorithm (Schwikowski, Speckenmeyer,
2002)
Minimal Separators and Potential Maximal Cliques
Fomin,Villanger, ICALP 2008 and STACS 2010
I
There is an algorithm to enumerate all potential maximal
cliques of a graph in time O(1.734601n ).
I
The maximum number of potential maximal cliques in any
graph on n vertices is at most O(1.734601n ).
I
Every n-vertex graph has at most O(1.6181n ) minimal
separators.
I
Lower Bound : There exists an infinite family of graphs all
having 3n/3 ≈ 1.4422n minimal separators and 3n/3 ≈ 1.4422n
maximal potential cliques.
Application in Treewidth Algorithms
I
15/54
O(1.7549n ) algorithm to exactly compute the treewidth of a
graph. (Fomin,Villanger, ICALP 2008)
16/54
IV. Dominating Set
Fundamental notions
dominating set
A vertex set S ⊆ V is a dominating set of G if every vertex of G
either belongs to S or has a neighbour in S. Every vertex v of a
dominating set dominates the vertices in N[v ].
minimal dominating set (mds)
A dominating set S is a minimal dominating set (mds) if no proper
subset of S is a dominating set.
private neighbour
17/54
I
If S is a mds, then for every vertex v ∈ S, there is a vertex
x ∈ N[v ] which is dominated only by v .
I
Such a vertex x is a private neighbor of v , since x is not
adjacent to any vertex in S \ {v }.
I
A vertex in S is its own private neighbor if it is an isolate in
G [S].
Number of minimal dominating sets
We denote by µ(G ) the number of mds of G .
Lemma
Let G be a graph
Qt with connected components G1 , G2 , . . . , Gt .
Then µ(G ) = i=1 µ(Gi ).
18/54
Enumerating minimal dominating sets
Fomin,Grandoni,Pyatkin,Stepanov, 2008
19/54
I
The maximum number of minimal dominating sets in any
graph on n vertices is at most 1.7159n .
I
Proof based on a branching algorithm to enumerate all
minimal dominating sets of running time O(1.7159n ).
I
Lower Bound : There exists an infinite family of graphs all
having 15n/6 ≈ 1.5704n minimal dominating sets.
I
No algorithm of output-polynomial running time known
I
No polynomial delay algorithm known
20/54
V. Graph Classes
Our Goals
21/54
I
We provide upper and lower bounds for the maximum number
of minimal dominating sets
I
in chordal, cographs, chain, cobipartite graphs ...
I
Typically we have either matching upper and lower bounds,
using combinatorial arguments
I
or asymptotic bounds proved by using branching algorithms.
I
We obtain algorithms to enumerate all minimal dominating
sets for graphs in each of our graph classes.
Summary of Upper and Lower Bounds
22/54
Graph Class
general [FGPS08]
chordal
cobipartite
split
proper interval
cograph∗
trivially perfect∗
threshold∗
chain∗
Lower Bound
1.5704n
1.4422n
1.3195n
1.4422n
1.4422n
1.5704n
1.4422n
ω(G )
bn/2c + m
Upper Bound
1.7159n
1.6181n
1.5875n
1.4656n
1.4656n
1.5705n
1.4423n
ω(G )
bn/2c + m
Some Lower Bounds
Cographs
⇒
µ(t3K2 ) = 15t
I
µ(3K2 ) = 15
I
There exists an infinite family of cographs all having
15n/6 ≈ 1.5704n minimal dominating sets.
Chordal Graphs
23/54
⇒
µ(tK3 ) = 3t
I
µ(K3 ) = 3
I
There exists an infinite family of chordal graphs all having
3n/3 ≈ 1.4422n minimal dominating sets.
I
Disjoint union of triangles also proper interval, trivially
perfect, cograph, permutation graph, ...
Output-Sensitive Enumeration
Kanté, Limouzy, Mary, Nourine, FCT 2011
24/54
I
Study of the output-sensitive complexity of enumerating all
minimal dominating sets in graph classes
I
Polynomial-delay algorithm for split graphs
I
Further classes with polynomial delay algorithm
Branching Algorithms
I
25/54
Branching algorithms
recursively applied to instances of the problem using
Branching rules and Reduction rules.
I
Branching rules : solving the problem by recursively solving
smaller instances
I
Reduction rules :
- simplify the instance
- (typically) reduce the size of the instance
Search Trees
26/54
I
Search Tree :
used to illustrate and analyse an execution of a Branching
algorithm
I
nodes : assigns to each node a solved problem instance
I
root : assigns the input to the root
I
child : each instance (of a subproblem) reached by a branching
rule is assigned to a child of the node (of the original instance)
A search tree
27/54
V1
Select
Discard
V2
S
V4
D
S
V3
S
V5
D
S
D
D
Analysis of the Running Time
To obtain an upper bound on the maximum number of nodes of
the search tree (for an input of size n) :
1. Define a Measure for a problem instance.
2. Lower bound the progress made by the algorithm at each
branching step.
3. Compute the collection of linear recurrences and branching
vectors by considering all branching rules.
4. Solve all those recurrences by the computation of the
branching number (to obtain an upper bound of the form
O(αin )) for each one.
5. Take the worst case over all solutions : maximum branching
number α.
Then the maximum number of leaves in any search tree is O(αn ).
28/54
29/54
V.1. Chordal Graphs
Enumeration via Branching
30/54
Main Features
I
branching algorithm generates vertex subsets at the leaves of
the corresponding search tree
I
every minimal dominating set is assigned to a leaf of the
search tree
I
ALLOWED : multiple occurences of mds as well as vertex sets
not being mds
I
(at termination simply check each leaf whether its vertex set
is indeed a mds)
Thus an upper bound on the maximum number of leaves in the
search tree for input graph G is also an upper bound for µ(G ), i.e.,
the number of mds of G .
Setting of our Algorithm and its Analysis
Invariants
I
INSTANCE of a recursiv call : (G 0 , D) where G 0 is an induced
subgraph of the input graph G , and D is a subset of
V (G ) \ V (G 0 ).
I
D chosen for mds, i.e., D subset of any vertex set of a leaf in
the subtree rooted at (G 0 , D)
I
D dominates all vertices of V (G ) \ V (G 0 ) ; thus any vertex of
G 0 when added to D must have a private neighbour in G 0 .
Features
31/54
I
Choice of vertex to branch based on structural properties
I
Measure of an instance (G 0 , D) is defined by assigning a
weight of 0 or 1 to each vertex and by then taking the sum of
the weights over V
Structural Properties of Chordal Graphs
Definitions
I
A graph G is chordal if every cycle of length at least 4 has a
chord.
I
A vertex x of G is simplicial if its neighbourhood N(x) is a
clique.
Properties
32/54
I
Every chordal graph has a simplicial vertex.
I
If x is a simplicial vertex of G then for all y ∈ N(x),
N[x] ⊆ N[y ].
Branching 0
(G 0 , D) : Choose simplicial vertex x of G 0 to branch on.
33/54
I
Vertices of G 0 are dominated or not, and forbidden or not.
I
Reduction rule : x isolated.
I
There are 3 different branching rules.
Branching 1
Case 1 : x is already dominated.
I
x ∈ D. Since x is simplicial and needs a private neighbour in
N(x), we can delete x and all its neighbours.
I
x∈
/ D. Since it is already dominated, it is safe to delete x.
Branching vector (2, 1)
34/54
Branching 2
Case 2 : x is not already dominated and |N(x)| ≥ 2
Let y be a neigbour of x.
I
y ∈ D. Since x is simplicial, all neighbours of x are dominated
by y . We delete x and y .
I
y∈
/ D. Since y ∈ N(x), any vertex we select later to dominate
x will also dominate y . Thus we can delete y .
Branching vector (2, 1)
35/54
Branching 3
Case 3 : x is not already dominated and |N(x)| = 1.
Let y be the neighbour of x.
I
x ∈ D. Since y is the private neighbour of x, we can delete x
and y .
I
x∈
/ D. The only way to dominate x is to take y into D.
Hence y ∈ D and we can delete x and y .
Branching vector (2, 2)
36/54
Analysis
Running Time
I
Branching vectors : (2, 1), (2, 1), (2, 2)
I
τ (2, 1) ≈ 1.6181, τ (2, 2) ≈ 1.4142
I
Algorithm to enumerate all mds of a chordal graph runs in
time O(1.6181n ).
Bounds
37/54
I
The maximum number of minimal dominating sets in a
chordal graph on n vertices is at most O(1.6181n ).
I
Lower bound : 1.4422n
38/54
V.2. Cographs
Structural Properties of Cographs
Definitions
I
The disjoint union of G1 and G2 is the graph
G1 ] G2 = (V1 ∪ V2 , E1 ∪ E2 ).
I
The join of G1 and G2 is the graph
G1 o
n G2 = (V1 ∪ V2 , E1 ∪ E2 ∪ {v1 v2 | v1 ∈ V1 , v2 ∈ V2 }).
I
A graph G is a cograph if it can be constructed from isolated
vertices by the operations disjoint union and join.
Properties
39/54
I
Every cograph can be represented by its cotree.
I
A graph is a cograph iff it has no P4 as induced subgraph.
Proof by induction
Theorem
n
Every cograph has at most 15 6 minimal dominating sets.
Proof by induction.
It is easy to enumerate all the cographs with n ≤ 6 vertices and to
n
verify that each has at most 15 6 minimal dominating sets.
Assume the theorem is true for all cographs with less than n
vertices. Let G be a cograph with n vertices.
40/54
Proof by induction
Theorem
n
Every cograph has at most 15 6 minimal dominating sets.
Proof by induction.
It is easy to enumerate all the cographs with n ≤ 6 vertices and to
n
verify that each has at most 15 6 minimal dominating sets.
Assume the theorem is true for all cographs with less than n
vertices. Let G be a cograph with n vertices.
40/54
Decomposition
Decomposition
I
I
Since every cograph G can be constructed from isolated
vertices by disjoint union and by join operation ...
Cograph G can be decomposed into graphs G1 with n1
vertices and G2 with n2 vertices such that :
1. either G is a disjoint union of G1 and G2 and there is no edge
between G1 and G2 .
2. or G is a join of G1 and G2 and all edges with one endpoint in
G1 and one in G2 are present.
I
41/54
Clearly n = n1 + n2 .
G = G1 ] G2
42/54
I
µ(G ) = µ(G1 ) · µ(G2 )
I
By induction hypothesis µ(G ) ≤ 15 6 · 15 6 = 15 6
n1
n2
n
G = G1 o
n G2
Since x1 x2 ∈ E (G ) for all x1 ∈ V (G1 ) and for all x2 ∈ V (G2 ), there
are three types of minimal dominating sets of G :
43/54
I
minimal dominating set D1 of G1 ,
I
minimal dominating set D2 of G2 ,
I
{x1 , x2 }, for all x1 ∈ V (G1 ) and for all x2 ∈ V (G2 )
I
Consequently µ(G ) = µ(G1 ) + µ(G2 ) + n1 · n2 .
I
By induction
hypothesis
and since n ≥ 7,
n2
n1
n
µ(G ) ≤ 15 6 + 15 6 + n1 · n2 ≤ 15 6 .
Upper Bound Matches Lower Bound
The maximum number of minimal dominating sets in a cograph on
n = 6t vertices is 15n/6 .
44/54
45/54
V.3. Chain Graphs
Structural Properties of Chain Graphs
Definitions
I
A bipartite graph G = (A, B, E ) is a chain graph if there is an
ordering σA = ha1 , a2 , . . . , ak i of the vertices of A such that
N(a1 ) ⊆ N(a2 ) ⊆ · · · ⊆ N(ak ), as well as an ordering
σB = hb1 , b2 , . . . , b` i of the vertices of B such that
N(b1 ) ⊇ N(b2 ) ⊇ · · · ⊇ N(b` ).
I
σA and σB together chain ordering of G
Properties
46/54
I
In a disconnected chain graph at most one component
contains edges.
I
All isolated vertices belong to every minimal dominating set.
(and every maximal independent set).
I
W.l.o.g. chain graph G connected.
A chain graph with n/2 + 1 maximal independent sets
47/54
a1
a2
a3
a4
a5
b1
b2
b3
b4
b5
The exact value of the maximum number of mis
Maximum number of mis
A chain graph has at most bn/2c + 1 maximal independent sets,
and there are chain graphs that have bn/2c + 1 maximal
independent sets.
Lower Bound
48/54
I
For every even n ≥ 2, let Gn be the chain graph obtained from
two independent sets A = {a1 , . . . , an/2 } and
B = {b1 , . . . , bn/2 } by making ai adjacent to every vertex in
{b1 , . . . , bi }, for i = 1, . . . , n/2.
I
For every even n ≥ 2, the graph Gn contains exactly bn/2c + 1
maximal independent sets.
Structure of minimal dominating sets
At most one edge in mds
For every minimal dominating set S of a chain graph G , the graph
G [S] contains at most one edge.
Exactly one mds containing edge ab
49/54
I
Let ab be an edge of a chain graph G = (A, B, E ) with a ∈ A
and b ∈ B.
I
If a or b has degree 1, then there is no minimal dominating
set in G containing both a and b.
I
If both a and b have degree at least 2, then there is exactly
one minimal dominating set in G containing both a and b.
The exact value of the maximum number of mis
Maximum number of minimal dominating sets
A chain graph on at least 2 vertices has at most bn/2c + m
minimal dominating sets, and there are chain graphs with
bn/2c + m minimal dominating sets.
Lower Bound
50/54
I
Take graph Gn from lower bound for mis, n even.
I
σA = ha1 , . . . , ak i and σB = hb1 , . . . , b` i chain ordering of Gn
I
Let Gn0 be the graph obtained from Gn by adding the edge
ak−1 b` .
I
The graph Gn0 contains exactly bn/2c + m mds : one for each
of the bn/2c maximal independent sets, and one for each edge
of Gn0 , apart from the edge a1 b1 .
51/54
V.4. Cobipartite Graphs
Definition
I
A graph G = (V , E ) is cobipartite if its vertex set can be
partitioned into two cliques X and Y .
Lower Bound
I
For n = 5k, two disjoint cliques X and Y , where |X | = k and
|Y | = 4k.
I
Make every vertex in X adjacent to exactly four vertices in Y ,
such that every vertex in Y is adjacent to exactly one vertex
in X .
I
The graph has 4n/5 ≈ 1.3195n mds being subsets of Y .
Upper Bound
A cobipartite graph on n vertices has at most O(1.5875n ) minimal
dominating sets.
52/54
Upper Bound
I
|X | = αn with 0.5 ≤ α ≤ 1, and |Y | = (1 − α)n
I
polynomial number of mds D with |D| = 1, or |D ∩ X | = 1
and |D ∩ Y | = 1
I
number of mds S ⊆ Y is 2|Y | ≤ 2n/2
How many mds D ⊆ X ? Let |D| = βn, where β ≤ α and
2 ≤ βn ≤ |X |.
I
1. every vertex of D ⊆ X has a private neighbour which must be
from Y ...
2. implies β ≤ 1 − α
3. number of subsets of X of size βn is αn
βn
αn
4. for fixed α maximizes with β = α/2 : α/2
n
5. to optimally choose α : β = α/2 ≤ 1 − α implies α ≤ 2/3.
6. Hence number of mds D, with |D| ≥ 2 and D ⊆ X , is at most
2n/3
, which is less than or equal to 22n/3
n/3
53/54
VII. Open Questions
54/54
I
Conjecture : maximum number of mds in a general graph is
15n/6 .
I
Conjecture : maximum number of mds in interval and split
graphs is 3n/3 .
I
Bipartite graphs : known lower bound 6n/4 ≈ 1.5650n , disjoint
union of C4 .
Find an upper bound better than 1.7159n .
I
Find an output-polynomial algorithm to enumerate all mds of
chordal graphs.
I
Find an output-polynomial algorithm to enumerate all mds of
graphs in general.
© Copyright 2026 Paperzz