Two Dimension Measures: A New Algorithimic Method for Solving NP-Hard Problems Yang Liu.

Post on 18-Jan-2016

214 views 1 download

Transcript of Two Dimension Measures: A New Algorithimic Method for Solving NP-Hard Problems Yang Liu.

Two Dimension Measures: A New Algorithimic Method for Solving

NP-Hard Problems

Yang Liu

Outlines

Why Exact AlgorithmsWhy Fpt-algorithmsAlgorithmic techniques: branching search

tree and two dimension braching search tree

Previous worksFuture research

Why NP-Hard Problems

Abundant aplications

Methods of tackling NP-hard problems:

1. Exact algorithms.

2. parameterized algorithms

3. Approximation algorithms

4. Heuristics

Why Exact Algorithms

OptimalCorrect and meaningful for decision

problemsSubroutine for other methodsLimitation of the improvements of

processors

Practical Examples (1)

The Rectlinear Steiner Tree problem Inputs of size up to 1000 Solved in 38 CPU hours.

Practical Examples (2)

The TSP problem (http://www.tsp.gatech.edu/sweden/)

German 15,112 towns

In 2001 22.6 cpu years

Sweden 24,978

Towns

In 2004 72,5000 km

Circuit 33,810 In 2005 66,048,945 units, 15.7 cpu years

Circuit 85,900 In 2006 136 cpu years

Outlines

Why Exact AlgorithmsWhy Fpt-algorithmsAlgorithmic technique: branching search

tree and two dimensional braching search tree

Previous worksProposed future research

Why FPT-algorithms

Still hard to design practical exact algorithms in general

An application may have a parameter k, small compared with input size n.

This parameter can give a better bound on time complexity, like O(f(k)nc).

Practical Fpt-algorithms (1)

Type check: checking the compatibility of type declarations.

Parameter k: the maximum nesting depth of the type declarations.

Normally K<=6 Practical fpt-algorithm of time O(2kn)

Practical Fpt-algorithms (2)

Individual halotyping problemParamters k1 and k2

K1<=n, but normally k1<=10

Usually k2<=19

Practical fpt-algorithm of complexity O(nk22k2+mlogm+mk1)

Outlines

Why Exact AlgorithmsWhy Fpt-algorithmsAlgorithmic techniques: branching search

tree and two dimension braching search tree

Previous worksProposed future research

Algorithmic Techniques

Kernelization, greedy localization, iterative compression, coloring coding, divide cand conquer, divide and coloring, branching search tree

Dynamic programming, prunning the search tree, preprocess the data, local search, measure and conquer

Branching Search Tree

m

m2m1mp

m’m

mmmm

p

mf

xx

mfmfmf

p

)(

1

)()()()()(

1

1

m: measure

f(m): number of subproblems (poly-time solvable)

Time Complexity of Branching Search Tree

Complexity: O(cmpoly(n))=O*(cm).

O*(cn) refers to O(cnpoly(n)).

Example: Exact Algorithm

Finding Minimum Vertex Cover CPick an edge xy, let measure m=#vertices

m=n

m1=n-1 mp=n-2x in C

x not in C

y in C

mmfxx

mfmfmf

62.1)(1

)2()1()(21

Example: fpt-Algorithm

Finding a vertex cover C of k vertices.Pick an edge xy, let measure m=#vertices needs to

be in C

m

m1=m-1 mp=m-1x in C

x not in C

y in C

mmfxx

mfmfmf

2)(1

)1()1()(11

Weakness of Branching Search Tree

Only takes one measureFinding a feedback vertex set fvs of k

verticesChoose a cycle and one vertex must be in

fvs.

)()()1()1()( * kpOkfkfkpfkf

Two Dimensional Braching Search Tree

Challenges:Finding two measures p,qhow to bound f(p,q)Boundary conditions: new combinatorial

properties

Acheivements:faster algorithms for some problems.

Outlines

Why Exact AlgorithmsWhy Fpt-algorithmsAlgorithmic technique: branching search

tree and two dimensional braching search tree

Previous worksProposed future research

3D Matching & 3-Set Packing

a1

a2

an

b1

b2

bn

c1

c2

cn

Symbols: ai, bi, ci

a3 b3c3

.

.

.

.

.

.

.

.

.

triples

Set U of symbols, triple t=<a1,a2,a3>

t1=<a1,a2,a3> and t2=<b1,b2,b3> conflicts if ai=bi for some i

A matching: set of mutually non-conflicting triples.

The maximum matching problem In the Karp’s list of NP-complete

problems Generalization of graph matching

3D Matching & Packing

Finding a matching of k triples

Reference Random Determ

Downey et al. O*((3k)!(3k)9k+1)

Chen et al. O*((5.7k)k)

Koutis O*(10.883k) >O*(320003k)

Fellows et al. >O*(1263k)

Kneis O*(2.523k) O*(163k)

Chen et al. O*(2.523k) O*(12.83k)

Our result O*(2.323k) O*(2.773k)

3D Matching & Packing

For the k-packing problem, most algorithms in the table above apply.

Our algorithm has complexity O*(4.613k)

Remark: Koutis gave a randomized algorithm of time O*(23k) for both k-matching and k-packing problems

Multiway Cut

Multiway Cutterminals

Multiway Cutterminals separator

Multiway Cut

Applications: distributed computing, VLSI, computer vision and more

Finding a separator of k vertices

An algorithm of time O*(4k)

the previous best algorithm of time )4(3* kO

Feedback Vertex Set(undirected graphs)

Feedback Vertex Set (undirected graphs)

Feedback vertex set Remaining graph is a forest

Finding an FVS of k vertices (undirected graphs)

Reference Complexity

Bodlaender, Fellows O*(17(k4)!)

Dowey and Fellows O*((2k+1)k)

Raman et al. O*(max{12k,(4logk)k})

Kanj et al. O*((2logk+2loglogk+18)k)

Raman et al. O*((12logk/loglogk+6)k)

Guo et al. O*(37.7k)

Dehne et al. O*(10.6k)

Our results O*(5k)

Feedback Vertex Set(directed graphs)

Feedback Vertex Set(directed graphs)

Feedback vertex set Remaining graph is a DAG

Finding an FVS of k vertices (directed graphs)Question: fpt or not? Had been an open problem for over 15

years

We developed an algorithm of time O*(4kk!) with our new approach

Finding an FVS of k vertices (undirected graphs)

Reference Complexity

Bodlaender, Fellows O*(17(k4)!)

Dowey and Fellows O*((2k+1)k)

Raman et al. O*(max{12k,(4logk)k})

Kanj et al. O*((2logk+2loglogk+18)k)

Raman et al. O*((12logk/loglogk+6)k)

Guo et al. O*(37.7k)

Dehne et al. O*(10.6k)

Our results O*(5k)

Finding an FVS of k vertices (directed graphs)

Question: fpt or not? Had been open for over 15 years

We developed an algorithm of time O*(4kk!)

Accepted by STOC 2008, JACM

Max Leaf(undirected graphs)

Finding a Spanning tree With at least k leaves

• Equivalent to the minimum connected dominating set problem• Applications: design of communication networks, circuit layouts, and distributed systems.

Finding a spanning tree with k leaves

Reference Complexity

Bodlaender O*((17k4)!)

Downey and Fellows O*((2k)4k)

Fellows et al. O*(14.23k)

Bonsma et al. O*(9.49k)

Bonsma and Zickfeld O*(6.75k)

Our result O*(4k)

Out-branchingOut-branching: a rooted tree

such that there is a unique path

from the root to a leaf.

Finding an out-branching with k leavesMore difficult

Graph minor theory on digraphs is not

mature enough to solve this problemProperties are harder to prove for

digraphs than for undirected graphs

Shown to be fpt only recently

Finding an out-branching with k leaves for SCC and DAG for SCC and for DAG for digraphs for digraphs

Our results: O*(4k)

Remark: Kenis et al. developed similar algorithm.

)2( )log(* 2 kkOO

)2( )log(* 2 kkOO )2( )log(* kkOO

)2( )log(* 3 kkOO

)2( )log(* kkOO

Max Leaf

Finding a spanning tree of maximum leaves

Equal to minimum connected dominating set

Applications: design of communication networks, circuit layouts, and distributed systems.

Max Leaf on Digraphs

Out-branching: a rooted tree such that there is a unique path from the root to a leaf.

Max Leaf: finding an out-branching with maximum leaves

Approximable within )( nO

Finding an out-branching with k leaves

More difficult

Graph minor theory on digraphs is not

mature enough to solve this problemSome property is harder to prove for

digraphs than for undirected graphs

Shown to be fpt 15 years later

Finding an out-branching with k leaves

for SCC and DAG for SCC and for

DAG for digraphs for digraphs

Our results: O*(4k)

)2( )log(* 2 kkOO

)2( )log(* 2 kkOO )2( )log(* kkOO

)2( )log(* 3 kkOO

)2( )log(* kkOO

Outlines

Why Exact AlgorithmsWhy Fpt-algorithmsAlgorithmic technique: branching search

tree and two dimensional braching search tree

Previous worksProposed future research

Multiway Cut

Can we improve the algorithm of O*(4k)?Is there any faster or simpler randomized

algorithm?Is there any algebraic algorithms for this

problem?Is the multi-cut problem fpt?

Feedback Vertex Set

Can we improve the current best algorithms?

Is there randomized algorithm better than O*(4k)?

Is there a deterministic algorithm of O*(4k) for the problem on undirected graphs?

Is there O*(ck) for the problem on digraphs?

Is there any algebraic algorithm?

Max Leaf

Is there any better algorithm?Is there any better algorithm for the

problem on undirected graphs?Is there any faster or simple randomized

algorithm?Is there any algebraic algorithm?

Two Dimension Measures: Further Study

Algorithms by this technique has complexity around O*(4k)

Can we do better? How?

Can we apply this or similar technique to design exact algorithms?

Conclusion

Two dimension measures branching search tree is powerful in design fpt-algorithms.

Need improvement on this technique to design algorithms faster than O*(4k).

Generalize this technique to design exact algorithms.

Questions?

Thank You!