Graz University of Technology Institute for Software Technology Bachelor Thesis Software Development Course Number: 705.408 On Order Types, Projective Classes, and Realizations Bachelor programme Technical Mathematics Manfred Scheucher student ID: 0930956 program code: 033 201 Supervisor: Assoc.Prof. Dipl.-Ing. Dr.techn. Oswin Aichholzer Dipl.-Ing. Dr.techn. Thomas Hackl Institute for Software Technology Graz University of Technology 6. October 2014 Contents 1 Abstract 2 2 Introduction 3 3 Theoretical Part 4 3.1 Pointsets . .4 3.2 Λ-Matrices . .5 3.3 Order Types . .6 3.4 Projective Classes . .7 3.5 λ-Matrices . .9 3.6 Realizations . 11 3.6.1 Sub Order Types . 11 3.6.2 The Rotation Functions . 12 3.7 Approaches for Realization . 14 3.7.1 QCP-Realization . 14 3.7.2 Grassmann-Pl¨ucker Heuristic . 16 3.7.3 Back-Rotation-Realization . 18 3.8 Research Topics . 22 3.8.1 k-Gons and k-Holes . 22 3.8.2 Rectilinear Crossings . 22 3.8.3 Universal Pointset . 23 4 pyotlib 24 4.1 Programming Language and Modules . 24 4.2 Supported Filetypes . 24 4.3 Provided Functionality . 24 4.3.1 Core Classes . 24 4.3.2 Order Types and Projective Classes . 25 4.3.3 Realization . 25 4.3.4 Further Classes . 27 4.3.5 Provided Scripts . 27 4.4 Some Benchmarks . 29 4.5 Realization of small Order Types . 29 4.6 Realization of large Order Types . 30 5 Overview of Results 32 5.1 Results on Empty Convex 5-Holes: . 32 5.2 Results on Rectilinear Crossing Numbers and on Realizability of Large Order Types: . 32 5.3 Results on Realizations of Minimal Size: . 34 5.4 Results on Universal Order Types: . 35 1 1 Abstract In this thesis we describe some basic methods to efficiently work with order types and projective classes and some realization techniques. In addition, we give a short documentation of the framework pyotlib which provides implementations of the mentioned methods. Furthermore we give an overview of the results obtained by using the provided methods. 2 2 Introduction After finishing some calculations for Manfred Scheucher's Bachelor's thesis in Computer Science [36] there were exactly 168 abstract order types with 13 points that contained exactly 3 convex 5-holes. Most of them were easy to realize and some of them could be proven to be non-realizable. But there were also some order types that could not be realized for months. In general, the realization problem is known to be NP-hard. Using the implementation developed for this thesis, which can also make use of the power of Wolfram Mathematica [13], 156 order types could be realized and the 12 remaining abstract order types could be proven to be not realizable with just about 30 minutes computation time. As there exist lots of small scripts from the preceding Bachelor's thesis and because there are lots of calculations that can be done with order types and projective classes, we decided to establish a whole framework called pyotlib to provide the core functionality. Thus, we analyzed and implemented all impor- tant algorithms from scratch to provide an efficient implementation. After the BSc thesis [36] there were also some abstract order types with a larger number of points and a low number of convex 5-holes known. By realizing them, the upper bound on the minimal number of convex 5-holes h5(n) could be slightly improved for some n. For example, by realizing an order type with 19 points and 27 convex 5-holes it is proven that h5(19) ≤ 27. 3 3 Theoretical Part There are infinite possibilites to pick three distinct (labeled) points in the Eu- clidean plane, as the number of points in the Euclidean plane is infinite. How- ever, there are only three cases that can occur: 1. the third point lies on the directed line through point one and point two, i.e., these three points are \collinear"; 2. the third point lies on the left side of the directed line through point one and point two, i.e, these three points are \left oriented"; 3. the third point lies on the right side of the directed line through point one and point two, i.e, these three points are \right oriented". Analogously, for any set of points with more than three points each point triple has a certain orientation. Hence, it is a good approach to group sets of points by their orientations. This concept was first introduced by Goodman and Pol- lack [28] who denoted these groups as order types. Consecutively, given an order type one might ask for a realization, i.e, a set of points with the desired orienta- tions. One approach to enumerate all order types was proposed by Aichholzer, Aurenhammer and Krasser [15, 31]. Prior work has also been done by Bokowski, Laffaille and Richter-Gebert [21, 20], and by Finschi and Fukuda [26, 27]. In this section we give an introduction to the theory of order types as it is necessary to know the definitions and ideas to understand the methods that we use later for realization. 3.1 Pointsets Definition 1. For n 2 N we define the symmetric group Sn := fπ : f1; : : : ; ng ! f1; : : : ; ng j π bijectiveg as the set of all permutations of length n. Given π 2 Sn we denote πi := π(i). Definition 2. We denote the tuple P = (p1; : : : ; pn) with pairwise different 2 pi = (xi; yi) 2 R as (real) pointset. 2 If pi 2 Q holds for all i we denote P as rational pointset. 2 If pi 2 Z holds for all i we denote P as integer pointset. 2 If pi 2 N0 holds for all i we denote P as natural pointset. We define the set of real, rational, integer, and natural pointsets as 2 Pn := f(p1; : : : ; pn) j pi 2 R pairwise differentg; Q 2 2 n Pn := f(p1; : : : ; pn) j pi 2 Q pairwise differentg = Pn \ (Q ) ; I 2 2 n Pn := f(p1; : : : ; pn) j pi 2 Z pairwise differentg = Pn \ (Z ) , and N 2 2 n Pn := f(p1; : : : ; pn) j pi 2 N0 pairwise differentg = Pn \ (N0) , respectively. Remark that in natural pointsets point coordinates can also be zero. We N could also denote Pn as \non-negative integer pointset". 4 I Definition 3. Let P = (p1; : : : ; pn) 2 Pn be an integer pointset. We define the diameter of the pointset P as diam(P ) := max max jxij; max jyij : i2f1;:::;ng i2f1;:::;ng I For P 2 PnnPn we can set diam(P ) := 1. Definition 4. Let P = (p1; : : : ; pn) 2 Pn be a pointset. Three points pi; pj; pk for i; j; k pairwise different are said to be collinear if and only if pk = λpi + (1 − λ)pj holds for some λ 2 R. The points p1; : : : ; pn are said to be in general position and the pointset P is said to be general if and only if there are no collinear points. 3.2 Λ-Matrices As line arrangements and pseudoline arrangements are used only for the definition of Λ-matrices we refer to [31, 15] for the defintion and construction methods. n×n×n Definition 5. Let Λ = (Λijk)i;j;k2f1;:::;ng 2 {−1; 0; 1g be a tensor of orientations such that Λ can be constructed via pseudoline arrangements. We will denote Λ as Λ-matrix (\big lambda matrix") of size n and define the set of Λ-matrices of size n as ∗ n×n×n Λn := fΛ 2 {−1; 0; 1g j Λ is a Λ-matrixg: Note that by defintion for i; j; k 2 f1; : : : ; ng the following three conditions must hold: 1.Λ ijk = Λjki, i.e, relabeling three points (counter) clockwise does not change the orientation of this point triple; 2.Λ ijk = −Λjik, i.e., switching two points of inverts the orientation; 3.Λ ijk 6= 0 holds for i; j; k pairwise different, i.e., no collinear points. Remark that these conditions are necessary but not sufficient! [31] Note 1. Note that we could also use a less restrictive definition for Λ-matrices such that collinear index triples are allowed where an index triple (i; j; k), i; j; k pairwise different, is said to be collinear if and only if Λijk = 0. Otherwise it is said to be general. If there is a collinear index triple Λ is said to be collinear. Otherwise Λ is said to be general. But for our purposes we only consider so called \general" Λ-matrices. [26, 27] Definition 6. Let P 2 Pn be a general pointset. We denote Λ(P ) := (Λijk)i;j;k2f1;:::;ng 5 as the induced Λ-matrix by the pointset P with the induced orientation triples 0 1 1 1 1 Λijk := sgn det @xi xj xkA yi yj yk where det is the determinant function and sgn is the sign function. Proposition 1. Any general pointset is the dual of a line arrangement which is per definition also a pseudo line arrangement [31]. Hence any induced Λ-matrix is a Λ-matrix by definition. ∗ Definition 7. Let Λ 2 Λn. For any i; j 2 f1; : : : ; ng we define the left set Lij(Λ) and the right set Rij(Λ) as Lij(Λ) := fk j Λijk > 0g and Rij(Λ) := fk j Λijk < 0g, respectively. Remark that this definition of Lij(Λ) was proposed by Goodman and Pol- lack [28] as defintion of (induced) Λ-matrices. 3.3 Order Types Motivation: There is a large number of Λ-matrices even for small n which store the same information so one might want to group them.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages40 Page
-
File Size-