
New Video from @Computerphile Explores Hidden Complexities in Shortest Path Algorithms
In this video, the presenter shares a fascinating and somewhat surprising algorithmic anecdote about finding the shortest path in a graph. He starts with an apparently simple question: how to find the shortest path in a graph where there are only two possible paths on a Cartesian plane? This seemingly trivial question hides an unsuspected complexity. The presenter explains that to determine the shortest path between two points in a graph with only two possible paths, one must calculate the length of each path and compare them. This seems simple, but calculating the length of the paths involves square roots, which can result in irrational numbers. These irrational numbers have infinite decimal expansions, complicating the precise comparison of path lengths. The problem becomes even more complex when considering the precision required to compare these lengths. If the sums of the square roots of the two paths are very close, it may be necessary to calculate a huge number of decimals to determine which path is shorter. This raises a complex mathematical question: are there sums of square roots that are equal over a very large number of decimals before finally differing? No one knows the answer to this question, making the problem potentially very difficult to solve algorithmically. The presenter compares this problem to the SAT (Satisfiability Problem), a well-known decision problem in theoretical computer science. The SAT problem is notoriously difficult, and it turns out that the problem of finding the shortest path in this particular context could be just as difficult, if not impossible to solve efficiently. This contrasts sharply with classical pathfinding algorithms, such as Dijkstra's algorithm, which are generally considered easy and efficient. The humor of the situation lies in the fact that what seems to be a simple and trivial algorithmic problem turns out to be extremely complex when examined closely. This video illustrates well how seemingly simple problems can hide deep mathematical complexities and unsuspected algorithmic challenges. In conclusion, this video offers an interesting perspective on the algorithmic and mathematical challenges hidden behind apparently simple problems. It also shows the importance of rigorous algorithmic analysis and underlying mathematics in solving computational problems.