A nonenumerative algorithm to find the k longest (shortest) paths in a DAG
Fatih Kocan

TL;DR
This paper introduces a novel nonenumerative algorithm leveraging VSOP and ZBDDs to efficiently find the k longest or shortest paths in large DAGs without path enumeration, demonstrated on a complex circuit model.
Contribution
The paper presents a new nonenumerative algorithm based on VSOP and ZBDDs for efficiently finding k longest or shortest paths in large DAGs, avoiding path enumeration.
Findings
Successfully computed all paths in a DAG with ~10^{20} paths in 64 minutes.
The algorithm is especially useful for large k values due to its nonenumerative nature.
Demonstrated effectiveness on a complex circuit model.
Abstract
In this paper, we present a novel and efficient algorithm to find the k longest (shortest) paths between sources and sinks in a directed acyclic graph (DAG). The algorithm does not enumerate paths therefore it is especially useful for very large k values. It is based on the Valued-Sum-of-Product (VSOP) tool, which is an extension of Zero-suppressed Binary Decision Diagrams (ZBDDs). We assessed the performance of this algorithm with a DAG model of a path-intensive combinational circuit, viz. c6288, that has \sim10^{20} paths. We found that it took about 64 minutes to compute all paths in this DAG along with their lengths.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsVLSI and Analog Circuit Testing · VLSI and FPGA Design Techniques · Formal Methods in Verification
