From RS Posets to NPCompleteness: Adventures in Fixed Parameter Tractability - PowerPoint PPT Presentation

1 / 47
About This Presentation
Title:

From RS Posets to NPCompleteness: Adventures in Fixed Parameter Tractability

Description:

University of Tennessee. Research Lead by Mike Langston. Contributions by Faisal Abu-Khzam, ... Research Group University of Tennessee. Graph Algorithms ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0

less

Transcript and Presenter's Notes

Title: From RS Posets to NPCompleteness: Adventures in Fixed Parameter Tractability


1
From RS Posets to NP-Completeness Adventures in
Fixed Parameter Tractability
W. Henry Suters Department of Computer
Science University of Tennessee Research Lead by
Mike Langston Contributions by Faisal Abu-Khzam,
Pushkar Shanbhag and Chris Symons Advances in
Graph and Matroid Theory Ohio State University
2
Complexity Theory
  • The Classic View

easy
P


NP
?
P
PSPACE
2
3
Complexity Theory
  • The Classic View

easy
P


NP
?
P
PSPACE
2
hard
4
Complexity Theory
  • The Classic View

impossible
easy
P


NP
?
P
PSPACE
2
hard
5
Complexity Theory
  • But, consider time bounds such as
  • O(2kn)
  • versus
  • O(2kn)
  • when k is fixed.

6
Complexity Theory
  • Hence, the Parameterized View

solvable (even if NP-hard!)


W1
W2
XP
FPT
7
Complexity Theory
  • The Parameterized View

solvable (even if NP-hard!)


W1
W2
XP
FPT
heuristics only
8
Complexity Theory
  • The Parameterized View

Impossible
solvable (even if NP-hard!)


W1
W2
XP
FPT
heuristics only
9
Graph Algorithms
  • Clique is a good example. But it is not FPT
  • (unless the fixed parameter hierarchy
    collapses).
  • Fortunately, Vertex Cover is FPT.
  • And Vertex Cover is a dual to Clique

_
G
G
10
Vertex Cover
Given a graph G (V,E) a vertex cover is a
subset C of V so that for any edge (u,v) in E
either u or v is in C.
11
Vertex Cover
Given a graph G (V,E) a vertex cover is a
subset C of V so that for any edge (u,v) in E
either u or v is in C.
Optimization problem what is the size of the
smallest vertex cover?
12
Vertex Cover
Given a graph G (V,E) a vertex cover is a
subset C of V so that for any edge (u,v) in E
either u or v is in C.
Search Problem what is the smallest vertex
cover?
13
Vertex Cover
Given a graph G (V,E) a vertex cover is a
subset C of V so that for any edge (u,v) in E
either u or v is in C.
Decision Problem Is there a vertex cover with
size k or smaller?
14
Showing Vertex Cover is FPT
  • Decision Problem Is there a vertex cover with
    size k or smaller?
  • Algorithm
  • Produce a binary search tree using the following
    rules.

15
Showing Vertex Cover is FPT
  • Decision Problem Is there a vertex cover with
    size k or smaller?
  • Algorithm
  • Produce a binary search tree using the following
    rules.
  • Select an arbitrary uncovered edge (u,v) .

16
Showing Vertex Cover is FPT
  • Decision Problem Is there a vertex cover with
    size k or smaller?
  • Algorithm
  • Produce a binary search tree using the following
    rules.
  • Select an arbitrary uncovered edge (u,v) .
  • One of its endpoints (u or v) must be in any
    vertex cover.

or
17
Showing Vertex Cover is FPT
  • Decision Problem Is there a vertex cover with
    size k or smaller?
  • Algorithm
  • Produce a binary search tree using the following
    rules.
  • Select an arbitrary uncovered edge (u,v) .
  • One of its endpoints (u or v) must be in any
    vertex cover.
  • Form a new branch of the binary search tree
    based on the vertex
  • selected.

Sets containing u
Sets containing v
18
Showing Vertex Cover is FPT
  • Decision Problem Is there a vertex cover with
    size k or smaller?
  • Algorithm
  • Produce a binary search tree using the following
    rules.
  • Select an arbitrary uncovered edge (u,v) .
  • One of its endpoints (u or v) must be in any
    vertex cover.
  • Form a new branch of the binary search tree
    based on the vertex
  • selected.
  • Repeatedly apply these rules, constructing the
    tree, until either
  • a vertex cover is found (we are done and the
    answer is yes)

19
Showing Vertex Cover is FPT
  • Decision Problem Is there a vertex cover with
    size k or smaller?
  • Algorithm
  • Produce a binary search tree using the following
    rules.
  • Select an arbitrary uncovered edge (u,v) .
  • One of its endpoints (u or v) must be in any
    vertex cover.
  • Form a new branch of the binary search tree
    based on the vertex
  • selected.
  • Repeatedly apply these rules, constructing the
    tree, until either
  • a vertex cover is found (we are done and the
    answer is yes) or
  • all the candidate sets with k or fewer vertices
    are eliminated
  • (we are done and the answer is no).

