Bidirectional Dijkstra

BIDIRECTIONAL
DIJKSTRA
Navid adham
History
• Dijkstra: 1959
• Dantzig method: 1960
• “On the shortest route through a network” / management science
• Just an idea!
• Berge and Ghouila-Houri: 1962
• Incorrect stopping criterion
• Dreyfus: 1969
• Correct stopping
• A bug in algorithm
• Helgason and Kennington and Stewart
• Dijkstra’s two-tree shortest path algorithm
Dijkstra
Network flow
Network flow
Bidirectional
Book exercises
• Proof: the dijkstra algorithm find shortest path to all node
Bidirectional
Proof
Detail
Detail
Detail
Implementation
Implementation
Sample
Summary
• On 80 problems containing 2000 nodes and 2,000,000
edges.
• Classical Dijkstra: required a scan over approximately:
50% of the problem nodes.
• 7.5 seconds/problem
• The two-tree: only required a scan over: 6% of the
problem nodes
• 1.7 seconds/problem