0% found this document useful (0 votes)
4 views8 pages

Gca24 1

This document discusses fundamental concepts in geometric algorithms, focusing on models of computation such as the Real RAM and algebraic computation trees. It introduces basic geometric objects in d-dimensional Euclidean space, including points, vectors, lines, and spheres, and reviews essential topology concepts. Additionally, it covers graph theory basics, defining graphs, neighborhoods, degrees, and isomorphism.

Uploaded by

Manjanna B
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views8 pages

Gca24 1

This document discusses fundamental concepts in geometric algorithms, focusing on models of computation such as the Real RAM and algebraic computation trees. It introduces basic geometric objects in d-dimensional Euclidean space, including points, vectors, lines, and spheres, and reviews essential topology concepts. Additionally, it covers graph theory basics, defining graphs, neighborhoods, degrees, and isomorphism.

Uploaded by

Manjanna B
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Chapter 1

Fundamentals

1.1 Models of Computation


When designing algorithms, one has to agree on a model of computation according to
which the algorithms are executed. There are various models to choose from, but when
it comes to geometry, a Turing machine type model, for instance, would be rather incon-
venient to represent and manipulate the frequent encounters of real numbers. Remember
that even elementary geometric operations—such as taking the center of a circle defined
by three points or computing the length of a circular arc—could quickly leave the realms
of rational and even algebraic numbers.
Therefore, other models of computation are more prominent in the area of geomet-
ric algorithms and data structures. In this course we will be mostly concerned with
two models: the Real RAM and the algebraic computation/decision tree model. The
former is rather convenient when designing algorithms, as it abstracts away the afore-
mentioned representation issues by simply assuming that it can be done. The latter
typically appears in the context of lower bounds, that is, in proofs that solving a given
problem requires at least certain amount of resource (as a function of the input size and
possibly other parameters).
Let us look into these models in more detail.

Real RAM Model. RAM stands for random access machine, that is a machine whose
memory cells are indexed by integers, and any specified cell can be accessed in constant
time. “Real” means that each cell can store a real number. Any single arithmetic opera-
tion (addition, subtraction, multiplication, division, and k-th root, for small constant k)
or comparison can be computed in constant time. 1
This is a quite powerful model of computation, as a single real number in principle can
encode an arbitrary amount of information. On the positive side, it allows to abstract
1
In addition, sometimes also logarithms, other analytic functions, indirect addressing (integral), or floor
and ceiling are used. As adding some of these operations makes the model more powerful, it is usually
specified and emphasized explicitly when an algorithm uses them.

9
Chapter 1. Fundamentals Geometry: C&A 2024

from the lowlands of numeric and algebraic computation and to concentrate on the
algorithmic core from a combinatorial point of view.
But there are also downsides. First, the model is somewhat unrealistic, and it poses
a challenge to efficiently implement an algorithm designed for it on an actual computer.
With bounded memory there is no way to represent general real numbers explicitly,
and operations using a symbolic representation can hardly be considered constant time.
Therefore we have to ensure that we do not abuse the power of this model. For instance,
we may want to restrict the numbers that are manipulated by any single arithmetic
operation to be some fixed polynomial in the numbers that appear in the input.
Second, it is difficult if not impossible to derive reasonable lower bounds in the real
RAM model. So when interested in lower bounds, it is convenient to use a different, less
powerful model of computation. One such model is the computation tree model, which
encompasses and explicitly represents all possible execution paths of an algorithm.

Algebraic Computation Trees (Ben-Or [1]). A model is as a rooted binary tree, where each
node has at most two children. The computation starts at the root and proceeds down
to leaves.
• Every node v with one child has an associated operation
√ a−b
in +, −, ∗, /, , . . .. The operands of this operation are
constant input values, or among v’s ancestors in the tree.
≤0
• Every node v with two children is associated with a
branching of the form > 0, ⩾ 0, or = 0. The branch
is with respect to the result of v’s parent node. If the a−c b−c
expression yields true, the computation continues with
the left child of v; otherwise, it continues with the right ≤0 ≤0
child of v.

• Every leaf contains the result of the computation. a c b c

