ShortestNontrivialCycles inDirectedSurfaceGraphs JeffErickson - - PowerPoint PPT Presentation

shortest nontrivial cycles in directed surface graphs
SMART_READER_LITE
LIVE PREVIEW

ShortestNontrivialCycles inDirectedSurfaceGraphs JeffErickson - - PowerPoint PPT Presentation

ShortestNontrivialCycles inDirectedSurfaceGraphs JeffErickson SOCG2011 Drink! 2 Theproblem Givenanedgeweighted directed graph G embeddedonasurface,


slide-1
SLIDE 1

Jeff
Erickson

SOCG
2011

Shortest
Nontrivial
Cycles in
Directed
Surface
Graphs

slide-2
SLIDE 2

Drink!

2

slide-3
SLIDE 3

The
problem

3

Given
an
edge‐weighted
directed
graph
G
embedded
on
a
surface, find
the
shortest
non‐contractible
or
non‐separating
cycle
in
G.

slide-4
SLIDE 4

The
problem

3

Given
an
edge‐weighted
directed
graph
G
embedded
on
a
surface, find
the
shortest
non‐contractible
or
non‐separating
cycle
in
G.

separating non‐contractible non‐separating non‐contractible separating contractible

slide-5
SLIDE 5

Why?

4

Finding
short
nontrivial
cycles
is
a
critical
 subproblem
of
several
more
complex
 surface‐graph
algorithms.

  • Topological
noise/feature
removal
  • Surface
parametrization
  • Shortest
homotopic
paths
  • Approximate
TSP
tours
and
Steiner
trees
  • Graph
isomorphism
  • Drawing
in
the
plane
with
few
crossings
  • Probabilistic
embedding
into
planar
graphs
  • ...
slide-6
SLIDE 6

Time
bounds
(undirected)

5

Non‐contractible Non‐separating O(n3) O(n3)

Thomassen
90

O(n2
log
n) O(n2
log
n)

Erickson
Har‐Peled
03,
04

gO(g)
n3/2 O(g3/2
n3/2
log
n)

Cabello
Mohar
05,
07

gO(g)
n4/3
log
n —

Cabello
06

gO(g)
n
log
n gO(g)
n
log
n

Kutz
06

O(g3
n
log
n) O(g3
n
log
n)

Cabello
Chambers
07

O(g2
n
log
n) O(g2
n
log
n)

Cabello
Chambers
Erickson In
some
of
these
bounds,
O(log
n)
factors
can
be
reduced
to
O(log
log
n)
 [Italiano
Nussbaum
Sankowski
Wulff‐Nielsen
STOC
11]

slide-7
SLIDE 7

Time
bounds
(directed)

6

Non‐contractible Non‐separating O(n2
log
n) O(n2
log
n)

Cabello,
Colin
de
Verdière,
 Lazarus
10

O(g1/2
n3/2
log
n) O(g1/2
n3/2
log
n) — 2O(g)
n
log
n

Erickson
Nayyeri
11

slide-8
SLIDE 8

Time
bounds
(directed)

6

Non‐contractible Non‐separating O(n2
log
n) O(n2
log
n)

Cabello,
Colin
de
Verdière,
 Lazarus
10

O(g1/2
n3/2
log
n) O(g1/2
n3/2
log
n) — 2O(g)
n
log
n

Erickson
Nayyeri
11

gO(g)
n
log
n

Same
as
Kutz
for
 undirected
graphs

O(g2
n
log
n)

Same
as
Cabello
et
al.
for
 undirected
graphs This
paper

slide-9
SLIDE 9

Two
main
ideas

  • 3‐path
condition:
The
shortest


nontrivial
cycle
consists
of
two
 shortest
paths
between
any
 pair
of
antipodal
points.



[Thomassen
90,
Erickson
Har‐Peled
04]

  • 1‐crossing
condition:
The


shortest
nontrivial
cycle
 crosses
any
shortest
path
at
 most
once.
































[Cabello
Mohar
05,
all
later
papers]

7

slide-10
SLIDE 10
  • Undirected
shortest
paths
cross
at
most
once.

Why
directed
graphs
are
harder

8

slide-11
SLIDE 11
  • Undirected
shortest
paths
cross
at
most
once.
  • Directed
