#### 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 .