# Solution to Shortest Path Problem Using a Connective Probe Machine.

1. Introduction

Traffic engineering is the basic theory of the research and development of traffic engineering discipline. Its main purpose is to seek the transportation system planning, construction and management scheme with the largest travel efficiency, the least traffic accidents, the fastest traffic speed, the least transportation cost, and the lowest energy consumption. The rapid development of urban traffic and increase in the number of vehicles has made travelling more convenient for people in recent years. However, urban traffic is not smooth due to the numerous traffic network nodes and complex sections; some cities suffer from traffic congestion [1, 2]. Finding a suitable path for drivers is not only one of the solutions to promote the development of urban transportation [3-5], but also one of the main purposes in traffic engineering research. Therefore, we must address this issue by determining the shortest path. In traffic engineering, "shortest path" does not necessarily mean the shortest distance, but also the shortest time or the lowest cost.

The shortest path problem is a classical problem in graph theory, which has been applied in many fields [6]. Finding the path with the shortest distance is the most basic application of the shortest path problem, which is also a very practical problem. The basic objective of the shortest path problem is to find the path, with the lowest weight, between two points where every edge in the graph has its own weight value. Many algorithms to solve the shortest path problem have been proposed in previous studies, such as Dijkstra's algorithm [7], Bellman-Ford algorithm [8], and Floyd's algorithm [9]. The most classical algorithm for solving such a problem is Dijkstra's algorithm. It can solve the shortest path problem from a given point to any point; however, it fails to solve the shortest path problem with a negative weight. Therefore, Floyd's algorithm and other algorithms were proposed to solve the above problem.

In 2016, Xu proposed a new computing model, i.e., the probe machine [10]. Probe machine is a completely parallel computing model that can simultaneously process multiple pairs of data. Parallel computing can speed up operations, expand the scale of processing problems, and facilitate the ability of algorithms to handle problems [11, 12]. Compared with turing machines, probe machines can solve NP-complete problems after a probe operation, such as the Hamiltonian cycle problem [10], vertex problem [10], travelling salesman problem [13], working operation problem [14], and so on. The probes of a probe machine can be divided into connective probes and transitive probes. A connective probe can connect data fibers from different data, while a transitive probe can transmit information between data fibers from different data. The probe machine is a form of bionic computing. It achieves complete parallelism by imitating the process of information transmission of neurons and reduces computation complexity.

Bionic computing refers to the use of biological models to deal with practical problems, and it can often yield unexpected results in some fields [15, 16]. In recent studies, more computational models are used to solve all kinds of NP problems, such as SAT problem [17-21], vehicle routing problem [22-24], graph coloring problem [10, 25, 26], partner selection problem [27], and the other problems [28-33].

In this study, we first introduce a probe machine. Then, a shortest path problem, which is a problem of finding the path with the minimum distance, is solved by using Dijkstra's algorithm, Floyd's algorithm, and probe machine; the process using the three methods is then compared.

2. Probe Machine

The probe machine was first proposed by Professor Xu in 2016. It consists of nine parts including data library (X), probe library (Y), data controller ([sigma]1), probe controller ([[sigma].sub.2]), probe operation ([tau]), computing platform ([lambda]), detector ([eta]), true solution storage (Q), and residue collector (C).

The data placement mode of the data library is nonlinear. The data library is divided into n data pools [X.sub.1], [X.sub.2], ..., [X.sub.n]. Data pool [X.sub.i] includes one type of data [x.sub.i], and data [x.sub.i] comprises a body and [p.sub.i] data fibers, as shown in Figure 1.

There are two types of probes in a probe machine, namely, connective probe and transitive probe. A connective probe can connect different data fibers from different data, and a transitive probe can transfer information from the source fiber to a destination fiber. In this study, the connective probe is used to solve the shortest path problem. The set of all probes between two data pools constitutes the probe pool; the probe library is a set of all probe pools, as shown in Figure 2. The data controller and probe controller add the corresponding data and probes into the computing platform, respectively. After the probe operation, the resulting aggregation is detected by a detector. The resulting true solution is put into the true solution storage. The residue is put into the residue collection, which decomposes it into basic data and returns it to the data pool, as shown in Figure 2.

