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.

İndi siz Heç bir hesablama proqramı bu ədədi həll edə bilməz, lakin onun hissələri hesablana bilər. Aşağıdakılardan birini sınayın ya da özünüz yazın.

Özün işlə

Pulsuz hesab hər dərsdə qeydlər əlavə edir, bitirdiyiniz işlərin qeydini saxlayır, həll etdiyiniz problemləri bir yerdə saxlayır və bu səhifə haqqında soruşa biləcəyiniz müəllimi də əlavə edir. Riyaziyyat özü daxil olub-olmadığınıza baxmayaraq hər kəsə açıqdır.

Qeyd Et Giriş

Burada istifadə edilən simvollar

Tam təsviri, şəkli və hər hərfin nə demək olduğunu görmək üçün hər hansı simvolu vurun.

İnsanlar soruşurlar

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.

Bu səhifənin bəzi hissələri Keller & Trotter, Applied Combinatorics (CC BY-SA 4.0). Bu, bizim üçün çox böyük bir uğurdur, biz bunu çox istəyirik.

Daha çox Combinatorics & Graph Theory