An example how the Floyd-Warshall algorithm calculates the minimal transitive interaction uncertainties. Consider order I of the nodes (b): In the first iteration (k=1=a) nothing changes since no path via 1 exists as 1 has no incoming edge. In the next iteration (k=2=b) the path 1→0.12→0.33 with transitive interaction uncertainty, i.e., its maximal weight, 0.3 is found and this fact is memorised by adding 1→0.33. Furthermore, the path 1→0.12→0.84 is considered, but as its transitive interaction uncertainty (0.8) is greater than the interaction uncertainty of the direct edge 1→0.54, nothing changes. During the third iteration (k=3=c) the paths 2→0.33→0.24 and 1→0.33→0.24 (which corresponds to the path a→0.1b→0.3c→0.2din the original graph) are found and since they have smaller (transitive) interaction uncertainties than the direct edges, these are changed to 2→0.34 and 1→0.34, respectively. In the last iteration (k=4=d), nothing changes since 4 has no outgoing edge and thus no path via 4 exists. Finally, all edges that were added or changed by the Floyd-Warshall algorithm, i.e., those for which an alternative path with a smaller transitive interaction uncertainty were found, are removed to obtain the weighted transitive reduction of the original graph as depicted in (d). For order II of the nodes (c), the algorithm works similar. Note that the correctness of the algorithm does not depend on the concrete order of the outer iteration (k) over the nodes, e.g., order I as well as order II produce finally the same result.
Bošnački et al. BMC Bioinformatics 2012 13:281 doi:10.1186/1471-2105-13-281