Skip to content

Implement online algorithm for strongly-connected components #6

@taktoa

Description

@taktoa

It seems like it would be quite useful (e.g.: for implementing perfect sharing) to maintain the graph of strongly-connected components of a PEG/EPEG while we build up the graph. The current state of the art online algorithm for computation of strongly-connected components is described in A New Approach to Incremental Cycle Detection and Related Problems. Technically there are two algorithms described in that paper: one that has the best known complexity bound for sparse graphs and one that has the best bound for dense graphs. It seems likely to me that PEGs are mostly going to be sparse, though I may be underestimating the amount of sharing they have. Of course, in this regime I suspect the constant factors may matter more than the difference between an O(min(m^{3/2}, mn^{2/3})) algorithm and an O(n^2 log(n)) algorithm.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestperformanceThis issue is related to performance

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions