Curious what is recognized as a solid algorithm/approach for judging the strength of a directed acyclic graph - particularly the strength of certain nodes. The main question I have about this can be boiled down to the following two graphs:
(if graph doesn't show up, click here or visit this link: http://www.flickr.com/photos/86396568@N00/2893003041/
To my eyes, A is in a stronger position than a. I am judging strength by how strong a node can remain if a link is knocked out. I'd call the first a thin "stilt", and the second a thick "stalk".
Here are the approaches I've considered so far for judging the strength of a node:
1) Counting the number of nodes below, subtracting the number of nodes above.
- A=7, a=7, B=5, b=1
2) Counting the number of complete paths (to termination) for each node, summing their lengths.
- A=17 (1+5+5+5+1), B=12 (4+4+4), a=9 (3+3+3), b=2
- This make the stilt stronger, rather than the stalk.
3) Counting every possible path, treating every node as a destination.
- A=9 (A->B, A->C, A->D, A->E, A->G, 2xA->F, 2xA->H), B=6, a=9, b=2
3 seems like the best option so far, but is there one that is better, generalized for DAGs? Is this something that has a known best approach? The principles are to use as much information in the graph as possible, and for the solution to be explainable in an intuitive way.