Fixed parameter complexity of feedback set problems - PowerPoint PPT Presentation

1 / 94
About This Presentation
Title:

Fixed parameter complexity of feedback set problems

Description:

Fixed parameter complexity. of feedback set problems. Thomas ... Split all vertices v into vin and vout. Blackout all in vertices. 28. Transform to Blackout FVS ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 95
Provided by: Tha61
Category:

less

Transcript and Presenter's Notes

Title: Fixed parameter complexity of feedback set problems


1
Fixed parameter complexityof feedback set
problems
  • Thomas C. van Dijk
  • SupervisorsDr. Hans L. BodlaenderDr. Gerard Tel

2
Overview
  • Introduction
  • Feedback set problems
  • Fixed parameter complexity
  • Kernelization for Loop Cutset
  • Algorithmic considerations
  • Experimental evaluation

3
Feedback Vertex Set
  • Instance
  • An undirected graph G (V,E)
  • An integer k
  • Question
  • Does there exist an S Vof size at most ksuch
    that G V-S is acyclic?

4
Feedback set problems
Feedback vertex set
Feedback edge set
Feedback arc set
Directed feedback vertex set (and Loop Cutset)
5
Feedback set problems
Feedback vertex set
Feedback edge setEasy spanning tree
Feedback arc set
Directed feedback vertex set (and Loop Cutset)
6
Feedback set problems
Feedback vertex set
Feedback edge setEasy spanning tree
NP-COMPLETE
Feedback arc set
Directed feedback vertex set (and Loop Cutset)
7
Typical complexity theory
  • Natural problems tend to be either
  • in P ? Nice
  • NP-Complete ? Nasty
  • How to solve nasty problems?
  • Solve only small instances
  • Dont actually solve the problem
  • Approximate
  • Exploit properties of certain instances

8
Feedback Vertex Set
  • Instance
  • An undirected graph G (V,E)
  • An integer k
  • Question
  • Does there exist an S Vof size at most ksuch
    that G V-S is acyclic?

9
Feedback Vertex Set
  • Instance
  • An undirected graph G (V,E)
  • An integer k
  • Question
  • Does there exist an S Vof size at most ksuch
    that G V-S is acyclic?

10
Feedback Vertex Set
  • Instance
  • An undirected graph G (V,E)
  • Parameter
  • An integer k
  • Question
  • Does there exist an S Vof size at most ksuch
    that G V-S is acyclic?

11
Fixed parameter complexity
  • Parameterized problems
  • Asymptotic runtime in both n and k
  • O( f(k) poly(n) ) ? Fixed
    Parameter Tractable
  • O( n f(k) )

12
Feedback set problems
Feedback vertex set
Feedback edge setEasy
NP-COMPLETE
Feedback arc set
Directed feedback vertex set
and Loop Cutset
13
Feedback set problems Parameterized on size of
solution
Feedback vertex set
Feedback edge setEasy
Feedback arc set
Directed feedback vertex set
and Loop Cutset
14
Feedback set problems Parameterized on size of
solution
Feedback vertex set Fixed parameter tractable
Feedback edge setEasy
Feedback arc set
Directed feedback vertex set
and Loop Cutset
15
Feedback set problems Parameterized on size of
solution
Feedback vertex set Fixed parameter tractable
Feedback edge setEasy
and Loop Cutset
?
Feedback arc set
Directed feedback vertex set
  • Not known to be FPT.
  • Not known to be W1-hard.
  • Even FPT ? W1 unknown. (Cf. P ? NP)

16
Feedback vertex set FPT
  • Feedback vertex set was already known to be fixed
    parameter tractable
  • Almost directly from some deep theorems of fixed
    parameter complexity
  • Not practical
  • There are several FPT algorithms
  • Practical?

17
Kernelization
  • Preprocessing with quality guarantee
  • Polynomial time algorithm
  • Input Graph G, parameter k
  • Output Graph G, parameter k lt k,
  • Such that
  • G has a FVS of size at most k iff G has a
    FVS of size at most k
  • G has O( s(k) ) vertices

18
Polynomial size kernel ? FPT
  • Kernelize to poly size in poly time, then solve
    the kernel in whatever way
  • O( pt(n) f( ps(k) ) ) time

19
Kernel for feedback vertex set
  • Bodlaender 06
  • Undirected Feedback Vertex Set has a kernel with
    O( k3 ) vertices

20
Kernel for feedback vertex set
  • This thesis contribution
  • Loop Cutset also has a kernelwith O( k3 )
    vertices
  • More extensiveanalysis of thealgorithms
  • Experimentalevaluation of thekernelizationsthe
    y are practical

21
Kernelization for Loop Cutset
22
Loop Cutset
  • Inference in probabilistic networks
  • Directed acyclic graphs
  • Pearls algorithm
  • Only works on trees
  • Cutset conditioning
  • Only interested in small loop cutsets, because
    conditioning is exponential