shortest
paths
can
cross
arbitrarily
many
times!

Why
directed
graphs
are
harder

8

slide-12
SLIDE 12

Time
bounds
(directed)

9

Non‐contractible Non‐separating O(n2
log
n) O(n2
log
n)

Cabello,
Colin
de
Verdière,
 Lazarus
10

O(g1/2
n3/2
log
n) O(g1/2
n3/2
log
n) — 2O(g)
n
log
n

Erickson
Nayyeri
11

gO(g)
n
log
n

Same
as
Kutz
for
 undirected
graphs

O(g2
n
log
n)

Same
as
Cabello
et
al.
for
 undirected
graphs This
paper modified 3‐path
 condition modified 1–crossing
 condition

slide-13
SLIDE 13

Key
insight

  • Let
γ
be
the
shortest
nontrivial
directed
cycle.
  • Let
σ
be
any
directed
shortest
path
that
crosses
γ.

10

slide-14
SLIDE 14

Key
insight

  • Let
γ
be
the
shortest
nontrivial
directed
cycle.
  • Let
σ
be
any
directed
shortest
path
that
crosses
γ.
  • Contracting
σ
to
a
point
transforms
γ
into
a
set
of
loops.

10

slide-15
SLIDE 15

Key
insight

  • Let
γ
be
the
shortest
nontrivial
directed
cycle.
  • Let
σ
be
any
directed
shortest
path
that
crosses
γ.
  • Contracting
σ
to
a
point
transforms
γ
into
a
set
of
loops.
  • At
most
one
of
these
loops
is
nontrivial.

10

slide-16
SLIDE 16

Shortest
non‐separating
cycles

11

slide-17
SLIDE 17

Greedy
homology
basis

  • Greedy
tree‐cotree
decomposition
(T,
L,
C):

▹ T
=
single‐source
shortest‐path
tree
in
G ▹ C
=
dual
of
any
spanning
tree
of
(G\T)* ▹ L
=
G\(T∪C)
=
set
of
2g
edges

  • For
each
edge
ei
in
L,
let
λi
=
unique
undirected
cycle
in
T∪ei

12

[Eppstein
03,
Erickson
Whittlesey
05,
Cabello
Mohar
05]

slide-18
SLIDE 18

Greedy
homology
basis

Undirected
cycles
λ1,
λ2,
...,
λ2g
such
that:

  • Homology
basis:
Every
nonseparating
cycle
crosses
some
cycle
λi


an
odd
number
of
times.

  • Greedy:
Every
cycle
λi
consists
of
two
shortest
paths
σi
and
τi
and


an
edge.

13

[Eppstein
03,
Erickson
Whittlesey
05,
Cabello
Mohar
05]

slide-19
SLIDE 19

Greedy
homology
basis

Undirected
cycles
λ1,
λ2,
...,
λ2g
such
that:

  • Homology
basis:
Every
nonseparating
cycle
crosses
some
cycle
λi


an
odd
number
of
times.

  • Greedy:
Every
cycle
λi
consists
of
two
shortest
paths
σi
and
τi
and


an
edge.

13

[Eppstein
03,
Erickson
Whittlesey
05,
Cabello
Mohar
05]

σi τi ei

slide-20
SLIDE 20

Cyclic
double‐cover
ΣNλ

14

  • Fix
a
non‐separating
cycle
λ.

λ 
Σ

slide-21
SLIDE 21

Cyclic
double‐cover
ΣNλ

14

  • Fix
a
non‐separating
cycle
λ.
  • The
surface
Σʹ
:=
Σ
✂
λ
has
two


boundary
cycles
λ+
and
λ–. λ+ λ– 
Σʹ λ 
Σ

slide-22
SLIDE 22

Cyclic
double‐cover
ΣNλ

14

  • Fix
a
non‐separating
cycle
λ.
  • The
surface
Σʹ
:=
Σ
✂
λ
has
two


boundary
cycles
λ+
and
λ–.

  • Make
2
copies
(Σʹ,0)
and
(Σʹ,1)

λ 
Σ (λ+,1) (λ–,1) 
(Σʹ,1) (λ+,0) (λ–,0) 
(Σʹ,0)

slide-23
SLIDE 23

Cyclic
double‐cover
ΣNλ

