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.

حالا تو هیچ ماشین حسابی این را حل نمی‌کند ، اما تکه‌های آن قابل محاسبه هستند. یکی از زیر را امتحان کنید ، یا خودتان را تایپ کنید.

خودت رو به کار بسپار

یک حساب رایگان یادداشت‌هایی را در هر درس اضافه می‌کند، یک ثبت از آنچه که تمام کرده‌اید، مسائل حل شده شما در یک مکان، و یک معلم که می‌توانید در مورد این صفحه از او بپرسید. خود ریاضیات برای همه باز است، چه وارد شده باشید و چه نباشید.

ثبت نام ورود

نمادهای استفاده‌شده در اینجا

هر نماد را برای تعریف کامل، تصویر و معنی هر حرف در آن بزنید.

سوالاتي که مردم ميپرسن

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.

این صفحه از این مقاله اقتباس شده‌است. Keller & Trotter, Applied Combinatorics (CC BY-SA 4.0). این گزاره را می‌توان به صورت زیر بیان کرد: اشتباهات ما، اشتباهات ما هستند.

بیشتر در Combinatorics & Graph Theory