Computing Shortest Non-trivial Cycles in Directed Surface Graphs - - PowerPoint PPT Presentation

computing shortest non trivial cycles in directed surface
SMART_READER_LITE
LIVE PREVIEW

Computing Shortest Non-trivial Cycles in Directed Surface Graphs - - PowerPoint PPT Presentation

Computing Shortest Non-trivial Cycles in Directed Surface Graphs Kyle Fox University of Illinois at Urbana-Champaign Saturday, February 11, 12 Surfaces 2-manifolds (with boundary) genus g : max # of disjoint simple cycles whose


slide-1
SLIDE 1

Computing Shortest Non-trivial Cycles in Directed Surface Graphs

Kyle Fox

University of Illinois at Urbana-Champaign

Saturday, February 11, 12

slide-2
SLIDE 2

Surfaces

  • 2-manifolds (with boundary)
  • genus g: max # of disjoint simple cycles

whose compliment is connected = number of holes = number of handles attached to sphere

Saturday, February 11, 12

slide-3
SLIDE 3

Surface Graphs

  • n vertices as points
  • m edges as (mostly) disjoint curves

Saturday, February 11, 12

slide-4
SLIDE 4

Surface Graphs

  • n vertices as points
  • m edges as (mostly) disjoint curves
  • Assume g = O(n) and m = O(n)

Saturday, February 11, 12

slide-5
SLIDE 5

Surface Graphs

  • n vertices as points
  • m edges as (mostly) disjoint curves
  • Assume g = O(n) and m = O(n)
  • We want to find non-trivial cycles

Saturday, February 11, 12

slide-6
SLIDE 6

Non-trivial Cycles

Non-separating Non-contractible Trivial ಠ_ಠ

Saturday, February 11, 12

slide-7
SLIDE 7

Finding Short Non-trivial Cycles

  • Want to minimize sum of real edge lengths
  • Natural question for surface embedded

graphs

  • Cutting along non-trivial cycles reduces the

complexity of the graph

  • Useful for combinatorial optimization,

graphics, graph drawing, …

Saturday, February 11, 12

slide-8
SLIDE 8

Results (Undirected)

Non-con. Non-sep. O(n3) O(n3) [Thomassen ’90] O(n2 log n) O(n2 log n) [Erickson, Har-peled ’04] gO(g) n3/2 O(g3/2 n3/2 log n + g5/2 n1/2) [Cabello, Mohar ’07] gO(g) n log n gO(g) n log n [Kutz ’06] O(g2 n log n) O(g2 n log n) [Cabello, Chambers ’06; C, C, Erickson ’12] gO(g) n log log n gO(g) n log log n [Italiano, et al. ’11]

Saturday, February 11, 12

slide-9
SLIDE 9

Undirected Edges are Kind

  • Walks have the same length as their

reversals

  • Shortest paths cross at most once
  • Neither holds in general for directed

graphs

Saturday, February 11, 12

slide-10
SLIDE 10

Results (Directed)

Non-con. Non-sep. O(n2 log n) and O(g1/2 n3/2 log n) O(n2 log n) and O(g1/2 n3/2 log n) [Cabello, Colin de Verdière, Lazarus ’10] 2O(g) n log n [Erickson, Nayyeri ’11] gO(g) n log n O(g2 n log n) [Erickson ’11] O(g3 n log n) [F ’11]

Saturday, February 11, 12

slide-11
SLIDE 11

Results (Directed)

Non-con. Non-sep. O(n2 log n) and O(g1/2 n3/2 log n) O(n2 log n) and O(g1/2 n3/2 log n) [Cabello, Colin de Verdière, Lazarus ’10] 2O(g) n log n [Erickson, Nayyeri ’11] gO(g) n log n O(g2 n log n) [Erickson ’11] O(g3 n log n) [F ’11]

Saturday, February 11, 12

slide-12
SLIDE 12

Cabello, Colin de Verdière, and Lazarus

  • O(n2 log n) time for shortest

non-contractible (non-separating) cycle

  • Finds one closed walk per vertex based on

the 3-path condition

Saturday, February 11, 12

slide-13
SLIDE 13

3-path Condition

  • Contractible (separating) cycles have these

properties:

  • 1. Their reversals are contractible

(separating)

Saturday, February 11, 12

slide-14
SLIDE 14

3-path Condition

  • Contractible (separating) cycles have these

properties:

  • 2. If α· rev(β), and β· rev(γ) are

contractible (separating), then α· rev(γ) is contractible (separating) α β γ

Saturday, February 11, 12

slide-15
SLIDE 15

3-path Condition

  • Contractible (separating) cycles have these