23
Loop Cutset
  • Instance
  • An directed acyclic graph G (V,A)
  • Parameter
  • An integer k
  • Question
  • Does there exist an S Vof size at most ksuch
    that for all simple loops, S contains a vertex
    that is not a sink on that loop

24
Loop Cutset
  • Instance
  • An directed acyclic graph G (V,A)
  • Parameter
  • An integer k
  • Question
  • Does there exist an S Vof size at most ksuch
    that for all simple loops, S contains a vertex
    that is not a sink on that loop

25
Kernelization for Loop Cutset
  • Transform to Blackout FVS
  • Kernelize Blackout FVS
  • Based on Bodlaenders FVS kernelization
  • Transform back

26
Blackout Feedback Vertex Set
  • Instance
  • An undirected graph G(V,E)
  • A set X V of blacked out vertices
  • Parameter
  • An integer k
  • Question
  • Does there exist an S V-Xof size at most
    ksuch that G V-S is acyclic

27
Transform to Blackout FVS
  • Split all vertices v into vin and vout
  • Blackout all in vertices

28
Transform to Blackout FVS
  • Split all vertices v into vin and vout
  • Blackout all in vertices

29
Transform to Blackout FVS
  • Split all vertices v into vin and vout
  • Blackout all in vertices

30
Kernelization overview
  • A collection of rules
  • A proof if none of the rules apply, thenthe
    graph can have only O( k3 ) vertices
  • Complicated not in this presentation
  • An algorithm
  • just keep trying the rules until none apply

31
Rules simple
  • Islet
  • Remove degree 0 vertices.
  • Twig
  • Remove degree 1 vertices.
  • Triple edge
  • Remove more-than-double edges.

32
Degree two
  • Originally bypass degree-two vertices
  • For each degree-two vertex
  • Exists optimal FVS that doesnt use itchoose
    one of its neighbors

33
Rule degree two
  • Suppose v is a vertex with exactly two neighbors
    x and y.
  • If v is blacked out, bypass it.

v
y
x
y
x
34
Rule degree two
  • Suppose v is a vertex with exactly two neighbors
    x and y.
  • If v is allowed, and it has an allowed neighbor,
    bypass v.

v
y
x
y
x
35
Rule degree two
  • Suppose v is a vertex with exactly two neighbors
    x and y.
  • If v is allowed, x and y are both blacked out
  • Leave it in there.

v
y
x
36
Rule self-loop
  • Suppose v has a self-loop.
  • If v is allowed, select it in the FVS.
  • If v is blacked out, conclude No.

37
Rule self-loop
  • Suppose v has a self-loop.
  • If v is allowed, select it in the FVS.
  • If v is blacked out, conclude No.

38
Rule black double edge
  • Suppose v has a double edge to a blacked out
    vertex
  • If v is allowed, select it in the FVS.
  • If v is blacked out, conclude No.
  • Basically a self-loop

39
Rule black double edge
  • Suppose v has a double edge to a blacked out
    vertex
  • If v is allowed, select it in the FVS.
  • If v is blacked out, conclude No.
  • Basically a self-loop

40
Rule large double degree
  • Suppose v has k1 double edges
  • If v is allowed, select it in the FVS.
  • If v is blacked out, conclude No.

41
Rule large double degree
  • Suppose v has k1 double edges
  • If v is allowed, select it in the FVS.
  • If v is blacked out, conclude No.

42
Flower rule example, k 2
43
Flower rule example, k 2
v
44
Flower rule example, k 2
45
Rule flower
  • Suppose there are k1 cycles that are
    vertex-disjoint except all include v.
  • If v is allowed, select it in the FVS.
  • If v is blacked out, conclude No.

46
Flower rule example, k 2
47
Cascade of degree-2 rule
48
Cascade of degree-2 rule
49
Cascade of degree-2 rule
50
Cascade of degree-2 rule
51
Cascade of degree-2 rule
52
Flower rule example, before
53
Improvement rule example, k 2
54
Improvement rule example, k 2
A
B
55
Improvement rule example, k 2
A
B
56
Rule improvement
  • Suppose there are k2 vertex-disjoint paths
    between vertices u and v.
  • If both are allowed, add a double edge (u,v).
  • If only one is allowed, select it in the FVS.
  • If both are blacked out, conclude No.

57
Improvement rule example, k 2
A
B
58
Improvement rule example, k 1
A
B
59
Improvement rule example, k 1
A
B
60
Large double degree, k 1
61
Large double degree, k 1
62
Rule blacked out component
  • Suppose C is a connected component in GX
    contract C into one vertex.

63
Rule 2-approximation
  • Suppose a 2-approximate FVS is larger than 2k
    conclude No.

