Optimal Triangulation Using an Evolutionary Algorithm

A triangulation of a point set in the plane is a maximal planar straight-line graph with the vertex set . In the Minimum Weight Triangulation (MWT) problem, we want to draw a triangulation of a given point set that minimizes the sum of the edges length. Recently, Mulzer and Rote have proved that this problem is NP-hard. In this paper, we present an evolutionary algorithm using Ant Colony Optimization to solve this problem.


Introduction
A triangulation of a set with n points in the plane is a maximal set of nonintersecting edges connecting the points in . A Minimum Weight Triangulation (MWT) of is a triangulation with minimum total edge length. Usually, a planar point set has many (exponentially) different triangulations. Note that an MWT needs not to be unique. In the late 70, some significant progresses were made in solving MWT problem, such as Greedy Triangulation and an approximation method using Delaunay Triangulation. It is known that many triangulation algorithms cannot solve the MWT problem correctly [1,2]. The MWT problem has been studied extensively in computational geometry and has applications in computer graphics. This problem has been applicable in cartography, spatial data analysis, and finite element methods. Some optimization criteria for optimal triangulation algorithms are known that include maximizing the minimum angle, minimizing the maximum angle, minimizing the maximum edge length, maximizing the minimum height. Polynomial time algorithms have been developed for determining those triangulations [3,4,5,6]. Some other documents discuss MWT and some other try to solve it approximately [7,8,9]. The MWT problem is known as NP-hard [10], and it is not solvable in polynomial time [11]. There is a coding for triangulations which takes advantages of Genetic Algorithm and Annealing Selection for the MWT problem [12].

Related works
The literature on the MWT problem is vast, but few significant progresses were made in solving MWT problem, such as well-known method named Greedy Triangulation, an approximation method using Delaunay Triangulation, and heuristic approach using Genetic Algorithm.
In the next subsection we briefly introduce the Minimum Weight Triangulation and Ant Colony Optimization (ACO).

Minimum Weight Triangulation
A triangulation of point set is a maximum set of edges with endpoints in S such that none of edges crosses each other. The set of edges in are said to triangulate . The weight of an edge refers to the Euclidean length of the edges. The weight of a triangulation is the total length of its edges. A Minimum Weight Triangulation of a point set is a triangulation with minimum weight. Figure 1 shows an example of such triangulations.

Previous Works
Finding a MWT of a finite point set is known to be NP-hard, so unsolvable in polynomial time. The MWT problem was first solved by a Greedy Algorithm which always adds the shortest possible edge to the triangulation [17]. Afterwards, Shamos and Hoey suggested using the Delaunay Triangulation as a Minimum Weight Triangulation [18]. Lloyd showed that in general the Delaunay Triangulation and the Greedy Triangulation are not the Minimum Weight Triangulations. In fact, the Delaunay Triangulation is times longer than the MWT [19] and the Greedy Triangulation approximates the MWT by a factor of [20]. There are some efficient algorithms that compute the MWT for restricted classes of point sets. For anvertex simple polygon, the algorithms in [13,14] independently gave a dynamic programming algorithm that computes the MWT in time. Anagnostou and Corneil gave an algorithm to compute the MWT of the vertex set of nested convex polygons in time [21]. Hoffmann and Okamoto showed how to obtain the MWT of a point set with inner points in time [22].
Some approaches to compute the MWT for point sets have used the method of finding set of edges that are subgraphs or supergraphs of the MWT. Gilbert showed that the shortest edge always belong to MWT [13]. Also, edges which join mutual nearest neighbors are in the MWT [23]. Trivial edges, which those are not intersected by any other edges and the convex hull of the point set, are subgraphs of the MWT, too. The -skeleton is also a subgraph of the MWT when . This subgraph usually contains a lot of disconnected component then in practice it cannot help much in computing the MWT [24]. The LMTskeleton usually generate more useful results than the -skeleton [25]. It uses that a MWT is locally minimal triangulation to generate a subgraph of the MWT.
On the other hand, the diamond test generates a supergraph of the MWT [26]. This eliminates all edges except a set of remaining candidate edges. In Section 2, we describe MWT problem and Ant Colony Optimization. In Section 3, we present an algorithm to solve the MWT using Ant Colony Optimization. Section 4, presents our experimental results. Section 5, presents our conclusions and future works.

