Thomas C' van Dijk - PowerPoint PPT Presentation

1 / 55
About This Presentation
Title:

Thomas C' van Dijk

Description:

'Preprocessing with quality guarantee' ... Pick a value k. Preprocessing for: Does the network have a loop cutset of size at most k? ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 56
Provided by: Tha61
Category:

less

Transcript and Presenter's Notes

Title: Thomas C' van Dijk


1
Kernelization for Loop Cutset
  • Thomas C. van Dijk

2
Overview
  • Feedback set problems
  • the Loop Cutset problem
  • A kernelization for Loop Cutset
  • Preprocessing with a quality guarantee
  • 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 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

5
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 for all cycles, S contains a vertex on
    that cycle

NP-COMPLETE
6
Example
7
Example an FVS
8
Example an FVS
9
Example not an FVS
10
Example not an FVS
11
Example a lowerbound
12
Probabilistic / 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

13
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 for all cycles, S contains a vertex on
    that cycle

14
Loop 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

15
Loop 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

16
Loop 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

17
Loop 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

18
Kernelization for Loop Cutset
19
Kernelization
  • 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?

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

21
Blackout 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

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

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

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

25
Kernelization 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

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

27
Degree two
  • In regular Feedback Vertex Set
  • For each degree-two vertex,exists optimal FVS
    that doesnt use it
  • More complicated with blacked out vertices

28
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
29
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
x
y
30
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
31
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.

32
Flower rule example, k 2
33
Flower rule example, k 2
v
34
Flower rule example, k 2
35
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.

36
Flower rule example, k 2
37
Cascade of degree-2 rule
38
Cascade of degree-2 rule
39
Cascade of degree-2 rule
40
Cascade of degree-2 rule
41
Cascade of degree-2 rule
42
Flower rule example, before
43
Rule 2-approximation
  • Suppose a 2-approximate FVS is larger than 2k
    conclude No.

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

45
Experimental evaluation
46
Implementation
  • C
  • Library ofEfficient Data structures and
    Algorithms
  • By Algorithmic Solutions
  • Quite nice

47
Runtime on random graphs, k20
48
Runtime on random graphs, k20
49
Runtime on random graphs
50
UAI06 Networks
51
UAI06 Networks runtime
52
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

53
Effectiveness of the kernelization
54
Effectiveness 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

55
Summary
  • Loop Cutset also has a kernelwith O( k3 )
    vertices
  • Experimental evaluation of the kernelizations
    they are practical
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com