For the last 30 years many heuristic algorithms have been considered for approximation of polygonal curves. We can account about dozen of different heuristic approaches to the problem, and the number of algorithms exceeded one hundred items. In some extent, the existence of big amount and variety of the heuristic approximation algorithms can be explained by the variety o f tasks, curves types, and error measures in use. But more likely the real reason for existence of numerous approximation methods is low fidelity and/or efficiency of the proposed heuristic algorithms [224, 225], which leaves room for improvement.
Let us briefly consider the following approaches proposed for solving approximation problems. Some of the presented methods can be used for solving both problems, but some of the algorithms are designed for min-# or min-e problem only. With algorithm for one of the problems (min-# or min-e) we can get solution for alternative problem in O(logN) steps of binary search [37].
g) K-means method
Phillips and Rosenfeld [196] proposed k-means based clustering method to partition the contours into subsets of points such that each subset can be fitted by a straight line. They started with an initial partition and then evaluate the principal axis. In [304] three algorithms have been proposed based on Phillips and Rosenfeld approach for min-e problem with two error measures (L2 and L¥ ). A simpler line fitting method was used instead of the principal axis approach.
i) Genetic (evolutional) algorithms
Genetic algorithms [305-307, 116, 215, 63, 259, 270, 108, 312] are based on stochastic search, which simulates the biological model of evolution [93]. A population is set of chromosomes and an initial one is randomly generated. During each generation, the fitness (approximation error) of each chromosome is evaluated, and chromosomes are selected for reproduction based on their fitness values. Selection operator reproduces some chromosomes with smaller approximation error and eliminates chromosomes with bad approximation. The selected solutions the undergo reproduction under action of the crossover and mutation operations.
j) Ant colony optimization method
Ant Colony Optimization (ACO) is an optimization paradigm that mimics the exploration strategy of a colony of ants [67]: ants can construct the shortest path from their colony to the feeding source and back using pheromone trails. An ant leaves some quantities of pheromone on the ground and marks the path by a trail of this substances. The next ant choose path depending on the amount of pheromone on it and leaves its own pheromone. Vallone [277] considered min-e problem with maximum perimeter of polygon as an optimization criteria. Yin [308] considered min-# problem with error metrics L2, including approximation of closed contours.
k) Tabu search
Tabu search, developed by Glover [91], is one of the meta-heuristic methods that can be used to solve combinatorial optimization problems. It is different from the local search in the sense that tabu search allows moves to a new solution, which makes the objective function worse in hope that it will achieve a better solution in a longer term [Yin’00, Zhang-Guo’01].
l) Vertex adjustment method
The main idea of the vertex adjustment method is to improve preliminary result by a local search [44, 132, 153, 49, 311, 110, 173]. The local search can be applied to vertices successively (vertex-by-vertex) [132, 49], or simultaneously to all vertices using optimization technique [44, 153, 110]. Solution of the optimization task can be found by Viterbi algorithm for the shortest path in a graph [153] or by dynamic programming [44, 110, 173].
In [153], the adjustment of approximation points is performed by Viterbi algorithm for the shortest path in graph. The search is performed among 4-neigbours of the initial approximation points. This technique, however, can be extended to the case where approximation points belong the input curve only.
Chen et al. [44] studied min-eproblem for approximation by circular arcs and line segments they introduced modification to the dynamic programming algorithm for the problem in question. To reduce processing time, they search all possible combinations of the points that are within a given range with respect to an initial set of detected break points, instead of performing complete enumeration. The initial set of break points, {ui, i=1, 2, …, N}, is the solution obtained with heuristic algorithm for dominant (break) point detection [44]. The possible sets of solutions are generated by varying each ui within a range of (ui–h, ui+h), where h=3. Although this method has been proposed for approximation by circular arcs and lines, the approach can be applied in the case of piecewise linear approximation as well.
In [153] the adjustment of approximation points is performed by Viterbi algorithm for the shortest path in graph. The search is performed among 4-neigbours of the initial approximation points. However this technique can be extended to the case when approximation points belong to the input curve only.
Neumann and Teisseron [173] and Horng [110] used the same approach as Chen et al. [44] to reduce the processing time of dynamic programming algorithm. They performed search of the optimal location of approximation vertices within given range around the current position. Neumann and Teisseron defined the window where the dominant point can be located. Horng defined the window size as 1/3 of the number of the vertices in the curve segment between two correspondent dominant points. In both cases, the set of the initial approximation points {q1, …, qM+1} is defined by algorithms for the dominant points detection.
The classical algorithms are mostly based on heuristic methods or approaches. The fidelity of these algorithms is usually low [224] because the global optimization error is not subject to control during the process of the approximation. Some heuristic algorithms can be used as part of optimal algorithms. For example, the cone-intersection method was used in graph theory based algorithms to reduce the complexity of the graph construction procedure. Sallotti [230, 231] applied heuristic (Split) algorithm of Pavlidis [190] to estimate upper bound for approximation error to reduce A*-search in graph.
In optimization algorithms the approximation problem is considered as optimization task where the global approximation error is the main criterion to be controlled. The search of solution that provides minimal approximation error can be performed by stochastic optimization methods (as genetic algorithms and ant colony method) or by local optimization methods (as tabu search and vertex adjustment methods). The initial solution for starting the search can be obtained with some heuristic algorithm for approximation, or any random approximation can be used. Then the initial approximation (or approximations) is improved to find minimum of the global approximation error . Algorithms of this class can provide near-optimal or sometimes optimal results , but the global optimality cannot be guaranteed even in the case of iterative approaches.