Ant Colony Optimization
Ant algorithms were inspired by the observation of real ant colonies, which are approximate algorithms used to obtain good enough solutions to hard Combinatorial Optimization (CO) problems in a reasonable amount of computation time. CO is an optimization problem in which, given a finite set of solutions and an objective function that assigns a positive cost value to each of the solutions. In the case of approximate solution for an NP-hard problem, the goal is finding a good solution in a reasonable amount of time.
Ants are social insects, that they live in colonies and whose behavior is directed more to the survival of the colony. When searching for food, ants initially explore the area surrounding their nest in a random manner. An important and interesting behavior of ant colonies is their foraging behavior, in particular, how ants can find shortest paths between food sources and their nest.
While walking from food source to the nest and vice versa, ants deposit on the ground a substance called pheromone, the quantity of pheromone deposited, which may depend on the quantity and quality of the food. Ants can smell pheromone when choosing their way, and they tend to choose, in probability, paths marked by strong pheromone, the pheromone trail allows the ants to find their way back. Also, it can be used by other ants to find the location of the food source. The indirect communication between the ants via the pheromone trail allows them to find shortest paths between their nest and food sources. This functionality of real ant colonies is exploited in artificial ant colonies in order to solve optimization problems when the closed form optimization technique cannot be applied. In the ACO, the task of each artificial ant is the construction of a feasible solution of the problem and a colony of artificial ants cooperates in finding good solutions. Cooperation is a key design component of ACO algorithms.
Some differences between the behavior of the real ants and the behavior of the artificial ants in ACO algorithms are as follow:  Artificial ants update pheromone trails only after having generated a solution, but real ants deposit pheromone on the ground whenever they move.  While real ants cannot memorize any information, each artificial ant has a memory to maintain private information.  Artificial ants live in the discrete environment and in discrete time. The ant's memory can use to store useful construction information to compute optimal solution. Also, it can manage the feasibility of the solutions.
In ACO algorithms, a finite size colony of artificial ants with the above described characteristics collectively, searches for good solutions to the optimization problem. Each ant builds a solution or a component of it, starting from an initial state, selected according to the problem.
Characters of the ACO algorithms use the probabilistic model to generate the problem solutions under consideration. The probabilistic model is called the pheromone model. The pheromone model consists of a set of model parameters, which are called the pheromone trail parameters. The pheromone trail parameters have values, called pheromone values. At run-time, ACO algorithms try to update the pheromone values in such a way that the probability to generate high quality solutions increases over time.
The pheromone values are updated using previously generated solutions. The update aims to concentrate the search in regions of the search space containing high quality solutions. In particular, the reinforcement of solution components depending on the solution quality is an important ingredient of ACO algorithms. It implicitly assumes that good solutions consist of good solution components.
Furthermore, the ACO algorithms include a pheromone evaporation mechanism similar to real pheromone evaporation, modifies pheromone information over time. Pheromone evaporation allows the ant colony to slowly forget its past history so that it can direct its search towards new directions without being over-constrained by past decisions. Also, this mechanism avoids a rapid drift of all the ants towards the same part of the search space.
In general, the ACO approach tries to solve an optimization problem by iterating the following steps:  Constructing candidate solutions.  Updating pheromone values using the candidate solutions. ACO algorithms have been successfully applied to diverse combinatorial optimization problems such as TSP, Quadratic Assignment Problem (QAP), vehicle routing, telecommunication networks, graph coloring, constraint satisfaction, Hamiltonian graphs, scheduling, and so on [16].

