optimizing cycles and bases

OptimizingCyclesandBases AMSShortCourseonComputationalTopology - PowerPoint PPT Presentation

OptimizingCyclesandBases AMSShortCourseonComputationalTopology January5,2011 JeffErickson ComputerScienceDepartment UniversityofIllinoisatUrbanaChampaign jeffe@cs.illinois.edu


  1. Optimizing
Cycles
and
Bases AMS
Short
Course
on
Computational
Topology January
5,
2011 Jeff
Erickson Computer
Science
Department University
of
Illinois
at
Urbana‐Champaign jeffe@cs.illinois.edu

  2. Optimal
bases
and
cycles Given
a
topological
space
 X ,
find
any
of
the
following: Optimal
bases: ‣ Shortest
set
of
loops
that
generate
π 1 ( X ) ‣ Shortest
set
of
cycles
that
generate
 H 1 ( X ) ‣ Minimum‐weight
set
of
 k ‐cycles
that
generate
 H k ( X ) Optimal
cycles: ‣ Shortest
path/cycle
 homotopic 
to
a
given
path/cycle
in
 X ‣ Shortest
1‐cycle
 homologous 
to
a
given
1‐cycle
in
 X ‣ Minimum‐weight
k‐cycle
 homologous 
to
a
given
 k ‐cycle
in
 X 2

  3. Motivation:
localization [Dey,
Sun,
Cohen‐Steiner
2008] 3

  4. Motivation:
surface
parameterization [Tong,
Alliez,
Cohen‐Steiner,
Desbrun
2006] 4

  5. Motivation:
planar
embedding Any
genus‐ g 
graph
admits
a
 stochastic
embedding
into
a
 planar
graph
with
 expected
 distortion
O(log
 g ). ⇒ Lots
of
good
approximation
 algorithms
for
genus‐ g 
graphs. [Borradaile
Indyk
Lee
Sidiropoulos
’07–‘10] 5

  6. Motivation:
minimal
surfaces The
minimum‐area
surface
bounded
 by
a
knot
 K 
is
the
minimum‐cost
2‐ chain
homologous
to
 any 
surface
 bounded
by
 K [Sullivan
1990;
Dunfield,
Hirani
2010] 6

  7. Preliminaries 7

  8. Combinatorial
spaces ‣ Input
spaces
are
finite
 abstract 
simplicial,
cubical,
or
other
CW
 complexes ‣ Cells
have
non‐negative
weights/lengths
—
“geometry” ‣ We
only
consider
paths/cycles
in
the
1‐skeleton ‣ Otherwise,
we
don’t
know
how
to
compute
shortest
paths
efficiently! ‣ We
only
consider
k‐chains
in
the
k‐skeleton
(cellular
homology) ‣ Many
algorithms
in
this
talk
are
restricted
to
 2‐manifolds ‣ Homotopy
problems
are
 undecidable 
otherwise. 8

  9. Combinatorial
surfaces ‣ A
bunch
of
polygons
glued
together
into
a
surface ‣ Graph
 G 
embedded
on
a
2‐manifold
 Σ 
so
every
face
is
a
disk [Riemann
1857;
Heawood
1890;
Poincaré
1895;
Heffter
1898;
 Dehn
Heegaard
1907;
Kerékjártó
1923;
Radó
1937;
Edmonds
1960;
 Youngs
1963;
Gross
Tucker
1987
;
Mohar
Thomassen
2001] 9

  10. Combinatorial
surfaces ‣ Edges
of
 G 
have
non‐negative
weights ‣ We
consider
only
walks
on
(or
subgraphs
of)
the
graph
 G ‣ The
internal
geometry
of
faces
is
irrelevant/undefined 10

  11. Input
parameters Let
 n 
=
| V |
and
assume
genus
 g
 =
O( n 1–ε )
 Euler’s
formula
| V| –| E| +| F|
 =
2–2 g
 ⟹ 