properties:

  • 2. If α· rev(β), and β· rev(γ) are

contractible (separating), then α· rev(γ) is contractible (separating) α β γ

Saturday, February 11, 12

slide-16
SLIDE 16

3-path Condition

  • Contractible (separating) cycles have these

properties:

  • 2. If α· rev(β), and β· rev(γ) are

contractible (separating), then α· rev(γ) is contractible (separating) α β γ

Saturday, February 11, 12

slide-17
SLIDE 17

3-path Condition

  • Contractible (separating) cycles have these

properties:

  • 2. If α· rev(β), and β· rev(γ) are

contractible (separating), then α· rev(γ) is contractible (separating) α β γ

Saturday, February 11, 12

slide-18
SLIDE 18

A Generic Algorithm

  • Given a family of closed walks with the 3-

path condition, we can find the shortest closed walk avoiding that family

  • We find the shortest interesting walk based

at each vertex

  • The idea can be used to find many types of

interesting cycles (including non-contractible and non-separating)

Saturday, February 11, 12

slide-19
SLIDE 19

Shortest Paths

  • Let T be the shortest path tree with source

s and R be the reverse shortest path tree with target s T s

Saturday, February 11, 12

slide-20
SLIDE 20

Shortest Paths

  • Let T be the shortest path tree with source

s and R be the reverse shortest path tree with target s R s

Saturday, February 11, 12

slide-21
SLIDE 21

Shortest Paths

  • We can compute both T and R in

O(n log n) time using Dijkstra’s algorithm

Saturday, February 11, 12

slide-22
SLIDE 22

Candidate Walks

  • The shortest interesting walk containing s

follows T, takes an edge (x→y) disjoint from T, and then follows R s T[s,x] R[y,s] (x→y)

Saturday, February 11, 12

slide-23
SLIDE 23

Candidate Walks

  • The shortest interesting walk containing s

follows T, takes an edge (x→y) disjoint from T, and then follows R s T[s,x] R[y,s] (x→y)

Saturday, February 11, 12

slide-24
SLIDE 24

Candidate Walks

  • The shortest interesting walk containing s

follows T, takes an edge (x→y) disjoint from T, and then follows R s T[s,x] R[y,s] (x→y)

Saturday, February 11, 12

slide-25
SLIDE 25

Candidate Walks

  • The shortest interesting walk containing s

follows T, takes an edge (x→y) disjoint from T, and then follows R s T[s,x] R[y,s] (x→y)

Saturday, February 11, 12

slide-26
SLIDE 26

Check All Edges

  • Check each edge (x→y) to see if T, R, and

(x→y) make an interesting walk

  • If we spend τ(n) time per edge, we can find

the shortest interesting walk through s in O(n τ(n) + n log n) time

  • We can find the shortest interesting cycle

in O(n2 τ(n) + n2 log n) time by finding walks through each vertex

Saturday, February 11, 12

slide-27
SLIDE 27

Fast Edge Checking

  • The edge (x→y) we want makes an

interesting undirected cycle with T s T[s,x] rev(T[t,s]) (x→y)

Saturday, February 11, 12

slide-28
SLIDE 28

Fast Edge Checking

  • We can play tricks with the dual graph to

check if each of these cycles is non- contractible or non-separating in constant time s T[s,x] rev(T[t,s]) (x→y)

Saturday, February 11, 12

slide-29
SLIDE 29

Fast Edge Checking

  • Fast edge checking lets us find the shortest

non-contractible or non-separating cycle in O(n2 log n) time

Saturday, February 11, 12

slide-30
SLIDE 30

Erickson

  • O(g2 n log n) time for shortest

non-separating cycle

  • Lifts graph to several finite covering spaces

Saturday, February 11, 12

slide-31
SLIDE 31

Covering Spaces

  • Each point x in the original space lies in an
  • pen neighborhood U such that one or

more open neighborhoods in the covering space have a homeomorphism to U

Saturday, February 11, 12

slide-32
SLIDE 32

Covering Spaces

… …

Saturday, February 11, 12

slide-33
SLIDE 33

Lifts and Projections

  • Any walk on the original surface has at

most one lift to the covering space that begins on a particular point

  • Each walk in the covering space projects to

a walk in the original space

Saturday, February 11, 12

slide-34
SLIDE 34

Covering Spaces

… …

Saturday, February 11, 12

slide-35
SLIDE 35

Cyclic Double Cover

  • Let λ be any non-separating cycle

Saturday, February 11, 12

slide-36
SLIDE 36

Cyclic Double Cover

  • Cut the surface along λ

Saturday, February 11, 12

slide-37
SLIDE 37

Cyclic Double Cover

  • Make two copies of the cut surface

