560 likes | 623 Views
Randomized Process of Unknowns and Implicitly Enforced Bounds on Parameters. Jianer Chen Department of Computer Science & Engineering Texas A&M University. Introduction. Brief (and Informal) Review on Fixed-Parameter Tractability.
E N D
Randomized Process of Unknowns and Implicitly Enforced Bounds on Parameters Jianer Chen Department of Computer Science & Engineering Texas A&M University
Introduction Brief (and Informal) Review on Fixed-Parameter Tractability Suppose that the optimal solution value k is bounded by a constant, then the following NP-hard problems can all be solved in polynomial time: • k-Vertex Cover: • Genus-k Graph Embedding: • k-Clique:
Introduction Brief (and Informal) Review on Fixed-Parameter Tractability Suppose that the optimal solution value k is bounded by a constant, then the following NP-hard problems can all be solved in polynomial time: • k-Vertex Cover: • Genus-k Graph Embedding: • k-Clique: How efficiently?
Introduction Brief (and Informal) Review on Fixed-Parameter Tractability Suppose that the optimal solution value k is bounded by a constant, then the following NP-hard problems can all be solved in polynomial time: • k-Vertex Cover: O(1.274k + kn) • Genus-k Graph Embedding: f(k)n • k-Clique: O(nωk/3 ) (ω is the best exponent for matrix multiplication)
Introduction Brief (and Informal) Review on Fixed-Parameter Tractability Suppose that the optimal solution value k is bounded by a constant, then the following NP-hard problems can all be solved in polynomial time: • k-Vertex Cover: O(1.274k + kn) • Genus-k Graph Embedding: f(k)n • k-Clique: O(nωk/3 ) (ω is the best exponent for matrix multiplication)
Introduction Brief (and Informal) Review on Fixed-Parameter Tractability Suppose that the optimal solution value k is bounded by a constant, then the following NP-hard problems can all be solved in polynomial time: • k-Vertex Cover: O(1.274k + kn) • Genus-k Graph Embedding: f(k)n • k-Clique: O(nωk/3 ) (ω is the best exponent for matrix multiplication)
Introduction Brief (and Informal) Review on Fixed-Parameter Tractability Suppose that the optimal solution value k is bounded by a constant, then the following NP-hard problems can all be solved in polynomial time: • k-Vertex Cover: O(1.274k + kn) • Genus-k Graph Embedding: f(k)n
Introduction Brief (and Informal) Review on Fixed-Parameter Tractability Suppose that the optimal solution value k is bounded by a constant, then the following NP-hard problems can all be solved in polynomial time: • k-Vertex Cover: O(1.274k + kn) • Genus-k Graph Embedding: f(k)n
Introduction Brief (and Informal) Review on Fixed-Parameter Tractability Suppose that the optimal solution value k is bounded by a constant, then the following NP-hard problems can all be solved in polynomial time: • k-Vertex Cover: O(1.274k + kn) • Genus-k Graph Embedding: f(k)n Our goal: when a problem is solvable in time f(k)nc (fixed parameter tractable), develop “pratical” algorithms (i.e., where f(k) and c are as small as possible).
Introduction The k-path problem. • Monien [85], Bodlaender [93]: O*(2kk!) (graph search); • Alon et al.[95]: O*(5.5k)R, O*(ck)D, exponential space (color coding) • Chen et al.-Kneis, et al. [09]: O*(4k)R, O*(4k+o(k))D, polynomial space, (randomized divide-and-conquer)
Introduction The FVS problem on undirected graphs • Bodlaender [94], Downey-Fellows [92]: O*((17k4)!) (graph structures); • Downey-Fellows [99]: O*((2k+1)k); • Raman et al. [02]: O*((4 log k)k) (cycle structures); • Kanj et al. [04]: O*((2 log k)k); • Raman et al. [06]: O*((12 log k/log log k)k); • Read-Smith-Vetta [04]: (iterative compression); • Guo et al. [06]: O*(37.7k); • Dehne et al. [05]: O*(10.6k); • Chen et al. [08]: O*((5k) (iterative compression + implicit parameter bound);
Introduction The research in development of parameterized algorithm has been in an exciting stage: • New techniques are being explored; • Improved (and simpler!) parameterized algorithms are being developed; • Algorithmic open problems are being resolved.
Introduction In this talk, we dicuss two techniques that have turned out to be useful in the recent development of parameterized algorithms: • Randomized process of a small unknown subsets in a large universal set; • Implicitly enforced bounds on parameters during a branch-and-bound process.
Dealing With A Small Unknown Dealing with a small unknown In traditional algorithm design, we do • sorting, so that later search and other processes become easier; • divide-and-conquer, to achieve efficient recursive algorithms; • dynamic programming, to avoid unnecessary repeated processes. All these techniques have proven to be extremely useful in traditional algorithm design.
Dealing With A Small Unknown In parameterized algorithm design in many cases, we look for a small subset (of size k) satisfying certain properties in a large universal set (of size n). Examples: Vertex Cover, k-Path, 3D-Matching, 3-Set Packing, Feedback Vertex Set, Set Splitting, ……
Dealing With A Small Unknown It will be nice if the previous algorithmic techniques in traditional algorithm design can be applied to the small subset. However, the small subset is unknown.
Dealing With A Small Unknown Simple probability facts Let S be a subset of size k in a universal set U of size n. By simple probability theory: Fact 1. For any given permutation p(S) of S, if we randomly permutate U, the probability that S is permuted into the order of p(S) is 1/k! Fact 2. If we randomly divide U into k parts, the probability that each part contains exactly one element in S is at least 1/ek Fact 3. For any given partition (S1, S2) of S, if we randomly partition U, the probability that S is partitioned into (S1, S2) is 2/2k
Dealing With A Small Unknown Therefore, by randomly processing the (explicitly given) universal set U, the desired (and unknown) subset S has a reasonable probability to be processed correctly.
Dealing With A Small Unknown Remarks • Fact 1 has been used to develop a very simple algorithm for k-path, which is efficient for very small k (e.g., k≤10) e.g., Kelly et al. [03]; • Fact 2 is the basic idea of color-coding developed by Alon-Yuster-Zwick [95]; • We will concentrate on Fact 3 in this talk.
Dealing With A Small Unknown Example 1. k-path • k-Path: given a graph G and an integer k, either construct a simple path of k vertices in G, or report no such a path exists. graph G
Dealing With A Small Unknown Example 1. k-path • k-Path: given a graph G and an integer k, either construct a simple path of k vertices in G, or report no such a path exists. Suppose there is a k-path P in G
Dealing With A Small Unknown Example 1. k-path • k-Path: given a graph G and an integer k, either construct a simple path of k vertices in G, or report no such a path exists. Randomly partition the vertices of G
Dealing With A Small Unknown Example 1. k-path • k-Path: given a graph G and an integer k, either construct a simple path of k vertices in G, or report no such a path exists. The probability that the first half of P is white and the second half of P is black in 1/2k
Dealing With A Small Unknown Example 1. k-path • k-Path: given a graph G and an integer k, either construct a simple path of k vertices in G, or report no such a path exists. Recursively construct (k/2)-paths in the two half-graphs
Dealing With A Small Unknown Example 1. k-path • k-Path: given a graph G and an integer k, either construct a simple path of k vertices in G, or report no such a path exists. Constructing k-paths in G by connecting the (k/2)-paths in the two half-graphs.
Dealing With A Small Unknown Example 1. k-path • k-Path: given a graph G and an integer k, either construct a simple path of k vertices in G, or report no such a path exists. • Remarks. • 1. This gives a randomized algorithm of running • time O*(4k) for the k-path problem. • Williams [08] very recently developed a randomized • algorithm of running time O*(2k) for the unweighted • k-path problem based on an algebraic approach.
Dealing With A Small Unknown Example 2. Set-Splitting • Set-Splitting: given a collection C of subsets of a universal set U and an integer k, either construct a partition (U1, U2) of U that splits at least k subsets in C, or report no such a partition exists. the universal set U
Dealing With A Small Unknown Example 2. Set-Splitting • Set-Splitting: given a collection C of subsets of a universal set U and an integer k, either construct a partition (U1, U2) of U that splits at least k subsets in C, or report no such a partition exists. the collection C of subsets in U
Dealing With A Small Unknown Example 2. Set-Splitting • Set-Splitting: given a collection C of subsets of a universal set U and an integer k, either construct a partition (U1, U2) of U that splits at least k subsets in C, or report no such a partition exists. a partition of Usplits k subsets (k = 5)
Dealing With A Small Unknown Example 2. Set-Splitting • Set-Splitting: given a collection C of subsets of a universal set U and an integer k, either construct a partition (U1, U2) of U that splits at least k subsets in C, or report no such a partition exists. Only the elements in the split subsets need to be properly split
Dealing With A Small Unknown Example 2. Set-Splitting • Set-Splitting: given a collection C of subsets of a universal set U and an integer k, either construct a partition (U1, U2) of U that splits at least k subsets in C, or report no such a partition exists. only a subset S of ≤ 2k elements needs to be properly split (each split subset contains exactly 2 elements in S).
Dealing With A Small Unknown Example 2. Set-Splitting • Set-Splitting: given a collection C of subsets of a universal set U and an integer k, either construct a partition (U1, U2) of U that splits at least k subsets in C, or report no such a partition exists. Therefore, a direct analysis shows that if we randomly split the universal set U, then the set S will be split properly with a probability 1/22k. A more careful analysis shows that the probability is actually 1/2k. Thus, by examining O(2k) random partitions of the universal set U, we have a high probability to find the desired partition of U.
Dealing With A Small Unknown Remark 1. weighted case The above techniques can be applied directly to the same problems with weight (e.g., k-path problem on weighted graphs, and set-splitting problem on collections of weighted subsets).
Dealing With A Small Unknown Remark 2. De-randomization The above randomized techniques can be de-randomized. An (n, k)-universal setis acollection C of partitions of the set U = {1, 2, …, n}, such that for any k-subset S and any partition (S1, S2) of S, there is partition (U1, U2) of U in C such that S1⊆U1, andS2⊆U2. Theorem (Naor et al. [95], Chen et al. [09]). There is an (n,k)-universal set C of size O(n2k+o(k)) that can be constructed in time O(n2k+o(k)).
Dealing With A Small Unknown Remark 2. De-randomization Therefore, instead of using O*(2k) randomized partitions of the universal set U, we can simply try all O*(2k+o(k)) partitions of U in the (n, k)-universal set C in the above theorem. In consequence, randomized parameterized algorithms based on this technique can be de-randomized and lead to deterministic algorithms with slightly worse running time.
Implicit Parameter Bound Implicit parameter bound Consider a branch-and-search process: Vertex Cover: pick a vertex v of degree > 0, branch by either including v or excluding v in the objective vertex cover, then recursively work on the resulting graphs. T(k) = T(k-1) + T(k-d) (d = # of neighbors of v) ====a time O*(ck) algorithm for Vertex Cover Independent Set: pick a vertex v of degree > 0, branch by either including v or excluding v in the objective independent set, then recursively work on the resulting graphs. T(k) = T(k-1) + T(k-?) ==== no FPT algorithm for Independent Set
Implicit Parameter Bound A frequently encountered difficulty in developing parameterized algorithms is when we apply branch-and-search process, some branching paths do not effectively decrease the parameter value k. In some cases, there can be an implicit bound on the parameter that limits the number of times in the branch-and-search process that do not decrease the parameter value.
Implicit Parameter Bound Example 1. UFVS Undirected Feedback Vertex Set Problem (UFVS): Given an undirected graph G and a parameter k, decide if there is a feedback vertex set F of size k (i.e., every cycle in G contains at least one vertex in F). By the Iterative Compression Method (Reed-Smith-Vetta), the UFVS problem can be reduced to the following problem Reduced Disjoint FVS (RX-FVS): given an undirected graph G and a feedback vertex set F1 of size k+1, decide if there is a disjoint feedback vertex set F2 of size k for G.
Implicit Parameter Bound Example 1. UFVS Observation. Let (G, F1) be an instance of RX-FVS Both induced subgraphs D1 = G[F1] and D2 = G − F1 are acyclic. The objective feedback vertex set F2 is in D2. Reformulation. Given a forest decomposition (D1, D2) of G, decide if there is a feedback vertex set F2 of size k for G, where F2 ⊆D2 .
Implicit Parameter Bound Example 1. UFVS Given a forest decomposition (D1, D2) of G, decide if there is a feedback vertex set F2 of size k for G, where F2 ⊆D2 . Familiar problem: branch on a vertex v in D2. Recursively work on the instances B1. (D1, D2−v, k−1) ; B2. (D1+v, D2−v, k); On branching B2 that excludes v in the objective feedback vertex set F2, the parameter value is not decreased.
Implicit Parameter Bound Example 1. UFVS Given a forest decomposition (D1, D2) of G, decide if there is a feedback vertex set F2 of size k for G, where F2 ⊆D2 . pick a vertex v in D2 such that v has≥2 neighbors in D1 recursively work on the two instances B1. (D1, D2−v, k−1) ; B2. (D1+v, D2−v, k); An implicit bound on k: the number h of connected components of D1. B1 decreases k (without increasing h) B2 decreases h (without increasing k)
Implicit Parameter Bound Example 1. UFVS Given a forest decomposition (D1, D2) of G, decide if there is a feedback vertex set F2 of size k for G, where F2 ⊆D2 . pick a vertex v in D2 such that v has≥2 neighbors in D1 recursively work on the two instances B1. (D1, D2−v, k−1) ; B2. (D1+v, D2−v, k); Thus, the combined parameter k+h is always decreased In the original instance (G, F1) of RX-FVS (F1 is a feedback vertex set of size k+1 for G), D1 = G[F1] has at most k+1 connected components. Thus initially, k+h ≤ 2k+1.
Implicit Parameter Bound Example 1. UFVS Theorem. The RX-FVS problem can be solved in time O*(4k). Theorem. The UFVS problem can be solved in time O*(5k) .
Implicit Parameter Bound Example 2. Multiway-Cut Multiway-Cut:Given a graph G, a collection C= {T1, …, Th} of terminal sets in G, and a parameter k, decide if there is a multiway cutH of size k such that H⊆G – UTi, and G – H has no path between a vertex in Ti and a vertex in Tj for any i ≠j. T2 T1 T3 T4
Implicit Parameter Bound Example 2. Multiway-Cut Multiway-Cut:Given a graph G, a collection C= {T1, …, Th} of terminal sets in G, and a parameter k, decide if there is a multiway cutH of size k such that H⊆G – UTi, and G – H has no path between a vertex in Ti and a vertex in Tj for any i ≠j. T2 T1 Y: a separator Y T3 T4
Implicit Parameter Bound T2 T1 u T1’ T3 T4 T others Example 2. Multiway-Cut We consider a branch-and-search process from a vertex u adjacent to T1, where u cannot be “trivially’’ processed. Let Tothers= U2≤j≤hTj ;T1’ = T1+ u
Implicit Parameter Bound T2 T1 u T1’ T3 T4 T others Example 2. Multiway-Cut Lemma. The size of a min-cut from T1 to Tothers is not larger than the size of a min-cut from T1’ to Tothers. Lemma. Let Y be a vertex set that does not contain the vertex u. Then Y is a multiway cut for {T1, …, Th} if and only if Y is a separator for {T1’, T2, …, Th}.
Implicit Parameter Bound T2 T1 u T1’ T3 T4 T others Example 2. Multiway-Cut Main Lemma. If the size of a min-cut fromT1toTothersisequal to that fromT1’toTothers , then{T1, T2, …, Th} has aseparator of sizekif and only if {T1’, T2, …, Th} has aseparator of sizek (which is also a separator for {T1, T2, …, Th})
Implicit Parameter Bound Example 2. Multiway-Cut Main part of the algorithm for Multiway-Cut Input: G, {T1, …, Th}, k • …… • pick the vertexu; letT1’ = T1 + u; Tothers = U2≤j≤hTj • construct a min-cut X fromT1toTothers ; • construct a min-cut X’ fromT1’ toTothers ; • if|X| = |X’| then recursively work onG, {T1’, T2, …, Th}, k; else\\ |X| < |X’| --- branch onu recursively work onG−u, {T1, T2, …, Th}, k−1; \\ includeu recursively work on G, {T1’, T2, …, Th}, k; \\ excludeu ……
Implicit Parameter Bound Example 2. Multiway-Cut Complexity Analysis 5. if |X| = |X’| then recursively work on G, {T1’, T2, …, Th}, k; else\\ |X| < |X’| --- branch on u recursively work on G−u, {T1, T2, …, Th}, k−1; \\ include u recursively work on G, {T1’, T2, …, Th}, k; \\ exclude u The sizem = |X| of a min-cut fromT1toTothers is animplicit bound on the parameter k.