The difference between a branch and a border (+ extended list) and Dijkstra's algorithm on graphs

I worked through http://youtu.be/gGQ-vAmdAOI?t=23m14s , when at 23:14 I felt that the branch and the associated with the "extended list" were very similar to Dijkstra's Algorithm. Later in the lecture, when the algorithm is again extended with valid heuristics, we get A *.

This made me think that Dijkstra's algorithm is the most subclass of branches and borders. Is it correct?


To summarize the lecture:

The search algorithms are investigated. In particular, they start with a simple solution to branches and borders:

Until the destination node is visited (expanded), find the node with the shortest distance from the source and add its successors to the priority queue for visiting the nodes (sorted by minimum distance). This still does not detect loops (for example, visits nodes more than once) and is quite inefficient due to a combinatorial explosion.

A simple extension makes the algorithm work much better: remember which nodes have already been visited (extended, therefore, the list of extensions). Now there is no node, and the algorithm works much better.

In the last part, a valid heuristic is added to the mix to get A *.

I hope this is enough, and I do not need to copy the examples from the lecture. If it is not, let me know and I will do it!

+4
2

, . , , ( ).

+3

, , , . "extended list", , value = n.

, , value < n, "extended list" BnB, Djikstra. -, , , Djikstra.

+1

Source: https://habr.com/ru/post/1568781/


All Articles