14

  • Fix
a
non‐separating
cycle
λ.
  • The
surface
Σʹ
:=
Σ
✂
λ
has
two


boundary
cycles
λ+
and
λ–.

  • Make
2
copies
(Σʹ,0)
and
(Σʹ,1)
  • Identify
(λ+,1)
=
(λ–,0)
and








(λ+,0)
=
(λ–,1) λ 
Σ 
Σq 
(Σʹ,0) 
(Σʹ,1) λ+ λ– 
Σʹ

slide-24
SLIDE 24

Cyclic
double‐cover
ΣNλ

Any
cycle
γ
in
Σ
crossing
λ
an
odd
number
of
times is
the
projection
of
a path
γ̂
in
Σqλ
from
(s,0)
to
(s,1),
for
any
point
s
in
γ

15

slide-25
SLIDE 25

Cyclic
double‐cover
ΣNλ

Any
cycle
γ
in
Σ
crossing
λ
an
odd
number
of
times is
the
projection
of
a path
γ̂
in
Σqλ
from
(s,0)
to
(s,1),
for
any
point
s
in
γ

15

slide-26
SLIDE 26

Cyclic
double‐cover
ΣNλ

The
shortest
cycle
γ
in
Σ
crossing
λ
an
odd
number
of
times is
the
projection
of
a shortest
path
γ̂
in
Σqλ
from
(s,0)
to
(s,1),
for
any
point
s
in
γ

16

slide-27
SLIDE 27
  • Fix
a
non‐separating
cycle
λ
covered
by
two
shortest
paths
σ
and
τ.
  • Let
γ
=
shortest
cycle
crossing
λ
an
odd
number
of
times.
  • Suppose
γ
intersects
σ.

At
most
one
nontrivial
crossing

17

σ τ

slide-28
SLIDE 28
  • Fix
a
non‐separating
cycle
λ
covered
by
two
shortest
paths
σ
and
τ.
  • Let
γ
=
shortest
cycle
crossing
λ
an
odd
number
of
times.
  • Suppose
γ
intersects
σ.

At
most
one
nontrivial
crossing

17

σ

slide-29
SLIDE 29

At
most
one
nontrivial
crossing

  • Suppose
γ
intersects
σ
=
s0→s1→⋅⋅⋅→sk.

18

(σ,0) (σ,1)

slide-30
SLIDE 30

At
most
one
nontrivial
crossing

  • Suppose
γ
intersects
σ
=
s0→s1→⋅⋅⋅→sk.
  • Let
si
=
minimum‐index
vertex
of
σ
that
lies
on
γ.

18

(σ,0) (σ,1)

(si,1) (si,0)

slide-31
SLIDE 31

At
most
one
nontrivial
crossing

  • Suppose
γ
intersects
σ
=
s0→s1→⋅⋅⋅→sk.
  • Let
si
=
minimum‐index
vertex
of
σ
that
lies
on
γ.
  • Let
γ̂
=
shortest
path
in
Σqλ
from
(si,0)
to
(si,1).

18

(σ,0) (σ,1)

(si,1) (si,0)

slide-32
SLIDE 32

At
most
one
nontrivial
crossing

  • Suppose
γ
intersects
σ
=
s0→s1→⋅⋅⋅→sk.
  • Let
si
=
minimum‐index
vertex
of
σ
that
lies
on
γ.
  • Let
γ̂
=
shortest
path
in
Σqλ
from
(si,0)
to
(si,1).

18

(σ,0) (σ,1)

(si,1) (si,0)

slide-33
SLIDE 33

At
most
one
nontrivial
crossing

  • Suppose
γ
intersects
σ
=
s0→s1→⋅⋅⋅→sk.
  • Let
si
=
minimum‐index
vertex
of
σ
that
lies
on
γ.
  • Let
γ̂
=
shortest
path
in
Σqλ
from
(si,0)
to
(si,1).
  • γ̂
begins
with
a
subpath
of
(σ,0)
and
otherwise
avoids
(σ,0).


18

(σ,0) (σ,1)

(si,1) (si,0)

slide-34
SLIDE 34

Computing
γ̂
quickly

  • The
surface
Σqλ
✂
(σ,0)
has
one
boundary
cycle
(σ,0)±.
  • γ̂
