OptimizingCyclesandBases AMSShortCourseonComputationalTopology - - PowerPoint PPT Presentation

optimizing cycles and bases
SMART_READER_LITE
LIVE PREVIEW

OptimizingCyclesandBases AMSShortCourseonComputationalTopology - - PowerPoint PPT Presentation

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


slide-1
SLIDE 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

slide-2
SLIDE 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
H1(X)
  • Minimum‐weight
set
of
k‐cycles
that
generate
Hk(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

slide-3
SLIDE 3

Motivation:
localization

3

[Dey,
Sun,
Cohen‐Steiner
2008]

slide-4
SLIDE 4

Motivation:
surface
parameterization

4

[Tong,
Alliez,
Cohen‐Steiner,
Desbrun
2006]

slide-5
SLIDE 5

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.

Motivation:
planar
embedding

5

[Borradaile
Indyk
Lee
Sidiropoulos
’07–‘10]

slide-6
SLIDE 6

Motivation:
minimal
surfaces

6

[Sullivan
1990;
Dunfield,
Hirani
2010]

The
minimum‐area
surface
bounded
 by
a
knot
K
is
the
minimum‐cost
2‐ chain
homologous
to
any
surface
 bounded
by
K

slide-7
SLIDE 7

Preliminaries

7

slide-8
SLIDE 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

slide-9
SLIDE 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

9

[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]

slide-10
SLIDE 10

Combinatorial
surfaces

  • Edges
of
G
have
non‐negative
weights
  • We
consider
only
walks
on
(or
subgraphs
of)
the
graph
G

10

  • The
internal
geometry
of
faces
is
irrelevant/undefined
slide-11
SLIDE 11

Input
parameters

Let
n
=
|V|
and
assume
genus
g
=
O(n1–ε)
 Euler’s
formula
|V|–|E|+|F|
=
2–2g
⟹
|E|
=
O(n)
and
|F|
=
O(n)


11

[Euler
1726,
L'Huilier
1811]

slide-12
SLIDE 12

Graph
duality

12

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

u* v*

f* g*

f g

u v

slide-13
SLIDE 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|=2g

13

[von

Staudt
1847;
Eppstein
2003]

slide-14
SLIDE 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|=2g

13

[von

Staudt
1847;
Eppstein
2003]

slide-15
SLIDE 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|=2g

13

[von

Staudt
1847;
Eppstein
2003]

slide-16
SLIDE 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|=2g

13

[von

Staudt
1847;
Eppstein
2003]

slide-17
SLIDE 17

Optimal
homotopy
bases

14

slide-18
SLIDE 18
  • Given
a
combinatorial
surface
Σ
and
a
basepoint
x∈Σ,
find
2g
loops

  • f
minimum
total
length
that
generate
π1(Σ,
x).

Optimal
homotopy
basis

15

slide-19
SLIDE 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)

16

[Eppstein
2003]

slide-20
SLIDE 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(n1–ε),
both
T
and
C*
can
be
computed
in
O(n)
time

[Henzinger,
Klein,
Rao,
Subramanian
1997;
Borůvka
1926;
Mareš
2004]

17

slide-21
SLIDE 21

[Erickson,
Whittlesey
2005]

Summary


  • Shortest
basis
of
π1(Σ,
x)
can
be
computed
in
O(n
+
k)
=
O(gn)
time.
  • If
no
basepoint
specified,
try
every
basepoint:
O(n2)
time.

18

slide-22
SLIDE 22

Canonical
homotopy
basis

  • A
homotopy
basis
with
any
fixed
incidence
pattern
(depending

  • nly
on
the
genus)
  • The
shortest
homotopy
basis
is
not
necessarily
canonical!

19

1 2 1 2 3 4 3 4

slide-23
SLIDE 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(g4nk4)
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

slide-24
SLIDE 24

Optimal
homology
bases

21

slide-25
SLIDE 25

Optimal
homology
basis

  • Given
a
combinatorial
surface
Σ,
find
2g
cycles
of
minimum
total


length
that
generate
H1(Σ).

22

slide-26
SLIDE 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.

23

[Eppstein
2003]

slide-27
SLIDE 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(gn2)
time.

24

[Erickson,
Whittlesey
2005]

slide-28
SLIDE 28
  • Because
H1(Σ;
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]
  • Greedy
algorithm
runs
in
O(gn
log
n
+
g3
n)
time
  • Sort
