Tải bản đầy đủ (.pdf) (48 trang)

Tìm hiểu thuật toán tối ưu trên đồ thị và hướng ứng dụng (Khóa luận tốt nghiệp)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.68 MB, 48 trang )

L IC
tài Nghiên c u khoa h c này là nh s
. Em xin chân thành c

ng d n và

c a gi ng viên Ts.
c a th y.
Em
t c
y cô trong khoa K thu t Công ngh thông tin
i h c Qu
n tình gi ng d y, truy
t nh ng ki n th c quý báu
và t
u ki n cho em hoàn thành báo cáo này.
M
g ng r t nhi
tài v i t t c s n l c c a b n
i nh ng thi u sót. Em r t mong nh
c s ng h
c a các th y cô và các b n.
Qu ng Bình, ngày 20 tháng 05
Sinh viên th c hi n

Ph m Tu n V


M

U .......................................................................................................1



1. Lý do ch
tài .......................................................................................1
2. M c tiêu nghiên c u ..................................................................................1
3. N i dung nghiên c u..................................................................................1
4. i
ng, ph m vi nghiên c u .................................................................1
u ...........................................................................1
1:

LÝ THUY

1.1. M t s khái ni
1.1.2. Các lo
th

TH ..............................3

th ....................................................3

th .................................................................................3
th ......................................................................................3
th b ph

th
th E

th ......................3

th b ph n....................................................................3

th .................................................................3
th n a E

th Hamilton..................................4

th
th n a Euler ..........................................................4
th Hamilton ...................................................................................8
1.4. Bi u di

th trên máy tính ................................................................8

1.4.1. Bi u di n b ng ma tr n k , ma tr n tr ng s : ......................................8
1.4.2. Danh sách c nh ....................................................................................9
1.4.3. Danh sách k ........................................................................................9
2: GI I THI U M T S THU
2.1. Thu t toán tìm ki

TH .....12

th ............................................................12

2.1.1. Tìm ki m theo chi
th ..................................................12
2.1.2. Tìm ki m theo chi u r
th ................................................12
m tra tính liên thông ..........................................14
th có tr ng s

n nh t ........................14


n nh
th không có tr ng s . .........................14
n nh t.....................................................................15
2.2.3. Thu t toán Ford Bellman ................................................................15
2.2.4. Thu t toán Dijkstra ............................................................................15
2.2.5. Thu t toán Floyd
n nh t gi a t t c các c
nh. .....16
3: LU NG C
3.1. Gi i thi u lu ng c

NG

NG D NG .................18

i........................................................................18

3.1.1. Bài toán lu ng trên m ng...................................................................18
3.1.2. Bài toán lu ng c
i trong m ng ....................................................18
3.1.3. M ng, lu ng trong m ng, bài toán lu ng c
i .............................18
3.2.

ng d ng bài toán lu ng c

i trong m ng .....................................19



3.3. M t s bài toán t

h p ng d ng t bài toán lu ng ...................25

3.3.1. Bài toán v th y l i............................................................................26
3.3.2. Bài toán v h th
i di n chung..................................................27
3.3.3. V m t bài toán t
i r c. ...........................................................27
3.4. K t lu n.................................................................................................28
4:

...............................................29

4.1. Phát bi u bài toán..................................................................................29
4.2. Yêu c u bài toán ...................................................................................30
4.3. C
...........................................................................31
..................................................................33
.....................................34
..............................................................................35
K T LU
NG PHÁT TRI N...................................................36
TÀI LI U THAM KH O ...........................................................................37
PH L C.....................................................................................................38


DANH M C T

VI T T T:


Ti ng vi t:
NNLT

Ti ng anh:
Linked Adjancency List
Strongly connected
Depth first search (DFS)
BFS

D


DANH M C HÌNH NH
Hình 1.1
th
th không liên thông.....................................4
Hình 1.2. Liên thông m nh và liên thông y u ...............................................4
Hình 1.3. B y cây c u trên sông Pregel.........................................................5
Hình 1.4
th bi u di n thành ph Konigsberg .........................................5
Hình 1.5
th
th n a Euler ....................................................6
Hình 1.6
........................................................................8
Hình 1.7
1 .....................................9
Hình 4.1. C
..................................................................31