64
Abdication rule example
65
Abdication rule example
66
Abdication rule example
67
Abdication rule example
68
Abdication rule example
69
Abdication rule example 2
70
Abdication rule example 2
71
Abdication rule example 2
72
Abdication rule example 2
73
Abdication rule example 2
74
Rule abdication
  • Suppose a vertex v governs a piece X.
  • If it has one edge into X, remove that edge.
  • If it has multiple edges into X, select v in the
    FVS.

75
Rule overview
  • Islet, Twig, Triple edge
  • Degree two
  • Self-loop, Black double edge, Flower
  • Blacked out component
  • Improvement
  • 2-Approximation
  • Abdication

76
Transform back to Loop Cutset
  • Possibly edges between
  • Two allowed vertices
  • An allowed and a blacked out vertex
  • Not between two blacked out vertices
  • Blacked out component rule

77
Algorithmic considerations
78
Algorithmic considerations
  • A bunch of rules are they all required?
  • The complicated ones are.
  • Dropping any one of those size of output no
    longer bounded in k.
  • The O(k3) size bound, is it tight?
  • Yes.
  • How to efficiently check for the rules?

79
Justification of the rules
  • The Flower rule is required

80
Justification of the rules
  • The Abdication rule is required

81
Justification of the rules
  • The 2-Approximation rule is required
  • Consider a grid
  • Degree-2 rule cuts the corners

82
Justification of the rules
  • The 2-Approximation rule is required
  • Consider a grid
  • Nothing else happens if k 3

83
Justification of the rules
  • The 2-Approximation rule is required
  • Consider a grid
  • Nothing else happens if k 3
  • not Flower (just 2 petals)

84
Justification of the rules
  • The 2-Approximation rule is required
  • Consider a grid
  • Nothing else happens if k 3
  • not Improvement (just 4 paths)

85
Justification of the rules
  • The 2-Approximation rule is required
  • Consider a grid
  • Only the 2-approximation

86
Intuition why FVS is FPT
  • For n?8, fixed k, instances become either
  • Easy
  • Because they are sparse
  • Complicatedbut in a way that is easy to
    recognize
  • There is no way this can be done with only k
    vertices!
  • It is hard to make any complicated structure
    without making lots of cycles

87
Undirected vs Directed FVS
  • Undirected FVS is fixed param tractable
  • Directed FVS unknown, but seems harder
  • Why? Intuition
  • In a directed graph, it is easier to hide cycles

88
Loop Cutsetis fixed param tractable
  • Goes with Undirected FVS in this sense
  • Intuition
  • Loops are undirected
  • The extra condition on how to break a loop
    doesnt complicate matters enough
  • If a vertex is a sink on a loop, its neighbors
    are not sinks on that loop.

89
Experimental evaluation
90
Implementation
  • C
  • Library ofEfficient Data structures and
    Algorithms
  • By Algorithmic Solutions
  • Quite nice
  • Interesting experimental results

91
Runtime on random graphs, k20
92
Runtime on random graphs, k20
93
Runtime on random graphs
94
UAI06 Networkseffectiveness as heuristic
(histogram)
95
UAI06 Networksruntime
96
Effectiveness of the kernelization
  • After kernelization, one still needs to solve the
    problem on the kernel
  • So compare runtime of
  • solve, versus
  • kernelize and solve kernel
  • Following data solve using a simple
    branch-and-bound

97
Effectiveness of the kernelization
98
Effectiveness on UAI06 Networks
  • Unfortunately, those are way too big to find an
    optimal loop cutset for
  • Thousands of nodes
  • Kernelization improves quality of heuristics?

99
Summary
  • Loop Cutset also has a kernelwith O( k3 )
    vertices
  • More extensive analysis of the algorithms
  • Experimental evaluation of the kernelizations
    they are practical

100
Summary
  • Loop Cutset also has a kernelwith O( k3 )
    vertices
  • More extensive analysis of the algorithms
  • Experimental evaluation of the kernelizations
    they are practical
  • Questions?

101
Checking for the Flower rule
  • If v is a flower with k petals, there is a
    selection of edges where
  • v has 2k of its edges selected
  • All other vertices have either 2 or none of their
    edges selected

102
Flower with 3 petals
0
0
2
2
2
0
2
2
6
2
2
2
0
2
2
0
2
2
103
Checking for the Flower rule
  • Reduce to perfect matchingin general graphs
  • Then just use Edmonds algorithm

104
Flower with 3 petals
0
0
2
2
2
0
2
2
6
2
2
2
0
2
2
0
2
2
105
0,2-Matchting widget
  • No edges selected (vertex not in petal)

106
0,2-Matchting widget
  • Two edges selected (vertex in petal)
Write a Comment
User Comments (0)
About PowerShow.com