Go to content
Link to Teiresias web page

Adaptation of Mathematical ALGorithms

Ford-Fulkerson algorithm

messages.homepage.accessibility

Ford-Fulkerson algorithm

1. Original procedure of the algorithm

2. Proposals of adaptation

1. Work with a network on a sheet of a spreadsheet editor:

The network is again converted to a table and organized in a similar way as in the case of the first method of Dijsktra's algorithm adaption. We add labels of the nodes to the first column. All the other cells on the row for a node x are reserved for the edges coming out from x and are written as yF/C where y is the end node of the edge, F indicates the current flow through the edge and C identifies its capacity. Let us take the same network N illustrated on the Image 1. The following Table 1 demonstrates the situation after processing the first augmenting path S → A → C → T

Example 3: network N
S *A1/1 B0/1 E0/5
A *C1/1 E0/1
B D0/1
C T1/3
D T0/5
E B0/1 C0/2 D0/2 T0/1
T
Tabulka 1: Network N converted to a table after processing the first augmenting path S → A → C → T

A blind student finds an augmenting path from the source S to the sink T. He/she consecutively goes through the table and holds a sequence of the path's nodes and actual available capacity of the path's edges in his/her memory. During the second view he/she modifies the flow and marks edges with the flow equal to the capacity, which are directed from the source to the sink.

2. Edges are organized one below each other on lines of a standard text editor:

every edge is written separately on one line as xF/Cy, where x is a starting node and y is an ending node of the edge with a capacity C and a current flow F. The edges are ordered alphabetically according to the node from which they come. We work in a similar way as when using the previous method. We go through the table twice, first to find an augmenting path from the source to the sink, then to increase a flow on the path.

3. Discussion of pros and cons