3. Solving the Shortest Path Problem

In this study, an example of a directed graph is considered, as shown in Figure 3. The points on the graph are represented by [v.sub.1], [v.sub.2], [v.sub.3], [v.sub.4], [v.sub.5], [v.sub.6], [v.sub.7], [v.sub.8], [v.sub.9]; the distance from vi to [v.sub.j] is represented by [v.sub.ij]. The shortest path from [v.sub.1] to [v.sub.8] is obtained. We will use Dijkstra's algorithm, Floyd's algorithm, and probe machine to solve the shortest path problem.

3.1. Solving the Shortest Path Problem Using Dijkstra's Algorithm. P represents the distance from the starting point to point [v.sub.i], and T refers to the previous point in the shortest path. [S.sub.i] represents the set of points that have p mark in step i.

(1) i = 0, [S.sub.0] = {[v.sub.1]}, P([v.sub.1]) = 0, [lambda]([v.sub.1]) = 0, T([v.sub.i]) = +[infinity], [lambda]([v.sub.i]) = M, (i = 2, 3, ..., 9)

Because [v.sub.2] [not member of] [S.sub.0], P([v.sub.1]) + [w.sub.12] < T([v.sub.2]), let T([v.sub.2]) = P([v.sub.1]) + [w.sub.12] = 6, [lambda]([v.sub.2]) = 1; Similarly, T([v.sub.3]) = P([v.sub.1]) + [w.sub.13] = 3, [lambda]([v.sub.3]) = 1; T([v.sub.4]) = P([v.sub.1]) + [w.sub.14] = 1, [lambda]([v.sub.4]) = 1. T([v.sub.4]) = min{T([v.sub.2]), T([v.sub.3]), T([v.sub.4])}, so, let P([v.sub.4]) = 1, [S.sub.1] = {[v.sub.1], [v.sub.4]}, k = 4.

(2) i = 1, let T([v.sub.6]) = P([v.sub.6]) + [w.sub.46] = 11, [lambda]([v.sub.6]) = 4;

T([v.sub.3]) = min{T([v.sub.2]), T([v.sub.3]), T([v.sub.6])}, so, let P([v.sub.3]) = 3, [S.sub.2] = {[v.sub.1], [v.sub.4], [v.sub.3]}, k = 3.

(3) i = 2, let T([v.sub.6]) = P([v.sub.6]) + [w.sub.46] = 11, [lambda]([v.sub.2]) = 3;

T([v.sub.2]) = min{T([v.sub.2]), T([v.sub.6])}, so, let P([v.sub.2]) = 5, [S.sub.3] = {[v.sub.1], [v.sub.4], [v.sub.3], [v.sub.2]}, k = 2.

(4) i = 3, let T([v.sub.5]) = P([v.sub.2]) + [w.sub.25] = 6, [lambda]([v.sub.5]) = 2;

T([v.sub.5]) = min{T([v.sub.5]), T([v.sub.6])}, so, let P([v.sub.5]) = 6, [S.sub.4] = {[v.sub.1], [v.sub.4], [v.sub.3], [v.sub.2], [v.sub.5]}, k = 5.

(5) i = 4, let T([v.sub.6]) = P([v.sub.5]) + [w.sub.56] = 10, [lambda]([v.sub.6]) = 5,

