An Algorithm for Strongly Connected Component Analysis in n log n Symbolic Steps

  title={An Algorithm for Strongly Connected Component Analysis in n log n Symbolic Steps},
  author={Roderick Bloem and Harold N. Gabow and F. Somenzi},
  journal={Formal Methods in System Design},
We present a symbolic algorithm for strongly connected component decomposition. The algorithm performs Θ(n log n) image and preimage computations in the worst case, where n is the number of nodes in the graph. This is an improvement over the previously known quadratic bound. The algorithm can be used to decide emptiness of Büchi automata with the same complexity bound, improving Emerson and Lei's quadratic bound, and emptiness of Streett automata, with a similar bound in terms of nodes. It also… 

Computing strongly connected components in a linear number of symbolic steps

An algorithm that computes in a linear number of symbolic steps the strongly connected components of a graph represented by an Ordered Binary Decision Diagram (OBDD) matches the complexity of Tarjan's algorithm operating on explicit data structures.

An efficient algorithm for computing bisimulation equivalence

Lower Bounds for Symbolic Computation on Graphs: Strongly Connected Components, Liveness, Safety, and Diameter

Lower bounds on the number of symbolic operations are given for basic graph problems such as the computation of the strongly connected components and of the approximate diameter as well as for fundamental problems in model checking such as safety, liveness, and co-liveness.

Antichains for the Automata-Based Approach to Model-Checking

The existence of simulation pre-orders that can be exploited to efficiently evaluate fixed points on the automata defined during the complementation step are established and the performance of the algorithm to check the universality of Buchi automata is evaluated using the random automaton model recently proposed by Tabakov and Vardi.

Symbolic Graphs: Linear Solutions to Connectivity Related Problems

A symbolic algorithmic strategy, based on the new notion of spine-set, that is general enough to be the engine of linear symbolic step algorithms for both strongly connected components and biconnected components is devised.

Is There a Best Symbolic Cycle-Detection Algorithm?

It is concluded that model checkers need to implement at least two generic cycle-detection algorithms: the traditional Emerson-Lei algorithm and one that evolved from this study, originally due to Hojati et al.

On the Complexity of Parity Word Automata

It is shown that the special structure of the acceptance condition of parity automata can be used in order to solve the nonemptiness problem directly, with a dynamic graph algorithm of complexity O((n + m) log k).

Rank-Based Symbolic Bisimulation (and Model Checking)

Analysis of Symbolic SCC Hull Algorithms

An early termination check is proposed that allows the Lockstep algorithm to detect the existence of a fair cycle before an entire SCC has been examined and has optimal complexity among those that can be derived from GSH.

On symbolic OBDD-based algorithms for the minimum spanning tree problem

  • B. Bollig
  • Computer Science, Mathematics
    Theor. Comput. Sci.
  • 2010



Graph-Based Algorithms for Boolean Function Manipulation

  • R. Bryant
  • Computer Science
    IEEE Transactions on Computers
  • 1986
Experimental results from applying a new data structure for representing Boolean functions and an associated set of manipulation algorithms to problems in logic design verification demonstrate the practicality of this approach.

Efficient omega-Regular Language Containment

A few generalpurpose operators on graphs are introduced and used to construct efficient algorithms for the product machine of the system and specification and fast special checks are applied to find bad cycles early on.

Depth-First Search and Linear Graph Algorithms

The value of depth-first search or “backtracking” as a technique for solving problems is illustrated by two examples. An improved version of an algorithm for finding the strongly connected components

A Comparative Study of Symbolic Algorithms for the Computation of Fair Cycles

A taxonomy of techniques for fair cycle detection is presented and it is indicated that the Emerson-Lei procedure is the fastest, but other algorithms tend to generate shorter counter-examples.

Faster Algorithms for the Nonemptiness of Streett Automata and for Communication Protocol Pruning

This paper shows how a general technique, called lock-step search, used in dynamic graph algorithms, can be used to improve the running time of two problems arising in program verification and

Implicit enumeration of strongly connected components

  • A. XieP. Beerel
  • Computer Science
    1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051)
  • 1999
This paper presents a binary decision diagram (BDD) based implicit algorithm to compute all maximal strongly connected components (SCCs) of directed graphs that dramatically outperforms the only existing implicit method which must compute the transitive closure of the adjacency matrix of the graphs.

Testing Language Containment for omega-Automata Using BDD's

Two new BDD-based language containment checks in COSPAN are implemented, one with a time advantage and the other with a space advantage, which have increased significantly the size of system models which can be verified.

Efficient Decision Procedures for Model Checking of Linear Time Logic Properties

The preliminary experimental results suggest that the new algorithm for LTL model checking is quite efficient, and for properties that can be expressed in both CTL and LTL, the algorithm is competitive with the CTL modelchecking algorithm.

Efficient generation of counterexamples and witnesses in symbolic model checking

An efficient algorithm to produce counter-examples and witnesses for symbolic model checking algorithms is described, used in the SMV model checker and works quite well in practice.

An On-Line Edge-Deletion Problem

An algorithm is presented which maintains a data structure in which each question is answered in constant time and for which the total time involved in answering q questions and maintaining the data structure is O(q + I VI) lED.