<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wcipeg.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Augmenting_path</id>
		<title>Augmenting path - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wcipeg.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Augmenting_path"/>
		<link rel="alternate" type="text/html" href="https://wcipeg.com/wiki/index.php?title=Augmenting_path&amp;action=history"/>
		<updated>2026-04-17T02:07:02Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.25.2</generator>

	<entry>
		<id>https://wcipeg.com/wiki/index.php?title=Augmenting_path&amp;diff=1729&amp;oldid=prev</id>
		<title>Brian at 03:01, 9 September 2013</title>
		<link rel="alternate" type="text/html" href="https://wcipeg.com/wiki/index.php?title=Augmenting_path&amp;diff=1729&amp;oldid=prev"/>
				<updated>2013-09-09T03:01:56Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 03:01, 9 September 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;L16&quot; &gt;Line 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Intuitively, augmenting the flow corresponds to &amp;quot;pushing additional flow&amp;quot; along the augmenting path using residual capacity. The augmented flow is then the overall result of pushing both the original flow and the additional flow.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Intuitively, augmenting the flow corresponds to &amp;quot;pushing additional flow&amp;quot; along the augmenting path using residual capacity. The augmented flow is then the overall result of pushing both the original flow and the additional flow.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Augmenting path theorem==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It is now clear that a flow cannot be maximal as long as an augmenting path exists, as we can increase the flow by pushing along the augmenting path. The converse is less clear: if the flow is not maximal, then an augmenting path exists. This is the topic of this section.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;'''Theorem (Augmenting path theorem)''': Let &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; be a flow in the flow network &amp;lt;math&amp;gt;(V, s, t, c)&amp;lt;/math&amp;gt;. Then &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; is maximal if and only if there is no augmenting path in the residual network &amp;lt;math&amp;gt;(V, s, t, r)&amp;lt;/math&amp;gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;'''Proof''': The &amp;quot;only if&amp;quot; direction is easy. The proof of the &amp;quot;if&amp;quot; direction is based on the [[max-flow min-cut theorem]]. Since there is no augmenting path, we can form the set &amp;lt;math&amp;gt;S \subset V&amp;lt;/math&amp;gt; of vertices reachable from &amp;lt;math&amp;gt;s&amp;lt;/math&amp;gt; in the residual network. As in the max-flow min-cut theorem, &amp;lt;math&amp;gt;\{ (u, v) \mid u \in S, v \notin S \}&amp;lt;/math&amp;gt; forms an s-t cut of the weighted s-t graph corresponding to the original flow network, whose total weight equals the value of the flow &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;. Since every flow's value is less than or equal to every cut's total weight, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; must be maximal. &amp;lt;math&amp;gt;_\blacksquare&amp;lt;/math&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The augmenting path theorem forms the theoretical basis of the [[Ford–Fulkerson method]] for computing a max flow.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Brian</name></author>	</entry>

	<entry>
		<id>https://wcipeg.com/wiki/index.php?title=Augmenting_path&amp;diff=1727&amp;oldid=prev</id>
		<title>Brian: Created page with &quot;An augmenting path in a flow network is a path from the source to the sink in the residual network for some flow. It is so named because it is possible to ''augment'' (increa...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wcipeg.com/wiki/index.php?title=Augmenting_path&amp;diff=1727&amp;oldid=prev"/>
				<updated>2013-09-09T02:04:01Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;An &lt;a href=&quot;/wiki/Augmenting_path&quot; title=&quot;Augmenting path&quot;&gt;augmenting path&lt;/a&gt; in a flow network is a path from the source to the sink in the residual network for some flow. It is so named because it is possible to &amp;#039;&amp;#039;augment&amp;#039;&amp;#039; (increa...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;An [[augmenting path]] in a flow network is a path from the source to the sink in the residual network for some flow. It is so named because it is possible to ''augment'' (increase) the value of the flow by combining the existing flow with additional flow along the augmenting path.&lt;br /&gt;
&lt;br /&gt;
==Augmenting a flow==&lt;br /&gt;
Let &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; be a flow in the flow network &amp;lt;math&amp;gt;(V, s, t, c)&amp;lt;/math&amp;gt;. Let &amp;lt;math&amp;gt;(V, s, t, r)&amp;lt;/math&amp;gt; be the residual network corresponding to &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;. Now consider an augmenting path &amp;lt;math&amp;gt;(s = v_0, v_1, \ldots, v_n = t)&amp;lt;/math&amp;gt; in the residual network. We will assume that the augmenting path is simple. Since edges must have positive capacity, the minimum residual capacity along all arcs on the augmenting path, &amp;lt;math&amp;gt;c_m = \min_i c(v_i, v_{i+1})&amp;lt;/math&amp;gt;, is positive.&lt;br /&gt;
&lt;br /&gt;
We define the augmented flow &amp;lt;math&amp;gt;f'&amp;lt;/math&amp;gt; as follows: &amp;lt;math&amp;gt;f'(u, v) = f(u, v) + c_m&amp;lt;/math&amp;gt; if the edge &amp;lt;math&amp;gt;(u, v)&amp;lt;/math&amp;gt; is in the augmenting path; &amp;lt;math&amp;gt;f'(u, v) = f(u, v) - c_m&amp;lt;/math&amp;gt; if the reverse edge &amp;lt;math&amp;gt;(v, u)&amp;lt;/math&amp;gt; is in the augmenting path, and, otherwise, &amp;lt;math&amp;gt;f'(u, v) = f(u, v)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Proposition''': The augmented flow &amp;lt;math&amp;gt;f'&amp;lt;/math&amp;gt; is an admissible flow. Furthermore, &amp;lt;math&amp;gt;\sum_{v \in V} f'(s, v) = c_m + \sum_{v \in V} f(s, v)&amp;lt;/math&amp;gt;; that is, the augmented flow's value is greater than the original flow's value by &amp;lt;math&amp;gt;c_m&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Proof''':&lt;br /&gt;
# '''Capacity'''. If &amp;lt;math&amp;gt;f(u, v) \leq c(u, v)&amp;lt;/math&amp;gt;, then clearly &amp;lt;math&amp;gt;f'(u, v) \leq c(u, v)&amp;lt;/math&amp;gt; whenever &amp;lt;math&amp;gt;f'(u, v) = f(u, v) - c_m&amp;lt;/math&amp;gt; or &amp;lt;math&amp;gt;f'(u, v) = f(u, v)&amp;lt;/math&amp;gt;. We only need to check the case &amp;lt;math&amp;gt;f'(u, v) = f(u, v) + c_m&amp;lt;/math&amp;gt;. In this case, &amp;lt;math&amp;gt;(u, v)&amp;lt;/math&amp;gt; is an edge in the augmenting path. By definition of &amp;lt;math&amp;gt;c_m&amp;lt;/math&amp;gt;, we have that &amp;lt;math&amp;gt;c_m \leq r(u, v)&amp;lt;/math&amp;gt;. Therefore &amp;lt;math&amp;gt;f'(u, v) \leq f(u, v) + r(u, v) = f(u, v) + c(u, v) - f(u, v) = c(u, v)&amp;lt;/math&amp;gt;, as required.&lt;br /&gt;
# '''Skew symmetry'''. Let &amp;lt;math&amp;gt;(u, v)&amp;lt;/math&amp;gt; be an edge. If &amp;lt;math&amp;gt;(u, v)&amp;lt;/math&amp;gt; is an edge in the augmenting path, then &amp;lt;math&amp;gt;f'(u, v) = f(u, v) + c_m = -f(v, u) + c_m = -(f(v, u) - c_m) = -f'(v, u)&amp;lt;/math&amp;gt;. If on the other hand &amp;lt;math&amp;gt;(v, u)&amp;lt;/math&amp;gt; is in the augmenting path, then &amp;lt;math&amp;gt;f'(u, v) = f(u, v) - c_m = -f(v, u) - c_m = -(f(v, u) + c_m) = -f'(v, u)&amp;lt;/math&amp;gt;. If neither is true, then &amp;lt;math&amp;gt;f'(u, v) = f(u, v) = -f(v, u) = -f'(v, u)&amp;lt;/math&amp;gt;.&lt;br /&gt;
# '''Flow conservation''': Let &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; be a vertex other than the source or sink. If &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; is not in the augmenting path, then all flows into &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; are unchanged, and conservation is maintained. If &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; is in the augmenting path, then (since &amp;lt;math&amp;gt;v \notin \{s, t\}&amp;lt;/math&amp;gt;) it must be preceded by a vertex &amp;lt;math&amp;gt;v_p&amp;lt;/math&amp;gt; and followed by a vertex &amp;lt;math&amp;gt;v_n&amp;lt;/math&amp;gt; in the augmenting path. Then &amp;lt;math&amp;gt;f'(v_p, v) = f(v_p, v) + c_m&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;f'(v_n, v) = f(v_n, v) - c_m&amp;lt;/math&amp;gt;, and all other flows into &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; are unchanged. Since one inward flow is incremented and another decremented by the same amount, conservation is maintained.&lt;br /&gt;
&lt;br /&gt;
Finally, consider the value of the augmented flow, &amp;lt;math&amp;gt;\sum_{v \in V} f'(s, v)&amp;lt;/math&amp;gt;. The source is always the first vertex in the augmenting path. Thus, &amp;lt;math&amp;gt;\sum_{v \in V} f'(s, v) = f'(s, v_1) + \sum_{v \in V-\{v_1\}} f'(s, v) = c_m + f(s, v_1) + \sum_{v \in V-\{v_1\}} f'(s, v) = c_m + \sum_{v \in V} f(s, v)&amp;lt;/math&amp;gt;. &amp;lt;math&amp;gt;_\blacksquare&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Intuitively, augmenting the flow corresponds to &amp;quot;pushing additional flow&amp;quot; along the augmenting path using residual capacity. The augmented flow is then the overall result of pushing both the original flow and the additional flow.&lt;/div&gt;</summary>
		<author><name>Brian</name></author>	</entry>

	</feed>