homology
vectors;
use
Gaussian
elimination
to
test
independence

Shortest
homology
basis

25

B
←
Ø for
each
candidate
cycle
γ
in
increasing
length
order if
γ
is
linearly
independent
from
B add
γ
to
B

[Erickson,
Whittlesey
2005]

slide-29
SLIDE 29
  • Because
H1(Σ;
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]
  • Greedy
algorithm
runs
in
O(gn
log
n
+
g3
n)
time
  • Sort
homology
vectors;
use
Gaussian
elimination
to
test
independence

Shortest
homology
basis

25

B
←
Ø for
each
candidate
cycle
γ
in
increasing
length
order if
γ
is
linearly
independent
from
B add
γ
to
B

[Erickson,
Whittlesey
2005]

slide-30
SLIDE 30
  • Because
H1(Σ;
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]
  • Greedy
algorithm
runs
in
O(gn
log
n
+
g3
n)
time
  • Sort
homology
vectors;
use
Gaussian
elimination
to
test
independence

Shortest
homology
basis

25

B
←
Ø for
each
candidate
cycle
γ
in
increasing
length
order if
γ
is
linearly
independent
from
B add
γ
to
B

[Erickson,
Whittlesey
2005]

slide-31
SLIDE 31

Shortest
homology
basis

  • For
any
combinatorial
surface
Σ
and
any
field
R,
the
shortest
basis


for
H1(Σ;
R)
can
be
computed
in
O(gn
log
n
+
g3
n)
time.

26

[Chen,
Friedman
2010;
Dey,
Sun,
Wang
2010]

slide-32
SLIDE 32

Shortest
homology
basis

  • For
any
combinatorial
surface
Σ
and
any
field
R,
the
shortest
basis


for
H1(Σ;
R)
can
be
computed
in
O(gn
log
n
+
g3
n)
time.

  • For
any
simplicial
complex
Σ
and
any
field
R,
the
shortest
basis
for


H1(Σ;
R)
can
be
computed
in
O(n4)
time.

  • Use
persistent
homology
instead
of
tree/cotree
decompositions
and
explicit


elimination.

26

[Chen,
Friedman
2010;
Dey,
Sun,
Wang
2010]

slide-33
SLIDE 33

Higher‐dimensional
homology

  • For
any
fixed
p≥2,
for
arbitrary
complexes
Σ,
computing
the


minimum‐volume
basis
for
Hp(Σ;
Z Z2)
is
NP‐hard.

  • volume
of
p‐cycle
=
total
weight
of
all
p‐cells

27

[Chen,
Friedman
2007;
Chen,
Friedman
2010]

slide-34
SLIDE 34

Higher‐dimensional
homology

  • For
any
fixed
p≥2,
for
arbitrary
complexes
Σ,
computing
the


minimum‐volume
basis
for
Hp(Σ;
Z Z2)
is
NP‐hard.

  • volume
of
p‐cycle
=
total
weight
of
all
p‐cells
  • For
any
p≥2,
for
arbitrary
complexes
Σ,
the
minimum‐radius
basis


for
Hp(Σ;
R)
can
be
computed
in
polynomial
time
for
any
field
R.

  • radius
of
p‐cycle
=
radius
of
smallest
ball
containing
the
cycle
  • uses
exactly
the
same
greedy
approach

27

[Chen,
Friedman
2007;
Chen,
Friedman
2010]

slide-35
SLIDE 35

What
about
Z Z?

Open
problem:
Can
the
optimal
basis
for
H1(Σ,
Z Z)
be
computed
in
 polynomial
time,
or
is
it
NP‐hard?

  • The
characterization
of
cycles
requires
the
coefficient
ring
to
be
a
field!
  • The
greedy
algorithm
requires
the
coefficient
ring
to
be
a
field!
  • H1(Σ,
Z

Z)
is
not
a
vector
space,
so
a
maximal
set
of
linearly
independent
vectors
 is
not
necessarily
a
basis,
even
for
surfaces.

28

[Erickson,
Whittlesey
2005]

slide-36
SLIDE 36

Shortest
homotopic
paths/cycles

29

slide-37
SLIDE 37

Shortest
homotopic
paths

30

  • Compute
the
shortest
path
π'
homotopic
to
a
given
path
π
in
a


combinatorial
surface
Σ.

  • The
path
π'
is
the
projection
of
the
shortest
path
in
the
universal


