210 likes | 222 Views
Counting the Number of Dominating Sets. With applications in computing the minimum dominating set Johan van Rooij Jesper Nederlof, Thomas van Dijk. Overview. Problem statement: for all 0 ≤ κ ≤ n: count the number of dominating set of cardinality κ . We improve results for:
E N D
Counting the Number of Dominating Sets With applications in computing the minimum dominating set Johan van Rooij Jesper Nederlof, Thomas van Dijk
Overview • Problem statement: for all 0 ≤ κ ≤ n: count the number of dominating set of cardinality κ. • We improve results for: • counting the number of minimum dominating sets. • counting/computing minimum weight dominating sets. • if the possible weight sums are polynomially bounded. • sometimes: computing a minimum dominating set. • On: • arbitrary graphs. • graphs of bounded treewidth (Rossmanith? polynomial?). • NP-hard restricted graph classes.
Counting the Number of Dominating Setson Arbitrary Graphs • Previous best - counting minimum (weight) dominating sets, combining branching and treewidth (pathwidth): [Fomin, Gaspers, Saurabh, Stepanov - 06] • Our Result: • Compare to the fastest algorithm for minimum dominating set: [Van Rooij, Bodlaender - 08]
Modelling Dominating Set • As a set cover: • Element for each vertex. • Set for each vertex. • A set covers an element iff a vertex dominates a vertex. • dimension = #sets + #elements • As a bipartite red-blue dominating set instance: (red vertices can be chosen to dominate blue vertices) • Red partition: sets. • Blue partition: elements. • Edges between elements and sets in which they are contained. • #vertices = dimension • This naturally reflects a vertex’s need for and domination ability to dominate.
Traditional Based Branching Count the number of dominating sets of cardinality κ. • Traditional branching rule: • Red vertex/Set: optional (to pick – take or discard). Optional = Required + Forbidden = +
Inclusion/Exclusion Based Branching Count the number of dominating sets of cardinality κ. • IE-branching rule: • Blue vertex/Element: required (to dominate). Required = Optional – Forbidden = - • Use both rules to approach the problem from two sides! • Red branch: removes 1 set / 1 set and many elements. • Blue branch: removes 1 element / 1 element and many sets.
Reduction Rules • Unique elements. • Connected components. • Subsumption. • Blue vertices which red neighbourhoods form subsets. • Identical sets: use multiplicity counters. • Not: subsets / cardinality one sets . Sets and elements are not symmetric! • Set multiplicities are kept in counters. dimension = #different sets + #elements • Red-blue DS: counters for red vertices.
The Algorithm • Apply reduction rules. • Branch on sets/elements based on some preference order. • If cardinality of sets and frequency of elements too low: • Dynamic programming over a path decomposition of the bipartite graph. • Measure and Conquer analysis. • Bounds on pathwidth based on vertex degrees. • Linear program computes pathwidth upper bound. • Similar to: [Fomin, Gaspers, Saurabh, Stepanov - 06]. • Difference: we also branch on elements!
Balancing Branching and Dynamic Programming over a Path Decomposition • Branching preference order: • Exceptions to this rule for special frequency five elements. • If they occur in many low cardinality sets. • Expensive for branching – Cheap in path decomposition DP. • Choices made per possible neighbourhood. • Also special cases for low cardinality sets. • Consequence of special frequency five elements. • Not too many details: careful balancing required.
Counting κ-dominating sets Two branching rules Reduction rules CC / Unique E / Subsump Identical sets Pathwidth if low degree Also for min weight* Does there exists a dominating set≤ κ One branching rule Reduction rules CC / Unique E / Subsump Subsets Counting rule Matching if max{|S|}= 2 Memorisation Counting vs Deciding
Computing the Minimum Dominating Setson Graphs of Bounded Treewidth • What we thought to be the current best: [Alber, Bodlaender, Fernau, Kloks, Niedermeier - 02] • Current best: [Rossmanith – 07] • Our results: • Counting κ-dominating sets: • Counting minimum dominating sets: • Computing the minimum dominating set:
Counting Dominating Sets by Tree Decomposition Dynamic Programming • Vertex colour coding: • 1 – In the dominating set. • O – Dominated, but not in the dominating set. • Ô – Not in the dominating set, maybe dominated, maybe not. • States for each bag in the nice tree decomposition: • All possible assignments of colours to the vertices in the bag. • For each κ: 0 ≤ κ ≤ n. • I.e. n3k states (later: k3k). • Each state: number of corresponding dominating sets. • Every state computed in linear time (first in n, later in k). • Dominated (O) vertex that is not justified: locally invalid.
Simple Tree Decomposition Dynamic Programming Operations • Leaf: • Forget: • Introduce new vertex v:
The Inclusion/Exclusion based Join Operation • First compute all states using only the colours Ô and 1. • Then for increasing number of O’s in the states: • Required = Optional – Forbidden. • Simple and elementary!
Same Dynamic Program Restricted to Minimum Dominating Sets • Counting κ-dominating sets in n23k operationsper bag. Restricted to counting minimum dominating sets: • For each colouring store: • Size of the minimum dominating set. • Number of such sets. • Join operation in k23k: • Create k3k sized table for left and right descendant in k3k time. • Use the same join operation, counting only minimum dominating sets. • Cardinality difference at most k. • Look for smallest cardinality per colouring and only store this value.
Computing a Minimum Dominating Set on Graphs of Bounded Treewidth • Counting κ-dominating sets in n23k operationsper bag. • Counting minimum dominating sets in k23k operations/bag. • Still uses n-bit numbers. Computing a Minimum Dominating Set: • Use only numbers between 0 and k. • Join operation: • Count the number of 1 entries in the k3k table in stead of the number of minimum dominating sets. • Look for the smallest κ for which this number is positive afterwards.
NP-Hard Restricted Graph Classes [Gaspers, Kratsch, Liedloff, Todinca - 06] present faster exponential time algorithms on special graph classes. • Restricted to a special graph class, an instance has: • Either many vertices of high degree. • Good branching. • Even better using two branching rules. • Or low treewidth. • Fast dynamic programming over a tree decomposition. • Counting makes these algorithms faster for deciding! • Difference on arbitrary graphs small enough for this to work. • Graph classes: c-dense graphs, chordal graphs, circle graphs, 4-chordal graphs, weakly chordal graphs.
Many Vertices of High DegreeUsing Two Branching Strategies • [Gaspers, Kratsch, Liedloff, Todinca - 06]: • If a graph has t vertices of degree at least t-2. • Branch on these vertices/sets first in set cover algorithm. • t problems: take set i, discard all previous sets. • At least 1 set and t-1 elements removed: dimension 2n-t. • 1 problem: discard all t sets . • t sets removed: dimension 2n-t. • Our approach: • We need: ½t vertices of degree at least t-2. • ½t problems: take set I, discard all previous sets. • ½t problems: discard all t sets, forbid element i, all previous elements optional. • 1 problem: discard ½t sets and make ½t elements optional. • All generated problems have dimension 2n-t or smaller.
Computing a Minimum Dominating Set on Special Graph Classes • New results for counting κ-dominating sets • Previous results only for computing a minimum dominating set • Chordal graphs: • No improved many vertices of high degree. • k22k algorithm on clique trees of treewidth k.
Conclusion • We have presented faster exponential time algorithms for: • Counting the number of dominating sets of size/weight* κ. • Counting the number of minimum (weight*) dominating sets. • On: • Arbitrary graphs • Special graph classes • We presented an algorithm for solving these problems by dynamic programming over a tree decomposition. • We have presented faster algorithms for minimum dominating set on some restricted graph classes. • Counting helps in deciding!
Further Research • Not yet looked at other graph classes. • Tree decomposition counting DP for other problems. • Idea: use O*(2k) for counting red-blue dominating sets on a tree decomposition in stead of path decomposition. • Need upper bounds on the treewidth of a graph based on vertex degrees, similar to those of pathwidth.