Áram (gráfelmélet)

Innen: testwiki
Ugrás a navigációhoz Ugrás a kereséshez

Legyen D=(V,A) irányított gráf, és legyen x:A függvény. Minden SV halmazra jelölje ρx(S) az x függvény értékeinek összegét az S halmazba lépő éleken, és jelölje δx(S) az x függvény értékeinek összegét az S halmazból kilépő éleken.

Az x:A függvény áram vagy áramlás, ha ρx({v})=δx({v}) minden vV csúcsra, magyarul, ha teljesíti a megmaradási szabályt.

Megengedett áram

Legyenek adva a D gráf élein rendre az f,g felső és alsó korlátok (kapacitások). Ekkor, ha minden élen az x áram értékei az f és a g értékei közé esnek, akkor x megengedett áram:

f(a)x(a)g(a) minden aA.

A Hoffman-tétel szerint a D=(V,A) irányított gráfban akkor és csak akkor van megengedett áram, ha ρf(X)δg(X) minden XV halmazra.

Ha emellett a korlátok még egész értékűek is, akkor van egész értékű megengedett áram.

Rokon fogalmak

Folyam

A folyam fogalma hasonlóan definiálható. Adva legyen az s forrás, és a t nyelő, s,tV. Az x:A függvény folyam, ha ρx(v)=δx(v) minden vV vs,t csúcsra, vagyis a megmaradási szabály a forrás és a nyelő kivételével mindenütt teljesül.

Legyen x áram, és S olyan halmaz, ami tartalmazza az s forrást, de a t nyelőt nem. Ekkor a δx(S)ρx(S) nem függ S választásától.

Ha x áram, akkor teljesül a maximális folyam - minimális vágás tétele:

a megengedett s-t folyamok nagysága egyenlő a δg(S) értékek minimumával, ahol sS,t∉S.

Ha még g egész értékű is, akkor akkor a maximális folyam is választható egész értékűnek.

Az áram egy általánosítása

Adva legyenek a D irányított gráf csúcsain a b és a p pb korlátozó függvények, és p(v)ρx(v)δx(v)b(v).

Ez az általánosítás könnyen visszavezethető az áram feladatra:

Vegyünk hozzá a D irányított gráfhoz egy új s pontot, és vezessünk D minden pontjából egy élt az s pontba. Terjesszük ki a kapacitásfüggvényt: legyen f(vs)=p(v) és g(vs)=b(v). Terjesszük ki az x függvényt is: legyen x1(vs)=ρx(v)δx(v)

Az x függvény akkor és csak akkor teljesíti a feltételeket, ha x1 megengedett áram a kiterjesztett kapacitásokra.

Moduláris áram

A moduláris áram az áram és a folyam közös általánosítása. Adva legyen a D=(V,A) irányított gráf csúcsainak zV részhalmazain az m függvény. Legyen λx(Z)=ρx(Z)δx(Z) moduláris függvény. Az x függvény moduláris áram, röviden m-áram, ha λx(v)=m(v) minden vV-re.

Alkalmazások

Az áramokat és a folyamokat több probléma megoldásához is felhasználják.

Tesztfeladat

Adva van egy áramkör, ami n különböző állapotban lehet. Minden állapotból át lehet menni más állapotokba, és minden átmenethez adott hosszúságú idő kell.

A feladat: az áramkör ellenőrzése minél gyorsabban, azaz minél rövidebb idő alatt.

A feladat megoldható a következő módon: tekintsük a D(V,A) irányított gráfot, ahol V az állapotok, A az átmenetek halmaza, és egy él költségfüggvénye az adott átmenet ideje. Ekkor a tesztfeladat megfelel annak, hogy minimális költségű bejárást keressünk D-ben.

Ha a gráf minden pontjába ugyanannyi él megy be, mint amennyi ki, akkor a minimális költségű bejárás egy Euler-bejárás lesz. Különben a feladat áram feladatként fogalmazható át: keressünk egy minimális költségű, egész értékű megengedett áramot az f1 g kapacitásfüggvényekre vonatkozóan.

Szállítási feladat

Adott k üzem, ami ugyanazt a terméket állítja elő, és adott l fogyasztóhely. Ismerjük a termelőkapacitásokat és az igényeket, és tudjuk, honnan hová milyen kapacitással és költséggel lehet szállítani. A feladat: döntsük el, hogy van- e minden igényt kielégítő szállítási terv, és ha van, akkor elégítsük ki az igényeket a legolcsóbban!

Legyen G(V,E) páros gráf, ahol S jelöli az üzemeket, és T a fogyasztókat. Jelölje q(v) S pontjainak kibocsátóképességét, és jelölje h(v) T pontjainak igényeit. Irányítsuk meg G éleit S-től T felé. Adjunk hozzá G-hez egy s és egy t pontot. Vezessünk s-ből S minden v pontjába egy q(v) kapacitású élt, és vezessünk T minden v pontjából h(v) kapacitású élt t-be. Az S és a T között vezető élek kapacitásai legyenek az adott utak kapacitásai.

A feladatnak akkor és csak akkor létezik megoldása, ha az így kapott gráfban van M=vTh(v) kapacitású folyam. A költséges változat egy minimális költségű M folyam meghatározását célozza.

Egyéb alkalmazások

A folyamok és a folyamalgoritmusok segítségével bebizonyítható a Menger-tétel, vagy megoldható a PERT feladat.

Források

Frank András: Operációkutatás