cover
Σ~
between
the
endpoints
of
any
lift
π̃
of
π.

  • This
characterization
does
not
immediately
give
us
an
algorithm;


the
universal
cover
Σ~
is
infinite!

  • Instead
we
need
to
construct
some
finite
relevant
subset
of
Σ~.
slide-38
SLIDE 38

Polygons
with
holes

(1) Triangulate
the
polygon,
and
label
each
diagonal

31

[Hershberger
Snoeyink
1994]

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4

slide-39
SLIDE 39

Polygons
with
holes

(2) Compute
the
crossing
sequence
of
π

32

[Hershberger
Snoeyink
1994] UTSRR21Z4334YXWVTSRQPJIHHHGFCBBAABDEKLMNOPPJ

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4

slide-40
SLIDE 40

Polygons
with
holes

(3) Reduce
the
crossing
sequence
of
π

33

[Hershberger
Snoeyink
1994] UTSRR21Z4334YXWVTSRQPJIHHHGFCBBAABDEKLMNOPPJ UTS21Z44YXWVTSRQPJIHGFCBDEKLMNOJ UTS21ZYXWVTSRQPJIHGFCBDEKLMNOJ

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4

slide-41
SLIDE 41

Polygons
with
holes

(4) Compute
the
sleeve
of
the
reduced
crossing
sequence

34

[Hershberger
Snoeyink
1994]

The
sleeve
is
the
relevant
subset
of
the
universal
cover!

slide-42
SLIDE 42

Polygons
with
holes

(5) Compute
the
shortest
path
in
the
sleeve
between
endpoints
of
π

35

[Hershberger
Snoeyink
1994]

Use
standard
“funnel”
algorithm

[Chazelle
1982;
Lee,
Preparata
1984]

slide-43
SLIDE 43

Polygons
with
holes

  • Given
a
polygonal
path
π
with
k
segments
in
a
polygon
P
with


holes,
the
shortest
path
in
P
homotopic
to
π
can
be
computed
in
 O(n
log
n
+
kn)
time.

  • Building
the
initial
triangulation
takes
O(n
log
n)
time.
  • Everything
else
takes
O(kn)
time.
  • A
similar
algorithm
finds
the
shortest
cycle
freely
homotopic
to
a


given
cycle,
in
the
same
time
bound.

36

[Hershberger
Snoeyink
1994]

slide-44
SLIDE 44

Combinatorial
surfaces

Given
a
path
π
with
k
edges
in
a
combinatorial
surface
Σ,
the
 shortest
path
homotopic
to
π
can
be
found
in
O(gn(log
n
+
k))
time. (1) Build
a
tight
hexagonal
decomposition
of
Σ
—
O(gn
log
n)
time (2)Reduce
the
path
π
—
O(gnk)
time (3)Build
relevant
region
of
Σ~
—
O(gnk)
time (4)Find
the
shortest
path
in
the
relevant
region
—
O(gnk)
time

37

[Colin
de
Verdière,
Erickson
2006]

slide-45
SLIDE 45

Tight
hexagonal
decomposition

4g
cycles,
each
as
short
as
possible
in
its
free
homotopy
class,
that
 decompose
Σ
into
“right‐angled
hexagons”

38

[Colin
de
Verdière,
Erickson
2006]

slide-46
SLIDE 46

Universal
cover

39

[Colin
de
Verdière,
Erickson
2006]

slide-47
SLIDE 47

40

M.
C.
Escher,
Circle
Limit
IV:
Heaven
and
Hell
(1960)

Universal
cover

slide-48
SLIDE 48

40

M.
C.
Escher,
Circle
Limit
IV:
Heaven
and
Hell
(1960)

Universal
cover

slide-49
SLIDE 49

Relevant
region

41

[Colin
de
Verdière,
Erickson
2006]

slide-50
SLIDE 50

Relevant
region

41

[Colin
de
Verdière,
Erickson
2006]

slide-51
SLIDE 51

Relevant
region

42

[Colin
de
Verdière,
Erickson
2006]

slide-52
SLIDE 52

Relevant
region

42

[Colin
de
Verdière,
Erickson
2006]

slide-53
SLIDE 53

Relevant
region

42

[Colin
de
Verdière,
Erickson
2006]

slide-54
SLIDE 54

Summary

  • Given
a
path
π
with
k
edges
in
a
combinatorial
surface
Σ,
the