is
a
shortest
path
in
this
surface,
either
from
(si,0)+
to
(si,1)
or


from
(si,0)–
to
(si,1).

19

(σ,1)

(si,0)+ (si,1) (si,0)–

(σ,0)±

slide-35
SLIDE 35

Multiple‐source
shortest
paths

  • Shortest
paths
in
Σqλ
✂
(σ,0)
from
every
node
in
(σ,0)±
to
the


corresponding
nodes
in
(σ,1),
in
O(gn
log
n)
time.

20

[Klein
05,
Cabello
Chambers
07,
Cabello
Chambers
Erickson]

(σ,1)

(si,0)+ (si,1) (si,0)–

(σ,0)±

slide-36
SLIDE 36

Algorithm

Build
the
greedy
homology
basis
λ1,
λ2,
...,
λ2g for
i ← 1
to
2g Build
the
cyclic
double
cover
Σqλi
with
respect
to
λi. Find
shortest
paths
in
Σqλi
✂
(σi,0)
from
(σi,0)±
to
(σi,1). Find
shortest
paths
in
Σqλi
✂
(τi,0)
from
(τi,0)±
to
(τi,1).

  • Total
running
time:
O(g2
n
log
n)

21

slide-37
SLIDE 37

Non‐contractible
cycles

22

Almost
the
same
algorithm,
except...

slide-38
SLIDE 38

Non‐contractible
cycles

22

Almost
the
same
algorithm,
except...

  • Greedy
homology
basis
➔
Greedy
homotopy
basis
slide-39
SLIDE 39

Non‐contractible
cycles

22

Almost
the
same
algorithm,
except...

  • Greedy
homology
basis
➔
Greedy
homotopy
basis
  • One
cycle
at
a
time
➔
All
2g
loops
at
once
slide-40
SLIDE 40

Non‐contractible
cycles

22

Almost
the
same
algorithm,
except...

  • Greedy
homology
basis
➔
Greedy
homotopy
basis
  • One
cycle
at
a
time
➔
All
2g
loops
at
once
  • Cyclic
double
cover
Σq
➔
Universal
cover
Σv
slide-41
SLIDE 41

Non‐contractible
cycles

22

Almost
the
same
algorithm,
except...

  • Greedy
homology
basis
➔
Greedy
homotopy
basis
  • One
cycle
at
a
time
➔
All
2g
loops
at
once
  • Cyclic
double
cover
Σq
➔
Universal
cover
Σv
  • Any
lift
of
the
shortest
non‐contractible
cycle
crosses








at
most
two
lifts
of
any
shortest
path


slide-42
SLIDE 42

Non‐contractible
cycles

22

Almost
the
same
algorithm,
except...

  • Greedy
homology
basis
➔
Greedy
homotopy
basis
  • One
cycle
at
a
time
➔
All
2g
loops
at
once
  • Cyclic
double
cover
Σq
➔
Universal
cover
Σv
  • Any
lift
of
the
shortest
non‐contractible
cycle
crosses








at
most
two
lifts
of
any
shortest
path


  • Need
“only”
gO(g)
copies
of
the
fundamental
domain




[Kutz
06]

slide-43
SLIDE 43

Non‐contractible
cycles

22

Almost
the
same
algorithm,
except...

  • Greedy
homology
basis
➔
Greedy
homotopy
basis
  • One
cycle
at
a
time
➔
All
2g
loops
at
once
  • Cyclic
double
cover
Σq
➔
Universal
cover
Σv
  • Any
lift
of
the
shortest
non‐contractible
cycle
crosses








at
most
two
lifts
of
any
shortest
path


  • Need
“only”
gO(g)
copies
of
the
fundamental
domain




[Kutz
06]

  • Total
running
time:
gO(g)
n
log
n
slide-44
SLIDE 44

Main
result

Given
an
edge‐weighted
directed
graph, embedded
on
a
surface
of
genus
g, we
can
compute the
shortest
non‐separating
cycle
in
O(g2
n
log
n)
time, and the
shortest
non‐contractible
cycle
in
gO(g)
n
log
n
time.

23

slide-45
SLIDE 45

Thank
you!

24

Katherine,
Dec
2006 Hannah,
Dec
2010