The Number of Congruent Simplices in a Point Set

Discrete & Computational Geometry, Aug 2002

For 1 ≤ k≤ d-1 , let f k (d) (n) be the maximum possible number of k-simplices spanned by a set of n points in ℝ d that are congruent to a given k-simplex. We prove that \(f_2^{(3)} (n) = O(n^{5/3} 2^{O(\alpha ^2 (n))} )\), f 2 (4) (n) = O(n 2+ε), for any ε > 0, f 2 (5) (n) = Θ(n 7/3), and f 3 (4) (n) = O(n 20/9+ε), for any ε > 0. We also derive a recurrence to bound f k (d) (n) for arbitrary values of k and d, and use it to derive the bound f k (d) (n) = O(n d/2+ ε), for any ε > 0, for d ≤ 7 and k ≤ d − 2. Following Erdős and Purdy, we conjecture that this bound holds for larger values of d as well, and for k ≤ d − 2.

A PDF file should load here. If you do not see its contents the file may be temporarily unavailable at the journal website or you do not have a PDF plug-in installed and enabled in your browser.

Alternatively, you can download the file locally and open with any standalone PDF reader:

https://link.springer.com/content/pdf/10.1007%2Fs00454-002-0727-x.pdf

The Number of Congruent Simplices in a Point Set