shortest
path
homotopic
to
π
can
be
found
in
O(gn(log
n
+
k))
time.

  • A
similar
algorithm
computes
the
shortest
cycle
freely
homotopic


to
a
given
cycle
in
O(gnk
log
nk)
time.

43

[Colin
de
Verdière,
Erickson
2006]

slide-55
SLIDE 55

Shortest
homologous
cycles

44

slide-56
SLIDE 56

What
coefficients?

45

slide-57
SLIDE 57

What
coefficients?

45

Optimal
homology
bases:

  • Polynomial
time
for
H1
with
field
coefficients
(like
Z

Z2
or
IR)

  • NP‐hard
for
higher‐dimensional
homology
with
Z

Z2
coefficients

  • Open
for
H1
with
Z

Z
coefficients,
even
for
surfaces

slide-58
SLIDE 58

What
coefficients?

45

Optimal
homology
bases:

  • Polynomial
time
for
H1
with
field
coefficients
(like
Z

Z2
or
IR)

  • NP‐hard
for
higher‐dimensional
homology
with
Z

Z2
coefficients

  • Open
for
H1
with
Z

Z
coefficients,
even
for
surfaces

Optimal
homologous
cycles:

  • NP‐hard
for
H1
with
Z

Z2
coefficients,
even
for
surfaces

  • NP‐hard
for
H1
with
Z

Z
coefficients

  • Polynomial
time
for
any
dimension
with
IR
coefficients
  • Polynomial
time
for
manifolds
of
any
dimension
with
Z

Z
coefficients

slide-59
SLIDE 59

Shortest
Z Z2‐homologous
cycles

46

slide-60
SLIDE 60

Z Z2‐Homology

47

  • 1‐chain
=
subgraph
of
1‐skeleton
  • 1‐cycle
=
even
subgraph
of
1‐skeleton
  • 1‐boundary
=
boundary
of
the
union
of
2‐cells
  • Two
even
subgraphs
are
homologous
iff
their
symmetric
difference


is
a
boundary
subgraph

slide-61
SLIDE 61

Shortest
Z Z2‐homologous
“cycles”

48

  • Given
a
{cycle,
closed
walk,
even
subgraph}
γ
in
a
combinatorial


surface,
find
the
{cycle,
closed
walk,
even
subgraph}
of
minimum
 length
in
the
Z Z2‐homology
class
of
γ.

  • Unfortunately,
every
variant
is
NP‐hard!

[Chambers,
Colin
de
Verdière,
Erickson,
Lazarus,
Whittlesey
2006;
Chambers,
Erickson,
Nayyeri
2009]

  • But
solvable
in
2O(g)n
log
n
time.
[Erickson,
Nayerri
2011]
slide-62
SLIDE 62

NP‐hard

49

Hamiltonian
cycle
in
grid
graphs

[Chambers,
Colin
de
Verdière,
Erickson,
Lazarus,
Whittlesey
2006]

slide-63
SLIDE 63

Z Z2‐homology
cover
ΣQ

The
unique
connected
covering
space
of
Σ
whose
group
of
deck
 transformations
is
Η1(Σ;
Z Z2).

  • Cut
Σ
along
any
system
of
loops
ℓ1,

ℓ2,
...,

ℓ2g
into
a
disk
D.
  • Make
22g
copies
(D,h)
of
D,
one
for
each
homology
class
h
∈
Η1(Σ;
Z

Z2)
=
(Z Z2)2g.

  • For
each
class
h
and
index
i,
glue
(D,
h)
to
(D,
h⊕2i)
along
ℓi.
  • Σ•
has
n̄
=
22gn
vertices
(v,
h)
and
genus
ḡ
=
22g(g–1)+1.

50

[Erickson,
Nayerri
2011]

slide-64
SLIDE 64

Z Z2‐homology
cover
ΣQ

51

00 10 01 11

1 2 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2

00 11 01 10

1 1 1 1 2 2 2 2

[Erickson,
Nayerri
2011]

The
unique
connected
covering
space
of
Σ
whose
group
of
deck
 transformations
is
Η1(Σ;
Z Z2).

slide-65
SLIDE 65

Shortest
Z Z2‐homologous
closed
walks

  • Every
closed
walk
ω
in
Σ
through
a
vertex
v
is
the
projection
of
a


walk
ω̄
from
(v,0)
to
(v,[ω])
in
Σ•.

  • The
