Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CONVEX POLYTOPES Gleb Kodinets 1 GALE TRANSFORM 2 GALE TRANSFORM • בדומה לטרנספורם דואלי טרנספורם גאיל מעביר קונפיגורציה גאומטרית אחד לקונפיגורציה גאומטרית אחרת .המציאו אותו כדי ללמוד יותר את פאונים הקמורים ממימד גבוה יותר טוב. • טרנספורם גאיל קשור גם לדואליות של תיכנות ליניארית, אבל לא נדבר על זה היום. 3 Gale Transform • The Gale transform assigns to a sequence 𝑎=(𝑎1 , 𝑎2 , … , 𝑎𝑛 ) of n ≥ d+1 points in 𝑅𝑑 another sequence of n points. The result points 𝑔=(𝑔1 ,𝑔2 , … , 𝑔𝑛 ) live in a different dimension, namely in 𝑅𝑛−𝑑−1 . For example, n points in the plane are transformed to n vectors in 𝑅𝑛−3 . 4 • Gale transform operates on sequences, not individual points: We cannot say what 𝑔1 is without knowing all of 𝑎1 , 𝑎2 , … , 𝑎𝑛 . • We also require that the affine hull of the 𝑎𝑖 be the whole 𝑅𝑑 ; otherwise, the Gale transform is not defined. 5 How to • In order to obtain the Gale transform of 𝑎, we first convert the 𝑎𝑖 into (d+1)-dimensional vectors: 𝑎𝑖 ∈ 𝑅𝑑+1 is obtained from 𝑎𝑖 by appending a (d+1)st coordinate equal to 1. 6 • Let A be the (d+1) x n matrix with: 𝑎𝑖 as the ith column. Since we assume that there are d+1 affinely independent points in a, the matrix A has rank d+1. • And so the vector space V generated by the rows of A is a (d+1)-dimensional subspace of 𝑅𝑛 . • We let 𝑉 ⊥ be the orthogonal complement of V in 𝑅𝑛 ; that is, 𝑉 ⊥ = {w ∈ 𝑅𝑛 :<v,w>= 0 for all v ∈ V}. 7 • We have dim(𝑉 ⊥ ) = n-d-1. Let us choose some basis (𝑏1 , 𝑏2 , … , 𝑏𝑛−𝑑−1 ) of 𝑉 ⊥ , and let В be the (n-d-1) x n matrix with 𝑏𝑗 as the jth row. Finally, we let 𝑔𝑖 ∈ 𝑅𝑛−𝑑−1 be the ith column of B. The sequence 𝑔 =( 𝑔1 , 𝑔2 , … , 𝑔𝑛 ) is the Gale transform of a. • Here is а pictorial summary: 8 Observation. • (i) The Gale transform is determined up to linear isomorphism In the construction of g, we can choose an arbitrary basis of 𝑉 ⊥ . Choosing a different basis corresponds to multiplying the .matrix В from the left by a nonsingular (n-d-1) x (n-d-1) matrix T and this means transforming ( 𝑔1 , 𝑔2 , … , 𝑔𝑛 ) by a linear isomorphism of 𝑅𝑛−𝑑−1 . 9 Observation. • (ii) A sequence 𝑔 in 𝑅𝑛−𝑑−1 is the Gale transform of some 𝑎 if and only if it spans 𝑅𝑛−𝑑−1 and has 0 as the center of gravity: • 𝑛 𝑖=1 𝑔𝑖 =0 10 Observation • (iii) Let us consider a sequence 𝑔 in 𝑅𝑛−𝑑−1 satisfying the condition in (ii). If we apply the Gale transform to it, and apply the Gale transform the second time, we recover the original 𝑔, up to linear isomorphism. 11 Two ways of probing a configuration • For a sequence 𝑎 = (𝑎1 , 𝑎2 , … , 𝑎𝑛 ) of vectors in 𝑅𝑑+1 , we define two vector subspaces of 𝑅𝑛 : • Linear function – linear combination without constant(free coefficient) 12 Two ways of probing a configuration • For a point sequence 𝑎 = (𝑎1 , 𝑎2 , … , 𝑎𝑛 ) , we then let AffVal(𝑎) = LinVal(𝑎) and AffDep(𝑎) = LinDep(𝑎), where 𝑎 is obtained from 𝑎 as above, by appending 1's. Another description is • Affine function – linear combination with free coefficient 13 • The knowledge of LinVal(𝑎) tells us a lot about 𝑎, and we only have to learn to decode the information. As usual, we assume that 𝑎 linearly spans all of 𝑅𝑑+1 • Each nonzero linear function 𝑓: 𝑅𝑑+1 → 𝑅 determines the hyperplane passing through 0. • ℎ𝑓 = {x ∈ 𝑅𝑑+1 : 𝑓 𝑥 = 0} 14 • ℎ𝑓 = {x ∈ 𝑅𝑑+1 : 𝑓 𝑥 = 0} , 𝑓: 𝑅𝑑+1 → 𝑅 • This ℎ𝑓 is oriented (one of its half-spaces is positive and the other negative), and the sign of 𝑓(𝑎𝑖 ) determines whether (𝑎𝑖 lies on ℎ𝑓 , on its positive side, or on its negative side. 15 • Let’s choose our favorite index set I⊆ {1, 2,..., n}, and ask whether the points of the subsequence 𝑎𝐼 = (𝑎𝑖 : i ∈ I ) span a linear hyperplane. • First, we observe that they lie in a common linear hyperplane if and only if there is a nonzero φ ∈ LinVal(𝑎) such that φ𝑖 = 0 for all i ∈ I. • It could still happen that all of 𝑎𝐼 lies in a lowerdimensional linear subspace. 16 • Using the assumption that 𝑎 spans 𝑅𝑑+1 , it is not difficult to see that 𝑎𝐼 spans a linear hyperplane if and only if all φ ∈ LinVal(𝑎) that vanish on 𝑎𝐼 have identical zero sets; that is, the set {i: φ𝑖 =0} is the same for all such φ. If we know that 𝑎𝐼 spans a linear hyperplane, we can also see how the other vectors in 𝑎 are distributed with respect to this linear hyperplane. • (𝑎1 , 𝒂𝟐 , 𝑎3 , 𝒂𝟒 , 𝒂𝟓 ) I={2,4,5} 𝜑𝑖 = 𝑓 𝑎𝑖 𝑓 𝑎2 = 𝑓 𝑎4 = 𝑓 𝑎5 = 0 𝑓 𝑎1 = 0 𝑎1 = 𝑐2 𝑎2 + 𝑐4 𝑎4 + 𝑐5 𝑎5 17 • Similar information can be inferred from AffDep(𝑎) (exactly the same information, in fact, since AffDep(𝑎) = AffVal(𝑎) ⊥ ). For an α ϵ AffDep(𝑎) let 𝐼+ (α) = {i ∈ {1,2, ...,n}: 𝛼𝑖 > 0} and 𝐼− (α) = {i ∈ {1,2, ...,n}: 𝛼𝑖 < 0} . As we learned in the proof of Radon's lemma, 𝐼+ = 𝐼+ (α) and 𝐼− = 𝐼− (α) correspond to Radon partitions of 𝑎. • AffDep(𝒂) = AffVal(𝒂) ⊥ : • < 𝑓 𝑎1 , … , 𝑓 𝑎𝑛 >×< 𝛼1 , … , 𝛼𝑛 > 𝛼1 𝑎1 + ⋯ + 𝛼𝑛 𝑎𝑛 = 0 , 𝑓 − 𝑙𝑖𝑛𝑒𝑎𝑟 𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛 • 𝛼1 𝑓 𝑎1 + ⋯ + 𝛼𝑛 𝑓 𝛼𝑛 = 𝑓 𝛼1 𝑎1 + ⋯ + 𝛼𝑛 𝑎𝑛 =𝑓 0 =0 18 • Namely, 𝑖∈𝐼+ 𝛼𝑖 𝑎𝑖 = 𝑖∈𝐼− (−𝛼𝑖 )𝑎𝑖 and dividing 𝑖∈𝐼+ 𝛼𝑖 = 𝑖∈𝐼− (−𝛼𝑖 ) , we have convex combinations on both sides, and so conv(𝑎𝐼+ ) ∩ conv(𝑎𝐼− ) ≠∅. For example, 𝑎𝑖 is a vertex of conv(𝑎) if and only if there is no α ∈ AffDep(𝑎) with 𝐼+ (𝛼) ={i}. 19 Lemma • Let 𝑎 be a sequence of 𝑛 points in 𝑅𝑑 whose points affinely span 𝑅𝑑 , and let 𝑔 be its Gale transform. Then LinVal( 𝑔 ) = AffDep(a) and LinDep( 𝑔 ) = AffVal(a). 20 Proof • LinVal( 𝑔 ) = AffDep(𝑎) • ∀𝛼. 𝛼1 𝑎1 + ⋯ + 𝛼𝑛 𝑎𝑛 = 0 , ∃𝑓 < 𝑓 𝑔1 , … , 𝑓 𝑔𝑛 > = < 𝛼1 , … , 𝛼𝑛 > | | 𝑐1 , … , 𝑐𝑛−𝑑−1 × 𝑔1 … 𝑔𝑛 =< 𝛼1 , … , 𝛼𝑛 > | | − 𝑎1 − ⋮ 𝛼1 , … , 𝛼𝑛 × =0 − 𝑎𝑛 − − 𝑎1 − | | ⋮ 𝑐1 , … , 𝑐𝑛−𝑑−1 × 𝑔1 … 𝑔𝑛 × | | − 𝑎𝑛 − 21 Proof • LinVal( 𝑔 ) = AffDep(𝑎) − | | 𝑐1 , … , 𝑐𝑛−𝑑−1 × 𝑔1 … 𝑔𝑛 × | | − 𝑐1 , … , 𝑐𝑛−𝑑−1 × 0 = 0 𝑎1 ⋮ 𝑎𝑛 − − 22 Dictionary of the Gale transform • (i)Lying in a common hyperplane For every (d+1)-point index set I ⊆ {1,2,..., n}, the points 𝑎𝑖 with i∈I lie in a common hyperplane if and only if all the vectors 𝑔𝑗 with j ∉ I lie in a common linear hyperplane. • (ii)General position In particular, the points of 𝑎 are in general position (no d+1 on a common hyperplane) if and only if every n-d-1 vectors among 𝑔1 , … , 𝑔𝑛 span 𝑅𝑛−𝑑−1 (which is a natural condition of general position for vectors). 23 Dictionary of the Gale transform. • (iii)Faces of the convex hull The points 𝑎𝑖 with i∈I are contained in a common facet of P =conv(𝑎) if and only if 0 ∈ conv{ 𝑔𝑗 : j ∉ I}. In particular, if P is a simplicial polytope, then its k-faces exactly correspond to complements of the (n-k-1)element subsets of 𝑔 containing 0 in the convex hull. • (iv)Convex independence The 𝑎𝑖 form a convex independent set if and only if there is no oriented linear hyperplane with exactly one of the 𝑔𝑗 on the positive side. 24 • Here is a picture of a 3-dimensional convex polytope with 6 vertices and the (planar) Gale transform of its vertex set. • For example, the facet 𝑎1 𝑎2 𝑎5 𝑎6 is reflected by the complementary pair 𝑔3 , 𝑔4 of parallel oppositely oriented vectors, and so on. 25 Signs suffice. • As was noted above, in order to find out whether some 𝑎𝑖 is a vertex of conv(𝑎), we ask whether there is an α ∈ AffDep(𝑎) with 𝐼+ (α) = {i}. • Only the signs of the vectors in AffDep(𝑎) are important here, and this is the case with all the combinatorial-geometric information about point sequences or vector sequences. 26 • For such purposes, the knowledge of sgn(AffDep(𝑎)) = {(sgn(𝛼𝑖 ),... ,sgn(𝛼𝑛 )): α ∈ AffDep(𝑎)} is as good as the knowledge of AffDep(𝑎). • We can thus declare two sequences 𝑎 and 𝑏 combinatorially isomorphic if sgn(AffDep(𝑎)) = sgn(AffDep(𝑏)) and sgn(AffVal(𝑎)) = sgn(AffVal(𝑏)). 27 • Here we need only one very special case: If 𝑔 = ( 𝑔1 ,..., 𝑔𝑛 ) is a sequence of vectors, 𝑡1 , … , 𝑡𝑛 > 0 are positive real numbers, and 𝑔′ = ( 𝑡1 𝑔1 ,...,𝑡𝑛 𝑔𝑛 ), then clearly, • and so 𝑔 and 𝑔′are combinatorially isomorphic vector configurations. 28 Affine Gale diagrams. • We have seen a certain asymmetry of the Gale transform: While the sequence 𝑎 is interpreted affinely, as a point sequence, its Gale transform needs to be interpreted linearly, as a sequence of vectors (with 0 playing a special role). Could one reduce the dimension of 𝑔 by 1 and pass to an "affine version" of the Gale transform? This is indeed possible, but one has to distinguish "positive" and "negative" points in the affine version. 29 • Let 𝑔 be the Gale transform of some 𝑎, 𝑔1 , … , 𝑔𝑛 ∈𝑅𝑛−𝑑−1 . Let us assume for simplicity that all the 𝑔𝑖 are nonzero. We choose a hyperplane h not parallel to any of the 𝑔𝑖 and not passing through 0, and we project the 𝑔𝑖 centrally from 0 into h, obtaining points 𝑔1 ,... , 𝑔𝑛 ∈ h ≅ 𝑅𝑛−𝑑−1 . If 𝑔𝑖 lies on the same side of 0 as 𝑔𝑖 , i.e., if 𝑔𝑖 =𝑡𝑖 𝑔𝑖 with 𝑡𝑖 > 0, we set 𝜎𝑖 = +1, and call 𝑔𝑖 a positive point. 30 • For 𝑔𝑖 lying on the other side of 0 than 𝑔𝑖 we let 𝜎𝑖 = −1 and we call 𝑔𝑖 a negative point. Here is an example with the 2-dimensional Gale transform from the previous drawing: 31 • The positive 𝑔𝑖 are marked by full circles, the negative ones by empty circles, and we have borrowed the (incomplete) yin-yang symbol for marking the positions shared by one positive and one negative point. This sequence 𝑔 of positive and negative points in 𝑅𝑛−𝑑−1 , or more formally the pair (𝑔,σ), is called an affine Gale diagram of 𝑎. 32 • It conveys the same combinatorial information as 𝑔 , although we cannot reconstruct 𝑎 from it up to linear isomorphism, as was the case with 𝑔 . (For this reason, we speak of Gale diagram rather than Gale transform.) One has to get used to interpreting the positive and negative points properly. If we put 33 • Easy to check: 34 Proposition (Dictionary of affine Gale diagrams) • Let 𝑎 be a sequence of n points in 𝑅𝑑 , let 𝑔 be the Gale transform of 𝑎, and assume that all the 𝑔𝑖 are nonzero. Let (𝑔, σ) be an affine Gale diagram of 𝑎 in 𝑅𝑛−𝑑−2 : • (i) A subsequence 𝑎𝐼 lies in a common facet of conv(𝑎) if and only if conv({𝑔𝑗 : j∉I, 𝜎𝑖 = 1}) ∩ ({𝑔𝑗 : j∉I, 𝜎𝑖 = -1}) ≠∅. • (ii) The points of 𝑎 are in convex position if and only if for every oriented hyperplane in 𝑅𝑛−𝑑−2 , the number of positive points of 𝑔 on its positive side plus the number of negative points of 𝑔 on its negative side is at least 2. 35 • So far we have assumed that 𝑔𝑖 ≠ 0 for all 𝑖. This need not hold in general, and points 𝑔𝑖 = 0 need a special treatment in the affine Gale diagram: They are called the special points, and for a full specification of the affine Gale diagram, we draw the positive and negative points and give the number of special points. 36 A nonrational polytope. • Configurations of k+4 points in 𝑅𝑘 have planar affine Gale diagrams. This leads to many interesting constructions of k-dimensional convex polytopes with k+4 vertices. 37 Example • 8-dimensional polytope with 12 vertices that cannot be realized with rational coordinates; that is, no polytope with isomorphic face lattice has all vertex coordinates rational. First one has to become convinced that if 9 distinct points are placed in R2 so that they are not all collinear and there are collinear triples and 4-tuples as is marked by segments in the left drawing below, then not all coordinates of the points can be rational. 38 • We declare some points negative, some positive, and some both positive and negative, as in the right drawing, obtaining 12 points. These points have a chance of being an affine Gale diagram of the vertex set of an 8dimensional convex polytope, since condition is satisfied. • How do we construct such a polytope? For 𝑔𝑖 = (𝑥𝑖 , 𝑦𝑖 ), we put 𝑔𝑖 = (𝑡𝑖 𝑥𝑖, 𝑡𝑖 𝑦𝑖 , 𝑡𝑖 ) ∈ 𝑅3 , choosing 𝑡𝑖 > 0 for positive 𝑔𝑖 and 𝑡𝑖 < 0 for negative 𝑔𝑖 , in such a way that 12 𝑖=1 𝑔𝑖 = 0. Then the Gale transform of 𝑔 is the vertex set of the desired convex polytope P. 39 • Let P' be some convex polytope with an isomorphic face lattice and let (g’, σ') be an affine Gale diagram of its vertex set a'. We have, for example, 𝑔′7 = 𝑔′10 because {𝑎′𝑖 . i = 7,10} form a facet of P', and similarly for the other point coincidences. The triple 𝑔′1 , 𝑔′12 , 𝑔′8 (where 𝑔′8 is positive) is coUinear, because {𝑎′𝑖 . i ≠ 1,8,12} is a facet. In this way, we see that the point coincidences and collinearities are preserved, and so no affine Gale diagram of P' can have all coordinates rational. At the same time, by checking the definition, we see that a point sequence with rational coordinates has at least one affine Gale diagram with rational coordinates. Thus, P cannot be realized with rational coordinates. 40 Voronoi Diagrams 41 • Consider a finite set P ⊂ 𝑅𝑑 . For each point p ∈ P, we define a region reg(p), which is the "sphere of influence" of the point p: It consists of the points x ∈ 𝑅𝑑 for which p is the closest point among the points of P. dist(x, y) denotes the Euclidean distance of the points x and y. • The Voronoi diagram of P is the set of all regions reg(p) for p ∈ P. 42 • Here is an example of the Voronoi diagram of 2 points in the plane: 43 • Here is an example of the Voronoi diagram of 3 points in the plane: 44 • Here is an example of the Voronoi diagram of a point set in the plane: 45 Observation • Each region reg(p) is a convex polyhedron with at most |P|-1 facets. • Indeed, reg(p) is an intersection of |P| - 1 halfspaces. 46 • For d = 2, a Voronoi diagram of n points is a subdivision of the plane into n convex polygons (some of them are unbounded). • It can be regarded as a drawing of a planar graph (with one vertex at the infinity, say), and hence it has a linear combinatorial complexity: n regions, O(n) vertices, and O(n) edges. • Euler’s formula: v+f=2+e 47 Examples of applications. • Voronoi diagrams have been reinvented and used in various branches of science. Sometimes the connections are surprising. • For instance, in archaeology, Voronoi diagrams help study cultural influences. 48 Examples of applications: "Post office problem" or nearest neighbor searching • Given a point set P in the plane, we want to construct a data structure that finds the point of P nearest to a given query point x as quickly as possible. This problem arises directly in some practical situations or, more significantly, as a subroutine in more complicated problems. The query can be answered by determining the region of the Voronoi diagram of P containing x. For this problem (point location in a subdivision of the plane), efficient data structures are known. 49 Robot motion planning • Consider a disk-shaped robot in the plane. It should pass among a set P of point obstacles, getting from a given start position to a given target position and touching none of the obstacles. 50 Robot motion planning • If such a passage is possible at all, the robot can always walk along the edges of the Voronoi diagram of P, except for the initial and final segments of the tour. This allows one to reduce the robot motion problem to a graph search problem: We define a subgraph of the Voronoi diagram consisting of the edges that are passable for the robot. 51 A nice triangulation: the Delaunay triangulation • Let P ⊂ 𝑅2 be a finite point set. In many applications one needs to construct a triangulation of P (that is, to subdivide conv(P) into triangles with vertices at the points of P) in such a way that the triangles are not too skinny. Of course, for some sets, some skinny triangles are necessary, but we want to avoid them as much as possible. 52 A nice triangulation: the Delaunay triangulation • One particular triangulation that is usually very good, and provably optimal with respect to several natural criteria, is obtained as the dual graph to the Voronoi diagram of P. Two points of P are connected by an edge if and only if their Voronoi regions share an edge. 53 A nice triangulation: the Delaunay triangulation • If no 4 points of P lie on a common circle then this indeed defines a triangulation, called the Delaunay triangulation of P. • The definition extends to points sets in Rd in a straightforward manner. 54 Interpolation • Suppose that f: 𝑅2 → 𝑅 is some smooth function whose values are known to us only at the points of a finite set P ⊂ 𝑅2 . We would like to interpolate f over the whole polygon conv(P). • We don’t know how f looks like outside P, but still we want a reasonable interpolation rule that provides a nice smooth function with the given values at P. 55 Interpolation • Multidimensional interpolation is an extensive semiempirical discipline, which we do not seriously consider here; we explain only one elegant method based on Voronoi diagrams. To compute the interpolated value at a point 𝑥 ∈ conv(𝑃), we construct the Voronoi diagram of P, and we overlay it with the Voronoi diagram of P U {x}. 56 Interpolation • The region of the new point x cuts off portions of the regions of some of the old points. Let 𝜔𝑝 be the area of the part of reg(p) in the Voronoi diagram of P that belongs to reg(x) after inserting x. The interpolated value f(x) is 57 Relation of Voronoi diagrams to convex polyhedra. • We now show that Voronoi diagrams in Rd correspond to certain convex polyhedra in 𝑅𝑑+1 . 58 • First we define the unit paraboloid in 𝑅𝑑+1 : • For d = 1, U is a parabola in the plane. • In the sequel, let us imagine the space 𝑅𝑑 as the hyperplane 𝑥𝑑+1 = 0 in 𝑅𝑑+1 . For a point 𝑝 = (𝑝1 , … , 𝑝𝑑 ) ∈𝑅𝑑 , let e(𝑝) denote the hyperplane in 𝑅𝑑+1 with equation 59 • Geometrically, e(𝑝) is the hyperplane tangent to the paraboloid U at the point u(p) = (𝑝1 , … , 𝑝𝑑 , 𝑝12 + … + 𝑝𝑑2 ) lying vertically above p. 60 Proposition • Let p, x ∈ Rd be points and let u(x) be the point of U vertically above x. Then u(x) lies above the hyperplane e(p) or on it, and the vertical distance of u(x) to e(p) is 𝛿 2 , where 𝛿 = dist(x,p). 61 Proof: • We just substitute into the equations of U and of e(p). The 𝑥𝑑+1 -coordinate of u(x) is 𝑥12 + … +𝑥𝑑2 , while the 𝑥𝑑+1 -coordinate of the point of e(p) above x is 2𝑝1 𝑥1 + • • • + 2𝑝𝑑 𝑥𝑑 - 𝑝12 - … - 𝑝𝑑2 The difference is (𝑥1 −𝑝1 ) 2 + ...+(𝑥𝑑 −𝑝𝑑 ) 2 = δ2 62 • Let ε(𝑝) denote the half-space lying above the hyperplane e(𝑝). Consider an n-point set 𝑃 ⊂ 𝑅𝑑 . As we saw x ϵ reg(𝑝) holds if and only if e(𝑝) is vertically closest to U at x among all e(𝑞), 𝑞 ∈ 𝑃. 63 Corollary. • The Voronoi diagram of P is the vertical projection of the facets of the polyhedron 𝑝∈𝑃 𝜀(𝑃) onto the hyperplane 𝑥𝑑+1 =0. • Here is an illustration for a planar Voronoi diagram: 64 The farthest-point Voronoi diagram. • The projection of the H-polyhedron 𝑝∈𝑃 𝜀(𝑝)𝑜𝑝 , where 𝛾 𝑜𝑝 denotes the half-space opposite to γ, forms the farthest-neighbor Voronoi diagram, in which each point 𝑝 ∈ P is assigned the regions of points for which it is the farthest point. It can be shown that all nonempty regions of this diagram are unbounded and they correspond precisely to the points appearing on the surface of conv(P). 65