maths.free › Combinatorics & Graph Theory › Network Flows › The Ford-Fulkerson Labeling Algorithm

The Ford-Fulkerson Labeling Algorithm

In this section, we outline the classic Ford-Fulkerson labeling algorithm for finding a maximum flow in a network. The algorithm begins with a linear order on the vertex set which establishes a notion of precedence.

The Ford-Fulkerson Labeling Algorithm

In this section, we outline the classic Ford-Fulkerson labeling algorithm for finding a maximum flow in a network. The algorithm begins with a linear order on the vertex set which establishes a notion of precedence. Typically, the first vertex in this linear order is the source while the second is the sink. After that, the vertices can be listed in any order. In this book, we will use the following convention: the vertices will be labeled with capital letters of the English alphabet and the linear order will be \((S,T,A,B,C,D,E,F,G,\dots)\), which we will refer to as the pseudo-alphabetic order. Of course, this convention only makes sense for networks with at most \(26\) vertices, but this limitation will not cramp our style. For real world problems, we take comfort in the fact that computers can deal quite easily with integer keys of just about any size.

Before providing a precise description of the algorithm, let's take a minute to consider a general overview. In carrying out the labeling algorithm, vertices will be classified as either labeled or unlabeled. At first, we will start with only the source being labeled while all other vertices will be unlabeled. By criteria yet to be spelled out, we will systematically consider unlabeled vertices and determine which should be labeled. If we ever label the sink, then we will have discovered an augmenting path, and the flow will be suitably updated. After updating the flow, we start over again with just the source being labeled.

This process will be repeated until (and we will see that this always occurs) we reach a point where the labeling halts with some vertices labeled (one of these is the source) and some vertices unlabeled (one of these is the sink). We will then note that the partition \(V= L\cup U\) into labeled and unlabeled vertices (hence our choice of \(L\) and \(U\) as names) is a cut whose capacity is exactly equal to the value of the current flow. This resolves the debate from earlier in the chapter and says that the maximum flow/minimum cut question is more like antichains and partitioning into chains than clique number and chromatic number. In particular, the labeling algorithm will provide a proof of the following theorem:

We're now ready to describe the Ford-Fulkerson labeling algorithm in detail.

Condensed: the full section is in Keller & Trotter, Applied Combinatorics.

Manje Akukho kalkuli yokuxazulula le nto, kodwa amaphuzu ayo anga kalkuli. Zama enye ngezansi, noma ubhale yakho.

Qhubeka usebenza

I-akhawunti emahhala ifaka iziphawulo kulesifundo ngasinye, irekhodi lokuthi yini oqedile, izinkinga zakho ezixazululiwe endaweni eyodwa, nodokotela owaziyo ongabuza mayelana nalekhasi. I-matematics ivulekile kubo bonke, noma ngabe babhalise noma cha.

Bhala Ngena

Amaphawu asetshenziswa lapha

Chofoza noma yiluphi uphawu lwesibonakaliso ukuze uthole ukuchaza okuphelele, isithombe, kanye nokuthi iyiphi inhlamvu ekhona ekhuluma ngaso.

Imibuzo abantu bebuza

Permutation or combination?

Ask whether order matters. A lock code is a permutation (order matters); a hand of cards is a combination (it does not).

What is a graph in this sense?

Dots (vertices) joined by lines (edges), not a plot. Road maps, social networks and molecules are graphs; questions like "is there a route" and "how few colours" are graph theory.

Amangxenye wale khasi aguqulwe kusuka Keller & Trotter, Applied Combinatorics (CC BY-SA 4.0). I-condensed futhi iphinde icaciswe lapha; amaphutha awusizo.

Okuningi Combinatorics & Graph Theory