shortest
closed
walk
in
Σ
in
class
h
is
the
projection
of
the


shortest
path
in
Σ•
from
any
node
(v,o)
to
corresponding
node
(v,h)

  • n
independent
shortest
path
computations:
O(n
n̄)
=
O(22g
n2)
time.

[Henzinger,
Klein,
Rao,
Subramanian
1997]

  • parametric
shortest
path
data
structures:
O(g
ḡ
n̄
log
n̄)
=
2O(g)
n
log
n
time.

[Cabello,
Chambers,
Erickson
2011]

52

[Erickson,
Nayerri
2011]

slide-66
SLIDE 66

More
general
spaces

  • In
more
general
simplicial
complexes,
shortest
homologous
even


subgraphs
are
NP‐hard
to
approximate
to
any
constant
factor,
 even
when
β1
=
1.

[Chen
Freedman
2010]

53

slide-67
SLIDE 67

Shortest
IR‐
and
Z Z‐homologous
“cycles”

54

slide-68
SLIDE 68

IR‐chains

55

  • Fix
a
finite
cell
complex
X
of
any
dimension
and
a
non‐negative


integer
p≥1.

  • Let
m
=
#p‐cells
and
n
=
#(p+1)‐cells.
  • Real
p‐chains
can
be
identified
by
real
vectors
c
=
(c1,
c2,
...,
cm)
∈
IRm
  • The
weight
of
a
p‐chain
is
||c||1
=
Σi
|ci|
slide-69
SLIDE 69

Minimum‐weight
IR‐homologous
chains

56

  • Problem:
Given
a
real
p‐chain
c
in
some
cell
complex
X,
compute


the
minimum‐weight
p‐chain
x
that
is
IR‐homologous
to
c.

  • This
problem
can
be
solved
in
polynomial
time
by
expressing
it
as
a



linear
programming
problem.

[Sullivan
1990;
Dey,
Hirani,
Krishnamoorthy
2010]

slide-70
SLIDE 70

IR‐homology
linear
program

57

  • c
∈
IRm
—
input
p‐chain
  • x
=
x+
–
x–

∈
IRm
—
output
p‐chain
  • y
∈
IRn
—
(p+1)‐chain
  • [∂]
∈
IRm×n
—
boundary
matrix

minimize Σi
(xi+
+
xi–) subject
to x+
–
x–
=
c
+
[∂]y x+,
x–
≥
0

[Sullivan
1990;
Dey,
Hirani,
Krishnamoorthy
2010]

slide-71
SLIDE 71

Minimum‐weight
Z Z‐homologous
chains

58

  • Switching
from
IR‐homology
to
Z

Z‐homology
makes
the
problem
 NP‐hard.
[Hirani,
Dunfield
2010]

  • It
can
be
formulated
as
an
integer
programming
problem:

minimize Σi
(xi+
+
xi–) subject
to x+
–
x–
=
c
+
[∂]y x+,
x–
≥
0 x+,
x–
∈
Z Zm



y
∈
Z Zm

[Sullivan
1990;
Dey,
Hirani,
Krishnamoorthy
2010]

slide-72
SLIDE 72

Total
unimodularity

  • A
matrix
is
totally
unimodular
if
every
square
minor
has


determinant
–1,
0,
or
1.

  • If
A
is
totally
unimodular,
then
for
any
integer
vector
b,
every



vertex
of
the
polyhedron
{x
|
Ax
≤
b}
has
integer
coordinates.

  • If
the
constraint
matrix
for
a
linear
program
is
totally
unimodular,


its
solution
is
an
integer
vector.

59

[Veinott,
Dantzig
1968]

slide-73
SLIDE 73

Total
unimodularity

  • The
boundary
matrix
[∂p+1]
of
a
cell
complex
X
is
totally
unimodular


if
and
only
if
Hp(Y,
Z)
is
torsion‐free
for
all
pure
subcomplexes
 Z⊂Y⊆X
with
dim
Y
=
p+1
and
dim
Z
=
p.

  • This
condition
can
be
checked
in
polynomial
time.
[Seymour
1980]
  • Satisfied
by
any
orientable
(p+1)‐manifold
with
boundary.
  • If
X
meets
this
condition,
then
optimal
Z

Z‐homologous
chains
in
X
 can
be
found
in
polynomial
time
by
linear
programming.

60

[Dey,
Hirani,
Krishnamoorthy
2010]

slide-74
SLIDE 74

