background image

Maksymalny przepływ -

algorytm Forda-Fulkersona

background image

Ś

cie

ż

ka rozszerzaj

ą

ca

Jest to 

ś

cie

ż

ka w sieci residualnej

(nieistniej

ą

ca w pierwotnej sieci !!!) ł

ą

cz

ą

c

ą

ź

ródło s z uj

ś

ciem t. Wszystkie kanały le

żą

ce 

na 

ś

cie

ż

ce rozszerzaj

ą

cej musz

ą

posiada

ć

niezerowe przepustowo

ś

ci residualne. 

Przepustowo

ść

residualna

ś

cie

ż

ki 

rozszerzaj

ą

cej jest równa najmniejszej 

przepustowo

ś

ci residualnej kanałów 

nale

żą

cych do tej 

ś

cie

ż

ki:

c

f

(p) = min{c

f

(u,v) | (u,v) 

p}

background image

Podstawowy algorytm Forda-

Fulkersona

Dopóki w sieci residualnej istnieje 

ś

cie

ż

ka 

rozszerzaj

ą

ca p, nale

ż

y zwi

ę

ksza

ć

przepływ o 

c

f

(p) wzdłu

ż

kanałów zgodnych z kierunkiem 

ś

cie

ż

ki, a zmniejsza

ć

przepływ wzdłu

ż

kanałów 

przeciwnych (wygaszanie przepływu). Przepływ 

sieciowy ro

ś

nie o c

f

(p).

Wyzerowa

ć

wszystkie przepływy w sieci

background image

Przykład zastosowania 

s

t

y

x

z

6

4

9

7

3

2

8

u

v

3

9

6

9

f(u,v) = 0  oraz | f

| = 0

Przepustowo

ść

residualna c

f

(u,v) = c(u,v) - f(u,v)

background image

s

t

y

x

z

6

4

9

7

3

2

8

u

v

3

9

6

9

p = {s

u

v

t}; 

| f

i+1

| = | f

| + c

f

(p) = 0 + 6 = 6

c

f

(p) = 6

Poszukiwanie 

ś

cie

ż

ki 

rozszerzaj

ą

cej

6

6

u

v

background image

Modyfikacja przepustowo

ś

ci 

residualnych kraw

ę

dzi 

ś

cie

ż

ki 

rozszerzaj

ą

cej

s

t

y

x

z

4

9

3

2

8

u

v

3

9

6

| f

i+1

| = | f

| + c

f

(p) = 0 + 6 = 6

6

1

6

3

6

0

background image

s

t

y

x

z

4

9

3

2

8

u

v

3

9

6

6

1

6

3

6

Poszukiwanie nowej 

ś

cie

ż

ki rozszerzaj

ą

cej

p = {s

u

x

t};  c

f

(p) = 3

x

u

background image

s

t

y

x

z

4

2

8

u

v

3

9

6

| f

i+2

| = | f

i+1

| + c

f

(p) = 6 + 3 = 9

6

1

6

3

6

3

9

Z poprzedniego kroku: | f

i+1

| = 6

Modyfikacja przepustowo

ś

ci residualnych

background image

s

t

y

x

z

4

2

8

u

v

3

9

6

6

1

6

3

6

3

Poszukiwanie nowej 

ś

cie

ż

ki rozszerzaj

ą

cej

p = {s

y

z

t}; 

6

9

c

f

(p) = 6

6

y

z

background image

s

t

y

x

z

4

2

u

v

3

| f

i+3

| = | f

i+2

| + c

f

(p) = 9 + 6 = 15

6

1

6

3

6

3

Z poprzedniego kroku: | f

i+2

| = 9

6

2

9

6

6

3

Modyfikacja przepustowo

ś

ci residualnych

background image

s

t

y

x

z

4

2

u

v

3

6

1

6

3

6

3

Nowa 

ś

cie

ż

ka rozszerzaj

ą

ca

p = {s

y

x

t}; 

6

2

9

c

f

(p) = 3

6

6

3

y

x

background image

s

t

y

x

z

4

2

u

v

| f

i+4

| = | f

i+3

| + c

f

(p) = 15 + 3 = 18

6

1

6

3

Z poprzedniego kroku: | f

i+3

| = 15

6

2

9

6

9

3

6

3

Modyfikacja przepustowo

ś

ci residualnych

background image

s

t

y

x

z

4

u

v

s

t

y

x

z

6

4

9

7

3

2

8

u

v

3

9

6

9

6/6

0/4

6/9

6/7

3/3

0/2

6/8

3/3

9/9

6/6

9/9

Sie

ć

pierwotna