The term decision tree is used if all of the final results (leaves) are either true or
false. If every branch is based on a linear function in the input values, we face a linear
decision tree. Analogously one can define, say, quadratic decision trees.
The complexity of a computation or decision tree is the maximum number of nodes
among all root-to-leaf paths. It is well known that Ω(n log n) comparisons are required
to sort n numbers. But also for some problems that appear easier than sorting at first
glance, the same lower bound holds. Consider, for instance, the following problem.
Element Uniqueness
Input: {x1 , . . . , xn } ⊂ R, n ∈ N.
Output: Is xi = xj , for some i, j ∈ {1, . . . , n} with i ̸= j?
Ben-Or [1] has shown that any algebraic decision tree to solve Element Uniqueness
for n elements has complexity Ω(n log n).

10
Geometry: C&A 2024 1.2. Basic Geometric Objects

1.2 Basic Geometric Objects

We will mostly be concerned with the d-dimensional Euclidean space Rd for small d ∈ N;
typically d = 2 or d = 3. The basic objects of interest in Rd are the following.

Points. A point p ∈ Rd is typically described by its d p = (−4, 0)


r = (7, 1)
Cartesian coordinates p = (x1 , . . . , xd ).
q = (2, −2)

Vectors. A vector v ∈ Rd is typically described by its


v = (3, 1)
d Cartesian coordinates v = (x1 , . . . , xdq
). Its length (in
Pd v = (0, −2)
Euclidean metric) is denoted as ∥v∥ := i=1 xi . If v
2

has unit length, we also call it a direction. v = (1, −1)

What is the difference between a point and a vector? Mathematically they are both
elements of Euclidean space Rd , hence they are the same. The different terms are used
to indicate how we think of such an element in a given context. We think of a point
as a location in space (a “dot”), while we think of a vector as a translation in space (an
“arrow” starting from the origin). The point view is dominant in geometry. But since
every point can be understood as a vector (the arrow from the origin to the dot), we can
seamlessly apply vector space operations (addition, scalar multiplication) to points; and
the resulting vector can be cast as a point again (the dot at the arrowhead). There are a
number of sources that insist differentiating points and vectors, and they are right when
it comes to how we interpret them. But when it comes to what they actually are, there
is no need to make a difference.

Lines. A line is a one-dimensional affine subspace in Rd . p


It can be described by two distinct points p and q as the
q
point set {p + λ(q − p) : λ ∈ R}.

While any pair of distinct points defines a unique line, a line in R2 contains infinitely
many points and so it may happen that a collection of three or more points lie on a line.
Such a collection of points is termed collinear 2 .

Rays. If we split a line at a point and only look into one


direction from the point, then we obtain a ray. It can be
described by two distinct points p and q as the point set q
{p + λ(q − p) : λ ⩾ 0}. The orientation of a ray is the
p
vector q − p.

2
Not colinear, which refers to a notion in the theory of coalgebras.

11
Chapter 1. Fundamentals Geometry: C&A 2024

Line segments. A line segment is, as its name suggests,


the segment between two points p, q on a line. It can be q
described as the point set {p + λ(q − p) : 0 ⩽ λ ⩽ 1}.
We will also denote this line segment by pq. Depending
p
on the context we may allow or disallow degenerate line
segments consisting of a single point only (p = q in the
above equation).

Hyperplanes and halfspaces. A hyperplane h is a (d−1)-dimensional affine subspace in Rd .


It can be described algebraically
Pd by d + 1 coefficients h1 , . . . , hd+1 ∈ R as the point set
{(x1 , . . . , xd ) ∈ R : i=1 hi xi = hd+1 }. Usually, we require at least one of h1 , . . . , hd
d

to be nonzero. Otherwise, the equation is satisfied by either all points (if hd+1 = 0) or
no point (if hd+1 ̸= 0), which we call a degenerate hyperplane. Degeneracy is useful in
some contexts, and we will explicitly say so where we allow them. If we change “=” in
the definition to “⩾”, the obtained object is called a halfspace (or halfplane in R2 ).

Spheres and balls. A sphere is the set of all points that are equidistant to a fixed point.
It can be described by its center c ∈ Rd and radius r ∈ R as the point set {x ∈ Rd :
∥x−c∥ = r}. Likewise, the ball of radius r around c is the point set {x ∈ Rd : ∥x−c∥ ⩽ r}.
In R2 , spheres and balls are called circles and disks, respectively.

