What problem does it solve?
Identify and select the correct shortest-path algorithm for a given graph (directed/undirected, weighted/unweighted, with possible negative edges or cycles), and produce the required outputs (distances, predecessor trees, actual paths, or cycle witnesses) under a clear production contract.
Core Features & Use Cases
- Determine problem shape, weight semantics, and graph representation, choose the appropriate algorithm (unweighted BFS, DAG relaxation, Bellman-Ford, Dijkstra, Floyd-Warshall, Johnson, or transitive closure) and specify outputs.
- Provide production-ready output contracts for distances, paths, predecessor structures, and cycle witnesses, with explicit handling of negative cycles and unreachable nodes.
- Apply the CLRS-inspired relaxation and reweighting framework to justify algorithm choices and translate theory into a robust API contract or library interface.
Quick Start
Define the problem graph and constraints, select the matching shortest-path algorithm based on preconditions, and produce the distances, paths, and reconstruction metadata with clear safety contracts.