Bsz2 Jegyzet

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.

9.1

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!

s A B t

Aktuális folyamérték

m_f = 2

Talált utak

Még nincs lefejtett út.
9.2

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.

9.3

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.

s t
Vágott élek száma 0
A forgalom még átjut!
9.4

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.

9.5

Ö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?

Válasz: Pontosan $d$ darab éldiszjunkt irányított útba.

#02 Menger-tétel élekre

Mivel egyenlő az éldiszjunkt utak maximális száma?

Válasz: Az $s$-t utakat lefogó élhalmazok minimális méretével.

#03 Csúcsszéthúzás

Mire jó a csúcsszéthúzás technikája?

Válasz: Segítségével a pontdiszjunkt utak problémáját visszavezethetjük az éldiszjunkt változatra.

#04 Pontváltozat feltétele

Milyen szomszédsági feltétel kell a $\kappa(s,t) = \kappa'(s,t)$ egyenlőséghez?

Válasz: A forrás és a nyelő nem lehetnek szomszédosak ($(s,t) \notin E(G)$).

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.

Mindent megtanultál?

Ne add fel bro,
van remény!