An Heuristic Algorithm for the Minimum Weight Triangulation Problem

An Heuristic Algorithm for the Minimum Weight Triangulation Problem

An Heuristic Algorithm for the Minimum Weight Triangulation Problem Nicolau Andres Thio Supervised by Dr Charl Ras The University of Melbourne Vacation Research Scholarships are funded jointly by the Department of Education and Training and the Australian Mathematical Sciences Institute. Abstract A triangulation is an edge-maximal graph on a set of points S such that no pair of edges intersect. The minimum weight triangulation problem consists on finding a triangulation of S such that the sum of the Euclidean lengths of the edges is a minimum. It has been shown that a variety of specific proximity graphs must be subgraphs of a minimum weight triangulation. In addition, many polynomial time algorithms have been discovered that construct minimum weight triangulations for sets of vertices with given properties. In this project we looked at creating a new approximation algorithm making use of the existing subgraphs for points in general position, and testing its performance against other known triangulations such as the Greedy and the Delaunay. We used a combined adaptation of Kruskals and Convex Polygon Triangulation algorithms to create a triangulation that was always better than the Greedy and Delaunay triangulation. We also tried to locally optimize all three triangulations with a local search, which improved the Delaunay triangulation but did not improve ours. This has allowed us to conclude that the algorithm presented is locally optimal and always behaves better than both the Greedy and the Delaunay triangulations. 1. Introduction A triangulation is an edge-maximal graph on a set of points S such that no pair of edges intersect. This means that no new edges can be added to a triangulation that would not intersect any of the existing edges. Therefore a triangulation is a plane graph where every interior face is a triangle, and the boundary of the exterior face coincides with the convex hull of S. The Minimum Weight Triangulation problem of a set of vertices S is defined as follows: Definition 1. Given a set of vertices S, the Minimum Weight Triangulation problem (mwt(S)) consists of finding the triangulation of the set S such that the sum of the Eucledian lengths of the edges is a minimum. The first appearance of the mwt(S) is atributed to D¨oppe and Gottschalk, proposed as a cartography related problem. It was early thought that the Delaunay triangulation was also the mwt, but this was quickly disproved by Lloyd [1]. It was labelled as on of the most important problems in computational geometry by Mitchell and O'Roucke [2] in 2001, and it wasn't until 2006 that it was proven to be NP-Hard [3]. With NP-Hardness being proved, approximations of the problem have become an inter- esting area of research. It has been shown that natural triangulations such as Delaunay or Greedy can be worse than the optimum by a factor of Ω(n). Many algorithms have been developed for sets of points in particular arrangements, and subgraphs of the mwt have been discovered. In this study we present a new heuristic with good performance relative to the 1 Delaunay which seems to be locally optimal and works on points in general position; a set of points is in general position if no 4 points lie on the circumference of the same circle. We will compare it to the Delaunay and Greedy triangulations and run a local search to try to improve the given triangulations. 2. Current results 2.1. Subgraphs of the mwt(S) Several investigations have reported subgraphs of mwt(S). These are useful starting points before further edges are added to the graph in the search of an approximation. The convex hull of S is a trivial subgraph, since it is a subgraph of any triangulation of S. The Graham Scan finds the convex hull in O(n log n) [4]. Although optimal output-sensitive algorithms exist (such as Chan's) with a complexity of O(n log h), where h is the size of the output, the Graham scan suits our needs in this paper. Yang, Chu and Yu [5] proved that the mutual nearest neighbours in a graph are connected in the mwt(S); a pair of points are mutual nearest neighbours if they are their mutual closest point. Adding the edges between these points creates this graph. A simple approach yields the Mutual Nearest Neighbour 2 Graph in O(n ) by looking at every pair of vertices.p Finally, the circle-based definition of the so called β-skeleton is also a subgraph when β = 2 as shown by Keil [6]. 2.2. Existing Algorithms Numerous algorithms which look at triangulating a set of points with certain properties have been developed. An interesting approach was presented by Anagnostou and Corneil [7], which looks at the points as h nested convex sets of points, providing an algorithm with complexity bounded by O(n3h+1). Triangulating a set of points in general position however is a different matter. Cheng, Golin and Tsang [8] showed that if a subgraph of mwt(S) with k connected components is given, then the complete mwt(S) can be computed in O(nk+2). This however is not applicable to large sets of points, since the subgraphs presented are not in general connected even for small sets of points. The algorithm here studied is based on the dynamic programming used to create the min- imum weight triangulation of a convex polygon in O(n3). A similar approach was presented by Heath and Pemmaraj [9]; they created what they called a cell, a polygon with points within the polygon connected to the polygon vertices, and triangulated it. This algorithm also has a time complexity of O(n3) and creates a triangulation that is never worse than a greedy triangulation. Their study did not however make use of the mentioned subgaphs, and was only tested on small sets of up to 25 points. Here we will use a different approach to construct the cells and will test them on large sets of points, as well as running a local optimisation algorithm on the obtained triangulations. 2 3. Description of the Algorithms Used 3.1. Triangulation Algorithm Figure 1: Combined subgraphs for 100 points Figure 2: Resulting connected graph As mentioned above, the first step used in this study was to construct a subgraph of the problem, namely finding the convex hull, the mutual near- est graph and the β-skeleton of a set of points. For large sets of points, this produced graphs with a lot of components, so Cheng, Golin and Tsang's algorithm was not really practical (see Figure 1; for 100 points about 40 components exist). To overcome this, we then applied a greedy connec- tor to create a connected graph. This is where the approximation occurs, since the graph obtained is Figure 3: Labelled Graph not a subgraph of the mwt anymore (some of the edges added might not be present in the optimal graph). Figure 2 shows the resulting graph. Now we used a labelling of the vertices of the graph to turn it into a polygon with repeated edges, so to speak. As an example, Figure 3 to the right shows a graph and its vertices. Through our labelling, the graph will be thought of as a polygon with vertex sequence 0 1 3 7 4 7 6 9 2 9 6 7 8 5; that is some of the edges and vertices are repeated. This produces a polygon that we can then trian- gulate. The triangulation is in fact an adaptation of the convex polygon triangulation algorithm and uses dynamic programming; the algorithm trian- Figure 4: Final Triangulation gulates bigger and bigger portions of the polygon, \picking" the best triangulation in each case, until the whole polygon is triangulated. The resulting graph is shown in Figure 4. 3 3.2. Local Search Optimization In this study we also created a local search op- timization algorithm for a given triangulation. It consisted of two parts. First looked for all the convex quadrilaterals and polygons existing within the triangulation, using the algorithm presented by Dobkin, Edelsbrunner and Overmars [10]. We had to find whether the polygons found were present in the triangulation however, so that was our next step; as seen in Figure 5 the red pentagon is present in the triangulation whilst the purple one is not. The second step was to retriangulate the poly- Figure 5: Polygons of the set of vertices gons found and check if there was a local improve- ment. The best improvement was picked, the triangulation updated, and the algorithm run again. This was done until no improvement could be made to the solution. 4. Heuristics for MWTs 4.1. Pseudocode Next we present the pseudocode of the main part of our algorithm. The first algorithm, Connector, is a simple greedy algorithm; PolygonTriangulate is the adaptation of the con- vex polygon triangulation, and it uses a labelling and an edge input algorithm. Note the algorithms for the subgraphs can be found in the mentioned papers. Input: A graph of the set of points S Output: A connected graph of the set of points S Create queue of ordered edges by length not present in graph while Still available edges do Add FirstEdge to graph for Each Edge in queue do if Edge intersect FirstEdge then Remove Edge from queue end if end for end while Algorithm 1: Connector 4 Input: A counter of labels, the current point, the previous point Output: A linked list with the labels of the points of S if previous == 0, current == 1, counter!=1 then Reached the beginning again, stop return True end if for each point connected to current do if point!=previous then Add option end if end for Order options by clockwise angle of previous-current-point Label this point, counter++ for each option do labelling(counter,current,option) if labelling returned True then return True end if label this vertex, counter++ end for return False Algorithm

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us