1.3 Topology

In this section we review some basic concepts and notation from set-theoretic topology,
on a level of what you also encounter in courses on real analysis typically. These concepts
arise here and there, for instance, when we formalize intuitive objects such as “curves”
and “polygons”. They are also indispensible when we study certain abstract objects such
as convex sets.
A set P ⊆ Rd is bounded, if it is contained in some ball Br := {x ∈ Rd : ∥x∥ ⩽ r} of
radius r > 0 around the origin.
A point p ∈ Rd is interior to P ⊆ Rd , if for some ε > 0, there exists a ball
Bε (p) = {x ∈ Rd : ∥x − p∥ ⩽ ε} around it that is completely contained in P. A set is
open if all of its points are interior; and it is closed if its complement is open. Beware
that a set can be both open and closed (e.g. Rd ), or neither open nor closed (e.g. the
interval (0, 1] in one-dimension).
Finally, a set is compact if it is both bounded and closed. An important fact from
analysis states that every continuous function from a compact set P ⊆ Rd to R attains
its minimum/maximum at some point p ∈ P.

Exercise 1.1. Determine for each of the following sets whether they are open or closed
in R2 . a) B1 (0) b) {(1, 0)} c) R2 d) R2 \Z2 e) R2 \Q2 f ) {(x, y) : x ∈ R, y ⩾ 0}

12
Geometry: C&A 2024 1.4. Graphs

Exercise 1.2. Show that the union of countably many open sets in Rd is open. Show
that the union of a finite number of closed sets in Rd is closed. (For the curious
reader: These are two of the axioms of an abstract topology. So here we show
that the Euclidean space is a topology.) What follows for intersections of open and
closed sets? Finally, show that the union of countably many closed sets in Rd is
not necessarily closed.

The boundary ∂P of P ⊆ Rd consists of all points in Rd (not necessarily in P) that are


neither interior to P nor to Rd \ P. In other words, p ∈ ∂P if every ball Bε (p) intersects
both P and Rd \ P.
Sometimes one wants to approximate a set P ⊆ Rd by an open/closed set. In the
former scenario we can resort to its interior P◦ formed by all points interior to P. It is
not hard to see that P◦ = P \ ∂P. Similarly, in the latter scenario one can use its closure
P = P ∪ ∂P.

Exercise 1.3. Show that for any P ⊆ Rd the interior P◦ is open, and the closure P is
closed. (Why is there something to show to begin with?)

What is the interior of a lower-dimensional object living in a higher dimensional space,


such as a line segment in R2 or a triangle in R3 ? The answer is ∅, because the balls
considered in the definition are higher-dimensional creatures which will always contain
points from the “outer space”. To overcome this undesirable artefact, we can use the
notion of a relative interior, denoted by relint(S). It refers to the interior of S where
all the “balls” in the definition are restricted to live in the smallest affine subspace that
contains S.
For instance, the smallest affine subspace that contains the line segment pq in R2
is the line through p, q. So all the “balls” considered by the relative interior will be
intervals of that line, thus relint(pq) = pq \ {p, q}. Similarly, the smallest affine subspace
that contains a triangle in R3 is a plane. Hence the relative interior is just the interior
of the triangle, considered as a two-dimensional object.

1.4 Graphs
Next we review some basic definitions and properties of graphs. For more details and
proofs, refer to any standard textbook on graph theory [2, 3, 5].
A (simple undirected) graph G = (V, E) is defined on a set V of vertices whose
pairwise relations are captured by the set E ⊆ V2 of edges. Unless stated otherwise, V


is always finite. Two vertices u, v are adjacent if {u, v} ∈ E, in which case both vertices
are incident to the edge {u, v}. To avoid clutter we often omit brackets and write uv for
edge {u, v}.
For a vertex v ∈ V, its neighborhood in G, denoted NG (v), consists of all vertices from
G that are adjacent to v. Similarly, for a set W ⊂ V of vertices its neighborhood NG (W)
is defined as w∈W NG (w). The degree degG (v) of a vertex v ∈ V is the size of its
S

13
Chapter 1. Fundamentals Geometry: C&A 2024