T([v.sub.7]) = P([v.sub.7]) + [w.sub.57] = 9, [lambda]([v.sub.7]) = 5, T([v.sub.8]) = P([v.sub.5]) + [w.sub.58] = 12, [lambda]([v.sub.8]) = 5, T([v.sub.9]) = P([v.sub.5]) + [w.sub.59] = 8, [lambda]([v.sub.9]) = 5, T([v.sub.9]) = min{T([v.sub.6]), T([v.sub.7]), T([v.sub.8]), T([v.sub.9])}, so, let P([v.sub.9]) = 8, [S.sub.5] = {[v.sub.1], [v.sub.4], [v.sub.3], [v.sub.2], [v.sub.5], [v.sub.9]}, k = 9.

(6) i = 5, let T([v.sub.8]) = P([v.sub.9]) + [w.sub.98] = 12, [lambda]([v.sub.8]) = 5;

T([v.sub.7]) = min{T([v.sub.6]), T([v.sub.7]), T([v.sub.8])}, so, let P([v.sub.7]) = 9, [S.sub.6] = {[v.sub.1], [v.sub.4], [v.sub.3], [v.sub.2], [v.sub.5], [v.sub.9], [v.sub.7]}, k = 7.

(7) i = 6, T([v.sub.6]) = min{T([v.sub.6]), T([v.sub.8])},

so, let P([v.sub.6]) = 9, [S.sub.7] = {[v.sub.1], [v.sub.4], [v.sub.3], [v.sub.2], [v.sub.5], [v.sub.9], [v.sub.7], [v.sub.6]}, k = 6.

(8) i = 7, let P([v.sub.8]) = 11, [S.sub.8] = {[v.sub.1], [v.sub.4], [v.sub.3], [v.sub.2], [v.sub.5], [v.sub.9], [v.sub.7], [v.sub.6], [v.sub.8]}, k = 8.

So, the shortest path from [v.sub.1] to [v.sub.8] is [v.sub.1] [right arrow] [v.sub.3] [right arrow] [v.sub.2] [right arrow] [v.sub.5] [right arrow] [v.sub.9] [right arrow] [v.sub.8], as shown in Figure 4.

3.2. Solving the Shortest Path Problem Using Floyd's Algorithm. According to the graph, the adjacency matrix of the graph is as follows:

[mathematical expression not reproducible]. (1)

Step 1: taking [v.sub.2] as the intermediary point and updating the matrix,

[mathematical expression not reproducible]. (2)

Step 2: taking [v.sub.3] as the intermediary point and updating the matrix,

[mathematical expression not reproducible]. (3)

Step 3: taking [v.sub.4] as the intermediary point and updating the matrix,

[mathematical expression not reproducible]. (4)

Step 4: taking [v.sub.5] as the intermediary point and updating the matrix,

[mathematical expression not reproducible]. (5)

Step 5: taking [v.sub.6] as the intermediary point and updating the matrix,

[mathematical expression not reproducible]. (6)

Step 6: taking [v.sub.7] as the intermediary point and updating the matrix,

[mathematical expression not reproducible]. (7)

Step 7: taking [v.sub.9] as the intermediary point and updating the matrix,

[mathematical expression not reproducible]. (8)

Thus, the shortest path from [v.sub.1] to [v.sub.8] is [v.sub.1] [right arrow] [v.sub.3] [right arrow] [v.sub.2] [right arrow] [v.sub.5] [right arrow] [v.sub.9] [right arrow] [v.sub.8].

3.3. Solving the Shortest Path Problem Using the Probe Machine. The probe machine solves the shortest path problem as follows.

[mathematical expression not reproducible]. (9)

[E.sup.2]([v.sub.i]) is the data pool of [v.sub.i], and [E.sup.2]([v.sub.i]) is a set of two long paths centered around [v.sub.i]. The two long paths are denoted as [v.sub.ilj], and i, l, j are different from each other. At the same time, because this problem is a directed graph, each path has one data fiber. The data library is as follows:

[mathematical expression not reproducible]. (10)

The data fibers are as follows:

[mathematical expression not reproducible]. (11)

3.3.2. Probe Library Construction. In order to avoid arbitrary data aggregation, if there is a probe between data [v.sub.ilj] and [v.sub.tab], one of the following two conditions need to be met:

