Skip to main navigation Skip to search Skip to main content

Reconfiguring Shortest Paths in Graphs

  • Kshitij Gajjar
  • , Agastya Vibhuti Jha
  • , Manish Kumar
  • , Abhiruk Lahiri

    Research output: Contribution to journalArticlepeer-review

    5 Scopus citations

    Abstract

    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.

    Original languageEnglish
    Pages (from-to)3309-3338
    Number of pages30
    JournalAlgorithmica
    Volume86
    Issue number10
    DOIs
    StatePublished - 1 Oct 2024

    UN SDGs

    This output contributes to the following UN Sustainable Development Goals (SDGs)

    1. SDG 11 - Sustainable Cities and Communities
      SDG 11 Sustainable Cities and Communities

    Keywords

    • Boolean hypercube
    • Bridged graph
    • Circle graph
    • Hardness of approximation
    • Line graph
    • PSPACE-complete
    • Reconfiguration
    • Shortest path

    ASJC Scopus subject areas

    • General Computer Science
    • Computer Science Applications
    • Applied Mathematics

    Fingerprint

    Dive into the research topics of 'Reconfiguring Shortest Paths in Graphs'. Together they form a unique fingerprint.

    Cite this