Hình 4.2. Giao di n c a ng d ng ..............................................................32
Hình 4.3. Giao diên ch y ng d ng .............................................................32
Hình 4. 4. V
m.......................................................................................33
Hình 4.5. V
ng......................................................................................34
Hình 4.6. Các ch
...............................................35


M

U

1.
T

Hi n nay có nhi u tài li
t v lý thuy
th v i nh ng
n
giúp cho nh
i mu n nghiên c u v lý thuy
th tham
kh o. Tuy nhiên h u h t các tài li
u ch nghiên c u v lý thuy t và xây d ng các
thu t toán chung
u tài li u vi t v các ng d ng các
thu
gi i bài toán ng d ng c th .

hi n th c hóa trong vi c h c t p, gi ng
d y Tin h c
ng Trung h c ph
i h c, Cao
ng thì lu



3.
-

:

4.
-

.

.
5.
u lý thuy t:
+ Nghiên c u lý thuy t v
th , các thu t toán ng d ng c
+ H th ng hóa m t s ng d ng c
th .
1

th .



S d

u th c nghi m:
u lý thuy t k t h p v i nghiên c u th c nghi m:

+ Nghiên c u, tìm hi u ng d
+ Vi

tài trong th c t .

bài toán ng d ng c th .

2


1:

LÝ THUY

TH

th
:
th là m t c u trúc r i r c bao g
nh và các c nh n i các
nh c
th . Các lo
th
c phân bi t b i ki u và s
ng c nh

n
th [2].
- N u c nh u =
nh phân bi
nh k
nhau.
- N u u = (x,x) thì u là c
nh trùng nhau ta g i
t khuyên
- N u u = (x,y) mà x,y là c
nh có phân bi t th t hay có
ng t
n y thì
u là m
x là g c còn y là ng n ho
nh vào.
- Khi gi a c
nh (x, y) có nhi
t c nh thì ta nói nh ng c nh cùng c p
nh là nh ng c nh song song hay là c nh b i.
1.1.2. Các lo
th
th
ng
th
cg
th
ng n u t t c các c nh u U mà c p
nh thu
X) không phân bi t th t

th
ng là
th không có b t k m t cung nào [2].
th
ng
th
cg
th
ng n u t t c các c nh u U mà c p
nh thu
X) có
phân bi t th t
th
th mà m i u=(x, y)
u là cung [2].
th
th b ph n
th G = <X,U>
-N
th
ts
n còn l i c
th
cg
-N
th G ta b
ts c
l ic
th
cg

th b ph n c
1.2.2. Tính
th
1.2.2.1.
:

nh(cung) xu t phát t
th con c
th
nguyên
nh thì ph n còn
th G.

[2].
G: liên thông;
H: không liên thông

3


G

H

Hình 1.1.

th

th không liên thông


G=(V,E) và v
trong
G thì
[2].
1.2.2.2.

là liên thông

Hình 1.2. Liên thông m nh và liên thông y u
[2].
:
[2].
E

E

Hamilton

1.3.1.
th Euler
th n a Euler
Xét bài toán 7 cây c u Konigsberg [3]
Thành ph Konigsberg thu
c C ng hoà Litva có con sông Pregel ch y qua,
gi a sông có cù lao Kneiphof t o nên b
i
ng 7 cây c
n
t này l i v i nhau.


4


i Thu

i
xu t

có th

7 cây c u, m i c u ch
t l n r i quay tr v
c hay không?
Bài toán
a thành ph . H háo h
c r ng bài toán trên là không
gi
c.

Hình 1.3. B y cây c u trên sông Pregel
N u bi u di n m
t: A, B, C, D b
có c nh n i gi a chúng n u có c u n
i c nh c
th
t l n.
Hình 1.4.

Trong lý thuy
t p h p các c nh. T


th

nh c a m

th

ng và
vi c tìm m t

th bi u di n thành ph Konigsberg

th

ph

.
- Chu trình Euler
5

nh, E là
chu


-

Hình 1.5
T

th


th n a Euler

u ki n c

cho s t n t i c a chu trình vô

