Title: Thomas C' van Dijk
1Kernelization for Loop Cutset
2Overview
- Feedback set problems
- the Loop Cutset problem
- A kernelization for Loop Cutset
- Preprocessing with a quality guarantee
- Experimental evaluation
3Feedback 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?
4Feedback Vertex Set
- Instance
- An undirected graph G (V,E)
- An integer k
- Question
- Does there exist an S Vof size at most ksuch
that for all cycles, S contains a vertex on
that cycle
5Feedback Vertex Set
- Instance
- An undirected graph G (V,E)
- An integer k
- Question
- Does there exist an S Vof size at most ksuch
that for all cycles, S contains a vertex on
that cycle
NP-COMPLETE
6Example
7Example an FVS
8Example an FVS
9Example not an FVS
10Example not an FVS
11Example a lowerbound
12Probabilistic / Bayesian networks
- Probability distribution encode as directed
acyclic graph with conditional probabilities at
the arcs - Recover specific probabilities from this
representation - One of the standard algorithms (Pearls) involves
a loop cutset - Runtime exponential in size of the cutset
13Feedback Vertex Set
- Instance
- An undirected graph G (V,E)
- An integer k
- Question
- Does there exist an S Vof size at most ksuch
that for all cycles, S contains a vertex on
that cycle
14Loop Cutset
- Instance
- A directed acyclic graph G (V,A)
- An integer k
- Question
- Does there exist an S Vof size at most ksuch
that for all simple loops, S contains a vertex
- on that loop - not a
sink
15Loop Cutset
- Instance
- A directed acyclic graph G (V,A)
- An integer k
- Question
- Does there exist an S Vof size at most ksuch
that for all simple loops, S contains a vertex
- on that loop - not a
sink
16Loop Cutset
- Instance
- A directed acyclic graph G (V,A)
- An integer k
- Question
- Does there exist an S Vof size at most ksuch
that for all simple loops, S contains a vertex
- on that loop - not a
sink
17Loop Cutset
- Instance
- A directed acyclic graph G (V,A)
- An integer k
- Question
- Does there exist an S Vof size at most ksuch
that for all simple loops, S contains a vertex
- on that loop - not a
sink
18Kernelization for Loop Cutset
19Kernelization
- Preprocessing with quality guarantee
- Cf approximation algorithm heuristic with
quality guarantee. - Pick a value k. Preprocessing for
- Does the network have a loop cutset of size at
most k?
20Kernelization for Loop Cutset
- Transform to Blackout FVS
- Kernelize Blackout FVS
- Based on Bodlaenders FVS kernelization
- Transform back
21Blackout Feedback Vertex Set
- Instance
- An undirected graph G(V,E)
- A set X V of blacked out vertices
- An integer k
- Question
- Does there exist an S V-Xof size at most
ksuch that G V-S is acyclic
22Transform to Blackout FVS
- Split all vertices v into vin and vout
- Blackout all in vertices
23Transform to Blackout FVS
- Split all vertices v into vin and vout
- Blackout all in vertices
24Transform to Blackout FVS
- Split all vertices v into vin and vout
- Blackout all in vertices
25Kernelization overview
- A collection of rules
- A proof if none of the rules apply, thenthe
graph can have only O( k3 ) vertices - The algorithmjust keep trying the rules until
none apply
26Rules simple
- Islet
- Remove degree 0 vertices.
- Twig
- Remove degree 1 vertices.
- Triple edge
- Remove more-than-double edges.
27Degree two
- In regular Feedback Vertex Set
- For each degree-two vertex,exists optimal FVS
that doesnt use it - More complicated with blacked out vertices
28Rule 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
29Rule 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
x
y
30Rule 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
31Rule self-loop
- Suppose v has a self-loop.
- If v is allowed, select it in the FVS.
- If v is blacked out, conclude No.
32Flower rule example, k 2
33Flower rule example, k 2
v
34Flower rule example, k 2
35Rule 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.
36Flower rule example, k 2
37Cascade of degree-2 rule
38Cascade of degree-2 rule
39Cascade of degree-2 rule
40Cascade of degree-2 rule
41Cascade of degree-2 rule
42Flower rule example, before
43Rule 2-approximation
- Suppose a 2-approximate FVS is larger than 2k
conclude No.
44Rule overview
- Islet, Twig, Triple edge
- Degree two
- Self-loop, Black double edge, Flower
- Blacked out component
- Improvement
- 2-Approximation
- Abdication
45Experimental evaluation
46Implementation
- C
-
- Library ofEfficient Data structures and
Algorithms - By Algorithmic Solutions
- Quite nice
47Runtime on random graphs, k20
48Runtime on random graphs, k20
49Runtime on random graphs
50UAI06 Networks
51UAI06 Networks runtime
52Effectiveness 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
53Effectiveness of the kernelization
54Effectiveness on UAI06 Networks
- Unfortunately, those are way too big to find an
optimal loop cutset for - Thousands of nodes
- Kernelization improves quality of other heuristics
55Summary
- Loop Cutset also has a kernelwith O( k3 )
vertices - Experimental evaluation of the kernelizations
they are practical - Questions?