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