Saturday, February 11, 12

slide-38
SLIDE 38

Cyclic Double Cover

  • Glue cut spaces together by identifying

their copies of λ

Saturday, February 11, 12

slide-39
SLIDE 39

Crossing λ

  • Let s be a vertex on the original surface

with copies s0 and s1 in the cover s s1 s0

Saturday, February 11, 12

slide-40
SLIDE 40

Crossing λ

  • A closed walk γ based at s lifts to a walk

from s0 to s1 if and only if γ crosses λ an

  • dd number of times

s0 s1 s

Saturday, February 11, 12

slide-41
SLIDE 41

Crossing λ

  • The shortest closed walk based at s

crossing λ an odd number of times is a shortest walk from s0 to s1 s0 s1 s

Saturday, February 11, 12

slide-42
SLIDE 42

System of Cycles

  • Compute a system of 2g non-separating

cycles from shortest paths in O(n log n + g n) time

  • Any non-separating cycle crosses at least
  • ne cycle in the system an odd number of

times

Saturday, February 11, 12

slide-43
SLIDE 43

Search the Double Cover

  • For each cycle λ in the system, build the

cyclic double cover

  • For each vertex s on λ, compute a shortest

path from s0 to s1 and return the shortest walk found

Saturday, February 11, 12

slide-44
SLIDE 44

Running Time

  • Can search for shortest paths in

O(g n log n) time per double cover [Cabello, Chambers, Erickson ’12]

  • O(g2 n log n) time spent searching 2g

covers

Saturday, February 11, 12

slide-45
SLIDE 45

Non-contractible Cycles

  • New algorithm to compute the shortest

non-contractible cycle in O(g3 n log n) time

  • Lifts graph to a different covering space

than Erickson

  • Presentation assumes the cycle is

separating and the surface has exactly one boundary cycle

Saturday, February 11, 12

slide-46
SLIDE 46

Infinite Cyclic Cover

  • Let λ be any non-separating cycle

Saturday, February 11, 12

slide-47
SLIDE 47

Infinite Cyclic Cover

  • Cut the surface along λ, and glue an infinite

number of copies together along λ

Saturday, February 11, 12

slide-48
SLIDE 48

Infinite Cyclic Cover

… …

Saturday, February 11, 12

slide-49
SLIDE 49

Cycles in the Cover

  • A cycle γ lifts to a cycle if and only if it

crosses λ left to right the same number of times as it crosses right to left

  • Any separating cycle lifts to a cycle
  • The shortest non-contractible cycle lifts to

a cycle

Saturday, February 11, 12

slide-50
SLIDE 50

Cycles in the Cover

… …

Saturday, February 11, 12

slide-51
SLIDE 51

Path Intersections

  • The shortest non-contractible cycle

intersects at most 2 lifts of any shortest path [Erickson ’11]

  • We only need 5 copies of the original

surface in the cover if we cut along a cycle made from shortest paths

  • Leave boundaries at the ends of the left and

rightmost copies

Saturday, February 11, 12

slide-52
SLIDE 52

Cycles in the Cover

Saturday, February 11, 12

slide-53
SLIDE 53

The Lifted Cycle

  • The shortest non-contractible cycle in the
  • riginal surface is the shortest non-

contractible cycle in the cover

  • We need to carefully choose the cycle we

cut along so that we avoid trying to solve the same problem

Saturday, February 11, 12

slide-54
SLIDE 54

Separating Boundary

  • (Again) compute a system of 2g

non-separating cycles from shortest paths in O(n log n + g n) time

  • At least one of the infinite cyclic covers

built from the cycles lifts the shortest non- contractible cycle to the shortest non-separating cycle or one that separates a pair of boundary

Saturday, February 11, 12

slide-55
SLIDE 55

Separating Boundary

Saturday, February 11, 12

slide-56
SLIDE 56

Search the Covers

  • For each cycle λ in the system, build a

subset of the infinite cyclic cover

  • Find the shortest cycle that is either non-

separating or separates a pair of boundary using (a modified version of) Erickson’s algorithm

Saturday, February 11, 12

slide-57
SLIDE 57

Running Time

  • Can search for short cycles in

O(g2 n log n) time per covering space

  • O(g3 n log n) time spent searching 2g

covers

Saturday, February 11, 12

slide-58
SLIDE 58

Conclusion

  • We sketched three algorithms for finding

non-trivial cycles in surface embedded graphs

  • The first runs in quadratic time, but its

speed does not depend on the genus

  • The other two run in near-linear time for

fixed genus

Saturday, February 11, 12

slide-59
SLIDE 59

Thank you

Saturday, February 11, 12