Shortest path problem

Related algorithms

Dijkstra algorithm

Dijkstra algorithm is a classic shortest path algorithm. The basic idea is to set a set S to store the vertices of the shortest path. The initial state of S only contains the source point v. For vi ∈ VS, it is assumed that the directed edge from the source point v to vi is the shortest path. Every time a shortest path v, …, vk is obtained in the future, vk is added to the set S, and the paths v, …, vk, vi are compared with the original hypothesis, the shorter path length is selected as the shortest path, and the above is repeated Process until all vertices in set V are added to set S. Use this algorithm to find the global optimal shortest path. When the number of network nodes is large and the number of network edges is large, there are disadvantages such as large memory usage and high time complexity, and the Dijkstra algorithm cannot solve the problem with necessary point constraints. The shortest path problem.

Ant Colony Algorithm

The Ant Colony Algorithm was first proposed by Dorigo, Maniezzo, and Colorni in 1991. It originated from the behavior of ants seeking food. Through research, it is found that ant individuals transmit information through a kind of pheromone called pheromone. The ant can sense the strength of the surrounding pheromone during walking and move towards the direction of high pheromone concentration. When an ant finds food, it will release the pheromone as a mark on the way back when it returns to the nest. , When the companion finds it, he will find food along this road. When multiple ants in their companions have found food but the path length is different, because the time required for the ants to go back and forth on a short path is relatively small, more and more ants have walked in a unit of time, and on this path The concentration of pheromone will be stronger, therefore, there will be more and more ants on the path, gradually choosing an optimal path.

Classification

It can be divided into two sub-problems, namely the single-source shortest path problem and the shortest path problem between all pairs of vertices. The former is to find the shortest path from a vertex to all other vertices in the graph, the main algorithm is Dixcher's algorithm, etc.; the latter is to find the shortest path between each pair of vertices in the graph, the main algorithm is Freud German algorithm and so on.

Applications

Communications

The continuous development of Internet technology and applications has continuously increased the requirements for today's network communication traffic. The transmission method with large flow, high speed and low cost is the key to network transmission. The network routing with the shortest path and lowest cost can greatly reduce communication costs, save network resources, and improve the utilization of network resources.

Transportation

The shortest path problem is the most basic problem in traffic distribution. It refers to the path with the smallest total impedance in the path between a pair of nodes. Almost all traffic flow distribution methods It is called repeatedly as a basic sub-procedure.

Related Articles
TOP