9. Folyam általánosításai
9. A folyamprobléma általánosításai. Menger pontpárok közötti éldiszjunkt és pontdiszjunkt utak létezésére vonatkozó tételei irányított és irányítatlan gráfban (a pontdiszjunkt esetekben bizonyítás nélkül). Éldiszjunkt utak létezésének eldöntése (irányított és irányítatlan gráfban) folyamok segítségével.
Folyamok felbontása utakra
Legyen $f$ olyan, $m_f = d$ értékű folyam a $G$ irányított gráfban az $s$ termelőből a $t$ fogyasztóba, amire $f(e) = 0$ vagy $f(e) = 1$ minden $e$ élre. Ekkor $G$-ben létezik $d$ olyan éldiszjunkt irányított út $s$-ből $t$-be, amiknek minden $e$ élére $f(e) = 1$.
Ha $d = 0$, akkor a lemma állítása magától értetődő, így a továbbiakban feltesszük, hogy $d \ge 1$. Jelölje $G_f$ azt a gráfot, ami $G$ összes csúcsából és azokból az $e$ éleiből áll, amikre $f(e) = 1$. Azt kell megmutatnunk, hogy $G_f$-ben létezik $d$ éldiszjunkt irányított út $s$-ből $t$-be.
Ehhez először azt mutatjuk meg, hogy $G_f$-ben létezik irányított út $s$-ből $t$-be. $s$-ből indulva haladjunk „vaktában” $G_f$ élei mentén csak arra vigyázva, hogy egy élen csak egyszer menjünk át; állítjuk, hogy az így kapott $Q$ élsorozat $t$-ben akad el.
Valóban: mivel $f$ folyam, ezért minden $v \neq s, t$ csúcsra a $v$-be belépő és a $v$-ből kilépő $G_f$-beli élek száma egyenlő, $s$-ből pedig $d$-vel több $G_f$-beli él lép ki, mint ahány belép. Így valahányszor $Q$ egy $t$-től különböző csúcsba belép, tovább is tud onnan lépni.
Ezért $Q$ valóban csak $t$-ben akadhat el. Persze $Q$ nem feltétlen út, hiszen egy csúcsot többször is érinthet, de $Q$-ból az ismétlődő csúcsok előfordulásai közötti részeket sorra kivágva irányított úthoz jutunk.
Válasszunk ezért $G_f$-ben egy $P_1$ irányított utat $s$-ből $t$-be; majd $P_1$ élein változtassuk meg a folyam értékét $f(e)=0$-ra. Ekkor $f$ továbbra is folyam (hiszen $P_1$ $s$-től és $t$-től különböző csúcsain $\sum f_{be}$ és $\sum f_{ki}$ is eggyel csökkent) és az értéke $m_f = d - 1$ lesz.
Ha most $d - 1 \ge 0$, akkor újra alkalmazhatjuk az előző bekezdés állítását: választhatunk egy olyan $P_2$ irányított utat $s$-ből $t$-be, aminek minden élére $f(e) = 1$. Ezt az eljárást addig folytathatjuk, amíg végül $m_f = 0$ lesz és megkapjuk a $P_1, P_2, \dots, P_d$ irányított utakat $s$-ből $t$-be.
Mivel ezek az utak nyilván éldiszjunktak (hiszen egy-egy út kiválasztása után annak az $e$ élein $f(e)$-t nullára állítottuk, így a későbbi utak ezeket már nem tartalmazhatták), ezért a lemmát beláttuk.
Interaktív Labor: Az Út-lefejtő algoritmus
A hálózatban jelenleg $m_f = 2$ egységnyi folyam halad át (minden kék élen $f(e)=1$). Kattints az egyik lehetséges útra $s$-ből $t$-be, hogy lefejtsd a folyamról!
Aktuális folyamérték
Talált utak
Utak lefogása élhalmazzal
Definíció (Utak lefogása)
A $G$ irányított gráfban a $Z \subseteq E(G)$ élhalmaz **lefogja az $s$-ből $t$-be vezető irányított utakat** (ahol $s,t \in V(G)$ a gráf két különböző csúcsa), ha minden $s$-ből $t$-be vezető, $G$-béli irányított út tartalmaz $Z$-beli élt.
Hasonlóan értelmezzük ezt a fogalmat **irányítatlan $G$ gráfokra** is: a $Z \subseteq E(G)$ élhalmaz lefogja az $s$-ből $t$-be vezető irányítatlan utakat, ha minden $s$ és $t$ végpontú, $G$-béli irányítatlan út tartalmaz $Z$-beli élt.
A lefogás fogalma alapvető fontosságú a hálózati folyamok és a vágások kapcsolatának megértéséhez. Vizuálisan ez úgy képzelhető el, mint egy gát: ha a $Z$ halmaz összes élét eltávolítjuk a gráfból, akkor a forrás ($s$) és a nyelő ($t$) között minden összeköttetés megszűnik.
Menger tétele (élváltozat)
Menger tétele – élváltozat
Legyen adott a $G$ irányított gráf, annak az $s, t \in V(G)$ különböző csúcsai és a $k \ge 1$ egész. Ekkor az alábbi állítások ekvivalensek:
- (i) Létezik $G$-ben $k$ éldiszjunkt irányított út $s$-ből $t$-be.
- (ii) Nem létezik $G$-ben legföljebb $k - 1$ élű, az $s$-ből $t$-be vezető irányított utakat lefogó élhalmaz.
- (iii) A $(G,s,t,c)$ hálózatban a maximális folyam értéke legalább $k$, ahol $c$ az azonosan $1$ kapacitásfüggvény.
A tételt úgy látjuk be, hogy igazoljuk az $(i) \Rightarrow (ii)$, a $(ii) \Rightarrow (iii)$, valamint a $(iii) \Rightarrow (i)$ következtetések helyességét. Ezzel a bizonyítás valóban teljes lesz, hiszen bármelyik állításból eljuthatunk a másik kettőbe.
(i) $\Rightarrow$ (ii): Tegyük fel, hogy léteznek az $s$-ből $t$-be vezető $P_1, P_2, \dots, P_k$ éldiszjunkt irányított utak. Legyen $Z$ tetszőleges, az $s$-ből $t$-be vezető irányított utakat lefogó élhalmaz. Mivel $Z$ minden $s$-ből $t$-be vezető útból tartalmaz élt, ez igaz a $P_1, P_2, \dots, P_k$ utakra is; válasszunk ezért minden $1 \le i \le k$ esetén $P_i$-ből egy olyan $e_i$ élt, amire $e_i \in Z$. Ekkor az $e_1, e_2, \dots, e_k$ élek mind különbözők, hiszen a $P_i$ utak éldiszjunktak. Mivel tehát $Z$ tartalmaz $k$ különböző élt, ezért $|Z| \ge k$, amivel (ii)-t beláttuk.
(ii) $\Rightarrow$ (iii): Most azt tegyük fel, hogy (ii) teljesül, és legyen $X \subseteq V(G)$ tetszőleges vágás a $(G,s,t,c)$ hálózatban. Ekkor az $X$-ből kilépő élek nyilván lefogják az $s$-ből $t$-be vezető irányított utakat, hiszen $s \in X$ és $t \notin X$ miatt minden $s$-ből $t$-be vezető útnak tartalmaznia kell $X$-ből kilépő élt. (ii)-ből tehát következik, hogy $X$-ből legalább $k$ él lép ki. Ez fogalmazható úgy is, hogy $c(X) \ge k$, mert a definíció szerint $c(X)$ épp az $X$-ből kilépő élek száma (hiszen $c(e) = 1$ minden $e$ élre). Mivel tehát minden vágás kapacitása legalább $k$, ezért $\min\{c(X) : X \text{ st-vágás}\} \ge k$. Így a Ford-Fulkerson tételből $\max \{m_f : f \text{ folyam}\} \ge k$ következik, amivel (iii)-at beláttuk.
(iii) $\Rightarrow$ (i): Végül azt tegyük fel, hogy (iii) igaz és legyen $\max\{m_f : f \text{ folyam}\} = d$; ekkor tehát (iii) szerint $d \ge k$. Mivel $c$ egész értékű, ezért a Lemmából következően létezik olyan $f$ egész értékű folyam, amire $m_f = d$; rögzítsünk le egy ilyen $f$-et. Ekkor minden $e$ élre $f(e) = 0$ vagy $f(e) = 1$ (ismét azért, mert $c(e) = 1$ minden $e$ élre). Így $d \ge k$ miatt (i) valóban következik a folyamok felbontásáról szóló lemmából.
Menger-játék: A minimális vágás keresése
A feladatod: Vágd el az utat s és t között a lehető legkevesebb él kijelölésével! Kattints az élekre a törlésükhöz, és figyeld, mikor szűnik meg az összeköttetés.
Menger-insight: Sikerült! Ebben a gráfban $k=2$ éldiszjunkt út van, így legalább $2$ élt kellett elvágnod.
Menger tétele éldiszjunkt utakra
Menger tétele éldiszjunkt utakra
Minden $G$ (irányított vagy irányítatlan) gráfra és annak az $s, t \in V(G), s \neq t$ csúcsaira $\lambda_G(s,t) = \lambda'_G(s,t)$ teljesül.
Legyen $k \ge 1$ tetszőleges egész. $\lambda_G(s,t) \ge k$ definíció szerint azt jelenti, hogy létezik $G$-ben $k$ éldiszjunkt (irányított vagy irányítatlan) út $s$-ből $t$-be.
$\lambda'_G(s,t) \ge k$ pedig azt jelenti, hogy az $s$-ből $t$-be vezető (irányított vagy irányítatlan) utakat lefogó élhalmazok minimális mérete legalább $k$; más szóval: nem létezik ilyen élhalmazból legföljebb $k - 1$ méretű.
A Tétel (i) és (ii) állításai közötti ekvivalencia azt jelenti (az irányított, illetve irányítatlan esetben), hogy $\lambda_G(s,t) \ge k$ pontosan akkor igaz, ha $\lambda'_G(s,t) \ge k$.
Ebből pedig $\lambda_G(s,t) = \lambda'_G(s,t)$ valóban következik, mert ugyanazoknál a $k$ egészeknél nagyobbak vagy egyenlők.
Összefoglaló Kvíz
Menger-tételek és Strukturális Gráfelmélet
Vidd az egeret a kártyák fölé az ellenőrzéshez!
#01 Folyam felbontása
Hány éldiszjunkt $s \to t$ útba bontható fel egy $d$ értékű 0-1 folyam?
#02 Menger-tétel élekre
Mivel egyenlő az éldiszjunkt utak maximális száma?
#03 Csúcsszéthúzás
Mire jó a csúcsszéthúzás technikája?
#04 Pontváltozat feltétele
Milyen szomszédsági feltétel kell a $\kappa(s,t) = \kappa'(s,t)$ egyenlőséghez?
Tudtad-e?
MEGELŐZTE A KORÁT
Bár a hálózati folyamok elmélete az 1950-es években virágzott fel, Karl Menger már 1927-ben bebizonyította fundamentális tételét. Munkája évtizedekkel előzte meg a modern számítógépes hálózatok megszületését.
HIBASTABILITÁS
Ha egy hálózatban $k$ pontdiszjunkt út van $s$ és $t$ között, a rendszer $k-1$ csomópont teljes leállását is túléli. Ez a legmagasabb szintű garancia az internetes adatforgalom folyamatosságára.
A SZÉTHÚZÁS TRÜKKJE
A csúcsszéthúzás nemcsak matematikai bűvészmutatvány, hanem a processzortervezés alapja is. Segítségével a szűk keresztmetszetet jelentő csomópontokat élkapacitásként modellezhetjük a hatékonyabb jelút-tervezéshez.
LOGISZTIKAI FELBONTÁS
A folyamok utakra történő felbontása bizonyítja, hogy minden bonyolult hálózati áramlás visszavezethető egyszerű irányított utakra. Ez teszi lehetővé, hogy a hatalmas csomagforgalmat kezelhető útvonalakra osszuk szét.