Ant Colony Optimization and MWT
Actually, the MWT can be regarded as a combinatorial optimization problem and the Greedy Triangulation and the Delaunay Triangulation approximate MWT by a factor of point size, , which is not, closed enough to exact solution. Also, the optimal solution of the available heuristic algorithm based on Genetic Algorithm may be not optimal. The Ant Colony Optimization is better than the Genetic Algorithm in solving most of optimization problem such as Traveling Salesman Problem (TSP). In this section we propose an algorithm using this method to solve the MWT problem. The results of our simulations show that profits of our efforts. In the first subsection, we introduce the algorithm variables and in the next one, we present the ACO_MWT Algorithm.

Encoding Mechanism for Triangulation
Algorithm variables describe as follows: , means the inverse of the distance. , is the number of ants at each iteration. , is a coefficient that represents the percent of pheromone evaporation.
, represents the amount of pheromone available on edge . , represents the amount of pheromone that ant deposits on edge .
Adding new pheromone by ants and pheromone evaporation are implemented by the following equation: (1) where . We use an ant structure which contains attributes as follows: 1. , which is a Boolean variable that shows ant's living status. An ant may not be able to move to other nodes, so we set ant's attribute to and we don't trace the ant's behavior anymore. As a default for each ant, we assume that, ant's attribute to . 2.
, means that the ant can move from node to neighbor node .

2.2.
, means that the ant has already traversed this edge.

2.3.
, means that the ant cannot move from node to , because triangulation will be disturbed.

3.
, which is an integer variable with values between 1 to , represents the ant's location.
is a variable that represents next node that ant must move to it. and are parameters that control the relative weight of pheromone trails and heuristic values.

Algorithm
For a given point set in the plane, at the start of the algorithm, we draw a complete straight-line weighted graph using Euclidean distance. For all edges, , the pheromone values, , are all initialized to a constant value . Note that, we cannot start with pheromone values of 0, because this would lead to a division by zero in Equation 2.
The process of constructing solutions can be regarded as a walk on the fully connected graph whose vertices are the point set that we want to compute MWT on it.
At the start of each iteration, all ants are initially placed in start nodes. The task of each ant is the construction of a feasible triangulation of the given point set. Each ant tries to construct a solution as follow: each ant move from to another feasible neighbor node ( ). The ant chooses the with probability as in (2) Where is the feasible neighbor of node for ant .
In other words, ants try to avoid intersections. So, when no unvisited edge are faced the ant, , the ant cannot move to another node. In this case, the ant must be died, so we set property for ant to be . Otherwise, if we move the ant from the to the and we set to show that, this edge has already been seen in triangulation and this traversed edge is added to the solution under construction. Then we obtain edges which are intersected with edge and set the values of these edges in with 2 (These edges will not be seen in triangulation).
We move the live ants on the edges until they have completed their triangulation. Once, all ants have completed the construction of their solution, pheromone trails on the paths that are traversed with live ants update as Equation 1. Then we kill all the live ants and for starting a new loop make live ants (See ACO_MWT Algorithm).

ACO_MWT Algorithm
Input: a point set in the plane. Output: a good solution for MWT.

Experimental Results
As we show in examples, to evaluate our results of ACO_MWT compared them with exact MWT and Greedy Triangulation (GT) algorithm. Figure 2 shows the optimal solution of the proposal algorithm for point set with seven points is equivalent with MWT. In Figure 3 the point set is similar to a set of points introduced by Levcopoulos [27]. In this set of points computed triangulation with ACO_MWT is equal with exact MWT and weight of triangulation is 11427.477, but weight of triangulation that generated by GT is 13956.031. In nearly all samples our results are equal with exact MWT. As the figures show, there are many differences between triangulations that generated by GT and ACO_MWT. Whereas MWT is a problem with exponential time, our algorithm computes the good solution in a reasonable time using advantages of Ant Colony Optimization.

Conclusion and Future Works
The problem of computing an optimum triangulation with the minimum weight was a longstanding open problem in computational geometry. Recently, Mulzer and Rote have proved that this problem is NP-hard [10]. In this paper, we present a evolutionary algorithm using Ant Colony Optimization to solve this problem. One can solve this problem using other methods or use the results of this paper for some applications in computer graphics.