neighborhood, that is, the number of edges from E incident to v. The subscript is often
omitted if the graph under consideration is clear from the context.
Lemma 1.4 (Handshaking Lemma). In any graph G = (V, E) we have
X
deg(v) = 2|E|.
v∈V

Two graphs G = (V, E) and H = (U, F) are isomorphic, denoted G ≃ H, if there is


a bijection ϕ : V → U such that {u, v} ∈ E ⇐⇒ {ϕ(u), ϕ(v)} ∈ F. Such a bijection
ϕ is called an isomorphism between G and H. The structure of isomorphic graphs is
identical and often we do not distinguish between them when looking at them as graphs.
For a graph G denote by V(G) the set of vertices and by E(G) the set of edges. A
graph H = (U, F) is a subgraph of G if U ⊆ V and F ⊆ E. In case that U = V the
graph H is a spanning subgraph of G. For a set U ⊆ V of vertices denote by G[U]
the induced subgraph of G on U, that is, the graph (U, E ∩ U For F ⊆ E denote

2
).
G \ F := (V, E \ F). Similarly, for U ⊆ V denote G \ U := G[V \ U]. In particular, for a
vertex or edge x ∈ V ∪ E we write G \ x for G \ {x}. The union of two graphs G = (V, E)
and H = (U, F) is the graph G ∪ H := (V ∪ U, E ∪ F).
For an edge e = uv ∈ E the graph G/e is obtained from G \ {u, v} by adding a new
vertex w with NG/e (w) := (NG (u) ∪ NG (v)) \ {u, v}. This process is called contraction
of e in G. Similarly, for a set F ⊆ E of edges the graph G/F is obtained from G by
contracting all edges from F (the order in which the edges from F are contracted does
not matter).

Graph traversals. A walk in G is a sequence W = (v1 , . . . , vk ), k ∈ N, of vertices such


that vi and vi+1 are adjacent in G, for all 1 ⩽ i < k. The vertices v1 and vk are referred
to as the walk’s endpoints, and the other vertices its interior. A walk with endpoints v1
and vk is sometimes called a walk between v1 and vk . If the endpoints coincide (namely
v1 = vk ), then the walk is closed; otherwise it is open. For a walk W denote by V(W)
its set of vertices and by E(W) its set of edges (that is, pairs of consecutive vertices along
W). We say that W visits its vertices and edges.
A walk that uses each edge of G at most once is called a trail. A closed walk that
visits each edge (hence also each vertex) at least once is called a tour of G. An Euler
tour is both a trail and a tour of G, that is, it visits each edge of G exactly once. A
graph that contains an Euler tour is termed Eulerian.
If the vertices v1 , . . . , vk of a closed walk W are pairwise distinct except for v1 = vk ,
then W is a cycle of size k − 1. If the vertices v1 , . . . , vk of a walk W are pairwise
distinct, then W is a path of size k. A Hamilton cycle (path) is a cycle (path) that
visits every vertex of G. A graph that contains a Hamilton cycle is Hamiltonian.
Two trails are edge-disjoint if they do not share any edge. Two paths are called
internally vertex-disjoint if they do not share any vertices (except for potential common
endpoints). For two vertices s, t ∈ V any path with endpoints s and t is called an (s, t)-
path or a path between s and t.

14
Geometry: C&A 2024 1.4. Graphs

Connectivity. Define an equivalence relation “∼” on V by setting a ∼ b if and only if


there is a path between a and b in G. The equivalence classes with respect to “∼” are
called components of G. A graph G is connected if it has only one component, and
disconnected otherwise.
A set C ⊂ V of vertices in a connected graph G = (V, E) is a cut-set of G if G \ C is
disconnected. A graph is k-connected, for a positive integer k, if |V| ⩾ k + 1 and every
cut-set has at least k vertices. Similarly a graph G = (V, E) is k-edge-connected, if G \ F
is connected, for any set F ⊆ E of at most k − 1 edges. Connectivity and cut-sets are
related via the following well-known theorem.

Theorem 1.5 (Menger [4]). For any two nonadjacent vertices u, v of a graph G = (V, E),
the minimum size of a cut-set that disconnects u and v is the same as the maximum
number of pairwise internally vertex-disjoint paths between u and v.

