symbolic perturbation. the problem algorithms in computational geometry make certain assumptions...

40
SYMBOLIC PERTURBATION

Post on 19-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

SYMBOLIC PERTURBATION

The problem

Algorithms in computational geometry make certain assumptions about the input (general status). The treatment of cases violating these assumptions (degeneracies) is tedious, and seldom included in the theoretical discussion.

Example: Algorithm constructing convex hull in d dimensions suppose that no d+1 points lie on the same hyperplane.

The solution

1. A perturbation of the input by an infinitesimal factor.

2. Running the algorithm on the perturb input.

3. Recover the answer to the original problem from the output of the perturb input.

Computational model

and the ith vecot is xi=(xi,1,…,xi,d) for . The basic operations are assumed to be exact.

Most algorithms in computational geometry can be modeled by extended algebraic decision tree. The tree is a ternary tree, where each node is labeled by a test function(branch polynomial) and its branches labeled –1,0,+1. Computation is done by evaluating and the branch labeled by the outcome is taken.

The input is a set of n vectors in , where dR 0dndjni 1,1

RRf nv :

vfsign

Computational model – cont.

The set of arithmetic operations computing a branch expression together with the corresponding test if a primitive.

Examples :

1. Ordering – The comparison of coordinates. The branch polynomial is f = xi,j – xk,j for .

2. Orientation – The test decides which side of the line a third point lies. f is the determinant of

nki 1

21

, ii xx 3ix

2,1,

21,

2,1,

3

33

,22

11

1

1

1

ii

ii

ii

xx

xx

xx

Computational model – cont.

Program – sequence of instructions that implements a specific algorithm.

Execution path – sequence of instructions executed on a particular input.

Complexity measures:

1. Algebraic model – The total cost is the number of instructions in the longest execution path.

2. Bit model – The upper bound on the bit complexity of two integers of size O(b) is M(b) = O(b logb loglogb). The total bit complexity is the sum of the costs of every instruction, maximized over all paths.

Perturbation

The set of degenerate input is represented by and it must be with measure 0. Every input is

a point in nd dimensions. The degenerate inputs create a union of surfaces in the nd-dimensional space S with measure 0.

For every point x in S, every nonempty open ball around it contains a point y which represents a nondegenerate input, so we can perturb the input that x represents such that all degeneracies disappear.

In order not to change any nondegenerate input an open ball small enough is chosen so that it doesn’t intersect any of the above surfaces.

01f

Perturbation – cont.

A Problem mapping is a mapping between topological spaces. The input space has the standard euclidean topology. The output space Y is (D – finite space(discrete), R – union of real spaces (euclidean)).

A degeneracy occurs when the mapping is discontinuous.

For any input , a perturbed instance of x is a curve x() rooted at x, i.e the image of a continuous function such that x(0)=x. A perturbation scheme Q defines a perturb instance for every element of x.

YX :ndRX

RD

XxXRx o :()

Perturbation – cont.

Definition: Given a problem mapping and a perturbation scheme Q, the perturbed problem mapping is a mapping from X to Y such that

assuming that every such limit exists.

The goal is that the new problem mapping be defined on a proper superset of the original domain, and that it will be easier than handling the degeneracies.

Proposition4: For any perturbation scheme, if mapping Π is continuous at , then .

YX :

x 0

lim

Xx xx

Computing with perturbations

The goal is to obtain from a given program Φ that implements Π, another program that implements . The changes are:

1. Transforming all arithmetic operations in Φ in order to handle perturbation curves.

2. Eliminating ε from the output in the postprocessing stage.

3. Every branching operation f of Φ is transformed to

.

xfsign 0

lim

Computing with perturbations – cont.

Definition: An input instance is degenerate with respect to some program iff it causes some polynomial f at a branch to vanish, where f is not identically zero.

Definition: A perturbation scheme is valid with respect to a function f iff, for every input , the limit

exists and is nonzero.

Perturbation Q is valid with the set of functions iff it is valid with respect to every function in this set. Q is valid with respect to a given program iff it is valid with respect to the set of all branch polynomials in the program.

xfsign 0

limXx

Computing with perturbations – cont.

Theorem7: Assume that Q is valid perturbation scheme for a program Φ computing mapping Π and that is obtained by the transformations described above then (i) computes the perturbed mapping and (ii) for such that Π is continuous, yields Π(x). Statement (ii) holds if some, or all, of the zero branches of Φ are removed.

