19
Максимален поток в транспортна мрежа

Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

  • Upload
    haanh

  • View
    231

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Максималенпотоквтранспортнамрежа

Page 2: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Дефинициянапотоквмрежа.Условие за съхранение на потока

• Потоци втранспортни мрежи• Определение1.1.• ТранспортнамрежаG=(V,E) есвързанорграф,коитонямапримкииудовлетворяваследнитеусловия:– Съществувасамоединвръхs сеявяваизточник(нямавходящивнегодъги);

– Съществувасамоединвръхt,коитосеявяваполучател(имасамовходящивнегодъги);

– Навсякаориентиранадъгае={i,j} вмрежатаG=(V,E) есъпоставенапропускателнаспособностнадъгата Uij‐,коятоереалноположителноцялочисло.Аконесъществувадъгата{i,j}, тоUij=0.

Page 3: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Условие за съхранение на потока

• Определение1.2.• ПотокfвтранспортнамрежаG=(X,E)ефункцията,коятоопределянавсякадъга{i,j}неотрицателночислоfij,такачедасаудовлетворениусловията:– (1) fij ≤Uij завсяка(i,j) E

– (2) завсяко(i)≠s,t

• Условие(2)сенаричаусловиезасъхранениенапотока(УСП)иизразява,чезавсекимеждиненвръхi различенотs иt ,суматаотвходящитевнегопотоциеравнанасуматаотизходящитеотнегопотоци.

k

kij

ij ff

Page 4: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Пример

Нафиг.1едаденатранспортнамрежа,вкоятозавсякадъгасададенидвечисла‐ първотопотокаfij ивтороточислопропускателнатаспособностUij

Очевидное,чевприведенатанафигурататранспортнамрежа,макариформалнозавсякадъгадасаприписаничисла, коитоформалнодаопределятвеличинанапотoка вдъгата,потоквмрежатанесъществува,защотонесаизпълнениусловиятазасъхранениенапотоказавсичкивъзли.Завъзел1входящияпотоке3,аизходящияе4,УСПенарушеноизавъзли2,3ит.н.

Page 5: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Пример2

Нафиг.2едаденасъщататранспортнамрежа,вкоятообачесъществувапоток

.

Page 6: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

ВеличинанапотокаВеличинатанапотока f обозначенас Val(f)вмрежата G=(X,E)сеопределяотсуматаотвсичкипотоципреминаващиподъгитеизходящиотs.ПорадиУСПцялотоколичествоизходящоотsщесеявивходящовtиреспективнощепреминеповходящитевtдъги,т.е.

Казвасе,чепотокаf*втранспортнатамрежаGемаксимален, аконесъществуватакъвпотокfвG,коитоимапо‐голямавеличинанапотока,респективнозакоитоVal(f)>Val(f*).

j