IReal
1‐cycles

  • Real
1‐chain
=
function
φ:E→IR
  • Assigns
a
direction
and
non‐negative
value
to
each
edge
  • Boundary
∂φ(v)
:=
Σu∈V
φ(u→v)
–
Σw∈V
φ(v→w)
  • Real
1‐cycle
=
function
φ:E→IR
such
that
∂φ=0
  • Graph
theory/algorithms/optimization
people
call
this
a
circulation.

61

slide-75
SLIDE 75

Minimum‐cost
circulations

  • Directed
graph
G
=
(V,
E)
where
every
edge
e∈E
has
a
non‐negative



capacity
c(e)
and
a
cost
$(e)

  • A
feasible
circulation
in
G
is
a
function
φ:E→IR
satisfying...
  • capacity
constraint:
0
≤
φ(e)
<
c(e)
for
every
edge
e∈E
  • conservation
constraint:
Σu∈V
φ(u→v)
=
Σw∈V
φ(v→w)
for
every
vertex
v∈V
  • The
cost
of
a
circulation
φ
is
$(φ)
=
Σe∈E
$(e)⋅φ(e)
  • The
feasible
circulation
of
minimum
cost
can
be
computed
in


polynomial
time
[Tardos
1985;
Goldberg,
Tarjan
1989]

62

slide-76
SLIDE 76

Orientable
manifolds

  • If
X
is
an
orientable
(p+1)‐manifold,
the
dual
of
the
IR‐homology


linear
program
describes
a
minimum‐cost
circulation
problem.

  • G
=
dual
1‐skeleton
of
X
  • n
vertices
dual
to
(p+1)‐cells
  • m
directed
edges
dual
to
oriented
p‐cells
  • every
edge
has
capacity
1
  • cost
of
each
edge
is
the
coefficient
of
c
for
corresponding
p‐cell
  • So
optimal
Z

Z‐homologous
chains
in
orientable
manifolds
can
be
 computed
in
polynomial
time
via
circulation
algorithms.

  • Much
faster
than
generic
LP
algorithms,
both
in
theory
and
in
practice.

63

[Sullivan
1990]

slide-77
SLIDE 77

Maximum
flows
in
surface
graphs

64

slide-78
SLIDE 78

Maximum
flows

65

  • Directed
graph
G
=
(V,
E),
capacity
function
c:E→IR+,
two
vertices
s,t
  • A
feasible
(s,t)‐flow
in
G
is
a
function
φ:E→IR
satisfying...
  • capacity
constraint:
0
≤
φ(e)
<
c(e)
for
every
edge
e∈E
  • conservation
constraint:
Σu∈V
φ(u→v)
=
Σw∈V
φ(v→w)
for
every
vertex
v∈V\{s,t}
  • Flow
φ
has
value
|φ|
=
Σw∈V
φ(s→w)
–
Σu∈V
φ(u→s)
  • A
circulation
is
just
a
flow
with
value
0
  • A
flow
is
just
a
relative
1‐cycle
  • We
want
a
feasible
(s,t)‐flow
with
maximum
value.

[Ford
Fulkerson
1955]

slide-79
SLIDE 79

Maximum
flows

66

[Harris
Ross
’55,
Ford
Fulkerson
‘56]

slide-80
SLIDE 80

/54

Maximum
flows

67

How
much
water
can
we
inject
at
s
and
extract
at
t? s t

[“Blush”
prototype
radiator
design
by
Thorunn
Arnadottir]

slide-81
SLIDE 81

Maximum
flow
algorithms

  • In
graphs
with
n
vertices
and
O(n)
edges:
  • O(n2
log
n)
time
[Sleator,
Tarjan
1983;
Goldberg
Tarjan
1988;
Goldberg,
Grigoriadis,


Tarjan
1991;
Hochbaum
2008]

  • O(n3/2
log
n
log
U)
time
for
integer
capacities
less
than
U

[Goldberg,
Rao
1998]

  • In
planar
graphs:
  • Undirected:
O(n
log
log
n)
time
[Wulff‐Nilsen
2010;
Italiano,
Sankowski
2010]
  • Only
recently
improved
from
O(n
log
n)
time
[Reif
1983;
Hassin
Johnson
1985;
Frederickson
1987]
  • Directed:
O(n
log
n)
time
[Borradaile,
Klein
2009;
Erickson
2010]

68

slide-82
SLIDE 82