Proof: (i) By validity all limits exist, hence follows the same execution path on x(ε) as Φ would if ε were a small real positive value. Postprocessing is possible so the map is computed by . (ii) is proved by proposition4, and by validity no zero branches are taken in , so they can be pruned away.

Xx

SOS – Simulation Of Simplicity

Orientation:

To decide the orientation of a sequence of d+1 points in

we use the matrix :

dR

1

1

1

,1,

1,

,1,

11

00

dii

dii

dii

ddxx

xx

xx

SOS-cont.

The perturbation is : where jixx jiji ,,,

ji

ji

2,for ddjni ,1,10

ljkikilkji ),(, define

If 0<ε<1 then (3)

lkjilkji

lkjilkji

,, 2

,,

2

,,

Lemma: The set p(ε) is nondegenerate if ε>0 is sufficiently small.

SOS-cont.Proof: It is sufficient to show that for no choice of d+1 mutually distinct indices i0,i1,…,id, the determinant of the matrix

is equal to zero. We assume and sort the terms of in order of increasing exponents of ε. Specifically, is the first term and

the last one.

1

1

1

21,

22,

21,

2,

22,

21,

2,

22,

21,

1

1

1

1

1

1

0

0

0

0

0

0

jdi

d

jdi

d

jdi

d

jijiji

jijiji

iii

diii

diii

xxx

xxx

xxx

10 10 niii d det det 11 222/1

didid

SOS-cont.

Each term is of the form bεc. Because ε>0 is arbitrarily small, the absolute value of the first term with nonzero coefficient b is bigger than the sum of all other terms. Such a term exists since (3) guarantees that no two terms have the same exponent of ε, and thus each term cannot be canceled. For example, the coefficient of the last term is not zero, so does not vanish.

det

SOS-cont.

Example: d=1. The goal is to calculate the sign of

Let k-fold ε-product , ε()=1. Assume i<j

Note: the last two terms have no influence on the sign of

)2,()1,(

2,1,detdet

2,1,

2,1,

2 jxjx

ixix

jj

ii

k

vvvkk jijiji

111 ,,,,,

2,,1,11,1,,2,12,1,2,()det 2,11,2,1,2,1,

2,1,2 ijjxijjxixix

xx

xxijj

jj

ii

2det

SOS-cont.

If εc= ε((i1,j1),…,(ik,jk)) then we call ε(il,jl) active for The coefficient b can be extracted from the matrix by crossing out all rows and columns that contain an active ε(il,jl).

The sign of the coefficient is determined by the number of transpositions needed to sort a certain permutation (j1,j2,…,jd). If it is odd then b=-1 times the determinant.

The key observations is that ε((i1,j1),…,(ik,jk)) is the ε-product of a relevant term iff i1<…<ik and j1<…<jk.

kl 1

SOS-cont.

The algorithm uses a vector v=[v1,…,vd;vd+1], where each vi corresponds to the ith row of . To encode the ε-product ε((i1,j1),…,(ik,jk)), we set vl=jl. For every i such that the ith row doesn’t contain an active ε(i,j) we define with il the smallest integer in {i1,…,ik,d+1} that is larger than i. Thus, vk implies that ε(k,vk) is active iff vk<vk+1.

For example, v=[3,4,4;4] implies that the ε-product of the encoded term is ε(1,3).

d

lii vv

SOS-cont.

In order to generate the terms in the correct order we use the fact that v=[v1,…,vd;vd+1] encodes a more significant term than iff

for j, the largest index, such that . this implies that v=[d+1,…,d+1;d+1] encodes the most significant term.Function Next_v(v) returns vector

local i,k

begin

while vi=1 do

for down to 1 do

return v

end

11 ;,, dd vvvv jj vv

1i1 ii

1 ii vv

1 ik

jj vv

ik vv

Linear Perturbations

Linear perturbations are of the following type: xi(ε)=xi+ εbi (2) where and xi=(xi,1,…,xi,d) and bi=(bi,1,…,bi,d) Rn. Let f(x1,…,xn) be any polynomial in n vectors, its initial form is a homogeneous polynomial I(f) equal to the sum of all terms in f of maximum total degree.

Theorem8: Let g(x1,…,xn)=I(f) be the initial form of f. For linear perturbation (2) to be valid with respect to f, it suffices that .

ni 1

0,,1 nbbg

Linear Perturbations-cont.

Proof: Consider f(x(ε)) a univariate polynomail in ε. It is required that f(ε) never vanishes on perturbed input. The highest order coefficient in f(ε) is

, which implies that f(ε) has a finite number of roots. It suffices to assume that ε takes real values smaller than the minimum positive root of f(ε).

The problem is reduced to finding a single set of input vectors on which the initial form of all the branch polynomials do not vanish.

There is also a more generic validity criterion with the perturbation j

ijiji xx ,,

0,,1 nbbg

Evaluation of Branch Expressions

No computation in evaluating the primitives in perturbed programs need involve the infinitesimal variable.

In the case of tests expressed as determinants, the complexity of the evaluation phase dominates the overall complexity. Let MM(t)=O(t2.376) be the algebraic complexity of multiplying two matrices and I the identity matrix.

A(ε) is a matrix with polynomial entries in a single variable ε, A(ε) = Arεr + Ar-1 εr-1+…+A1ε +A0 where r is the maximum degree in ε of any matrix entry. Ar is always nonsingular.

tt

tt

Evaluation-cont.

Ar-1A(ε) = Iεr+Ar

-1Ar-1εr-1+…+Ar-1A1ε +Ar

-1A0

The determinant of the right-hand side equals the characteristic polynomial of

Theorem13: Let A(ε) be a matrix of order t, whose entries are linear univariate polynomials in ε; then A(ε)=A1ε+A0, where A0 and A1 are numeric matrices. If A1 is nonsingular, determining the sign of det(A(ε)) can be reduced to computing determinant det(A1) and the characteristic polynomial of matrix –A1

-1A0.

11

21

11

01

000

000

000

rrrrr

t

t

t

AAAAAAAA

I

I

I

C

Evaluation-cont.

Proof: By the nonsingularity of A1 we can write A(ε) as

A(ε) = (-A1)(-Iε - A1-1A0).

If we represent sign with a value in {-1,0,1}, then the sign of det(A(ε)) is the product of det(A1) and det(-Iε-A1

-1A0) multiplied by (-1)t. the last determinant is simply the characteristic polynomial of –A1

-1A0.

Modular ArithmeticLet p0,p1,…,pk-1 be a set of integers that are pairwise relatively prime and let p be the product of the pi. By the Chinese remainder theorem there is one-to-one correspondence between the integers r with

and (r0,r1,…,rk-1) with where ri= r mod pi, qi

= p/pi, and si=qi-1 mod pi.

To evaluate an expression, a set of relatively prime integers is chosen such that the product of the primes it at least twice the absolute value of the integral value of the expression. Then the expression is evaluated modulo each pi. Finally Chinese remaindering is used to reconstruct the value of the expression.

2/2/ iii prp 2/2/ prp

1

0

modk

iiii pqsrr

Modular Arithmetic – cont.

Let k denote the number of primes. The first and third stage each have bit complexity of O(M(k)logk). The middle stage is the actual computation modulo each prime, and its bit complexity is k times the algebraic complexity of this computation.

The number of primes is determined dynamically, by choosing random primes and constructing the answer with those primes. At the next iteration a new prime is added and the constructing is done again. If the answer is stable for two or three times then with very high probability the true answer has been calculated.

Modular Arithmetic – cont.

Corollary14: The algebraic complexity of computing det(A1ε+A0) is O(MM(t)logt), where t is the order of matrices A0 and A1. Let s be the maximum bit size of every entry in A1 and A0. Then the bit complexity of computing the above determinant is

, for some arbitrarily small positive constant .

tttsMMtso log1

Common Primitives

The perturbations dealt with are:

(1)

(5)

Where q is the smallest prime that exceeds n.

Two assumptions in estimating the complexity are made:

1. Sign determination of determinants is implemented by a determinant calculation.

2. S=Ω(logn) an upper bound on the bit size of the input.

jjiji ixx ,,

qixx jjiji mod,,

Ordering

The ordering primitive decides the order of two quantities expressing the kth coordinate of the i1th and i2th input points. For input perturbed with (1) the primitive decides the sign of

The perturbation is valid because all the indices are distinct. The perturbation (5) is valid too for k=1.

Theorem: The perturbation defined by (1) is valid with respect to the ordering primitive and doesn’t change the asymptotic running time complexity of this primitive in the algebraic as well as the bit model. The same hold for perturbation (5) for comparisons along the first coordinate.

kki

kkikiki ixixxx 2,1,,, 2121

OrientationGiven a query point and a hyperplane in Rd spanned by xi1,…,xid, orientation decides in which one of the two half-spaces defined by this hyperplane the query point lies. A degeneracy occurs exactly when lies on the hyperplane. The primitive is formulated as a test of a determinant sign:

Proposition: Perturbation (1) is valid with respect to algorithms that branch on determinants of Λδ+1 for

, where d is the space dimension. The perturbation increases the asymptotic running-time complexity (algebraic) by O(logd), and the worst-case complexity (bit) by O(d1+α).

1dix

1dix

diii

diii

diii

d

dddxxx

xxx

xxx

,2,1,

,2,1,

,2,1,

1

111

222

111

1

1

1

d

InSphereInSphere decides, given d+2 points, whether the (d+2)nd point lies in the interior of the higher-dimensional sphere defined by the first d+1 points in Rd. The points are lifted by adding a (d+1)st coordinate equal to the sum of the squares of the d-coordinates defining each point. The lifted images define a hyperplane H in Rd+1. The query point lies within the sphere iff its lifted image lies below H. A degeneracy occurs at the singularities of

d

jjidiii

d

jjidiii

d

jjidiii

d

jjidiii

d

dddd

dddd

xxxx

xxxx

xxxx

xxxx

1

2,,2,1,

1

2,,2,1,

1

2,,2,1,

1

2,,2,1,

2

2222

111!

2222

1111

1

1

1

1

InSphere-cont.Validity follows by the nonsingularity of matrix

Descartes’ Rule Of Sign: The number of sign variations of a polynomial’s nonzero coefficients exceeds the number of positive zeros, multiplicities counted, by an even nonnegative integer.

Proposition: Matrix Wd+2 is nonsingular for distinct positive ij, .

d

j

jd

ddd

d

j

jd

d

j

jd

d

iii

iii

iii

W

1

2222

1

2222

1

2111

2

1

1

1

21 dj

InSphere-cont.

Proof: If Wd+2 is singular, then there is a nonzero vector (q1,…,qd+2) in the kernel of the matrix. Therefore the polynomial has at least d+2 distinct positive zeros, namely i1,…,id+2. The polynomial has at most d+1 sign variations which contradicts Descartes’ rule.

d

j

d

j

jd

jj yqyq

0 1

221

InSphere-cont.For the scheme (1), the perturbed determinant expands to

Computing each of the two polynomials can be reduced to a characteristic polynomial computation (by theorem13).

Theorem: The perturbation of (1) is valid with respect to the InSphere primitive and increases its algebraic complexity by an O(logd) factor. Under the bit model, the worst-case complexity increases by an O(d1+α).

d

j

ddjidii

d

j

djidii

d

j

d

j

dd

jdi

jddii

d

j

d

j

dji

jdii

ixxx

ixxx

iixixx

iixixx

dddddd1

22

2,,1,

1

21

2,,1,

1 1

2221,

22

2,1,

1 1

2111,

21

2,1,

222

111

222

111

1

1

21

21

Limitations

Primitives that decide on the relative position of derived objects may pose a limitation. For example the line-segment intersection problem. The goal is to construct the planar arrangement defined by the segments and their intersections. The hardest primitive is to decide on which half-plane, with respect to a query segment, the intersection of two segments lies.

Convex Hull

The only tests needed are ordering and orientation, so perturbation (5) is applied to allow arbitrary input. The CHV (convex hull volume) problem is continuous everywhere, so it can be obtained without any postprocessing.

The algorithm sorts all points on their first coordinate and then proceeds incrementally by adding each new point to the convex hull of all previous points. Each region between the new point and the existing hull can be partitioned into d-simplices, each defined by the new point and one of the visible facets. The exact volume is computed by summing all simplex volumes.

Convex Hull – cont.

Perturbation (5) guarantees that the output polytope’s vertex set is a superset of the vertices on the original convex hull.

The postprocessing is done by comparing the normals of every to adjacent facets. The normal of a facet can be computed in O(MM(d)) and there are d tests per facet, hence the postprocessing does not affect the asymptotic complexity of the program.