(1) [absolute value of ({i, l, j} [intersection] {t, a, b})] = [absolute value of ({l, j} [intersection] {a, b})] = 1,

(2) t [member of] {l, j}, i [member of] {a, b}, [absolute value of ({l, j} [intersection] {a, b})] = 0. (12)

At the same time, without loss of generality, because this is a directed graph, the direction of the probe needs to be same as the direction of the edge. The probe library established is as follows:

[mathematical expression not reproducible]. (13)

3.3.3. Probe Operation. The data controller and probe controller are used to extract the corresponding amount of data and probes from the data library and probe library and add them to the computing platform. After the probe operation, all possible solutions to the problem are obtained. -rough the detector, the optimal solution is output as follows:

[v.sub.1] [right arrow] [v.sub.3] [right arrow] [v.sub.2] [right arrow] [v.sub.5] [right arrow] [v.sub.9] [right arrow] [v.sub.8]. (14)

4. Results and Discussion

Although all three methods can solve the shortest path problem and obtain the same solution, there are some obvious differences in the solving process and computing efficiency. Dijkstra's algorithm is based on the breadth-first search algorithm, which calculates the shortest path from the starting point to all other points. The calculation step of Dijkstra's algorithm is to expand from the starting point to the layer by layer. Floyd's algorithm is based on dynamic programming algorithm to find the shortest path between any two points in the graph. The first step of Floyd's algorithm is to find the adjacency matrix of the graph, and the second step is to update the adjacency matrix by taking each point as the intermediate point. And, the solution process of the probe machine is mainly divided into two steps: the first step is to build the data library and the probe library, and the second step is to get all possible solutions through the probe operation. It can be seen from the solution process that each step of Dijkstra's algorithm and the Floyd algorithm is part of solving the shortest path problem, but the real solution process of the probe machine is only probe operation. The purpose of the remaining steps of the probe machine is to prepare for the probe operation or to screen the solution calculated by the probe operation. This phenomenon should be attributed to the way of storing data. When the Dijkstra algorithm and the Floyd algorithm are used, the linear data placement mode and the sequential data processing mode are taken, so the solution process needs to be performed step by step; however, in the probe machine, a nonlinear data storage method is adopted, so the probe machine can simultaneously process multiple pairs of data. In other words, the probe machine is a completely parallel computational model, which is the biggest difference between the probe machine and other computing models.

Moreover, Dijkstra's and Floyd's algorithms are only used to deal with problems in graph theory. The probe machine is a completely parallel computing model, which can also get the true solution after one probe operation when solving NP-complete problems. Although we only use the probe machine to deal with the shortest path problem in this paper, we can see the powerful computing power of the probe machine through the solving process.

5. Conclusion

In urban traffic planning, the shortest path problem is a very basic problem. In this study, a probe machine was used to solve this problem. It can solve complex traffic problems after a single probe operation, which improves the efficiency and shortens the time required for solving traffic planning problems. When dealing with actual traffic problems, the speed at which a probe machine solves them is much higher than the speed of other models. A probe machine has high computing power; however, it is still a new concept. It has several shortcomings and needs to be improved further to handle specific problems. For example, when dealing with complex traffic problems, complex data and probe libraries need to be constructed. The process of constructing these libraries cannot be completely replaced by a probe machine or computer. The more complex the problem to be solved is, the more difficult it becomes to construct data library and probe library. In the future, we will continue to study the probe machine and attempt to improve it.

https://doi.org/10.1155/2019/8709042

Data Availability

The data used to support the findings of this study are included within the article.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Acknowledgments

This work was supported by the National Natural Science Foundation of China (grant nos. 61602188 and 11975143), Shandong Provincial Natural Science Foundation (grant no. ZR2019QD018), and Scientific Research Foundation of Shandong University of Science and Technology for Recruited Talents (grant nos. 2017RCJJ068 and 2017RCJJ069).

