title: Is there an efficient algorithm for printing all edge-disjoint paths in a flow network?
body: <p>I was curious if there is an efficient algorithm for actually returning all edge-disjoint paths from s to t in a flow graph?</p>
  <p>For example, take the following network where each edge has a capacity of 1:</p>
  <p><a href="https://i.stack.imgur.com/Wmt8D.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Wmt8D.png" alt="enter image description here" /></a></p>
  <p>It is clear that there are only two edge-disjoint paths:</p>
  <ol>
  <li>s -&gt; A -&gt; B -&gt; t</li>
  <li>s -&gt; C -&gt; D -&gt; E -&gt; F -&gt; t</li>
  </ol>
  <p>I am guessing you need to use a modified version of the Ford-Fulkerson algorithm that keeps track of the augmented paths. But how does it override previous erroneous paths (like s -&gt; A -&gt; E -&gt; F -&gt; t in my example).</p>