Randomized Process of Unknowns and Implicitly Enforced Bounds on Parameters Jianer Chen Department...

56
Randomized Process of Unknowns and Implicitly Enforced Bounds on Parameters Jianer Chen Department of Computer Science & Engineering Texas A&M University
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of Randomized Process of Unknowns and Implicitly Enforced Bounds on Parameters Jianer Chen Department...

Randomized Process of Unknowns and

Implicitly Enforced Bounds on Parameters

Jianer ChenDepartment of Computer Science & Engineering

Texas A&M University

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)nk-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)nk-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)nk-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)nOur 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.

Introduction

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-pathk-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-pathk-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-pathk-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-pathk-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 whiteand the second half of P is black in 1/2k

Dealing With A Small Unknown

Example 1. k-pathk-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-pathk-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-pathk-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.

2. 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-SplittingSet-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-SplittingSet-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-SplittingSet-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 U splits k subsets (k = 5)

Dealing With A Small Unknown

Example 2. Set-SplittingSet-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-SplittingSet-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-SplittingSet-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 thedesired 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 set is a collection 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, and S2 ⊆ 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.

Dealing With A Small Unknown

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

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

Implicit Parameter Bound

T1T2

T3 T4

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

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

Implicit Parameter Bound

Y: a separatorY

T1T2

T3 T4

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

T1T2

T3 T4

uT1’

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

T1T2

T3 T4

uT1’

T others

Example 2. Multiway-Cut Main Lemma. If the size of a min-cut from T1 to Tothers is

equal to that from T1’ to Tothers , then {T1, T2, …, Th} has a separator of size k if and only if {T1’, T2, …, Th} has a separator of size k (which is also a separator for {T1, T2, …, Th})

Implicit Parameter Bound

T1T2

T3 T4

uT1’

T others

Example 2. Multiway-Cut Main part of the algorithm for Multiway-Cut

Input: G, {T1, …, Th}, k1.……

2.pick the vertex u; let T1’ = T1 + u; Tothers = U2≤j≤h Tj

3.construct a min-cut X from T1 to Tothers ;4.construct a min-cut X’ from T1’ to Tothers ; 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 ……

Implicit Parameter Bound

Example 2. Multiway-Cut

Complexity Analysis5. 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 size m = |X| of a min-cut from T1 to Tothers is an implicit bound on the parameter k.

Implicit Parameter Bound

Example 2. Multiway-Cut

Complexity Analysis5. 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 → parameter k is decreased

recursively work on G, {T1’, T2, …, Th}, k;

\\ exclude u

The size m = |X| of a min-cut from T1 to Tothers is an implicit bound on the parameter k.

each branch either decreases the parameter k

Implicit Parameter Bound

Example 2. Multiway-Cut

Complexity Analysis5. 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 → parameter k is decreased

recursively work on G, {T1’, T2, …, Th}, k;

\\ exclude u → min-cut from T1 to Tothers is increased

The size m = |X| of a min-cut from T1 to Tothers is an implicit bound on the parameter k.

each branch either decreases the parameter k or increases the size m = |X| of a min-cut from T1 to Tothers ;

Implicit Parameter Bound

Example 2. Multiway-Cut

Complexity Analysis5. 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 → parameter k is decreased

recursively work on G, {T1’, T2, …, Th}, k;

\\ exclude u → min-cut from T1 to Tothers is increased

The size m = |X| of a min-cut from T1 to Tothers is an implicit bound on the parameter k.

each branch either decreases the parameter k or increases the size m = |X| of a min-cut from T1 to Tothers ;

The parameter k is not smaller than 0, and the size m of a min-cut from T1 to Tothers is not larger than k.

Implicit Parameter Bound

Example 2. Multiway-Cuteach branch either decreases the parameter k or

increases the size m = |X| of a min-cut from T1 to Tothers ; The parameter k is not smaller than 0, and the size

m of a min-cut from T1 to Tothers is not larger than k.

Theorem. The Multiway-Cut Problem can be solved in time O(4kkn3).

Implicit Parameter Bound

Conclusions and Open Problems

Conclusions The research in parameterized algorithm is

growing fast but still very young; Faster (and simpler) algorithms are

explored based on deeper understanding of algorithmic methodology.

Open Problems New techniques for classical parameterized

problems: Vertex Cover? planar graph problems?

Conclusions and Open Problems

Thank You