| E |
=
O( n )
and
| F |
=
O( n )
 [Euler
1726,
L'Huilier
1811] 11

  12. Graph
duality Any
surface
graph
 G 
has
a
natural
 dual 
graph
 G *: ‣ vertices
of
 G* 
=
faces
of
 G ‣ edges
of
 G* 
=
edges
of
 G ‣ faces
of
 G* 
=
vertices
of
 G v v* f g f* g* u* u 12

  13. Tree‐cotree
decomposition A
 partition 
of
the
edges
of
G
into
three
disjoint
subsets: ‣ A
spanning
tree
 T ‣ A
spanning
cotree
 C 
—
C *
is
a
spanning
tree
of
 G * ‣ Leftover
edges
 L 
:=
 E \( C ∪ T )
—
Euler’s
formula
implies
| L |=2 g [von

Staudt
1847;
Eppstein
2003] 13

  14. Tree‐cotree
decomposition A
 partition 
of
the
edges
of
G
into
three
disjoint
subsets: ‣ A
spanning
tree
 T ‣ A
spanning
cotree
 C 
—
C *
is
a
spanning
tree
of
 G * ‣ Leftover
edges
 L 
:=
 E \( C ∪ T )
—
Euler’s
formula
implies
| L |=2 g [von

Staudt
1847;
Eppstein
2003] 13

  15. Tree‐cotree
decomposition A
 partition 
of
the
edges
of
G
into
three
disjoint
subsets: ‣ A
spanning
tree
 T ‣ A
spanning
cotree
 C 
—
C *
is
a
spanning
tree
of
 G * ‣ Leftover
edges
 L 
:=
 E \( C ∪ T )
—
Euler’s
formula
implies
| L |=2 g [von

Staudt
1847;
Eppstein
2003] 13

  16. Tree‐cotree
decomposition A
 partition 
of
the
edges
of
G
into
three
disjoint
subsets: ‣ A
spanning
tree
 T ‣ A
spanning
cotree
 C 
—
C *
is
a
spanning
tree
of
 G * ‣ Leftover
edges
 L 
:=
 E \( C ∪ T )
—
Euler’s
formula
implies
| L |=2 g [von

Staudt
1847;
Eppstein
2003] 13

  17. Optimal
homotopy
bases 14

  18. Optimal
homotopy
basis ‣ Given
a
combinatorial
surface
Σ
and
a
basepoint
 x ∈ Σ,
find
2 g 
loops
 of
minimum
total
length
that
generate
π 1 (Σ,
 x ). 15

  19. An
easy
homotopy
basis ‣ Let
( T ,
 L ,
 C )
be
 any 
tree‐cotree
decomposition
of
 G ‣ Computed
in
O( n )
time
via
depth‐
or
breadth‐first
search ‣ For
any
edge
 uv ∈ L,
let
ℓ( uv )
:=
 T [ x , u ] ⋅ uv ⋅ T[ v , x ] ‣ T [ s , t ]
=
unique
path
in
 T
 from
 s 
to
 t ‣ Computed
in
O(1)
time
per
edge ‣ ℓ( L )
:=
{ℓ( e )
|
 e ∈ L }
is
a
basis
for
π 1 (Σ,
 x ) ‣ Total
construction
time:
O( n
 + 
k )
=
O( ng ) [Eppstein
2003] 16

  20. A
greedy
homotopy
basis ‣ Let
( T ,
 L ,
 C )
be
the
 greedy 
tree‐cotree
decomposition
of
 G ‣ T 
:=
 shortest
path
tree 
rooted
at
 x ‣ C *
:=
 maximum
spanning
tree
 of 
G *
where
 w ( e *)
:=
|ℓ( e )| ‣ ℓ( L )
:=
{ℓ( e )
|
 e ∈ L }
is
the
shortest
basis
for
π 1 (Σ,
 x ) [Erickson,
Whittlesey
2005;
Colin
de
Verdière
2010] ‣ Textbook
algorithms
compute
 T 
