Mathematical
Structures and Modeling 2014. N. 4(32). PP. 32-48
UDC 514
HOW TO MAKE ELEMENTARY GEOMETRY MORE ROBUST AND THUS, MORE PRACTICAL: GENERAL
ALGORITHMS
O. Kosheleva
Ph.D. (Math.), Associate Professor, e-mail: [email protected] University of Texas at El Paso, El Paso, TX 79968, USA
Abstract. Many results of elementary geometry assume exact equality between some angles or distances. In practical geometric configurations, however, we only have approximate equality. In such situations, traditional results do not allow us to make any conclusions. To make elementary geometry more practical, it is therefore necessary to make it more robust, i.e., applicable also to situations when we have approximate equality. The need for such robust versions of geometric results is well understood, and many such versions are known. In this talk, we provide general algorithms for generating such robust results.
Keywords: elementary geometry, robust geometry, practical applications of geometry, geometric algorithms.
1. Formulation of the Problem
At first glance, geometry is very practical. In contrast to more abstract notions of algebra, elementary geometry looks very practical. Many geometric shapes that we study in elementary geometry are frequently encountered in the real world: a sheet of paper is a rectangle, a can is approximately a cylinder, a football is a sphere, etc. Indeed, all the textbooks like to emphasize that the very name of geometry - which, in Greek, means "measuring Earth" - indicate that it started as a very practical discipline. So, at first glance, it looks like geometry is very practical.
In the first approximation, we can indeed apply geometric results to the real world. For example, according to the Pythagoras Theorem, the hypothenuse AC of a right triangle is equal to VAB2 + BC2. Thus, when we have a real-life figure of the triangular shape, one of its angles B is right (90°), and we know the adjacent sides AB and BC, then we can use Pythagoras Theorem to compute the length AC of the third side.
If we have a real-life figure of triangular shape, and we know that its two sides AB and AC are equal, then we can conclude that the corresponding angles B and C are equal too - thus, it is sufficient to measure just one of these angles.
Elementary geometry is about ideal objects, and real-life objects are not ideal. Elementary geometry is about ideal bodies and shapes, and real-life objects are rarely ideal. In the first approximation, the angle between the lines AB and BC may be close to 90°, but the real-life angle is never exactly equal to 90°, it is usually somewhat different.
Similarly, we may have points A, B, and C for which AB is close to AC, but in real life, the sides AB and AC are never exactly equal.
Need to make elementary geometry more robust and thus, more practical.
Elementary geometry states that when the angle B is equal to exactly 90°, then AC = VAB2 + BC2. Traditional elementary geometry, however, says nothing about the cases when the angle is close to 90°.
Intuitively, it makes sense to expect that if the angle is close to 90°, then AC should be close to VAB2 + BC2, but the traditional elementary geometry results do not tell us how close these two values will be.
Thus, to make elementary geometry more practically useful, it is desirable to make its result more robust, i.e., valid even when conditions are only approximately true.
What is known and what we do in this paper. The need to make geometry more robust is well understood. There are many research papers and books that show how to make different specific geometric constructions more robust; see, e.g., [1,3-7].
In this paper, we provide general algorithms for generating such robust results.
2. Analysis of the Problem
What we do in this section. Our goal is to make geometric results more practical. To do that, we will recall the typical structure of the current geometric results, and the typical practical problems for which such results can be useful.
At first, we will describe both the results and the practical problems in com-monsense terms. Then, we show how these commonsense descriptions can be reformulated in precise terms. Once such a precise description is formulated, we will be ready to state our main results.
Typical structure of results from elementary geometry: brief reminder. In
elementary geometry, there are two types of results.
Some of the geometric results simply describe consequences, without invoking any constructions. For example, the Pythagoras Theorem says that if A, B, and C are three different points, and the angle ZABC is equal to 90°, then AC2 = = AB2 + BC2. In general, results of this type state that if some property P(x) is satisfied for a geometric object x (or for a combination of geometric objects x), then for this object x (or combination of objects) some other property Q(x) is satisfied as well:
Vx (P(x) ^ Q(x)).
Other geometric results describe the possibility of constructing new objects. As an example, we can have a simple result that for every rectangle, there exists
a point which is equidistance from all four vertices of this rectangle. Another example is the result that if two points are different, then there exists a straight line that goes through these two points. In general, results of this type state that if some property P(x) is satisfied for a geometric object x (or for a combination x of geometric objects), then there exists an object y such that the pair (x,y) satisfies some property Q(x, y):
Vx (P(x) ^3yQ(x,y)).
Most other geometric results can be reformulated in these terms. For example, the results about uniqueness of an object x satisfying a certain property P(x) (e.g., of a line that passes through two given points A = B) can be reformulated as follows: if we have a pair of objects (x,x') for which P(x) and P(x') are both true, then x = x':
V(x, x') ((P(x) & P(x')) ^ x = x').
Typical practical problems: brief reminder. In relation to each geometric result, two types of practical problems are possible.
It can be that we have an object x for which the property P(x) is "approximately" satisfied - in some reasonable sense. In this case, we expect that the resulting property Q(x) is also approximately satisfied - or, for results with construction, that there exists an object y for which Q(x,y) is approximately satisfied. For such problems, we would like to know how accurately Q(x) will be satisfied, and - in the case of construction results - how to construct the corresponding object y.
We will call such problems forward problems. The reason for this name is that in this problem, we follow the direction of the original implication result: we know that P(x) implies Q(x), and we want to transform accuracy with which the property P(x) is satisfied into an accuracy with which the property Q(x) is satisfied.
Another practical situation is when Q(x) is the property that we want to achieve. In this case, due to the implication P(x) ^ Q(x), we know that if we guarantee the property P(x), then Q(x) will also be true. A related question is: if we want to guarantee Q(x) with some accuracy, how accurately do we need to satisfy the property P(x)?
In these problems, the desired direction is opposite to the direction of the implication: we know that P(x) implies Q(x), and we want to transform accuracy with which the property Q(x) should be satisfied into an accuracy with which the property P(x) should be satisfied. Because of this opposite, we will call such problems inverse problems.
Comment. In relation to inverse problems, it is worth mentioning that while for some parts of the property Q(x), it makes sense to require that these parts should be satisfied with some accuracy, other parts may need to be satisfied exactly.
For example, when we use geometry in design, it is important to make sure that two different parts of the design do not occupy the same point in space -
otherwise, this design is not feasible. The corresponding requirement is that the distance d(A,B) between the sets A and B forming the parts should be positive: d(A, B) > 0. This is an absolute requirement: if we only require that an approximate inequality d(A,B) > — e is satisfied, then we may have d(A,B) = 0, i.e., A and B having a common point.
In general, solving an inverse problem can be reduced to solving a few forward problems. If we can solve forward problems, then we can also algorith-mically solve inverse problems. For example, to find the accuracy 8 that would guarantee that the conclusion is satisfied with a given accuracy e, we should check different values of 8 until we find the largest value A of the accuracy 8 that still provides the desired accuracy e.
This can be done very efficiently by bisection: we start with some large value 8 for which the resulting inaccuracy is larger than e. Then, we know that the desired largest A is somewhere in the interval [8,8], with 8 = 0. On each iteration step,
we apply the forward problem to the midpoint m = 8 + 8.
• If for this midpoint m, we get the desired accuracy e, this means that
A e [m, 8].
• If for m, the inaccuracy is too high, this means that A e [0,m].
In both cases, we shrank the width of the interval by a factor of 2. Thus, in k iterations, we get a new interval whose width is 2-k of the original one. The midpoint of this interval provides a 2-(fc+1)-accurate estimate for A. So, in a few iterations, we get a very accurate solution to the inverse problem.
Because of this reduction, in this paper, we will only consider algorithms for solving the forward problem.
From common sense description of results and problems to a precise description. Our description of geometric results and practical problems talks about objects, properties of objects, and the possibility to satisfy such properties with some accuracy. Thus, to make our descriptions precise, we must formulate, in precise terms,
what is a geometric object,
what do we mean by properties of geometric objects, and what does it mean for some property to be satisfied with a given accuracy. Let us provide these three formulations one by one.
What is a geometric object: towards a precise description. In elementary geometry, we deal with basic objects such as points, straight lines, planes, line segments, polygons, polyhedra, circles, spheres, arcs, etc.
Each such object can be naturally described by finitely many real-valued parameters. For example:
• a point on the plane can be described by its two coordinates;
• a point in the 3-D space can be described by its three coordinates;
• a circle or a sphere can be uniquely described by its center (a 2-D or 3-D point) and a non-negative radius;
• a polygon can be described by a sequence of vertices (2-D points);
a polyhedron can be described by its faces, and each face can be described by a sequence of its vertices (3-D points), etc.
From this viewpoint, in the following text, by a geometric object, we will understand a tuple x = (xi,x2,...) consisting of several real numbers.
Properties of geometric objects can usually be reformulated in terms of geometric quantities. Most basic geometric properties can be reformulated as equalities or inequalities between geometric quantities characterizing the corresponding object(s), properties such as:
the distance between the two points,
the angle between two directions,
the area of a given polygon, etc.
Geometric quantities: towards a precise description. Geometric quantities are - whenever they are defined - continuous (and computable) functions of the corresponding parameters. For example:
• the distance d(x,y) = \/(x1 — y1)2 + (x2 — y2)2 + (x3 — y3)2 between two 3-D points x and y is a continuous function of the corresponding coordinates x, and y,;
• the angle a = ZABC which is formed by directions AB and BC at the point B can be obtained from the cosine theorem AC2 = AB2 + BC2 — 2AB ■ BC ■ ■ cos(a) and is, thus, also continuous wherever it is defined, etc.
A general description of a geometric quantity f (x) is that it is a continuous and computable function of the tuple x. The precise notion of a continuous function is well-known. In contrast, the notion of a computable function is less known; so, for reader's convenience, we briefly describe the corresponding notion in the Appendix to this paper.
Properties of geometric objects: towards a precise description. The main reason we formally described what is a geometric quantity is that we want to describe geometric properties, and most basic geometric properties are equalities or inequalities between geometric quantities.
Basic geometric properties. Some basic geometric properties are naturally described as equalities (=) between quantities. For example:
If two sides of the triangle are equal, then the corresponding angles are equal as well.
• If an angle is equal to 90°, then AC2 is equal to AB2 + BC2, etc.
Some basic geometric properties deal with non-equality (=). For example, if two points A and B are different (A = B), then there exists one and only one line passing through both points.
Some basic geometric properties deal with non-strict equality (< or >). For example, the triangle inequality states that for every three points A, B, and C, we have AC < AB + BC.
Some basic geometric properties deal with strict equality (< or >): for example, there are results about triangles with acute angles, i.e., with angles which are smaller than 90°.
In general, a basic geometric property is either an equality between quantities
f (x) = g(x), or an inequality such as f (x) = g(x), f (x) < g(x), or f (x) < g(x).
General geometric properties. Many geometric results require that several basic geometric properties P1(x), ..., Pm(x) are satisfied. In this case, the corresponding property P(x) has the form P1(x)& ... & Pm(x).
Properties Q(x) (or Q(x,y)) in the conclusion part may be even more complex, since it may be that instead of single property, the corresponding geometric theorem states that one of several alternatives is possible - e.g., that a triangle is:
• either a right triangle (with one of the angles equal to 90°),
• or an acute triangle (with all angles smaller than 90°),
• or an obtuse triangle (with one of the angles larger than 90°).
In general, such properties have a form Q1(x) V... V Qp(x), where each Q,(x) has the form Qi1 (x) & ... & Qini (x), and Qij (x) are basic geometric properties. Such formulas are known as formulas in DNF (Disjunctive Normal Form).
What does it mean for a property to be satisfied with a given accuracy
e > 0. Let us start with a simple example of the property: the property P(A,B) that the two points A and B are equal. In terms of geometric quantities, this property has a simple equality form d(A,B) = 0. In this case, it is reasonable to say that this property is satisfied with accuracy e if d(A,B) < e.
If we consider two points on an oriented line, then we can consider a directed distance d^(A,B) which can be positive or negative depending on whether the direction AB coincides with the given direction on this line or not. In this case, it is reasonable to say that this property is satisfied with accuracy e if |d^(A, B)| < e.
In general, we say that the property f (x) = g(x) is satisfied with accuracy e if |f(x) — g(x)| < e.
If the property is that B is on the right side of A, i.e., that d^(A,B) > 0, then it is reasonable to say that this property is satisfied with accuracy e if B is e-close to the right side of A, i.e., that d^(A,B) > —e.
Alternatively, we can understand approximate satisfaction of this property as stating that even if the directed distance d^(A,B) is the result of measuring the actual (unknown) directed distance with accuracy e, we can still guarantee that B is actually on the right side of A. In this case, the corresponding property is approximately satisfied if d^(A,B) > e.
In general, for a property f (x) > g(x), we can have either f (x) > g(x) — e or f (x) > g(x) + e.
Which of the two definitions to select depends on the practical problem:
• If we know P(x) approximately, and we want to know how approximately we can conclude Q(x), then it is reasonable to use the approximation f (x) >
> g(x) — e.
• On the other hand, if we want to guarantee the property Q(x) of the form f(x) > g(x), then it makes sense to consider an inequality f(x) > g(x) + e which indeed guarantees that f (x) > g(x).
Important fact about strict inequalities. It is important to note that the choice between two formalizations is possible only for non-strict inequalities < or >. For strict inequalities (< or >) there is no choice. Indeed, e.g., if f (x) > 0 implies that g(x) > 0, then it is reasonable to expect that for sufficiently small e, if f (x) > —e, then g(x) is also either non-negative or close to a non-negative number.
On the other hand, if f(x) > 0 implies some property Q(x), then it is not always reasonable to expect that this property will be approximately satisfied when f(x) > —e (or even when f(x) > 0). For example, if f (x) is a distance from a point x to the unit disk (interior of the unit circle), then the condition f(x) > 0 describes all the points x outside the disk, while the condition f (x) > 0 describes all the points on the plane.
Need to consider bounded regions in practical problems. Elementary geometry deals with potentially infinite lines, potentially infinite planes, etc. In practice, we always deal with a bounded region of space. In this bounded region of space, all the parameters x1,x2,... describing a geometric object are bounded by some constants b, and b,: b, < x, < b,. In other words, we only consider tuples x = (x1,x2,...) from the corresponding box B = [b1 ,b1] x [b2,b2] x ..., and the corresponding geometric results of the type
Vx€b (P(x) ^ Q(x)).
Similarly, from the practical viewpoint, we are only interested in constructed objects y from a certain bounded region Y, so the corresponding geometric results will have a form
VxeB (P(x) ^ 3yey Q(x,y)).
Comment. There is also a theoretical need to restrict ourselves to bounded domains, a need which is easy to explain on the following simple geometric example. If two
lines t and t' are parallel, then for every two points A, A' e t, the distances from these points to the line t' are exactly the same: d(A,t') = d(A',t').
In practice, lines are never exactly parallel, they are approximately parallel. If t' is approximately parallel to t, and close enough to being parallel, then within each bounded region B, the difference d(A,t') — d(A',t') is still small. However, if we consider the whole plane (or the whole 3-D space), then, no matter how small the deviation from parallelism, the difference d(A,t') — d(A',t') grows to infinity if we consider points A and A' which are further and further away.
In other words, to properly formulate the robustness property, we need to restrict ourselves to bounded regions.
Now, we are ready to formulate the main results.
3. Definitions and Results
3.1. General Definitions
Definition 1. By a geometric object x (or a combination of geometric objects), we mean a tuple of real numbers x = (x1, x2, . . .).
Definition 2. By a geometric quantity f (x), we mean a computable and continuous function of several variables x.
Definition 3.
By a basic geometric property, we mean a property of one of the types f(x) = g(x) f(x) = g(x) f (x) < g(x) or f(x) <g(x).
• By a geometric property of type P, we mean a property of the type P1(x) & ... & Pm(x), where all Pi (x) are basic geometric properties.
• By a geometric property of type Q, we mean a property of the type
Q1(x) V ... VQm(x), where all Qi(x) are geometric properties of type P.
Comment. In this definition, we do not explicitly list basic geometric properties of the type f (x) > g(x) and f(x) > g(x), since they can be reformulated in the form g(x) < f (x) or, accordingly, g(x) < f (x).
Definition 4. Let P(x) == P1(x)& ... &Pm(x) be a geometric property of type P, let 8 = (81,...,8m) be a tuple of computable positive numbers, and let x be a computable geometric object. We say that the geometric property P(x) is satisfied with accuracy 8 is the object x satisfies the property
Pf (x) d=f Pf (x) & ... & Pm(x), where for every i:
• if Pi(x) has the form fi(x) = gi(x), then the property P/ (x) has the form
!/i(x) - gi(x)| < ;
if Pi(x) has the form fi(x) = gi(x), then the property P/ (x) has the form
|fi(x) — gi(x)| > 8i;
• if Pi(x) has the form fi(x) < gi(x), then the property P/ (x) has the form
fi(x) < gi(x) + 8i;
• if Pi(x) has the form fi(x) < gi(x), then the property P/ (x) has the form
fi(x) < gi(x) — 8i.
Definition 5. Let Q(x) =f Q1(x) V ... V Qm(x) be a geometric property of type Q, where Qi(x) = Qi1(x)& Qi2(x)& ..., let e > 0 be a computable positive number, and let x be a computable geometric object. We say that the geometric property Q(x) is satisfied with accuracy e is the object x satisfies the property
Q£(x) =f Q1(x) V ... V Qm(x), where (x) = Q^(x) & Q£2(x) & ..., and for every
i and j:
• if Qij (x) has the form fij- (x) = gij- (x), then Qj (x) has the form
|fij(x) — gij(x)| < e;
• if Qij (x) has the form fij- (x) = gij- (x), then no inequality need to be satisfied;
• if Qij (x) has the form fij- (x) < gij- (x) or fij- (x) < gij- (x), then Qfj (x) has the form fij (x) < gij (x) + e.
3.2. Case of No Constructions
Proposition 1. Let P(x) be a geometric property of type P, Q(x) be a geometric property of type Q, and let B be a box. Then, for each tuple 8, there exists an e > 0 for which VxeB (Pf (x) ^ Q£(x)). Moreover, there exists the smallest non-negative number e for which this implication holds.
Comment. For reader's convenience, all the proofs are placed in the special Proofs sections.
Notation. For each P(x), Q(x), B, and 8, the smallest number e for which the implication VxeB (Pf (x) ^ Q£(x)) holds will be denoted by eP,Q,B(8).
Proposition 2. If VxeB (P(x) ^ Q(x)), then eP,Q,B(8) ^ 0 as 8 ^ 0.
Comment. Replacing an equality fi(x) = gi(x) with an inequality |fi(x) — gi(x)| < 8i weakens the original condition (makes it more general and easier to satisfy).
On the other hand, replacing the condition f,(x) = g(x) with the inequality |fi(x) — g,(x)| > 6, > 0 makes the condition stronger. Can we leave such conditions fj(x) = gj(x) intact and still get meaningful results - e.g., Proposition 2? A simple example shows that this is not possible.
As such an example, let us consider the historically first use of Pythagoras theorem - to make sure that the angle is right. The corresponding geometric result states that if AB = 0, BC = 0, and AC2 = AB2 + BC2, then the angle at B is equal to 90 degrees.
Our result states that if AB > 61 > 0, BC > 62 > 0, and |AC2 — AB2 — BC2| <
< 63 > 0, then the angle at the vertex B is close to 90°, and the difference between the actual angle and 90° tends to 0 when 6, ^ 0.
On the other hand, if we simply keep the inequalities AB = 0 and BC = 0, and only replace the equality with the corresponding inequality |AC2 — AB2 — BC2| <
< 63 > 0, then we would not be able to say anything about the angle at B -because we could take any triangle, with any angles, shrink to a small enough size, and the inequality |AC2 — AB2 — BC2| < 63 will be trivially satisfied, simply because all three sides AB, BC, and AC are very small.
Discussion. The value eP,Q,B(6) is the smallest number e for which, if the geometric property P(x) is satisfied with accuracy 6, then the geometric property Q(x) is satisfied with accuracy e. In other words, this number characterizes the "degree of robustness" of the original result VxeB (P(x) ^ Q(x)) to the fact that the geometric property P(x) may only be satisfied with a (given) accuracy 6. The following result shows how to compute this "degree of robustness"
eP,Q,B (6).
Definition 6. For any real number n > 0, we say that the tuples 6 = (61,62,...) and 6' = (6',62,...) are n-close if 16, — 6,| < n for all i.
Theorem 1. There exists an algorithm that:
• given a geometric property P of type P, a geometric property Q of type Q, a computable box B, a computable tuple 6, and a computable number
n > 0,
• returns computable real numbers e' and e'' for which e'' < eP,Q,B (6) < e' and for which e' = eP,Q,B(6') and e'' = eP,Q,B(6'') for some tuples 6' and 6'' which are n-close to 6.
Discussion. In other words, we can compute the desired degree of robustness with an arbitrary accuracy.
Comment. The fact that we are allowing to slightly change the values 6, is OK from the practical viewpoint, since in practice, we usually only know the accuracies 6, themselves with some uncertainty. From the theoretical viewpoint, something like this is inevitable, because the exact computation of the "degree of robustness" eP,Q,B(6) is not always algorithmically possible:
Proposition 3. No algorithm is possible that, given a geometric property P of type P, a geometric property Q of type Q, a computable box B, and a computable tuple 8, always computes the value eP,Q,B(8).
Comment. It should be mentioned that even when an algorithm for computing eP,Q,B(8) is possible, this algorithm may take a very long time. For example, in the situation when we have no conditions P(x), and Q(x) consists of a simple equality g(x) = 0 for some non-negative function g(x), the problem of computing the value eP,Q,B(8) becomes the problem of computing the maximum of a computable nonnegative function g(x) on a given box B. This problem is known to be NP-hard; see, e.g., [2,8].
3.3. Case of Constructions
Proposition 4. Let P(x) be a geometric property of type P, Q(x,y) be a geometric property of type Q, and let B and Y be boxes. Then, for each tuple 8, there exists an e > 0 for which VxeB (Pf (x) ^ 3yeY Q£(x,y)). Moreover, there exists the smallest non-negative number e for which this implication holds.
Notation. For each P(x), Q(x), B, Y, and 8, the smallest number e for which the implication VxeB (Pf (x) ^ 3yeY Q£(x,y)) holds will be denoted by eP,Q,B,Y(8).
Proposition 5. If VxeB (P(x) ^ 3yeY Q(x,y)), then eP,Q,B,Y(8) ^ 0 as 8 ^ 0.
Theorem 2. There exists an algorithm that:
given a geometric property P of type P, a geometric property Q of type Q, computable boxes B and Y, a computable tuple 8, and a computable number n > 0,
• returns computable real numbers e' and e'' for which e'' < eP,Q,B,Y (8) < e' and for which e' = eP,Q,B,Y (8') and e'' = eP,Q,B,Y(8'') for some tuples 8' and 8'' which are n-close to 8.
Comment. In this result, we simply return the corresponding degree of robustness. It is also possible to compute the corresponding object y:
Theorem 3. There exists an algorithm that:
given a geometric property P of type P, a geometric property Q of type Q, computable boxes B and Y, a computable tuple 8, a computable object x e B that satisfies the property Pf (x), and a computable number n > 0,
• returns a computable object y' e Y which satisfies the property Q£(x,y), where e = eP,Q,B,Y(8') + v for some tuple 8' which is n-close to 8.
4. Proofs Proof of Proposition 1.
1°. Let us first analyze the property P5(x).
By definition, the property P5(x) is satisfied if all the properties P/(x) are satisfied. Each of the properties P/(x) is an inequality of the type f (x) < g(x) for some continuous functions f(x) and g(x). Thus, for each i, the set {x : f(x) < < g(x)} of all objects x that satisfy the property P/(x) is closed. Hence, the set of all the objects x which satisfy all m properties P/(x) is also closed.
The box B is closed and bounded. Hence, the set S5 of all the objects x e B that satisfy the property P5(x) = P-f (x) & P25(x) & ... is a closed subset of the box, and thus also bounded and close - therefore, compact.
2°. Let us now analyze the desired property Q£(x). This property is a logical
for basic properties Qj (x) of the type fj (x) = gj (x), we have j(
combination of the properties Qj(x).
For each x e S, the property Qj(x) is equivalent to qj(x) < e, where:
j^Z Ui un. tjpv. Jijy
qj (x) d= |fij (x) - gij (x)|; and
for basic properties Qj (x) of the type fj (x) < gj (x) or fj (x) < gj (x), we (
j (
have qj (x) =f fj (x) - gj (x).
It is known that the condition (a(x) < e) & (b(x) < e) is equivalent to a single inequality max(a(x), b(x)) < e. Thus, each property
Q£(x) = Q£1 (x) & Q£2 & ... = (q, 1(x) < e) & (q,2(x) < e) & ...
is equivalent to q,(x) < e, where q,(x) d=f max(q, 1 (x), q,2(x),...).
Similarly, the logical combination (a(x) < e) V (b(x) < e) is equivalent to a single inequality min(a(x), b(x)) < e. Thus, the property
Q£(x) = Q1(x) V Q2 V ... = (q1(x) < e) V fe(x) < e) V ...
is equivalent to q(x) < e, where q(x) d=f min(q1(x), q2(x),...).
3°. From Parts 1 and 2 of this proof, we conclude that the implication VxeB (P5(x) ^ Q£(x)) is equivalent to requiring that q(x) < e for all x e S5, i.e., equivalent to requiring that e is larger than or equal to the maximum of the function q(x) on the compact set S5.
The function q(x) is obtained by applying continuous functions max and min to continuous functions qj(x) and is, therefore, continuous itself. Every continuous function is bounded on a compact set S5, and thus has a finite maximum. This maximum is the smallest e for which the above implication holds. The proposition is proven.
Proof of Proposition 2. We want to prove that eP,Q,B(6) ^ 0 as 6 ^ 0, i.e., that for every a > 0, there exists a ^ > 0 such that if 6, < ^ for all i, then
eP,Q,B(8) < a. Let us prove this result by contradiction. Let us assume that this property is not true, i.e., that there exists an a > 0 for which, for every ^ > 0 -in particular, for ^ = 1/n for every natural number n > 0 - there exists a 8(n) for which 8(n)i < 1/n for all i and eP,Q,B(8(n)) > a.
According to Proposition 1, eP,Q,B(8(n)) is the maximum of the function q(x) on the set = {x e B : Pf(n)(x)}. For each n, this maximum is attained at some point x(n), so we have eP,Q,B(8(n)) = q(x(n)) and thus, q(x(n)) > a.
Since the box B is compact, from the sequence x(n), we can select a convergent subsequence. Without losing generality, we can assume that x(n) is this convergent subsequence, i.e., that x(n) — t for some point t e B.
From the condition q(x(n)) > a, in the limit, we get q(t) > a > 0.
For each n, the point x(n) satisfies the property Pf(n)(x). For i for which Pi(x) has the form fi(x) = gi(x), this means that |fi(x(n)) — gi(x(n))| < 8i(n) < 1/n. In the limit n —y to, we get |fi(t) — gi(t)| < 0, hence fi(t) = gi(t). Thus, the point t satisfies the property Pi. Similarly, we can prove that the point t satisfies all m properties Pi(x). Therefore, the point t e B satisfies the property P.
Since we assumed that for elements of B, the property P(x) implies Q(x), we thus conclude that the property Q(t) holds as well. One can check, however, that the property Q(x) = Q1(x) VQ2(x) V..., with Qi(x) = Qi1(x) & Qi2(x) V... implies that
q(x) = max(q1(x), q2(x),...) = max(min(qn(x), q12(x),...), min(q21(x), q22(x),...),...) < 0,
which contradicts to our conclusion that q(t) > 0.
The contradiction proves that eP,Q,B(8) — 0 when 8 — 0. The proposition is proven.
Proof of Theorem 1. For each tuple 8 = (81,82,...) and for each real number n' > 0, we will consider the tuple 8' = (8', 82,...) in which 8i = 8i + si ■ n', where:
• for the indices i for which the property Pi(x) has the form fi(x) = gi(x) or fi(x) < gi(x), we take si = 1, and
• for the indices i for which the property Pi(x) has the form fi(x) = gi(x) or fi(x) < gi(x), we take si = —1.
For each real number n'' > 0, we will also consider 8i' =f 8i — si ■ n''.
In the proof of Proposition 1, we showed that the property Q£(x) is equivalent to a single inequality q(x) < e for an appropriate computable function q(x). Let us describe a similar equivalence for the property Pf'(x):
• For properties Pi(x) of the type fi(x) = gi(x), the corresponding property P/'(x) has the form |fi(x) — gi(x)| < 8i + n', i.e., equivalently, pi(x) < n',
where pi(x) = |fi(x) — gi(x)| — 8i.
• For properties Pi(x) of the type fi(x) = gi(x), the corresponding property P/'(x) has the form |fi(x) — gi(x)| > 8i — n', i.e., equivalently, pi(x) < n',
where pi(x) = 8i — |fi(x) — gi(x)|.
For properties P (x) of the type f (x) < g (x), the corresponding property P/'(x) has the form f (x) < g,(x) + 6, + n', i.e., equivalently, p(x) < n', where
(x) = f (x) — g, (x) — 6,.
For properties P (x) of the type f (x) < g (x), the corresponding property P/'(x) has the form f (x) < g,(x) — (6, — n'), i.e., equivalently, (x) < n',
where p,(x) =f f (x) — g,(x) + 6,.
In all four cases, each property P/'(x) is equivalent to p,(x) < n'. Thus, the property P5' (x) = Pf (x) & P25' (x) & ... is equivalent to
(P1(x) < n')&(P2(x) < n')& ...,
i.e., to p(x) < n', where p(x) == max(p1(x),p2(x),...) is a computable function.
Similarly, the property P5(x) is equivalent to p(x) < 0, and the property P5''(x) is equivalent to p(x) < —n''.
The value eP,Q,B(6) is the maximum of the computable function q(x) on the set S5 = {x e B : P5(x)}, i.e., on the set S5 = {x e B : p(x) < 0}. Similarly, the value eP,Q,B(6') is the maximum of the computable function q(x) on the set
S5' = {x e B : p(x) < n'},
and the value eP,Q,B(6'') is the maximum of the computable function q(x) on the set S5'' = {x e B :'p(x) < — n''}.
Here, q(x) < —n'' ^ q(x) < 0 ^ q(x) < n'. Thus,
{x e B : p(x) < —n''} C {x e B : p(x) < 0} C {x e B : p(x) < n'}.
The largest the set, the larger the maximum of the given function over this set; therefore, ep,Q,B(6'') < ep,Q,B(6) < ep,Q,B(6').
It is known (see Appendix) that for every computable function f(x) on a computable compact set K (in particular, on the box B) and for every two computable values a < a, it is algorithmically possible to find a e (a, a) for which the set {x e K : f (x) < a} is also a computable compact set. Thus, if we take a = 0 and a = n, we can find n' e (0, n) for which the set {x e B : p(x) < n'} is a computable compact. This is exactly the desired set S5'.
Since n' < n, the corresponding tuples 6' and 6 are indeed n-close. It is also known that it is possible to algorithmically compute the maximum of a computable function on a computable compact set. Thus, we can algorithmically compute the corresponding value eP,Q,B(6').
Similarly, by taking a = —n and a = 0, we can find a value a e (—n, 0) for
which the set {x e B : p(x) < a} is a computable compact. If we take n'' == —a, then the set {x e B : p(x) < a} = {x e B : p(x) < —n''} becomes exactly the desired set S5''.
Since a > —n, we have n'' < n and thus, the corresponding tuples 6'' and 6 are indeed n-close.
By computing the maximum of the computable function q(x) on the computable compact set S5'', we thus algorithmically compute the corresponding value eP,Q,B(8''). The theorem is proven.
Proof of Proposition 3 is based on the known fact that it is not possible to algorithmically check whether a given computable real number a is equal to 0 or not. Let us take B = [—1,1], let P(x) be an equality max(x,0) = 1, and let Q(x) be an equality x = 1. The condition P(x) is only satisfied when x = 1, so clearly here VxeB (P(x) ^ Q(x)).
In this case, the value eP,Q,B(8) is the maximum of the function |x — 1| on the set Ss = {x e [—1,1] : | max('x,'0) — 1| < 81}.
Let us take 81 = 1 — |a|. If a = 0, then 81 = 1, so S5 = [—1,1], and the maximum eP,Q,B(8) is equal to 2 (it is attained when x = —1).
On the other hand, if a = 0, then 81 < 1, so the corresponding condition P5(x) has the form | max(x, 0) — 1| < 8 < 1. This condition is not satisfied when x < 0, because then max(x, 0) = 0 and thus, | max(x, 0) — 1| = 1 >8. Thus, for such a, we always have x > 0, max(x, 0) = x, and therefore, S5 C [0, 2]. In this case, the largest value e of the function |x — 1| cannot exceed 1.
If we could compute the value eP,Q,B(8), then, by computing it with accuracy 1/3, we would be able to tell whether eP,Q,B(8) = 2 or eP,Q,B(8) < 1, and thus, we would be able to tell whether a = 0 or a = 0 - and this is known to be impossible. The proposition is proven.
Proof of Proposition 4. Similarly to the proof of Proposition 1, the property Q£(x,y) is equivalent to q(x,y) < e. Thus, the property 3yeY Q£(x,y) is equivalent to 3yeY q(x,y) < e, i.e., equivalently, to q'(x) < e, where q'(x) =f minq(x,y).
Since the function q(x,y) is continuous, and the set Y is compact, the function q'(x) is also a continuous function defined on a compact set, and thus, it has a finite maximum. This maximum is the smallest e for which the above implication holds. The proposition is proven.
Proof of Proposition 5 is similar to the proof of Proposition 2, since the function q'(x) is continuous.
Proof of Theorem 2 is similar to the proof of Theorem 1, since for a computable function q(x,y) on a computable compact Y, the maximum q'(x) = min q(x,y) is
also computable.
Proof of Theorem 3. By applying the algorithm from Theorem 2, we find the value eP,Q,B,Y(8') for some n-close tuples 8' for which S5 C S5'. Here, for every object x e B for which P5(x), we have P5'(x) and thus, we have 3yey Q£P>Q>B>Y (5')(x,y).
This means, in its turn, that minq(x,y) < eP,Q,B,Y(8'). On a compact set, the
minimum is attained, so there is some point y0 for which q(x,y0) < eP,Q,B,Y(8').
By definition of a computable compact, for every n, we can algorithmically produce a computable 2-n-net in this set. By enumerating all possible elements of these nets, we will get, in particular, points y which are arbitrarily close to y0.
For such points, q(x,y) can be arbitrarily close to q(x,y0). Thus, by considering
all such points y and computing q(x,y) with sufficient accuracy, we will eventually
find y for which q(x,y) < e == eP,Q,B,Y(6') + n. This means, in terms, that these x
and y satisfy the property Q£(x,y). The theorem is proven.
References
1. Barber C.B. Computational Geometry with Imprecise Data and Arithmetic. Ph.D. thesis, Department of Computer Science, Princeton University, Princeton, New Jersey, October 1992; available as Technical Report CS-TR-377-92.
2. Kreinovich V., Lakeyev A., Rohn J., Kahl P. Computational Complexity and Feasibility of Data Processing and Interval Computations. Dordrecht: Kluwer, 1997.
3. Mehlhorn K., Yap C. Robust Geometric Computation (to appear). URL: http://cs. nyu.edu/yap/book/egc/
4. Ratschek H., Rokne J. Geometric Computations with Interval and New Robust Methods, With Applications in Computer Graphics, GIS and Computational Geometry. Chish-ester, UK: Horwood Publ., 2003.
5. Shewchuk J.R. Adaptive precision floating-point arithmetic and fast robust geometric predicates // Discrete and Computational Geometry. 1997. V. 18. P. 305-363.
6. Shewchuk J.R. Lecture Notes on Geometric Robustness. URL: http://www.cs. berkeley.edu/~jrs/meshpapers/robnotes.pdf
7. Schirra S. Robustness and precision issues in geometric computation // Sack J., Urru-tia J. (editors). Handbook of Computational Geometry. Amsterdam: Elsevier, 1999.
8. Vavasis S.A. Nonlinear Optimization: Complexity Iissues. New York: Oxford University Press, 1991.
9. Weihrauch K. Computable Analysis. Berlin: Springer-Verlag, 2000.
A Computable Functions: Brief Reminder
For details, see, e.g., [2,9].
• A real number x is called computable if there exists an algorithm that, given a natural number k, returns a rational number rk for which |rk — x| < 2-k.
A tuple is called computable if all its elements are computable.
• A function f(x1,...,xn) from real numbers to real numbers is called computable if there exist two algorithms:
- an algorithm that, given rational numbers r1,...,rn, and an integer k, returns a rational number r for which |r — f (r1,..., rn)| < 2-k; and
- an algorithm that, given a rational number e > 0, returns a rational number 6 > 0 such that if |x, — x'| < 6 for all i, then
|f(x1,...,xn) — f(x1,...,xn)| < e.
A compact set K is called computable if there exists an algorithm that, given a natural number n, generates a finite 2-n-net for this set, i.e., a finite set such that every element x e K is 2-n-close to one of the points on this list.
• There exists an algorithm that, given a computable function f (x1,... ,xn) on a computable compact set K, returns the maximum and the minimum of the function f (x) over this set.
There exists an algorithm that, given a computable function f(x, y) on a computable compact set X x Y, returns the computable functions max f (x,y)
and minf (x,y).
• For every computable compact set K, for every computable function f (x), and for every two computable numbers a < a, we can algorithmically find a value a e (a, a) for which the set {x e K : f (x) < a} is a computable compact set.
КАК СДЕЛАТЬ ЭЛЕМЕНТАРНУЮ ГЕОМЕТРИЮ БОЛЕЕ УСТОЙЧИВОЙ И ТЕМ САМЫМ БОЛЕЕ ПРАКТИЧНОЙ: ОБЩИЕ АЛГОРИТМЫ
О. Кошелева
к.ф.-м.н., доцент, e-mail: [email protected]
Техасский университет в Эль Пасо, США
Аннотация. Многие результаты элементарной геометрии предполагают точное равенство между некоторыми углами или расстояниями. Однако, в структурах практической геометрии мы владеем только приближенными равенствами. В таких ситуациях традиционные результаты не позволяют нам делать какие-либо выводы. Таким образом, чтобы сделать элементарную геометрию более практической, нужно сделать её более устойчивой, т.е. применимой также и к ситуациям, когда у нас есть только приближенное равенство. Необходимость такой устойчивой версии геометрических результатов очевидна, и существует много таких версий. В этой работе мы приводим общие алгоритмы для получения таких устойчивых результатов.
Ключевые слова: элементарная геометрия, устойчивая геометрия, практические приложения геометрии, геометрические алгоритмы.