Reconfiguring Shortest Paths in Graphs - Gajjar, Kshitij; Jha, Agastya Vibhuti; Kumar, Manish; Lahiri, Abhiruk (Algorithmica, 2024)
Reconfiguring two shortest paths in a graph means modifying one shortest path to the other by changing one vertex at a time so that all the intermediate paths are also shortest paths. This problem has several natural applications, namely: (a) repaving road networks, (b) rerouting data packets in a synchronous multiprocessing setting, (c) the shipping container stowage problem, and (d) the train marshalling problem. When modelled as graph problems, (a) is the most general case while (b), (c), (d) are restrictions to different graph classes. We show that (a) does not admit polynomial-time algorithms (assuming P ≠ NP ), even for relaxed variants of the problem (assuming P ≠ PSPACE ). For (b), (c), (d), we present polynomial-time algorithms to solve the respective problems. We also generalize the problem to when at most k (for a fixed integer k ≥ 2 ) contiguous vertices on a shortest path can be changed at a time.