References

[1] A. Lozano and G. Storchi, "Shortest viable path algorithm in multimodal networks," Transportation Research Part A: Policy and Practice, vol. 35, no. 3, pp. 225-241, 2001.

[2] B. Bullnheimer, R. F. Hartl, and C. Strauss, "An improved ant system algorithm for the vehicle routing problem," Annals of Operations Research, vol. 89, pp. 319-328, 1999.

[3] L. Feng, Z. Chenghu, and W. Qing, "An optimum vehicular path algorithm for traffic network based on hierarchical spatial reasoning," Geo-spatial Information Science, vol. 3, no. 4, pp. 36-42, 2000.

[4] K. Zhou, S.-W. He, R. Song, and L.-Y. Cheng, "Multiobjective optimization method of public transit networks based on travel behavior," Journal of Highway and Transportation Research and Development (English Edition), vol. 9, no. 4, pp. 71-77, 2015.

[5] L. Adacher, G. Oliva, and F. Pascucci, "Decentralized route guidance architectures with user preferences in urban transportation networks," Procedia-Social and Behavioral Sciences, vol. 111, pp. 1054-1062, 2014.

[6] S. Pallottino, "Shortest-path methods: complexity, interrelations and new propositions," Networks, vol. 14, no. 2, pp. 257-267, 1984.

[7] E. W. Dijkstra, "A note on two problems in connexion with graphs," Numerische Mathematik, vol. 1, no. 1, pp. 269-271, 1959.

[8] R. Bellman, "On a routing problem," Quarterly of Applied Mathematics, vol. 16, no. 1, pp. 87-90, 1958.

[9] R. W. Floyd, "Algorithm 97: shortest path," Communications of the ACM, vol. 5, no. 6, p. 345, 1962.

[10] J. Xu, "Probe machine," IEEE Transactions on Neural Networks and Learning Systems, vol. 27, no. 7, pp. 1405-1416, 2016.

[11] C.-Y. Han, F.-Y. Zheng, T.-D. Guo, and G.-P. He, "Parallel algorithms for large-scale linearly constrained minimization problem," Acta Mathematicae Applicatae Sinica, English Series, vol. 30, no. 3, pp. 707-720, 2014.

[12] B. Y. Guo, H. H. Dong, and Y. Fang, "Lump solutions and interaction solutions for the dimensionally reduced nonlinear evolution equation," Complexity, vol. 2019, Article ID 5765061, 9 pages, 2019.

[13] S. Sha and Y. Chen, "Probe model for solving travelling salesman problem," Journal of Huaibei Normal University (Natural Science), vol. 37, pp. 36-39, 2016.

[14] J. Yang and Z. Yin, "The working operation problem based on probe machine model," in Bio-Inspired Computing: Theories and Applications, pp. 47-53, Springer, Singapore, 2016.

[15] Y. Fang, H. Dong, Y. Hou, and Y. Kong, "Frobenius integrable decompositions of nonlinear evolution equations with modified term," Applied Mathematics and Computation, vol. 226, pp. 435-440, 2014.

[16] Y. Lin, H. Dong, and Y. Fang, "N-soliton solutions for the NLS-like equation and perturbation theory based on the riemann-Hilbert problem," Symmetry, vol. 11, no. 6, p. 826, 2019.

[17] T.-O. Ishdorj, A. Leporati, L. Pan, X. Zeng, and X. Zhang, "Deterministic solutions to QSAT and Q3SAT by spiking neural P systems with pre-computed resources," Theoretical Computer Science, vol. 411, no. 25, pp. 2345-2358, 2010.

[18] B. Song, T. Song, and L. Pan, "Time-free solution to SAT problem by P systems with active membranes and standard cell division rules," Natural Computing, vol. 14, no. 4, pp. 673-681, 2015.

[19] B. Song, M. J. Perez-Jimenez, and L. Pan, "An efficient time-free solution to SAT problem by P systems with proteins on membranes," Journal of Computer and System Sciences, vol. 82, no. 6, pp. 1090-1099, 2016.

