190 likes | 348 Views
An Efficient Fixed Parameter Algorithm for 3-Hitting Set. Rolf Niedermeier Peter Rossmanith. Presentation by: Rajiv Badi. 3-Hitting Set. Hitting Set problem for size three sets 3HS for short Problem:
E N D
An Efficient Fixed Parameter Algorithm for 3-Hitting Set Rolf Niedermeier Peter Rossmanith Presentation by: Rajiv Badi
3-Hitting Set • Hitting Set problem for size three sets • 3HS for short • Problem: • 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?
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
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
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.
Solution by Neidermeier and Rossmanith • 3HS - O(2.270k + n) • d-Hitting Set – O(ck +n) c = d -1 + O(d-1)
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
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
Bounded Search Tree • Simple Cases • Subsets of size two • Degree 3 • Degree at least 4 • Collection is 2-regular
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
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
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 in, Tk-1 branch • 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
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
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
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 in, Tk-1 branch • If x is not, Bk-3 branches
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
Summarizing… Bk + Tk-2 + Tk-3 4Bk-2 + Tk-1 Bk-1 + Tk-1 + Tk-2 8Bk-3 + Tk-1 3Bk-1 2Bk-1 Tk-1 +Tk-2 + Tk-3 Bk-2 + Tk-1 Bk ≤ max Tk ≤ max
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