- define
- assumptions:
- nonempty,
bounded polyhedron
- minimizing
x1
- unique
minimum, at a vertex
- exactly
d constraints per vertex
- definitions:
- hyperplanes
H
- basis B(H) of hyperplanes that
define optimum
- optimum
value O(H)
- Simplex
- exhaustive
polytope search:
- walks
on vertices
- runs
in O(n
d/2
)
time in theory
- often
great in practice
- polytime
algorithms exist (ellipsoid)
- but
bit-dependent (weakly polynomial)!
- OPEN:
strongly polynomial LP
- goal
today: polynomial algorithms for small d
Random sampling algorithm
- Goal:
find B(H)
- Plan:
random sample
- solve
random subproblem
- keep
only violating constraints V
- recurse
on leftover
- problem:
violators may not contain all of B(H)
- bf
BUT, contain some of B(H)
- opt
of sample better than opt of whole
- but
any point feasible for B(H) no better than O(H)
- so
current opt not feasible for B(H)
- so
some B(H) violated
- revised
plan:
- random
sample
- discard
useless planes, add violators to ``active set''
- repeat
sample on whole problem while keeping active set
- claim:
add one B(H) per iteration
- Algorithm
SampLP:
- set
S of ``active'' hyperplanes.
- if n < 9d2 do simplex ( dd/2 + O(1))
- pick
R
H -
S of size d
- x
SampLP (R
S)
- V
hyperplanes of H
that violate x
- if V
2
, add to S
- Runtime
analysis:
- mean
size of V at most

- each
iteration adds to S with prob. 1/2.
- each
successful iteration adds a B(H) to S
- deduce
expect 2d iterations.
- O(dn) per phase needed to check violating constraints: O(d2n) total
- recursion
size at most 2d
T(n)
2dT(2d
) + O(d2n) = O(d2n log n) + (log n)O(log d)
(Note valid use of linearity of
expectation)
Must prove claim, that mean V
.
- Lemma:
- suppose
| H - S| = m.
- sample
R of size r
from H - S
- then
expected violators d (m - r - 1)/(r - d )
- book
broken: only works for empty S
- Let CH be set of
optima of subsets T
S, T
H
- Let CR be set of
optima of subsets T
S, T
R
- note CR
CH,
and O(R
S) is only point violating no constraints of R
- Let vx be number
of constraints in H violated by x
CH,
- Let ix indicate x = OPT(R
S)
|
E[| V|]
|
=
|
E[ vxix]
|
|
|
|
=
|
vxPr[ix]
|
|
- decide
Pr[vx]
equally likely subsets.
- how
many have optimum x?
- let qx be number
of planes defining x not already in S
- must
choose qx
planes to define x
- all
others choices must avoid planes violating x.
prob.
E[V]

vx
/
- summand
is prob that x is a point that violates
exactly one constraint in r.
- must
pick qx
constraints defining x
- must
pick r - qx - 1 constraints from m - vx - qx nonviolators
- must
pick one of vx
violators
- therefore,
sum is expected number of points that violate exactly one constraint in R.
- but
this is only d (one for each constraint in
basis of R)
Result:
- saw
sampling LP that ran in time O((log n)O(log d) + d2n log n + dO(d)
- key
idea: if pick r random hyperplanes and
solve, expect only dm/r
violating hyperplanes.
Get rid of recursion and highest order term.
- idea:
be ``softer'' regarding mistakes
- plane
in V gives ``evidence'' it's in B(H)
- Algorithm:
- give
each plane weight one
- pick
9d2
planes with prob. proportional to weights
- find
optimum of R
- find
violators of R
- if
wh
(2
wh)/(9d - 1)
then double violator weights
- Analysis
- show
weight of basis grows till rest is negligible.
- claim
O(d log n) iterations
suffice.
- claim
iter successful with prob. 1/2
- deduce
runtime O(d2n log n) + dd/2 + O(1)log n.
- proof
of claim:
- after
each iter, double weight of some basis element
- after
kd iterations, basis weight at least d2k
- total
weight increase at most (1 + 2/(9d - 1))kd
n
exp(2kd /(9d - 1))
- after
d log n
iterations, done.
- so
runtime O(d2n log n) + dO(d)log n
- Can
improve to linear in n
T(n)
T(n - 1,
d )+
(O(dn) + T(n - 1,
d - 1)) = O(d!n)
Incomparable to
prior bound.
Improvement to Seidel:
- Silly
to discard previous info on recursion
- tested
basis B, violated by H
- start
from basis of B
{h}
- Intuition:
forms good starting point for recursive call
- ``hidden
dimension'' is how many of true basis hyperplanes are in current bases
- show
hidden dimension rises quickly
- improves
bound to O(d42dN)
(see book)
Followups:
- Kalai
achieved nO(
) (subexponential)
- led to
more careful analysis above: nd
- combined
with above to O(d2n + b
log n)
Is polynomial possible?
- these
are all simplex algorithms
- cannot
do better than diameter of graph
- Kalai
and Kleitman proved n2 + log d
- must
better than best algs, but still not poly
Goal: find nearest athena terminal to query point.
Definitions:
- point
set p
- V(pi) is space closer to pi than anything else
- for
two points, V(P) is bisecting line
- For 3
points, creates a new ``voronoi'' point
- And
for many points, V(pi) is intersection of halfplanes, so a convex
polyhedron
- And
nonempty of course.
- but
might be infinite
- Given
VD, can find nearest neighbor view planar point location:
- O(log n) using persistent trees
Space complexity:
- VD is
a planar graph: no two voronoi
edges cross (if count voronoi points)
- add
one point at infinity to make it a proper graph with ends
- Euler's
formula: nv - ne + nf = 2
- (nv is voronoi
points, not original ones)
- But nf = n
- Also,
every voronoi point has degree at least 3 while every edge has two
endpoints.
- Thus,
2ne
3(nv
+ 1)
- rewrite
2(n + nv - 2)
3(nv + 1)
- So n - 2
(nv +
3)/2, ie nv
2n -
7
- Gives
ne
3n -
6
Summary: V(P) has linear space and O(log n) query time.
Which voronoi points and lines survive?
- if
no other point inside circle containing them, then survive
For interpolation
- Given
values at set of points
- interpolate
elsehwere by convex combination
- eg,
topographical map with heights at given points.
Goal: no skinny triangles
- Consider
4 points in convex
- two
triangulations
- one
makes fatter triangles
- it's
the one with no points inside those triangles
- Delaunay
triangles: triples with no points inside circles
Voronoi and Delunay
- Define
planar dual graph
- argue
based on containined circles
Several methods
- Voronoi
is projection of convex hull of lift
- Or,
build Delaunay, take dual
To build Delaunay:
- Find
``illegal edge'', flip
Incremental construction
- Insert
point (inside some triangle)
- draw
3 lines
- flip
illegal edges till stable
- Claim:
Illegal edges only at changes, so can propogate from insertion
- Claim:
All flips produce edges incident on new point, which are Delaunay
Analysis:
- Each
flip takes constant time, so proportional to number of flips
- So
proportional to final number of edges on inserted point
- RIC.
Average degree constant
- So
flip work per insert constant
- So O(n) flip work
Detail:
- Need
to know which triangle point goes in
- Use
point location like TD
- When
destroy triangles, point their (leaf) nodes to subtrangles
- Point
location search by testing all (at most 3) children
- RIC:
expected depth O(log n)