Specific families of graphs. A graph with all potential edges present, that is (V, V2 ), is


called a clique. Up to isomorphism there is only one clique on n vertices; it is referred


to as the complete graph Kn , for n ∈ N. At the other extreme, the empty graph Kn
consists of n isolated vertices, so no edge is present. A set U of vertices in a graph G is
independent if G[U] is an empty graph. A graph whose vertex set can be partitioned
into two independent sets is bipartite. An equivalent characterization states that a graph
is bipartite if and only if it does not contain any odd cycle. The bipartite graphs with
a maximum number of edges (unique up to isomorphism) are the complete bipartite
graphs Km,n , for m, n ∈ N. They consist of two disjoint independent sets of size m and
n, respectively, and all mn edges in between.
A forest is a graph that is acyclic, that is, it does not contain any cycle. A connected
forest is called tree and its leaves are the vertices of degree one. Every connected graph
contains a spanning subgraph which is a tree—a so-called spanning tree. Beyond the
definition given above, there are several equivalent characterizations of trees.

Theorem 1.6. The following statements for a graph G are equivalent.

(1) G is a tree (that is, it is connected and acyclic).


(2) G is a connected graph with n vertices and n − 1 edges.
(3) G is an acyclic graph with n vertices and n − 1 edges.
(4) Any two vertices in G are connected by a unique path.
(5) G is minimally connected, that is, G is connected but removal of any single
edge yields a disconnected graph.
(6) G is maximally acyclic, that is, G is acyclic but adding any single edge creates
a cycle.

15
Chapter 1. Fundamentals Geometry: C&A 2024

Directed graphs. In a directed graph or, short, digraph D = (V, E) the set E consists of
ordered pairs of vertices, that is, E ⊆ V 2 . The elements of E are referred to as arcs. To
avoid clutter we often omit brackets and write uv for an arc (u, v). An arc uv ∈ E is said
to be directed from its source u to its target v. For uv ∈ E we also say “there is an arc
from u to v in D”. Usually, we consider loop-free graphs, that is, arcs of the type vv, for
some v ∈ V, are not allowed.
The in-degree deg−D (v) := |{(u, v)|uv ∈ E}| of a vertex v ∈ V is the number of incoming
arcs at v. Similarly, the out-degree deg+ D (v) := |{(v, u) | vu ∈ E}| of a vertex v ∈ V is
the number of outgoing arcs at v. Again the subscript is often omitted when the graph
under consideration is clear from the context.
From any undirected graph G one can obtain a digraph on the same vertex set by
specifying a direction for each edge of G. Each of these 2|E(G)| different digraphs is called
an orientation of G. Similarly every digraph D = (V, E) has an underlying undirected
graph G = (V, { {u, v} | (u, v) ∈ E or (v, u) ∈ E}). Hence most of the terminology for
undirected graphs carries over to digraphs.
A directed walk in a digraph D is a sequence W = (v1 , . . . , vk ), for some k ∈ N, of
vertices such that there is an arc from vi to vi+1 in D, for all 1 ⩽ i < k. In the same
way we define directed trails, directed tours, directed paths, and directed cycles.

Multigraphs. Sometimes we also consider multigraphs, where each edge may have mul-
tiple copies. Unless forbidden explictly, a multigraph may contain loops. Just as simple
graphs/digraphs, multigraphs may be undirected or directed, and also most of the other
basic notions for graphs discussed above naturally generalize to multigraphs.

References
[1] Michael Ben-Or, Lower bounds for algebraic computation trees. In Proc. 15th Annu.
ACM Sympos. Theory Comput., pp. 80–86, 1983.

[2] John Adrian Bondy and U. S. R. Murty, Graph Theory, vol. 244 of Graduate texts
in Mathematics, Springer, London, 2008.

[3] Reinhard Diestel, Graph Theory, vol. 173 of Graduate texts in Mathematics,
Springer, Heidelberg, 5th edn., 2016.

[4] Karl Menger, Zur allgemeinen Kurventheorie. Fund. Math., 10/1, (1927), 96–115.

[5] Douglas B. West, Introduction to Graph Theory, Prentice Hall, Upper Saddle River,
NJ, 2nd edn., 2001.

16

You might also like