Strongly Connected Components

Building on the work of Ward importing, and merging, graphs from arrow; here we take a look algorithms for find strongly connected components (SSCs).

Tarjan's algorithm animation wikipedia

Our exploration will use import link from arrow as a starting point.

discussion

On SCCs from Arrow is the current state of this exploration, with some examples graphs being used.

An initial idea was to use clusters (subgraphs) to group strongly connected nodes. An initial example Neighborhood Pathways toward Regeneration (subgraphs). This could use some simplification, only creating clusters where a group contains more than one node might be a next step. But, getting a good layout is likely to take some effort.

An alternative approach would be to give groups strongly connected nodes a colour. This effect can be seen in Neighborhood Pathways toward Regeneration (colored). This can be compared with Neighborhood Pathways toward Regeneration from the merge. Other than the colouration, the only difference in these graphs is the order within the dot.

This colouring of strongly connected nodes feels good. But, with a finite set of colours, if more groups are found we will need to repeat colours.

next

add to the full screen version

components

The components in the assets below are:

**dedent.js** : An ES6 string tag that strips indentation from multiline string. *Helps make the output graphviz look nicer.*

**ssc.html** : A modified version of Merging Graphs from Arrow. This uses `tarjan.js` to find the SSCs in the graph, and gives the nodes in each group a colour.

**tarjan.js** : A javascript implementation of Tarjan's strongly connected components algorithm . A slight modification of Chad Hutchins's gist

pages/strongly-connected-components