Cocycles

  • Suppose
G
is
embedded
on
an
orientable
surface
Σ
  • A
cocycle
is
a
subgraph
λ
of
G
dual
to
a
directed
cycle
λ*
in
G*
  • Define
φ(λ)
=
Σe∈γ
φ(e)
and
c(λ)
=
Σe∈γ
c(e)

69

[Chambers,
Erickson,
Nayyeri
2009]

slide-83
SLIDE 83

Homologous
flows

  • An
(s,t)‐flow
φ
is
just
a
real
1‐chain
with
boundary
|φ|(t–s)
  • Easy
lemma:
Flows
φ
and
ψ
are
homologous
iff
φ(λ)
=
ψ(λ)
for


every
cocycle
λ.

  • Set
of
homology
classes
of
flows
is
the
relative
homology
group


H1(Σ,
{s,t})
=
IR2g+1

70

[Chambers,
Erickson,
Nayyeri
2009]

slide-84
SLIDE 84

Feasible
homology
class

  • A
homology
class
of
flows
is
feasible
if
it
contains
a
feasible
flow
  • Lemma:
The
homology
class
[φ]
is
feasible
if
and
only
if
φ(λ)
≤
c(λ)


for
every
cocycle
λ.

  • Feasibility
of
[φ]
can
be
tested
in
O(g2
n
log2
n)
time
  • Shortest
path
algorithm
in
the
dual
residual
network
G*

φ

  • Finds
either
a
feasible
flow
homologous
to
φ
or

a
cocycle
that
φ
overflows.

71

[Venkatesan
’83
(planar);
Klein,
Mozes,
Weimann
2009
(planar); Chambers,
Erickson,
Nayyeri
2009]

slide-85
SLIDE 85

Linear
programming,
again

  • Represent
flow
homology
classes
[φ]
as
vectors
in
IR2g+1
  • φ(λ)
≤
c(λ)
is
a
linear
constraint
on
the
homology
vector
[φ]
  • Flow
value
|φ|
is
a
linear
function
of
the
homology
vector
[φ]
  • So
finding
the
feasible
flow
homology
class
of
maximum
value
is
a


linear
programming
problem

72

[Chambers,
Erickson,
Nayyeri
2009]

slide-86
SLIDE 86

Linear
programming,
again

Finding
the
feasible
homology
class
of
maximum
value
is
a
linear
 programming
problem

  • Good
news:
Only
2g+1
variables!
  • The
feasible
homology
polytope
is
just
the
projection
of
the
feasible
flow


polytope
into
IR2g+1

  • Bad
news:
nO(g)

non‐redundant
constraints
—
too
big
to
solve


explicitly!

73

[Chambers,
Erickson,
Nayyeri
2009]

slide-87
SLIDE 87

Linear
programming,
again

We
have
a
membership/separation
oracle
that
runs
in
O(g2
n
log2
n)
 time,
so
we
can
solve
the
flow
homology
LP
implicitly:

  • O(g8
n
log4
n
log2
C)
time
for
integer
capacities
that
sum
to
C,




via
central‐cut
ellipsoid
method

[Shor
Nemirovsky
Yudin
‘72;
Khachiyan
‘79;
Grötschel
Lovász
Schrijver
‘81,
‘93]

  • gO(g)
n3/2
time
via
multidimensional
parametric
search


[Cohen
‘91;
Cohen
Megiddo
‘93;
Norton
Plotkin
Tardos
‘92;
Agarwal
Sharir
Toledo
‘93]

74

[Chambers,
Erickson,
Nayyeri
2009]

slide-88
SLIDE 88

Flows
in
surface
graphs

  • Maximum
flows
in
surface‐embedded
graphs
can
be
computed
in


O(g8
n
log4
n
log2
C)
time
for
integer
capacities,
or
in
gO(g)
n3/2
time
 for
arbitrary
capacities.

  • Faster
than
sparse‐graph
algorithms
by
O(n1/2)
when
g
=
O(1).
  • Similar
algorithms
compute
minimum‐cost
circulations
in
the
same


time
bounds.

  • Dual
algorithms
compute
minimum‐weight
IR‐
or
Z

Z‐homologous



 circulations
in
combinatorial
surfaces
in
the
same
time
bounds.

75

slide-89
SLIDE 89

Thank
you!

76

Thank
you! Thank
you! Thank
you! Thank
you! Thank
you! Thank
you!