:
[2].
(

(
1 khuyên.

+
+

.

z = (b, c).
y,

y,

6


ay
= (b, c) và y = (c,
át

có chu trình Euler C1, G2 có chu trình Euler C2,
G3 có chu trình Euler C3. Ta x
(a,
(b,
(c,
z = (b, c)

G
có chu trình Euler C1, G2
y ta có chu
: Cho
k/2.
[3].
n=1

b
và P

-2
R = {u
S = {u
T = {u
d I (v )

d O (v )

=

v V


v V

d I (v ) d O ( v )

k=

th

d O ( v ) d I (v )

=

v S

d I ( v ) d O (v )
v S

V : dI(v) = dO(v)}
V : dI(v) > dO(v)}
V : dI(v) < dO(v)}

v T

d O ( v ) d I (v )

=
th Euler vì nó có chu trình Euler a - e - c - d - e - b - a.
v T

7



th
a - b, vì th
th

Euler a - c - d - e - b - cth n a Euler.
Euler.

th Hamilton
1.3.2.1. Chu trình Hamilton
Gi s G =

th
tc

m tl n.
1.3.2.2.

ng.
nh c

th , m i

ng Hamilton
th G = <X, U>

nh m

t c các


t l n.

Hình 1.6

nào

phân tíc
1.4.1. Bi u di n b ng ma tr n k , ma tr n tr ng s :
1.4.1.1.
Xét
1, 2,. . . ,n}
e2,. . .,em }
A={ ai,j : i,j=1, 2,. . . ,n}
xác
ai, j
E và
ai,j
E, i, j=1, 2,. . .,n.

8

e1 ,


Hình 1.7.

1

1.4.1.2.

e.

C= {c[i,j], i,j=1, 2,. . .,n}
E
và c[i,j]=

(i,j)

E

là:
2

1.4.2. Danh sách c nh

Chú ý: Tro
1.4.3. Danh sách k

9


: Ke(v)=

u V: (v,u) E
for u Ke(v) do. . .

trúc Forward Star):
Const
m=1000; m-so canh
n= 100; n-so dinh

var
Ke:array[1..m] of integer;
Tro:array[1..n+1] of integer;
,n,
Tro[n+1]=2m+1.
for u Ke(v) do
begin
....
end.
:
For i:=Tro[v] to Tro[v+1]-1 do
Begin
U:=Ke[i];
....
End;

(Linked
Program AdjList;
Const
maxV=100;
Type
Link=^node;
node=record
v:integer;
next:link;
End;
Var
10



j,x,y,m,n,u,v:integer;
t:link;
Ke:array[1. .Vmax] of link;
Begin
(*Khoi tao*)
for j:=1 to n do Ke[j]:=nil;
for j:=1 to m do
begin
readln(x,y);
new(t); t^.v:=x, t^.next:=Ke[y]; Ke[y]:=t;
new(t); t^.v:=y, t^.next:=Ke[x]; Ke[x]:=t;
end;
for J:=1 to m do
begin
t:=Ke[j];
while t^.next<>nil do
begin
write(t^.v:4);
t:=t^.next;
end;
end;
readln;
End.
K t lu n: Lý thuy
th là m ng r t l n n m trong toán r i r
th
trò quan tr
toán cho tin h c và có nhi u ng d ng trong th c ti n. Vì v y
vi c nghiên c
lý thuy

th là r t c n thi t giúp cho vi c ng d ng xây d ng
các thu t toán c
th . Trong ph m vi nghiên c
tài, nh ng v n
mà tôi nêu
trên là m t ph n c a lý thuy
th , nh m m
c v cho quá trình nghiên c u

11


2: GI I THI U M T S

THU

TH

2.1. Thu
2.1.1. Tìm ki m theo chi
th
Tìm ki
u sâu hay tìm ki m theo chi u sâu (DFS) là m t thu t
toán duy t ho c tìm ki m trên m t cây ho c m t
th . Thu t toán kh
ut ig c
(ho c ch n m
c) và phát tri n xa nh t có th theo m i nhánh.
ng thu t toán:
1. DFS trên

ch và m

th

ng

i m t cu n
nh s
th

u, tránh b l
i
t c a trong mê cung.
2. Ta b
ut
nh s, bu
u cu n ch vào s
u nh này
u s là nh hi n hành u.
3. Bây gi , n
c nh (u,v) b t k .
4. N u c nh (u,v) d
n nh
v, ta quay tr v u.
5. N u nh v là nh m i, ta di chuy
nv
n ch
d u v là
t v thành nh hi n hành và l p l
c.

6. Cu i cùng, ta có th
n m t nh mà t
t c các c nh k v
u
d
n các nh
quay lui b ng cách cu
c
cu n ch và quay l
n khi tr l i m t nh k v i m t c nh
c khám
phá. L i ti p t
7. Khi chúng ta tr v s và không còn c nh nào k v
khám phá là
lúc DFS d ng.
Thu t toán:
Procedure DFS(v);
(* Tìm ki m theo chi u sâu b
ut
nh v; Các bi n Chuaxet,
Ke, là toàn c c*)
Begin
Tham_dinh(v);
Chuaxet[v] := false;
for u Ke(v) do
if Chuaxet[u] then DFS(u);
t xong *)
m theo chi u sâu
th
c th c hi n nh thu t toán sau:

BEGIN (* Initialiation *)
for v V do Chuaxet[u] := true;
for v V do
if Chuaxet[v] then DFS(v);
END.
2.1.2. Tìm ki m theo chi u r
th
12


Trong lý thuy
ki
th
nh c
th
ti p theo.

1.
2. L

th , tìm ki m theo chi u r ng (BFS) là m t thu t toán tìm
c tìm ki m ch bao g
cm t
nh k v
nh v a cho vào danh sách có th
ng t i

nh g

ng t i)

i và quan sát nó
ng quá trình tìm ki m và tr v k t qu .
nh k v
nh v

N
N u không ph i thì chèn t t c
i.
3. N
i là r ng, thì t t c
nh có th
c quan sát
d ng vi c tìm ki m và tr v "không th y".
4. N
i không r ng thì quay v
c 2.
Thu t toán:
Procedure BFS(v);
(* Tìm ki m theo chi u r ng b
ut
nh v; Các bi n
Chuaxet, Ke là bi n toàn c c *)
begin
QUEUE:= ;
QUEUE:<= v; (* K t n p v vào QUEUE *)
Chuaxet[v]:= false;
While QUEUE do
Begin
p <= QUEUE; (* L y p t QUEUE *)
nh(p);

for u Ke(v) do
if Chuaxet[u] then
begin
QUEUE <= u; Chuaxet[u]:= false;
end;
end;
end;
m theo chi u r
th th c hi n nh thu t toán sau:
BEGIN (* Initialization *)
for v V do Chuaxet[v]:= true;
for v V do
if Chuaxet[v] then BFS(v);
13


END.
m tra tính liên thông
nh
Gi s
th
n t.
phân tích, th t c DFS(s) (BFS(s)) s
t tc
nh thu c cùng m t
thành ph n liên thông v i s. Sau khi th c hi n xong th t c, n u Chuaxet[t] = true,
s n t, còn n u Chuaxet[t]=false thì t thu c
cùng thành ph n liên thông v i s, hay nói m t cách khác t n t i
s n t.
ng h p t n t

n Truoc[v
ghi nh
nh
v
mt s nv
i v i th t c DFS(v) c n s a câu l nh
if
if Chuaxet[u] then
begin
Truoc[u]:=v; DFS(u);
end;
i v i th t c BFS(v) c n s
i câu l nh câu l nh if trong
if Chuaxet[u] then
begin
QUEUE u; Chuaxet[u]:= false; Truoc[u]:= p;
end;
n tìm s
c khôi ph c theo quy t c sau:
T p1:=
2.
n nh
th không có tr ng s .
th không có tr ng s
th h u h n trên các c nh không có tr ng s . Bài
n nh t gi
th không có tr ng s G= U> là tìm
nh a, b sao cho có s các c nh là ít nh t [4].
Thu t toán

c 1: T
nh a ta ghi s
nh có c
nh a n ta ghi s 1.
Gi s
i i, t c là ta
c các t
nh là A(0) = {a}, A(1),
pt tc
nh
c ghi b i s
nh t p
b i s i + 1 là A(i+1) = {x / x X, x A(k) v i k = 0,...,i và t n t i y
A(i) sao cho t y có c nh (cung) t i x}. Do tính h u h n c
th , sau m t s h u
h
c, thu t toán d ng l i và cho k t qu là t p các nh có ch
s b i m là A(m).
c2
b
u này ch ng t
n b có m c nh
ng ng n nh
tìm t t c
ng
dài m ng n nh
t
n b, ta xu t phát t
cv
t c:

14


- Tìm t t c
nh có c nh t
c ghi s m-1, gi s
x[i,k] (k=1,2,..)
-V im
nh x[i,k] tìm t t c
nh có c nh v i x[i,k] (k=1,2...) ghi s m-2.
B ng cách lùi d n tr l
nm
nh ghi s
nh a.
T tc
c trên là
dài ng n
nh t là m c n tìm.
n nh t
Trong ph n này chúng ta ch
th
ng G=(V,E), |V| = n, |E|=m v i các
c gán tr ng s
i cung (u,v) E c
ng v i m t
s th c a(u,v) g i là tr ng s c a nó.
2.2.3. Thu t toán Ford Bellman
Procedure Ford_Bellman;
u vào:
th

ng G=(V,E) v
nh, s
nh xu t phát, a[u,v], u,
v V, ma tr n tr ng s ;
Gi thi t:
th không có chu trình âm.
u ra: Kho ng cách t
nt tc
nh còn l i d[v],
Truoc[v], ghi nh
n nh t t
n v.
Begin (* Kh i t o *)
for v V do
begin
d[v]:= a[s,v];
Truoc[v]:= s;
end;
d[s]:= 0;
for k:= 1 to n-2 do
for v V \ {s} do
for u V do
if d[v] > d[u] + a[u,v] then
begin
d[v]:= d[u] + a[u,v];
Truoc[v]:= u;
end;
end;
2.2.4. Thu t toán Dijkstra
Bài toán:


G=(V,E)

w: E

A
15


B. Th

X, Y, Z

X-Y-Z

X-Y.
d[v]
d, d[v]
d[v]
Thu t toán:
procedure Dijkstra;
u vào: th
ng G=(V,E) v
nh.
s
nh xu t phát, a[u,v],u.v V, ma tr n tr ng s ;
Gi thi t : a[u,v] 0, u,v V .
u ra: Kho ng cách t
nt tc
nh còn l i d[v,

v V. Truoc[v],v V ghi nh
n nh t t
n v*)
Begin (*kh i t o*)
for v V do
begin
d[v]:= a[s,v];
truoc[v]= s;
end;
d[s]:= 0; T:= V\{s}; (* T là t
nh có nhãn t m th i *)
while T do
begin
nh u T tho mãn d[u] = min{d[z]:z T};
T:= T\{u}; (* C
nh nhãn c
nh u *)
for v T do (* Gán l
nh trong T *)
if d[v] > d[u] + a[u,v] then
begin
d[v]:= d[u] + a[u,v];
Truoc[v]:= u;
end;
end;
end;
2.2.5. Thu t toán Floyd
n nh t gi a t t c các c p nh.
16



Cho G=(V,E) là m
th
ng, có tr ng s
ng
n nh t gi a
m ic
nh c a G, ta áp d ng thu t toán Dijkstra nhi u l n ho c áp d ng thu t toán
Gi s V={v1, v2, ..., vn} và có ma tr n tr ng s là W W0. Thu t toán Floyd xây
d ng dãy các ma tr n vuông c p n là Wk (
)
Procedure Floyd
Procedure Floyd;

d[i,j]=, i,j = 1, 2. . .,n,

p[i,j], i, j = 1, 2.. . , n,
begin
for i:=1 to n do
for j:=1 to n do
begin
d[i,j]:=a[i.j];
p[i.j]:=i;
end;
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if d[i,j]>d[i,k]+d[k,j] then
begin
d[i,j]+d[i,k]+d[k,j];

p[i,j]>p[k,j];
end;
end;

17


3: LU NG C

NG

NG D NG

3.1.1. Bài toán lu ng trên m ng.
Nhi u bài toán quy ho ch tuy n tính có th quy v bài toán làm c c ti u phí t n
v n chuy n hàng trong m t m ng (g
ng) sao
mb o
c các nhu c u m t s
t ngu n cung c p t i m t s nút khác.
c g i là các bài toán lu ng trên m ng ho c bài toán
tuy n tính. L p này bao g m các bài toán quen thu c trong th c t
v n t i, các bài toán m
n và m ng giao thông, các bài toán qu n lý và phân b
v
bài toán b nhi m, bài toán k ho
ng ng n nh t, bài
toán lu ng c
[6]
3.1.2. Bài toán lu ng c c i trong m ng

Bài toán lu ng c
i [1] trong m
t trong s nh ng bài toán t
th
c nh ng ng d ng r ng rãi trong th c t
nh ng ng d ng
thú v trong lý thuy t t h
xu
u nh
n
li n v i tên tu i c a hai nhà bác h c M là L.R.Fordvà D.R.Fulkerson. Bài toán lu ng
c
i trong m ng có nhi u ng d ng trong th c t
dòng l n nh t c a dòng v n t i gi a hai nút c a m t b
giao thông, bài toán tìm
lu ng d u l n nh t có th
tàu ch d u vào b ch a c a m t h th
ng
ng d n d
ng d ng c
gi
i vùng quê, bài toán v h th
i di n chung, bài toán phân nhóm sinh
ho t, bài toán l p l ch cho h i ngh
3.1.3. M ng, lu ng trong m ng, bài toán lu ng c
i
: M ng (Network) [1]
Ta g i m
th
ng G=(V,E)

tm
nh s không
m phát, duy nh t m
m
thu và m i cung e = (v,w)
c gán v i m t s không âm c(e) = c(v,w) g i là kh
a cung e.

Lu ng (Lu ng trong m ng)
Gi s cho m ng G=(V,E). Ta g i lu ng f trong m ng G=(V,E) là ánh x
R+ gán cho m i cung e =(v,w) E m t s th c không âm f(e) = f(v,w), g i là luông
trên cung e, tho
u ki n sau:
1. Lu ng trên m i cung e
t quá kh
u ki n cân b ng lu ng trên m
nh v b ng t ng lu

nh c a m ng : T ng lu ng trên các cung
nh v, n u v ¹ s,t:

18


:t
mà t

nh c a m ng mà t

n v, t


nh c a m ng

-

(B)) =t (W+(B)).Theo

n nó:
3.Giá tr c a lu ng f là s

Tính ch t c a lu ng.
V i t p B V, ký hi u:
W-(B) = { (a, b) E | a B,b B } W+(B) = { (a, b) E | a B,b B } -

+

(x)).

Cho m ng G=(V,E). Hãy tìm lu ng f* trong m ng v i giá tr lu ng val(f*) là l n
nh t. Lu
y ta s g i là lu ng c
i trong m ng.
y có th xu t hi n trong r t nhi u ng d ng th c t . Ch ng h n khi
c
l n nh t c a dòng v n t i gi a 2 nút c a m t b
giao thông.
Trong ví d này c a bài toán lu ng c
i x ch
t
và chúng t

h
ng v i dòng giao th
c
ch n. M t ví d khác là n
th
ng v i m t h th ng d n d
các
ng v
m phát có th có th là tàu ch d
m thu là b
ch a, còn nh
m n i gi a các ng là các nút c
th . Kh
a
ng ng v i ti t di n các ng.C n ph i tìn lu ng d u l n nh t có th
t d u vào b ch a.
Thu t toán Ford-Fulkerson [4]
Vi c ch
nh lý lu ng c
i-lát c t c c ti u ngay l p t c cho chúng ta
m t thu t toán Tìm lu ng c
i- thu t toán Ford-Fulkerson:
- Kh i t o m t lu ng b ng 0.
th
ng c
ng),
thì tìm m
, nâng lu ng d
n n a thì f là lu ng c
i.

a thu t toán Ford-Fulekerson b ng NNLT
d ng tìm ki
tìm m
th
ng.

19


Procedure Findpath(u:integer);
ng trên Gf }
Var
v:integer;
Front, rear: integer;
Begin
Trace [s]:= n+1;
For v :=1 to n do
Begin
{xét v k
f}
If (trace[v] = 0) and (c[u,v]>f[u,v]) then
Begin
Trace[v]:=u;
if v=t then {
c t thì d ng thu t toán }
Begin
path := True;
exit;
End;
findpath(v);

End;
if path =true then exit;
End;
End;
Procedure IncFlow
ng: f :=(f+ff)}
Var
Delta, u, v: Integer;
Begin
f}
Delta:= Maxint;
V :=t;
Repeat
U := trace[v];
If c[u,v] - f[u,v] < Delta then Delta := c[u,v] f[u,v] ;
V := u;
Until v = s;
{f := (f+ff)
V :=t;
Repeat
u := trace[v];
f[u,v] :=f[u,v] + Delta ;
20


×