[20] Y. Kong and Y. Fang, "On behavior of the correction equations in Jacobi-Davidson method," Mathematical Problems in Engineering, vol. 2019, Article ID 5169362, 4 pages, 2019.

[21] B. Song and Y. Kong, "Solution to PSPACE-complete problem using P systems with active membranes with time-freeness," Mathematical Problems in Engineering, vol. 2019, Article ID 5793234, 8 pages, 2019.

[22] W. Y. Szeto, Y. Wu, and S. C. Ho, "An artificial bee colony algorithm for the capacitated vehicle routing problem," European Journal of Operational Research, vol. 215, no. 1, pp. 126-135, 2011.

[23] T. Vidal, T. G. Crainic, M. Gendreau, N. Lahrichi, and W. Rei, "A hybrid genetic algorithm for multidepot and periodic vehicle routing problems," Operations Research, vol. 60, no. 3, pp. 611-624, 2012.

[24] K. Dorling, J. Heinrichs, G. G. Messier, and S. Magierowski, "Vehicle routing problems for drone delivery," IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 47, no. 1, pp. 70-85, 2017.

[25] Z. Shao and A. Vesel, "Modeling the packing coloring problem of graphs," Applied Mathematical Modelling, vol. 39, no. 13, pp. 3588-3595, 2015.

[26] L. A. Levin and R. Venkatesan, "An average case NP-complete graph colouring problem," Combinatorics, Probability and Computing, vol. 27, no. 5, pp. 808-828, 2018.

[27] J.-Y. Chen, D. M.-H. Chiang, and R.-S. Guo, "Partner selection model for design chain collaboration," International Journal of Production Research, vol. 51, no. 4, pp. 1131-1145, 2013.

[28] D. Bienstock and G. Munoz, "LP formulations for polynomial optimization problems," SIAM Journal on Optimization, vol. 28, no. 2, pp. 1121-1150, 2018.

[29] T. Song, S. Pang, S. Hao, A. Rodriguez-Paton, and P. Zheng, "A parallel image skeletonizing method using spiking neural P systems with weights," Neural Processing Letters, vol. 50, no. 2, pp. 1485-1502, 2018.

[30] T. Song, X. Zeng, P. Zheng, M. Jiang, and A. Rodriguez-Paton, "A parallel workflow pattern modeling using spiking neural P systems with colored spikes," IEEE Transactions on Nano-Bioscience, vol. 17, no. 4, pp. 474-484, 2018.

[31] T. Song, X. Wang, X. Li, and P. Zheng, "A programming triangular DNA origami for doxorubicin loading and delivering to target ovarian cancer cells," Oncotarget, 2018.

[32] G. K. Wu, Y. Q. Liang, and S. H. Xu, "Numerical computational modeling of random rough sea surface based on JONSWAP spectrum and Donelan directional function," Concurrency and Computation: Practice and Experience, p. e5514, 2019.

[33] D. Ghosh, A. Singh, K. K. Shukla, and K. Manchanda, "Extended Karush-Kuhn-Tucker condition for constrained interval optimization problems and its application in support vector machines," Information Sciences, vol. 504, pp. 276-292, 2019.

Jiuyun Sun, Huanhe Dong [ID], Yuan Kong [ID], and Yong Fang [ID]

College of Mathematics and Systems Science, Shandong University of Science and Technology, Qingdao 266590, China

Correspondence should be addressed to Yuan Kong; kongyuan@sdust.edu.cn and Yong Fang; fangyong@sdust.edu.cn

Received 23 June 2019; Revised 16 September 2019; Accepted 22 October 2019; Published 7 November 2019

Caption: Figure 1: Data library [10].

Caption: Figure 2: Connective probe machine [10].

Caption: Figure 3: Shortest path problem.

Caption: Figure 4: The shortest path.