Improved upper bounds for Random-Edge and Random

Improved upper bounds for Random-Edge and
Random-Jump on abstract cubes
Thomas Dueholm Hansen1
1
Mike Paterson2
Uri Zwick3
Department of Management Science and Engineering,
Stanford University, USA.
2 Department of Computer Science,
University of Warwick, United Kingdom.
3
School of Computer Science,
Tel Aviv University, Israel.
January 24, 2014
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
1/25
The content of this talk
A short introduction to:
Linear programming and Acyclic unique sink orientations
(AUSOs)
The simplex algorithm
Random-Edge, Random-Facet, and Random-Jump
Results: Upper bounds for Random-Edge and
Random-Jump for AUSOs of abstract cubes.
A glimpse at the analysis.
Some open problems.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
2/25
The content of this talk
A short introduction to:
Linear programming and Acyclic unique sink orientations
(AUSOs)
The simplex algorithm
Random-Edge, Random-Facet, and Random-Jump
Results: Upper bounds for Random-Edge and
Random-Jump for AUSOs of abstract cubes.
A glimpse at the analysis.
Some open problems.
Depending on time: A conjecture about Jump (Howard’s
policy iteration algorithm).
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
2/25
The simplex algorithm, Dantzig (1947)
max c T x
s.t.
Ax = b
x ≥ 0
c
Linear programming: Optimize a linear objective function
subject to linear constraints.
The simplex algorithm: Move from vertex to vertex along
edges while improving the objective. This operation is called
pivoting.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
3/25
Pivoting rules
c
Several improving pivots may be available for a given
vertex. The edge is then chosen by a pivoting rule.
Random-Edge: Repeatedly use a uniformly random
improving pivot.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
4/25
Oriented edges
c
The objective function defines an orientation of the edges.
Many pivoting rules only rely on this orientation.
Random-Edge performs a random walk in the resulting
graph until reaching the sink where all edges are incoming.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
5/25
Properties of the orientation
c
1
We may assume that the graph is acyclic.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
6/25
Properties of the orientation
c
1
2
We may assume that the graph is acyclic.
The unique sink property: In every face there is a unique
sink (optimal vertex within the face).
0-faces are vertices, 1-faces are edges, (n − 1)-faces are
facets, and the n-face is the entire polytope, where n is the
dimension.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
6/25
Abstract cubes
Acyclic unique sink orientations (AUSOs) (or abstract
objective functions) are orientations that are acyclic and
satisfy the unique sink property.
AUSOs can be defined for arbitrary polytopes. We focus on
the case where the underlying polytope is a hypercube.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
7/25
AUSOs and some applications
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
8/25
Another pivoting rule: Random-Facet
The Random-Facet pivoting rule by Kalai (1992) and
Matoušek, Sharir and Welzl (1992):
1
Pick a uniformly
random facet that
contains the current
vertex x.
2
Recursively find an
optimal solution x 0
within that facet.
3
If possible, make an
improving pivot
leaving the facet and
repeat.
Hansen, Paterson, and Zwick
P
f3
f2
x
f1
Random-Edge and Random-Jump on abstract cubes
9/25
Another pivoting rule: Random-Facet
The Random-Facet pivoting rule by Kalai (1992) and
Matoušek, Sharir and Welzl (1992):
1
Pick a uniformly
random facet that
contains the current
vertex x.
2
Recursively find an
optimal solution x 0
within that facet.
3
If possible, make an
improving pivot
leaving the facet and
repeat.
Hansen, Paterson, and Zwick
P
f3
f2
x
f1
Random-Edge and Random-Jump on abstract cubes
9/25
Another pivoting rule: Random-Facet
The Random-Facet pivoting rule by Kalai (1992) and
Matoušek, Sharir and Welzl (1992):
1
Pick a uniformly
random facet that
contains the current
vertex x.
2
Recursively find an
optimal solution x 0
within that facet.
3
If possible, make an
improving pivot
leaving the facet and
repeat.
Hansen, Paterson, and Zwick
P
f3
x0
f2
x
f1
Random-Edge and Random-Jump on abstract cubes
9/25
Another pivoting rule: Random-Facet
The Random-Facet pivoting rule by Kalai (1992) and
Matoušek, Sharir and Welzl (1992):
1
Pick a uniformly
random facet that
contains the current
vertex x.
2
Recursively find an
optimal solution x 0
within that facet.
3
If possible, make an
improving pivot
leaving the facet and
repeat.
Hansen, Paterson, and Zwick
P
f3
x00
x0
f2
x
f1
Random-Edge and Random-Jump on abstract cubes
9/25
Another pivoting rule: Random-Facet
The Random-Facet pivoting rule by Kalai (1992) and
Matoušek, Sharir and Welzl (1992):
1
Pick a uniformly
random facet that
contains the current
vertex x.
2
Recursively find an
optimal solution x 0
within that facet.
3
If possible, make an
improving pivot
leaving the facet and
repeat.
Hansen, Paterson, and Zwick
P
f3
x00
x0
f2
x
f1
Random-Edge and Random-Jump on abstract cubes
9/25
Analysis (unrelated, but awesome)
The analysis for cubes was specialized by Gärtner (2002).
The expected number of pivoting steps for an n-dimensional
cube is upper bounded by:
n
f (n) = f (n − 1) + 1 +
1X
f (n − i)
n
i=1
with f (0) = 0.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
10/25
Analysis (unrelated, but awesome)
The analysis for cubes was specialized by Gärtner (2002).
The expected number of pivoting steps for an n-dimensional
cube is upper bounded by:
n
f (n) = f (n − 1) + 1 +
1X
f (n − i)
n
i=1
with f (0) = 0.
By induction:
√
n
X
1 n
e2 n
f (n) =
∼ √
k! k
2 πe n1/4
k=1
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
10/25
Results about Random-Facet
Bounds for the expected number of steps performed by
Random-Facet for n-dimensional AUSOs.
√
Kalai (1992) and Matoušek, Sharir and Welzl (1992): 2Õ(
√
Gärtner (2002): 2O(
n)
Matoušek (1994): 2Ω(
√
n)
for abstract cubes
n)
for abstract cubes
Friedmann, Hansen, and Zwick (2011): 2Ω̃(
programs
Hansen, Paterson, and Zwick
√
3
n)
for linear
Random-Edge and Random-Jump on abstract cubes
11/25
Results about Random-Facet
Bounds for the expected number of steps performed by
Random-Facet for n-dimensional AUSOs.
√
Kalai (1992) and Matoušek, Sharir and Welzl (1992): 2Õ(
√
Gärtner (2002): 2O(
n)
Matoušek (1994): 2Ω(
√
n)
for abstract cubes
n)
for abstract cubes
Friedmann, Hansen, and Zwick (2011): 2Ω̃(
programs
√
3
n)
for linear
√
Note: In our SODA 2011 paper we proved a 2Ω̃( n) bound for
a modified variant of Random-Facet and incorrectly
claimed that the expected running time was the same. We
have repaired the analysis, but with a worse bound.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
11/25
Results about Random-Edge
Bounds for the expected number of steps performed by
Random-Edge for n-dimensional AUSOs of cubes (ignoring
polynomial factors).
Gärtner and Kaibel (2007): 2n /nlog n
We prove: 1.80n
Matoušek and Szabó (2006): 2Ω(
√
3
n)
Friedmann, Hansen, and Zwick (2011): 2Ω(
programs
Hansen, Paterson, and Zwick
√
4
n)
for linear
Random-Edge and Random-Jump on abstract cubes
12/25
Results about Random-Edge
Bounds for the expected number of steps performed by
Random-Edge for n-dimensional AUSOs of cubes (ignoring
polynomial factors).
Gärtner and Kaibel (2007): 2n /nlog n
We prove: 1.80n
Matoušek and Szabó (2006): 2Ω(
√
3
n)
Friedmann, Hansen, and Zwick (2011): 2Ω(
programs
√
4
n)
for linear
Open problem: Is Random-Edge subexponential?
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
12/25
Multiple joint pivots: Jump
Jump: Jump to the antipodal vertex in the sub-cube
spanned by the outgoing edges.
This algorithm generalizes Howard’s policy iteration
algorithm for solving Markov decision processes.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
13/25
Random-Jump
Random-Jump: Jump to a uniformly random vertex in the
sub-cube spanned by the outgoing edges.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
14/25
Results about Random-Jump
Bounds for the expected number of steps performed by
Random-Jump for n-dimensional AUSOs of cubes (ignoring
polynomial factors).
Mansour and Singh (1999): 1.72n
We prove: (3/2)n
Friedmann, Hansen, and Zwick (2011): 2Ω(
programs
Hansen, Paterson, and Zwick
√
4
n)
for linear
Random-Edge and Random-Jump on abstract cubes
15/25
Results about Random-Jump
Bounds for the expected number of steps performed by
Random-Jump for n-dimensional AUSOs of cubes (ignoring
polynomial factors).
Mansour and Singh (1999): 1.72n
We prove: (3/2)n
Friedmann, Hansen, and Zwick (2011): 2Ω(
programs
√
4
n)
for linear
Open problem: Is Random-Jump subexponential?
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
15/25
Important property of USOs of cubes
The vertices of an n-dimensional hypercube can be identified
by bit strings of length n, i.e., V = {0, 1}n .
The out-map of a vertex is the set of indices of outgoing
edges.
The orientation may be viewed as a mapping from vertices to
out-maps, φ : V → 2{1,...,n} .
Example: The vertex 00000 has outgoing edges to 00100
and 00010. Hence, φ(00000) = {3, 4}.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
16/25
Important property of USOs of cubes
The vertices of an n-dimensional hypercube can be identified
by bit strings of length n, i.e., V = {0, 1}n .
The out-map of a vertex is the set of indices of outgoing
edges.
The orientation may be viewed as a mapping from vertices to
out-maps, φ : V → 2{1,...,n} .
Example: The vertex 00000 has outgoing edges to 00100
and 00010. Hence, φ(00000) = {3, 4}.
Szabó and Welzl (2001): The out-maps of all 2n vertices are
distinct.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
16/25
Important property of USOs of cubes
The vertices of an n-dimensional hypercube can be identified
by bit strings of length n, i.e., V = {0, 1}n .
The out-map of a vertex is the set of indices of outgoing
edges.
The orientation may be viewed as a mapping from vertices to
out-maps, φ : V → 2{1,...,n} .
Example: The vertex 00000 has outgoing edges to 00100
and 00010. Hence, φ(00000) = {3, 4}.
Szabó and Welzl (2001): The out-maps of all 2n vertices are
distinct.
There are exactly kn vertices of out-degree k.
Most out-degrees are Θ(n).
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
16/25
Jumping on a DAG
n
Random-Jump performs
a random walk on a DAG kwith 2
n
vertices where exactly k vertices have out-degree 2 .
A jump from a vertex with out-degree k bypasses 2k−1
vertices on average.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
17/25
Jumping on a DAG
n
Random-Jump performs
a random walk on a DAG kwith 2
n
vertices where exactly k vertices have out-degree 2 .
A jump from a vertex with out-degree k bypasses 2k−1
vertices on average.
Mansour and Singh (1999): There are few vertices with low
degree (< k), and few jumps can be made with high degree
(≥ k):
k−1 X
n
i=0
i
+
2n
2k−1
Hansen, Paterson, and Zwick
< 1.72n
for k ≈ 0.227n
Random-Edge and Random-Jump on abstract cubes
17/25
Jumping on a DAG
Bypassing low degree vertices is more valuable since they may
result in small progress.
Let ni (v ) be the number of vertices of degree i to the left of v .
We define a progress measure on vertices:
m(v ) =
n
X
i=0
Hansen, Paterson, and Zwick
ni (v )
1
2i
Random-Edge and Random-Jump on abstract cubes
18/25
Jumping on a DAG
Bypassing low degree vertices is more valuable since they may
result in small progress.
Let ni (v ) be the number of vertices of degree i to the left of v .
We define a progress measure on vertices:
m(v ) =
n
X
i=0
ni (v )
1
2i
Initially, m(v0 ) ≥ 0, and eventually
n X
n 1
1 n
m(sink) =
=
1+
= (3/2)n .
i 2i
2
i=0
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
18/25
Jumping on a DAG
We say a vertex v is a riser if the degree increases with
probability at least 1 − 1/(2n) when jumping from v , and a
faller otherwise.
Lemma: The expected length of a run of risers is at most 2n.
Lemma: If v is a faller, then w.p. at least 1/(4n2 ) the
progress made is at least 1/(4n2 ).
Theorem: The expected number of jumps is O(n5 (3/2)n ).
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
19/25
Jumping on a DAG
We say a vertex v is a riser if the degree increases with
probability at least 1 − 1/(2n) when jumping from v , and a
faller otherwise.
Lemma: The expected length of a run of risers is at most 2n.
Lemma: If v is a faller, then w.p. at least 1/(4n2 ) the
progress made is at least 1/(4n2 ).
Theorem: The expected number of jumps is O(n5 (3/2)n ).
The bound is tight if we only use acyclicity and the degree
distribution, i.e., grouping all degree n/3 vertices together
gives:
n
n/3
2n/3
Hansen, Paterson, and Zwick
≈ (3/2)n
Random-Edge and Random-Jump on abstract cubes
19/25
Random-Edge and jumping
Random-Edge only moves to neighboring vertices.
However, t consecutive steps may be viewed as a jump.
The resulting distribution is not uniform.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
20/25
Random-Edge and jumping
Random-Edge only moves to neighboring vertices.
However, t consecutive steps may be viewed as a jump.
The resulting distribution is not uniform.
Gärtner and Kaibel (2007): A vertex v is (t, k)-good if all
vertices reachable from v in at most t steps have degree at
least k. Resulting bound: 2n /nlog n .
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
20/25
Random-Edge and jumping
Random-Edge only moves to neighboring vertices.
However, t consecutive steps may be viewed as a jump.
The resulting distribution is not uniform.
Gärtner and Kaibel (2007): A vertex v is (t, k)-good if all
vertices reachable from v in at most t steps have degree at
least k. Resulting bound: 2n /nlog n .
We use: A vertex v is (t, k)-clear if with high enough
probability all vertices on a random path of length t from v
have increasing Hamming distance from v and are all of
degree at least k. Resulting bound: 1.80n .
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
20/25
Open problems
Are Random-Edge and Random-Jump exponential or
subexponential?
Is there an algorithm that is faster than Random-Facet?
Is there a (quasi) polynomial algorithm for finding the sink of
an AUSO?
Best general lower bound: Schurr and Szabó (2004) showed
that Ω(n2 / log n) evaluations are needed to solve AUSOs of
cubes.
Is there a polynomial time pivoting rule for the simplex
algorithm?
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
21/25
Open problems
Are Random-Edge and Random-Jump exponential or
subexponential?
Is there an algorithm that is faster than Random-Facet?
Is there a (quasi) polynomial algorithm for finding the sink of
an AUSO?
Best general lower bound: Schurr and Szabó (2004) showed
that Ω(n2 / log n) evaluations are needed to solve AUSOs of
cubes.
Is there a polynomial time pivoting rule for the simplex
algorithm?
Mansour and Singh (1999) proved an O(2n /n) upper bound
for Jump. Schurr and Szabó (2005) proved an Ω(2n/2 ) lower
bound for abstract cubes. Open problem: close this gap.
Conjecture (Hansen and Zwick): The right answer is at most
Fn+2 ≈ 1.62n .
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
21/25
Jump for AUSOs of cubes
Conjecture (Hansen and Zwick (2009))
Jump requires at most Fn+2 iterations to find the sink of an
n-dimensional AUSO.
Recall that Jump corresponds to Howard’s policy iteration
algorithm.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
22/25
Jump for AUSOs of cubes
Conjecture (Hansen and Zwick (2009))
Jump requires at most Fn+2 iterations to find the sink of an
n-dimensional AUSO.
Recall that Jump corresponds to Howard’s policy iteration
algorithm.
Curiously, this is the same upper bound as for the
Fibonacci-Seesaw algorithm of Szabó and Welzl (2001) for
solving USOs.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
22/25
The matrix condition
Let in(v ) and out(v ) be the vertices of the subcubes spanned
by incoming and outgoing edges, respectively, for a vertex v .
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
23/25
The matrix condition
Let in(v ) and out(v ) be the vertices of the subcubes spanned
by incoming and outgoing edges, respectively, for a vertex v .
The vertices can be ordered such that vertices of in(v ) come
before vertices of out(v ).
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
23/25
The matrix condition
Let in(v ) and out(v ) be the vertices of the subcubes spanned
by incoming and outgoing edges, respectively, for a vertex v .
The vertices can be ordered such that vertices of in(v ) come
before vertices of out(v ).
Let v1 , v2 , . . . , vN be the sequence of vertices generated by
Jump. Then we must have:
∀i < j :
in(vi ) ∩ out(vj ) = ∅.
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
23/25
The matrix condition
Let in(v ) and out(v ) be the vertices of the subcubes spanned
by incoming and outgoing edges, respectively, for a vertex v .
The vertices can be ordered such that vertices of in(v ) come
before vertices of out(v ).
Let v1 , v2 , . . . , vN be the sequence of vertices generated by
Jump. Then we must have:
∀i < j :
in(vi ) ∩ out(vj ) = ∅.
The sequence defines a zero-one matrix A ∈ {0, 1}N×n where
the i’th row is vi .
Condition: Since φ(vi ) = vi ⊕ vi+1 the matrix must satisfy
∀i < j, ∃k :
Ai,k 6= Ai+1,k = Aj,k = Aj+1,k ,
where AN+1,k := AN,k .
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
23/25
The conjecture
Let f (n) be the maximum number such that there exists a
matrix with n columns and f (n) rows satisfying this condition.
f (n) is an upper bound for the number of iterations performed
by Jump.
By exhaustively searching for matrices we have found that:
n
f (n)
1
2
2
3
3
5
4
8
5
13
6
21
7
≥ 33
Conjecture: f (n) = Fn+2 .
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
24/25
The end
Thank you for listening!
Hansen, Paterson, and Zwick
Random-Edge and Random-Jump on abstract cubes
25/25