Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Efficient Fixed Parameter Algorithm for 3-Hitting Set

Similar presentations


Presentation on theme: "An Efficient Fixed Parameter Algorithm for 3-Hitting Set"— Presentation transcript:

1 An Efficient Fixed Parameter Algorithm for 3-Hitting Set
Rolf Niedermeier Peter Rossmanith Presentation by: Rajiv Badi

2 3-Hitting Set Hitting Set problem for size three sets 3HS for short
Input: A collection C of subsets of size three of a finite set S and a positive integer k Question: Is there a subset S'  S,with |S'| <=k which allows S' to contain at least one element from each subset in C?

3 Motivation Computational Biology
Problem of “cleaning up” data: Given a set of experimental data points, some of which are in conflict, is there a way to determine a minimum size set of data points such that, if “deleted” from the experimental data, this would remove (“explain”) all inconsistencies? Phylogeny

4 Why not 2-HS? 2-HS is the same as Vertex Cover
3-HS can be seen as Vertex Cover for hypergraphs, where there is a hyperedge between three instead of two vertices

5 Some solutions… Straightforward solution
A search tree of size 3k Since each subset has to be covered by the hitting set, we have to take at least one of the three elements of a subset gives O(3k + n) Generalizes to d-Hitting set for constant d, yielding an O(dk + n) algorithm. Downey et al. have shown that 3HS can be solved using a O(2.5616k + n) algorithm.

6 Solution by Neidermeier and Rossmanith
3HS - O(2.270k + n) d-Hitting Set – O(ck +n) c = d -1 + O(d-1)

7 Approach Kernelization Bounded search tree
Gives complexity of the form O(t(k)p(k) + q(n,k)) t(k) = size of search tree (number of nodes) p(k)= size of problem kernel q(n,k) = time for reduction to problem kernel Can be improved to O(t(k) + q(n,k)) using a general method by same authors to speed up fpt algorithms

8 Reduction to problem kernel
There is a problem kernel of size O(k3) for 3HS, and it can be found in linear time Claim 1: There can be at most k size three subsets in the collection C that contain both x and y Claim 2: There can be at most k2 size three subsets in the collection C that contain x

9 Bounded Search Tree Simple Cases Subsets of size two Degree 3
Degree at least 4 Collection is 2-regular

10 Bounded ST: Step 1: Simple Cases
Singletons, such as {x}, have to be taken into the hitting set If an element x  S, that occurs in only one set, e.g., {x, a, b}, it suffices to consider {a, b} leading to the recursive call Bk If an element y is dominated by an element x, throw away occurrences of y, obtaining sets of size two or one in the given instance

11 Bounded ST: Step 2: Size two subsets
If all subsets are of size two, Vertex Cover Consider {x, y} and {x, a, b} where x occurs only in these two sets If y is taken into the hitting set, subtree with Bk-1 leaves If x is taken into the hitting set, subtree with Bk-1 leaves

12 Bounded ST: Step 2 contd: Size two subsets
x occurs in at least two sets of size two and one set of size three, that is, {x, y1}, {x, y2}, {x, a, b} If x is in, Tk-1 branch If x is not, Tk-2 branch {x, y}, {x, a, b}, {x, a, c} If x is not, y is, branching with a: Tk-2 branch If x is not, y is and a is not, b and c are in. Tk-3 branch

13 Bounded ST: Step 2 contd: Size two subsets
{x, y}, {x, a ,b}, {x, c, d} If x is in, Tk-1 branch If x is not, and if a is, Bk-2 branch If x is not, and a is not, b is, Bk-2 branch

14 Bounded ST: Step 3: Degree 3
{x, a1, a2}, {x, b1, b2}, {x, c1, c2} There exists another element besides x that occurs in at least two of the three sets. So, let a1 = b1 c1 and a1 are in. Tk-2 branch c1 is and a1 is not. Tk-3 branch There is no such element. If x is in, Tk-1 branch If x is not, Bk-2

15 Bounded ST: Step 4: Degree at least 4
x occurs in at least 4 sets {x, a1, a2}, {x, b1, b2}, {x, c1, c2}, {x, d1, d2} If a1 = b1 If x is in, Tk-1 branch If x is not, and a1 is not. Tk-2 branch Else If x is not, Bk-3 branches

16 Bounded ST: Step 5: 2-Regular
All sets of the form {x, a, b}, {x, c, d} If a is in, Bk-1 branch If x is in, Bk-1 branch Else, Bk-1 branch

17 Summarizing… 2Bk-1 Tk-1 +Tk-2 + Tk-3 Bk-2 + Tk-1 Bk ≤ max
Tk ≤ max

18 Complexity 3HS = O(2.270k + n) d-HS = O(ck + n), where c = d-1+O(d-1)
Unbounded subset size HS = W[2]-complete d 3 4 5 6 7 8 9 10 20 50 100 T(k) 2.41k 3.30k 4.23k 5.19k 6.16k 7.14k 8.12k 9.11k 19.05k 49.02k 99.01k

19 Thank You!


Download ppt "An Efficient Fixed Parameter Algorithm for 3-Hitting Set"

Similar presentations


Ads by Google