Title: From RS Posets to NPCompleteness: Adventures in Fixed Parameter Tractability
1From 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
2Complexity Theory
easy
P
NP
?
P
PSPACE
2
3Complexity Theory
easy
P
NP
?
P
PSPACE
2
hard
4Complexity Theory
impossible
easy
P
NP
?
P
PSPACE
2
hard
5Complexity Theory
- But, consider time bounds such as
- O(2kn)
- versus
- O(2kn)
- when k is fixed.
6Complexity Theory
- Hence, the Parameterized View
solvable (even if NP-hard!)
W1
W2
XP
FPT
7Complexity Theory
solvable (even if NP-hard!)
W1
W2
XP
FPT
heuristics only
8Complexity Theory
Impossible
solvable (even if NP-hard!)
W1
W2
XP
FPT
heuristics only
9Graph 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
10Vertex 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.
11Vertex 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?
12Vertex 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?
13Vertex 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?
14Showing 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.
15Showing 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) .
16Showing 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
17Showing 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
18Showing 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)
19Showing 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).
20Showing Vertex Cover is FPT
- Observations
- The depth of the binary search tree is at most
k.
21Showing 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.
22Showing 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).
23Showing 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).
24Showing 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.
25Showing 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.
26Showing Vertex Cover is FPT
- More Observations
- Better branching choices can result in a time
complexity - of O(1.2852k kn).
27Showing 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.
28The Vertex Cover Project
- Preprocessing via degree structure
29The Vertex Cover Project
- Preprocessing via degree structure
- Kernelize to computational core
30The Vertex Cover Project
- Preprocessing via degree structure
- Kernelize to computational core
- Branching explores core
31The Vertex Cover Project
- Preprocessing via degree structure
- Kernelize to computational core
- Branching explores core
- Interleave all three
32Preprocessing
- Low degree rules (e.g., degree one)
- Observation There is an optimal vertex cover
that contains v and not u.
33Preprocessing
High degree rule Observation if
a vertex has degree greater than k, then it must
be in any vertex cover of size lt k.
34Preprocessing
Combining low and high degree rules
Resultant graph has size O(k2) at
most k(1k/3) vertices
35LP - Kernelization
- Based on linear programming (Bill
Cooks code) - minimize
- subject to
- where
- Resultant graph has size O(k)
- at most 2k vertices
36Crown Reduction
- An independent set of vertices C
37Crown Reduction
- An independent set of vertices C
- Whose neighborhood H is no larger than C
38Crown 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.
39Crown 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.
40Representative Results on Large Non-Synthetic
Graphs
41An Example of Cliques Utility Microarray Data
Analysis
Complexity Analysis Algorithm Development Extensiv
e Parallelism Hardware Acceleration
42Variety of Applications
43Variety of Applications
A phylogenetic tree organizes life forms
according to their putative evolutionary
relationships.
44Variety of Applications
45Variety of Applications
- Gene co-regulation
- Phylogeny
- SELDI
- Upstream sequence analysis (motifs, modules,
other cis-regulatory elements)
46Variety of Applications
- Gene co-regulation
- Phylogeny
- SELDI
- Upstream sequence analysis (motifs, modules,
other cis-regulatory elements) - Protein interaction networks
47Other Amenable Problems
- Hitting Set
- Dominating Set
- Cutwidth, others
-
Recent Codes Released
- Clustal XP (High Performance, Parallel
- Clustal W)
- CAMDA (Disease Screening)