Auto-detection of clusters in Graphviz *.gv files
I've released GraphViz2::Marpa::PathUtils V 1.01, which now offers an algorithm that performs auto-detection of clusters in Graphviz *.gv files, via the find_clusters() method.
Download, or read the docs at the usual place:
Peruse the demo.
The most complex input file I tested ran foul of a bug in Graphviz itself, which I've reported. I am using Graphviz V 2.26.3, and the bug has been kindly confirmed by Ryan Schimdt in 2.28.0 and 2.29.20121022.0445 on OS X. So, that image is not yet on the demo page.
Note: An option in the code allows outputting the resultant *.gv file, hence making it available for further processing, and the format of the (optional) output image (svg, png, ...) is also an option (which is passed to 'dot').
Note: Nodes and edges using ports are not yet supported.
Thanx to Ron Newman (on the Graphviz mailing list) for the suggestion to implement this (despite the complexity of the code I had to write :-).
Lastly, the previous algorithm in the module (in V 1.00), accessed via the find_fixed_length_paths() method, finds all paths of a given length starting from a given node. Demo output is included in the above URL.