CC System
   HOME

TheInfoList



OR:

In
computational geometry Computational geometry is a branch of computer science devoted to the study of algorithms which can be stated in terms of geometry. Some purely geometrical problems arise out of the study of computational geometric algorithms, and such problems ar ...
, a CC system or counterclockwise system is a
ternary relation In mathematics, a ternary relation or triadic relation is a finitary relation in which the number of places in the relation is three. Ternary relations may also be referred to as 3-adic, 3-ary, 3-dimensional, or 3-place. Just as a binary relation ...
introduced by Donald Knuth to model the clockwise ordering of triples of points in general position in the
Euclidean plane In mathematics, the Euclidean plane is a Euclidean space of dimension two. That is, a geometric setting in which two real quantities are required to determine the position of each point ( element of the plane), which includes affine notions of ...
.


Axioms

A CC system is required to satisfy the following axioms, for all distinct points ''p'', ''q'', ''r'', ''s'', and ''t'': # Cyclic symmetry: If then . # Antisymmetry: If then not . # Nondegeneracy: Either or . # Interiority: If and and , then . # Transitivity: If and and , and and , then . Triples of points that are not distinct are not considered as part of the relation.


Construction from planar point sets

A CC system may be defined from any set of points in the
Euclidean plane In mathematics, the Euclidean plane is a Euclidean space of dimension two. That is, a geometric setting in which two real quantities are required to determine the position of each point ( element of the plane), which includes affine notions of ...
, with no three of the points collinear, by including in the relation a triple of distinct points whenever the triple lists these three points in counterclockwise order around the triangle that they form. Using the Cartesian coordinates of the points, the triple ''pqr'' is included in the relation exactly when :\det\left( \begin x_p & y_p & 1 \\ x_q & y_q & 1 \\ x_r & y_r & 1 \end \right) > 0. The condition that the points are in general position is equivalent to the requirement that this matrix
determinant In mathematics, the determinant is a scalar value that is a function of the entries of a square matrix. It characterizes some properties of the matrix and the linear map represented by the matrix. In particular, the determinant is nonzero if and ...
is never zero for distinct points ''p'', ''q'', and ''r''. However, not every CC system comes from a Euclidean point set in this way.


Equivalent notions

CC systems can also be defined from pseudoline arrangements, or from
sorting network In computer science, comparator networks are abstract devices built up of a fixed number of "wires", carrying values, and comparator modules that connect pairs of wires, swapping the values on the wires if they are not in a desired order. Such net ...
s in which the compare-exchange operations only compare adjacent pairs of elements (as in for instance
bubble sort Bubble sort, sometimes referred to as sinking sort, is a simple sorting algorithm that repeatedly steps through the input list element by element, comparing the current element with the one after it, swapping their values if needed. These passes ...
), and every CC system can be defined in this way. This relation is not one-to-one, but the numbers of nonisomorphic CC systems on ''n'' points, of pseudoline arrangements with ''n'' lines, and of sorting networks on ''n'' values, are within polynomial factors of each other. There exists a two-to-one correspondence between CC systems and uniform acyclic
oriented matroid An oriented matroid is a mathematics, mathematical mathematical structure, structure that abstracts the properties of directed graphs, Vector space, vector arrangements over ordered fields, and Arrangement of hyperplanes, hyperplane arrangements o ...
s of rank 3. These matroids in turn have a 1-1 correspondence to topological equivalence classes of pseudoline arrangements with one marked cell.


Algorithmic applications

The information given by a CC system is sufficient to define a notion of a
convex hull In geometry, the convex hull or convex envelope or convex closure of a shape is the smallest convex set that contains it. The convex hull may be defined either as the intersection of all convex sets containing a given subset of a Euclidean space ...
within a CC system. The convex hull is the set of ordered pairs ''pq'' of distinct points with the property that, for every third distinct point ''r'', ''pqr'' belongs to the system. It forms a cycle, with the property that every three points of the cycle, in the same cyclic order, belong to the system. By adding points one at a time to a CC system, and maintaining the convex hull of the points added so far in its cyclic order using a binary search tree, it is possible to construct the convex hull in time ''O''(''n'' log ''n''), matching the known time bounds for convex hull algorithms for Euclidean points. It is also possible to find a single convex hull vertex, as well as the combinatorial equivalent of a bisecting line through a system of points, from a CC system in
linear time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
. The construction of an extreme vertex allows the
Graham scan Graham's scan is a method of finding the convex hull of a finite set of points in the plane with time complexity O(''n'' log ''n''). It is named after Ronald Graham, who published the original algorithm in 1972. The algorithm finds all vertices o ...
algorithm for convex hulls to be generalized from point sets to CC systems, with a number of queries to the CC system that matches (to within lower-order terms) the number of comparisons needed in
comparison sort A comparison sort is a type of sorting algorithm that only reads the list elements through a single abstract comparison operation (often a "less than or equal to" operator or a three-way comparison) that determines which of two elements should occ ...
ing.


Combinatorial enumeration

The number of non-isomorphic CC systems on ''n'' points is :1, 1, 1, 2, 3, 20, 242, 6405, 316835, 28627261 ... These numbers grow exponentially in ''n''2; in contrast, the number of realizable CC systems grows exponentially only in Θ(''n'' log ''n''). More precisely, the number ''Cn'' of non-isomorphic CC systems on ''n'' points is at most :3^. Knuth conjectures more strongly that these numbers obey the recursive inequality :C_n\le n2^ C_.


Notes


References

*. *. *{{Citation , last=Knuth , first=Donald E. , authorlink=Donald Knuth , year=1992 , title=Axioms and hulls , series=Lecture Notes in Computer Science , volume=606 , location=Heidelberg , publisher=Springer-Verlag , pages=ix+109 , isbn=3-540-55611-7 , url=http://www-cs-faculty.stanford.edu/~uno/aah.html , accessdate=5 May 2011, doi=10.1007/3-540-55611-7, mr=1226891, s2cid=5452191 . Computational geometry Oriented matroids Euclidean plane geometry