Discrete Comput Geom Geometry Discrete & Computational Pankaj K. Agarwal 1 Micha Sharir 0 0 School of Computer Science, Tel Aviv University , Tel Aviv 69978 , Israel and Courant Institute of Mathematical Sciences, New York University , New York, NY 10012 , USA 1 Department of Computer Science, Duke University , Durham, NC 27708-0129 , USA For 1 ≤ k ≤ d −1, let fk(d)(n) be the maximum possible number of k-simplices spanned by a set of n points in Rd that are congruent to a given k-simplex. We prove that f2(3)(n) = O(n5/32O(α2(n))), f2(4)(n) = O(n2+ε), for any ε > 0, f2(5)(n) = (n7/3), and f3(4)(n) = O(n20/9+ε), for any ε > 0. We also derive a recurrence to bound fk(d)(n) for arbitrary values of k and d, and use it to derive the bound fk(d)(n) = O(nd/2+ε), for any ε > 0, for d ≤ 7 and k ≤ d − 2. Following Erdo˝s and Purdy, we conjecture that this bound holds for larger values of d as well, and for k ≤ d − 2. ∗ Work on this paper has been supported by a grant from the U.S.-Israeli Binational Science Foundation. Work by Pankaj Agarwal was also supported by Army Research Office MURI Grant DAAH04-96-1-0013, by a Sloan fellowship, by NSF Grants EIA-98-70724, EIA-99-72879, ITR-333-1050, and CCR-97-32787. Work by Micha Sharir was also supported by NSF Grant CCR-97-32101, by a grant from the Israel Science Fund (for a Center of Excellence in Geometric Computing), by the ESPRIT IV LTR Project No. 21957 (CGAL), and by the Hermann Minkowski-MINERVA Center for Geometry at Tel Aviv University. A preliminary version of the paper has appeared in Proc. 17th ACM Symp. on Computational Geometry, 2001, pp. 1-10. 1. Introduction Let P be a set of n points in Rd , and let be a prescribed k-dimensional simplex, for some 1 ≤ k ≤ d − 1. Let fk(d)( P, ) be the number of k-simplices spanned by P that are congruent to . Set fk(d)(n) = max fk(d)( P, ), where the maximum is taken over all sets of n points in Rd and over all k-simplices in Rd . We wish to obtain sharp bounds for f (d)(n). k P. K. Agarwal and M. Sharir The case k = 1 is the well-studied problem of repeated distances, originally considered by Erdo˝s [ 17 ] in 1946: How many pairs of points of P lie at a prescribed distance from each other? This special case is interesting only for d = 2, 3 because Ccfo12(nd:)s(xtnr1u)=ct=xin2 =R(n402,t)wxf32oo+roxdr4t2h=≥og1o4na.anIldndupenlaeitcde,cniar/sc2loepsbosCienr1tv:seodxn12bey+acLhxeo22nfzt=h(eset1we,,oxe3c.igr=.c,le[2sx43(s]e,=eoFn0ieg.ac1na)nd. The distance between any two points p ∈ C1 and q ∈ C2 is √2, thereby obtaining a set P of n points with (n2) pairs of points at distance √2. The known upper bounds for d = 2, 3 are f (2)(n) = O(n4/3) [ 15 ], [ 26 ], [ 27 ] and f1(3)(n) = O(n3/2β(n)) [ 15 ], 1 where β(n) = 2 (α2(n)) is a slowly growing function of n, defined in terms of the inverse Ackermann’s function α(n). However, neither of these bounds is known to be tight. The best-known lower bounds are f1(2)(n) = n1+ (1/ log log n) and f1(3)(n) = (n4/3 log log n); see, e.g., [ 23 ]. Note that we have excluded the cases k = 0 and k = d. The case k = 0 is uninteresting because, trivially, f0(d)(n) = n. The case k = d is also uninteresting because fd(d)(n) = O( fd(−d)1(n)). It is conceivable, though, that fd(d)(n) is significantly smaller than fd(−d)1(n). However, we are not aware of any instance where this has been shown to be the case. Another easy observation is that fk(d)(n) = (nk+1) for any k ≤ d/2 − 1. The upper bound is trivial, and the lower bound can be proved by generalizing the construction for the case k = 1, namely, by placing the points of P on k + 1 mutually orthogonal unit-radius circles centered at the origin. Erdo˝s and Purdy [ 19 ] proved that f2(3)(n) = O(n19/9). The bound was later improved by Akutsu et al. [ 5 ] to O(n9/5) and then by Brass [ 10 ] to O(n7/4). Akutsu et al. [ 5 ] also proved that f (4)(n) = O(n65/23+ε) and 2 f (4)(n) = O(n66/23+ε), for any ε > 0.1 By generalizing Lenz’s construction, A´brego 3 and Ferna´ndez-Merchant [ 2 ] proved that f2(4)(n) = (n2) and f2(5)(n) = (n7/3). Erdo˝s and Purdy [ 20 ] conjectured that fk(d)(n) = O(nd/2) for even values of d ≥ 4. There has also been work on bounding the number of simplices spanned by a point set that are similar to a given a simplex [ 1 ]–[ 3 ]. 1 We follow the convention that an upper bound that involves the parameter ε holds for any ε > 0 and the constant of proportionality depends on ε, and generally tends to infinity as ε tends to 0. (n7/3), and f3(4)(n) = O(n20/9+ε). The best lower bound that we know for f2(3)(n) is (n4/3). This is obtained by placing one point at the origin and n − 1 additional points on the unit sphere, so that there are (n4/3) pairs of those n − 1 points at distance √2 from each other (see [ 18 ] for such a construction). The bound on f (4)(n) is almost tight because as 2 mentioned above, f2(4)(n) = (n2). We conjecture that fk(d)(n) = (min{nk+1, nd/2}) for even values of d ≥ 4 and fk(d)(n) = (min{nk+1, nd/2−1/6}) for odd values of d ≥ 5. The lower bound can once again be attained by generalizing Lenz’s construction. We also derive a recurrence for fk(d)(n) for general values of k and d. The solution of this recurrence is O(nζ(d,k)+ε), where ζ (d, k) is a rather complicated function of d and k. Although we are currently unable to provide sharp explicit bounds for ζ (d, k), for arbitrary values of k and d, we can prove that ζ (d, k) ≤ d/2 for d ≤ 7 and k ≤ d − 2. We conjecture that ζ (d, k) ≤ d/2 for all d and k ≤ d − 2. (The case k = d − 1 seems harder to analyze; see below.) Proving this bound on ζ (d, k) will (almost) settle in the affirmative the above-mentioned conjecture for even values of d. A novel feature of our analysis is a round-robin recurrence scheme. In each round of this scheme some of the given points are treated as points while others are treated as spheres of various radii (equal to the lengths of appropriate edges of the given simplex ). The recurrence then follows from a space-partitioning process, based on a (1/r )-cutting of these sets of spheres; see Sections 3 and 5 for details. The problem is motivated by the problem of exact pattern matching: we are given a set E of n points in Rd and a “pattern set” P of m ≤ n points (in most applications m is much smaller than n), and we wish to determine whether E contains a congruent copy of P, or, alternatively, to enumerate all such copies. A commonly used approach to this problem is to take a simplex spanned by some points of P, and find all congruent copies of that are spanned by E . For each such copy , take the Euclidean motion(s) that map to , and check whether all the other points of P map to points of E under that motion. The efficiency of such an algorithm depends on the number of congruent copies of in E . Using this approach, de Rezende and Lee [ 24 ] developed an O(mnd )-time algorithm to determine whether E contains a congruent copy of P. For d = 3, Brass recently developed an O(mn7/4β(n) log n)-time algorithm, which improves an earlier result by Boxer [ 9 ]. Our improved bounds can be applied to derive more efficient algorithms for the corresponding variants of this problem (see, e.g., a note to that effect at the end of Section 2). 2. Congruent Triangles in Three Dimensions In this section we first bound the number of triangles spanned by a point set in R3 that are congruent to a given triangle. Then we show that our proof also gives an algorithm for computing these triangles. Theorem 2.1. Let P be a set of n points in R3. The number of triangles spanned by P that are congruent to a fixed triangle is O(n5/3 · 2 (α2(n))). Proof. Let the fixed triangle be = x0 y0z0, with side lengths |x0 y0| = ξ , |x0z0| = η, |y0z0| = ζ . Without loss of generality, we can assume that x0 y0 is the longest edge of . Let ξ ∗ be the distance between x0 and the projection of z0 on the edge x0 y0, and let ρ be the distance between z0 and the edge x0 y0. Fix a pair of points p, q ∈ P such that | pq| = ξ . Let v∗ be the point on the segment pq at distance ξ ∗ from p. Any point v such that pqv is congruent to , with | pq| = ξ , | pv| = η, |qv| = ζ , lies on the circle γpq of radius ρ centered at v∗ and orthogonal to pq ; see Fig. 2. Repeating this analysis for each pair p, q at distance ξ , we obtain a (multi)set C of congruent circles, one for each such pair of points, and the number of triangles under consideration is equal to the number of incidences between the circles of C and the points of P. It is easily checked that at most two pairs of points p, q can give rise to the same circle in C, so we may assume that all circles in C are distinct. Since each circle in C is generated by a pair of points of P at distance ξ apart, the results in [ 15 ] imply |C| = O(n3/2β(n)), where β(n) = 2 (α2(n)) is as above. For each u ∈ P, let σu denote the sphere of radius η centered at u. Let S denote the resulting collection of n spheres. Let Pu = P ∩ σu and Cu = {γuv | v ∈ P, |uv| = ξ } (all circles in Cu lie on σu ). Put mu = | Pu | and cu = |Cu |. We have u∈P u∈P mu = O(n3/2β(n)), cu = |C| = O(n3/2β(n)). (2.1) We claim that the number of incidences between the points of Pu and the circles of Cu is O(mu2/3cu2/3 + mu + cu ). This follows exactly as in the proof of a similar bound on the number of incidences between points and unit circles in the plane (see [ 15 ] and [ 27 ]; in fact, the proof in [ 27 ] translates practically verbatim to the case of congruent circles on a sphere). The number of incidences between the circles of C and the points of P is thus (using (2.1)) O u∈P (mu2/3cu2/3 + mu + cu ) = O(n3/2β(n)) + O u∈P m2u/3c2/3 . u To obtain an upper bound for the second term, we need the following properties. Lemma 2.2. The number of sphere-circle containments between a subset S0 of spheres of S and the circles of C is O(n3/4|S0|3/4β(n) + n + |S0|). Proof. Let P0 ⊆ P denote the set of centers of the spheres of S0. Consider a containment between a sphere σu , for u ∈ P0, and a circle γuv of C. Then v is a point of P at distance ξ from u. That is, u lies on the sphere of radius ξ centered at v. Conversely, any such point v gives rise to a circle γuv ∈ C that is contained in σu . The asserted bound is now an immediate consequence of the bound on the number of incidences between points and unit spheres in R3, as given in [ 15 ]. For j ≥ 0, let Pj ⊆ P be the set of points u such that the sphere σu contains j circles of C. Define P≥k = j≥k Pj , P<k = j<k Pj , and S≥k = {σu | u ∈ P≥k }. For a given integer k ≥ 0, let t≥k = | P≥k | denote the number of spheres in S that contain at least k circles of C. An immediate corollary of the previous lemma is the following. Corollary 2.3. t≥k = | P≥k | = O n3β4(n) k4 n + k . (2.2) Proof. The number of sphere–circle containments between the spheres of S≥k and the circles of C is at least kt≥k . Using Lemma 2.2, we have kt≥k = O(n3/4t 3/k4β(n) + n + t≥k ), ≥ from which the asserted bound follows easily. We now obtain a bound on the expression k, whose value will be specified later. We have u∈P mu2/3cu2/3. Fix a threshold parameter Using Ho¨lder’s inequality and (2.1), the first sum is at most u∈P mu2/3cu2/3 = m2u/3cu2/3 + m2u/3 j 2/3 u∈P<k ≤ k2/3 u∈P<k mu2/3 + j≥k u∈Pj u∈P<k mu2/3 ≤ k2/3 u∈P mu 2/3 · n1/3 = k2/3n1/3 · O((n3/2β(n))2/3) = O(k2/3n4/3β2/3(n)). Using once again Ho¨lder’s inequality, in conjunction with (2.1) and (2.2), the second sum can be bounded by ≤ ≤ ≤ j≥k 2/3 mu 2/3 · 2/3 | Pj |1/3 j≥k j 2| Pj | 1/3 · k2| P≥k | + (2 j + 1)| P≥ j | j>k  = O (n3/2β(n))2/3 · = O = O nβ2/3(n) · n5/3β2/3(n) + n3β4(n) k2 n3β4(n) k2 + n2 n2β2(n) k2/3 . +nk+ 1/3 j>k 1/3 n3β4(n) Hence, the total number of triangles in f2(3)( P, ) is O k2/3n4/3β2/3(n) + n5/3β2/3(n) + n2β2(n) k2/3 . Choosing k = n1/2β(n), we obtain the asserted bound. We conclude this section by describing an algorithm for computing the triangles spanned by P that are congruent to . The algorithm consists of the following two main steps: (i) For each point u ∈ P, compute the sets Pu = {u ∈ P | d(u, v) = η} and Pu = {u ∈ P | d(u, v) = ξ }, as follows. Construct the set = {σu | u ∈ P} of n spheres, each of radius η, centered at the points of P. For each point u ∈ P, we want to compute the set of spheres in that contain u. Since an arrangement of r spheres can be decomposed into O(r 3β(r )) cells of constant description complexity [ 15 ], one can use the divide-and-conquer algorithm described in [ 13 ], to compute the incidences between P and , and thus the sets Pu , for all u ∈ P, in O(n3/2+ε) time. The sets Pu can be computed in exactly the same way. (ii) Put Cu = {γuv | v ∈ Pu }. For each point u ∈ P, we compute the pairs (v, w) ∈ Pu × Cu for which v lies on the circle γuw. For any such pair (v, w), we report the triangle uvw, as it is congruent to . Since Cu is a set of congruent circles, all lying on the sphere σu , we can compute, by adapting the algorithm described in [ 13 ] and [ 21 ] for computing incidences between points and lines, all incidences between Pu and Cu in time O(mu2/3cu2/3 log n + (mu + cu ) log n). Following the above analysis, we can conclude that the total running time of the algorithm is O(n5/3+ε), for any ε > 0. That is, we have: Theorem 2.4. Let P be a set of n points in R3, and let be a triangle. The set of triangles spanned by P that are congruent to can be computed in O(n5/3+ε) time, for any ε > 0. Remark 2.5. The best-known lower bound for f2(3)(n) is (n4/3). Erdo˝s et al. [ 18 ] constructed a set S of points on a unit sphere in R3 in which (n4/3) pairs are at distance √2. If we add the origin to the point set, every pair in S at distance √2 now forms an isosceles triangle with the origin whose side lengths are 1, 1, √2. As mentioned in the Introduction, an immediate corollary of the above theorem is the following. Corollary 2.6. Given a set E of n points in R3 and a pattern point set P of m ≤ n points, we can determine in O(mn5/3β(n)+n5/3+ε) time whether E contains a congruent copy of P. This application raises the following interesting open problem. In the preceding algorithm, we used an arbitrary triangle spanned by P, and applied the upper bound that we derived on the maximum number of congruent copies of this triangle in E . However, if m is reasonably large, P spans many noncongruent triangles, and it is conceivable that some of them have considerably fewer congruent copies in E . Formally, and more generally, we wish to obtain improved upper bounds for min fk(d)(E , ), for a set E of n points in Rd , where the minimum is taken over all k-simplices spanned by a set P of m points. We note that Akutsu et al. [ 5 ] studied a related quantity, which bounds the sum, over all k-simplices spanned by P, of the number of occurrences of that simplex in E (so, for each congruence class of simplices, we sum the number of occurrences of the simplex in P times the number of its occurrences in E ). 3. Congruent Triangles in Higher Dimensions We now prove optimal or near-optimal bounds on f2(d)(n), for d ≥ 4. Recall that the problem is interesting only for d = 4, 5 because f2(d)(n) = (n3) for d ≥ 6. Let P be a set of n points in Rd , and let = x0 y0z0 be the fixed triangle, with side lengths |x0 y0| = ξ , |x0z0| = η, and |y0z0| = ζ . For a given triple of sets A, B, C of points in Rd , let ( A, B, C ; ) denote the set of triangles uvw such that (u, v, w) ∈ A × B × C , |uv| = ξ , |uw| = η, and |vw| = ζ . Set ψ ( A, B, C ; ) = | ( A, B, C ; )| and ψ (d)(a, b, c) = max ψ ( A, B, C ; ), where the maximum is taken o v.eSreatlψl s(de)t(sn)A=,Bψ, C(d)i(nn,Rnd, nw)i.thOb|Avi|o=uslay,, |fB2(d)( P, ) = | = b, and |C | = c and over all triangles ψ ( P, P, P; ) and f2(d)(n) ≤ ψ (d)(n). It therefore suffices to obtain a bound on ψ (d)(a, b, c). Let A, B, C , and be as defined above. We apply the following randomized divideand-conquer process, which consists of three substeps. Let r be a sufficiently large constant, depending on ε, whose value will be specified later. In the first step, which we refer to as the A-step, we regard A as a set of points but map B and C to spheres. Denote by σρ (x ) the (d − 1)-sphere of radius ρ centered at x . With each point p ∈ B (resp. q ∈ C ), we associate the sphere σξ ( p) (resp. ση(q)). Set B = {σξ ( p) | p ∈ B}, C = {ση(q) | q ∈ C }, and = B ∪ C . A subdivision of Rd into constant-description-complexity cells, in the sense defined in [ 25 ], is called a (1/r )-cutting of if each cell in is crossed by at most b/r (resp. c/r ) spheres of B (resp. C ). A similar cutting is used in the algorithm sketched at the end of the previous section. By following the approach originally proposed by Chazelle and Friedman [ 14 ] and refined by Agarwal et al. [ 4 ], we compute a (1/r )-cutting of of size O(r d log r ) as follows. Lift to a collection H of b + c hyperplanes in Rd+1, using the well-known lifting transformation, e.g., given in [ 16 ], which maps a sphere x12 + · · · + xd2 = α1x1 + · · · + αd xd + β to the hyperplane xd+1 = α1x1 + · · · + αd xd + β. The points of Rd are lifted to the standard paraboloid : xd+1 = id=1 xi2. We choose a random subset R ⊆ H , compute the arrangement of R, and decompose each cell of the arrangement into simplices, using, e.g., bottom-vertex triangulation [ 14 ]. Let T be the set of simplices in the decomposition that intersect . The generalized zone theorem of Aronov et al. [ 7 ] implies that the number of simplices in T is O(r d log r ). Let H ⊆ H be the set of hyperplanes that cross a simplex in T . Next, we construct a set of pairwise-disjoint, constant-size cells, which cover , as follows. If |H | ≤ (b + c)/r , then we add to . Otherwise, suppose t (b + c)/r < |H | ≤ (t + 1)(b + c)/r for some integer t > 1. We then choose a random subset R ⊆ H of O(t log t ), construct a decomposition A∇ (R ) of the arrangement, and clip each simplex of A∇ (R ) to within . If the resulting cell, which is a convex polytope with O(1) faces, intersects , then we add it to . The set {τ ∩ | τ ∈ } forms a subdivision of . The ε-net theory (see, e.g., [ 23 ]) implies that, with high probability, each cell of A∇ (R ) is crossed by at most (b + c)/r hyperplanes of H , and a result by Agarwal et al. [ 4 ] implies that the expected size of is at most crd log r , for some constant c. For each cell τ ∈ , we compute τ ∩ and project the intersection onto the hyperplane xd+1 = 0 (our original space). Let denote the resulting set of cells. By construction, is a (1/r ) cutting of of size O(r d log r ). In fact, a slightly more careful analysis implies that one may assume that each cell of is crossed by at most b/r spheres of B and by at most c/r spheres of C . For each cell τ ∈ , let Aτ = A ∩ τ , Bτ = { p ∈ B | τ ⊂ σξ ( p)}, and B˜τ = { p ∈ B | τ ∩ σξ ( p) = ∅ and τ ⊂ σξ ( p)}. That is, a point p ∈ B is in Bτ if the sphere σξ ( p) contains the (necessarily lower-dimensional) cell τ , and it is in B˜τ if σξ ( p) crosses (i.e., intersects but does not contain) τ . Similarly, we define Cˆ τ = {q ∈ C | τ ⊂ ση(q)}, C˜ τ = {q ∈ C | τ ∩ ση(q) = ∅ and τ ⊂ ση(q)}. By further refinement of the cells of the cutting, which does not change the asymptotic bound on the number of cells, we may assume that | Aτ | ≤ a/r d , τ | Aτ | = a, |B˜τ | ≤ b/r , and |C˜ τ | ≤ c/r . Since the point sets A, B, and C are not in general position, the subset Bτ (resp. Cˆ τ ) could be as large as B (resp. C ). Note that Bτ and Cˆ τ can be nonempty only if τ is a lower-dimensional cell. If a triangle uvw is in ( A, B, C ; ), then u ∈ σξ (v) ∩ ση(w). If u ∈ Aτ , then v ∈ Bˆτ ∪ B˜τ and w ∈ Cˆ τ ∪ C˜ τ . Therefore, ψ ( A, B, C ; ) ≤ [ψ ( Aτ , B˜τ , C˜ τ ; ) + ψ ( Aτ , Bˆτ , C ; ) + ψ ( Aτ , B, Cˆ τ ; )] [ψ ( Aτ , Bˆτ , C ; ) + ψ ( Aτ , B, Cˆ τ ; )]. (3.1) τ∈ + τ∈ ≤ O(r d log r ) · ψ (d) a b c , , r d r r In the remainder of this section we obtain bounds on ψ ( Aτ , Bˆτ , C ; ) and ψ ( Aτ , B, Cˆ τ ; ), for d = 4, 5, and substitute them in the above recurrence to derive the corresponding bounds for ψ (4) and ψ (5). 3.1. The Four-Dimensional Case Lemma 3.1. Let A, B, and C be three point sets of sizes a, b, c, respectively, in R4. For any cell τ in the corresponding subdivision , ψ ( Aτ , Bˆτ , C ; ) + ψ ( Aτ , B, Cˆ τ ; ) = O(| Aτ ||B| + | Aτ ||C | + |B||C |). Proof. As noted, we may assume that τ is a lower-dimensional cell. We first bound ψ ( Aτ , Bˆτ , C ; ). The assertion is obvious if min{| Aτ |, |Bˆτ |} ≤ 2, so assume that each of the two sets has at least three points. Recall that each point of Aτ lies at distance ξ from every point of Bˆτ . This implies that there exist two orthogonal concentric circles γA, γB such that Aτ ⊂ γA and Bˆτ ⊂ γB ; see Fig. 3. Indeed, let u1, u2, u3 be three distinct points of Aτ . The intersection of the spheres σξ (u1), σξ (u2), σξ (u3) is a circle; it cannot be a 2-sphere because a 2-sphere can lie on only two 3-spheres of a given radius. Let γB denote this intersection circle, and let π be the 2-plane containing γB . Clearly, Bˆτ ⊂ γB . The center o of γB is such that u1o, u2o, u3o are all orthogonal to π . This implies that u1, u2, u3 lie in the (unique) plane π ⊥ containing o and orthogonal to π . Applying a symmetric argument, in which the roles of Aτ and Bˆτ are reversed, completes the proof of the existence of γA, γB . Let w be any point in C . If w lies at distance η from at most two points of Aτ , then ψ ( Aτ , Bˆτ , {w}; ) ≤ 2|Bˆτ |, for an overall bound of 2|Bˆτ ||C |. Similarly, if w lies at distance ζ from at most two points of Bˆτ , then ψ ( Aτ , Bˆτ , {w}; ) ≤ 2| Aτ |, for an overall bound of 2| Aτ ||C |. If w is at distances η from at least three points of Aτ and at distances ζ from at least three points of Bˆτ , then w lies on a circle γC that is orthogonal to both γA and γB . However, this is impossible in R4, so ψ ( Aτ , Bˆτ , C ; ) ≤ 2(| Aτ | + |Bˆτ |)|C |. A similar argument shows that ψ ( Aτ , B, Cˆ τ ; ) ≤ 2(| Aτ | + |Cˆ τ |)|B|. Summing all the bounds obtained above, the assertion of the lemma follows. In other words, we can write (3.1) for d = 4 as ψ ( A, B, C ; ) = O(r 4 log r ) · (ab + ac + bc) + ψ (4) a b c , , r 4 r r . We now repeat this analysis a second time, using each of the sets B˜τ as the set of points and the two other sets as representing sets of spheres of appropriate radii (this is the B-step). Then we perform a third step, the C -step, in which the resulting subsets of C represent points and the two other subsets represent spheres. In each of the second and third steps, the size of each set of spheres decreases by a factor of r , and the size of each set of points decreases by a factor of r 4. After the third round, we have O(r 12 log3 r ) subproblems in which the size of each point set has been reduced by a factor of r 6. Therefore we obtain the following recurrence: ψ (4)(n) = O(r 12 log3 r )ψ (4) + O(n2), n r 6 (3.2) where the constant of proportionality of the second term depends (polynomially) on r . For any constant ε > 0, with an appropriate choice of r as a function of the prescribed ε, it can be shown that the solution to (3.2) is ψ (4)(n) = O(n2+ε), where the constant of proportionality depends on ε. Applying this bound for A = B = C = P, we obtain that f2(4)(n) = O(n2+ε). Observe that the above proof is constructive in the sense that it can be converted into a recursive algorithm for computing the triangles in ( A, B, C ; ), whose running time follows the same recurrence as (3.2). Indeed, since r is a constant, we can compute the (1/r )-cutting described above by a randomized algorithm in O(b + c) expected time. In fact, it can be computed by a deterministic algorithm in O(b + c) worst-case time [ 12 ]. For each cell τ ∈ , Aτ , Bˆτ , Cˆ τ can be computed in an additional O(a + b + c) time. Following the proof of Lemma 3.1, the sets ( Aτ , Bˆτ , C ; ) and ( Aτ , B, Cˆ τ ; ) can be computed in time O(ab + bc + ca). Hence, the total running time of the recursive algorithm is O(n2+ε). It can be shown that f2(4)(n) = (n2), by generalizing Lenz’s construction. In fact, the following construction shows that this lower bound can be attained for any given triangle . Let the side lengths of be a, b, c. Choose a1 < a, b1 < b, and h > 0 so that a1 + b1 > c and a2 − a12 = b2 − b12 = h2. Geometrically, regard as a triangle in R3 with the side of length c lying on the xy-plane, project on the xy-plane; a1 and b1 are the two other sides of the projected triangle (see Fig. 4). Take the following three circles: Place n/3 points on each of the circles so that for each of the points p placed on γ2 there is a point q placed on γ3 at distance c from p. The resulting set has (n/3)2 congruent copies of . This construction is reminiscent of a construction in R3, given in [ 2 ]. Hence, we have the following theorem. Theorem 3.2. Let P be a set of n points in R4, and let be a triangle. The number of triangles spanned by P that are congruent to is O(n2+ε), for any ε > 0, and can be (n2) in the worst case. Moreover, all the triangles spanned by P that are congruent to can be computed in time O(n2+ε). 3.2. The Five-Dimensional Case An argument similar to but somewhat more involved than the one used in Lemma 3.1 implies the following lemma for d = 5. Lemma 3.3. Let A, B, and C be three point sets of sizes a, b, c, respectively, in R5. For any cell τ in the corresponding subdivision , ψ ( Aτ , Bˆτ , C ; ) + ψ ( Aτ , B, Cˆ τ ; ) = O(| Aτ |(|B|2/3|C |2/3 + |B| + |C |) + |B||C |). Proof. The proof follows the same line of reasoning as that of Lemma 3.1. We first bound ψ ( Aτ , Bˆτ , C ; ). Again, we can assume that | Aτ |, |Bˆτ | ≥ 3. Since each point of Aτ lies at distance ξ from every point of Bˆτ , it follows, similar to the four-dimensional case, that only two cases are possible: (i) Aτ lies on a circle γA and Bˆτ lies on a concentric orthogonal 2-sphere ϕB . (ii) Aτ lies on a 2-sphere ϕA and Bˆτ lies on a concentric orthogonal circle γB . Indeed, take three distinct points u1, u2, u3 ∈ Aτ . Arguing as above, Bˆτ is contained in a 2-sphere that is concentric with and orthogonal to the circle γ that passes through u1, u2, u3. If Bˆτ contains at least four noncoplanar points, then the entire Aτ must be contained in γ , and we get the situation in case (i). Otherwise, the entire Bˆτ must lie on a single circle and we get the situation in case (ii). Let w be any point in C . If w lies at distance η from at most three points of Aτ , then ψ ( Aτ , Bˆτ , {w}; ) ≤ 3|Bˆτ |, for an overall bound of 3|Bˆτ ||C |. So assume that w is at distance η from at least four points of Aτ . In case (i), w must lie on a 2-sphere ϕC that is concentric with and orthogonal to γA, and thus lies in the same 3-space containing ϕB . We have thus reduced the problem to the following one: we have two concentric spheres, ϕ, ϕ , in three dimensions, and two finite point sets Q, Q , with Q ⊂ ϕ and Q ⊂ ϕ , and we wish to bound the number of pairs of points in Q × Q that are at distance ζ from each other. Following the proof in [ 15 ] on the number of repeated distances in a planar point set and the proof of Theorem 2.1, it can be shown that the number of such pairs is O(|Q|2/3|Q |2/3 + |Q| + |Q |). In other words, the number of triangles under consideration is O(| Aτ |(|Bˆτ |2/3|C |2/3 + |Bˆτ | + |C |)). In case (ii), w must lie on a circle γC that is concentric with and orthogonal to ϕA, and thus lies in the same 2-plane containing γB . In this case it is easily seen that the number of pairs of points in Bˆτ × (C ∩ γC ) at distance ζ from each other is at most 2|Bˆτ |, so the number of triangles under consideration is O(| Aτ ||Bˆτ |). The estimation of ψ ( Aτ , B, Cˆ τ ; ) is fully symmetric, and yields the bound O(| Aτ |(|Cˆ τ |2/3|B|2/3 + |Cˆ τ | + |B|) + |Cˆ τ ||B|). Summing all the bounds obtained above, the assertion of the lemma follows. We now apply Lemma 3.3 to each lower-dimensional cell τ ∈ , sum up the resulting bounds, and recall that r is a constant, to conclude that the number of triangles that satisfy the assumptions of the lemma, over all cells τ , is O(a(b2/3c2/3 + b + c) + bc). By applying a round-robin decomposition process, as in the four-dimensional case, we obtain the following recurrence for ψ (5)(n): ψ (5)(n) = O(r 15 log3 r )ψ (5) n r 7 + O(n7/3). (3.3) Using induction on n and choosing a sufficiently large constant value for r , it can be shown that the solution to (3.3) is ψ (5)(n) = O(n7/3). Again, we can convert the above argument into an efficient algorithm for computing ( P, P, P; ). Let T (n) be an upper bound on the running time of the algorithm, for sets | P | = n. All the steps in the preceding analysis are effective, and can be computed efficiently. In particular, given two sets of points Q and Q on two spheres in 3-space, and a real parameter r , we can find, in time O ((|Q|2/3|Q |2/3 + |Q| + |Q |) log(|Q| + |Q |)), all pairs in Q × Q that are at distance r , by modifying an algorithm by Chazelle [ 13 ]. Proceeding as above, we get the following recurrence for T (n): T (n) = O (r 15 log3 r )T n r 7 + O (n7/3 log n), whose solution is O (n7/3 log n). Finally, a matching lower bound for ψ (5)(n) is constructed as follows. Take a unit 2-sphere σ and a unit circle γ that are concentric and orthogonal. Place n/2 points on σ so that there are (n4/3) pairs of these points at distance √2 apart (as in [ 18 ]), and place n/2 points arbitrarily on γ . We obtain a set of n points with (n7/3) equilateral triangles of side length √2. We thus obtain the following theorem. Theorem 3.4. Let P be a set of n points in R5, and let be a triangle. The number of triangles spanned by P that are congruent to is O (n7/3), and the bound is tight in the worst case. Moreover, the triangles spanned by P that are congruent to can be computed in time O (n7/3 log n). Remark 3.5. The number of congruent triangles in a set of n points in the plane is O (n4/3), which is an immediate consequence of the same bound for the number of repeated distances in the plane. It is curious to note that each of these four bounds is close to O (n(d+2)/3), where d is the dimension. However, while for d = 4, 5 these bounds are nearly tight (for d = 4) and tight (for d = 5), they are conjectured not to be tight for d = 2, 3. Congruent Tetrahedra in Four Dimensions We now bound the number of tetrahedra spanned by a set P of n points in R4 that are congruent to a given tetrahedron = pqrs. Fix three points u, v, w ∈ P so that the triangle uvw is congruent to the face pqr of . By Theorem 3.2, the number of such triples is O (n2+ε). Any point z ∈ P such that uvwz is congruent to must lie on a circle γuvw that is orthogonal to the 2-plane spanned by u, v, w, whose center lies at a fixed point in this plane, which is the image (under the congruence) of the base point s∗ of the height of from s. Let denote the collection of circles γuvw. Note that the circle γuvw is fully determined by the points u, v, w, but that it is possible that two different circles γuvw and γu v w coincide. In this case u v w is obtained from uvw by a rotation (and/or reflection) in the plane orthogonal to γuvw, about the center of this circle. In other words, all the points u ∈ P that induce, with two other points of P , a fixed circle γ = γuvw so that u maps to p, must lie on a circle Cγ, p, which is concentric with and orthogonal to γ . The radius of Cγ, p is the distance between p and s∗. Similarly, the points that induce γ and map to q (resp. r ) lie on a circle Cγ,q (resp. Cγ,r ). The three circles Cγ, p, Cγ,q , and Cγ,r are concentric and coplanar. It is easily checked that any of these three circles uniquely determines γ and vice versa. For simplicity of presentation, we only use one of these three coplanar circles, say Cγ, p. For a circle γ ∈ , there are O (| P ∩ γ | · | P ∩ Cγ, p|) tetrahedra uvwz spanned by P such that z ∈ γ and u, v, w lie on the respective orthogonal concentric circles Cγ, p, Cγ,q , Cγ,r . Indeed, once the point u has been chosen (from P ∩ Cγ, p), the point v that maps to q must lie on Cγ,q and must be at distance |pq| from u. There are at most two such points. Similarly there are two candidate points for w in P ∩ Cγ,r and any point in P ∩ γ is a candidate for z. Fix a threshold parameter k, whose value will be specified later. If a circle γ ∈ contains fewer than k points, then the number of tetrahedra under consideration is at most k times the number of triangles uvw that are spanned by P , are congruent to pqr , and induce the circle γuvw = γ . Summing this bound over all such “low-degree” circles, we obtain the bound O (n2+εk). The problem can thus be reduced to the following. We have a set P of n points and a collection of pairs of concentric orthogonal circles, in which no two pairs have a circle in common, and at least one circle in each pair contains at least k points of P . Our goal is to estimate the sum | P ∩ γ | · | P ∩ γ | ≤ max{| P ∩ γ |, | P ∩ γ |}2. (γ,γ )∈ (γ,γ )∈ The problem of estimating the last sum can be restated as follows: we have the point set P and a collection C of circles so that each circle in C contains at least k points of P , and our goal is to estimate the sum γ ∈C | P ∩ γ |2. Note that we may assume the circles in C to be congruent. Lemma 4.1. The number t≥ j of circles in C that contain at least j points of P is O (n3κ (n)/j 11/2 + n2/j 3 + n/j ), where κ (n) = (log n)O(α2(n)). Proof. The number of incidences between these t≥ j circles and the points of P is at least j t≥ j . A result by Aronov et al. [ 6 ] implies that the maximum number of incidences between m circles and n points is O (n6/11m9/11κ (n) + m2/3n2/3 + n + m), where κ (n) = (log n)O(α2(n)). We thus have j t≥ j = O (n6/11t≥9/j11κ (n) + t≥2/j3n2/3 + n + t≥ j ), from which the asserted bound follows easily. Let tj denote the number of circles in C that contain exactly j points of P . We then have γ ∈C | P ∩ γ |2 = j 2tj = k2t≥k + j>k (2 j + 1)t≥ j j≥k = O = O n2 Hence, the overall number of tetrahedra spanned by P and congruent to 0 is O n2 + kn7/32 κ(n) + n2+εk . Choosing k = n2/9, we obtain the following bound. Theorem 4.2. Let P be a set of n points in R4. The number of tetrahedra spanned by P that are congruent to a fixed tetrahedron is O(n20/9+ε), for any ε > 0. 5. The General Case Let P be a set of n points in Rd and let 3 ≤ k ≤ d − 1. Let = a1a2 · · · ak+1 be a fixed k-simplex. We wish to bound the number of k-simplices spanned by the points of P that are congruent to . We assume that we are given k + 1 sets of points in Rd , call them P1, . . . , Pk+1. Initially, P1 = P2 = · · · = Pk+1 = P. Let k ( P1, . . . , Pk+1; ) denote the set of (k + 1)-tuples ( p1, p2, . . . , pk+1) ∈ P1 × P2 × · · · × Pk+1 such that the k-simplex p1 p2 · · · pk+1 is congruent to and | pi pj | = |ai aj | for 1 ≤ i < j ≤ k + 1 (i.e., pi maps to ai ). Set and ψk ( P1, . . . , Pk+1; ) = | k ( P1, . . . , Pk+1; )| ψk (n1, . . . , nk+1) = max ψk ( P1, . . . , Pk+1; ), where the maximum is taken over all tuples of sets P1, . . . , Pk+1 in Rd with | Pi | = ni , for i = 1, . . . , k + 1, and over all k-simplices . For brevity, we use ψk (n) to denote ψk (n, . . . , n). The following lemma is crucial for our analysis. Lemma 5.1. Let P and Q be two point sets in Rd , so that | P|, |Q| ≥ d + 1, and so that |pq| = a for each p ∈ P, q ∈ Q, for some fixed a. Then there exist two spheres P , Q , of respective (smallest) dimensions δP , δQ and centers cP , cQ , such that (i) P ⊂ P and Q ⊂ Q ; (ii) 1 ≤ δP , δQ ≤ d − 3, and δP + δQ ≤ d − 2; and (iii) P is orthogonal to Q and both are orthogonal to the segment cP cQ . (If δP + δQ = d − 2, then cP = cQ .) Conversely, the existence of such a pair of spheres implies that all distances |pq|, for each p ∈ P and q ∈ Q, are equal. Proof. P is contained in the intersection = sphere of radius a centered at q. This intersection iqs∈aQsσpah(eqr)e,owfhdeimreeσnas(iqon) iasttmheos(dtd−−13)-. Indeed, two of these (congruent) (d − 1)-spheres intersect in a (d − 2)-sphere, which cannot be contained in any other (d − 1)-sphere of the same radius. Let P ⊆ be the smallest-dimensional sphere containing P, and let δP denote its dimension. A symmetric argument implies that Q is also contained in some (smallest-dimensional) sphere Q , of dimension δQ . Clearly, 1 ≤ δP , δQ ≤ d − 3. Let cP , cQ denote the respective centers of P , Q , and let rP , rQ denote their respective radii. Let HP , HQ denote the affine hulls of P, Q, respectively. Note that, for each pair of points p, p ∈ P, Q is contained in the perpendicular bisector hyperplane of pp . Thus Q lies in the intersection of these hyperplanes, which is a flat K containing HQ and orthogonal to HP . This shows that HP and HQ , and thus also P , Q , are orthogonal to each other. Consequently, dim(HP ) + dim(HQ ) ≤ d and thus δP + δQ ≤ d − 2. Note that, by construction, K contains cP . It also contains cQ since this point lies in the affine hull of Q. Hence, cP cQ is orthogonal to P . A symmetric argument implies that this segment is also orthogonal to Q , and this completes the proof of the lemma. If dim(HP ) + dim(HQ ) = d, then no line is orthogonal to both spheres, so cP = cQ . By applying the above lemma inductively, we obtain the following. Corollary 5.2. Let P1, P2, . . . , P be sets of points in Rd , each of size at least d + 1, so that for all pairs 1 ≤ i < j ≤ and for any p ∈ Pi and q ∈ Pj , |pq| = |ai aj |. Then there exist spheres 1, . . . , of respective (smallest) dimensions δ1, . . . , δ and centers c1, . . . , c , such that (i) Pi ⊂ i , for each 1 ≤ i ≤ ; (ii) 1 ≤ δi ≤ d − 3, for every i , and i=1 δi ≤ d − (if i=1 δi = d − , then c1 = · · · = c ); and (iii) for i = j , i is orthogonal to j and all spheres are orthogonal to the affine hull of c1, . . . , c . We extend the divide-and-conquer procedure described in Section 3 to bound ψk . Initially, each Pi is an arbitrary set of points in Rd , but each step of the procedure will decompose a problem into subproblems in which some “cliques” of the point sets will satisfy the conditions of Corollary 5.2. We therefore define a generalized version of the function ψk by introducing a vertex-weighted graph G = (V , E , λ), where V = {1, . . . , k + 1}. A pair (i, j ) ∈ E if |pq| = |ai aj | for every p ∈ Pi and q ∈ Pj . We associate a weight function λ: {1, . . . , k + 1} → {1, . . . , d} with the vertices of G, which we simply write as a sequence (λ1, . . . , λk+1). Here λi is the dimension of the smallest sphere that contains Pi . We refer to G as a (d, k)-graph. By Corollary 5.2, G satisfies the following property: (G) If {i1, . . . , i } is a clique in G, then j=1 λij ≤ d − . We now define ψ (G)(n1, . . . , nk+1) to be the maximum value of ψk ( P1, . . . , Pk+1; ), k taken only over sets P1, . . . , Pk+1 whose associated vertex-weighted graph is G. Thus, these sets satisfy the following properties: As a special case, the original bound ψk (n1, . . . , nk+1) can be written as ψ (G0)(n1, . . . , k nk+1), where G0 = (V , ∅, (d, d, . . . , d)) is an empty vertex-weighted graph (i.e., a graph with no edges), with no constraints on any Pi . We apply a round-robin decomposition method to bound ψ (G)(n) ≡ ψ (G)(n, . . . , n). k k Let P1, . . . , Pk+1 have G as their induced vertex-weighted graph, each of size n. The process consists of k + 1 rounds, which are then repeated recursively. In the j th round, Pj is regarded as a set of points, and each Pi , for i = j , is regarded as a set of congruent spheres of radius |ai aj |. Consider the first round, in which we regard P1 as a set of points, and let V1 denote the collection of all vertices j = 1 of G such that (1, j ) ∈/ E . If V1 = ∅, we skip the first round altogether (see below for details). If G contains an edge of the form (1, j ), then λ1 ≤ d − 3, and P1 lies on a λ1-dimensional sphere 1. We set U1 to be the affine hull of 1. Otherwise, if λ1 = d, then we set 1 = U1 = Rd . Regard any point p in some Pj , for j ∈ V1, as defining a (λ1 − 1)-dimensional sphere σj ( p), obtained as the intersection of U1 with the (d − 1)-sphere centered at p and having radius |a1aj |. Set j = {σj ( p) | p ∈ Pj } and = j∈V1 j . As above, a subdivision of 1 into constant-description cells is called a (1/r )cutting of if each cell of is crossed by at most | j |/r spheres of j for every j ∈ V1. Arguing as in Section 3, we have Lemma 5.3. For any given parameter r > 0, there exists a (1/r )-cutting of O(r λ1 log r ). of size We fix a parameter r1 and compute a (1/r1)-cutting of . By splitting cells further as necessary, we may assume that each cell contains at most n/r1λ1 points of P1; the number of cells is still O(r1λ1 log r1), with a larger constant of proportionality. Let denote the resulting set of cells. For each τ ∈ , set P1τ = P1 ∩ τ . Obviously ψk ( P1, . . . , Pk+1; ) = ψk ( P1τ , P2, . . . , Pk+1; ). τ∈ Let = a2 · · · ak+1 be the facet of opposite to a1. Let G¯ i denote the vertex-weighted (d, k − 1)-subgraph of G induced by the vertices V \{i }. Fix a cell τ ∈ . We say that a point pi ∈ Pi , for any i > 1, is light in τ if pi is at distance |a1ai | from at most d points of P1τ (this also includes the case where | P1τ | ≤ d); otherwise, it is heavy in τ . Let Liτ (resp. Hiτ ) be the subset of points of Pi that are light (resp. heavy) in τ , for i = 2, . . . , k + 1. Let p2 · · · pk+1 be a (k − 1)-simplex in k−1( P2, . . . , Liτ , . . . , Pk+1; ). Since pi is light in τ , p2 · · · pk+1 contributes at most d simplices to k ( P1τ , P2, . . . , Liτ , . . . , Pk+1; ). Therefore the light points of Pi contribute at most dψk(−G¯ 11)(n, . . . , n) ≤ dψk(−G¯ 11)(n) simplices, which implies that ψk ( P1τ , P2, . . . , Pk+1; ) ≤ dkψk(−G¯ 11)(n) + ψk ( P1τ , H2τ , . . . , Hkτ+1; ). For each i > 1, let Hˆiτ = { p ∈ Hiτ | τ ⊂ σi ( p)}, and let H τ ˜i = { p ∈ Hiτ | τ ∩ σi ( p) = ∅ and τ ⊂ σi ( p)}. That is, a point p is in H˜iτ if σi ( p) crosses τ . By definition, if i ∈/ V1, then H˜ τ i = ∅ and Hˆiτ = Hiτ . Since is a (1/r1)-cutting of (in the refined sense), we have |H˜iτ | ≤ n/r1 for each i ∈ V1. If a simplex p1 · · · pk+1 ∈ k ( P1τ , H2τ , . . . , Hkτ+1; ), Hence, we obikt=+a21inσi ( pi ). Since p1 ∈ τ , we have that pi ∈ Hˆiτ ∪ H˜iτ for 2 ≤ i ≤ k + 1. then p1 ∈ τ∈ ψk ( P1τ , H2τ , . . . , Hkτ+1; ) ≤   τ∈ i∈V1 ≤ O(r1λ1 log r1) τ∈ + ψk  P1τ , Hˆ2τ , . . . , Hˆjτ , H˜jτ+1, . . . , H˜kτ+1 ∈/V1 ∈V1 ψk ( P1τ , H2τ , . . . , Hˆiτ , . . . Hkτ+1; ) Fix an i ∈ V1. Similar to the above argument, if |Hˆiτ | ≤ d, then ψk(G)( P1τ , H2τ , . . . , Hˆiτ , . . . , Hkτ+1; ) ≤ dψk(−G¯ 1i)(n). If |Hˆiτ | ≥ d + 1, apply Lemma 5.1 to P1τ and Hˆiτ to conclude the existence of two spheres ⊃ P1τ , ⊃ Hˆiτ that satisfy the properties of that lemma. We clearly have ⊂ 1 and ⊂ i , and proper inclusions are possible. Let δ, δ denote the respective dimensions of , . Note that for any j ∈/ V1, and j continue to satisfy the properties of Lemma 5.1 (as did 1 and j , except that the dimension of may be smaller than that of 1). The same holds for any edge (i, i ) in G incident to i , with replacing i . We now replace G by the augmented vertex-weighted graph G+(1,i), whose edge set is E ∪ {(1, i )}, and in which λ1 is replaced by δ, λi by δ , and, for 1 < j = i , λj is replaced, if necessary, by the smallest integer s ≤ λj such that Hjτ lies in an ssphere. This step does not increase the value of any λ . We can thus rewrite the above recurrence as ψk(G)( P1, . . . , Pk+1; ) ≤ O(r1λ1 log r1)ψk(G) n/r1λ1 , n, . . . , n, n/r1, . . . , n/r1    k+1 i=2  (5.1) |V1| i∈V1 We now repeat this step for each of the remaining k rounds. In the i th round we compute a (1/ri )-cutting of an appropriate set of spheres (where Pj is mapped to a set of spheres of common radius |ai aj | if (i, j ) ∈/ E ), so that the size of the cutting is O(riλi log ri ). We then obtain a recurrence similar to that in (5.1). To derive the final resulting recurrence, we need to choose appropriate values for the parameters ri , which we do as follows. Fix an index i ∈ {1, . . . , k + 1}. In the i th round, the size of the i th set in the leading recursive term (i.e., the term that involves the same ψ (G) function, which is the first term k in the right-hand side of (5.1)) is reduced by a factor of riλi . At the j th round, for any j = i , there are two cases: (a) If (i, j ) ∈/ E , then the size of Pi in the leading recursive term is reduced by rj . (b) If (i, j ) ∈ E , then Pi does not change. Thus the total size of the i th set in the final leading recursive term is at most n 1 riλi ( j,i)∈/E rj . For each i = 1, . . . , k + 1, put ri = r xi , for some sufficiently large constant parameter r and for exponents xi ≥ 0, that are required to satisfy the following k + 1 inequalities: That is, we want the size of each set in the final leading recursive term to be at most n/r . Let A = A(G) be the symmetric (k + 1) × (k + 1) matrix, defined by ( j,i)∈/E Aij = λi 1 0 i = j, i = j, (i, j ) ∈/ E , i = j, (i, j ) ∈ E . Define ζ (G) to be the optimum value of the linear program min λ · x subject to Ax ≥ 1 and x ≥ 0. r xi , for Let x = (x1, . . . , xk+1) be a vector that attains the minimum. Set ri = (G)(n/r ), i = 1, . . . , k+1. The leading term of the recurrence becomes O(r ζ(G) logk+1 r )ψk and the full recurrence becomes ψk(G)(n) ≤ O(r ζ(G) logk+1 r )ψk(G) nr + k+1 i=1 O(ψk(−G¯ 1i)(n)) + i= j,(i, j)∈/E O(ψk(G+(i,j))(n)), where the vertex-weighted graphs G+(i, j) are defined in a manner similar to the definition of G+(1,i), given above. Let where the maximum is taken over all (d, k)-graphs satisfying property (G). The solution to the above recurrence is easily see to be ζ (d, k) = max ζ (G), G ψk(G)(n) = O(nζ(d,k)+ε), for any ε > 0. 6. Analysis of ζ (d, k) Unfortunately, so far we are unable to derive a sharp explicit bound on ζ (d, k), for arbitrary values of d and k, but we conjecture the following. Conjecture 6.1. For any d ≥ 4 and k ≤ d − 2, ζ (d, k) ≤ d/2. In the remainder of this section we support the conjecture by analyzing ζ (G) for various special graphs G, and by proving the conjecture for small values of d. We first note that, for G = G0 = (V , ∅, (d, . . . , d)), we have by choosing xi = 1/(d + k) for each i = 1, . . . , k + 1. As will follow from subsequent analysis, this bound for ζ (G) also holds even if G is empty but some weights are smaller than d. Next we note that it suffices to consider the case k = d − 2: Lemma 6.2. If ζ (d, k) ≤ d/2, for 1 < k ≤ d − 2, then ζ (d, k − 1) ≤ d/2. Proof. Let A = A(G) be a k × k matrix that corresponds to some (d, k − 1)-graph G. Extend A to a (k +1)×(k +1) matrix B by putting Bk+1,k+1 = d and Bi,k+1 = Bk+1,i = 1 for i = 1, . . . , k. (This corresponds to adding a set Pk+1 that is unconstrained.) By assumption, there exists a (k + 1)-vector y such that By ≥ 1, y ≥ 0, and k i=1 d λi yi + dyk+1 ≤ 2 . Put xi = yi /(1 − yk+1), for i = 1, . . . , k. Since yk+1 ≤ 21 we have x ≥ 0, and, as is easily verified, Ax ≥ 1. Finally, k k i=1 λi yi λi xi = 1 − yk+1 ≤ d/2 − d yk+1 Next, we eliminate cases in which one of the λi ’s is equal to 1: Lemma 6.3. Let G be a (d, k)-graph with, say, λk+1 = 1. Suppose that ζ (d , k ) ≤ d /2 for all d < d and for d = d and for all k < k. Then ζ (G) ≤ d/2. Proof. Let A = A(G) be the matrix associated with G. Let B be the submatrix of A consisting of those rows and columns whose indices i satisfy Ai,k+1 = 0 (that is, (i, k + 1) ∈ E ). Let ≤ k denote the size of B, and assume, without loss of generality, that B consists of the first rows and columns of A. The maximum diagonal entry in B is at most d − 3 (by property (G)). Moreover, the same property implies that, for any clique of size r in the induced subgraph of G that corresponds to B, we have r i=1 λi ≤ d − 1 − (r + 1) = (d − 2) − r . This implies that the matrix B corresponds to a (d − 2, − 1)-graph, so, by assumption, there exists a vector y that satisfies y ≥ 0, By ≥ 1, and i=1 λi yi ≤ (d − 2)/2. Now put xi = yi for i = 1, . . . , , xi = 0 for i = + 1, . . . , k, and xk+1 = 1. It is easily checked that x ≥ 0, Ax ≥ 1, and k+1 i=1 λi xi ≤ (d − 2)/2 + 1 = d/2. Complete r -Partite Graphs. Next, suppose that G = (V , E , λ) is a complete r -partite graph for some r ≤ d/2 . That is, V can be partitioned into r subsets V1, . . . , Vr such that (i, j ) ∈ E if and only if i and j belong to different subsets. We conjecture that ζ (G) is maximum when G is a complete r -partite graph. We next prove that Conjecture 6.1 holds in this special case. In fact, the following result is stronger, because it also includes the case k = d − 1 (and r ≥ 2 (Fig. 5)). Lemma 6.4. If G is a complete r -partite graph, for r ≤ or k = d − 1 and r ≥ 2, then ζ (G) ≤ d/2. d/2 , and either k = d − 2 Proof. The above argument for G0 proves the lemma for r = 1 (and k = d − 2), so assume that r > 1. For each i ≤ r , let ni = |Vi | and λi∗ = maxu∈Vi λi . Since G is a complete r -partite graph, (vi , vj ) ∈ E for i = j . Therefore, by Property (G), r i=1 λi∗ ≤ d − r. The matrix A = A(G) is block-diagonal, where the i th block Ai is an ni × ni matrix that corresponds to Vi . All the nondiagonal entries of Ai are 1, and the diagonal entries are λv1 , . . . , λvni , where v1, . . . , vni are the vertices of Vi . The linear program at hand is thus decomposable, and it suffices to solve it for each Vi separately. That is, keeping i fixed, we want to minimize nj=i1 λvj zj , subject to (λvj − 1)zj + Z ≥ 1, for j = 1, . . . , ni , where Z = j zj . Solving the linear system (λvj − 1)zj + Z = 1, for j = 1, . . . , ni , is easy: By Lemma 6.3 we may assume that no λv is equal to 1. Take zj = w/(λvj − 1), for j = 1, . . . , ni , where or, putting tj = λvj − 1, for j = 1, . . . , ni , . Then we have where ni j=1 . λvj ’s are equal to λi∗. In this case the su mnj=ii1s(1e/qtuja)litsomλii∗nniim/(iznei d+, wλi∗hi−ch1h).aIpnpeonthsewrhweonrdasll, This expression is maximized when r i=1 ζ (G) = r i=1 λi∗ + ni − 1 , λi∗ ≤ d − r and ni = k + 1. λi∗ni r i=1 (Note that k + 1 is either d − 1 or d.) A tedious (but routine) calculation shows that, for any fixed r , ζ (G) is maximum when λi∗ = d − r r and ni = for all i (here we allow ni to assume noninteger values as well). Hence, (d − r )(k + 1) k + 1 ζ (G) ≤ d − 2r + k + 1 = 2 − (d − k − 1)/(d − r ) . For k = d − 1 this expression is equal to d/2, regardless of the value of r . For k = d − 2, this bound is monotonically increasing in r , so it attains its maximum when r = d/2, which implies that ζ (G) ≤ d/2, as claimed. Small Values of d. Next, we prove Conjecture 6.1 for all d ≤ 7 (and for k = d − 2). We first make a couple of additional observations: (i) Since we may assume, by Lemma 6.3, that λi ≥ 2, Property (G) implies that G does not contain a triangle, when d ≤ 8. (ii) If G contains a path (i1, i2, i3, i4) such that λ(ij )+λ(ij+1) = d −2, for 1 ≤ j ≤ 3, then (i1, i4) is also an edge in G. (This follows by noting that in this case Pi1 and Pi3 span the same affine subspace H , while Pi2 and Pi4 also span the same affine subspace H , so that H and H are orthogonal and have complementary dimensions.) The Case d ≤ 5, k = d − 2. In this case either G is empty or some λi must be 1. In the former case we have shown explicitly that ζ (G) ≤ d/2, and in the latter case, using Lemma 6.3 and an appropriate inductive argument, we also obtain ζ (G) ≤ d/2. The Case d = 6, k = 4. In this case |V | = 5 and, by Lemma 6.3, we may assume that for each i either λi = 2 or λi = 6. Observations (i) and (ii) imply that G does not contain an odd cycle. Hence, G is bipartite. Let V0, V1, V2 be a partition of V such that V0 consists of those vertices with λi = 6 (they are isolated in G), and E ⊆ V1 × V2. Put n0 = |V0|, n1 = |V1|, and n2 = |V2|. Consider first the case that both V1 and V2 are nonempty. In this case we put xi =  1  n1 + 1  1  n2 + 1  0, , , 2 1 xj = n1 + 1 + (n1 − 1) n1 + 1 = 1. Symmetrically, this also holds for each i ∈ V2. For i ∈ V0 we have since we assume that n1, n2 ≥ 1. Hence, (5.2) is satisfied for all vertices. Moreover, and this sum is maximized when n1 + n2 = 5, n1, n2 ≥ 1. Up to symmetry, there are two cases to check: (i) n1 = 1, n2 = 4, (ii) n1 = 2, n2 = 3. In both cases we have ζ (G) < 3. The case where at least one of n1, n2 is zero is the case of an empty G. The analysis in the proof of Lemma 6.4 implies that ζ (G) is maximized when all λi = d = 6, and then ζ (G) ≤ d/2, as we have already shown. This completes the proof for d = 6. Remark 6.5. The reason for handling empty graphs G with weights smaller than d is that G may result from some bigger graph by deleting some nodes, e.g., during a step that eliminates nodes with weight 1 (see the proof of Lemma 6.3). The Case d = 7, k = 5. In this case |V | = 6 and λi ∈ {2, 3} for each nonisolated node i ∈ V , and λi = 7 for isolated nodes. (In this analysis we do not handle smaller weights of isolated nodes, as done for d = 6. This is because we are not considering instances with d ≥ 8, in which such smaller weights might arise by reduction of a larger graph. This means that any future extension of this analysis will have to redo the case d = 7.) Let V0 denote the set of isolated nodes, and suppose first that V0 = ∅. Suppose first that each vertex i satisfies one of the following two conditions: (i) deg(i ) ≤ 2, or (ii) deg(i ) = 3 and there exists a vertex j not adjacent to i such that λj = 2; then we assign For any i , if deg(i ) ≤ 2, using the fact that λi ≤ 3, we obtain and if deg(i ) = 3 and has a vertex of weight 2 not adjacent to i , then Moreover, ζ (G) = 27 . Next, consider the case in which there exists a vertex i that violates both conditions. Let V2 be the set of neighbors of i ; |V2| ≥ 3. Set V1 = V \V2 and µ = |V1| ≤ 2. Since G does not have a triangle, no two vertices in V2 are adjacent. If two vertices u, v ∈ V1 are adjacent (see Fig. 6(a)), then i = u, v because all neighbors of i are in V2. Hence, |V1| = 3 and the weight of at least one of u and v is 2, thereby implying that i satisfies condition (ii), contrary to the assumption that i violates conditions (ii). Hence, E ⊆ V1 × V2. If every vertex in V2 satisfies one of the above two conditions, then we 2 3 (a) 2 2 3 3 (b) 3 3 Fig. 6. (a) There is an edge between two vertices of V1. (b) A vertex of V2 violates conditions (i) and (ii). assign the following values to xi ’s: xi = , i ∈ V2. For any vertex i ∈ V1, since i is not adjacent to any vertex in V1, we obtain = 3, then at least one of the vertices not adjacent to i has and if µ < 3, then Finally, Next, if a vertex j of V2 violates the second condition, then |V2| = 3 and G must be of the form shown in Fig. 6(b), where i and j are the two vertices of weight 2; no other edge can exist, because such an edge would have to connect two nodes of weight 3, contradicting property (G). In this case we assign the following values: (6.1) (6.2) xi =  2  ,  15 1  10 , λi = 2, λi = 3.  2 xi =  3λi , i = 6, We leave it to the reader to verify that constraint (5.2) is satisfied for all vertices and ζ (G) ≤ 27 . Next consider the case where |V0| = 1, and assume that node 6 is the isolated node. We proceed through the case analysis used above. Assuming first that each node i ≤ 5 satisfies (i) or (ii), we assign and obtain that, for i ≤ 5, λi xi + (i, j)∈/E xi is either For i = 6 the sum is 2 2 2 10 3 + 3 · 3 = 9 > 1, or Suppose then that a node i violates both conditions, and define V1 and V2 as above. If |V2| = 4, then all other nodes, other than 6, have degree 1 in G. In this case we choose xi = 1/λi , x6 = 0, and xj = 1/(2λj ) for all other j . This is easily seen to imply that ζ (G) ≤ 3 in this case. Then |V2| = 3 and the two other nodes in V1, other than i , are some node j with weight 3 and the node 6 with weight 7. In this case we assign xi = 3/(4λi ), xj = 3/(4λj ), x6 = 0, and x = 2/(3λ ) for the other nodes, as above. Again, one can easily verify that this choice implies that ζ (G) ≤ 27 . Next we have to consider the case |V0| = 2, where the isolated nodes are assumed to be 5 and 6. If every node has degree at most 2 in G, we choose and verify that this yields ζ (G) ≤ 3. If a node i has degree 3, then G consists of exactly these three edges. In this case we put , and again verify that in this case ζ (G) ≤ 27 . Next, suppose that |V0| = 3. Here we choose xi = 1/λi for all nonisolated nodes and xi = 0 for all isolated nodes. Here G consists of a path of length 2, and it is easy to verify that ζ (G) ≤ 3. The case |V0| = 4 can be handled, e.g., by choosing xi = 3/(2λi ) for all nonisolated nodes and xi = 0 for all isolated ones. The case |V0| = 5 is impossible, and the case |V0| = 6 is the case of an empty graph, which has already been handled. This completes the analysis for d = 7. We have thus shown the following. Theorem 6.6. (a) For all vertex-weighted graphs G that arise in the analysis of ψk (n), for any dimension d ≤ 7 and for any k ≤ d − 2, we have ζ (G) ≤ d/2, and thus ζ (d, k) ≤ d/2. (b) For these values of d and k, we have ψk (n) = O(nd/2+ε). Remark 6.7. The technical difficulty in proving a bound on ζ (d, k) lies in the fact that, as G is augmented, the number of recursive subproblems decreases, but the size of the point sets in each recursive subproblem is larger than what it was in the unconstrained case. In particular, sets connected in G to the current set do not change at all. The tradeoff between these two “trends” is not obvious. 7. Conclusions In this paper we presented sharp bounds on the number of simplices spanned by a point set that are congruent to a given simplex. In some cases our bounds are optimal or close to optimal. In other cases our bound is the first nontrivial bound for these instances. The main open problem is, obviously, to prove Conjecture 6.1 for arbitrary d. There has been considerable work on sensitivity analysis of linear programming (e.g., [ 22 ]). Can some of the those techniques be used to prove that ζ (G) is maximum when G is a complete r -partite graph? The technique does not seem to extend to the case k = d − 1, so another open problem is to sharpen the bounds on fd(−d)1(n). For example, can the bound on the number of triangles spanned by a set of n points in R3 that are congruent to a given triangle be improved to O(n3/2β(n)) (which is the best-known bound on the number of repeated distances in a set of n points in R3)? The current proof raises a related question: What is the number of incidences between n points and n unit circles in R3? We conjecture the bound to be O(n4/3). Recently, Aronov et al. [ 6 ] obtained an improved bound on the number of incidences between points and circles in R3, which matches the best-known bound for the same problem in the plane, but it does not lead to better bounds for the case of congruent circles. Finally, as already mentioned in Section 4, our paper motivates the open problem of obtaining an improved bound for the number of incidences between points and congruent circles in four (and higher) dimensions. Acknowledgments We thank the two referees for helpful comments and for pointing out a couple of references. 1. B. M. A´ brego , G. Elekes, and S. Ferna´ndes- Merchant , Structural results for plane sets with many similar subsets , Combinatorica 21 ( 2001 ), to appear. 2. B. M. A´ brego and S. Ferna´ndes- Merchant , On the maximum number of equilateral triangles, I, Discrete Comput . Geom . 23 ( 2000 ), 129 - 135 . 3. B. M. A´ brego and S. Ferna´ndes- Merchant , On the maximum number of equilateral triangles, II, Discrete Comput . Geom., to appear. 4. P. K. Agarwal , J. Matousˇek, and O. Schwarzkopf , Computing many faces in arrangements of lines and segments , SIAM J. Comput . 27 ( 1998 ), 491 - 505 . 5. T. Akutsu , H. Tamaki , and T. Tokuyama , Distribution of distances and triangles in a point set and algorithms for computing the largest common point set , Discrete Comput. Geom . 20 ( 1998 ), 307 - 331 . 6. B. Aronov , V. Koltun , and M. Sharir , Incidences between points and circles in three and higher dimensions , manuscript, 2002 . 7. B. Aronov , M. Pellegrini , and M. Sharir , On the zone of a surface in a hyperplane arrangement, Discrete Comput . Geom. 9 ( 1993 ), 177 - 186 . 8. B. Aronov and M. Sharir , Cutting circles into pseudo-segments and improved bounds on incidences, Discrete Comput . Geom., in press. 9. L. Boxer , Point set pattern matching in 3-D, Pattern Recognition Lett . 17 ( 1996 ), 1293 - 1297 . 10. P. Brass, Exact point pattern matching and the number of congruent triangles in a three-dimensional point set , Proc. European Sympos. Algorithms, Lecture Notes in Computer Science , vol. 1879 , Springer-Verlag, Berlin, 2000 , pp. 112 - 119 . 11. P. Brass and C. Knauer , Testing the congruence of d-dimensional point sets , Proc. 16th Annu. ACM Sympos. Comput. Geom. , 2000 , pp. 310 - 314 . 12. H. Bro¨nnimann, B. Chazelle , and J. Matousˇek , Product range spaces, sensitive sampling, and derandomization , SIAM J. Comput . 28 ( 1999 ), 1552 - 1575 . 13. B. Chazelle , Cutting hyperplanes for divide-and- conquer , Discrete Comput. Geom. 9 ( 1993 ), 145 - 158 . 14. B. Chazelle and J. Friedman , A deterministic view of random sampling and its use in geometry , Combinatorica 10 ( 1990 ), 229 - 249 . 15. K. Clarkson , H. Edelsbrunner , L. Guibas , M. Sharir , and E. Welzl , Combinatorial complexity bounds for arrangements of curves and spheres , Discrete Comput. Geom. 5 ( 1990 ), 99 - 160 . 16. H. Edelsbrunner, Algorithms in Combinatorial Geometry, Springer-Verlag, Heidelberg, 1987 . 17. P. Erdo˝s, On a set of distances of n points , Amer. Math. Monthly 53 ( 1946 ), 248 - 250 . 18. P. Erdo˝s, D. Hickerson , and J. Pach , A problem of Leo Moser about repeated distances on the sphere , Amer. Math. Monthly 96 ( 1989 ), 569 - 575 . 19. P. Erdo˝s and G. Purdy, Some extremal problems in geometry, III, Proc . 6th South-Eastern Conf . Combin. Graph Theory Comput. , 1975 , pp. 291 - 308 . 20. P. Erdo˝s and G. Purdy, Some extremal problems in geometry, IV, Proc . 7th South-Eastern Conf . Combin. Graph Theory Comput. , 1976 , pp. 307 - 322 . 21. J. Matousˇek , Range searching with efficient hierarchical cuttings , Discrete Comput. Geom . 10 ( 1993 ), 157 - 182 . 22. G. L. Nemhauser and L. A. Wolsey , Integer and Commbinatorial Optimization , Wiley Interscience, New York, 1988 . 23. J. Pach and P. K. Agarwal , Combinatorial Geometry, Wiley Interscience, New York, 1995 . 24. P. J. de Rezende and D.-T. Lee, Point set pattern matching in d-dimensons , Algorithmica 13 ( 1995 ), 387 - 404 . 25. M. Sharir and P. K. Agarwal , Davenport-Schinzel Sequences and Their Geometric Applications , Cambridge University Press, Cambridge, 1995 . 26. J. Spencer , E. Szemere´di, and W. Trotter, Unit distances in the Euclidean plane , in: Graph Theory and Combinatorics (Proc. Cambridge Conf. on Combinatorics, B . Bollobas, ed.), Academic Press, New York, 1984 , pp. 293 - 308 . 27. L. A. Sze ´kely, Crossing numbers and hard Erdo˝s problems in discrete geometry , Combin. Probab. Comput . 6 ( 1997 ), 353 - 358 .


This is a preview of a remote PDF: https://link.springer.com/content/pdf/10.1007%2Fs00454-002-0727-x.pdf

Agarwal, Sharir. The Number of Congruent Simplices in a Point Set, Discrete & Computational Geometry, 2002, 123-150, DOI: 10.1007/s00454-002-0727-x