and
 C *
in
O( n 
log
 n )
time [Dijkstra
1959;
Borůvka
1926;
Jarník
1930
=
Prim
1957;
Kruskal
1956] ‣ If
 g 
=
O( n 1–ε ),
both
 T 
and
 C *
can
be
computed
in
O( n )
time [Henzinger,
Klein,
Rao,
Subramanian
1997;
Borůvka
1926;
Mareš
2004] 17

  21. Summary
 ‣ Shortest
basis
of
π 1 (Σ,
 x )
can
be
computed
in
O( n
+
k )
=
O( gn )
time. ‣ If
no
basepoint
specified,
try
every
basepoint:
O( n 2 )
time. [Erickson,
Whittlesey
2005] 18

  22. Canonical
homotopy
basis ‣ A
homotopy
basis
with
any
fixed
incidence
pattern
(depending
 only
on
the
genus) ‣ The
shortest
homotopy
basis
is
 not 
necessarily
canonical! 3 4 2 1 3 2 4 1 19

  23. Canonical
homotopy
basis ‣ A
canonical
homotopy
basis
with
any
given
basepoint
can
be
 computed
in
O( gn )
time. [Dey,
Schipper
1995;
Lazarus,
Pocchiola,
Vegter,
Verroust
2001] ‣ Given
a
homotopy
basis
with
complexity
 k ,
the
shortest
 homotopic 
 basis
can
be
computed
in
O( g 4 nk 4 )
time. [Colin
de
Verdière,
Lazarus
2005;
Colin
de
Verdière,
Lazarus
2006]
 Open:
 Can
the
 shortest 
canonical
homotopy
basis
be
computed
in
 polynomial
time,
or
is
that
problem
NP‐hard? 20

  24. Optimal
homology
bases 21

  25. Optimal
homology
basis ‣ Given
a
combinatorial
surface
Σ,
find
2 g 
cycles
of
minimum
total
 length
that
generate
 H 1 (Σ). 22

  26. An
easy
homology
basis ‣ Let
( T ,
 L ,
 C )
be
 any 
tree‐cotree
decomposition
of
 G ‣ Computed
in
O( n )
time
via
depth‐
or
breadth‐first
search ‣ For
any
edge
 e ∈ L,
let
γ( uv )
be
the
unique
cycle
in
T ∪ e ‣ Computed
in
O(1)
time
per
edge ‣ {γ( e )
|
 e ∈ L }
is
a
basis
for
Η 1 (Σ) ‣ Total
construction
time:
O( n
 + 
k )
=
O( ng ) ‣ The
 shortest 
homology
basis
may
not
have
this
form. [Eppstein
2003] 23

  27. Shortest
homology
basis ‣ Fix
an
arbitrary
coefficient
 field 
 R. ‣ Each
cycle
in
the
shortest
homology
basis
over
 R
 is
also
a
loop
in
 the
greedy
 homotopy 
basis
at
some
basepoint. 

[Dey,
Sun,
Wang
2010] ‣ All
O( gn )
 candidate
cycles ,
along
with
vectors
encoding
their
 homology
classes,
can
be
computed
in
O( gn 2 )
time. [Erickson,
Whittlesey
2005] 24

  28. Shortest
homology
basis ‣ Because
 H 1 (Σ;
 R )
is
a
 vector
space ,
finding
the
shortest
basis
among
 the
candidate
cycles
is
a
 matroid
optimization 
problem. ‣ Solved
by
standard
greedy
algorithm
 [Kruskal
1956] B
 ← 
Ø for
each
candidate
cycle
γ
in
increasing
length
order if
γ
is
linearly
independent
from
B add
γ
to
B ‣ Greedy
algorithm
runs
in
O( gn 
log
 n 
+
 g 3
 n )
time ‣ Sort
homology
vectors;
use
Gaussian
elimination
to
test
independence [Erickson,
Whittlesey
2005] 25

Recommend


More recommend