20
Showing Vertex Cover is FPT
  • Observations
  • The depth of the binary search tree is at most
    k.

21
Showing Vertex Cover is FPT
  • Observations
  • The depth of the binary search tree is at most
    k.
  • The binary search tree has at most 2k1-1 nodes.

22
Showing Vertex Cover is FPT
  • Observations
  • The depth of the binary search tree is at most
    k.
  • The binary search tree has at most 2k1-1 nodes.
  • At each node we check to see if we have a vertex
    cover.
  • Time complexity of O(n2).

23
Showing Vertex Cover is FPT
  • Observations
  • The depth of the binary search tree is at most
    k.
  • The binary search tree has at most 2k1-1 nodes.
  • At each node we check to see if we have a vertex
    cover.
  • Time complexity of O(n2).
  • The time complexity of the algorithm is O(n22k).

24
Showing Vertex Cover is FPT
  • Observations
  • The depth of the binary search tree is at most
    k.
  • The binary search tree has at most 2k1-1 nodes.
  • At each node we check to see if we have a vertex
    cover.
  • Time complexity of O(n2).
  • The time complexity of the algorithm is O(n22k).
  • If k is small, the problem is easy, no matter
    the size of n.

25
Showing Vertex Cover is FPT
  • Observations
  • The depth of the binary search tree is at most
    k.
  • The binary search tree has at most 2k1-1 nodes.
  • At each node we check to see if we have a vertex
    cover.
  • Time complexity of O(n2).
  • The time complexity of the algorithm is O(n22k).
  • If k is small, the problem is easy, no matter
    the size of n.
  • Vertex cover is FPT.

26
Showing Vertex Cover is FPT
  • More Observations
  • Better branching choices can result in a time
    complexity
  • of O(1.2852k kn).

27
Showing Vertex Cover is FPT
  • More Observations
  • Better branching choices can result in a time
    complexity
  • of O(1.2852k kn).
  • Simplifying the graph (and reducing k) can
    reduce run times.

28
The Vertex Cover Project
  • Preprocessing via degree structure

29
The Vertex Cover Project
  • Preprocessing via degree structure
  • Kernelize to computational core

30
The Vertex Cover Project
  • Preprocessing via degree structure
  • Kernelize to computational core
  • Branching explores core

31
The Vertex Cover Project
  • Preprocessing via degree structure
  • Kernelize to computational core
  • Branching explores core
  • Interleave all three

32
Preprocessing
  • Low degree rules (e.g., degree one)
  • Observation There is an optimal vertex cover
    that contains v and not u.

33
Preprocessing
High degree rule Observation if
a vertex has degree greater than k, then it must
be in any vertex cover of size lt k.
34
Preprocessing
Combining low and high degree rules
Resultant graph has size O(k2) at
most k(1k/3) vertices
35
LP - Kernelization
  • Based on linear programming (Bill
    Cooks code)
  • minimize
  • subject to
  • where
  • Resultant graph has size O(k)
  • at most 2k vertices

36
Crown Reduction
  • An independent set of vertices C

37
Crown Reduction
  • An independent set of vertices C
  • Whose neighborhood H is no larger than C

38
Crown Reduction
  • An independent set of vertices C
  • Whose neighborhood H is no larger than C
  • With a matching on the edges between C and H so
    that every vertex in H is matched.

39
Crown Reduction
Observation There is an optimal vertex cover
containing no vertices from C and all vertices
from H. Resultant graph has size O(k) at most 3k
vertices.
40
Representative Results on Large Non-Synthetic
Graphs
41
An Example of Cliques Utility Microarray Data
Analysis
Complexity Analysis Algorithm Development Extensiv
e Parallelism Hardware Acceleration
42
Variety of Applications
  • Gene co-regulation

43
Variety of Applications
  • Phylogeny

A phylogenetic tree organizes life forms
according to their putative evolutionary
relationships.
44
Variety of Applications
  • SELDI

45
Variety of Applications
  • Gene co-regulation
  • Phylogeny
  • SELDI
  • Upstream sequence analysis (motifs, modules,
    other cis-regulatory elements)

46
Variety of Applications
  • Gene co-regulation
  • Phylogeny
  • SELDI
  • Upstream sequence analysis (motifs, modules,
    other cis-regulatory elements)
  • Protein interaction networks

47
Other Amenable Problems
  • Hitting Set
  • Dominating Set
  • Cutwidth, others

Recent Codes Released
  • Clustal XP (High Performance, Parallel
  • Clustal W)
  • CAMDA (Disease Screening)
Write a Comment
User Comments (0)
About PowerShow.com