sjf)f(Val

i

itj

sj ff)f(Val

Page 7: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Теоремазамаксималнияпотокиминималнияразрез

Page 8: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Теоремазамаксималнияпотокиминималнияразрез

• Величинанаразреза• Пропускателнаспособностнаразреза величинанаразреза U ‐ сенаричасуматаотпропускателнитеспособностинавсичкидъгивG V,E ,началнитевърховенакоитолежатв акрайнитев ,т.e.:

• Всуматанапропускателнитеспособностисавключенисамодъгите,коитосаориентираниот ‐ .Дъгитесориентацияот ‐ неувеличаватпропускателнатаспособностнаразреза , .

j;iijUU

Page 9: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Теоремазамаксималнияпотокиминималнияразрез

Минималният разрез   (m ‐> m ) е разреза с най‐малка величина от всички възможни разрези.Максималният поток от s‐>t очевидно не може да превишава U(m ‐> m ), понеже всеки път s‐>tпреминава през една дъга от разреза•Теорема за максималния поток и минималния разрез Величината на максималния поток от  s‐>t е равна на величината (пропускателната способност) на минималния разрез, отделящ s от t Алгоритмът за определяне на максималния поток е основан на следствие от доказателството на теоремата ( което няма да се разглежда)

Page 10: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Алгоритъмзаопределяненамаксималнияпотоквтранспортна

мрежа

– f‐наситена– акоfij Uij,т.е.потокавдъгатаеравеннапропускателнатаиспособност;

– f‐ненаситена ‐ ако fij Uij,т.е.потока епо малък отпропускателната способност на дъгата;

– f‐положителна– когатоfij 0,т.е.когатоподъгатапреминавареаленпоток;

– f‐нулева– когатоfij 0.

Page 11: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Максималенпотоквтранспортнамрежа.АлгоритъмнаФорд‐Фулкерсон

Да разгледаме транспортна мрежа G с поток f.  Нека последователността P е път от източника s в даден връх v. Не е задължително P да е ориентиран път. 

• Реброei е„правадъга” forewordarc ‐акоеориентиранаотui‐1 вuiи

• „обратнадъга” backwardarc ‐ акоеориентиранаотui вui‐1• s‐t пътPeаугументален път път,покоитоможедабъде

увеличенпотокаотS‐ t ‐ eпът,прикоитовсички„прави”дъгисаf‐ненаситена,авсички„обратни”дъгисаf‐положителни.

• Затакъвпътможедасеопредели,количествотодопълнителенпоток ,коитоможедасепропусне единициидасеопределиновпотокподъгите i,j напътяP,катозавсякадъга:

P

"

"",

",

дъгаобратнаPijPf

дъгаправаPjiPffef

ij

ijij

Page 12: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Алгоритъмзанамираненамаксималенпоток

••

Page 13: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Алгоритъмзанамираненамаксималенпоток

Фази S3 иS4• S3: Определяненаразмеранаувеличениетонапотока;

– завсякадъга i,j отпътяPсеопределя:

– размернаувеличениетонапотока:

• S4: Корекция на потоците по  дъгите по пътя P.

• .

"",

"",

дъгаобратнаPijf

дъгаправаPjifUP

ij

ijijij

PjiPP ij , за min

"

"",

",

дъгаобратнаPijPf

дъгаправаPjiPff

ij

ijij

Page 14: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Аугументален път P1                              S‐‐‐>V3‐‐‐>V1‐‐‐>V2‐‐‐>t   

Дъги от пътя P1 (S,V3) (V3,V1) (V1,V2) (V2,t)

Δij(P1) „права“ U‐f 4‐0 2‐0 6‐0 7‐0„обратна“ f

Δ(P1) 2=min(4,2,6,7)

Корекция f „права“ 0+2 0+2 0+2 0+2„обратна“

)1,)1(min()1( PjiPP ij

)1(Pff

)1(Pff

Page 15: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Аугументален път P2 S‐‐‐>V1<‐‐‐V3‐‐‐>V2‐‐‐>t   

Дъги от пътя P2 (S,V1) (V3,V1) (V3,V2) (V2,t)

Δij(P2) „права“ U‐f 3‐0 5‐0 7‐2„обратна“ f 2

Δ(P2) 2=min(3,2,5,5)

Корекция f „права“ 0+2 0+2 2+2„обратна“ 2‐2

)2,)2(min()2( PjiPP ij

)2(Pff

)2(Pff

Page 16: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Аугументален път P3 S‐‐‐>V3‐‐‐>V4‐‐‐>t   

Дъги от пътя P3 (S,V3) (V3,V4) (V4,t)

Δij(P3) „права“ U‐f 4‐2 0‐5 1‐0„обратна“ f

Δ(P3)   1=min(2,5,1)

Корекция f „права“ 2+1 0+1 0+1„обратна“

)3,)3(min()3( PjiPP ij

)3(Pff

)3(Pff

Page 17: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Аугументален път P4                              S‐‐‐>V1‐‐‐>V3‐‐‐>V2‐‐‐>t   

Дъги от пътя P4 (S,V1) (V1,V3) (V3,V2) (V2,t)

Δij(P4) „права“ U‐f 3‐2 0‐4 5‐2 7‐4„обратна“ f

Δ(P4)   1=min(1,4,3,3)

Корекция f „права“ 2+1 0+1 2+1 4+1„обратна“

)4,)4(min()4( PjiPP ij

)4(Pff

)4(Pff

Page 18: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Аугументален път P5                              S‐‐‐>V3‐‐‐>V1‐‐‐>V2‐‐‐>t   

Дъги от пътя P5 (S,V3) (V3,V1) (V1,V2) (V2,t)

Δij(P5) „права“ U‐f 4‐3 0‐2 6‐2 7‐5„обратна“ f

Δ(P5)   1=min(1,2,4,2)

Корекция f „права“ 3+1 0+1 2+1 5+1„обратна“

)5,)5(min()5( PjiPP ij

)5(Pff

)5(Pff

Page 19: Максимален поток в транспортна мрежаtout.vtu.bg/project/Max_Flow BG.pdf · Пример На фиг. 1 е дадена транспортна мрежа,

Max поток  ∑ Δ(Pi)   7