TL;DR: KReach is a full implementation of Kosaraju’s original 1982 decision procedure for reachability in VASS, and is believed to be the first implementation of its kind.
Abstract: We present KReach, a tool for deciding reachability in general Petri nets. The tool is a full implementation of Kosaraju’s original 1982 decision procedure for reachability in VASS. We believe this to be the first implementation of its kind. We include a comprehensive suite of libraries for development with Vector Addition Systems (with States) in the Haskell programming language. KReach serves as a practical tool, and acts as an effective teaching aid for the theory behind the algorithm. Preliminary tests suggest that there are some classes of Petri nets for which we can quickly show unreachability. In particular, using KReach for coverability problems, by reduction to reachability, is competitive even against state-of-the-art coverability checkers.
TL;DR: It is shown that the proposed systolic algorithm for finding bridges in an n-node connected graph is an improvement over the previously known algorithm on a n × n array of processing elements, as proposed by Attalah and Kosaraju.
Abstract: A new systolic algorithm for finding bridges in an n-node connected graph is proposed in this paper. The algorithm is executable on a n × n array of processing elements. It is shown that our algorithm is an improvement over the previously known algorithm for an n-node connected graph on a n × n array of processing elements, as proposed by Attalah and Kosaraju. The improvement both in area and time complexity is significant. Moreover, the control structure required for implementing the proposed algorithm on a systolic array is simpler.
TL;DR: An algorithm to find all bridges of an undirected graph on a mesh-connected processor array has the same complexity in terms of time and space as the best previous known algorithm, but has a significantly simpler structure and therefore, it gains a constant factor of about two in time.
Abstract: An algorithm to find all bridges of an undirected graph on a mesh-connected processor array is presented. Asymptotically it has the same complexity in terms of time and space as the best previous known algorithm, the one of Atallah and Kosaraju. But it has a significantly simpler structure and therefore, it gains a constant factor of about two in time.
TL;DR: A deterministic algorithm using O(min{k,log n}) queries and a randomized algorithm using expected O(k, log k+log log n) queries are presented and they are proved to prove matching lower bounds.
Abstract: We want to find the connected components of an unknown graph G with a known vertex set V. We learn about G by sending an oracle a query set S⊂V, and the oracle tells us the vertices connected to S. We want to use the minimum number of queries, adaptively, to find the components. The problem is also known as interconnect diagnosis of wiring networks in VLSI. The graph has n vertices and k components, but k is not part of the input. We present a deterministic algorithm using O(min{k,log n}) queries and a randomized algorithm using expected O(min{k, log k+log log n}) queries. We also prove matching lower bounds.
TL;DR: In this article, the Kosaraju algorithm has been for-malised in the Coq prover using the SSReflect extension, and it has been shown that it can be used to compute the strong-connected components of a directed graph.
Abstract: This notes explains how the Kosaraju's algorithm that computes the strong-connected components of a directed graph has been for-malised in the Coq prover using the SSReflect extension.