1 / 21

Counting the Number of Dominating Sets

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:

amity-ramos
Download Presentation

Counting the Number of Dominating Sets

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Counting the Number of Dominating Sets With applications in computing the minimum dominating set Johan van Rooij Jesper Nederlof, Thomas van Dijk

  2. 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.

  3. 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]

  4. 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.

  5. 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 = +

  6. 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.

  7. 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.

  8. 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!

  9. 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.

  10. 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

  11. 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:

  12. 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.

  13. Simple Tree Decomposition Dynamic Programming Operations • Leaf: • Forget: • Introduce new vertex v:

  14. 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!

  15. 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.

  16. 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.

  17. 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.

  18. 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.

  19. 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.

  20. 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!

  21. 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.

More Related