# Algorithm Based on Morphological Operators for Shortness Path Planning
## 3 Experimental Analysis and Results
### Results
(i) Approaches based on structured spaces (grid spaces); (ii) approaches based on non-structured approaches, which establish the upper bound limits to avoid falling into a combinatorial growing space. Therefore, these approaches based on grid spaces become limited in the searching space, with an advantage for (ii) approaches that denote more complicated working spaces. \begin{table}
\begin{tabular}{p{113.8 pt} p{113.8 pt} p{113.8 pt} p{113.8 pt} p{113.8 pt}} \hline \hline
**Approach** & **Workspace** & **Complexity** & **Weighted** & **Remarks** \\ \hline Dijkstra with referenced graph [10] & Graph & \(O(mn+n\log n)\) & Yes & An algorithm based on reducing the search space using the information of the most common route taken by users. \\ \hline Node mixing approach [40] & Grid & \(O(n^{2})\) & Yes & The approach uses the information of a simplified matrix, starting from previously visited nodes, weighting those nodes that are most representative. \\ \hline Dijkstra enhancement [41] & Graph & \(O(m+D_{\text{max}}\log(n!))\) & Yes & Dijkstra enhancement algorithm setting an upper bound connection criterion (\(D_{\text{max}}\)) in a huge spare net. \\ \hline Dijkstra enhancement [4] & Graph & \(O((m+n)\log n)\) & Yes & Local search into adjacent node sorting under connectivity criteria and weight cost, reducing the Dijkstra search space. The sorting criterion introduces the priority and computability feasibility of the possible path. \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Approaches to computing the best path trajectory. Figure 5: Map encoding process: (**a**) geographical binary map layer; (**b**) built graph connection; (**c**) computation of distance transformation; and (**d**) detection of maximum zones. In (2), the feature reduces the search space to improve the computability and tractability. However, it might bring further complexity associated with the segmentation of the searching space, such that, in some cases, it might considerably increase the total complexity. Particular cases include hybrid approaches [45; 46; 47] or mixture approaches [6; 43; 48], which include additional constraints to make the searching space more tractable. The above approaches only reduce the searching space, without contributing to the computation of the trajectory. In (3), the feature, without loss of generality, uses a Dijkstra-like algorithm [49; 50; 51; 52] at the end to compute the best trajectory. In other words, the foundations and method used to finally locate the best trajectory rely on a variation of the Dijkstra algorithm [53]. An extensive comparison with the Dijkstra algorithm is beneficial because our proposal offers an alternative theoretical framework to deal with this problem. To compare our proposal with the Dijkstra algorithm [54], we perform a complexity analysis of both approaches. The complexity of the algorithm is summarized in Equation (11). \[O(|V|^{2}+|A|)=O(|V|^{2}), \tag{11}\]  
where \(V\) is the set of vertices and \(A\) is the set of arcs. This complexity refers to the basic algorithm without a priority queue. Several authors denote the computational complexity as \(O(|A|log|V|)\)[54] when using a priority queue. This complexity is incomplete because it lacks the additional complexity associated with the priority queue building. The morphological approach has complexity defined by Equation (9), where \(\tau,\,o^{*},\,\lambda,\) and \(k\) are constant values. The \(k\) parameter takes values in the worst case \(|x^{*}|\), where \(x^{*}\) is the number of vertices. The \(\tau\) and \(o^{*}\) parameters adopt small values. For simplicity, both are rewritten as a constant value \(c_{1}\). Finally, the \(\lambda\) parameter represents the neighborhood expressed by the structural element. We assume a constant complexity for path generation for \(O(|N|)=c_{2}\), and in the worst case, \(O(|M_{x_{0}}|)\) has a frequency of \(|x^{*}|\). We rewrite the complexity equation as  
\[O(c_{1}|x^{*}|^{2}\times\lambda)+c_{2}\times|x^{*}|=O(c_{1}|x^{*}|^{2}\times \lambda). \tag{12}\]