Do Thi Va Cac Thuat Toan - Pham Tien Son

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 212

Mu.c lu.

c
`au
L`
o.i n
oi d

- a.i cu.o.ng v
`e d
`o thi.
1 D

1.1

1.2

1.3

- i.nh ngha v`a cac khai nie.m . . . . . . . . . . . . . . . . . . . . . . . . . . .


D

1.1.1

- `o thi. co hu.o.ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D

1.1.2

- `o thi. v`a anh xa. da tri. . . . . . . . . . . . . . . . . . . . . . . . . . .


D

10

1.1.3

- `o thi. vo hu.o.ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D

10

1.1.4

Cac di.nh ngha chnh . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

Ma tra.n bieu dien d`o thi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

1.2.1

Ma tra.n lien thuo.c dnh-cung . . . . . . . . . . . . . . . . . . . . . .

13

1.2.2

Ma tra.n lien thuo.c dnh-ca.nh . . . . . . . . . . . . . . . . . . . . . .

15

1.2.3

`e hay ma tra.n lien thuo.c dnh-dnh . . . . . . . . . . . . .


Ma tra.n k

17

1.2.4

Cac bieu dien cua d`o thi. . . . . . . . . . . . . . . . . . . . . . . . . .

18

Tnh lien thong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

1.3.1

`en v`a chu tr`nh . . . . . . . . . . . . . . . . . . . . . . . . .


Day chuy

23

1.3.2

- u.`o.ng di v`a ma.ch . . . . . . . . . . . . . . . . . . . . . . . . . . . .


D

24

1.3.3

Tnh lien thong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

http://www.ebook.edu.vn

1.4

1.5

1.6

1.3.4

`au, klien thong . . . . . . . . . . . . . . . . . . . . . . . . . . . .


C

28

1.3.5

- `o thi. lien thong ma.nh . . . . . . . . . . . . . . . . . . . . . . . . . .


D

31

Pha.m vi v`a lien thong ma.nh . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

1.4.1

Ma tra.n pha.m vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

1.4.2

`an lien thong ma.nh . . . . . . . . . . . . . . . . . .


T`m cac th`anh ph

36

1.4.3

Co. so. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

- ang cau cua cac d`o thi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


D

41

1.5.1

1dang cau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

1.5.2

2dang cau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

Cac d`o thi. da. c bie.t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

1.6.1

- `o thi. khong co ma.ch . . . . . . . . . . . . . . . . . . . . . . . . . .


D

46

1.6.2

- `o thi. phang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D

46

`o thi.
2 C
ac s
o co. ban cua d

49

2.1

Chu so . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49

2.2

Sac so . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

Cach t`m sac so . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

2.3

So on d.inh trong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

2.4

So on d.inh ngo`ai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

2.5

Phu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65

2.6

Nhan cua d`o thi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

2.6.1

`e t
`on ta.i v`a duy nhat . . . . . . . . . . . . . . . . . . .
Cac di.nh l
y v

69

2.6.2

Tr`o cho.i Nim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

72

2.2.1

http://www.ebook.edu.vn

`e d
3 C
ac b`
ai to
an v
u.`
o.ng d
i
3.1

3.2

3.3

3.4

- u.`o.ng di gi
D
u.a hai dnh

75
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

3.1.1

- u.`o.ng di gi
D
u.a hai dnh . . . . . . . . . . . . . . . . . . . . . . . . .

75

3.1.2

- `o thi. lien thong ma.nh . . . . . . . . . . . . . . . . . . . . . . . . . .


D

76

- u.`o.ng di ngan nhat gi


D
u.a hai dnh . . . . . . . . . . . . . . . . . . . . . . .

78

3.2.1

Tru.`o.ng ho..p ma tra.n tro.ng lu.o..ng khong am . . . . . . . . . . . . . .

78

3.2.2

Tru.`o.ng ho..p ma tra.n tro.ng lu.o..ng tu`


yy
. . . . . . . . . . . . . . . . .

82

- u.`o.ng di ngan nhat gi


D
u.a tat ca cac ca.p dnh . . . . . . . . . . . . . . . . .

87

3.3.1

Thua.t toan Hedetniemi (tru.`o.ng ho..p ma tra.n tro.ng lu.o..ng khong am)

88

3.3.2

Thua.t toan Floyd (tru.`o.ng ho..p ma tra.n tro.ng lu.o..ng tu`


yy
) . . . . . .

93

Phat hie.n ma.ch co do. d`ai am . . . . . . . . . . . . . . . . . . . . . . . . . .

96

Ma.ch toi u.u trong d`o thi. co hai tro.ng lu.o..ng . . . . . . . . . . . . . .

96

3.4.1

4 CAY

99

4.1

Mo. d`au . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.2

Cay Huffman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

4.3

99

4.2.1

Cac bo. ma tot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

4.2.2

Ma Huffman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Cay bao tr`


um . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.3.1

`eu ro.ng xac d.inh cay bao tr`


Thua.t toan t`m kiem theo chi
um . . . . . 107

4.3.2

`eu sau xac di.nh cay bao tr`


Thua.t toan t`m kiem theo chi
um . . . . . 107

4.3.3

T`m cay bao tr`


um du..a tren hai mang tuyen tnh . . . . . . . . . . . 108

4.3.4

Thua.t toan t`m tat ca cac cay bao tr`


um . . . . . . . . . . . . . . . . 112

4.3.5

He. co. so. cua cac chu tr`nh do.c la.p . . . . . . . . . . . . . . . . . . . 112
3

http://www.ebook.edu.vn

4.4

4.5

Cay bao tr`


um toi thieu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.4.1

Thua.t toan Kruskal

. . . . . . . . . . . . . . . . . . . . . . . . . . . 116

4.4.2

Thua.t toan Prim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

4.4.3

Thua.t toan Dijkstra-Kevin-Whitney

. . . . . . . . . . . . . . . . . . 121

B`ai toan Steiner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

5 B`
ai to
an Euler v`
a b`
ai to
an Hamilton
5.1

127

B`ai toan Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127


5.1.1

`en Euler . . . . . . . . . . . . . . . . . . . . 129


Thua.t toan t`m day chuy

5.2

B`ai toan ngu.`o.i du.a thu. Trung Hoa . . . . . . . . . . . . . . . . . . . . . . . 131

5.3

B`ai toan Hamilton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135


5.3.1

`eu kie.n c
`an de t
`on ta.i chu tr`nh Hamilton . . . . . . . . . . . . 138
Cac di

5.3.2

`eu kie.n du v
`e su.. t
`on ta.i chu tr`nh Hamilton
Cac di

5.3.3

`eu kie.n du v
`e su.. t
`on ta.i ma.ch Hamilton . . . . . . . . . . . . . 142
Cac di

. . . . . . . . . . 139

- `
6 D
o thi. ph
a ng

149

6.1

- .inh ngha v`a cac v du. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149


D

6.2

Cac bieu dien khac nhau cua mo.t d`o thi. phang . . . . . . . . . . . . . . . . 151

6.3

Cac tnh chat cua d`o thi. phang . . . . . . . . . . . . . . . . . . . . . . . . . 154

6.4

Phat hie.n tnh phang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157


6.4.1

Kiem tra tnh phang . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

6.5

- oi ngau h`nh ho.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167


D

6.6

- oi ngau to ho..p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170


D

7 Ma.ng v
a.n ta i

173
4

http://www.ebook.edu.vn

7.1

Mo. d`au . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

7.2

`ong lo.n nhat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174


B`ai toan lu

7.3

7.4

7.2.1

`ong lo.n nhat . . . . . . . . . . . . . . 180


Thua.t toan gan nhan de t`m lu

7.2.2

- `o thi. di
`eu chnh lu
`ong . . . . . . . . . . . . . . . . . . . . . . . . . . 181
D

7.2.3

`ong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Phan tch lu

`ong lo.n nhat . . . . . . . . . . . . . . . 183


Cac cai bien do.n gian cua b`ai toan lu
7.3.1

`eu ngu
`on v`a nhi
`eu dch . . . . . . . . . . . . . . . . 183
Cac d`o thi. co nhi

7.3.2

Cac d`o thi. vo.i r`ang buo.c ta.i cac cung v`a dnh . . . . . . . . . . . . . 184

7.3.3

`e lu
`ong . . . . . . . . . . . . . . 185
Cac d`o thi. co ca.n tren v`a ca.n du.o.i v

`ong vo.i chi ph nho nhat . . . . . . . . . . . . . . . . . . . . . . . . . . . 186


Lu
7.4.1

7.5

Thua.t toan Klein, Busacker, Gowen . . . . . . . . . . . . . . . . . . . 186

Ca.p ghep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189


7.5.1

`e ca.p ghep . . . . . . . . . . . . . . . . . . . . . . . . 189


Cac b`ai toan v

7.5.2

`an . . . . . . . . . . . . . . . . 192
Ca.p ghep lo.n nhat trong d`o thi. hai ph

7.5.3

`an . . . . . . . . . . . . . . . 193
Ca.p ghep ho`an hao trong d`o thi. hai ph

A Thu. vi
e.n Graph.h

197

T`
ai li
e.u tham kha o

209

http://www.ebook.edu.vn

http://www.ebook.edu.vn

`au
L`
o.i n
oi d

Trong thu..c te de mieu ta mo.t so t`nh huong ngu.`o.i ta thu.`o.ng bieu thi. b`a ng mo.t h`nh anh
`om cac diem (cac dnh)-bieu dien cac thu..c the-v`a ve cac doa.n thang noi ca.p cac dnh bieu
g
dien moi quan he. gi
u.a ch
ung. Nh
u.ng h`nh nhu. the thu.`o.ng go.i l`a cac d`o thi.. Mu.c dch cua
giao tr`nh n`ay cung cap nh
u.ng kien th
u.c co. ban de nghien c
u.u cac d`o thi.. Cac d`o thi. xuat
`eu lnh vu..c vo.i cac ten go.i khac nhau: cau tr
hie.n trong nhi
uc trong cong tr`nh xay du..ng,
.
.
.
`en thong, cau tr
ma.ch trong die.n tu , lu o. c d`o quan he., cau tr
uc truy
uc to ch
u.c
trong xa ho.i v`a kinh te, cau tr
uc phan tu. trong hoa ho.c, van van.
`eu lnh vu..c, co rat nhi
`eu nghien c
Do nh
u.ng u
.ng du.ng ro.ng rai cua no trong nhi
u.u
`an day; mo.t nhan to chu yeu gop ph
`an th
xung quanh l
y thuyet d`o thi. trong nh
u.ng nam g
uc
.
.
.

`
da y su. phat trien do l`a xua t hie.n cac may tnh lo n co the thu. c hie.n nhieu phep toan vo.i
toc do. rat nhanh. Vie.c bieu dien tru..c tiep v`a chi tiet cac he. thong thu..c te, chang ha.n cac
`en thong, da du.a den nh
ma.ng truy
u.ng d`o thi. co kch thu.o.c lo.n v`a vie.c phan tch th`anh
`eu v`ao cac thua.t toan tot c
cong he. thong phu. thuo.c rat nhi
ung nhu. kha nang cua may
tnh. Theo do, giao tr`nh n`ay se ta.p trung v`ao vie.c phat trien v`a tr`nh b`ay cac thua.t toan
de phan tch cac d`o thi..
Cac phu.o.ng phap phan tch v`a thiet ke cac thua.t toan trong giao tr`nh cho phep sinh
vien co the viet de d`ang cac chu.o.ng tr`nh minh ho.a. Giao tr`nh du.o..c bien soa.n cho cac doi
tu.o..ng l`a sinh vien Toan-Tin v`a Tin ho.c.
u. C de minh ho.a, tuy nhien co the de d`ang chuyen doi
Giao tr`nh su. du.ng ngon ng
`an co mo.t so kien th
`e ngon ng
sang cac ngon ng
u. khac; v`a do do, sinh vien c
u.c v
u. C. Ngo`ai
.
.
.
.
`au het cac chu o ng tr`nh thao tac tren cau tr
ra, h
uc d
u lie.u nhu danh sach lien ket, nen d`oi
.
y nang la.p tr`nh tot.
hoi sinh vien phai co nh
u ng k
sau:

`om bay chu.o.ng v`a mo.t ph


`an phu. lu.c vo.i nh
Giao tr`nh bao g
u.ng no.i dung chnh nhu.

`e d`o thi..
Chu.o.ng th
u. nhat tr`nh b`ay nh
u.ng khai nie.m can ban v
ngha thu..c tien cua cac so n`ay.
Chu.o.ng 2 tr`nh b`ay nh
u.ng so co. ban cua d`o thi.. Y
7

http://www.ebook.edu.vn

Chu.o.ng 3 t`m hieu b`ai toan t`m du.`o.ng di ngan nhat.


.ng du.ng cua cay Huffman trong nen d
`e cay. U
Chu.o.ng 4 d`e ca.p den khai nie.m v
u.
.
lie.u. Ngo`ai ra xay du. ng cac thua.t toan t`m cay bao tr`
um nho nhat.
B`ai toan Euler v`a b`ai toan Hamilton v`a nh
u.ng mo. ro.ng cua ch
ung se du.o..c noi den
trong Chu.o.ng 5.
Chu.o.ng 6 nghien c
u.u cac tnh chat phang cua d`o thi.; v`a cuoi c`
ung
Chu.o.ng 7 t`m hieu cac b`ai toan tren ma.ng va.n tai.
`an phu. lu.c tr`nh b`ay cac cau tr
`an thiet de
Ngo`ai ra, ph
uc d
u. lie.u v`a nh
u.ng thu tu.c c
.
.
.
.
.
do n gian hoa cac doa.n chu o ng tr`nh minh ho.a cac thua.t toan du o. c tr`nh b`ay.
`an d`au tien nen khong tranh khoi kha nhi
`eu thieu sot. Tac
Giao tr`nh du.o..c bien soa.n l
.
.
gia mong co nh
u ng dong gop t`
u ba.n do.c.
`eu ngu.`o.i m`a khong the lie.t ke
Toi xin cam o.n nh
u.ng gi
up do. da nha.n du.o..c t`
u. nhi
het, da.c bie.t l`a cac ba.n sinh vien, trong qua tr`nh bien soa.n giao tr`nh n`ay.
- `a La.t, ng`ay 5 thang 3 nam 2002
D
.
PHA
. M Tien So n

http://www.ebook.edu.vn

Chu.o.ng 1
- a.i cu.o.ng v
`e d
`o thi.
D

- i.nh ngha v`
D
a c
ac kh
ai ni
e.m

1.1
1.1.1

- `
D
o thi. c
o hu.
o.ng

- `o thi. co hu.o.ng G = (V, E) g


`om mo.t ta.p V cac ph
`an tu. go.i l`a dnh (hay n
D
ut) v`a mo.t ta.p
.
.
.
.
.
.
E cac cung sao cho moi cung e E tu o ng u
ng vo i mo.t ca.p cac dnh du o. c sap th
u. tu... Neu
co du
ng mo.t cung e tu.o.ng u
.ng cac dnh du.o..c sap th
u. tu.. (a, b), ta se viet e := (a, b).
Ch
ung ta se gia su. cac dnh du.o..c danh so l`a v1 , v2 , . . . , vn hay gian tie.n, 1, 2, . . . , n,
trong do n = #V l`a so cac dnh cua d`o thi..
Neu e l`a mo.t cung tu.o.ng u
.ng ca.p cac dnh du.o..c sap th
u. tu.. vi v`a vj th` dnh vi go.i l`a
goc v`a dnh vj go.i l`a ngo.n; cung e go.i l`a lien thuo.c hai dnh vi v`a vj . Ch
ung ta se thu.`o.ng
k
y hie.u m = #Eso ca.nh cua d`o thi. G. Cac ca.nh thu.`o.ng du.o..c danh so l`a e1 , e2 , . . . , em .
Mo.t cach h`nh ho.c, cac dnh du.o..c bieu dien bo.i cac diem, v`a e = (vi , vj ) du.o..c bieu
dien bo.i mo.t cung noi cac diem vi v`a vj .
Mo.t cung co goc tr`
ung vo.i ngo.n go.i l`a khuyen.
`eu ho.n mo.t cung vo.i goc ta.i vi v`a ngo.n ta.i vj th` G go.i l`a da d`o thi. v`a cac
Neu co nhi
- o.n d`o thi. co hu.o.ng l`a d`o thi. khong khuyen trong do hai
.ng go.i l`a song song. D
cung tu.o.ng u
`eu nhat mo.t cung (vi , vj ). Chang ha.n, d`o thi. trong H`nh 1.1 co
dnh bat k`
y vi v`a vj co nhi
cung e8 l`a khuyen; cac cung e4 v`a e9 l`a song song do c`
ung tu.o.ng u
.ng ca.p dnh v3 v`a v4 .
9

http://www.ebook.edu.vn

e4

..
....................................................................................................
..................
..........
..........
......
......
..
.
.................................................................................................................................................................
.
....
.. ...........
.. ....
.........
.
..................
............ ....
.
.
.
...
.
.
.
.
.
.
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....
.
...............................................................
.
...
...
.
.
.
...
...
...
..
...
...
....
...
...
...
...
...
...
...
...
...
...
.
....
.
...
....
..
...
...
...
...
...
...
...
...
....
...
...
.
....
.
.
.
...
..
...
...
..
..........
...
..
.........
...
...
..
..........
.
...
.
.
.
....
..
.
....
....
...
..
...
.....
...
...
...
........
...
..
........
...
..
...
.....
.
.
.
.
.
.
.
...
....
......
...
...
.....
....
...
...
......
......
...
...
...
......
.
.
.
...
.
.
....
...
...
.......
..
...
.......
...
..
...
.......
..
...
........
...
... ....
........
.
.
.
.
.
.
.
.
.
.... ...
.......................................................................................................................................................................
... ....
...
...
..
..
.
...
.
..
.
.......
...
...
.... ......
.......

v2

e3

v3

v4

e9

e1

e2

v1

e6

e5

e7

v5

e8

H`nh 1.1: V du. cua 2d`o thi. co hu.o.ng.

1.1.2

- `
D
o thi. v`
a
anh xa. d
a tri.

y hie.u (x) := {y V | (x, y) E}. Khi do ta co mo.t anh xa. da tri.


Vo.i moi x V, k
: V 2V , x 7 (x). K
y hie.u 1 l`a anh xa. (da tri.) ngu.o..c cua .
Neu G l`a do.n d`o thi., th` d`o thi. n`ay ho`an to`an du.o..c xac d.inh bo.i ta.p V v`a anh xa. da
tri. t`
u. V v`ao 2V . V` va.y, d`o thi. n`ay c`on co the k
y hie.u l`a G = (V, ).
Neu xoa cung e9 trong H`nh 1.1 ta nha.n du.o..c do.n d`o thi. v`a do do co the bieu dien
bo.i anh xa. da tri. . Trong tru.`o.ng ho..p n`ay ta co
(v1 ) = {v2 },

1.1.3

(v2 ) = {v1 , v3 },

(v3 ) = {v4 , v5 },

(v4 ) = {v5 },

(v5 ) = {v1 , v5 }.

- `
D
o thi. v
o hu.
o.ng

Khi nghien c
u.u mo.t so tnh chat cua cac d`o thi., ta thay r`a ng ch
ung khong phu. thuo.c v`ao
.
.
`an phan bie.t su.. khac nhau gi
u.a cac diem bat d`au v`a
hu o ng cua cac cung, t
u.c l`a khong c
- i
`eu n`ay do.n gian l`a moi khi co t nhat mo.t cung gi
u.a hai dnh ta khong quan
ket th
uc. D
.
.
ung.
tam den th
u tu. cua ch
Vo.i moi cung, t
u.c l`a moi ca.p co th
u. tu.. (vi , vj ) ta cho tu.o.ng u
.ng ca.p khong co th
u.
tu.. (vi , vj ) go.i l`a cac ca.nh. Tu.o.ng du.o.ng, ta noi ra` ng ca.nh l`a mo.t cung m`a hu.o.ng da bi. bo
`e h`nh ho.c, ca.nh (vi , vj ) du.o..c bieu dien bo.i cac doa.n thang (hoa.c cong) v`a khong
quen. V
co m
ui ten lien thuo.c hai diem tu.o.ng u
.ng hai dnh vi v`a vj .
10

http://www.ebook.edu.vn

`e khao sat ta.p E l`a


Nghien c
u.u cac tnh chat vo hu.o.ng cua d`o thi. G = (V, E) du.a v
.
.
.
.
`an tu m`a moi ph
`an tu l`a mo.t ca.p hai dnh
ta.p cac ca.nh, t
u c l`a, mo.t ta.p h
u u ha.n cac ph
phan bie.t hay d`ong nhat cua V.
- a d`o thi. vo hu.o.ng l`a d`o thi. m`a co the co nhi
`eu ho.n mo.t ca.nh lien thuo.c hai dnh.
D
- `o thi. go.i l`a do.n neu no khong co khuyen v`a hai dnh bat k`
`eu nhat mo.t ca.nh
D
y co nhi
lien thuo.c ch
ung.
e4
v...2................................................................e.......3.......................................................v.......3...........................................................................................................................................................
.. ..
..............................
... v4
........
.........
...
............. ....
............................
..
...
...
.....................................................................
.
....
...
..
...
.
.
.
.
...
...
.
..
e9
....
...
..
..
...
.
...
...

e1

...
...
....
...
...
...
...
...
...
...
...
...
...
..
.
...
....
.
...
..
...
..
...
...
...
...
...
...
..
...
...
...
...
..
.
.
.
.
.....
..
...
....
...
....
...
...
...
.....
...
.....
...
...
.....
...
.
.
..
.
.
.
.
.
...
.....
....
...
.....
...
...
...
.....
...
..
......
...
...
..
......
.
.
.
.
.
.
.
.
.
...
.
......
...
....
...
......
...
...
...
......
...
.......
...
...
.......
.
...
.
.
..
.
.
.
.
.
.
... ...
.......
...
... ...
........
....................................................................................................................................................................
... .....
...
....
...
..
.....
..
..
...
..
...
.
.
.... .....
.......

e2

v1

e6

e5

e7

v5

e8

- `o thi. vo hu.o.ng tu.o.ng u


.ng d`o thi. trong H`nh 1.1.
H`nh 1.2: D

1.1.4

C
ac d
i.nh ngha chnh

`e nhau neu ch
Hai cung, hoa.c hai ca.nh go.i l`a k
ung co t nhat mo.t dnh chung. Chang ha.n,
`e nhau. Hai dnh vi v`a vj go.i l`a k
`e nhau neu t
`on ta.i
hai ca.nh e1 v`a e3 trong H`nh 1.2 l`a k
`e nhau (lien
ca.nh hoa.c cung ek lien thuo.c ch
ung. V du. trong H`nh 1.2 hai dnh v2 v`a v3 l`a k
.
.
`

thuo.c bo i ca.nh e3 ), nhu ng dnh v2 v`a v5 khong ke nhau.


B
a.c v`
a nu.a b
a.c
+
`am lan) l`a so cac cung
Ba.c ngo`ai cua dnh v V, k
y hie.u d+
eu khong so.. nh
G (v) (hay d (v) n

`am
co dnh v l`a goc. Ba.c trong cua dnh v V, k
y hie.u dG (v) (hay d (v) neu khong so.. nh
lan) l`a so cac cung co dnh v l`a ngo.n.

Chang ha.n, d`o thi. co hu.o.ng trong H`nh 1.1 co d+ (v2 ) = 2, d (v2 ) = 1.
11

http://www.ebook.edu.vn

Hien nhien ra` ng, tong cac ba.c ngo`ai cua cac dnh ba` ng tong cac ba.c trong cua cac
dnh v`a b`a ng tong so cung cua d`o thi. G, t
u.c l`a
n
X
i=1

d+ (vi ) =

n
X

d (vi ) = m.

i=1

Neu G l`a d`o thi. vo hu.o.ng, ba.c cua dnh v V, k


y hie.u dG (v) (hay d(v) neu khong so..
`am lan) l`a so cac ca.nh lien thuo.c dnh v vo.i khuyen du.o..c dem hai l
`an. V du. d`o thi. vo
nh
.
.
hu o ng trong H`nh 1.2 co d(v2 ) = 3, d(v5 ) = 5.

C
ac cung (ca.nh) li
en thu
o.c t
a.p A V. C
ac d

oi chu tr`nh
Gia su. A V. K
y hie.u + (A) l`a ta.p tat ca cac cung co dnh goc thuo.c A v`a dnh ngo.n
thuo.c Ac := V \ A, v`a (A) l`a ta.p tat ca cac cung co dnh ngo.n thuo.c A v`a dnh goc thuo.c
- a.t
Ac . D
(A) = + (A) (A).
Ta.p cac cung hoa.c ca.nh co da.ng (A) go.i l`a doi chu tr`nh cua d`o thi..

- `
D
o thi. c
o tro.ng s
o
- `o thi. co tro.ng so neu tren moi cung (hoa.c ca.nh) e E co tu.o.ng u
.ng mo.t so thu..c w(e) go.i
D
l`a tro.ng lu.o..ng cua cung e.
- `
D
o thi. d

oi x
u.ng
- `o thi. co hu.o.ng go.i l`a doi x
D
u.ng neu co bao nhieu cung da.ng (vi , vj ) th` c
ung co bay nhieu
cung da.ng (vj , vi ).
- `
D
o thi. phan d

oi x
u.ng
- `o thi. co hu.o.ng go.i l`a phan doi x
D
u.ng neu co cung da.ng (vi , vj ) th` khong co cung da.ng
(vj , vi ).
12

http://www.ebook.edu.vn

- `
`ay d
D
o thi. d

u
- `o thi. vo hu.o.ng go.i l`a d`ay du neu hai dnh bat k`
`on ta.i mo.t ca.nh da.ng (vi , vj ).
D
y vi v`a vj t
.
.
.
.
.
- o n d`o thi. vo hu o ng d`ay du n dnh du o. c k
D
y hie.u l`a Kn .

- `
D
o thi. con
- `o thi. con du.o..c sinh bo.i ta.p A l`a d`o thi. GA := (A, EA ) trong do cac dnh l`a
Gia su. A V. D
.
`an tu cua ta.p A v`a cac cung trong EA l`a cac cung cua G m`a hai dnh no lien thuo.c
cac ph
thuo.c ta.p A.
Neu G l`a d`o thi. bieu dien ban d`o giao thong cua nu.o.c Vie.t Nam th` d`o thi. bieu dien
- `a La.t l`a mo.t d`o thi. con.
ban d`o giao thong cua th`anh pho D

- `
D
o thi. b
o. ph
a.n
- `o thi. bo. pha.n sinh bo.i ta.p U l`a d`o thi. vo.i ta.p dnh V
Xet d`o thi. G = (V, E) v`a U E. D
v`a cac cung thuo.c U (cac cung cua E \ U bi. xoa khoi G).

- `
D
o thi. con b
o. ph
a.n
- `o thi. con bo. pha.n sinh bo.i ta.p A v`a U l`a d`o thi.
Xet d`o thi. G = (V, E) v`a A V, U E. D
bo. pha.n cua GA sinh bo.i U.

1.2

`o thi.
Ma tr
a.n bi
eu di
en d

1.2.1

Ma tr
a.n li
en thu
o.c d
nh-cung

Ma tra.n lien thuo.c dnh-cung cua d`o thi. G = (V, E) l`a ma tra.n A = (aij ), i = 1, 2, . . . , n, j =
`an tu. 0, 1 v`a 1, trong do moi co.t bieu dien mo.t cung cua G v`a moi
1, 2, . . . , m, vo.i cac ph
`an tu. cua co.t k ba` ng
h`ang bieu dien mo.t dnh cua G. Neu ek = (vi , vj ) E th` tat ca cac ph
khong ngoa.i tr`
u.
aik = 1, ajk = 1.
13

http://www.ebook.edu.vn

V du. 1.2.1 Ma tra.n lien thuo.c dnh-cung cua d`o thi. trong H`nh 1.3 l`a
e1 e2 e3 e4 e5

a +1 +1
0
0
0
b
0 +1 +1
0
1

.
c 0 1 1
0 +1
d
0
0
0 1 1

a...............................................................................e.........1.............................................................................b...
.
................
.
.....
...... .....
......
......
...
......
......
...
......
......
.
.
.
.
.
......
.
...
......
......
e
...
4
......
......
.
.
.
.
..
.
...
...
...
......
......
......
...
......
......
..
......
......
......
......
...........
...... ............
...
........
.
.
...
.... ..........
.
.
.
.
.
...
......
...
........
......
...
........
.............
...
.........
.
.
.
.
.
.
...
.
.
.
.
......
....
.
.
...
.
.
.
.
.
.
......
....
.
...
.
.
.
.
.
.
.
......
....
...
.
.
.
.
.
.
.
.
......
...
....
.
.
.
.
.
.
.
.
......
.
....
.
.
.
.
.
.
.
.
...... ....
....
.
.
.
.
.
.
.
.
.
.
.
.....................................................................................................................................................................

e3

e2

e5

H`nh 1.3:

Nhac la.i r`a ng, ma tra.n vuong go.i l`a unimodular neu di.nh th
u.c cua no ba` ng 1 hoa.c
1. Ma tra.n A cap m n go.i l`a total unimodular neu tat ca cac ma tra.n vuong con khong
suy bien cua A l`a unimodular.
`e 1.2.2 Ma tra.n lien thuo.c dnh-cung cu a d`o thi. G = (V, E) l`a total unimodular.
M
e.nh d

Ch
u.ng minh. Ch
uy
ra` ng ma tra.n lien thuo.c dnh-cung cua d`o thi. G = (V, E) ch
u.a du
ng
.
`an tu khac khong tren moi co.t, mo.t b`a ng 1 v`a mo.t b`a ng 1. Do do ta co the ch
hai ph
u.ng
minh theo quy na.p nhu. sau: Hien nhien, tat ca cac ma tra.n vuong con khong suy bien cap 1
cua A l`a modular; gia su. khang d.inh du
ng cho mo.i ma tra.n con khong suy bien cap (k 1).
`an tu.
Xet ma tra.n vuong con A0 cap k cua A. Neu moi co.t cua A0 ch
u.a du
ng hai ph
khac khong th` det(A0 ) = 0 (tha.t va.y, tong tat ca cac h`ang cua A0 l`a vector khong, do do cac
`on ta.i mo.t co.t cua A0 khong co ph
`an tu. khac khong th`
h`ang l`a do.c la.p tuyen tnh). Neu t
`on ta.i co.t j cua A0 sao cho co du
`an tu. khac khong
det(A0 ) = 0. Cuoi c`
ung, neu t
ng mo.t ph
aij (b`a ng 1, hay 1) th` det(A0 ) = det(A00 ), trong do A00 l`a ma tra.n vuong cap (k 1)
u. A0 ba` ng cach xoa h`ang i v`a co.t j. Theo gia thiet quy na.p, det(A0 ) b`a ng 1, 1
nha.n du.o..c t`
u.ng minh.
hay 0 v`a do do me.nh d`e du.o..c ch
/
14

http://www.ebook.edu.vn

1.2.2

Ma tr
a.n li
en thu
o.c d
nh-ca.nh

Xet d`o thi. vo hu.o.ng G = (V, E). Ma tra.n lien thuo.c dnh-ca.nh cua d`o thi. G l`a ma tra.n
`an tu. 0 v`a 1, trong do moi co.t bieu dien
A = (aij ), i = 1, 2, . . . , n, j = 1, 2, . . . , m, vo.i cac ph
mo.t ca.nh cua G v`a moi h`ang bieu dien mo.t dnh cua G; ngo`ai ra, neu ca.nh ek lien thuo.c
`an tu. cua co.t k ba` ng khong ngoa.i tr`
hai dnh vi v`a vj th` tat ca cac ph
u.
aik = 1,

ajk = 1.

V du. 1.2.3 Ma tra.n lien thuo.c dnh-ca.nh cua d`o thi. trong H`nh 1.4 l`a
e1
a 1
b
1

c 0
d 0

e2
1
0
1
0

e3
0
1
1
0

e4
0
1
0
1

e5

0
0

1
1

a.............................................................................e.......1.............................................................................b....
................
..
......
...... ....
......
......
......
......
....
......
......
.
.
.
.
......
...
.
......
e4...................
...
......
...
..
......
.
......
......
....
......
......
...
......
......
......
......
...
...... ...........
...
........
.
.
.
.
...
.
.... ..........
.
.
.
.
...
.
......
....
.
.
.
.
.
.
...
.
......
....
.
.
.
.
.
.
.
...
.
......
....
.
.
.
.
.
.
.
.
...
......
....
.
.
.
.
.
.
.
.
...
......
....
.
.
.
.
.
.
.
.
...
......
....
.
.
.
.
.
.
.
...
.
.
......
....
.
.
.
.
.
.
.
.
...... ....
....
.
.
.
.
.
.
.
.
... ..
...
..........................................................................................................................................................................

e3

e2

e5

H`nh 1.4:

Trai vo.i ma tra.n lien thuo.c dnh-cung, noi chung ma tra.n lien thuo.c dnh-ca.nh khong
total unimodular. Chang ha.n, trong v du. tren, ma tra.n con

1 1 0

1 0 1
0 1 1
co di.nh th
u.c ba` ng 2.
- `o thi. vo hu.o.ng G = (V, E) go.i l`a hai ph
`an neu co the phan hoa.ch ta.p cac dnh
D
.
V th`anh hai ta.p con r`o i nhau V1 v`a V2 sao cho doi vo.i moi ca.nh (vi , vj ) E th` hoa.c
vi V1 , vj V2 hoa.c vj V1 , vi V2 .
15

http://www.ebook.edu.vn

a.....
....................................

.......
........... ..
....... .... ..
... ..... .......
....... ..... ...
..... .........
....... .........
...
...
.
.
.
.
.
.
.
.
.
.
.....
.......
..
...
...
......
.......
.....
.....
...
...
.......
.......
.....
.....
........
.......
...
...
.....
.....
....... .............
.
.
.....
.
...
...
.
..........
...
.....
.
.
.
.
.
.
...
...
.
.
.
.
.
.......
.....
...
....... .........
...
...
..... .............
.........
.
...
...
.
.
.
.
.
.
.
..... .......
... ............
.
...
...
.
.
.
.
.
.
.
.
.
.....
.......
...
...
...
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
.......
...
.
...
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..... ....
....... ....
... .........
.
.
.
.
.
.
.
.
.
.
.
.......
........
.......

- `o thi. hai ph
`an K2,3 .
H`nh 1.5: D
`an.
V du. 1.2.4 De kiem tra d`o thi. K2,3 trong H`nh 1.5 l`a hai ph
`e 1.2.5 Ma tra.n lien thuo.c dnh-ca.nh cu a d`o thi. vo hu.o.ng G = (V, E) l`a total
M
e.nh d

`an.
unimodular neu v`a ch neu G l`a d`o thi. hai ph
`an, th` ch
Ch
u.ng minh. (1) Neu d`o thi. l`a hai ph
ung ta co the ch
u.ng minh theo quy na.p ra` ng
mo.i ma tra.n vuong con B cua ma tra.n lien thuo.c dnh-ca.nh co di.nh th
u.c det(B) = 0, 1 hoa.c
.
.
- i
`eu n`ay du
ng vo.i cac ma
1. D
ng vo i cac ma tra.n vuong con cap 1; gia su khang d.inh du
tra.n vuong con cap (k 1). Xet ma tra.n vuong con B cap k.
`an tu. b`a ng 1 th`
Neu moi co.t B j cua B ch
u.a du
ng hai ph
X

Bi =

iI1

Bi ,

iI2

trong do I1 v`a I2 l`a cac ta.p ch so tu.o.ng u


.ng hai phan hoa.ch cua ta.p cac dnh V v`a Bi l`a
vector h`ang cua B. Cac vector h`ang phu. thuo.c tuyen tnh, nen det(B) = 0.
`on ta.i co.t co du
`an tu. b`a ng 1, chang ha.n bij = 1, k
y hie.u C
ng mo.t ph
Neu, ngu.o..c la.i, t
.
.
.
`
l`a ma tra.n nha.n du o. c t`
u B ba ng cach xoa h`ang i v`a co.t j. Th`
det(B) = det(C) (= 0, 1 hoa.c 1 theo quy na.p).
(2) Ma.t khac, de d`ang ch
u.ng minh r`a ng ma tra.n lien thuo.c dnh-ca.nh cua d`o thi. l`a mo.t chu
`an 1.3) co d.inh th
tr`nh do. d`ai le (t
u.c l`a so ca.nh tren chu tr`nh l`a le-xem Ph
u.c b`a ng 2. Do
`an theo bo d`e sau.
/
do G khong ch
u.a chu tr`nh do. d`ai le v`a v` va.y no l`a hai ph
- `o thi. vo hu.o.ng G l`a hai ph
`e 1.2.6 D
`an neu v`a ch neu G khong ch
B
o d

u.a chu tr`nh co do.


d`ai le .
- i
`eu kie.n c
`an. Do V du.o..c phan hoa.ch th`anh V1 v`a V2 :
Ch
u.ng minh. D
V = V2 V2 ,
16

V1 V2 = .
http://www.ebook.edu.vn

`on ta.i mo.t chu tr`nh co do. d`ai le


Gia thiet t
= {vi1 , vi2 , . . . , viq , vi1 }
`an, nen hai dnh lien tiep tren
v`a khong mat tnh tong quat, lay vi1 V1 . Do G l`a hai ph
chu tr`nh phai co mo.t dnh thuo.c V1 v`a dnh kia thuo.c V2 . Do do vi2 V2 , vi3 V1 , . . . ,
v`a tong quat, vik V1 neu k le v`a vik V2 neu k chan. M`a chu tr`nh co do. d`ai le nen
- i
`eu n`ay mau thuan vo.i V1 V2 = .
viq V1 v`a bo.i va.y vi1 V2 . D
- i
`eu kie.n du. Khong mat tnh tong quat gia thiet d`o thi. G lien thong. Gia su. khong t
`on
D
ta.i chu tr`nh co do. d`ai le.
Cho.n dnh bat k`
y, chang ha.n vi v`a gan nhan cho no l`a + . Sau do la.p la.i cac phep
toan sau:
Cho.n dnh da du.o..c gan nhan vj v`a gan nhan ngu.o..c vo.i nhan cua vj cho tat ca cac
`e vo.i dnh vj .
dnh k
Tiep tu.c qua tr`nh n`ay cho den khi xay ra mo.t trong hai tru.`o.ng ho..p:
`e nhau co nhan khac nhau (mo.t
(a) Tat ca cac dnh da du.o..c gan nhan v`a hai dnh bat k`
y k

mang da u + v`a mo.t mang da u ); hoa.c


`on ta.i dnh, chang ha.n vjk , du.o..c gan hai nhan khac nhau.
(b) T
Trong Tru.`o.ng ho..p (a), da. t V1 l`a ta.p tat ca cac dnh du.o..c gan nhan + v`a V2 l`a ta.p tat
u.a cac ca.p dnh co nhan
ca cac dnh du.o..c gan nhan . Do tat ca cac ca.nh lien thuo.c gi
`an.
khac nhau nen d`o thi. G l`a hai ph
`en 1 n`ao
Trong Tru.`o.ng ho..p (b), dnh vjk du.o..c gan nhan + do.c theo mo.t day chuy
.
.
.
.
do, vo i cac dnh du o. c gan nhan + v`a xen ke nhau xuat phat t`
u vi v`a ket th
uc ta.i
.
.
.
.
.
`
vjk . Tu o ng tu. , dnh vjk du o. c gan nhan do.c theo mo.t day chuyen 2 n`ao do, vo.i cac
dnh du.o..c gan nhan + v`a xen ke nhau xuat phat t`
u. vi v`a ket th
uc ta.i vjk . Nhu.ng
nhu. the chu tr`nh di do.c theo 1 t`
u. dnh vi den dnh vjk sau do di ngu.o..c la.i do.c theo 2
- i
`e la.i vi co do. d`ai le. D
`eu n`ay mau thuan vo.i gia thiet, v`a do do khong the xay ra Tru.`o.ng
v
- i.nh l
y du.o..c ch
u.ng minh.
ho..p (b). D
/

1.2.3

`e hay ma tr
Ma tr
a.n k
a.n li
en thu
o.c d
nh-d
nh

`eu nhat mo.t cung lien thuo.c hai dnh bat k`


y vi
Gia su. G = (V, E) l`a d`o thi. sao cho co nhi
`e hay ma tra.n lien thuo.c dnh-dnh l`a ma tra.n vuong A = (aij ) cap n n
v`a vj . Ma tra.n k
17

http://www.ebook.edu.vn

`an tu. 0 hoa.c 1:


vo.i cac ph

aij :=

1
0

neu (vi , vj ) E,
neu ngu.o..c la.i.

`e cua do.n d`o thi. c


Trong tru.`o.ng ho..p d`o thi. vo hu.o.ng, ma tra.n k
ung co the du.o..c d.inh
ngha b`a ng cach xem moi ca.nh (vi , vj ) tu.o.ng u
.ng hai cung (vi , vj ) v`a (vj , vi ). Trong tru.`o.ng
`e l`a doi x
ho..p n`ay, ma tra.n k
u.ng.

1.2.4

`o thi.
C
ac bi
eu di
e n cua d

- e mo ta mo.t d`o thi., ta co the su. du.ng mo.t so cach bieu dien khac nhau. Vo.i quan diem
D
la.p tr`nh, noi chung cac bieu dien n`ay khong tu.o.ng du.o.ng theo kha ca.nh hie.u qua cua
thua.t toan.
`e hoa.c cac dan xuat cua
Co hai cach bieu dien chnh: Th
u. nhat, su. du.ng ma tra.n k
.
.
no; th
u hai, su du.ng ma tra.n lien thuo.c hoa.c cac dan xuat cua no.
`e
Su. du.ng ma tr
a.n k
`e cho phep mieu ta hoa.c cac 1-d`o thi. d.inh hu.o.ng, hoa.c
Ch
ung ta biet r`a ng cac ma tra.n k
`e, ta thay so lu.o..ng thong
cac do.n d`o thi. vo hu.o.ng. Vo.i cach bieu dien d`o thi. qua ma tra.n k
`om cac bit 0 v`a 1, c
`an lu.u tr
tin, g
u. l`a n2 . Cac bit co the du.o..c ket ho..p trong cac t`
u.. K
y
.
.
.
hie.u w l`a do. d`ai cua t`
u (t
u c l`a so cac bit trong mo.t t`
u may tnh). Khi do moi h`ang cua ma
`e co the du.o..c viet nhu. mo.t day n bit trong dn/we t`
tra.n k
u. de lu.u tr
u. 1 . Do do so cac t`
u.
`e l`a ndn/we.
ma tra.n k
`an lu.u tr
`e cua d`o thi. vo hu.o.ng l`a doi x
u.ng, nen ta ch c
u. nu.a tam giac tren
Ma tra.n k
`an n(n 1)/2 bit. Tuy nhien, vo.i cach lu.u tr
cua no, v`a do do ch c
u. n`ay, se tang do. ph
u.c
.
ta.p v`a th`o i gian tnh toan trong mo.t so b`ai toan.
Trong tru.`o.ng ho..p cac ma tra.n thu.a (m n2 vo.i d`o thi. co hu.o.ng; m 12 n(n + 1) doi
vo.i d`o thi. vo hu.o.ng) cach bieu dien n`ay l`a lang ph. Do do ta se t`m cach bieu dien ch cac
`an tu. khac khong.
ph
- `o thi. co
`e cho d`o thi. co hu.o.ng. D
V` mu.c dch n`ay ta se su. du.ng mo.t mang danh sach k
.
.
.
.
.
hu o ng du o. c bieu dien bo i mo.t mang cac con tro V out[1], V out[2], . . . , V out[n], trong do
`an tu. cua mang V out[i]
.ng vo.i mo.t dnh trong d`o thi. co hu.o.ng. Moi ph
moi con tro tu.o.ng u
u. mu.c d
u. lie.u cua n
ut tu.o.ng u
.ng dnh vi v`a ch
u.a mo.t con tro
ch den mo.t n
ut d`au lu.u tr
1

K
y hie.u dxe l`a so nguyen nho nhat khong be ho.n x.

18

http://www.ebook.edu.vn

`e (dnh du.o..c noi vo.i vi theo hu.o.ng t`


ch den mo.t danh sach lien ket cua cac dnh k
u. vi ra).
.
.
`e co hai tru `o ng:
Moi n
ut k
`e; v`a
1. Tru.`o.ng so nguyen: lu.u tr
u. so hie.u cua dnh k
`e n`ay.
2. Tru.`o.ng lien ket ch den n
ut ke tiep trong danh sach k
v1
v2
...
........
.................................................................................
.

.
.
.
... .......
.. ...
..... .. ..
.. ....

.. .....
.... .... ....
.....
..
.....
... ...
.....
.....
...
... ...
.....
.....
...
.....
...
...
.....
.
.
.......
.
.
.
.
.
.
.
...
...
...
.
.........
.
.
.
.
.
.
.
...
...
.....
.
..............
.
.....
.
...
...
.
..
.
.....
.
.
.
.
.
.
.
...
...
.....
.
...
.
.
.
.
.
.
.
.....
...
...
.
...
.
.
.
.....
.
.
.
.
...
...
.
...
.....
.
.
.
.
.
.
.
...
.....
...
.
...
.
.
.
.
.
..... ...................................
.
.
.
.
.
.......
.........
.
....
..
......
.
.
.
.
.
.
...
...
.....
....
.
...........
...
.....
.
.
.
...
...
.....
............... .....................................
.
.....
.
.
.
.
.
.
...
...
.....
...
.... ......
.
.
.
.
.
.
.
.
.
.
.....
.
...
...
..
....
.....
...
...
....
....... .........
.....
...
.......
...
...
...
.....
.......
...
.....
...
.....
... ..............
...
.....
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
...
.
..
...
.........
............
... .................
........
...
..
.....
..
..... .
...
.........
.....
.....
....... ..... ....
...
.....
.....
.
.......
.
.
.
.
.
.
.
...
.
.....
.
.
.
.
.
.
.
... ..
.
..... ..
.........
... .. .........
..... ...
.......
... .. .....
..... .. ..............
............
.............
..

v6

v3

v5

v4

H`nh 1.6:
`e V out[] cua d`o thi. co hu.o.ng trong H`nh 1.6 du.o..c
Cach bieu dien mang danh sach k
u. lie.u tu.o.ng u
cho tu.o.ng u
.ng trong H`nh 1.7 (gia su. cac mu.c d
.ng cac dnh theo th
u. tu.. l`a
A, B, C, D, E, F ).
N
ut . d`au
A

.
....
...
..
...
..

v4

..
...
..
...
...
..

v5

..
...
..
...
...
..

............................................... NULL

V out[2].................................. B

.....
...
..
...
...

............................................... v1

.....
...
..
...
...

............................................... v3

.....
...
..
...
...

............................................... NULL

V out[3].................................. C

..
...
..
...
....
.

............................................... v3

..
...
..
...
....
.

............................................... NULL

V out[4]................................. D

....
...
..
....
..

................................................. v2

....
...
..
....
..

................................................. v3

....
...
..
....
..

................................................. NULL

V out[5]................................... E

..
...
..
...
...
.

................................................ v3

..
...
..
...
...
.

................................................ v6

..
...
..
...
...
.

................................................ NULL

V out[6].................................. F

....
...
..
...
..

............................................... v1

....
...
..
...
..

............................................... NULL

V out[1]

..................................

...............................................

...............................................

`e V out[] tu.o.ng u
.ng d`o thi. trong H`nh 1.6.
H`nh 1.7: Danh sach k
Thay v` con tro ch den mo.t danh sach cac dnh t`
u. vi di ra trong V out[i], ta tro den
danh sach cac dnh di den vi v`a do do co the lu.u tr
u. d`o thi. thong qua mang cac danh sach
19

http://www.ebook.edu.vn

`e V in[i]. H`nh 1.8 minh ho.a mang cac danh sach k


`e V in[] cua d`o thi. co hu.o.ng trong H`nh
k
1.6.
- e y
`e cua V out[] (tu.o.ng u
D
r`a ng, cac so trong n
ut k
.ng, V in[]) l`a nh
u.ng ch so co.t
`e cua d`o thi. m`a o. do so 1 xuat hie.n. Ngo`ai ra, trong
(tu.o.ng u
.ng, h`ang) trong ma tra.n k
.
.
.
.
.
`e n`ay l`a tr`
tru `o ng ho. p d`o thi. vo hu o ng, hai danh sach k
ung nhau.
Khi d`o thi. co tro.ng so, t
u.c l`a neu moi cung hoa.c ca.nh e E co mo.t tro.ng lu.o..ng w(e),
.
`an mo ro.ng cau tr
`e ba` ng cach them mo.t tru.`o.ng
ta ch c
uc cua moi n
ut trong danh sach k
lu.u tr
u. tro.ng lu.o..ng cua cung.
`e cua d`o thi. co hu.o.ng co the du.o..c c`ai da. t trong ngon
Cach bieu dien ba` ng danh sach k
.
.
- e xay du..ng
ng
u la.p tr`nh C vo i cac khai bao trong thu. vie.n Graph.h (xem Phu. lu.c A). D
`e V out[] v`a V in[] cho mo.t d`o thi., ta co the su. du.ng cac thu tu.c
mang cac danh sach k
MakeV out() v`a MakeV in() tu.o.ng u
.ng.
N
ut . d`au
V in[1] ................................... A

...
...
..
...
...

............................................... v2

...
...
..
...
...

............................................... v6

...
...
..
...
...

V in[2] .................................. B

..
...
..
...
....
.

............................................... v4

..
...
..
...
....
.

............................................... NULL

V in[3] .................................. C

....
...
..
...
...

............................................... v2

....
...
..
...
...

............................................... v3

V in[4] .................................. D

..
...
..
...
...
.

............................................... v1

..
...
..
...
...
.

............................................... NULL

V in[5] .................................. E

.....
...
..
...
...

................................................. v1

.....
...
..
...
...

................................................. NULL

V in[6] ................................... F

...
...
..
...
...
.

................................................. v5

...
...
..
...
...
.

................................................. NULL

....
...
..
...
...

................................................. NULL

................................................. v4

....
...
..
...
...

............................................... v5

....
...
..
...
...

............................................... NULL

`e V in[] tu.o.ng u
H`nh 1.8: Danh sach k
.ng d`o thi. trong H`nh 1.6.
Su. du.ng c
ac ma tr
a.n li
en thu
o.c d
nh-cung ho
a.c d
nh-ca.nh
Ma tra.n lien thuo.c dnh-cung hoa.c dnh-ca.nh cho phep ch
ung ta mo ta d`ay du cau tr
uc cua
.
`an tu khac khong trong moi
mo.t da d`o thi. khong co khuyen. Tuy nhien, do ch co hai ph
.
.
.

co.t, nen co the bieu dien thong tin o da.ng thch ho. p ho n.
`eu m trong do vo.i moi cung
Ch
ung ta d.inh ngha hai mang tuyen tnh [] v`a [] chi
hoa.c ca.nh ek , k = 1, 2, . . . , m, cac gia tri. [k] v`a [k] l`a cac ch so cua cac dnh m`a ek lien
20

http://www.ebook.edu.vn

v1
...........
..................................................................................................
...
..................
. .
.....
... ... .. .........

...............
........
. .. ..
.............
........
... ... ...
............
........
... ... .....
...........
........
........
..........
...
...
...
........
..........
...
.
..
.
.
.
.............
........
...
..
.
..
.
.
..............
.
.
.
.
........
...
........
.
.
.
....
.
....
........
...
........
........
...
...
...
.......
........
.......
...
...
...
.
........
.......
...
........
.......
...
...
........
...
......
...
...
.
........
...
......
.
.
.
......
...
...
.
........
......
.......
..........
.
.............
.
......
...
...
....
.
.
.
.
.
.
.
.
.
.
......
.
.
........
...
.....
......
........
...
....
..
........
.....
.
...
.
.
.
.
.....
........
...
..
.....
........
..
.
.
...
........
.....
.
.
.
.
.
.
........
.....
...
........
.....
....
...
....
........
.....
.
...
.
.
...
........
.....
...
..
........
.
.....
.
.
........
.
...
.....
..
.
.
.
.
........
...
.
.
.....
..............................
.
.
.
.
.
.
.
.
........
......
... .. ..
.....
....
........
.....
....
...
... .. ..
........
...
.
...
.
.
.
... ... ...
.
.
.
........ .... .
...
... .. ...
........ .... ..
..
..........
.
..
..........................................................................................................................................................................................................................................................................................................................................................
...........
.
.
.
.
..........
.
.
.
.
.
...
...........
......
.
.
.
.
.
.
.
.
.
............
.
.
..
...
........
.
.
.
..............
.
.
.
.
.
.
.
.
.
.
.
.
.
...
...
................
...
.....
................
...................
.....
......
...................
.........................
..............................
................................................................................................................................
..

e5

e1 e2

e3

e4

e6

v3

v2

e8

e7

H`nh 1.9:
ung ta quyet di.nh [k] l`a dnh goc v`a [k] l`a dnh
thuo.c. Trong tru.`o.ng ho..p co hu.o.ng, ch

ngo.n cua cung ek .


`e, cach bieu dien n`ay c
Ch
uy
r`a ng, trai vo.i ma tra.n k
ung co the da.c tru.ng cho cac da
d`o thi. co khuyen.
Chang ha.n, da d`o thi. cua H`nh 1.9 trong do cac cung du.o..c danh so, ta nha.n du.o..c
k

`an them mo.t mang w[] kch thu.o.c m lu.u


Trong tru.`o.ng ho..p d`o thi. co tro.ng so, ta ch c
tr
u. tro.ng lu.o..ng cua moi ca.nh hoa.c cung vo.i tu.o.ng u
.ng mo.t-mo.t cac mang [] v`a [].
`e cach khac bieu dien hie.u qua ho.n cua d`o thi. vo hu.o.ng su. du.ng danh sach cac ca.nh
V
xem [43].

M
oi li
en h
e. gi
u.a c
ac bi
eu di
en
`on ta.i cac thua.t toan da th
u.a cac kieu d
u. lie.u tren
De d`ang thay ra` ng t
u.c de chuyen doi gi
d`o thi.. H`nh 1.10 minh ho.a cac kha nang co the co.
- e chuyen doi gi
`eu n`ay (b`ai
`an cac chu.o.ng tr`nh thu..c hie.n di
D
u.a cac kieu d
u. lie.u, c
.
.

`au. Chang ha.n, d`o thi. co


ta.p). Cac bieu dien n`ay co the cai bien cho ph`
u ho. p vo i yeu c
21

http://www.ebook.edu.vn

`e du.o..c ket theo h`ang


Ma tra.n k
|
|
O(n2 )
|

O(m)
|

`e da.ng tu.`o.ng minh


Ma tra.n k
|

`e du.o..c ket theo co.t


Ma tra.n k
|

O(mn)
|

O(m)
|

Ma tra.n lien thuo.c dnh-cung


hoa.c ma tra.n lien thuo.c dnh-ca.nh
da.ng tu.`o.ng minh
|

Ma tra.n lien thuo.c dnh-cung


hoa.c ma tra.n lien thuo.c dnh-ca.nh
da.ng ket theo h`ang
|

O(mn)
|

O(m)
|

Ma tra.n lien thuo.c dnh-cung


hoa.c ma tra.n lien thuo.c dnh-ca.nh
da.ng ket theo co.t
H`nh 1.10: Moi lien he. v`a do. ph
u.c ta.p tnh toan khi chuyen doi gi
u.a cac bieu dien khac
nhau trong d`o thi..

tro.ng so co the du.o..c bieu dien bo.i mo.t ma tra.n tro.ng lu.o..ng (c`on go.i l`a ma tra.n chi ph
`an tu. (i, j) b`a ng tro.ng lu.o..ng cua ca.nh hay cung
hay khoang cach) cap n n trong do ph
`an ch
`eu van d`e phu. thuo.c v`ao bieu dien
(vi , vj ). Tuy nhien, c
uy
ra` ng, tnh hie.u qua cua nhi
.
.
cua d`o thi.. Do do, vie.c cho.n lu. a cac cau tr
uc d
u lie.u mo.t cach thch ho..p l`a quan tro.ng.
22

http://www.ebook.edu.vn

1.3

Tnh li
en th
ong

1.3.1

`en v`
D
ay chuy
a chu tr`nh

`en t`
Gia su. v0 , vk l`a cac dnh cua d`o thi. vo hu.o.ng G := (V, E). Day chuy
u. v0 den vk do.
.
d`ai k l`a mo.t day xen ke (k + 1) dnh v`a k ca.nh bat d`au t`
u v0 v`a ket th
uc ta.i vk ,
:= {v0 , e1 , v1 , e2 , v2 , . . . , vk1 , ek , vk },
- e gian tie.n, ta thu.`o.ng viet
trong do ca.nh ei lien thuo.c cac dnh vi1 v`a vi , i = 1, 2, . . . , k. D
:= {e1 , e2 , . . . , ek }.
`an qua
`en du.o..c go.i l`a do.n gian (tu.o.ng u
.ng, so. cap) neu no khong di hai l
Day chuy
.
.
.

c`
ung mo.t ca.nh (tu o ng u
ng, dnh).
`en trong do dnh d`au tr`
Chu tr`nh l`a mo.t day chuy
ung vo.i dnh cuoi. Chu tr`nh qua
`an go.i l`a do.n gian. Chu tr`nh l`a so. cap neu no di qua moi dnh du
ng
moi ca.nh du
ng mo.t l
.
`e).
`an tr`
`an (mo.t l
`an l
mo.t l
u dnh d`au tien hai l
uc xuat phat v`a mo.t l
uc tro. v
- `o thi. trong H`nh 1.11 co
D
(a, e1 , b, e2 , c, e3 , d, e4 , b)
`en t`
l`a day chuy
u. dnh a den dnh b co do. d`ai bon. Cac chu tr`nh sau l`a so. cap
(b, e2 , c, e3 , d, e4 , b),

v`a (b, e5 , f, e7 , e, e6 , b).

e1 b
e2
a ................................................................................................................................................................................................................................... c
.......
. ...
...
.
.......
... ...
.......
e4.............................
....... e3
... ...
.......
.
.
.. ....
.
.
.
.
.
.
.
.......
.
...
....... .............
...
...
...
....
...
...
....
..
.
d
e5 ......... ........ e6
...
.
...
...
...
...
...
..
.
...
..
.
...
..
.
...
..
.
...
..
.
...
..
.
.
....................................................................................................................................................................................

f e
7 e

e8

H`nh 1.11:
`eu nhat mo.t
Trong tru.`o.ng ho..p d`o thi. khong co ca.nh song song (t
u.c l`a hai dnh co nhi
.
.
.
`en du o. c viet la.i
ca.nh lien thuo.c ch
ung), de do n gian day chuy
= {v0 , v1 , v2 , . . . , vk }.
23

http://www.ebook.edu.vn

1.3.2

- u.`
D
o.ng d
i v`
a ma.ch

- u.`o.ng di t`
Gia su. v0 , vk l`a cac dnh cua d`o thi. co hu.o.ng G := (V, E). D
u. v0 den vk do. d`ai
k l`a mo.t day xen ke (k + 1) dnh v`a k cung bat d`au t`
u. v0 v`a ket th
uc ta.i vk ,
:= {v0 , e1 , v1 , e2 , v2 , . . . , vk1 , ek , vk },
- e gian tie.n, ta co the k
trong do cung ei lien thuo.c cac dnh vi1 v`a vi , i = 1, 2, . . . , k. D
y
.
.
hie.u du `o ng di l`a {e1 , e2 , . . . , ek }.
Do do trong H`nh 1.12 day cac cung
1 := {e6 , e5 , e9 , e8 , e4 }
2 := {e1 , e6 , e5 , e9 }
3 := {e1 , e6 , e5 , e9 , e10 , e6 , e4 }
l`a cac du.`o.ng di.
- u.`o.ng di l`a do.n gian neu khong ch
`an. Suy ra cac du.`o.ng di
u.a cung n`ao qua mo.t l
D
.
.
.
.
.
.
`an.
1 , 2 l`a do n gian, nhu ng du `o ng di 3 khong do n gian do no su du.ng cung e6 hai l
- u.`o.ng di l`a so. cap neu khong di qua dnh n`ao qua mo.t l
`an. Khi do du.`o.ng di 2 l`a
D
.
.
.
.
.
so cap nhu ng cac du `o ng di 1 v`a 3 l`a khong so cap. Hien nhien, du.`o.ng di so. cap l`a do.n
gian nhu.ng ngu.o..c la.i khong nhat thiet du
ng. Chang ha.n, ch
uy
r`a ng du.`o.ng di 1 l`a do.n
gian nhu.ng khong so. cap, du.`o.ng di 2 v`
u.a do.n gian v`a v`
u.a so. cap, du.`o.ng di 3 khong
.
.
do n gian c
ung khong so cap.
`en l`a ban sao khong co hu.o.ng cua du.`o.ng di v`a ap
Ch
uy
r`a ng, khai nie.m day chuy
du.ng cho cac d`o thi. m`a khong de y
den hu.o.ng cua cac cung.
- u.`o.ng di c
D
ung co the du.o..c bieu dien bo.i day cac dnh m`a ch
ung di qua trong tru.`o.ng
ho..p khong co cung song song (t
u.c hai cung co c`
ung goc v`a c`
ung ngo.n). Do do, du.`o.ng di
.
1 co the bieu dien bo i day dnh {v2 , v5 , v4 , v3 , v5 , v6 }.
Ma.ch l`a mo.t du.`o.ng di {e1 , e2 , . . . , ek } trong do dnh goc cua cung e1 tr`
ung vo.i dnh
.
.
ngo.n cua cung ek . Do do du `o ng di {e5 , e9 , e10 , e6 } trong H`nh 1.12 l`a ma.ch.

1.3.3

Tnh li
en th
ong

- `o thi. vo hu.o.ng go.i l`a lien thong neu tat ca cac ca.p dnh vi v`a vj t
`on ta.i day chuy
`en t`
u. vi
D
`on ta.i mo.t day chuy
`en noi hai dnh vi
den vj . Quan he. vi Rvj neu v`a ch neu vi = vj hoa.c t
.
.
.
.
.
`au).
v`a vj l`a quan he. tu o ng du o ng (phan xa., doi x
u ng v`a bac c
24

http://www.ebook.edu.vn

v2

...........
......... .....
........ .. .........
.....
.......... ....
.
.
.
.
.....
..... . ..
.....
..... ... ....
.....
..... ....
.....
....
.
.....
.....
.
.
.
.
.
.
.....
....
..
....
.
.
.
........
.
.
.
.
...
.........
.
.
..........
.
.
.
.
.....
.
.
....
.
.
.
.
.....
.
.
.
...
..
....
.....
.
.
.
.
.
.
.....
..
..
....
.
.
.
.....
.
.
.
.
...
.
.....
....
.
.
.
.
.
.
.
..
.....
.
....
.
.
.
.....
.
.
.
.
.
.
.
..
.....
......
....
.
.
.
.
.
...
.
.
....
....
..
.
............
.
.
..
........ .........
.
.
.
....
.
.
.
.
.
.
.
.
..
......
.. ...
.
.
.
...
.
.
.
.
....
.
.
.
.
.
....
.
... ....
...
....
.........
...
........
...
...
..
...
...
.........
...
...
........
... .. .................
...
...
...
.
.
.
.
.
.
.
.
....
.
.
.
.
.
.
.
.....
..........
.
.
.
.
.
...
.
.
.
.
.
.
....
.
.
.....
.
.
...... ...
.
.
.
.
.
.
.
...
.
.
.
.
..
..
..
......
.
.
.
.
.
.
...
.
.
.
.
.
.
....
.
.
....
..
.........
.....
.... .....
...
...
.........
... ...
...
...
...
........
.
.
.
....... ................
.
...
........
........
.
.
...
.
..............
..
...
.
.....
.
.
.
.
.
.
...
.....
..
....
.
.
.
.
.....
.
.
.
....
..
.....
.
.
.
.
.
.
.
.
.....
.
...
.
.....
....
.....
...
.....
.....
...
...
.....
.....
.....
...
.....
...
.....
...
.....
.
.
.
.
.....
.
.
.
.
.
.
..........
.........
....
...
.......
.......
...
...
.....
.....
.....
...
.....
...
.....
... ..........
.
.....
.
.
.. .. ....
.....
..... ... .............
..... .. ........
..... .........
.......

e10

e1

v1
e2

v3

e3

e7

v6

e6

e8

e4

e9

v4

e5

v5

H`nh 1.12:
Lo.p tu.o.ng du.o.ng tren V xac d.inh bo.i quan he. tu.o.ng du.o.ng R phan hoa.ch ta.p V
`an lien thong cua d`o thi..
th`anh cac ta.p con r`o.i nhau V1 , V2 , . . . , Vp . So p go.i l`a so th`anh ph
`an lien thong b`a ng mo.t. Cac
Theo di.nh ngha, d`o thi. lien thong neu v`a ch neu so th`anh ph
.
`an lien thong
`
do thi. con G1 , G2 , . . . , Gp sinh bo i cac ta.p con V1 , V2 , . . . , Vp go.i l`a cac th`anh ph
`an lien thong l`a mo.t d`o thi. lien thong.
cua d`o thi.. Moi th`anh ph
`an lien thong.
H`nh 1.13 minh ho.a d`o thi. co ba th`anh ph
v1
..
..............
.
... .. .....

v5
......
..
...
..
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..

. .. ...
... .... .........
... .....
...
.....
...
....
.....
...
.....
..
...
.....
....
...
.....
.....
...
...
.....
...
...
.....
...
...
.....
.....
...
...
.....
...
.
.
.....
...
..
.....
.
...
.
.....
.
.
...
.....
.
.
.....
.
...
.....
...
....
.....
.
...
.
.....
...
..
.....
.
.....
... ...
.....
... ...
.....
.....
....
.

v2

v4

v7

v3
..
.......
.
... ..

.. ....
...
...
...
...
...
..
.
...
...
...
..
.
...
.
.
...
.
...
...
.
...
..
.
...
..
.
...
..
...
.
.
...
.
.
...
...
.
...
..
.
...
..
...
.
..
...
.
...
..
.
...
.
.
.
...
...
..
.
...............................................................................................................

v8

v6

- `o thi. co ba th`anh ph
`an lien thong.
H`nh 1.13: D
`an lien thong cua d`o thi. l`a mo.t trong nh
Xac d.inh so th`anh ph
u.ng b`ai toan co. ban cua
`eu u
l
y thuyet d`o thi. v`a co nhi
.ng du.ng trong thu..c tien; chang ha.n, xac d.inh tnh lien thong
cua ma.ch die.n, ma.ng die.n thoa.i, v.v.
Ch
ung ta se tr`nh b`ay mo.t so thua.t toan co th`o.i gian O(m) giai b`ai toan n`ay v` no
25

http://www.ebook.edu.vn

cho phep t`m l`o.i giai cua mo.t so b`ai toan khac.
Bat d`au vo.i dnh n`ao do cua d`o thi., ch
ung ta lie.t ke cac dnh theo th
u. tu.. cua thua.t
`eu sau, t
toan t`m kiem theo chi
u.c l`a ch
ung ta di, d`au tien, xa nhat co the du.o..c tren d`o thi.
`e vi. tr re nhanh g
`an day nhat m`a ch
m`a khong ta.o th`anh chu tr`nh, v`a sau do tro. v
ung ta
.
`e dnh xuat phat. Do do ta.p cac dnh bat ga.p se
da bo qua, v`a tiep tu.c cho den khi tro v
`an lien thong d`au tien.
ta.o th`anh th`anh ph
Neu tat ca cac dnh cua d`o thi. du.o..c duye.t th` d`o thi. lien thong; ngu.o..c la.i, ch
ung ta
.
.
.
.
.
.
.
kho i d`au la.i thu tu.c tren vo i mo.t dnh mo i chu a du o. c vieng tham; do do ta xay du. ng du.o..c
`an lien thong th
th`anh ph
u. hai, v`a van van.
`an lien thong
Thua.t toan du.o.i day tr`nh b`ay giai doa.n d`au tien, t
u.c l`a t`m th`anh ph
.
.
`an n`ay ch
ch
u a mo.t dnh da cho-neu th`anh ph
u a tat ca cac dnh cua d`o thi. th` d`o thi. lien
thong.
K
y hie.u num(i) l`a so hie.u cua dnh vi trong qua tr`nh t`m kiem. Neu ta bat d`au ba` ng
`en tru.o.c dnh vi trong cay co goc

dnh s th` da. t num(s) = 1. K


y hie.u P (i) l`a dnh du
.ng li
.
.
.
.
.
.
(xem Chu o ng 4) du o. c xay du. ng trong qua tr`nh thu. c hie.n thua.t toan.
- a.t d+
`e dnh vi : d+
a so cac dnh k
Xet d`o thi. du.o..c bieu dien bo.i anh xa. da tri. . D
i l`
i :=
.
.
#(vi ). Vo i moi k = 1, 2, . . . , n, k
y hie.u k (vi ) l`a dnh th
u k trong ta.p (vi ).
- e thu..c hie.n t`m kiem tren d`o thi., ch
`an moi giai doa.n cua thua.t toan ch so
D
ung ta c
.
.
.

ung t`
u dnh vi . Do do ta bat d`au vo.i n(i) = 0.
n(i) cua dnh du o. c vieng tham cuoi c`
Du.o.i day l`a thua.t toan (da.ng khong de. qui) cua Tremaux du.a ra n`a m 1882 v`a sau do
du.o..c Tarjan cai tien [53].
`an li
Thu
a.t to
an Tr
emaux-Tarjan t`m th`
anh ph
en th
ong ch
u.a d
nh s.
- a.t P (i) = 0, d+
1. [Kho.i ta.o] D
a n(i) = 0 vo.i mo.i dnh vi , i = 1, 2, . . . , n;
i := #(vi ) v`
k = 0, num(s) = 1, P (s) = s (tu`
yy
, khac khong), i = s.
2. [Bu.o.c la.p] Trong khi (n(i) 6= d(i)) hoa.c (i 6= s) thu..c hie.n
`an ngu.o..c);
Neu n(i) = d(i) da. t i = P (i) (l
ngu.o..c la.i, da.t n(i) = n(i) + 1 (vieng tham dnh ke tiep trong (vi )), v`a j =
n(i) (vi ). Neu P (j) = 0 th` gan P (j) = i, i = j, k = k + 1, num(i) = k.
`an lien thong ch
Ket th
uc thua.t toan, neu k = n th` d`o thi. lien thong; ngu.o..c la.i th`anh ph
u.a
`om k dnh m`a num(i) nha.n cac gia tri. t`
dnh s g
u. 1 den k.
26

http://www.ebook.edu.vn

V du. 1.3.1 Xet d`o thi. trong H`nh 1.14. Cac dnh se du.o..c vieng tham theo th
u. tu.. 1, 4, 2, 3
v`a 5. Qua tr`nh t`m kiem co the bieu dien th`anh cay co goc (dnh goc l`a v1 ) trong H`nh
v5

...
.....
.....
.....
....
.
.
.
.
.....
.....
.....
.....
.....
.
.
.
....
.....
.....
.....
.....
.
.
.
.
...
.....
.....
................................................................................................................................................................................................................................
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.
.....
.
.
.....
....
.....
.....
.....
.....
.....
.....
.....
.....
.
.
.
.....
.
....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.
.
.
.
..... .....
..........
..

v1

v4

v2

v3

H`nh 1.14:
1.15.
v5
....
..
.....
....
..... 5
.....
.
.
.
.
.....

.....
.....
.....
..............
..
.....
.....
.....
.....
.
.
.
.
..
.....
....
.....................................................................................................................................................................................................................................
.....
....
..
.....
.....
.....
.....
.
..
.
.
.
....
.....
.....
..
.....
.....
.........
......
.....
.
.
.
.
.......
....
....
.....
.....
.....
.....
..
.....
.
.
.....
.
.
.
..
.....
..... .........
...

v1
1

v4

v2
3

v3

H`nh 1.15:

`eu s
Thu
a.t to
an t`m ki
em theo chi
au
1. Tham dnh xuat phat s.
`e vo.i v (co hu.o.ng t`
u. v den w) l`am cac bu.o.c sau:
2. Vo.i moi dnh w k
`eu sau vo.i w nhu. l`a
Neu w chu.a du.o..c tham, ap du.ng thua.t toan t`m kiem theo chi
dnh xuat phat.
`eu sau, ta di theo du.`o.ng t`
u. dnh xuat phat cho den khi
Trong cach t`m kiem theo chi
`e no da du.o..c vieng tham. Sau do ta quay la.i dnh
da.t den mo.t dnh co tat ca cac dnh k
27

http://www.ebook.edu.vn

`e vo.i no (co hu.o.ng t`


cuoi c`
ung v`
u.a du.o..c tham do.c theo du.`o.ng n`ay sao cho cac dnh k
u.
.
.
.
.
.
.
.
.
- e co the quay tro la.i, ta
no di ra trong tru `o ng ho. p d`o thi. co hu o ng) co the tham du o. c. D
.
.
.
.
lu u tr
u cac dnh do.c theo du `o ng n`ay trong mo.t ngan xep. Neu thu tu.c du.o..c viet da.ng de.
`an mo.t
quy th` ngan xep n`ay du.o..c bao tr` mo.t cach tu.. do. ng; trong tru.`o.ng ho..p ngu.o..c la.i, c
.
.
mang danh dau cac dnh da du o. c vieng tham.
`eu r
Thu
a.t to
an t`m ki
em theo chi
o.ng
Trong thua.t toan n`ay, ch
ung ta tham cac dnh theo t`
u.ng m
u.c mo.t, v`a khi tham mo.t dnh
o. m
u.c n`ao do, ta phai lu.u tr
u. no de co the tro. la.i khi di het mo.t m
u.c, v` va.y co the tham
.
.
`e cua no. Thua.t toan t`m kiem theo chi
`eu ro.ng du o i day d`
cac dnh k
ung mo.t h`ang do..i theo
cach n`ay.
1. Tham dnh xuat phat.
2. Kho.i do. ng mo.t h`ang do..i ch ch
u.a dnh xuat phat.
3. Trong khi h`ang do..i khong rong l`am cac bu.o.c sau:
Lay mo.t dnh v t`
u. h`ang do..i.
`e vo.i v, l`am cac bu.o.c sau:
Vo.i tat ca cac dnh w k
Neu (w chu.a du.o..c tham) th`:
Tham w.
Them w v`ao h`ang do..i.
`eu ro.ng v`a t`m kiem theo chi
`eu sau l`a rat co. ban cho
Cac thua.t toan t`m kiem theo chi
`eu
`eu thua.t toan khac de xu. l
y d`o thi.. V du., de duye.t mo.t d`o thi., ta co the ap du.ng nhi
nhi
.
`

lan mo.t trong cac cach noi tren, cho.n cac dnh xua t phat mo i neu can thiet, cho den khi
tat ca cac dnh du.o..c tham.

1.3.4

`au, kli
C
en th
ong

- iem kho.p cua d`o thi. l`a mo.t dnh m`a xoa no se tang so th`anh ph
`an lien thong; c
`au l`a ca.nh
D
.
.
.
.
.

m`a xoa no c
ung co anh hu o ng tu o ng tu. . D`o thi. trong H`nh 1.14 co mo.t diem kho.p l`a dnh
`au l`a cac ca.nh (v1 , v4 ) v`a (v4 , v5 ).
v4 v`a hai c
V du. 1.3.2 Trong mo.t d`o thi. khong co chu tr`nh, cac dnh khong phai l`a dnh treo, t
u.c
.
.
.
`an 5.3)
dnh co ba.c 2, l`a diem kho p. Ngu o. c la.i, d`o thi. co chu tr`nh Hamilton (xem Ph
.

khong co diem kho p.


28

http://www.ebook.edu.vn

V du. 1.3.3 [Ma.ng thong tin] Gia su. V l`a ta.p ho..p nh
u.ng ngu.`o.i thuo.c mo.t to ch
u.c n`ao
.
.
.
.
.
.
do; ta da.t (a, b) E neu ngu `o i a v`a b co the bao tin vo i nhau. Nh
u ng ngu `o i lien la.c l`a
.
.
.
.
.
.
nh
u ng diem kho p. Nh
u ng ngu `o i do l`a nh
u ng mat xch quan tro.ng, v` mat ho. se pha vo.
tnh thong nhat v`a su.. lien ket cua to ch
u.c.
- i.nh l
D
y 1.3.4 Gia su. G = (V, E) l`a d`o thi. lien thong. Khi do dnh v V l`a diem kho.p
`on ta.i hai dnh a v`a b sao cho mo.i day chuy
`en noi a vo.i b d`eu di qua v.
neu v`a ch neu t
- i
`eu kie.n c
`an. Neu d`o thi. con sinh bo.i ta.p ho..p V \ {v} khong lien thong th`
Ch
u.ng minh. D
`an C v`a C; gia su. a l`a mo.t dnh n`ao do cua C v`a b l`a mo.t
no ch
u.a t nhat hai th`anh ph
`en bat k`
dnh n`ao do cua C. Trong d`o thi. lien thong ban d`au G mo.i day chuy
y noi a vo.i b
d`eu phai di qua v.
- i
`eu kie.n du. Neu mo.t day chuy
`en bat k`
D
y noi a vo.i b d`eu di qua v th` d`o thi. con sinh ra
/
bo.i V \ {v} khong the lien thong; bo.i va.y dnh v l`a diem kho.p.
Ta co the d.inh ngha: d`o thi. n dnh (n 3) l`a 2lien thong hay d`o thi. khong tach
.
.
du o. c neu v`a ch neu no lien thong v`a khong co diem kho.p. Cac d`o thi. con 2lien thong cu..c
`an 2lien thong cua G.
da.i cua G ta.o th`anh mo.t phan hoa.ch cua G, v`a go.i l`a cac th`anh ph
- e t`m cac diem kho.p v`a cac th`anh ph
`an 2lien thong ta co the su. du.ng thua.t toan
D
`eu sau.
t`m kiem theo chi
`en tru.o.c dnh vi trong cay T xac d.inh
Vo.i moi dnh vi , xet ta.p D(i) cac dnh du
.ng li
.
.
`eu sau. Khi do, vo i mo.i dnh vj D(i) ta co
bo i thua.t toan t`m kiem theo chi
l(j) = min (num(k))
k(vj )

`e vo.i dnh vj trong G. Bay gi`o. ta d.inh ngha mo.t ch so


l`a so nho nhat du.o..c gan cho dnh k
.
mo i
inf(i) := min l(j).
vj D(i)

Do do ch so n`ay tu.o.ng u
.ng cu..c tieu cua num(i) v`a so nho nhat du.o..c gan cho cac
.
.
ng mo.t ca.nh t`
u. mo.t trong cac ha.u due. cua vi trong cay
dnh m`a co the den du o. c b`a ng du
T.
`en k
`e l`a dnh
Do do, trong V du. 1.3.1 (H`nh 1.15), dnh v2 co du
ng mo.t dnh tru.o.c li
v4 , v`a do do inf(2) = num(4) = 2.
`en boi cua vi no co the tro. v
`e vi .
Ch
uy
r`a ng inf(i) num(i) v` kho.i d`au t`
u. ti
29

http://www.ebook.edu.vn

Ho.n n
u.a, de d`ang ch ra r`a ng, neu inf(i) = num(i) th` dnh vi l`a diem kho.p cua d`o
`an 2lien
thi.. Ngo`ai ra, cac dnh bat ga.p khi duye.t tro. la.i dnh vi ta.o th`anh mo.t th`anh ph
thong.
Thua.t toan du.o.i day tr`nh b`ay phu.o.ng phap xac di.nh cac diem kho.p cua d`o thi. lien
thong xuat phat t`
u. dnh s.
`o thi. li
Thu
a.t to
an Tarjan t`m d
i
em kh
o.p cua d

en th
ong xu
at ph
at t`
u. d
nh s
- a.t P (i) = 0, d+
1. [Kho.i ta.o] D
a inf(i) = vo.i mo.i dnh vi , i =
i := #(vi ), n(i) = 0 v`
1, 2, . . . , n; k = 0, num(s) = 1, P (s) = s, i = s.
2. [Bu.o.c la.p] Trong khi (n(i) 6= d(i)) hoa.c (i 6= s) thu..c hie.n
Neu n(i) = d(i) da. t
q = inf(i), i = P (i), inf(i) = min(q, inf(i)).
`an 2lien
Neu inf(i) =num(i) th` vi l`a diem kho.p (v`a ta co the xac d.inh th`anh ph
thong).
Ngu.o..c la.i, t
u.c l`a n(i) 6= d(i) (vieng tham dnh ke tiep trong (vi ))
Neu j = P (i) th` gan n(i) = n(i) + 1, j = n(i) (i).
Neu P (j) = 0 th` gan
inf(i) = min(inf(i), num(i)), P (j) = i, i = j, k = k + 1, num(i) = k.
Ngu.o..c la.i neu P (j) 6= 0 gan inf(i) = min(inf(i), num(j)).
De d`ang kiem tra vo.i v du. tru.o.c, dnh v4 l`a diem kho.p. Ch
uy
r`a ng co the xac d.inh
.
.
.
`an 2lien thong ba` ng cach su a doi Bu o c 2 trong Thua.t toan Tarjan.
th`anh ph
Me.nh d`e sau l`a hien nhien:
`e 1.3.5 Cac thua.t toan Tremaux-Tarjan v`a Tarjan co th`o.i gian O(m).
M
e.nh d

Thiet die.n A V cua d`o thi. lien thong G l`a ta.p con A cac dnh sao cho d`o thi. con
u. G b`a ng cach xoa cac dnh trong A (v`a cac ca.nh lien thuo.c no) khong
GV \A nha.n du.o..c t`
lien thong.
- `o thi. go.i l`a klien thong neu v`a ch neu no lien thong, co so dnh n k + 1, v`a khong
D
.
ch
u a mo.t thiet die.n co lu..c lu.o..ng (k 1).
30

http://www.ebook.edu.vn

Cac d`o thi. con klien thong cu..c da.i cua G ta.o th`anh mo.t phan hoa.ch cua G v`a go.i
`an klien thong.
l`a cac th`anh ph
`an 3lien thong cua d`o thi. co the nha.n du.o..c trong th`o.i gian O(m) ba` ng
Cac th`anh ph
thua.t toan tu.o.ng tu.. cua Tarjan.
- a d`o thi. lien thong G go.i l`a kca.nh lien thong neu no van c`on lien thong khi xoa di
D
.
t ho n k ca.nh.
`au.
Do do, da d`o thi. l`a 2lien thong neu v`a ch neu no lien thong v`a khong ch
u.a c
.
.
`au trong th`o i gian O(m).
B`a ng cach su a doi la.i thua.t toan Tarjan, ta co the xac d.inh cac c
.
.
`

Xet tnh 2ca.nh lien thong co nhieu u


ng du.ng trong thu. c te: ma.ng die.n, die.n thoa.i, v.v.,
phai 2ca.nh lien thong!

1.3.5

- `
D
o thi. li
en th
ong ma.nh

- `o thi. co hu.o.ng go.i l`a lien thong ma.nh neu tat ca cac ca.p dnh vi v`a vj t
`on ta.i du.`o.ng di
D
t`
u. vi den vj .
`on ta.i du.`o.ng di t`
Xet quan he. vi Rvj neu v`a ch neu hoa.c vi = vj hoa.c t
u. dnh vi den
.
.
.
.
.
dnh vj v`a du `o ng di t`
u dnh vj den dnh vi . De thay day l`a quan he. tu o ng du.o.ng (phan
`au).
xa., doi x
u.ng v`a bac c
Lo.p tu.o.ng du.o.ng tren V xac d.inh bo.i quan he. tu.o.ng du.o.ng R phan hoa.ch ta.p V
`an lien thong ma.nh cua d`o
th`anh cac ta.p con r`o.i nhau V1 , V2 , . . . , Vp . So p go.i l`a so th`anh ph
.
`an
thi.. Cac d`o thi. con G1 , G2 , . . . , Gp sinh bo i cac ta.p con V1 , V2 , . . . , Vp go.i l`a cac th`anh ph
lien thong ma.nh cua G. Theo di.nh ngha, d`o thi. lien thong ma.nh neu v`a ch neu so th`anh
`an lien thong ma.nh b`a ng mo.t.
ph
`an lien thong ma.nh Cl ch
Nha.n xet r`a ng, th`anh ph
u.a dnh vl du.o..c cho bo.i
v
1
Cl =
vl ,
l
v`a t`
u. do suy ra mo.t thua.t toan rat do.n gian th`o.i gian da th
u.c O(m) du..a tren thua.t toan
.
`eu sau m`a co the su du.ng no de t`m Cl .
t`m kiem theo chi
`an xet khi n`ao Cl V. (Hay giai
Do do tnh lien thong ma.nh de d`ang kiem tra. Ch c
`
b`ai toan n`ay ba ng ma tra.n).
`an lien thong ma.nh, ta se su.
Neu ma.t khac, ch
ung ta muon t`m tat ca cac th`anh ph
du.ng Thua.t toan Tarjan.
31

http://www.ebook.edu.vn

Tha.t va.y ta se ch
u.ng minh ra` ng, thua.t toan Tarjan ap du.ng vo.i cac d`o thi. co hu.o.ng,
`an lien thong ma.nh.
cho phep t`m cac th`anh ph
`eu sau, nhu. trong cac thua.t toan
Ch
ung ta kho.i d`au vo.i thua.t toan t`m kiem theo chi
`eu sau v`a Tarjan. Vo.i moi dnh vi xet mo.t ch so mo.i l`a so nho nhat cua
t`m kiem theo chi
ch so dnh m`a co the den no b`a ng ch mo.t cung t`
u. mo.t ha.u due. cua vi trong cay gia pha.
Ch so mo.i n`ay du.o..c k
y hie.u l`a inf(i).
Nha.n xet r`a ng ch
ung ta luon luon co inf(i) num(i). De d`ang ch ra ra` ng khi ch
ung
.
.
ta tro la.i trong cay gia pha, th` mo.t dnh m`a xay ra dang th
u c inf(i) = num(i) se phan
`

`
hoa.ch do thi. th`anh t nha t hai th`anh phan lien thong ma.nh, v`a mo.t trong ch
ung tu.o.ng u
.ng
.
.
.
.
.
ta.p cac dnh m`a da du o. c vieng tham tru o c khi to i dnh vi .
- `o thi. trong H`nh 1.16 co ba th`anh ph
`an lien thong ma.nh:
D
C1 = {a, b, c, d, e},

C6 = {g, f },

C8 = {h}.

............................
............ .. ....................
........
.......
.......
......
.
.
.
.
.
.....
.....
.....
....
.
.
.
......................................................................................................................................................................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
.. ...
.
.
.
.
.
..... ..
.
..... ...
.....
.... ..
..... ....
.... ....
.
.
.
.
.
.
.
.
.
....
....
.....
....
...
.....
...
...
...
...
.....
...
.....
...
.....
.....
..
.....
.
.
.
.
...
.
.
.
.
.
...
.
.
...
.....
.
....
....
.
...
.
.
.
.
...
...
.
.
..........
........
...
.
.
......
.
.
.
.
.
.
.
...
...
...
...
...
.
.
.
.
.
.
.
........
.
.
.
.
...
...
.......
....... ..
...
..... .
.....
.....
....... ....
...
.....
.......
...
...
....
.....
..
...
.......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
...
.
....
....
.....
.......
....
...
...
.
.......
.
.....
.
.
....
.
.
.
.
.
.
.
.
...
.
.
.
.
.
.
.
.
...
....
..
...
...
....
....... .
....
.
.....
...
...
.......
...
.....
..... .........
.... ...
.......
.....
.... ..
.......
...
... ......
.....
.... ...
.......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. ..
.
.....
..........
..............................................................................................................................................................................................................................................................
............
...............
.....
..
....
.....................................
..........
.....
.....
..........
.....
.....
..........
.
.
.
.....
.
.
.
.
.
.
.
.
.
.
...
.....
....
..........
.......
......
..........
........
..........
..........
.....
....
...............
.....
.......... ..
.....
.
.
.
.
.
.
.
.....
.
.
.
.
.
.
.....
....
.........
.....
..........
.....
..... ........ ....................
..... ................
......

H`nh 1.16:

Ch
ung ta su. du.ng thua.t ng
u. d`o thi. thu go.n de bieu dien d`o thi. G qua quan he. lien
`an lien thong ma.nh cua G
thong ma.nh Gr := G/R. Do do cac dnh cua Gr l`a cac th`anh ph
.
`on ta.i t nhat mo.t cung gi
`on ta.i cung gi
u.a mo.t
v`a t
u a hai dnh Ci v`a Cj neu v`a ch neu t
dnh cua Ci v`a Cj trong G. Hien nhien d`o thi. Gr khong co ma.ch. H`nh 1.17 l`a d`o thi. thu
`an lien thong ma.nh v`a
u.u cac th`anh ph
go.n cua d`o thi. co hu.o.ng trong H`nh 1.16. Nghien c
.
.

`
t`m do thi. thu go.n l`a nh
u ng b`ai toan thu. c tien quan tro.ng; chang ha.n trong moi lien he. vo.i
`an tiep theo ch
xch Markov, trong phan tch cau tr
uc cua mo.t he. thong (xem [30]). Ph
ung

`e van d`e n`ay.


ta se de ca.p them v
32

http://www.ebook.edu.vn

C6
......
.. ..
.. ...

... .....
...
...
...
...
...
..
.
...
.
.
.
...
...
...
.
...
..
.
...
..
.
...
.
.
.
......
.
...........
........
.
.
...
..
...
.
...
..
.
...
..
.
...
.
.
.
...
...
...
.
...
..
.
...
..
.
...
..
.
...................................................................................................................

C1

C8

H`nh 1.17:

1.4

Pha.m vi v`
a li
en th
ong ma.nh

`en thong cua mo.t to ch


Ta biet ra` ng he. thong truy
u.c co the xem nhu. mo.t d`o thi. trong do
.
.
.
.
.
`en thong tu.o.ng u
moi ngu `o i tu o ng u
ng mo.t dnh v`a cac kenh truy
.ng cac cung. Cau hoi
`on ta.i
da. t ra l`a trong he. thong n`ay, thong tin t`
u. vi co the den du.o..c vj khong? T
u.c l`a co t
.
.
.
.
.

`
u vi den vj ? Neu du `o ng di do ton ta.i ta noi vj thuo.c pha.m vi cua vi . Ch
ung ta
du `o ng di t`
c
ung quan tam den co du.`o.ng di t`
u. vi den vj vo.i so cung ha.n che khong? Mu.c dch cua
`an n`ay l`a thao lua.n mo.t v`ai khai nie.m co. ban lien quan den cac tnh chat pha.m vi v`a
ph
lien thong ma.nh cua cac d`o thi. v`a gio.i thie.u mo.t so thua.t toan co. so..
hoi:

`an n`ay khao sat mo.t so cau


Theo thua.t ng
u. cua d`o thi. bieu dien cho mo.t to ch
u.c, ph

1. So ngu.`o.i t nhat m`a moi ngu.`o.i trong to ch


u.c co the lien la.c du.o..c b`a ng bao nhieu?
`eu nhat co the lien la.c du.o..c vo.i nhau b`a ng bao nhieu?
2. So ngu.`o.i nhi
3. Hai b`ai toan tren co quan he. g` vo.i nhau?

1.4.1

Ma tr
a.n pha.m vi

Ma tra.n pha.m vi R = (rij ) d.inh ngha nhu. sau:


(

rij :=

1
0

`on ta.i du.`o.ng di t`


u. dnh vi den dnh vj ,
neu t
.
.
neu ngu o. c la.i.

`om cac dnh vj sao cho


Ta.p R(vi ) cac dnh cua d`o thi. G co the den du.o..c t`
u. dnh vi g
.
.
.
.
`an tu rij b`a ng 1. Theo di.nh ngha, tat ca cac ph
`an tu tren du `o ng cheo cua ma tra.n pha.m
ph
vi b`a ng 1.
33

http://www.ebook.edu.vn

Do (vi ) l`a ta.p cac dnh co the den du.o..c t`


u. vi theo mo.t du.`o.ng di co do. d`ai 1 nen
2
.
`om nh
ta.p ((vi )) = (vi ) g
u ng dnh co the den du.o..c t`
u. vi theo mo.t du.`o.ng di co do. d`ai
2. Tu.o.ng tu.., p (vi ) l`a ta.p nh
u.ng dnh co the den du.o..c t`
u. vi theo mo.t du.`o.ng di co do. d`ai
p. Do va.y, ta.p cac dnh co the den du.o..c t`
u. vi l`a
R(vi ) = {vi } 1 (vi ) 2 (vi ) .
Nhu.ng do d`o thi. du.o..c xet l`a h
u.u ha.n v`a mo.i du.`o.ng di d`eu ch
u.a mo.t du.`o.ng di con so. cap
`on ta.i p sao cho
trong do, nen t
R(vi ) = {vi } 1 (vi ) 2 (vi ) p (vi ).

(1.1)

Suy ra ta.p pha.m vi R(vi ) co the nha.n du.o..c t`


u. Phu.o.ng tr`nh (1.1) ba` ng cach thu..c hie.n cac
`an
phep toan ho..p t`
u. trai sang phai cho den khi ta.p hie.n h`anh khong tang kch thu.o.c trong l
la.p ke tiep. So cac phep toan ho..p phu. thuo.c v`ao d`o thi., ma.c d`
u hien nhien ra` ng p n 1,
trong do n l`a so dnh cua d`o thi..
Va.y ma tra.n pha.m vi co the du.o..c xay du..ng nhu. sau. T`m ta.p R(vi ) vo.i moi dnh vi
- a.t rij = 1 neu vj R(vi ), v`a rij = 0 neu ngu.o..c la.i.
theo tren. D
Ma tra.n da.t du.o..c Q = (qij ) d.inh ngha nhu. sau:
(

qij :=

1
0

`on ta.i du.`o.ng di t`


neu t
u. dnh vj den dnh vi ,
neu ngu.o..c la.i.

Ta.p Q(vi ) cua d`o thi. G l`a ta.p cac dnh co the den du.o..c dnh vi . Tu.o.ng tu.. nhu. tren
ta c
ung co
Q(vi ) = {vi } 1 (vi ) 2 (vi ) p (vi ),
(1.2)
trong do 2 (vi ) = 1 (1 (vi )), . . . .
T`
u. d.inh ngha, hien nhien co Q = Rt .
`e cua G l`a
V du. 1.4.1 Xet d`o thi. G trong H`nh 1.18. Ma tra.n k
v
1

v1

v2

v3

A = v4

v5

v6

v7

0
0
0
0
0
0
0

v2
1
1
0
0
0
0
0

v3
0
0
0
0
0
1
0
34

v4
0
1
1
0
0
0
1

v5
1
0
0
1
1
0
0

v6
0
0
0
0
0
0
1

v7

0
.

http://www.ebook.edu.vn

v1
..
............
.
... ....

.....
.
.....
...
.....
...
.....
.....
...
.......
...
.
.............................
.........
.........
......
..
.
.....
....
.....
..
.....
.
...
...
.....
..
..
.
.
...
.....
.
.
.
.
.
.
..
.
..... ..
...
.
.
..
.
.
..... ...
..
.
.
.
.
...
.......
..
.......
........
.
.
.
.
.
.
.
.
.
.
.
.
..
.
..
.......................................
...
...
...
...
...
..
..
.
.
.
...
...
...
...
...
...
..
..
.
.
.
...
...
...
...
...
...
..
..
.
.
..
...
..
...
...
..
................................
...
..........
........
..
.
.
.
.
.
.
.
.
.
.
.
.
.
..........
...
....
..........
..
...
...
....
.......... ....
...
..........
...
...
. ....
..
...
...
..
... ....................
.
.
.
....
.
.
.
........
.......... .
.......
...............
..
...
....
..
. ..........
...
...........
...
...
..........
..........
..
...
...
...
..........
..
...
.
...
...
.
.
.
.
..........
...
...
.......... ...
...
...
...........
...
.....
. ..........
...
...
..........
......
..
...
..........
.
.......
..
.
..........
...
.
...................
..
.
.......
..
.
.
.
....
.......
..
.....
....... ....
.
.
.....
....... ..
.
.
.
.
.
........
.
...
.
.
.
.
.
.
.
.
.
.
. .........
....
.......
...
...
.....
.......
...
.....
...
........ .
..
.......
.............
...
.......
..
........
.
..
.
.
.
.
.
.
.......
.
....
.......
...
...
.....
.......
... .........
...
.......
..
.
.......
...
.......
.. .........
.
..
.
.
.
.......
.. .....
.......
...
.....
........
............................ ....
......
.........................................................................................................................................................................
.
.....
...
...
...
.
...
..
..
...
.....
...
...
..
...
.
.
.
...
.
...........
..
.......
.....
..........................

v2

v6

v3

v7

v4

v5

H`nh 1.18:
Cac ta.p pha.m vi co the xac d.inh t`
u. Phu.o.ng tr`nh (1.1) nhu. sau
R(v1 ) =
=
R(v2 ) =
=
R(v3 ) =
=
R(v4 ) =
=
R(v5 ) =
=
R(v6 ) =
=
R(v7 ) =
=

{v1 } {v2 , v5 } {v2 , v4 , v5 } {v2 , v4 , v5 }


{v1 , v2 , v4 , v5 },
{v2 } {v2 , v4 } {v2 , v4 , v5 } {v2 , v4 , v5 }
{v2 , v4 , v5 },
{v3 } {v4 } {v5 } {v5 }
{v3 , v4 , v5 },
{v4 } {v5 } {v5 }
{v4 , v5 },
{v5 } {v5 }
{v5 },
{v6 } {v3 , v7 } {v4 , v6 } {v3 , v5 , v7 } {v4 , v5 , v6 }
{v3 , v4 , v5 , v6 , v7 },
{v7 } {v4 , v6 } {v3 , v5 , v7 } {v4 , v5 , v6 }
{v3 , v4 , v5 , v6 , v7 }.
35

http://www.ebook.edu.vn

Do do ma tra.n pha.m vi co da.ng


v
1

v1

v2

v3

R = v4

v5

v6

v7

1
0
0
0
0
0
0

v2
1
1
0
0
0
0
0

v3
0
0
1
0
0
1
1

v4
1
1
1
1
0
1
1

v5
1
1
1
1
1
1
1

v6
0
0
0
0
0
1
1

v7

0
.

`an ch
C
uy
r`a ng, do R v`a Q l`a cac ma tra.n Boole, moi h`ang cua ch
ung co the lu.u da.ng
.
.
mo.t hoa.c ho n mo.t t`
u (word) . Vie.c t`m cac ma tra.n n`ay l`a mo.t tnh toan do.n gian do ch
du..a v`ao cac phep toan logic.
T`
u. d.inh ngha, R(vi ) Q(vj ) l`a ta.p cac dnh vk m`a co t nhat mo.t du.`o.ng di t`
u. vi den
vj qua dnh vk . Cac dnh n`ay go.i l`a cot yeu. Tat ca cac dnh vk
/ R(vi ) Q(vj ) go.i l`a khong
.
.
.
.

cot yeu hay du th`


u a do bo ch
ung di khong anh hu o ng den cac du.`o.ng di t`
u. vi den vj .
Cac ma tra.n R v`a Q d.inh ngha tren l`a tuye.t doi theo ngha so cac cung tren du.`o.ng
di t`
u. vi den vj khong bi. ha.n che. Ma.t khac ta c
ung co the d.inh ngha tu.o.ng tu.. cac ma
.
.
.
.
.
tra.n n`ay vo i so cung tren du `o ng di khong vu o. t qua mo.t so cho tru.o.c. Vo.i mo. ro.ng n`ay ta
c
ung co the tnh du.o..c cac ma tra.n ha.n che theo lu.o..c d`o tren.
- `o thi. du.o..c go.i l`a bac c
`au neu t
`on ta.i cac cung (vi , vj ) v`a (vj , vk ) th` c
`on ta.i cung
D
ung t
0
`au cua d`o thi. G = (V, E) l`a d`o thi. Gtc = (V, E E ) trong do E 0 l`a
(vi , vk ). Bao dong bac c
`au. De d`ang ch
cac cung du.o..c them v`ao t nhat de d`o thi. Gtc co tnh bac c
u.ng minh ra` ng
`e cua d`o thi. Gtc chnh l`a ma tra.n pha.m vi R v`a b`a ng
ma tra.n k
A + A2 + + Ap ,

(p n 1),

`e cua G. (Ta.i sao?)


trong do A l`a ma tra.n k

1.4.2

`an li
T`m c
ac th`
anh ph
en th
ong ma.nh

`an lien thong ma.nh d.inh ngha trong ph


`an tru.o.c tru.o.c l`a d`o thi. con lien thong
Th`anh ph
ma.nh lo.n nhat trong G. V` vo.i d`o thi. lien thong ma.nh, vo.i mo.i ca.p dnh vi , vj , luon luon
`on ta.i duy nhat mo.t th`anh
`on ta.i mo.t du.`o.ng di t`
u. dnh vi den dnh vj v`a ngu.o..c la.i, nen t
t
.
.
.
`an lien thong ma.nh ch
ph
u a mo.t dnh cho tru o c v`a vi se xuat hie.n trong ta.p cac dnh cua
`an lien thong ma.nh. Khang d.inh n`ay l`a hien nhien (ta.i sao?).
mo.t v`a ch mo.t th`anh ph
36

http://www.ebook.edu.vn

Neu dnh vi du.o..c coi v`


u.a l`a xuat phat v`
u.a l`a ket th
uc th` ta.p cac dnh cot yeu tu.o.ng
.
.
.
u
ng vo i hai dnh tr`
ung nhau n`ay (t
u c l`a ta.p cac dnh thuo.c ma.ch n`ao do ch
u.a vi ) xac d.inh
bo.i R(vi ) Q(vi ). V` tat ca cac dnh cot yeu n`ay co the den t`
u. vi v`a ngu.o..c la.i nen ch
ung
.
.
.
.
.
.

c
ung co the den du o. c cac dnh khac trong ta.p n`ay v`a ngu o. c la.i. Ho n n
u a, de tha y r`a ng
`an lien thong ma.nh duy nhat tu.o.ng u
ta.p R(vi ) Q(vi ) xac di.nh cac dnh cua th`anh ph
.ng
vo.i dnh vi .
`an
Neu ta loa.i cac dnh n`ay khoi d`o thi. G = (V, ) th` co the ap du.ng t`m th`anh ph
0
.
.
.
lien thong ma.nh tren d`o thi. con nha.n du o. c G vo i ta.p dnh V \ (R(vi ) Q(vi )). Qua tr`nh
`an lien thong ma.nh du.o..c t`m. Ket th
n`ay la.p la.i cho den khi tat ca cac th`anh ph
uc ta co d`o
.
.
`an lien thong ma.nh.
thi. G du o. c phan hoa.ch th`anh cac th`anh ph
`an lien thong ma.nh
V du. 1.4.2 Xet d`o thi. trong H`nh 1.19. Ch
ung ta hay t`m th`anh ph
.
ch
u a dnh v1 .
v1
v6
v10
v11
............
.................................................................................
.................................................................................
.......................................................................................
.
.
.. ..... ........
.
...
.
... ..............
.
.
.
.
.
.
... .....
.
. .. ......
..
... ..
... .. .... .......

.......
.. ...
... ...
... .....
. . ...... .......
.......
.....
..... .......
... ...
...
... ...
... ...
...........
.....
.
.....
... ...
...
............
... ...
... ...
.....
..... ..............
.......
. ...
... ...
...
.....
.....
.... ....
.....
.
.......
. ..
.....
.
.
.
.
. ..
.
.....
.
.
.
.
.
.......
.
.
.
.
.
.
......
... ......
....
.....
. .......
...........
........ ...
......
.
.
.
.
.
.....
.........
...
...
... ....
..... .....
...... .....
.
.
.......
.
.
.
.
.
.
.
.
.
.
.
.....
...
. .....
...
... ....
.... ..
.... ..
.......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... .
.....
..... ... ..
... ..
.....
.
.
.. ...
.
.....
.
..... .. ..
.
.
... ...
.
.
... ..
. .
.....
..... ... ...
......
... ...
... ..
..... .... ....
.............
..... ... ..
... ..
... ... .............. .
..... .. ..
..... .. ..
... ...
..... .. ..
...........
... .............
..........
........
.......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
.....
.........................................................................
.....
.. ......
...
.....
... .......
...
.....
.....
...
...
.....
.....
.
.....
...
.
.....
.
.....
.
.
..
.
.
.....
.....
.
..
.......
.....
.
.
.........
.
.....
.........
.
.
...
.....
.........
....
.
.
..
.
.......
.....
.....
.....
.
...
.
.....
.....
.....
...
....
.....
.....
.
.....
...
.
.....
..... ...
.
..... ....
..... ..
..... ..
..... ..
.......
.......
...................................................................................
.....
.....
...
.....
.....
.....
.....
.....
....
.....
.....
.
.
.
.....
...
.
....
.....
..
.....
.....
.....
.......
.........
.....
.........
...
.....
.....
.
.
.
.
.
.
.
.
.
.
..
.....
......
.....
....
.....
.....
...
.....
.....
..
.....
.....
..... ... .........
..... ... .....
..... .. ....
...........

v13

v2

v5

v3

v8

v7

v12

v9

v4

- `o thi. G.
H`nh 1.19: D
T`
u. cac phu.o.ng tr`nh (1.1) v`a (1.2) ta co
R(v1 ) = {v1 , v2 , v4 , v5 , v6 , v7 , v8 , v9 , v10 }
v`a
Q(v1 ) = {v1 , v2 , v3 , v5 , v6 }.
`an lien thong ma.nh ch
Do do th`anh ph
u.a dnh v1 l`a d`o thi. con
hR(v1 ) Q(v1 )i = h{v1 , v2 , v5 , v6 }i.
37

http://www.ebook.edu.vn

`an lien thong ma.nh ch


Tu.o.ng tu.., th`anh ph
u.a dnh v8 l`a d`o thi. con h{v8 , v10 }i, ch
u.a
.
.
dnh v7 l`a d`o thi. con h{v4 , v7 , v9 }i, ch
u a dnh v11 l`a d`o thi. con h{v11 , v12 , v13 }i, v`a ch
u a dnh
.
.
v3 l`a d`o thi. con h{v3 }i. D`o thi. thu go.n Gr du o. c cho trong H`nh 1.20.

v1 = {v1 , v2 , v5 , v6 }

v2 = {v8 , v10 }

...................................................................................................................................................................................................................
... ........
.... .........
.......
...
.......
... .......
...
.......
.....
.......
...
.
.....
.
.......
.
...
.....
...
.......
.....
.......
...
.
..
.......
.....
.
...
.......
...
.....
.......
.....
...
..
.......
.....
.
.......
...
.
.....
............
...
....
.....
.............
...
.....
.........
...
.....
.......
.
...
.
.....
.......
...
.......
.....
...
.......
....
.....
...
.......
.....
...
.......
.....
...
.......
..
.....
.......
...
.
...
.....
.......
...
.......
.......
.........
.......
.........
...
.
...
.
.....
...
.
...
.....
......
.
.
.....
..
.....
.
....
...
.....
...
.....
.....
.....
...
.....
....
...
.....
...
.....
...
...
.....
...
.....
...
...
.....
...
.....
...
...
.....
...
.....
.....
.....
...
.....
...
...
.....
...
...
.....
.
.....
...
..... .....
...
..... ..
..... ..
...
.........................................................................................................................................................................................................

v4 = {v11 , v12 , v13 }

v5 = {v3 }

v3 = {v4 , v7 , v9 }

- `o thi. thu go.n Gr .


H`nh 1.20: D

`an lien thong ma.nh cua mo.t d`o


Cac phep toan du.o..c mieu ta tren de t`m cac th`anh ph
.
.
.
`an tru.o.c. Do
thi. c
ung co the su du.ng tru. c tiep doi vo i cac ma tra.n R v`a Q d.inh ngha ph
u. R v`a Q b`a ng cach nhan cac
do neu ta k
y hie.u R Q co ngha l`a ma tra.n nha.n du.o..c t`
.
.
.
.
.
`an tu (R Q)ij = rij qij b`a ng 1 neu t
`on ta.i du.`o.ng di t`
`an tu tu o ng u
ng th` ph
u. vi den vj
ph
v`a ngu.o..c la.i, v`a ba` ng 0 trong tru.`o.ng ho..p ngu.o..c la.i. Do do hai dnh thuo.c c`
ung mo.t th`anh
.
.
.
`
`

phan lien thong ma.nh neu v`a ch neu cac h`ang (hoa.c co.t) tu o ng u
ng ba ng nhau. Cac dnh
.
.
.
.
.
.
`an tu 1 o co.t vj ta.o th`anh ta.p dnh cua th`anh ph
`an lien
m`a h`ang tu o ng u
ng ch
u a mo.t ph
.

`
`

thong ma.nh ch
u a vi . Hien nhien ra ng co the bien do i ma tra.n R Q ba ng phep hoan vi.
cac h`ang v`a cac co.t sao cho ma tra.n thu du.o..c co da.ng khoi cheo; moi ma tra.n con cheo
`an lien thong ma.nh cua G v`a co cac ph
`an tu. b`a ng 1, cac ph
`an
tu.o.ng u
.ng vo.i mo.t th`anh ph
38

http://www.ebook.edu.vn

tu. khac ba` ng 0. Vo.i v du. tren, ma tra.n R Q du.o..c sap xe6p la.i co da.ng
v1
1

v1
v2
v5
v6

v8

v10

R Q = v4

v7

v9

v11

v12

v13
v3

1.4.3

v2
1
1
1
1

v5
1
1
1
1

v6
1
1
1
1

v8

1
1

v10

v4

v7

v9

v11

v12

v13

v3

1
1
1
1
1

1
1
1

1
1
1
1
1
1

1
1
1

1
1
1
1

Co. so.

Ta.p B cac dnh co the den du.o..c mo.i dnh cua d`o thi. v`a nho nhat theo ngha khong co ta.p
con thu..c su.. n`ao cua no co tnh chat n`ay go.i l`a co. so.. Do do neu ta viet R(B) l`a ta.p pha.m
vi cua B-t
u.c l`a
R(B) = vi B R(vi )
th` B l`a co. so. neu v`a ch neu
1. B(V ) = V ; v`a
2. vo.i mo.i ta.p con S B th` R(S) 6= V.
- i
`eu kie.n th
`eu kie.n vj
D
u. hai tu.o.ng du.o.ng vo.i di
/ R(vi ) vo.i hai dnh phan bie.t vi , vj B;
.
.
.
.
- i
`eu n`ay co the
u mo.t dnh khac trong B. D
t
u c l`a mo.t dnh thuo.c B khong the den du o. c t`
.
.
ch
u ng minh nhu sau:
`eu kie.n R(S) 6= V vo.i mo.i
Do vo.i hai ta.p con H v`a H 0 H ta co R(H 0 ) R(H) nen di
S B tu.o.ng du.o.ng vo.i R(B\{vj }) 6= V vo.i mo.i vj B. Noi cach khac, R(vj ) 6 R(B\{vj }).
`eu kie.n n`ay thoa man neu v`a ch neu vj
Nhu.ng di
/ R(B \ {vj }), t
u.c l`a vj
/ R(vi ) vo.i mo.i
vi , vj B.
`eu kie.n sau:
Va.y, co. so. l`a mo.t ta.p B cac dnh thoa man hai di
39

http://www.ebook.edu.vn

1. tat ca cac dnh cua G co the den du.o..c t`


u. dnh n`ao do cua B; v`a
2. khong dnh n`ao trong B co the den du.o..c t`
u. mo.t dnh thuo.c B.
`eu kie.n n`ay ta suy ra
T`
u. hai di
`e 1.4.3 (i) Khong t
`on ta.i hai dnh trong co. so. B sao cho ch
M
e.nh d

ung thuo.c c`
ung mo.t
`
th`anh phan lien thong ma.nh cu a G.
- `o thi. khong ma.ch co duy nhat mo.t co. so. g
`om ta.p cac dnh co ba.c trong b`a ng khong.
(b) D
Ch
u.ng minh. Suy tru..c tiep t`
u. d.inh ngha.

Theo Me.nh d`e tren v`a do d`o thi. thu go.n Gr cua d`o thi. G khong co ma.nh nen ta.p co.
so. Br cua Gr l`a ta.p cac dnh co ba.c trong b`a ng khong. Cac ta.p co. so. cua G co the xac d.inh
du..a v`ao Br . Cu. the l`a neu Br = {S1 , S2 , . . . , Sk }, trong do k l`a so cac ta.p dnh Sj trong co.
so. Br cua Gr , th` B l`a ta.p da.ng {vi1 , vi2 , . . . , vik } vo.i vij Sj , j = 1, 2, . . . , k.
V du. 1.4.4 Vo.i d`o thi. trong H`nh 1.19, d`o thi. thu go.n trong H`nh 1.20. Co. so. cua d`o
thi. n`ay l`a {v4 , v5 } do v4 v`a v5 l`a hai dnh duy nhat cua G co ba.c trong ba` ng khong. Suy ra
cac ta.p co. so. cua G l`a {v3 , v11 }, {v3 , v12 } v`a {v3 , v13 .}
- oi ngau vo.i khai nie.m co. so. co the d.inh ngha theo thua.t ng
u. cua cac ta.p ho..p Q(vi )
D
nhu. sau.
cac dnh cua d`o thi. G = (V, ) thoa man
- oi co. so. l`a ta.p B
D
=
Q(B)

Q(vi ) = V,

vi B

Q(S) 6= V.
S B,
l`a ta.p nho nhat cac dnh co the den du.o..c t`

u. cac dnh khac. Cac tnh chat cua B


T
u.c l`a B
.
.
.
.
.
.
.
.
.
.
`e hu o ng du o. c thay b`a ng ban sao ngu o. c la.i.
tu o ng tu. vo i cua B trong do cac khai nie.m v
Do va.y, doi co. so. cua d`o thi. thu go.n Gr l`a ta.p cac dnh cua Gr co ba.c ngo`ai b`a ng
khong, v`a t`
u. do ta co the nha.n du.o..c doi co. so. cua G tu.o.ng tu.. nhu. da thu..c hie.n o. tren.
Trong v du. cua d`o thi. G trong H`nh 1.19, d`o thi. thu go.n Gr ch ch
u.a mo.t dnh v3

.
.
.
co ba.c ngo`ai ba` ng khong. Do do doi co so cua Gr l`a {v3 } v`a bo i va.y doi co. so. cua G l`a
{v4 }, {v7 } v`a {v9 }.
40

http://www.ebook.edu.vn

du.ng trong c
Ap
au tr
uc t
o ch
u.c
`an tu. cua mo.t th`anh
Neu d`o thi. bieu dien cau tr
uc anh hu.o.ng cua mo.t to ch
u.c th` cac ph
`an lien thong ma.nh cua G co anh hu.o.ng v`a ch
ph
u.c nang ngang nhau. Mo.t co. so. cua G co
.
.
the hieu l`a mo.t lien minh co so ngu `o i t nhat nhu.ng lanh da.o mo.i ca nhan trong to ch
u.c.
Tren ta.p cac dnh bieu dien cac th`anh vien cua c`
ung to ch
u.c, ta xet d`o thi. G0 du.o..c
`en thong sao cho t
`on ta.i cung (vi , vj ) neu vi co the giao
xay du..ng de bieu dien cac kenh truy
0
.
.
- `o thi. G d nhien co lien quan vo i G. So ngu.`o.i t nhat m`a biet hoa.c co the
tiep vo i vj . D
`e to ch
nha.n tat ca cac su.. kie.n v
u.c ta.o th`anh mo.t doi co. so. cua G0 . Ta co the noi r`a ng mo.t
lien minh hie.u qua de lanh da.o to ch
u.c l`a ta.p H nh
u.ng ngu.`o.i thoa man:
0 ),
H = B(G) B(G
0 ) l`a mo.t trong cac co. so. v`a cac doi co. so. cua G v`a G0 tu.o.ng u
trong do B(G) v`a B(G
.ng
du.o..c cho.n sao cho #H nho nhat.
y th`
u.a l`a ta.p cac dnh Bp V sao cho
Ke tiep xet co. so. lu
R(Bp ) = V,
R(S) 6= V,

Q(Bp ) = Bp ,
S Bp .

- i
`eu kie.n th
D
u. hai ngha l`a ch nh
u.ng ngu.`o.i ben trong Bp mo.i co the co anh hu.o.ng den
`eu kien tu.o.ng du.o.ng: R(V \ Bp ) Bp = .
ngu.`o.i khac c
ung trong Bp v`a co the thay ba` ng di
- i
`eu kie.n n`ay ch ra r`a ng neu mo.t dnh trong th`anh ph
`an lien thong ma.nh cua G thuo.c Bp
D
`an lien thong ma.nh n`ay c
th` mo.i dnh khac trong c`
ung th`anh ph
ung thuo.c Bp . Do ta.p co.
so. cua Gr l`a ta.p cac dnh co ba.c trong b`a ng khong nen ta.p co. so. l
uy th`
u.a cua G chnh l`a
Bp =

Si .

Si B

`an ch
uy th`
u.a l`a {v3 , v11 , v12 , v13 }. C
Chang ha.n d`o thi. trong H`nh 1.19 co co. so. l
uy

.
.
.
.
ra` ng, neu d`o thi. n`ay tu o ng u
ng mo.t to ch
u c th` v3 co the xem l`a ngu.`o.i lanh da.o cao nhat
cua cac nhom v1 , v2 v`a v3 .

1.5

-
`o thi.
D
a ng c
au cua c
ac d

`eu h`nh ve khac nhau. Vie.c


Ta da biet r`a ng c`
ung mo.t d`o thi. co the du.o..c bieu dien ba` ng nhi
.
.
.
.
.
nha.n biet du o. c trong tru `o ng ho. p n`ao hai h`nh ve bieu dien c`
ung mo.t d`o thi., trong tru.`o.ng
ho..p n`ao bieu dien hai d`o thi. khac nhau, l`a mo.t van d`e khong do.n gian.
41

http://www.ebook.edu.vn

`eu kie.n sau day


Ro r`ang l`a hai h`nh cho tru.o.c bieu dien c`
ung mo.t d`o thi. ch khi cac di
.
.
du o. c thoa man:
1. So dnh b`a ng nhau;
2. So ca.nh b`a ng nhau;
3. So dnh c`
ung ba.c b`a ng nhau.
- o l`a nh
`eu kie.n c
`an: hai h`nh khong thoa man mo.t trong cac di
`eu kie.n do th`
D
u.ng di
.
`eu kie.n du (hay cho
khong bieu dien c`
ung mo.t d`o thi.. Nhu ng ch
ung c
ung khong phai l`a di

`
v du.). Hien nhien ra ng
- i.nh l
- i
`eu kie.n c
`an v`a du de hai h`nh bieu die n c`
`on ta.i mo.t
D
y 1.5.1 D
ung mo.t d`o thi. l`a t
.
.
.
.

tu o ng u
ng mo.t-mo.t len gi
u a cac d nh cu a hai h`nh sao cho neu hai d nh cu a h`nh n`ay du.o..c
.
noi bo i mo.t ca.nh th` hai dnh tu.o.ng u
.ng cu a h`nh kia c
ung du.o..c noi vo.i nhau bo.i mo.t
ca.nh v`a ngu.o..c la.i.
Vie.c t`m mo.t tieu chuan do.n gian v`a hie.u qua de phat hie.n tnh da ng cau cua cac d`o
y thuyet d`o thi. v`a dang c`on du.o..c tiep tu.c nghien c
u.u.
thi. van l`a b`ai toan mo. cua l

1.5.1

1d

a ng c
au

- `o thi. co cac diem kho.p g


`om t nhat hai d`o thi. con khong co diem kho.p. Moi d`o thi. con
D
.
- `o thi. trong H`nh 1.21 co nam khoi
lien thong lo n nhat khong co diem kho.p go.i l`a khoi. D
.

(v`a ba diem kho p a, b v`a c). Ch


uy
r`a ng d`o thi. lien thong khong co diem kho.p ch co mo.t
khoi.

........
.......
..............
..... .......
..... .........
.... . ..............
..... .............
.....
.....
.... ...
.......
.....
.....
.....
... ......
.
.
.......
.
.
... ...
.
.
.
.
.
.....
.......
... .....
.....
.....
.....
.......
...
....
... ......
.....
.....
.......
.
.
.....
.
.
.
...
.
.
.
.
.
.
.
.
.
.......
... ......
.....
.
...
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
.
.
.
.
.....
.......
.
...
...
....
.
.
.
.....
.......
.
.
.
.
.
.
....
....
.....
...
..
.......
...
...
.
.....
.
...
.
....
....... ........
...
.
...............................................................................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
.
.
.
.
.
.
.
.
.
.
...
.....
...
.
..... .... ............
...
.
.
.
.
.....
.
.
.
.
.
.
.
.
.......
.....
.
...
...
...
.
....
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
...
.......
.....
...
..
...
.....
.
.
.
.
.
.
.
.
.
.
.
...
.
.
.
....
.
.
.
.
.
.......
...
.....
...
....
....
...
.......
.....
.......
... ....
...
.....
.......
...
.....
.......
...
... ...
.......
.....
..
.......
...
.....
...
. .
.......
.....
.......
.....
.... ....
....... .... ...
.....
..
.......
.
.
.
.
.
.... ..
.
.
.
.
.
.
.
.
.
.
.
.
.
....... .. ..
..... .....
.... ... ..........
..........
..........
.....
...........
......
..
...
...
...
...
...
...
...
...
...
..

H`nh 1.21:
42

http://www.ebook.edu.vn

So sanh d`o thi. khong lien thong trong H`nh 1.22 v`a d`o thi. trong H`nh 1.21. Hien nhien
hai d`o thi. n`ay khong da ng cau (ch
ung co so dnh khac nhau); nhu.ng ch
ung co moi lien he.
.
`an cua d`o thi. trong H`nh 1.22. Cac
l`a cac khoi trong H`nh 1.21 dang cau vo i cac th`anh ph
.

do thi. n`ay go.i l`a 1-dang ca u. Chnh xac ho n:


- i.nh ngha 1.5.2 Hai d`o thi. G1 v`a G2 go.i l`a 1dang cau neu ch
D
ung tro. th`anh dang cau
.
`an phep toan sau:
vo i nhau sau khi ap du.ng mo.t so l
Phep toan 1. Tach mo.t diem kho.p th`anh hai dnh de ta.o th`anh hai d`o thi. con
khong co diem kho.p r`o.i nhau.

.........
.... .. ..............
.......
.... ..
.......
.... ....
.
.......
.
.......
...
....
.......
..
.
.
.......
.
.
.
.......
....
.......
....
.......
...
....
.......
.......
...
...
.
...
.
......
.
...
.
.......
.
...
.
.......
.
.
.
.
.
.
.
.
.
...
.....
.
.
.
...
.
.
....
.
...
...
.......
...
...
.......
..
...
.......
.......
.... ....
.......
.
.
.... ..
.
.
.
.
.... ... ..........
...........
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...

a1

a2

..........
..... ........
..... .............
....
.
... .......
.
.
.
..
... .....
.....
... ......
.....
... ......
.....
.
.
.
.....
...
.
...
.
.....
.
...
.
.
.....
...
...
.
.
.
.
.....
...
...........
....
...
.......
..
...
.......
.......
.
....
.
.......
...
...
.......
...
.......
.
.......
... ....
.......
.
... ....
.......
.......
....... ..... ....
....... ....
...........
.

b1

a3

.............................................
c1
b2

.........
..... .........
.....
.....
....
.....
.
.
.
.
.....
.....
.....
.....
.
.....
.
.
.
.....
...
.
.
.
.
.....
...
.
.
.....
.
.
...
.....
.
.
.
.
.......................................................................................................
.....
....
.....
.....
.
.....
.
.
.....
.....
.....
.....
.
.
.
.....
.
.....
.....
.....
.....
.....
.....
.....
.....
..... ........
......

c2

H`nh 1.22:

T`
u. d.inh ngha suy ra r`a ng hai d`o thi. khong co diem kho.p l`a 1-dang cau neu v`a ch
neu ch
ung da ng cau.
- i
`eu g` se xay ra khi ta noi hai th`anh ph
`an cua H`nh 1.22 ba` ng cach dan hai dnh
D
.
.
(chang ha.n x v`a y)? Ch
ung ta nha.n du o. c d`o thi. trong H`nh 1.23.
Hien nhien cac d`o thi. trong H`nh 1.23 l`a 1dang cau vo.i d`o thi. trong H`nh 1.22. V`
cac khoi cua d`o thi. trong H`nh 1.23 da ng cau vo.i cac khoi cua d`o thi. trong H`nh 1.21, nen
hai d`o thi. n`ay l`a 1dang cau. Do do ba d`o thi. trong cac H`nh 1.21, 1.22 v`a 1.23 l`a doi mo.t
1dang cau.

1.5.2

2d

a ng c
au

`an tren ch
Trong ph
ung ta da tong quat hoa khai nie.m dang cau ba` ng khai nie.m 1da ng
ng. Su.. tong quat hoa
cau. Cac d`o thi. da ng cau th` 1dang cau nhu.ng ngu.o..c la.i khong du
rat h
u.u ch trong vie.c nghien c
u.u cac d`o thi. co diem kho.p.
43

http://www.ebook.edu.vn

...........
.... .. ..............
.......
.... ..
.......
.... ....
.......
...
...
.
.......
.......
...
...
.......
.
...
.......
.
.
.......
.....
....
.......
.......
...
...
.......
....
...
..
...
.......
...
.......
.
...
.
.
.
.
.
.
.
.
...
.....
.
.
.
.
.
.
.
.
...
.....
.
.
.
.
.
...
....
.
......
...
...
.......
...
.......
.... ....
.......
.... ...
.......
.... .. ..............
...........
...
......
...
..... ........
..... ..............
...
....
.....
.
.
.
...
.
.
.
... .....
...
.
...
.
.
.
.
.
... ......
...
...
.
.
.
.
.
... .....
...
...
.
.
.
.
.
.
.
.....
...
...
.
.
.
.
.
.
.....
.
.....
...
...
.
.
.
.
...
.
.
...
.....
.
...
...
...........
...
.......
.
.
.
.
....
.......
...
....
.......
...
.
...
.......
.
.
...
.......
...
....
.......
...
.
... ..
.......
...
.
.......
.
... ...
...
.......
.
.
.......
....... ..... ....
.....
....... ....
...
...........

a1

xy

a3

.............................................
c1
b2

a2

.....
..... .....
..... .........
.....
.....
.....
.....
.
.
.
.
.....
.....
.....
.....
.....
.
.
.
.
.....
...
.
.
.
.....
.
...
.
.....
.
.
.
..
...
.
.
.
.
...................................................................................................
.....
.
.....
.....
.
.
.
.....
...
.
.
.
.....
.
...
.
.....
.
.
.
.....
...
.....
.....
.....
.....
.....
.....
.....
.....
..... ........
......

c2

b1

H`nh 1.23:

Ch
ung ta c`on co the mo. ro.ng khai nie.m n`ay cho cac d`o thi. 2lien thong nhu. sau.
Trong d`o thi. 2lien thong G xet hai dnh x v`a y m`a xoa ch
ung (v`a cac ca.nh lien thuo.c
`om mo.t d`o thi. con g1 v`a ph
`an b`
ch
ung) th` d`o thi. mat tnh lien thong. Noi cach khac, G g
u
.
.
ung ta thu. c hie.n
cua no g1 sao cho g1 v`a g1 co du
ng hai dnh chung: x v`a y. Gia su r`a ng ch
phep toan sau tren G :
Phep toan 2. Tach dnh x th`anh x1 v`a x2 v`a dnh y th`anh y1 v`a y2 sao cho ta thu
.
.
`an g1 v`a x2
`an g1 v`a g1 . Gia su. cac dnh x1 v`a y1 thuo.c th`anh ph
du o. c t`
u. G hai th`anh ph
.
.
.
v`a y2 thuo.c g1 . Bay gi`o noi hai d`o thi. g1 v`a g1 b`a ng cach ho. p nhat dnh x1 vo i dnh y2 v`a
ung vo.i
dnh x2 vo.i dnh y1 . (Hien nhien cac ca.nh m`a lien thuo.c vo.i x hoa.c y trong G di c`
g1 hoa.c g1 , khong anh hu.o.ng den d`o thi. thu du.o..c o. bu.o.c cuoi).
Hai d`o thi. go.i l`a 2da ng cau neu ch
ung tro. th`anh da ng cau sau Phep toan 1 hoa.c
`an thu..c hie.n. H`nh 1.24 ch ra hai d`o thi.
Phep toan 2, hoa.c ca hai phep toan sau mo.t so l
trong H`nh 1.24(a) v`a (d) l`a 2da ng cau. Ch
uy
ra` ng trong H`nh 1.24(a), ba.c cua dnh x
ba` ng bon, c`on trong H`nh 1.24(d) khong co dnh n`ao ba.c bon.
T`
u. d.inh ngha, suy ra 1da ng cau l`a 2dang cau, nhu.ng ngu.o..c la.i chu.a chac du
ng.
Tuy nhien, vo.i cac d`o thi. klien thong vo.i k 3 th` ba khai nie.m dang cau, 1da ng cau
v`a 2dang cau l`a nhu. nhau (ta.i sao?).
Tu.o.ng u
.ng chu tr`nh
`eu kie.n sau: T
`on
Hai d`o thi. G1 v`a G2 go.i l`a cho mo.t tu.o.ng u
.ng chu tr`nh neu ch
ung thoa di
.
.
.
.
.
.
.
.
ng mo.t-mo.t gi
u a cac ca.nh cua G1 v`a G2 v`a mo.t tu o ng u
ng gi
u a cac chu tr`nh
ta.i tu o ng u
cua G1 v`a G2 sao cho mo.t chu tr`nh trong G1 du.o..c ta.o bo.i cac ca.nh cua G1 co mo.t chu
u.
tr`nh tu.o.ng u
.ng trong G2 du.o..c ta.o bo.i cac ca.nh tu.o.ng u
.ng trong G2 , v`a ngu.o..c la.i. T`
44

http://www.ebook.edu.vn

x1

...........................................................................................................................
...... .. .....
..... ... .........
....
.....
.... .....
.
.
...
.
.....
...
...
.....
...
... .......
.
.
.
.
...
.
.....
.....
... ..........
...
.
.....
...
................
.....
...
.....
...
.....
...
...
.....
...
...
.
.....
...
.
...
.
...
.....
.....
...
...
.....
...
...
.....
...
...
.
.....
...
.
...
.
...
.....
.....
...
...
.....
...
...
.....
...
.
...
.....
...
.
.
.
...
..... ....
..... ..
...
.................................................................................................................

...........
...... ..
..... ...
.... .....
.
.
.
... ......
...
..
... ....
... ........
................
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...

g1

y1

x2
..............................................................................................................................
.
.....
.....
....
.....
...
.....
.....
...
.....
...
.....
...
.....
.....
...
.....
...
.....
.....
...
.....
...
.....
...
.....
.....
...
.....
...
.....
.....
...
.....
...
.....
.....
...
.....
..... ....
..... ..
..... ..
.. .
..............................................................................................................

y2

...
..
...
...
..
.
..
..
...
...
..
.
...
..
..
...
..............
... ........
... .....
..
...
... .......
....
.... .....
..... ..
...... ...
..............

g1

y1

x2
..............................................................................................................................
.
.....
.....
....
.....
...
.....
.....
...
.....
...
.....
...
.....
.....
...
.....
...
.....
.....
...
.....
...
.....
...
.....
.....
...
.....
...
.....
.....
...
.....
...
.....
.....
...
.....
.
..... ....
..... ..
..... ..
......
............................................................................................................

y2

(b)

(a)
x1
....
...

g1

.............................................................................................................
... .......
...
... .........
...
..
.....
.
...
.
.....
.
.
...
.....
...
.....
.
...
.....
..
.
...
.....
..
.
.
...
.....
.
.
.
.
.
...
.....
...
.....
...
.
.....
..
...
.
.....
..
.
.
....
.....
..
.....
..
.
.
.....
.
.
...
.....
.
.....
...
..............
.....
... ........
...
.....
... .....
.
...
.....
....
...
.
.
...
...
.....
...
.....
...
.... .....
.
.
....
.
.
.
..... ....
..... ....
.
.
...... ...
. .
................................................................................................................................

g1

(d)

(c)
H`nh 1.24:
d.inh ngha suy ra cac d`o thi. da ng cau co tu.o.ng u
.ng chu tr`nh.

V` trong d`o thi. co diem kho.p G, moi chu tr`nh thuo.c mo.t khoi n`ao do, nen moi chu
tr`nh trong G van tu.o.ng u
.ng cac ca.nh cua no khi thu..c hie.n Phep toan 1 tren G. Do do, cac
d`o thi. 1dang cau co tnh chat tu.o.ng u
.ng chu tr`nh.
Tu.o.ng tu.., xet chu tr`nh trong d`o thi. G sau khi thu..c hie.n Phep toan 2 tren G. Vo.i
chu tr`nh , ta co ba tru.`o.ng ho..p xay ra:
1. Cac ca.nh thuo.c n`a m ho`an to`an trong g1 ; hoa.c
2. Cac ca.nh thuo.c n`a m ho`an to`an trong g1 ; hoa.c
3. Cac ca.nh thuo.c n`a m trong ca hai d`o thi. con g1 v`a g1 ; v`a trong tru.`o.ng ho..p n`ay
phai ch
u.a ca hai dnh x v`a y.
Trong cac Tru.`o.ng ho..p 1 v`a 2, chu tr`nh khong anh hu.o.ng qua Phep toan 2. Trong Tru.`o.ng
`om cac ca.nh c
`en gi
u, ngoa.i tr`
u. day chuy
u.a cac dnh x v`a y trong g1 (thuo.c
ho..p 3, van g
.
.
`om chnh
chu tr`nh ) bi. dao ngu o. c la.i. Do do, moi chu tr`nh sau Phep toan 2 van g
.
.
.
.
nh
u ng ca.nh c
u. Suy ra cac d`o thi. 2dang cau c
ung co tnh chat tu o ng u
ng chu tr`nh.
45

http://www.ebook.edu.vn

- .inh l
D
y 1.5.3 Hai d`o thi. l`a 2da ng cau neu v`a ch neu ch
ung co tu.o.ng u
.ng chu tr`nh.
- i
`eu kien du suy t`
`eu kie.n c
`an kho ho.n v`a
Ch
u.ng minh. D
u. cac l
y lua.n tren. Ch
u.ng minh di
co the xem [55].
/
Nhu. se thay sau, cac khai nie.m 2da ng cau v`a tu.o.ng u
.ng chu tr`nh dong vai tr`o quan
.
tro.ng khi nghien c
u u doi ngau cua cac d`o thi. phang.

`o thi. d
C
ac d

a.c bi
e.t

1.6

`an n`ay gio.i thie.u mo.t so d`o thi. da.c bie.t thu.`o.ng ga.p trong cac mo h`nh thu..c te. Cac d`o
Ph
`eu v`:
thi. n`ay du.o..c quan tam nhi
T`
u. phat bieu mo.t so b`ai toan;
T`
u. cac tnh chat da. c bie.t cua ch
ung;
Phu.c vu. cho mo.t so thua.t toan.

1.6.1

- `
D
o thi. kh
ong c
o ma.ch

- ay l`a d`o thi. thu.`o.ng ga.p nhat khi bieu dien cac quan he. th
`an tu.:
D
u. tu.. bo. pha.n tren cac ph
vo.i mo.t quan he. th
u. tu.. tren ta.p V, xet d`o thi. G = (V, E) trong do
(vi , vj ) E

i j.

`ong tren ma.ng va.n tai xet cac d`o thi. n`ay (c
Cac b`ai toan lu
ung xem cac b`ai toan la.p li.ch
trong [30]).

1.6.2

- `
D
o thi. ph
a ng

- `o thi. vo hu.o.ng G go.i l`a phang neu co the bieu dien tren mo.t ma.t phang R2 vo.i cac dnh
D
.ng cac diem phan bie.t tren R2 v`a cac du.`o.ng cong khong tu.. cat tu.o.ng u
.ng cac ca.nh
tu.o.ng u
sao cho hai du.`o.ng cong bat k`
y khong cat nhau ngoa.i tr`
u. ta.i cac dnh chung.
- `o thi. trong H`nh 1.25(a) l`a phang v` ch
D
ung ta co the ve la.i nhu. trong H`nh 1.25(b).
Cac d`o thi. phang se du.o..c nghien c
u.u trong Chu.o.ng 6.
46

http://www.ebook.edu.vn

.............................................
...........
........
........
.......
......
.......
.....
......
.
.
.
.
.....
...
.
.
....
.
.
.
.
.
.
......................
....
...
.
.
.
.
.
.
.
.
....
..
.... ... .... .........
.
.
.
.
.
....
.
.
.
......
..
. ...
....
.
.
....
.
.
.
.
.
.
.
.
.
.
.
......
...
.
....
....
...
.
.
.
.
.
.
.
.
.
.
.
.
......
...
...
.
....
..
.
.
.
.
.
.
.
.
.
.
...
.
.
.
.
......
...
.
.. .........
.
.
.
.
.
.
.
.
...... .....
...
.
.. .........
.
.
.
...... ...
.
.
...
.........
..
...............
.
.
.
.......
...
.....
...
...
...
...
..
...
.....
...
..
.. ...
.
.
.
.
...
...
.. ....
.
.
.
.
.
...
...
.
...
...
... ....
...
...
...
...
...
...
...
...
..
...
...
...
..
...
...
.
..
...
.
.
...
.
...
.
..
..
.
.
...
.
...
..
.
..
.
.
.
...
..
...
.
.
.
.
.
.
..
...
...
.
.
..
.
.
.
.
.
...
...
..
.
.
..
...
...
.
.
.
...
.
.
..
...
...
.
.
... ..
... ...
.
.
.
... ..
... ...
...
.
... .
...
... ...
.
.
.
.
.
.....
......
..
.
.
.
.................................................................................................................
...........
...
............
...
........
...
.......
...
........
.
.
.
.
.........
............
......
....................
.......
.......................................

a
..............
....
.
.
.
.
.
.. .. .. ......
...... ... ... ......

...... .... ..... ...........


......
......
...
......
......
...
...
......
......
.
.
.
.
...
...
.
......
.
......
..
......
...
......
..
......
.
.
.
.
.
.
......
.
.
.
...
.
....
.....
.
.
.
.
.
.
.
..................................................................................................................................................................
...
...
..
..... ..
.
...
..... ....
...
.
.
.
.
.
.
.
.
...
...
......
..
...
...
...
.....
..
.
.
.
.
.
.
.
.
...
.
... .....
...
..
........
...
...
..
.
.
..
.
.
...
.
.
.
.
.
. .
...
...... ....
...
...
......
...
...
...
...
.....
...
...
..
..
......
...
...
..
..
.....
.
.
.
.
.
.
.
.
...
.
...
......
...
...
...
...
......
...
...
...
...
.....
...
..
...
......
...
... ....
.....
.
... ...
.
.
.
... ..
... ... .........
... ..
... ... ........
... ...
.............
.................................................................................................................

(a)

(b)

- `o thi. (a) du.o..c bieu dien la.i trong h`nh (b) l`a phang.
H`nh 1.25: D

47

http://www.ebook.edu.vn

48

http://www.ebook.edu.vn

Chu.o.ng 2
`o thi.
C
ac s
o co. ban cua d

2.1

Chu s
o

`e
Khai nie.m m`a ch
ung ta se d`e ca.p o. day khong phu. thuo.c v`ao su.. d.inh hu.o.ng: ta se noi v
.
.
.

ca.nh ch
u khong phai cung. De to ng quat xet da do thi. vo hu o ng G := (V, E) co n dnh, m
- a.t
`an lien thong. D
ca.nh v`a p th`anh ph
(G) := n p,
(G) := m (G) = m n + p.
Ta go.i (G) l`a chu so cua d`o thi. G.
- i.nh l
D
y 2.1.1 Cho da d`o thi. vo hu.o.ng G = (V, E). Gia su. G0 l`a d`o thi. nha.n du.o..c t`
u. G
b`a ng cach noi hai dnh a v`a b cu a G bo.i mo.t ca.nh mo.i; neu a v`a b tr`
ung nhau hoa.c co the
.
.
`en cu a G th`
noi vo i nhau bo i mo.t day chuy
(G0 ) = (G),

(G0 ) = (G) + 1;

trong tru.`o.ng ho..p ngu.o..c la.i


(G0 ) = (G) + 1,

(G0 ) = (G).

Ch
u.ng minh. Theo cach xay du..ng, da d`o thi. G0 co n0 = n dnh, m0 = m + 1 ca.nh v`a gia su.
`an lien thong.
G0 co p0 th`anh ph
`en noi a vo.i b. Khi do phep bien doi G th`anh G0
Neu a b hoa.c co mo.t day chuy
`an lien thong, t
khong thay doi so th`anh ph
u.c l`a p = p0 . Do do
(G0 ) = n0 p0 = n p = (G),
(G0 ) = m0 (G0 ) = (G) + 1.
49

http://www.ebook.edu.vn

`on ta.i day chuy


`en noi a v`a b, th` do cach xac di.nh G0
Ngu.o..c la.i, neu a 6= b v`a khong t
0
ta co p = p 1. Suy ra
(G0 ) = n0 p0 = n (p 1) = n p + 1 = (G) + 1,
(G0 ) = m0 (G0 ) = (m + 1) ((G) + 1) = m (G) = (G).
/
H
e. qua 2.1.2 (G) 0 v`a (G) 0.
Ch
u.ng minh. Tha.t va.y, xuat phat t`
u. d`o thi. th`anh la.p b`a ng cac dnh cua da d`o thi. vo
`an d
`an t`
hu.o.ng G, dnh no. co la.p vo.i dnh kia, ta xay du..ng G0 d
u.ng ca.nh mo.t; kho.i d`au ta
co = 0, = 0; moi khi them mo.t ca.nh, th` hoa.c tang v`a l
uc do khong doi, hoa.c tang
.
.
v`a l
uc do khong doi. Nhu va.y, trong qua tr`nh xay du. ng d`o thi. G0 , cac so v`a ch co
the tang.
/
- e co the va.n du.ng nh
D
u.ng ket qua phong ph
u cua da.i so vector trong vie.c nghien c
u.u,
ngu.`o.i ta thu.`o.ng da. t tu.o.ng u
.ng moi chu tr`nh trong G vo.i mo.t vector theo cach sau day.
Moi ca.nh cua da d`o thi. G d`eu du.o..c d.inh hu.o.ng mo.t cach t`
uy y
; neu chu tr`nh di
.
.
.
.
.
.
`an ngu o. c hu o ng th` ta da.t ck := rk sk (neu ek l`a
`an thua.n hu o ng v`a sk l
qua ca.nh ek , rk l
.
.
`eu
mo.t khuyen th` ta luon qui u o c sk = 0). Vector m chi
(c1 , c2 , . . . , cm )
go.i l`a vector chu tr`nh tu.o.ng u
.ng vo.i v`a k
y hie.u l`a ~ (hay l`a neu khong the gay ra
`am lan).
nh
Cac chu tr`nh , 0 , 00 , . . . go.i l`a do.c la.p neu cac vector chu tr`nh tu.o.ng u
.ng do.c la.p
tuyen tnh. Ch
uy
ra` ng, d.inh ngha n`ay khong phu. thuo.c v`ao hu.o.ng gan cho cac ca.nh.
- .inh l
D
y 2.1.3 Chu so (G) cu a G = (V, E) b`a ng so cu..c da.i cac chu tr`nh do.c la.p.
Ch
u.ng minh. Tien h`anh nhu. trong He. qua 2.1.2: d`au tien ta lay d`o thi. vo hu.o.ng khong
u.ng ca.nh
co ca.nh vo.i ta.p cac dnh l`a V. Sau do ta xay du..ng da d`o thi. G0 b`a ng cach them t`
.
- i.nh l
mo.t v`ao. Theo D
y 2.1.1, chu so se tang mo.t do n vi. neu ca.nh them v`ao la.p ra cac chu
.
tr`nh mo i, chu so khong thay doi trong tru.`o.ng ho..p ngu.o..c la.i.
`om cac chu tr`nh do.c la.p:
Gia su., tru.o.c khi them ca.nh ek ta da co mo.t co. so. g
1 , 2 , 3 , . . . ; v`a sau khi them ca.nh ek xuat hie.n them cac chu tr`nh so. cap mo.i 1 , 2 , . . . ,
n`ao do. Hien nhien 1 khong the bieu dien tuyen tnh qua he. cac chu tr`nh j (v` cac vector
50

http://www.ebook.edu.vn

`an th
tu.o.ng u
.ng cac chu tr`nh j co th`anh ph
u. k ba` ng khong, trong khi vector tu.o.ng u
.ng
.
`an th
chu tr`nh 1 co th`anh ph
u k khac khong). Ma.t khac cac vector 2 , 3 , . . . co the bieu
dien tuyen tnh qua 1 , 1 , 2 , 3 , . . . . Tom la.i moi khi chu so tang mo.t do.n vi. th` so cu..c
- i.nh l
da.i cac chu tr`nh do.c la.p tuyen tnh c
ung tang len mo.t do.n vi.. D
y du.o..c ch
u.ng minh.
/
T`
u. ket qua n`ay, de d`ang suy ra:
- a d`o thi. vo hu.o.ng G khong co chu tr`nh neu v`a ch neu (G) = 0.
H
e. qua 2.1.4 (a) D
- a d`o thi. vo hu.o.ng G co du
(b) D
ng mo.t chu tr`nh neu v`a ch neu (G) = 1.

- i.nh l
D
y 2.1.5 Trong d`o thi. co hu.o.ng lien thong ma.nh, chu so ba` ng so cu..c da.i cac ma.ch
d
o.c la.p tuyen tnh.

Ch
u.ng minh. Tha.t va.y, xet d`o thi. vo hu.o.ng la.p bo.i cac cung khac nhau cua G (moi cung
tu.o.ng u
.ng mo.t ca.p ca.nh) v`a mo.t chu tr`nh so. cap ; ta phan hoa.ch ta.p cac dnh tren chu
tr`nh n`ay th`anh: ta.p S cac dnh co mo.t cung to.i no v`a mo.t cung ra khoi no, ta.p S 0 cac dnh
co hai cung cua ra khoi no v`a ta.p S 00 cac dnh co hai cung cua di to.i no. V` so cac cung
`an tu. cua S 0 v`a
di ra ba` ng so cac cung di to.i nen #S 0 = #S 00 ; gia su. v10 , v20 , . . . , vk0 l`a cac ph
`an tu. cua S 00 .
v100 , v200 , . . . , vk00 l`a cac ph
`an tu. cua S 0 v`a cua S 00 xen ke nhau v`a ta gia su. r`a ng sau dnh
Tren chu tr`nh , cac ph
th` dnh d`au tien bat ga.p (khong thuo.c S) l`a vi00 ; cuoi c`
ung, neu 0 l`a mo.t du.`o.ng di ga.p
dnh x tru.o.c dnh y th` ta k
y hie.u 0 [x, y] l`a du.`o.ng di bo. pha.n cua 0 t`
u. x den y. V` d`o
0
`on ta.i ma.ch 1 di qua vi+1
thi. lien thong ma.nh nen t
v`a vi00 v`a d`
ung cac cung cua de di t`
u.
0
00
.
vi+1 den vi . Chu tr`nh l`a mo.t to ho. p tuyen tnh cua cac ma.ch v` ta co the viet
vi0

= [v10 , v100 ] 1 [v20 , v100 ] + [v20 , v200 ] +


= [v10 , v100 ] + 1 [v100 , v20 ] + [v20 , v200 ] + 2 [v200 , v30 ] + (1 + 2 + ).
Va.y mo.i chu tr`nh so. cap d`eu l`a to ho..p tuyen tnh cua cac ma.ch, doi vo.i cac chu tr`nh
`eu do c
bat k`
y di
ung du
ng (v` no l`a to ho..p tuyen tnh cua cac chu tr`nh so. cap).
Trong Rm , cac ma.ch la.p th`anh mo.t co. so. cua khong gian vector con sinh bo.i cac chu
- i.nh l
`eu l`a (G). Va.y so cu..c da.i cac ma.ch do.c
tr`nh, v`a theo D
y 2.1.3 th` co. so. n`ay co so chi
la.p tuyen tnh ba` ng (G).
/
51

http://www.ebook.edu.vn

2.2

c s
S
a
o

`an to m`au cac dnh sao


ung ta co mo.t d`o thi. vo hu.o.ng G vo.i n dnh, v`a c
Gia su. r`a ng ch
`e nhau co m`au khac nhau. Hien nhien l`a co the d`
cho hai dnh k
ung n m`au de to cac dnh
do, nhu.ng nhu. the van d`e da. t ra la.i khong mang tnh thu..c tien. The th` so m`au toi thieu
- ay chnh l`a b`ai toan to m`au. Khi cac dnh du.o..c to, ch
do`i hoi l`a bao nhieu? D
ung ta co the
.
.
`om cac dnh du o. c to m`au do, mo.t ta.p cac
nhom ch
ung v`ao cac ta.p khac nhau-mo.t ta.p g
.
.
dnh du o. c to m`au xanh, van van. Day chnh l`a b`ai toan phan hoa.ch. B`ai toan to m`au v`a
phan hoa.ch d nhien co the xet tren cac ca.nh cua d`o thi.. Trong tru.`o.ng ho..p d`o thi. phang
tha.m ch co the quan tam den vie.c to m`au cac die.n.
`an n`ay ta ch xet cac d`o thi. vo hu.o.ng lien thong.
Trong ph
- i.nh ngha 2.2.1 Cho tru.o.c mo.t so nguyen p, ta noi r`a ng d`o thi. G l`a psac neu b`a ng p
D
`e nhau khong c`
m`au khac nhau ta co the to m`au cac dnh, sao cho hai dnh k
ung mo.t m`au.
.
So p nho nhat, m`a doi vo i so do G l`a psac go.i l`a sac so cua d`o thi. G v`a k
y hie.u l`a (G).
V du. 2.2.2 H`nh 2.1 minh ho.a ba cach to m`au khac nhau cua d`o thi.. De d`ang kiem tra
ra` ng d`o thi. n`ay l`a 2sac.
....... r

...
...
...
...
...
...
..
..
.
.
.............
.
.
.
... ... .......
.
.
.
... ... ......
.
.
.
....
.
...
....
....
....
....
....
....
....
....
....
...
....
....
.
.
.
....
.
.
.
...
....
.
.
.
.
.
....
...
.......
..
....
....
....
....
....
.
....
.
.
.
.
....
..
...
.
.
....
.
.
.
..
....
....
....
....
....
....
.... .... .......
.... .. ....
.... . ....
.... .. ....
........
..

(a)

....... r

...
...
...
...
...
...
..
.
..
.
.............
.
.
.
... ... .......
.
.
.
... ... ......
.
.
.
....
.
...
....
....
....
....
....
....
....
....
....
...
....
....
.
.
.
....
.
.
.
...
....
.
.
.
.
.
...
...
.......
...
....
....
....
....
....
.
....
.
.
.
.
....
..
...
.
.
....
.
.
.
..
....
....
....
....
....
....
.... .... .......
.... .. ....
.... . ....
.... .. ....
........
..

r
(b)

....... r

...
...
...
...
...
...
..
..
.
.
.............
.
.
.
... ... .......
.
.
.
... ... ......
.
.
.
....
.
...
....
....
....
....
....
....
....
....
....
...
....
....
.
.
.
....
.
.
.
...
....
.
.
.
.
.
...
...
.......
...
....
....
....
....
....
.
....
.
.
.
.
....
..
...
.
.
....
.
.
.
..
....
....
....
....
....
....
.... .... .......
.... .. ....
.... . ....
.... .. ....
........
..

b
(c)

H`nh 2.1:

V du. 2.2.3 Ban d`o d.ia l


y. Ta ve tren ma.t phang mo.t ban d`o. Go.i V l`a ta.p ho..p cac
.
.
- `o thi. G = (V, E) doi x
nu o c, da.t (i, j) E neu cac nu.o.c i v`a j co bien gio.i chung. D
u.ng
v`a co tnh chat rat da. c bie.t l`a: co the ve no len ma.t phang m`a khong co hai ca.nh n`ao cat
nhau (tr`
u. ta.i cac dnh chung); noi cach khac, G l`a d`o thi. phang. Ngu.`o.i ta da biet r`a ng sac
- i.nh l
so cua mo.i d`o thi. phang d`eu nho ho.n hoa.c b`a ng bon (D
y 6.4.7). Nhu. va.y b`a ng bon
`e nhau khong c`
m`au c
ung du de to m`au ban d`o phang sao cho hai nu.o.c k
ung mo.t m`au.
52

http://www.ebook.edu.vn

T`
u. d.inh ngha de d`ang suy ra
1. Mo.t d`o thi. ch co cac dnh co la.p l`a 1sac.
2. Mo.t d`o thi. co mo.t hoa.c hai ca.nh (khong phai l`a mo.t khuyen) co sac so t nhat ba` ng
hai.
- `o thi. d`ay du n dnh Kn l`a nsac.
3. D
- `o thi. l`a mo.t chu tr`nh do.n gian vo.i n dnh, n > 3, l`a 2sac neu n chan v`a 3sac
4. D
neu n le.
`an do ch
5. Hien nhien, mo.i d`o thi. 2sac l`a hai ph
ung ta co the phan hoa.ch ta.p cac dnh
.
.
`an l`a
V th`anh hai ta.p con theo m`au du o. c to tren cac dnh. Tu.o.ng tu.., d`o thi. hai ph
.
.
.
.
.
.
`am thu `o ng: d`o thi. co t nhat hai dnh co la.p v`a
2sac, vo i mo.t tru `o ng ho. p ngoa.i le. t
.
`an nhu ng l`a 1sac.
khong co ca.nh l`a hai ph
- i.nh ngha 2.2.4 Ta go.i sac lo.p cua d`o thi. G l`a so nguyen q co cac tnh chat sau:
D
`e nhau
1. Co the d`
ung q m`au khac nhau de to m`au cac ca.nh cua G sao cho hai ca.nh k
khong c`
ung mo.t m`au;
- i
`eu n`ay khong the l`am du.o..c vo.i (q 1) m`au.
2. D
Nha.n xet ra` ng sac lo.p cua d`o thi. G = (V, E) chnh l`a sac so cua d`o thi. G0 = (V 0 , E 0 )
du.o..c xac d.inh nhu. sau: moi dnh cua G0 tu.o.ng u
.ng mo.t ca.nh cua G; ca.nh e0 = (v10 , v20 ) E 0
.
.
.
.
`e nhau.
ng vo i hai dnh v10 , v20 ) k
neu cac ca.nh e1 v`a e2 (tu o ng u
`e b`ai toan sac so. Du.o.i day l`a mo.t v`ai ket qua co. ban
Nhu. va.y b`ai toan sac lo.p du.a v
`e sac so.
v
- i.nh l
- `o thi. vo hu.o.ng G l`a 2sac neu v`a ch neu no khong co chu tr`nh
D
y 2.2.5 [Konig] D
co d
o. d`ai le .
- i
`eu kie.n c
`an. Neu d`o thi. G l`a 2sac, th` tat nhien G khong ch
Ch
u.ng minh D
u.a chu
.
tr`nh co do. d`ai le, v` cac dnh cua mo.t chu tr`nh loa.i nhu va.y khong the to b`a ng hai m`au
theo nhu. quy tac da ch ra o. tren.
- i
`eu kie.n du. Gia su. d`o thi. G khong co chu tr`nh co do. d`ai le, ta ch
D
u.ng minh no l`a 2sac.
`an cac dnh cua G theo quy tac
Khong giam tong quat coi G l`a lien thong. Ta se to m`au d
sau:
53

http://www.ebook.edu.vn

to m`au xanh cho mo.t dnh a n`ao do;


`e vo.i no; neu
neu mo.t dnh x n`ao do da du.o..c to xanh, th` ta to do tat ca cac dnh k
`e vo.i y.
dnh y da du.o..c to do, th` ta to xanh tat ca cac dnh k
V` d`o thi. G lien thong, nen so.m hay muo.n th` mo.i dnh cua no d`eu du.o..c to m`au het, v`a
mo.t dnh x khong the c`
ung mo.t l
uc du.o..c to xanh v`a to do, v` nhu. va.y th` x v`a a se c`
ung
na` m tren mo.t chu tr`nh co do. d`ai le. Va.y d`o thi. G l`a 2sac.
/
Ch
uy
ra` ng tnh chat d`o thi. G khong co chu tr`nh vo.i do. d`ai le tu.o.ng du.o.ng vo.i tnh
chat G khong co chu tr`nh so. cap vo.i do. d`ai le. Tha.t va.y gia su. co mo.t chu tr`nh
= {v0 , v1 , . . . , vp = v0 }
co do. d`ai p le. Moi khi ga.p hai dnh vj v`a vk vo.i j < k < p v`a vj = vk , ta phan chia th`anh
hai chu tr`nh bo. pha.n 1 = {vj , . . . , vk } v`a 2 = {v0 , . . . , vj , vk , . . . , v0 }; ho.n n
u.a mo.t trong
.
hai chu tr`nh co do. d`ai le (v` neu khong nhu the th` se co do. d`ai chan). Ta thay r`a ng neu
`an
tiep tu.c phan chia chu tr`nh theo cach do cho den khi c`on co the l`am du.o..c, th` moi l
.
.
.

ung mo.i chu tr`nh deu l`a so ca p, nen xay


van c`on du o. c mo.t chu tr`nh co do. d`ai le; v` cuoi c`
.
`eu c
`an ch
ra mau thuan; v`a ta co di
u ng minh.
- .inh l
D
y sau day cho ta biet ca.n tren cua sac so.
- i.nh l
D
y 2.2.6 Ky hie.u dmax l`a ba.c cu..c da.i cu a cac dnh trong G. Khi do
(G) 1 + dmax .
Ch
u.ng minh. B`ai ta.p.

Brooks [9] da ch
u.ng minh r`a ng neu G l`a d`o thi. khong d`ay du, co dmax dnh th`
(G) dmax .

2.2.1

c s
C
ach t`m s
a
o

Xet d`o thi. G = (V, ) co n dnh v`a m ca.nh; muon t`m sac so cua no ta co the d`
ung mo.t
.
.
.
.
.
.
.
.

uc n`ao
phu o ng phap thu. c nghie.m ra t do n gian, ap du.ng tru. c tiep du o. c, nhu ng khong phai l
c
ung co hie.u qua hoa.c co the d`
ung phu.o.ng phap giai tch, no cho ta mo.t l`o.i giai he. thong,
`an may tnh die.n tu..
nhu.ng noi chung c
54

http://www.ebook.edu.vn

Phu.o.ng ph
ap thu..c nghi
e.m
`an mo.t m`au n`ao do (go.i
B`a ng cach to m`au t`
uy y
d`
ung cac m`au 1, 2, . . . , p v`a t`m cach loa.i d
.
l`a m`au to i ha.n) trong cac m`au ay. Muon va.y, ta xet dnh v co m`au to.i ha.n do v`a cac
`an lien thong C1jk , C2jk , . . . cua d`o thi. con sinh ra bo.i hai m`au khong to.i ha.n j v`a
th`anh ph
k. Ta co the la.p t
u.c thay m`au cua dnh v neu cac ta.p ho..p C1jk (v), C2jk (v), . . . khong
`an C jk m`a vo.i th`anh ph
`an do th` cac dnh cua
phai l`a hai m`au: lay rieng re moi th`anh ph
jk
`an do cac m`au j v`a k (khong thay doi m`au
C (v) co m`au j, hoan vi. trong cac th`anh ph
`e vo.i dnh n`ao co
cua cac dnh khac), cuoi c`
ung to dnh v m`au j (l
uc n`ay dnh v khong k
m`au j).
Phu.o.ng ph
ap gia i tch
Kiem tra b`a ng cach giai tch xem d`o thi. G co the du.o..c to b`a ng p m`au du.o..c khong. Phu.o.ng
phap do nhu. sau: Vo.i moi cach to ba` ng p m`au, ta cho tu.o.ng u
.ng vo.i mo.t he. thong cac so
xij , i = 1, 2, . . . , n; j = 1, 2, . . . , p, du.o..c xac d.inh nhu. sau:
(

xij =
- a.t
D

rij =

1
0

1
0

neu dnh i co m`au j,


trong tru.`o.ng ho..p ngu.o..c la.i.
neu ca.nh ej lien thuo.c dnh vi ,
trong tru.`o.ng ho..p ngu.o..c la.i.

L
uc do b`ai toan tro. th`anh t`m cac so nguyen xij sao cho:

x
Pijp
q=1 xiq

Pn

k=1 rjk xkq

0,
1,
1,

i = 1, 2, . . . , n,
j = 1, 2, . . . , m; q = 1, 2, . . . , p.

Ta co he. bat dang th


u.c tuyen tnh. De r`ang thay r`a ng he. do thch ho..p vo.i cac phu.o.ng
.
.
phap thong thu `o ng cua quy hoa.ch nguyen v`a do do co the d`
ung phu.o.ng phap cua Gomory
(du..a tren phu.o.ng phap do.n h`nh cua Dantzig) de giai.

2.3

S
o
on d
i.nh trong

Vo.i d`o thi. G = (V, ) cho tru.o.c ta thu.`o.ng quan tam den ta.p con cua V co nh
u.ng tnh chat
`an tu. lo.n nhat sao cho d`o thi. con sinh
n`ao do. Chang ha.n, t`m mo.t ta.p con S V co so ph
55

http://www.ebook.edu.vn

`an tu. nhi


`eu nhat sao cho
bo.i S l`a d`ay du? Hoa.c t`m ta.p con cac dnh cua d`o thi. G co so ph
`e nhau. Mo.t b`ai toan khac l`a t`m ta.p con S cua V co so ph
`an tu.
hai dnh trong do khong k
`e vo.i mo.t dnh trong S.
t nhat sao cho mo.i dnh thuo.c V \ S k
Cac so v`a cac ta.p con tu.o.ng u
.ng l`o.i giai cac b`ai toan tren cho nh
u.ng tnh chat quan
.
.
`eu u
trong cua d`o thi. v`a co nhi
ng du.ng tru. c tiep trong b`ai toan la.p li.ch, phan tch cluster,
.
`an
phan loa.i so, xu l
y song song tren may tnh, vi. tr thua.n lo..i v`a thay the cac th`anh ph
.
die.n tu , v.v.
- i.nh ngha 2.3.1 Xet d`o thi. vo hu.o.ng G := (V, ); ta.p ho..p S V du.o..c go.i l`a ta.p ho..p
D
`e nhau; noi cach khac, vo.i mo.i ca.p
on d.inh trong neu hai dnh bat k`
y cua S d`eu khong k
dnh a, b S th` b
/ (a).
K
y hie.u S l`a ho. cac ta.p on d.inh trong cua d`o thi. G. Khi do
1. Ta.p trong thuo.c S.
2. Neu S S v`a A S th` A S. Noi cach khac, ta.p con cua mo.t ta.p on d.inh trong
c
ung l`a mo.t ta.p on d.inh trong.
Ta.p on d.inh trong l`a cu..c da.i neu them mo.t dnh bat k`
y v`ao no th` se khong c`on on d.inh
.
.
.
- a.i lu o. ng
trong n
u a. D
(G) := max{#S | S S}
du.o..c go.i l`a so on d.inh trong cua G.
V du. 2.3.2 Xet d`o thi. trong H`nh 2.2. Ta.p cac dnh {v7 , v8 , v2 } l`a on d.inh trong nhu.ng
khong cu..c da.i; ta.p {v7 , v8 , v2 , v5 } l`a on di.nh trong cu..c da.i. Cac ta.p {v1 , v3 , v7 } v`a {v4 , v6 }
`eu ta.p on d.inh trong
c
ung l`a ta.p on d.inh trong cu..c da.i v`a do do, noi chung co the co nhi
.
.

cu. c da.i. Ho. cac ta.p o n d.inh trong cu. c da.i cua d`o thi. n`ay l`a
{v7 , v8 , v2 , v5 }, {v1 , v3 , v7 }, {v4 , v6 }, {v3 , v6 }, {v1 , v5 , v7 }, {v1 , v4 }, {v3 , v7 , v8 }.

V du. 2.3.3 [Gauss] B`ai toan tam con ha.u. Tren b`an c`o. co the bo tr tam con ha.u, sao
`e t`m mo.t
cho khong co con n`ao chem du.o..c con n`ao khong? B`ai toan noi tieng n`ay du.a v
.
.
.
.

`
ta.p ho. p o n d.inh trong cu. c da.i cua do thi. vo hu o ng co 64 dnh (l`a cac o tren b`an c`o.), trong
do y (x) neu cac o x v`a y n`a m tren c`
ung mo.t h`ang, mo.t co.t hay mo.t du.`o.ng cheo. Thu..c
te, kho khan la.i lo.n ho.n l`a khi ngu.`o.i ta mo.i thoa.t nh`n: l
uc d`au Gauss tu.o.ng co 76 l`o.i
56

http://www.ebook.edu.vn

v1
v2
v3
...........................................................................................................................................................................................................................................................................................

.........
.....
.....
... .....
.........
.....
.....
.....
...
.........
.....
.....
.....
...
.........
.....
.....
.....
.........
...
.....
.....
.....
.........
...
.....
.....
.....
.........
.........
.....
.
.....
.
.
.
.
.....
...
.........
.....
.....
.
.
.
.
.........
...
.....
.....
.....
.........
.....
.
.....
...
.....
.........
.....
.....
.
.
.
.
.........
.....
...
.....
.....
.
.
.
.
.
.
.... ..
...
.....
.....
.................................................................................................................................
.
...
.
.
.......
.
.
.
.
.
...
.. ......
.................
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
...
..... .......
.
.
....
.
.
.
.
.
.
.
.
.
.
.
... .........
.....
...
...
.....
. ......
....
....
.....
..........
.....
.....
..... ................. ....
....
.....
...
............
....
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ......
...
....
.........
.....
.....
....
...
.........
.....
.....
.....
.........
..... .... ........
.........
.....
..... .. .....
.... .................
.
.
.
.
.
.
..... .. ....
. ...
............
..... ..........
..
............

v6

v8

v7

v4

v5

H`nh 2.2:
`e c`o. o. BerlinSchachzeitung nam 1854 ch mo.i du.a ra 40 l`o.i giai the c`o.
giai, c`on t`o. bao v
do cac nh`a ham c`o. t`m ra. Su.. tha.t th` co 92 l`o.i giai nhu. 12 so. d`o du.o.i day:
(72631485)
(35841726)
(16837425)
(51468273)

(61528374)
(46152837)
(57263184)
(42751863)

(58417263)
(57263148)
(48157263)
(35281746)

Moi so. d`o tren tu.o.ng u


.ng vo.i mo.t hoan vi., v`a t`
u. mo.t so. d`o ta suy ra tam l`o.i giai khac
nhau: ba l`o.i giai b`a ng cach quay 900 , 1800 v`a 2700 ; cac l`o.i giai khac suy ra b`a ng cach doi
x
u.ng moi so. d`o nha.n du.o..c qua du.`o.ng cheo chnh; hoan vi. cuoi c`
ung (35281746) ch co bon
.
.
.
.
.
.
ng se tr`
ung vo i chnh no sau khi quay 1800 .
l`o i giai v` so d`o tu o ng u
V du. 2.3.4 B`e cua mo.t d`o thi. G l`a ta.p ho..p C V sao cho
a C, b C

suy ra

b (a).

`au
Neu V l`a mo.t ta.p ho..p ngu.`o.i, v`a b (a) ch su.. d`ong t`nh gi
u.a a v`a b, th` thu.`o.ng yeu c
0
0
.
.
.
`eu nhat. Xet d`o thi. G := (V, ) xac
t`m b`e cu. c da.i, ngha l`a ho.i co so ngu `o i tham gia nhi
d.inh nhu. sau:
b (a0 ) neu v`a ch neu b
/ (a).
`e t`m mo.t ta.p ho..p on d.inh trong cu..c da.i cua d`o thi. (V, 0 ).
B`ai toan quy v
`e cac co gai l`a doi tu.o..ng cua nhi
`eu cong tr`nh toan ho.c, co the phat
V du. 2.3.5 B`ai toan v
.
.
.
bieu nhu sau: mo.t k
y t
uc xa nuoi du o ng 15 co gai, k
y hie.u l`a a, b, c, d, e, f, g, h, i, j, k, l, m, n, o;
.
.
h`ang ng`ay cac co di da.o cho i th`anh t`
u ng bo. ba, co the du.a cac co di cho.i trong bay ng`ay
`en sao cho khong co hai co n`ao c`
`an du.o..c khong?
li
ung di trong mo.t bo. ba qua mo.t l
`e doi x
Vo.i nh
u.ng nha.n xet v
u.ng, Cayley da t`m ra l`o.i giai nhu. sau:
57

http://www.ebook.edu.vn

Chu Nha.t

Th
u. Hai

Th
u. Ba

Th
u. Tu.

Th
u. Nam

Th
u. Sau

Th
u. Bay

af k

abe

alm

ado

agn

ahj

aci

bgl

cno

bcf

bik

bdj

bmn

bho

chm

df l

deh

cjl

cek

cdg

dkm

din

ghk

gio

egm

f mo

f ei

eln

ejo

ijm

jkn

f hn

hil

klo

f gj

`e cac co gai c`
B`ai toan v
ung loa.i vo.i mo.t b`ai toan th
u. hai c
ung noi tieng go.i l`a b`ai
.
.
.
.
`an lu o. t la.p 35 bo. ba khac nhau sao cho khong co hai co
toan bo tro. : vo i 15 co gai co the l
- e giai b`ai toan bo tro.., ch c
`an khong? D
`an la.p d`o thi.
n`ao c`
ung trong mo.t bo. ba qua mo.t l
.
.

`e nhau neu ch
G co cac dnh l`a 455 bo. ba co the co, hai bo. ba du o. c xem l`a k
ung co chung
`an t`m mo.t ta.p ho..p on d.inh trong cu..c da.i. Ta co (G) 35 v` mo.t co
hai co gai: khi do c
`eu nhat l`a trong 7 bo. ba khac nhau, nen tat ca co 15 7 31 = 35 bo. l`a
gai ch co ma.t nhi
`eu nhat; v` va.y mo.i ta.p ho..p on d.inh trong co 35 bo. ba d`eu l`a cu..c da.i.
nhi
- e xet xem mo.t l`o.i giai n`ao do cua b`ai toan bo tro.. co cho l`o.i giai cua b`ai toan v
`e cac
D
0

co gai khong, ta la.p d`o thi. G co cac dnh l`a 35 bo. ba cho nghie.m cua b`ai toan bo tro.., hai
`e nhau neu co chung mo.t co gai; neu sac so (G0 ) > 7 th` phai cho.n
bo. ba du.o..c xem l`a k
`om cac bo. ba cho nghie.m cua b`ai toan bo tro... De d`ang kiem tra ra` ng t
`on
ta.p ho..p khac g
.
.
.
.

ta.i nh
u ng l`o i giai cua b`ai toan bo tro. khong dan den l`o i giai cua b`ai toan ve cac co gai.
Nh
a.n x
et 2.3.6 (a) Sac so (G) v`a so on di.nh trong (G) lien he. vo.i nhau ba` ng bat dang
th
u.c
(G) (G) n.
Tha.t va.y, co the phan hoa.ch V th`anh := (G) ta.p ho..p on d.inh trong, la.p bo.i cac
dnh c`
ung m`au v`a tu.o.ng u
.ng ch
u.a n1 , n2 , . . . , n dnh. Va.y ta co
n = n1 + n2 + + n (G) + (G) + + (G) = (G).(G).
(b) Ta co the hoi: phai chang moi lien he. gi
u.a hai khai nie.m l`a chu.a cha.t che. Phai chang
co the t`m sac so b`a ng cach: tru.o.c het d`
ung m`au (1) de to ta.p on di.nh trong cu..c da.i S1 .
`oi d`
R
ung m`au (2) de to ta.p on d.inh trong cu..c da.i S2 cua d`o thi. con sinh ra bo.i cac dnh
cua V \ S1 , sau do d`
ung m`au (3) de to ta.p ho..p on d.inh trong cu..c da.i cua d`o thi. con c`on la.i,
- `o thi. tren H`nh 2.3 (co sac so ba` ng 4) ch
`eu
v.v. Thu..c ra khong phai nhu. va.y. D
u.ng to di
58

http://www.ebook.edu.vn

`e vo.i cac dnh a, b, c v`a d la.p th`anh ta.p on d.inh trong cu..c da.i duy nhat, neu
do: cac dnh k
ta to ch
ung c`
ung mo.t m`au th` ta phai d`
ung ba m`au ch de to cac dnh a, b, c, d, nhu.ng ro
`eu do khong the l`am du.o..c.
r`ang di
..... .. ....
..... .. .....
..... .. .....
...........................................
. ...
.......... ......
........ ... ..............
.
.
.
. ... .. ...
. . .
... .... .....
.
.
...
...
...
...
...
...
...
...
...
...
..
.
.
...
.
.
.
..
...
.
.
.
.
...
.
..
.
.
.
.
...
..
...
...
.
.
.
.
...
.
.
.
.
...
.
..
.
.
.
.
.
.
.
.
...
..... .. .....
...
...
.
.
.
.
.
.
..... .. .....
.
...
.
.
.
.
.
.
.
...
..
..........................................
.
.
...
....... ... ..............
.
.
...
.
.
...
.
.
.
.
........... ... ................
.
.
.
...
.
.
.
.
. ......
.... .
..
...
.
.
.
.
.
.
.
.
.
.
......
...
....
..
.
.
.
.
.
.
.
.
...
.
.
......
....
.
.
...
...
.
.
.
.
.
.
.
......
....
.
...
.
.
.
.
.
.
.
.
.
.
......
.
....
..
.
.
.
.
.
.
.
.
.
.
...... ....... .
..... .. ..................
.
.
.
................. ... .........
..... .. .............
.............. ....
..... ...............
. ..
.
.
.
.
.
.
.
.
.
.
.
..........................................................................................................................................................................................................................
..... .. .....
..... .... .........
.
.
.
.
.
..... .. .....
.
..... .. .....
..... .. .....

H`nh 2.3:
`e dung lu.o..ng thong tin cua mo.t ta.p ho..p tn hie.u. Xet
V du. 2.3.7 [Shannon] B`ai toan v
`en di nam tn hie.u: a, b, c, d, e; o. may thu,
tru.`o.ng ho..p rat do.n gian l`a may phat co the truy
moi tn hie.u co the cho hai cach hieu khac nhau: tn hie.u a co the hieu l`a p hay q, tn hie.u
b co the hieu l`a q hay r, . . . (H`nh 2.4 (a)).
So cu..c da.i cac tn hie.u m`a ta co the su. du.ng l`a bao nhieu de cho o. may thu khong xay
`e t`m mo.t ta.p on d.inh trong
`am lan gi
ra nh
u.a cac tn hie.u du.o..c su. du.ng. B`ai toan quy v
.
`e nhau neu ch
cu. c da.i S cua d`o thi. G (H`nh 2.4(b)), trong do hai dnh l`a k
ung bieu thi. hai
.
.
tn hie.u co the lan lo.n vo i nhau o may thu, ta se lay S = {a, c}, v`a ro r`ang (G) = 2. Thay
`om hai ch
`eu kie.n l`a cac
cho cac tn hie.u mo.t ch
u. cai, ta co the d`
ung cac t`
u. g
u. cai vo.i di
.
.
.
.
.

`am lan o may thu. Vo i cac ch


t`
u n`ay khong gay ra l
u cai a v`a c (cac ch
u cai n`ay khong
the lan lo.n nhau) ta la.p ma: aa, ac, ca, cc; nhu. va.y ta du.o..c [(G)]2 = 4 t`
u.. Nhu.ng ta c`on
co the la.p ma phong ph
u ho.n: aa, bc, ce, db, ed. (De d`ang kiem tra r`a ng hai t`
u. bat k`
y trong
.
.
.

cac t`
u n`ay khong the lan lo.n vo i nhau o may thu).
T`m t
at ca c
ac t
a.p
on d
i.nh trong cu..c d
a.i
Phu.o.ng phap suy lua.n sau (khong hie.u qua doi vo.i cac d`o thi. lo.n) t`m tat ca cac ta.p on
d.inh trong cu..c da.i du..a tren da.i so Boole. Ta xem moi dnh cua d`o thi. tu.o.ng u
.ng vo.i mo.t
bien Boole. K
y hie.u x + y, xy v`a x0 l`a cac phep toan tuyen, ho.i v`a phu d.inh cua cac bien
Boole x, y.
`e nhau trong
`an t`m mo.t ta.p con cu..c da.i cac dnh khong k
Vo.i d`o thi. G cho tru.o.c, ta c

G. Bieu dien moi ca.nh (x, y) b`a ng mo.t tch Boole xy v`a sau do lay to ng cua tat ca cac tch
59

http://www.ebook.edu.vn

a .......................................................................................................................................................... p
..........
...
..............
.....
................
.....
..........
.......... .......
......
..... ..........
...................................................................................................................................
..........
..
..........
.....
.
..........
.
.
.............
....
...........................
.. ................
..........
.....
..........
...........
.
................................................................................................................................
..........
..
..........
.......... .....
....
..................
... .. ....................
..........
...
..........
...
.
........
.
.
.................................................................................................................................
.......... ..
...........
.
.
.
.
..........
..
..............
...
................
...
..........
...
..........
..........
...
.
.
.....
.
..........................................................................................................................

b
c

..
.................
......
......
......
......
......
......
.
.
.
.
.
.
......
......
......
......
.
......
.
.
.
.
......
....
.
.
.
.
.
......
....
.
.
......
.
.
.
....
......
.
.
.
.
.
......
....
.
.
.
......
.
.
....
......
.
.
.
.
.
.
.....
...
...
...
...
...
...
...
....
...
..
...
...
...
..
...
..
.
.
...
...
...
...
...
...
...
...
..
.
...
...
...
...
...
...
...
..
...
.
...
..
................................................................................................................

H`nh 2.4:
n`ay ta du.o..c bieu th
u.c Boole
=

xy.

(x,y)E

Ke tiep bieu dien phu d.inh 0 da.ng tong cua cac tch Boole
0 = f1 + f2 + + fk .
Mo.t ta.p cac dnh l`a on d.inh trong cu..c da.i neu v`a ch neu = 0, ngha l`a 0 = 1; hay tu.o.ng
du.o.ng co t nhat mo.t fi = 1; t
u.c l`a neu moi dnh xuat hie.n trong fi (o. da.ng phu d.inh)
du.o..c loa.i ra khoi ta.p dnh cua G. Do do moi fi se cho tu.o.ng u
.ng mo.t ta.p on di.nh trong
.
.
.
cu. c da.i v`a do do phu o ng phap n`ay cho ta tat ca cac ta.p on d.inh trong cu..c da.i. Chang ha.n
xet d`o thi. trong H`nh 2.5 ta co
= ab + bc + bd + be + ce + de + ef + eg + f g.
0 = (a0 + b0 )(b0 + c0 )(b0 + d0 )(b0 + e0 )(c0 + e0 )(d0 + e0 )(e0 + f 0 )(e0 + g 0 )(f 0 + g 0 ).
`e da.ng tong cua cac tch ta du.o..c
R
ut go.n v`a du.a v
0 = b0 e0 f 0 + b0 e0 g 0 + a0 c0 d0 e0 f 0 + a0 c0 d0 e0 g 0 + b0 c0 d0 f 0 g 0 .
Bay gi`o. neu loa.i bo khoi ta.p dnh cua G cac dnh xuat hie.n trong bat k`
y mo.t trong nam so
.
.
.

ha.ng cua to ng, ta se thu du o. c mo.t ta.p o n d.inh trong cu. c da.i. Cac ta.p on d.inh trong cu..c
da.i tu.o.ng u
.ng l`a
{a, c, d, g},

{a, c, d, f },

{b, g},

{b, f },

v`a {a, e}.

V`a do do so on d.inh trong cua d`o thi. n`ay b`a ng 4.


60

http://www.ebook.edu.vn

.....
... ...
... .....
...
...
.
.
.
...
..........
...
...
....... ....
...
...
.......
...
...
...
.
.......
.
...
...
..
.......
.
.
.
.
.
.
.
.
.
...
..
...
...
.......
...
...
...
.......
.
.
.
.
.
.
.
.
.
...
.
... ........
...
.
...
.
.
.
.
...........................................................................................................................................................
...
.
...
.. .............
...
.
...
.
.......
..
...
...
.
.
.
.
.
.......
.
...
...
.
.
.
.
.
.
.
.......
...
...
..
.
.
.
...
.
.
.
.......
.
..
...
.
.
.
.
.
.
.
....... ....
.
...
.
.
.
.
.
.
.
...
.......
..
.
...
.
..
...
.
.
... ...
......
..

H`nh 2.5:

2.4

S
o
on d
i.nh ngo`
ai

- i.nh ngha 2.4.1 Cho d`o thi. G := (V, ). Ta.p ho..p con T cac dnh cua V l`a ta.p on d.inh
D
`e vo.i t nhat mo.t dnh trong T ; t
ngo`ai neu mo.i dnh khong thuo.c T k
u.c l`a T (v) 6= vo.i
mo.i dnh v
/ T.
K
y hie.u T l`a ho. cac ta.p ho..p on d.inh ngo`ai cua d`o thi. G th`:
1. V T .
2. T T v`a T A th` A T .
Ta d.inh ngha so on d.inh ngo`ai cua d`o thi. G l`a so
(G) := min{#T | T T }.
Ta.p on d.inh ngo`ai cu..c tieu l`a ta.p on d.inh ngo`ai sao cho bo di mo.t dnh th` khong c`on on
d.inh ngo`ai n
u.a.
V du. 2.4.2 Xet d`o thi. G trong H`nh 2.5. Cac ta.p {b, g} v`a {a, b, c, d, f } l`a on d.inh ngo`ai.
Cac ta.p {b, e} v`a {a, c, d, f } l`a on d.inh ngo`ai cu..c tieu. De thay (G) = 2.
V du. 2.4.3 Vo.i d`o thi. trong H`nh 2.6, ta.p on d.inh ngo`ai cu..c tieu ch
u.a so nho nhat cac
`an tu. l`a {v1 , v4 } v`a do do (G) = 2.
ph
`an tu. t nhat.
B`ai toan ta xet o. day l`a xay du..ng mo.t ta.p ho..p on d.inh ngo`ai vo.i so ph
61

http://www.ebook.edu.vn

v1

.....
......... ..........
......... ...............
...... .....
... ......
.
.
.
.
... .......
... .
... ........
...... ...
... .........
...... .....
......
......
...
.
.
.
.
.
.
.
.
.
.
......
...
....
..
.
.
.
.
......
.
...
.
.
....
..
......
.
.
...
.
.
.
.
......
...
...
..
.
.
.
.
.
.
.
......
.....
......
...
.
.
.
.
.
......
.
.
.
.
.
.
.
....
...
.......
.
.
......
.
.
...
.
...
.
............
.
.
.
.
.
.
.
.
...
............. . .....
..
.
...
.
.
.
.
.
.
.
...... ....
.
..
.
.
...
.
.
.
.
.
.
.
.
.
.
... ...
... ...
.........
... ...
......
.........
..
...............
...
......
......
............
... .....
.........
.
... .....
.
.
.
.
.
.
.
.
.
.
.
.
...
... .............
..
..
.
.
...
.
.
.
..
.
...
...
..............
....
...
... ...........
...
.......
.
..........
.....
....
.
....
.......
.
..
......
.
...
.
.
.
.
.
...
...
..
.
.
.
.
.
.
.
...
..
....
.
.
.
...
.
.
.
..
...
.......
...
...
..........
...
...
......
... ......
...
... ..........
...
.
.
. ..
...
... ...............
... .........
....

v6

v2

v5

v3

v4

H`nh 2.6:
`e nh
.ng gac. Trong mo.t tra.i giam o. th`anh pho N,
V du. 2.4.4 B`ai toan v
u.ng ngu.`o.i du
moi nh`a giam co mo.t tra.m gac do.c la.p, nhu.ng ngu.`o.i du
.ng gac, chang ha.n o. nh`a giam v1 ,
.
.
u.ng nh`a giam n`ay
c
ung co the nh`n thay nh
u ng g` xay ra o cac nh`a giam v2 , v6 , v8 , v9 , nh
thong vo.i nh`a giam v1 bo.i mo.t h`anh lang thang nhu. ta thay tren H`nh 2.7. Hoi so ngu.`o.i
`an thiet t nhat l`a bao nhieu de quan sat du.o..c mo.i nh`a giam? Ta phai t`m so
du
.ng gac c
on d.inh ngo`ai cua d`o thi. vo hu.o.ng trong H`nh 2.7, doi vo.i so. d`o rat do.n gian n`ay th` so on
d.inh ngo`ai l`a 2.
v..7
....
.........
......
..........
...
..........
.
......
..........
......
..........
... ...
..........
..........
.
.
... ...
.
.
.
.
.
.
.
.......
... ...
.
.
.
.
.
.
.
.
.
... ...
.......
.
.
.
.
.
.
.
.
.
... ....
......
.
.
.
.
.
.
.
.
.
... ...
.......
.
.
.
.
.
.
.
.
... ...
.
.......
.
.
.
.
.
.
... ...
.
.
.
................
... ...
................
... ...
........ ..........
... ...
........
.........
........
... ...
... .....
.
.
.
........
... ....
... .....
.
.
.
.
.
........
...
...
... .....
........
...
... ......
...
........
... .....
...
...
.
........
... .....
...
........
...
........
... .....
...
.
.
.
.
........
.....
...
...
...
........
.....
...
...
...
........
.....
...
.
.
.
...
........
...
.....
...
.
.
...
.
.
.
........
...
.....
...
...
.
.
.
.
.
........
...
.....
...
...
.
.
.
.
.
.
.
.....
.
.
.
.
.
...
........
...
...
.............
.
.
.
.
.....
.
.
.
...
.
.
.
.
.
.
.
........ ...
...
. ...
..... ................
...
.
.
.
.
.
.
.
.
...
.......
.......
. ...
...
.
.
.
.
.
.
...
.
.
.
.
.
...
...
. ...
...............
.
.
.
.
.
...
.
.
.
.
.
.
...
...
...... ........
.
.
...
.
.
.. ...
.
.
...
.
.
.
...
.
...
. ...
...
.......
.
.
.
.
.
...
.
.
.
.
.
.
.
.
.
.
.
.
...
...
...
. ...............
.
...
.
.
.
.
.
.
.
.
.
.
...
...
...
..........
...
.
.
.
.
.
.
.
.
.
...
.
.
.
...
...
...
. .......
.
.
.
.
...
.
...
.
.
... .. .....
....
.
...
...
.
.
.
.
.
.
.
... .. ......
...
...
....
.
.
.
.
.
.
... .. .....
...
..
...
.
.
.
.
.
.
.
.
.
. .
...
...
....
.
.
.
... ..........
.
...
....
.
... ...
.
...
.
.
...
... ..
.
.
...
.
.
.
... ...
...
.
...
.
.
.
.
.
... . .....
...
...... ......
..
............
.................................................................................................................................................................

v6

v4

v5

v8

v3

v2

v1

v9

H`nh 2.7:
`eu lnh vu..c lien quan den b`ai
V du. 2.4.5 Vi. tr cua cac tam de phu mo.t v`
ung. Co nhi
toan n`ay:
`en den mo.t so vi. tr cho tru.o.c.
1. Vi. tr cua cac may phat T.V. hay radio truy
62

http://www.ebook.edu.vn

2. Vi. tr cua cac tra.m gac de giam sat mo.t v`


ung.
3. Tra.m l`am vie.c cua ngu.`o.i ban h`ang de phu.c vu. mo.t v`
ung.
Gia su. r`a ng mo.t v`
ung-cho bo.i h`nh vuong lo.n trong H`nh 2.8-du.o..c phan hoa.ch th`anh 16
.
v`
ung nho ho n. Gia su. mo.t tra.m gac du.o..c da. t trong mo.t v`
ung nho co the giam sat khong
.
ch h`nh vuong no da. t m`a c`on nh
u ng h`nh vuong co chung bien vo.i no. Cau hoi da. t ra l`a
`eu khien to`an bo. v`
so toi thieu cac tra.m gac v`a vi. tr cua ch
ung sao cho co the di
ung. Neu
....................................................................................................................................................
....
....
....
....
....
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..
.............................................................................................................................................................
..
..
...
..
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..
.............................................................................................................................................................
..
..
...
..
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..
..........................................................................................................................................................
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..
................................................................................................................................................

10

11

12

13

14

15

16

H`nh 2.8:
ung
ta bieu dien moi v`
ung nho bo.i mo.t dnh v`a mo.t ca.nh lien thuo.c hai dnh neu hai v`
.
.
.
.

`e t`m ta.p o n d.inh ngo`ai co so


tu o ng u
ng co chung mo.t bien (hay ve h`nh!). B`ai toan du a v
`an da.t ta.i cac vi. tr
`an tu. nho nhat-l`a (G). Trong v du. n`ay, (G) = 4 v`a cac tra.m gac c
ph
{3, 5, 12, 14} hoa.c ta.i {2, 9, 15, 8}.
`e 5 con ha.u. Tren b`an c`o. quoc te c
`an bo tr bao nhieu con ha.u de
V du. 2.4.6 B`ai toan v
.
`

`e t`m mo.t
cho mo.i o tren b`an c`o deu bi. t nha t mo.t con ha.u khong che. B`ai toan n`ay du.a v
.
.
.
ta.p ho. p on d.inh ngo`ai cu. c tieu cho d`o thi. co 64 dnh (l`a cac o cua b`an c`o ), trong do hai
`e nhau neu v`a ch neu cac o tu.o.ng u
dnh k
.ng n`a m tren c`
ung mo.t h`ang, mo.t co.t hoa.c c`
ung
.
.
mo.t du `o ng cheo.
So on d.inh l`a +5 doi vo.i cac con ha.u, chang ha.n vo.i hai cach sap xep:
(3, 3), (4, 6), (5, 4), (6, 2), (7, 5)
v`a
(5, 1), (8, 3), (4, 4), (3, 6), (7, 8),
ung de thay so on d.inh l`a: +8 doi
trong do (i, j) l`a vi. tr cua con ha.u o. h`ang i v`a co.t j. C
.
.
.
vo i cac con thap; +12 doi vo i cac con ma; +8 doi vo i cac con dien.
63

http://www.ebook.edu.vn

`e sau cai da do . Tr`o cho.i sau day rat quen thuo.c doi vo.i nh
V du. 2.4.7 B`ai toan v
u.ng
.
.
.
.
.
ngu `o i u a thch ho.i cho. Phap: Tren b`an da. t mo.t cai da lo n m`au trang (ban knh 1), hay
`an lu.o..t da.t tren b`an,
t`m cach phu ho`an to`an da do bo.i sau da con do (ban knh r < 1) l
`oi th` khong du.o..c xe di.ch n
v`a khi da da.t r
u.a. Hoi ban knh r nho nhat b`a ng bao nhieu de
.
.
co the giai du o. c?
`e t`m mo.t ta.p on d.inh ngo`ai cu..c tieu T cho d`o thi. vo ha.n (V, E),
B`ai toan du.a v
`e nhau neu khoang cach gi
trong do V l`a ta.p ho..p cac diem cua da trang, v`a hai dnh k
u.a
hai diem tu.o.ng u
.ng nho ho.n hoa.c b`a ng r.
T`
u. d.inh ngha de d`ang suy ra
`om du
1. Ta.p g
ng mo.t dnh trong d`o thi. d`ay du Kn l`a ta.p on d.inh ngo`ai cu..c tieu.
2. Mo.i ta.p on d.inh ngo`ai ch
u.a t nhat mo.t ta.p on d.inh ngo`ai cu..c tieu.
`eu ta.p on d.inh ngo`ai cu..c tieu vo.i kch thu.o.c khac nhau.
3. Mo.t d`o thi. co the co nhi
4. Ta.p on d.inh ngo`ai cu..c tieu co the hoa.c khong l`a on d.inh trong.
5. Mo.i ta.p on d.inh trong cu..c da.i l`a ta.p on di.nh ngo`ai. Tha.t va.y, neu trai la.i th` co t
`e vo.i mo.t dnh bat k`
nhat mo.t dnh khong na` m trong ta.p n`ay v`a c
ung khong k
y trong
.
.
do. Mo.t dnh nhu the co the them v`ao m`a khong pha vo tnh on di.nh trong v`a do do
mau thuan vo.i tnh cu..c da.i cua no.
6. Mo.t ta.p on d.inh trong co tnh on d.inh ngo`ai ch neu no l`a ta.p on d.inh trong cu..c da.i.
7. Vo.i mo.i d`o thi. G bat da ng th
u.c sau luon thoa
(G) (G).
T`m c
ac t
a.p
on d
i.nh ngo`
ai cu..c ti
eu
ung da.i so Boole de xac di.nh
Tu.o.ng tu.. cach xac d.inh ta.p on di.nh trong cu..c da.i, ta co the d`
.
cac ta.p on d.inh ngo`ai cu. c tieu cua d`o thi. G.
- e kiem tra dnh vi ta c
`an lay hoa.c dnh vi hoa.c mo.t dnh k
`e vo.i no. Ta.p nho nhat
D
.
`eu kie.n n`ay l`a ta.p c
`an t`m. Do do, vo i moi dnh vi trong G ch
ung ta
cac dnh thoa man di
`e vo.i
xet tch Boole cua cac tong (vi1 + vi2 + + vid ) trong do vi1 , vi2 , . . . , vid l`a cac dnh k
dnh vi v`a d l`a ba.c cua no:
=

(vi1 + vi2 + + vid ).

vi V

64

http://www.ebook.edu.vn

Khi viet du.o.i da.ng tong cua cac tch, moi so ha.ng trong do se tu.o.ng u
.ng vo.i mo.t ta.p on
.
.
d.inh ngo`ai cu. c tieu. Ch
ung ta minh ho.a thua.t toan n`ay su du.ng d`o thi. trong H`nh 2.5. Ta
co
= (a + b)(b + c + d + e + a)(c + b + e)(d + b + e)(e + b + c + d + f + g)(f + e + g)(g + e + f ).
Theo lua.t hap thu. (x + y)x = x ta suy ra
= (a + b)(c + b + e)(d + b + e)(f + e + g)
= ae + be + bf + bg + acdf + acdg.
Moi so ha.ng trong sau bieu th
u.c n`ay tu.o.ng u
.ng mo.t ta.p on d.inh ngo`ai toi thieu. Hien
nhien (G) = 2.
- e xac di.nh mo.t ta.p ho..p on d.inh trong cu..c da.i, hay mo.t ta.p ho..p on d.inh ngo`ai cu..c
D
`an lu.o..t moi ta.p ho..p con T cua V v`a kiem tra xem no co thoa man cac
tieu, ta co the xet l
`eu kie.n da d`e ra hay khong. Tat nhien phu.o.ng phap loa.i d
`an n`ay noi chung khong d`
di
ung
.
.
.
.
.

du o. c. Ngu `o i ta can phai du a ra cac thua.t toan. Chang ha.n, khi giai quyet b`ai toan ve tam
`an c
`an khoang 10 gi`o. de tnh toan, trong khi do neu
con ha.u, neu d`
ung phu.o.ng phap loa.i d
`an ba ph
`an ch
co mo.t thua.t toan tot, ch
ung ta ch c
ut l`a th`
u.a du; ngo`ai ra c
uy
ra` ng: neu
.
.
.
.

ta da da.t du o. c vie.c xep 8 con ha.u tren b`an c`o , th` mo.t la.p lua.n ra t do n gian ch cho ta ro
ra` ng khong the l`am tang so con ha.u len du.o..c n
u.a trong tru.`o.ng ho..p tong quat ho.n, c
ung
.
.
.

can co mo.t tieu chua n do n gian de nha.n biet mo.t ta.p ho. p o n d.inh trong cu. c da.i hay khong,
`eu do (xem [4]).
v`a ch co thua.t toan da du.o..c suy ngh k
y mo.i co the gi
up ta biet di

2.5

Phu

Ta.p g cac ca.nh du.o..c go.i l`a phu cua d`o thi. G = (V, ) neu moi dnh bat k`
y thuo.c V lien
.

thuo.c vo i t nha t mo.t ca.nh trong g.


V du. 2.5.1 (a) Cay bao tr`
um trong d`o thi. vo hu.o.ng lien thong l`a mo.t phu.
`on ta.i) trong d`o thi. l`a mo.t phu.
(b) Chu tr`nh Hamilton (neu no t
V du. 2.5.2 Trong tra.i giam cua th`anh pho N, so. d`o ve k`em theo day, moi ngu.`o.i gac o.
h`anh lang (a, b) phai giam sat hai gian a v`a b l`a hai d`au cua h`anh lang; hoi so ngu.`o.i gac
`e t`m
t nhat l`a bao nhieu de moi gian t nhat co mo.t ngu.`o.i giam sat? B`ai toan n`ay du.a v
.
phu cu. c tieu cua mo.t d`o thi.. Tren d`o thi. H`nh 2.11, phu nho nhat co nam dnh, va.y nam
ngu.`o.i gac l`a du.
65

http://www.ebook.edu.vn

............................................
.......
........ .............
..
.......
.......
.......
....... ..........................
.......
........
.............
.
.
.
.
.
.
.............
.......
.....
.
.
.
.
.............
.......
.
.
.............
.....
.......
.
.
.
.
.
.
.............
.......
.....
.
.
.............
.
.
.
.
.
.
.
.......................................................................................................................................................................
.
.
.
..... ..........
.......
....... .......
.
.
.
.
.......
..... ............
.
.
.
.
.
...
.......
..............
..........
......
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......... .......
....... ..........
.....
...
.....
.
.
.
........
........
.
.
.
.....
.
.
.
.
...
.....
.
.....
....
.......
.....
.....
.....
.....
.......
..... ........
.....
.....
.......
..... .....
.....
.....
.......
.....
.....
.....
.......
.
.
.
.
.
.
.
.
.
.
.
.....
..
....
.....
.......
....
.....
.......
.....
...
.....
.......
.....
.....
.......
.....
..
..... ..............
.
..... ...
.
.
.
..... .. ...... ..........
..... .. .............
...................
..

H`nh 2.9:
`an nghien c
`eu phu, van d`e o. day l`a c
u.u phu m`a co
Trong mo.t d`o thi., co the co nhi
mo.t v`ai tnh chat da. c bie.t n`ao do nhu. cay bao tr`
um hay chu tr`nh Hamnilton. Ta se nghien
c
u.u phu toi thieu: l`a phu m`a neu bo di mo.t ca.nh th` se pha huy thuo.c tnh phu cua no.
T`
u. d.inh ngha de d`ang suy ra
`on ta.i phu trong mo.t d`o thi. neu v`a ch neu d`o thi. khong co dnh co la.p.
1. T
2. Mo.t phu cua d`o thi. n dnh co t nhat [n/2] ca.nh (k
y hie.u [x] l`a so nguyen lo.n nhat
.
.
khong vu o. t qua x).
3. Mo.i ca.nh treo trong d`o thi. n`a m trong phu cua d`o thi..
4. Mo.i phu d`eu ch
u.a phu toi thieu.
5. Ta.p cac ca.nh g l`a mo.t phu neu v`a ch neu, vo.i mo.i dnh v V ta co dG\g (v) dG (v)1,
trong do G \ g l`a d`o thi. G xoa di cac ca.nh thuo.c g.
6. Phu toi thieu khong ch
u.a chu tr`nh. Do va.y mo.i phu toi thieu cua d`o thi. n dnh khong
ch
u.a ho.n (n 1) ca.nh.
`eu phu toi thieu, v`a ch
7. Mo.t d`o thi., noi chung, co nhi
ung co the co kch thu.o.c khac
`om so cac ca.nh khac nhau). So cac ca.nh trong mo.t phu toi thieu co co. nho
nhau (g
nhat du.o..c go.i l`a so phu cua d`o thi..
- i.nh l
D
y 2.5.3 Phu g cu a mo.t d`o thi. l`a toi thieu neu v`a ch neu g khong ch
u.a cac day
`en co do. d`ai lo.n ho.n hoa.c b`a ng ba.
chuy
- i
`eu kie.n c
`an. Gia su. g l`a phu toi thieu cua G m`a ch
`en co
Ch
u.ng minh. D
u.a mo.t day chuy
do. d`ai ba l`a
:= {v1 , e1 , v2 , e2 , v3 , e3 , v4 }.
`eu n`ay mau thuan vo.i tnh toi
Trong g bo ca.nh e2 th` ta van thu du.o..c mo.t phu cua G, di
thieu cua g.
66

http://www.ebook.edu.vn

.........

.......
....
...
..
...
...
...
...
...
...
...
...
....

....
...
..
...
.
..............................................................................................................
....
..
....
...
...
...

...........................................................................................................

(d)

(c)

(b)

(a)

.......

..
...
...
...
...
...
...
.
...
.
...
..
...
...
... .....
......
...
...
....
..
...
...
....

H`nh 2.10: Cac d`o thi. h`nh sao.


- i
`eu kie.n du. Ngu.o..c la.i, neu g khong ch
`en n`ao co do. d`ai lo.n ho.n hoa.c
D
u.a mo.t day chuy
`an cua no phai co mo.t trong cac da.ng h`nh sao nhu. trong H`nh
ba` ng ba th` cac th`anh ph
2.10. Hien nhien neu xoa bat k`
y mo.t ca.nh cua d`o thi. h`nh sao th` se co t nhat mo.t dnh
.
khong lien thuo.c vo i ca.nh c`on la.i cua g. Va.y g l`a phu toi thieu.
/
V du. 2.5.4 Gia su. d`o thi. trong H`nh 2.11 bieu dien ban d`o giao thong cua mo.t th`anh
pho. Moi dnh l`a mo.t n
ut giao thong thu.`o.ng xay ra tac nghen v`a moi ca.nh tu.o.ng u
.ng mo.t
`an da. t cac do.i tu
`an tra tren cac da.i lo. sao cho co the giam
da.i lo. noi hai n
ut giao thong. C
`an tra l`a bao nhieu?
sat tat ca cac n
ut giao thong. Van d`e da.t ra l`a so toi thieu cac do.i tu
.
.
.
`an tu t nhat cua d`o thi.. De kiem tra hai
Cau tra l`o i chnh l`a t`m phu toi thieu vo i so ph

ta.p sau l`a phu toi thieu:


{(a, d), (b, e), (c, f ), (f, i), (g, h), (k, l)}
v`a
{(a, b), (b, d), (b, e), (c, f ), (f, g), (f, i), (h, l)}.
`eu nhat hai dnh nen khong the phu d`o thi. t ho.n sau
Do co 11 dnh v`a moi ca.nh phu nhi
ca.nh.
e
h
b ........................................................................................................................................................................................................................................................................... l
.....
.....
.....
...
...
.....
.....
.....
....
....
...
...
.....
.....
.....
...
...
...
...
.....
.....
.....
..
...
...
.....
.....
.....
...
.....
.....
.
.
...
.
.
...
.
.
...
.....
.....
.....
.
...
.
.
...
.
.
.
.....
.....
.....
...
...
..
.....
.
.
...
.
.
.
.....
.....
...
.
...
.....
.
.
.
...
.
.
.
.....
.....
.
..... ..
..... ....
..... ....
...
..... ..
..... ..
..... ..
..... ..
...
..
..
.....................................................................................................................................................................................................................
.
.....
...........
....
.....
.....
... .......
...
.....
.....
.....
.....
.....
...
...
.....
.....
.....
.
.
.
.
.
.
.
.....
.....
.
.....
.....
.....
....
....
.....
.....
.....
...
...
.....
.....
.....
.....
.....
...
...
.....
....
.....
.
.
.....
.
.
.
.
.
.
.....
..
.....
...
..
.....
.....
.....
..... .... .........
..... ....
..... .. .....
..... ..
.. . ..
..... ..
.................................................................................................................................................
.
...
...
...
...
...
...
....
....
....
.
.
.....
..
......
.....
.........
......
.........................

H`nh 2.11:
67

http://www.ebook.edu.vn

Cu..c ti
eu ho
a h`
am Boole
`an quan tro.ng trong vie.c thiet ke cac ma.ch so l`a cu..c tieu hoa h`am Boole tru.o.c khi
Mo.t ph
thiet ke no. Gia su. ta muon xay du..ng ma.ch logic cho bo.i h`am Boole bon bien
f (x, y, z, w) = w0 x0 y 0 z 0 + w0 x0 yz 0 + w0 x0 yz + w0 xyz 0 + w0 xyz + wxyz.
`an cua f bo.i mo.t dnh v`a mo.t ca.nh
Ch
ung ta hay bieu dien moi mo.t trong bay th`anh ph
- `o thi.
`an ch khac nhau du
lien thuo.c hai dnh neu v`a ch neu hai th`anh ph
ng mo.t bien. D
.
.
.
tu o ng u
ng h`am f cho trong H`nh 2.12.
w0 xyz 0
.........
...
..... ..........
.....

....
.....

.....
.....
.....
.....
.....
.....
.....
..
.
.....
.
.
.
.....
....
.
.
.
.....
.
.
...............................................................................................................
.....................................................................................................................
.....
.....
...
.....
.....
.
.
.
.....
.
...
....
.....
.
.
.
.
...
.....
.....
.....
...
.....
.....
.....
...
.....
.....
.....
...
.....
.....
.
.
.
.
.
...
.....
..... .........
...
........
...
...
...
...
...
...
...
...
...
.

w 0 x0 y 0 z 0

e1

e2

e.3......................

e4

w0 x0 yz 0

e5

e6

w0 xyz

e7

wxyz

w0 x0 yz

wx0 y 0 z 0

H`nh 2.12:
`an vo.i ba bien.
.ng mo.t th`anh ph
Mo.t ca.nh lien thuo.c hai dnh tu.o.ng u
ung ch
u.c
Mo.t phu toi thieu cua d`o thi. cho ta mo.t do.n gian hoa h`am Boole f, vo.i c`
nang nhu. f nhu.ng thiet ke su. du.ng t cong logic ho.n.
`an x0 y 0 z 0
`an thuo.c mo.i phu cua d`o thi.. Bo.i va.y cac th`anh ph
Cac ca.nh treo e1 v`a e7 c
v`a xyz l`a khong the khu. du.o..c. Hai ca.nh e3 v`a e6 (hoa.c e4 v`a e5 , hoa.c e3 v`a e5 ) se phu cac
dnh c`on la.i. Do do ta co the viet la.i
f = x0 y 0 z 0 + xyz + w0 yz 0 + w0 yz.
w0 yz
.......

x0 y 0 z 0

....
...
..
...
...
...
...
...
...
...
...
...

xyz

w0 yz 0
H`nh 2.13:
68

http://www.ebook.edu.vn

Bieu th
u.c n`ay la.i co the bieu dien bo.i d`o thi. trong H`nh 2.13.
`an x0 y 0 z 0 v`a xyz khong the phu bo.i mo.t ca.nh do do khong the cu..c tieu
Cac th`anh ph
them vo.i ch
ung. Ngo`ai ra co mo.t ca.nh phu hai dnh c`on la.i w0 yz v`a w0 yz 0 . Do do bieu th
u.c
Boole toi thieu l`a
f = x0 y 0 z 0 + xyz + w0 y.

2.6
2.6.1

`o thi.
Nh
an cu a d

`e t
`on ta.i v`
C
ac d
i.nh l
y v
a duy nh
at

Xet d`o thi. G := (V, ). Ta noi ta.p ho..p S V l`a nhan cua d`o thi. G neu S l`a ta.p on d.inh
trong v`a ngo`ai cua G; t
u.c l`a neu
1. Neu v S th` (v) S = ; v`a
2. Neu v
/ S th` (v) S 6= .
- i
`eu kie.n (1) suy ra ra` ng nhan S khong co khuyen; di
`eu kie.n (2) suy ra nhan S ch
D
u.a mo.i
dnh v V co (v) = ; ngo`ai ra, ro r`ang ta.p trong khong phai l`a nhan.
V du. 2.6.1 [Von Neumann-Morgenstern] Khai nie.m nhan d`au tien du.o..c du.a v`ao l
y
.
.
.

thuyet tr`o cho i vo i ten go.i l`a l`o i giai.


Gia su. co n dau thu, k
y hie.u l`a (1), (2), . . . , (n), ho. co the thoa thua.n vo.i nhau de
cho.n t`nh the v trong ta.p ho..p V ; neu dau thu (i) u.ng t`nh the a ho.n t`nh the b th` ta viet
`en th
`an1 . V` nh
a b. Hien nhien l`a quan he. ti
u. tu.. to`an ph
u.ng su.. thch u
.ng cua cac ca
nhan co the khong ph`
u ho..p nhau nen ta phai du.a them khai nie.m thch u
.ng hie.u qua
.ng hie.u qua ho.n t`nh huong b (k
. Neu t`nh huong a du.o..c thch u
y hie.u a b) th` ngha
l`a: co mo.t ta.p dau thu, do cho ra` ng a ho.n b nen ho. co the cho quan diem cua m`nh thang
the; neu ngo`ai ra la.i co b c th` co mo.t ta.p cac dau thu co kha nang l`am cho t`nh huong b
u. hai khong bat buo.c phai tr`
u. nhat nen
ung vo.i ta.p ho..p th
thang the; nhu.ng v` ta.p ho..p th
`au2 !
co the khong bat buo.c a c : quan he. khong co tnh bac c
`en th
`an neu no thoa man: tnh phan xa., tnh bac c
`au v`a hai
Quan he. tren ta.p V l`a ti
u. tu.. to`an ph
.
`an tu bat k`
ph
y a, b V th` hoa.c a b hoa.c b a.
2
.ng hie.u qua do G. T. Guilbaud du.a ra trong [40]; Von Neumann v`a Morgenstern la.i
Thua.t ng
u. thch u
.
`e cac cach phat bieu toan ho.c khac cua su.. thch u
d`
ung danh t`
u ap dao. V
.ng hie.u qua, xem [5].
1

69

http://www.ebook.edu.vn

Bay gi`o. xet d`o thi. G = (V, ) trong do (x) l`a ta.p cac t`nh huong du.o..c thch u
.ng
.
hie.u qua ho n x. Go.i S l`a nhan (neu co) cua d`o thi.. Von Neumann v`a Morgenstern d`e nghi.
`an tu. cua S thoi. Su.. on d.inh trong cua S bieu thi. ra` ng:
ch ha.n che tr`o cho.i vo.i cac ph
khong co mo.t t`nh huong n`ao cua S du.o..c thch u
.ng hie.u qua ho.n mo.t t`nh huong khac x;
.
su. on d.inh ngo`ai cua S bieu thi. r`a ng: mo.i t`nh huong x khong thuo.c S khong du.o..c thch
u
.ng hie.u qua ho.n mo.t t`nh huong n`ao do cua S, do do t`nh huong x la.p t
u.c du.o..c loa.i tr`
u..
V du. 2.6.2 Khong phai mo.i d`o thi. d`eu co nhan. Neu d`o thi. co nhan S0 th` cac so on
`eu kie.n:
d.inh cua no thoa man di
(G) = max #S #S0 min = (G).
SS

T T

- `o thi. trong H`nh 2.14 khong co nhan v`


D
(G) = 1 < 2 = (G).
Trai la.i, d`o thi. trong H`nh 2.15 co hai nhan l`a S 0 = {b, d} v`a S 00 = {a, c}.
c

...
... ....
... ....
...
...
.
...
...
...
...
...
..
...
.
.
...
.
.
...
...
.
...
.
.
.
...
........
...
.
........
..
.
.
.
......
.
...
...
.
...
..
.
...
..
.
...
..
...
.
.
...
.
.
...
...
.
...
..
.
...
..
...
.
......................................................................................................................

H`nh 2.14:

Bay gi`o. ta du.a ra tieu chuan de nha.n biet mo.t d`o thi. co nhan hay khong, v`a nhan co
duy nhat khong?
d ..................................................................................................................... c

...
..
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
.
.........
...
...
.
.
...
.......
.
.
...
....
...
...
...
...
...
...
...
...
...
...
....
...
..
...
...
...
.
.
...................................................................................................................

H`nh 2.15:
70

http://www.ebook.edu.vn

- i.nh l
D
y 2.6.3 Neu S l`a nhan cu a d`o thi. (V, ) th` S l`a ta.p ho..p cu..c da.i trong ho. S cac
ta.p on d.inh trong; t
u.c l`a
A S, S A A = S.
`on ta.i ta.p on d.inh trong A ch
Ch
u.ng minh. Tha.t va.y, gia su. ngu.o..c la.i t
u.a nhan S v`a A 6= S.
.
`on ta.i a A sao cho a 6= S; t`
Khi do t
u do suy ra (a) S 6= . Va.y (a) A 6= , mau
.
thuan vo i A S.
/
- i.nh l
D
y 2.6.4 Trong d`o thi. doi x
u.ng khong khuyen, mo.i ta.p ho..p cu..c da.i cu a ho. S cac
.
ta.p ho. p on d.inh trong d`eu l`a nhan
Ch
u.ng minh. Gia su. S l`a ta.p ho..p cu..c da.i trong S, ta phai ch
u.ng minh r`a ng mo.i dnh a
/S
.
d`eu thoa man (a) S 6= . Tha.t va.y, neu (a) S 6= vo i dnh a S th` ta.p A = S {a}
on d.inh trong (v` a
/ (a), d`ong th`o.i S A, A 6= S, mau thuan vo.i gia thiet S l`a ta.p on
d.inh trong cu..c da.i.
/
H
e. qua 2.6.5 Mo.i d`o thi. doi x
u.ng khong khuyen d`eu co nhan.
co cac dnh l`a cac ta.p on di.nh trong cua d`o
Ch
u.ng minh. Tha.t va.y, la.p d`o thi. phu. (S, )
.
S 0 neu v`a ch neu S 0 S. D
- `o thi. phu. l`a cam u
thi. doi x
u ng da cho, v`a S
.ng, va.y theo
`on ta.i dnh S S khong co d`ong doi nen S l`a ta.p on di.nh trong cu..c da.i v`a
Bo d`e Zorn, t
- i.nh l
theo D
y 2.6.4 S l`a nhan cua d`o thi. da cho.
/
Trong d`o thi. doi x
u.ng khong khuyen, qua tr`nh t`m nhan l`a nhu. sau:
Lay mo.t dnh bat k`
y v0 v`a da.t S0 = {v0 }; sau do lay mo.t dnh v1
/ (S0 ) v`a da. t
S1 = S0 {v1 }; tiep theo lay v2
/ (S1 ) v`a da.t S2 = S1 {v2 }; v`a van van. V` d`o thi. h
u.u
ha.n nen so.m hay muo.n ta se du.o..c (Sk ) = V, v`a v` Sk l`a ta.p ho..p cu..c da.i cua S nen no l`a
nhan.
- i.nh l
- i
`eu kie.n c
`an v`a du de ta.p S l`a nhan l`a h`am da.c tru.ng cu a no
D
y 2.6.6 D
(

S (x) :=
thoa man he. th
u.c

1
0

neu x S,
neu ngu.o..c la.i,

S (x) = 1 max S (y).


y(x)

Neu (x) = th` ta quy u.o.c


max S (y) = 0.

y(x)

71

http://www.ebook.edu.vn

- i
`eu kie.n c
`an. Gia su. S l`a nhan. Do tnh on d.inh trong nen S (x) = 1 suy
Ch
u.ng minh. D
ra x S v`a do do
max S (y) = 0.
y(x)

Ma.t khac, do tnh on d.inh ngo`ai nen S (x) = 0 suy ra x


/ S v`a do do
max S (y) = 1.

y(x)

T`
u. do suy ra he. th
u.c da phat bieu.
- i
`eu kie.n du. Gia su. S (x) l`a h`am da. c tru.ng cua mo.t ta.p ho..p S n`ao do. Neu he. th
D
u.c cua
d.inh l
y thoa man th` ta co
1. x S suy ra S (x) = 1 nen maxy(x) S (y) = 0. Va.y (x) S = .
2. x
/ S suy ra S (x) = 0 nen maxy(x) S (y) = 1. Va.y (x) S 6= .
Do do S l`a nhan.

- i.nh l
D
y 2.6.7 [Richardson] Neu d`o thi. h
u.u ha.n khong co ma.ch vo.i do. d`ai le , th` no co
nhan (nhu.ng khong nhat thiet duy nhat).
Ch
u.ng minh. Xem, chang ha.n [4].

2.6.2

Tr`
o cho.i Nim

Gi
u.a hai dau thu m`a ch
ung ta k
y hie.u l`a (A) v`a (B) co mo.t d`o thi. (V, ) cho phep xac
d.inh mo.t tr`o cho.i n`ao do, trong tr`o cho.i ay moi the l`a mo.t dnh cua d`o thi.; dnh kho.i d`au
`an lu.o..t di: d`au tien dau thu (A) cho.n
v0 du.o..c cho.n ba` ng cach r
ut tham, v`a cac dau thu l
dnh v1 trong ta.p ho..p (v0 ); sau do (B) cho.n dnh v2 trong ta.p (v1 ); tiep theo (A) la.i cho.n
dnh v3 trong ta.p (v2 ), . . . . Neu mo.t dau thu cho.n du.o..c dnh vk m`a (vk ) = th` van do
ung th` thang cuo.c v`a dau thu kia thua. Hien
ket th
uc; dau thu n`ao cho.n du.o..c dnh cuoi c`
.
nhien do ta ch xet d`o thi. h
u u ha.n nen cuo.c cho.i se ket th
uc sau mo.t so h
u.u ha.n bu.o.c.
- e ky nie.m mo.t tr`o cho.i tieu khien quen thuo.c m`a Nim da tong quat hoa, ta go.i tr`o
D
u.a mo ta l`a tr`o cho.i Nim v`a k
y hie.u l`a (V, ) c
ung nhu. d`o thi. xac d.inh no. B`ai toan
cho.i v`
da. t ra l`a phat hie.n cac the thang; ngha l`a cac dnh cua d`o thi. m`a ta phai cho.n de bao dam
chac thang ma.c d`
u doi phu.o.ng chong tra ra sao. Ket qua chu yeu nhu. sau:
72

http://www.ebook.edu.vn

- i.nh l
D
y 2.6.8 Neu d`o thi. co nhan S v`a neu mo.t doi thu da cho.n mo.t dnh trong nhan S,
th` vie.c cho.n n`ay ba o da m cho anh ta thang hoa.c ho`a.
Ch
u.ng minh. Tha.t va.y, neu dau thu (A) cho.n dnh v1 S th` hoa.c (v1 ) = l
uc do anh
.
.

ta thang; hoa.c doi phu o ng buo.c phai cho.n mo.t dnh v2 trong V \ S, do do den lu.o..t m`nh,
dau thu (A) la.i co the cho.n mo.t dnh v3 S v`a c
u. nhu. the mai. Neu den mo.t l
uc n`ao do,
mo.t trong cac dau thu thang b`a ng cach cho.n mo.t dnh vk m`a (vk ) = th` ta co vk S.
`eu phai ch
Va.y dau thu thang nhat d.inh phai l`a (A). Ta co di
u.ng minh.
/
`on ta.i) (xem [4])
Mo.t phu.o.ng phap co. ban de cho.i tot l`a t`m h`am Grundy (neu no t
.
`e cac tr`o cho.i tren d`o thi. co
v`a t`
u do suy ra nhan cua d`o thi. da cho. Ba.n do.c quan tam v
.
.
the xem [4] (Chu o ng 6).

73

http://www.ebook.edu.vn

74

http://www.ebook.edu.vn

Chu.o.ng 3
`e d
C
ac b`
ai to
an v
u.`
o.ng d
i
- a.c
`an t`m du.`o.ng di (neu co) gi
Trong cac u
.ng du.ng thu..c te, ta c
u.a hai dnh cua d`o thi.. D
.
.
.
.
u a hai dnh cua mo.t d`o thi. co y
ngha to lo n. Co
bie.t, b`ai toan t`m du `o ng di ngan nhat gi
.
.
.

`e b`ai toan nhu va.y t`


`eu b`ai toan thu. c te. V du., b`ai toan t`m h`anh tr`nh
the dan v
u nhi
tiet kie.m nhat (theo tieu chuan khoang cach, th`o.i gian hoa.c chi ph) tren mo.t ban d`o giao
thong; b`ai toan cho.n phu.o.ng phap tiet kie.m nhat de du.a mo.t he. do. ng lu..c t`
u. tra.ng thai
`eu phu.o.ng phap du..a tren l
n`ay sang tra.ng thai khac v.v... Hie.n nay co rat nhi
y thuyet d`o
.
.
thi. to ra l`a cac phu o ng phap co hie.u qua nhat.
Chu.o.ng n`ay tr`nh b`ay cac thua.t toan t`m du.`o.ng di ngan nhat tren d`o thi. co tro.ng so.

3.1
3.1.1

- u.`
o.ng d
i gi
u.a hai d
nh
D
- u.`
D
o.ng d
i gi
u.a hai d
nh

`an tra l`o.i cau hoi: T


`on ta.i du.`o.ng di t`
`eu tru.`o.ng ho..p, ch
ung ta c
u. dnh s den
Trong nhi
.
.
.
.
dnh t cua d`o thi. co hu o ng G := (V, E)? Neu co, hay ch ra cach di cua du `o ng di .
`an ap du.ng thua.t toan t`m kiem
L`o.i giai cua b`ai toan n`ay kha do.n gian: ch
ung ta ch c
`eu ro.ng (hoa.c chi
`eu sau) tren d`o thi. co hu.o.ng G nhu. sau. Gan moi dnh cua G mo.t
theo chi
`an d
`an ta se cho moi dnh v mo.t ch so n`ao do b`a ng do.
ch so. Ba` ng phu.o.ng phap la.p, d
.
.
- anh dau dnh s b`a ng ch so 0. Neu

u. s to.i v. D
d`ai du `o ng di ngan nha t (so cung t nhat) t`
.
.
cac dnh du o. c danh dau b`a ng ch so m la.p th`anh mo.t ta.p ho..p P (m) da biet, th` ta danh
dau ch so (m + 1) cho mo.i dnh cua ta.p ho..p:
`on ta.i vi P (m) vo.i (vi , vj ) E}.
P (m + 1) := {vj chu.a du.o..c danh dau | t
75

http://www.ebook.edu.vn

Thua.t toan d`
u.ng khi khong the danh dau du.o..c n
u.a. Co hai tru.`o.ng ho..p xay ra:
- nh t du.o..c danh dau, chang ha.n t P (m) vo.i m n`ao do, th` ta xet cac dnh v1 , v2 , ...,
1. D
sao cho
v1 P (m 1), v2 P (m 2), . . . , vm P (0).
Khi do := {s = v , v
, ..., v , t} l`a du.`o.ng di phai t`m.
m

m1

- nh t khong du.o..c danh dau. Trong tru.`o.ng ho..p n`ay, ta ket lua.n khong t
`on ta.i du.`o.ng
2. D
.
di t`
u s den t.
Theo cach xay du..ng cua thua.t toan, de d`ang ch
u.ng minh r`a ng
`e 3.1.1 Neu d`o thi. du.o..c xac d.inh bo.i day lien tiep cac dnh, th` thua.t toan co
M
e.nh d

th`o.i gian O(m).

3.1.2

- `
D
o thi. li
en th
ong ma.nh

Nhac la.i l`a d`o thi. co hu.o.ng G go.i l`a lien thong ma.nh neu hai dnh s v`a t t`
uy y
cua G luon
.
.
.
`on ta.i mo.t du `o ng di t`
luon t
u s den t. Hien nhien r`a ng
- i.nh l
D
y 3.1.2 Cho G = (V, E) l`a d`o thi. co hu.o.ng, v`a v V. Khi do G lien thong ma.nh
`on ta.i mo.t du.`o.ng di t`
neu v`a ch neu mo.i ca.p dnh a, b V, t
u. a den v v`a mo.t du.`o.ng di t`
u.
v den b.
`eu sau, ta co the mo ta cach xac di.nh mo.t d`o
Du..a tren thua.t toan t`m kiem theo chi
.
.
y sau:
thi. co hu o ng co lien thong ma.nh hay khong thong qua di.nh l
- i.nh l
D
y 3.1.3 Cho G = (V, E) l`a d`o thi. co hu.o.ng, v`a v V. Ky hie.u G0 := (V, E 0 ) l`a d`o
u. G b`a ng cach da o hu.o.ng moi cung trong E. Khi do G l`a lien
thi. co hu.o.ng nha.n du.o..c t`
`eu sau tren d`o thi. co hu.o.ng G,
thong ma.nh neu v`a ch neu thua.t toan t`m kiem theo chi
`eu sau tren d`o thi.
kho.i d`
au t`
u. v, da.t du.o..c mo.i dnh cu a G v`a thua.t toan t`m kiem theo chi
0
0
.
.
.
.
.
.
co hu
o ng G , kho i d`au t`
u v, da.t du o. c mo.i dnh cu a G .
- i.nh ngha 3.1.4 D
- `o thi. vo hu.o.ng G go.i l`a du.o..c d.inh hu.o.ng ma.nh neu co the d.inh hu.o.ng
D
tren cac ca.nh cua G sao cho d`o thi. co hu.o.ng tu.o.ng u
.ng nha.n du.o..c l`a lien thong ma.nh.
76

http://www.ebook.edu.vn

- i.nh l
D
y sau cho ch
ung ta mo.t da.c tru.ng cua d`o thi. vo hu.o.ng du.o..c di.nh hu.o.ng ma.nh.
`au trong d`o thi. vo hu.o.ng lien thong l`a mo.t ca.nh m`a bo di th` d`o thi. se mat tnh
Ta noi c
lien thong.

- i.nh l
- `o thi. vo hu.o.ng G du.o..c d.inh hu.o.ng ma.nh neu v`a ch neu no lien thong
D
y 3.1.5 D
`au.
v`a khong co c

Ch
u.ng minh. B`ai ta.p.

`eu sau, ta co the d.inh hu.o.ng cac ca.nh cua d`o


Du..a tren thua.t toan t`m kiem theo chi
thi. vo hu.o.ng du.o..c di.nh hu.o.ng ma.nh nhu. sau. Lay mo.t dnh bat k`
y trong d`o thi. vo hu.o.ng
.
.
`eu sau. V` d`o thi. vo hu.o.ng
G l`am dnh kho i d`au v`a thu. c hie.n thua.t toan t`m kiem theo chi
l`a lien thong, ket qua cua vie.c t`m kiem n`ay cho ta mo.t cay bao tr`
um1 T = (Vn , En ), trong
do Vn = {v1 , v2 , . . . , vn } l`a cac dnh cua G. Neu e = (vi , vj ) l`a mo.t ca.nh trong cay bao tr`
um
T, ta d.inh hu.o.ng no t`
u. dnh co ch so nho ho.n den dnh co ch so lo.n ho.n. T
u.c l`a neu
i < j, d.inh hu.o.ng ca.nh e t`
u. vi den vj , v`a neu j < i th` di.nh hu.o.ng ca.nh e t`
u. vj den vi .
.
.
.
Neu ca.nh e = (vi , vj ) cua G khong thuo.c cay T, th` ta di.nh hu o ng ca.nh n`ay t`
u dnh co ch
.
.
.
.
.
.
so lo n ho n den dnh co ch so nho ho n. T
u c l`a neu i > j, d.inh hu o ng ca.nh e t`
u. vi den vj ,
v`a neu j > i th` d.inh hu.o.ng ca.nh e t`
u. vj den vi .
H`nh 3.1 minh ho.a d`o thi. vo hu.o.ng v`a cach d.inh hu.o.ng no.
a

.......
....... ......
....... .... .........
.......
.. .....
.......
.
.
.....
.
.
.
.
...
.
.....
.......
...
.....
..............
.
.
.
.....
.
.
.
.
......
.....
..........
.
.
.
.
.
.
.
.
.....
..
.....
.
.
.
.
.
.....
.
.
.
.
.....
.
.....
.
.
.
.
.
.
.
.....
.
.....
.
.
.
.
.
.
.
.....
.
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....................................................................................................................................................................................
.
.
.. .........
.
.
.....
..... ...
.
.
.
.......
.
.
.
.
.
.
.
...
..
.......
....
.......
.......
....
.....
.....
.......
.......
..
..
.....
.......
.......
..
.......
....... ..............
...
........
.......
.
.
.
.....
.
.
.
.
.
.
.
.
.
..
..... ............
......
........
.....
.......
.......
.....
.......
........
...
...
..............
...........
.....
...
. ........ .... .........
........
....... .. ....
.... .............
.........................................................................................................................

.......
....... ......
....... .... .........
.......
.. .....
.......
.
.
.....
.
.
.
.
...
..
.....
.......
...
.....
.......
.
.
.
.....
.
.
.
...
.....
.....
.
.
.
.
.
.
.
.
.....
.
.....
.
.
.
.
.
.....
.
.
.
.
.....
.
.....
.
.
.
.
.
.
.
.....
.
.....
.
.
.
.
.
.
.....
.
.
.
......
.
.
.
.
.
.
.
......................................................................................................................................................................................
.
.
.
... .........
.... ..
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
...
....
.......
.......
.....
...
.....
.......
.......
.......
.......
..
...
.....
....... .............
.....
...
...
............
.....
.
.
.
.
.
.
.
.
...
.
.
.
.
.
...... ............
.....
....
...
.......
.......
.....
.......
.......
...
...
.....
.......
.......
...
.. .....
.......
.......
....... .... .........
... .............
.......................................................................................................................

(a)

(b)

- `o thi. G du.o..c d.inh hu.o.ng.


- `o thi. vo hu.o.ng G. (b) D
H`nh 3.1: (a) D

Khai nie.m n`ay se du.o..c tr`nh b`ay trong ??.

77

http://www.ebook.edu.vn

- u.`
n nh
D
o.ng d
i ng
a
at gi
u.a hai d
nh

3.2

Cho d`o thi. co hu.o.ng G = (V, E) m`a cac cung cua no du.o..c gan cac tro.ng lu.o..ng cho bo.i ma
tra.n vuong cap n : W = (wij = (w(vi , vj )). B`ai toan da.t ra l`a t`m du.`o.ng di t`
u. mo.t dnh
xuat phat s V den mo.t dnh cuoi l`a t V sao cho tong cac tro.ng lu.o..ng tren du.`o.ng di :
X

w(ek )

ek

l`a nho nhat.


`an tu. wij , i, j = 1, ..., n, cua ma tra.n tro.ng lu.o..ng co the du.o.ng, am hoa.c b`a ng
Cac ph
`eu kie.n duy nhat da. t ra l`a d`o thi. co hu.o.ng G khong ch
khong. Mo.t di
u.a cac ma.ch vo.i
tong tro.ng lu.o..ng tren ma.ch am. V` r`a ng, neu co mo.t ma.ch nhu. va.y v`a v l`a mo.t dnh
n`ao do cua no, th` xuat phat t`
u. n
ut s ta di den dnh v, v`a sau do di v`ong quanh ma.ch
.
.
`an r
`oi mo i den t ta se thu du.o..c mo.t du.`o.ng di co tro.ng lu.o..ng du nho. V`
mo.t so du lo n l
.
.
`on ta.i.
va.y, trong tru `o ng ho..p n`ay, du.`o.ng di ngan nhat l`a khong t
Nha.n xet r`a ng, neu ma tra.n tro.ng lu.o..ng W thoa man
(

wij :=

1
0

neu (vi , vj ) E,
neu ngu.o..c la.i,

`eu ro.ng
u. s den t du.o..c xac d.inh b`a ng thua.t toan t`m kiem theo chi
th` du.`o.ng di ngan nhat t`
.
.
.
`an tru o c.
nhu da tr`nh b`ay trong ph
Tru.o.c tien ch
ung ta xet thua.t toan Dijkstra, do.n gian v`a rat hie.u qua, de giai b`ai toan
.
.
`an tu. khong am. Sau do phat
da. t ra trong tru `o ng ho..p ma tra.n tro.ng lu.o..ng W co cac ph
trien no de giai quyet b`ai toan trong tru.`o.ng ho..p tong quat.

3.2.1

o.ng ho..p ma tr
a.n tro.ng lu.o..ng kh
ong
am
Tru.`

Thua.t toan Dijkstra [20] t`m du.`o.ng di ngan nhat t`


u. dnh s den dnh t trong d`o thi. co hu.o.ng
.
.
.
.
.
co tro.ng lu o. ng khong am. Phu o ng phap n`ay du. a tren vie.c gan cac nhan ta.m th`o.i cho cac
dnh: Nhan cua dnh vi , k
y hie.u L(vi ), l`a mo.t ca.n tren cua do. d`ai du.`o.ng di t`
u. s den vi .
Cac nhan n`ay sau do tiep tu.c du.o..c giam bo.t bo.i mo.t thu tu.c la.p v`a ta.i moi bu.o.c la.p co
du
ng mo.t nhan ta.m th`o.i tro. th`anh nhan co d.inh. Khi dnh vi du.o..c gan nhan co d.inh th`
khong the giam L(vi ); so n`ay chnh l`a do. d`ai du.`o.ng di ngan nhat t`
u. s den vi .
78

http://www.ebook.edu.vn

Thu
a.t to
an Dijkstra (wij 0)
- a.t
1. [Kho.i ta.o] D

L(vi ) :=

0
+

neu vi = s,
neu ngu.o..c la.i.

- anh dau dnh s co nhan co d.inh, cac dnh khac co nhan ta.m th`o.i.
vo.i mo.i vi V. D
- a.t c = s.
D
2. [Ca.p nha.t] Vo.i mo.i vi (c) sao cho vi co nhan ta.m th`o.i da. t
L(vi ) := min{L(vi ), L(c) + w(c, vi )};
3. T`m dnh vi co nhan ta.m th`o.i sao cho
L(vi ) := min{L(vi ) < + | vi co nhan ta.m th`o.i}.
- anh dau dnh vi co nhan co d.inh v`a da.t c := vi .
4. D
u. s den t) Neu vi = t th` thua.t toan d`
u.ng, L(t) l`a du.`o.ng di
5. (a) (Neu t`m du.`o.ng di t`
ngan nhat t`
u. s den t; ngu.o..c la.i, chuyen sang Bu.o.c 2.
(b) (Neu t`m tat ca cac du.`o.ng di xuat phat t`
u. s) Neu khong the gan nhan co d.inh
.
.
.
cho dnh vi trong Bu o c 4 th` thua.t toan d`
u ng; gia tri. L(vi ) cua dnh vi co nhan co
.
.
.
u s den vi . Ngu.o..c la.i chuyen sang Bu.o.c 2.
d.inh cho ta do. d`ai du `o ng di ngan nhat t`
- i.nh l
u. s den t (neu co).
D
y 3.2.1 Thua.t toan Dijkstra cho ta du.`o.ng di ngan nhat t`
`on
Ch
u.ng minh. Tru.o.c het ch
uy
r`a ng cac dnh khong du.o..c gan nhan co d.inh se khong t
.
.
.
.
ta.i du `o ng di t`
u s den no (nh
u ng dnh n`ay co nhan L ba` ng ).
Gia su. L(vi ) cua cac dnh co nhan co d.inh o. bu.o.c n`ao do l`a do. d`ai du.`o.ng di ngan
nhat t`
u. s den vi . K
y hie.u S1 l`a ta.p tat ca cac dnh n`ay v`a S2 l`a ta.p cac dnh co nhan ta.m
.
.
.
`an la.p, nhan ta.m th`o.i L(vi ) l`a do. d`ai du.`o.ng di ngan nhat i
th`o i. Cuoi Bu o c 2 cua moi l
`an la.p ch co mo.t dnh du.o..c du.a v`ao
t`
u. s den vi qua cac dnh trong ta.p S1 . (V` trong moi l
.
.
S1 nen ca.p nha.t la.i L(vi ) ch xay ra trong Bu o c 2).
Xet du.`o.ng di ngan nhat t`
u. s den vi khong ho`an to`an di qua cac dnh cua S1 m`a
.
ch
u a t nhat mo.t dnh thuo.c S2 v`a gia su. vj S2 l`a dnh d`au tien nhu. va.y tren du.`o.ng di
n`ay. Do wij khong am, doa.n du.`o.ng di t`
u. vj den vi phai co do. d`ai khong am sao cho
`eu n`ay mau thuan vo.i khang d.inh r`a ng L(vi ) co
L(vj ) < L(vi ) < L(vi ). Tuy nhien di
.
nhan ta.m th`o i nho nhat, v`a do do cac dnh tren du.`o.ng di ngan nhat den vi thuo.c S1 v`a
do do L(vi ) l`a do. d`ai cua du.`o.ng di n`ay.
79

http://www.ebook.edu.vn

V` S1 kho.i ta.o l`a {s} v`a trong moi bu.o.c la.p, dnh vi du.o..c them v`ao S1 , nen b`a ng
qui na.p, L(vi ) l`a do. d`ai du.`o.ng di ngan nhat t`
u. s den vi vo.i mo.i dnh vi S1 . Do do thua.t
toan cho l`o.i giai toi u.u.
/
`e 3.2.2 Thua.t toan Dijkstra d`oi ho i th`o.i gian O(n2 ). Neu d`o thi. thu.a v`a du.o..c xac
M
e.nh d

.
d.inh bo i day lien tiep cac dnh, th` th`o.i gian cu..c da.i cu a thua.t toan l`a O(m log n).
`an t`m du.`o.ng di
Ch
u.ng minh. Trong tru.`o.ng ho..p d`o thi. lien thong ma.nh d`ay du n dnh v`a c
.
`an n(n 1)/2 phep co.ng v`a so sanh trong
ngan nhat t`
u s den mo.i dnh khac, thua.t toan c
.
.
`an xac
Bu o c 2 v`a n(n 1)/2 phep so sanh khac trong Bu.o.c 3. Ngo`ai ra, cac Bu.o.c 2 v`a 3 c
.
.
.
`

d.inh cac dnh du o. c gan nhan ta.m th`o i nen can them n(n 1)/2 phep so sanh. Cac so n`ay
`an thiet de t`m du.`o.ng di ngan nhat t`
c
ung l`a ca.n tren cho so cac phep toan c
u. s den t, v`a
tha.t va.y, cac gia tri. n`ay da.t du.o..c khi t l`a dnh cuoi c`
ung du.o..c gan nhan co d.inh.
/
Khi Thua.t toan Dijkstra ket th
uc, cac du.`o.ng di ngan nhat du.o..c xac d.inh ba` ng de.
qui theo Phu.o.ng tr`nh (3.1) du.o.i day. Do do neu vi0 l`a dnh tru.o.c dnh vi trong du.`o.ng di
ngan nhat t`
u. s den vi th` vo.i mo.i dnh vi cho tru.o.c, dnh vi0 co the lay l`a dnh m`a
L(vi ) = L(vi0 ) + w(vi0 , vi ).

(3.1)

`on ta.i duy nhat du.`o.ng di ngan nhat t`


u. s den vi th` cac cung (vi0 , vi ) tren du.`o.ng
Neu t
`eu
di ngan nhat ta.o th`anh mo.t cay co hu.o.ng (xem Chu.o.ng 4) vo.i goc l`a dnh s. Neu co nhi
.
.
.
.
.
.
.

ho n mo.t du `o ng di ngan nhat t`


u s den bat k`
y mo.t dnh khac, th` Phu o ng tr`nh 3.1 se du o..c
0
.
.
.
thoa man bo i ho n mo.t dnh khac vi vo i vi n`ao do.
Thu tu.c sau minh ho.a thua.t toan Dijkstra. Trong thu tu.c n`ay, mang M ark[] du.o..c su.
du.ng de danh dau cac dnh co nhan ta.m th`o.i hay co d.inh: M ark[i] = FALSE neu dnh vi
co nhan ta.m th`o.i; ngu.o..c la.i b`a ng TRUE. Gia tri. Label[i] tu.o.ng u
.ng nhan L( vi ) v`a P red[i],
`en tru.o.c dnh vi trong du.`o.ng di ngan nhat t`
sau khi ket th
uc thua.t toan, l`a dnh li
u. s den
.
.
.
`on ta.i du `o ng di ngan nhat t`
vi . Neu t
u s den t, th` thu tu.c PathTwoVertex() se in ra thong
.
.
tin cua du `o ng di n`ay.

void Dijkstra(byte Start, byte Terminal)


{
byte i, Current;
AdjPointer Tempt;
Path Pred;
int Label[MAXVERTICES], NewLabel, Min;
Boolean Mark[MAXVERTICES];
80

http://www.ebook.edu.vn

for(i = 1; i <= NumVertices; i++)


{
Mark[i] = FALSE;
Pred[i] = 0;
Label[i] = +Infty;
}
Mark[Start] = TRUE;
Pred[Start] = 0;
Label[Start] = 0;
Current = Start;
while (Mark[Terminal] == FALSE)
{
Tempt = V_out[Current]->Next;
while (Tempt != NULL)
{
if (Mark[Tempt->Vertex] == FALSE)
{
NewLabel = Label[Current] + Tempt->Length;
if (NewLabel < Label[Tempt->Vertex])
{
Label[Tempt->Vertex] = NewLabel;
Pred[Tempt->Vertex] = Current;
}
}
Tempt = Tempt->Next;
}
Min = +Infty;
for (i = 1; i <= NumVertices; i++)
if ((Mark[i] == FALSE) && (Label[i] < Min))
{
Min = Label[i];
Current = i;
}
if (Min == +Infty)
{
printf("Khong ton tai duong di tu %d", Start);
printf(" den %d", Terminal);
81

http://www.ebook.edu.vn

return;
}
Mark[Current] = TRUE;
}
printf("Ton tai duong di tu %d", Start);
printf(" den %d", Terminal);
printf("\nDuong di qua cac dinh:");
printf("\n % d " , Start);
PathTwoVertex(Pred, Start, Terminal);
printf("\nDo dai la: %d ", Label[Terminal]);
}

3.2.2

a.n tro.ng lu.o..ng tu`


yy

Tru.`
o.ng ho..p ma tr

Thua.t toan Dijkstra ch ap du.ng trong tru.`o.ng ho..p ma tra.n tro.ng lu.o..ng W khong am. Tuy
`eu b`ai toan thu..c te, W l`a ma tra.n chi ph, cho nen nh
nhien, nhi
u.ng cung mang la.i lo..i nhua.n
phai co chi ph am. Trong tru.`o.ng ho..p n`ay, phu.o.ng phap cho du.o.i day t`m du.`o.ng di ngan
- ay c
nhat t`
u. s den tat ca cac dnh khac. D
ung l`a phu.o.ng phap la.p v`a du..a tren cach danh
nhan, trong do cuoi bu.o.c la.p th
u. k cac nhan bieu dien gia tri. do. d`ai cua cac du.`o.ng di ngan
nhat (t`
u. s den tat ca cac dnh khac) co so cung khong vu.o..t qua (k + 1). Thua.t toan n`ay
.
`an d`au tien bo.i Ford [26] v`ao gi
u.a nam 1950. Sau do du.o..c Moore [45] v`a Bellman
du a ra l
[3] cai tien nhu. sau.

Thu
a.t to
an Ford, Moore, Bellman
`an la.p th
K
y hie.u Lk (vi ) l`a nhan cua dnh vi o. cuoi l
u. (k + 1).
- a.t S = (s), k = 1; v`a
1. [Kho.i ta.o] D
1

L (vi ) :=

neu vi = s,
neu vi =
6 s, vi (s),
.

neu ngu o..c la.i.

w(s, vi )
+

2. [Ca.p nha.t nhan] Vo.i moi vi (S), vi 6= s, thay doi nhan cua no theo quy tac:
Lk+1 (vi ) := min[Lk (vi ), min {Lk (vj ) + w(vj , vi )}],
vj Ti

82

http://www.ebook.edu.vn

(3.2)

trong do Ti := 1 (vi ) S. Ta.p S ch


u.a tat ca cac dnh vi sao cho du.`o.ng di ngan nhat
.
(hie.n h`anh) t`
u s den vi co so cung l`a k.
Ta.p Ti ch
u.a tat ca cac dnh vj sao cho du.`o.ng di ngan nhat t`
u. s den vi co so cung l`a
k (t
u.c l`a vj S) v`a ket th
uc ba` ng cung (vj , vi ). Ch
uy
r`a ng, neu vi 6 (S) th` du.`o.ng
di ngan nhat t`
u. s den vi khong the co so cung l`a (k + 1) v`a ta khong thay doi nhan
cua dnh n`ay:
Lk+1 (vi ) := Lk (vi ), vo.i mo.i vi 6 (S).
3. [Kiem tra ket th
uc] (a) Neu k n 1 v`a Lk+1 (vi ) = Lk (vi ), vo.i mo.i vi V, th` thua.t
.
toan d`
u ng; nhan cua dnh vi cho ta do. d`ai du.`o.ng di ngan nhat t`
u. s den vi .
(b) Neu k < n 1 v`a Lk+1 (v ) 6= Lk (v ), vo.i v n`ao do, th` chuyen sang Bu.o.c 4.
i

(c) Neu k = n 1 v`a L (vi ) 6= L (vi ), vo.i vi n`ao do, th` d`o thi. G co ma.ch vo.i do.
d`ai am. Thua.t toan ket th
uc.
k+1

- a.t
4. [Ca.p nha.t S] D

S := {vi | Lk+1 (vi ) 6= Lk (vi )}.


(Ta.p S bay gi`o. ch
u.a tat ca cac dnh m`a du.`o.ng di ngan nhat t`
u. s den no co so cung
l`a (k + 1)).

5. Thay k bo.i (k + 1) v`a la.p la.i Bu.o.c 2.


Khi thua.t toan ket th
uc v`a d`o thi. khong co ma.ch do. d`ai am, ch
ung ta co the t`m tat
.
.
.

`on ta.i) ngan nhat t`


ca cac du `o ng di (neu t
u s den tat ca cac dnh khac. Ho.n n
u.a cac du.`o.ng
k
.
.
.
.
di co the nha.n du o. c tru. c tiep neu, trong phep co.ng v`ao cac nhan L (vi ) o Phu.o.ng tr`nh
3.2, ta them mo.t nhan P k (vi ) lu.u tr
u. thong tin moi dnh trong suot qua tr`nh tnh toan,
`e tru.o.c dnh vi tren du.`o.ng di ngan nhat t`
trong do P k (vi ) l`a dnh k
u. s den vi o. bu.o.c la.p
.
.
th
u k. Ta co the kho i ta.o
(

P 1 (vi ) :=

s
0

neu vi (s),
neu ngu.o..c la.i.

Nhan P k (vi ) du.o..c ca.p nha.t theo Phu.o.ng tr`nh 3.2 trong Bu.o.c 2 sao cho P k+1 (vi ) = P k (vi )
`an tu. d`au tien trong dau ngoa.c cua Phu.o.ng tr`nh 3.2;
neu gia tri. nho nhat da.t du.o..c o. ph
y hie.u P(vi ) l`a vector du.o..c xay du..ng t`
u. cac nhan
hoa.c P k+1 (vi ) = vj neu ngu.o..c la.i. Neu k
.
.
.
.
.
u. tu..
u s den vi nha.n du o. c theo th
P khi ket th
uc thua.t toan, th` du `o ng di ngan nhat t`
ngu.o..c:
s, . . . , P 3 (vi ), P 2 (vi ), P (vi ), vi ,
trong do P 2 (vi ) co ngha l`a P (P (vi )), . . . .
- oa.n chu.o.ng tr`nh sau minh ho.a thua.t toan da tr`nh b`ay.
D
83

http://www.ebook.edu.vn

void Ford_Moore_Bellman(byte Start)


{
byte i, k, Terminal;
AdjPointer Tempt1, Tempt2;
Path OldPred, NewPred;
int OldLabel[MAXVERTICES], NewLabel[MAXVERTICES], Min;
Boolean Done, Mark[MAXVERTICES];
for (i = 1; i <= NumVertices; i++)
{
Mark[i] = FALSE;
OldPred[i] = 0;
OldLabel[i] = +Infty;
}
OldLabel[Start] = 0;
Tempt1 = V_out[Start]->Next;
while (Tempt1 != NULL)
{
Mark[Tempt1->Vertex] = TRUE;
if (Tempt1->Vertex != Start)
{
OldPred[Tempt1->Vertex] = Start;
OldLabel[Tempt1->Vertex] = Tempt1->Length;
}
Tempt1 = Tempt1->Next;
}
for (i = 1; i <= NumVertices; i++)
{
NewPred[i] = OldPred[i];
NewLabel[i] = OldLabel[i];
}
for (k = 1; k < NumVertices; k++)
{
printf("\n ");
for (i = 1; i <= NumVertices; i++)
{
if (Mark[i] == TRUE)
{
Tempt1 = V_out[i]->Next;
84

http://www.ebook.edu.vn

while (Tempt1 != NULL)


{
NewPred[Tempt1->Vertex] = Tempt1->Vertex;
Min = OldLabel[Tempt1->Vertex];
Tempt2 = V_in[Tempt1->Vertex]->Next;
while (Tempt2 != NULL)
{
if (Mark[Tempt2->Vertex] == TRUE)
{
if ((OldLabel[Tempt2->Vertex] + Tempt2->Length) < Min)
{
NewPred[Tempt1->Vertex] = Tempt2->Vertex;
Min = OldLabel[Tempt2->Vertex] + Tempt2->Length;
}
}
Tempt2 = Tempt2->Next;
}
NewLabel[Tempt1->Vertex] = Min;
Tempt1 = Tempt1->Next;
}
}
}
Done = TRUE;
for (i = 1; i <= NumVertices; i++)
{
if (OldLabel[i] != NewLabel[i])
{
Done = FALSE;
break;
}
}
if (Done == TRUE)
{
for (Terminal = 1; Terminal <= NumVertices; Terminal++)
if (OldLabel[Terminal] < +Infty)
{
printf("\n ");
printf("Ton tai duong di tu %d", Start);
printf(" den %d", Terminal);
85

http://www.ebook.edu.vn

printf("\n Duong di qua cac dinh:");


printf(" % d " , Start);
PathTwoVertex(OldPred, Start, Terminal);
i = Terminal;
printf(" Do dai la: %d ", OldLabel[Terminal]);
printf("\n ");
getch();
}
else
{
printf("\n ");
printf("Khong ton tai duong di tu %d", Start);
printf(" den %d", Terminal);
}
return;
}
for (i = 1; i <= NumVertices; i++)
if (OldLabel[i] != NewLabel[i])
{
Mark[i] = TRUE;
OldPred[i] = NewPred[i];
OldLabel[i] = NewLabel[i];
}
else Mark[i] = FALSE;
}
printf("\n Ton tai mach co do dai am");
}
- e ch
`an su. du.ng
D
u.ng minh thua.t toan t`m du.o..c cho l`o.i giai toi u.u cua b`ai toan c
nguyen l
y toi u.u cua quy hoa.ch do.ng v`a t`
u. nha.n xet l`a neu khong co du.`o.ng di toi u.u qua
.
.
.
k cung th` se khong co du `o ng di toi u u qua (k + 1) cung. Ch
ung ta khong tr`nh b`ay ch
u.ng
minh do; ba.n do.c quan tam co the xem [6].

- `
o.ng c
o tro.ng s
o
am nhu.ng kh
ong c
o ma.ch d

o. d`
ai
am
D
o thi. c
o hu.
Trong tru.`o.ng ho..p d`o thi. co hu.o.ng co tro.ng so tu`
yy
nhu.ng khong co ma.ch co do. d`ai am
.
.
th` thua.t toan Moore-Bellman-dUsopo t`m du `o ng di ngan nhat t`
u. s den t tr`nh b`ay du.o.i
day se hie.u qua ho.n.
86

http://www.ebook.edu.vn

Nhan cua mo.i dnh vi V l`a ca.p (P (vi ), L(vi )). Ket th
uc thua.t toan, L(t) l`a do. d`ai
cua du.`o.ng di ngan nhat t`
u. s den t v`a vector P cho ta thong tin cua du.`o.ng di n`ay.
- a.t
1. [Kho.i ta.o] D

L(vi ) :=
v`a

P (vi ) :=

+
0

neu vi 6= s,
neu vi = s,

1
0

neu vi 6= s,
neu vi = s,

`an tu. l`a s.


Kho.i ta.o Stack ch co mo.t ph
2. [Bu.o.c la.p] Trong khi Stack khac NULL
{
`an tu. vi o. d`au Stack;
lay ra ph
vo.i mo.i dnh vj V sao cho vj (vi ),
{
neu [L(vi ) + w(vi , vj ) < L(vj )] th` gan
{
L(vj ) = L(vi ) + w(vi , vj );
P (vj ) = vi ;
neu dnh vj chu.a bao gi`o. o. trong Stack th` ch`en vj v`ao cuoi Stack;
ngu.o..c la.i, neu vj da t`
u.ng o. trong Stack, nhu.ng hie.n ta.i khong co trong
do th` ch`en vj v`ao d`au cua Stack.
}
}
}

3.3

- u.`
n nh
D
o.ng d
i ng
a
at gi
u.a t
at ca c
ac c
a.p d
nh

`an phai t`m du.`o.ng di ngan nhat gi


u.a hai dnh t`
uy y
. Ro r`ang ta co the giai b`ai
Gia su. c
.
.
`an thua.t toan mo ta o ph
`an tru.o.c, m`a trong moi l
`an thu..c
toan n`ay ba` ng cach su du.ng n l
`an lu.o..t l`a cac dnh cua d`o thi.. Trong tru.`o.ng ho..p d`o thi. d`ay du co ma
hie.n, ta se cho.n s l
.
.
`an thiet t le. vo.i n3 ; trai la.i vo.i ma tra.n tro.ng
tra.n tro.ng lu o. ng khong am, so phep tnh c
lu.o..ng tong quat, so phep tnh t le. vo.i n4 .
87

http://www.ebook.edu.vn

`an n`ay ch
Trong ph
ung ta se tr`nh b`ay hai cach ho`an to`an khac de giai b`ai toan t`m
.
.
.
du `o ng di ngan nhat gi
u a tat ca cac ca.p dnh. Nh
u.ng phu.o.ng phap n`ay co the ap du.ng cho
cac ma tra.n tro.ng lu.o..ng tong quat v`a ch do`i hoi so phep tnh t le. vo.i n3 . Vo.i tru.`o.ng ho..p
ma tra.n tro.ng lu.o..ng khong am, noi chung, cac phu.o.ng phap n`ay se nhanh ho.n 50% cach
`an.
ap du.ng thua.t toan Dijkstra n l

3.3.1

Thu
a.t to
an Hedetniemi (tru.`
o.ng ho..p ma tr
a.n tro.ng lu.o..ng
kh
ong
am)

Mo.t trong nh
u.ng mu.c dch cua cac thua.t toan t`m du.`o.ng di ngan nhat l`a xac di.nh tat ca
cac do. d`ai cua cac du.`o.ng di ngan nhat co the co trong mo.t d`o thi. co tro.ng lu.o..ng ta.i c`
ung
.

`an n`ay, ch
mo.t th`o i diem. Trong ph
ung ta thao lua.n cach tiep ca.n khac giai quyet b`ai toan
n`ay (xem [2]).
Thua.t toan du.o..c xay du..ng tren co. so. mo.t cach tnh mo.i l
uy th`
u.a cua cac ma tra.n,
m`a ch
ung ta se go.i l`a tong ma tra.n Hedetniemi. Tong n`ay du.o..c Hedetniemi tr`nh b`ay vo.i
Nystuen ta.i tru.`o.ng da.i ho.c Michigan.
Xet d`o thi. lien thong co tro.ng lu.o..ng G = (V, ) vo.i ta.p cac dnh V = {v1 , v2 , . . . , vn }
v`a ma tra.n tro.ng lu.o..ng khong am W := [wij ] cap n n.
Chang ha.n, d`o thi. trong H`nh 3.2 co ma tra.n tro.ng lu.o..ng

0
30

30

W =

40

30
0
25
40

25
0
50

30
40
50
0
30
20

30
0

25

20

0
20

20

25
20
0
25

25
0
20

40

20

20
0

Ch
ung ta gio.i thie.u mo.t phep toan mo.i tren cac ma tra.n go.i l`a tong ma tra.n Hedetniemi.
- i.nh ngha 3.3.1 Gia su. A l`a ma tra.n cap m n v`a B l`a ma tra.n cap n p. Tong ma
D
tra.n Hedetniemi cua hai ma tra.n A v`a B l`a ma tra.n C cap m p, k
y hie.u A B, xac d.inh
.

bo i:
cij := min{ai1 + b1j , ai2 + b2j , . . . , ain + bnj }.
88

http://www.ebook.edu.vn

v5

....................
.......
.......
.......
.......
.......
.......
.
.
.
.
.
.
.......
..
.......
.......
.......
.......
.
.
.
.
.
.......
.
.....
.
.......
.
.
.
.
.
.......
.....
.
.
.
.......
.
.
.
.......
.....
.
.
.
.
.
.
.......
.....
.
.
.......
.
.
.
.
.......
.....
.
.
.
.
.
.......
.
.............
...........................................................................................................
............
... ...........
....... .... .........
....
.......
...
.......
.
.
.
.
.
.
.
... ........
...
.
.
.......
...
....
.
.
.
.
.....
.
.
.
.
.
.
.
...
.
.
.......
...
.
....
.....
.
.
.
.
.
.
.
.
.
.
.
.
...
.
.......
...
.....
.
.....
.
.
.
.......
.
.
.
.
.
.
...
...
.
.....
.......
.
.....
.
.
.
.
.
.
...
.......
.
.
.
...
.
.....
.
.....
.......
.
.
.
.
...
.
.
.
.
.
...
.
.....
.......
.
.....
.
.
.
.
.
.......
.
.
.
.
....
...
.
.....
.
....
.......
.
.
.
.
.
.
.
.
.
.
...
...
.
.....
.......
..
..................
.
.
.
...
...
.....
.....
....
...
...
....
.....
...
...
...
...
.....
.....
...
...
...
....
.....
..
...
...
...
.....
...
...
...
...
.....
.....
...
...
...
...
.....
...
...
...
...
.....
.
.....
...
...
...
..... ....
...
...
...
..... ..
........
....
....
...
..................................................................................................................................................................................................................................................................................................................................

25

v7

25

30

20

v4

20

v6

50

30

v3

25

40

20

v8

v9

20

v1

40

v2

30

H`nh 3.2:

0 1 2
0 3 4

V du. 3.3.2 T`m to ng ma tra.n A B neu A = 2 0 3 v`a B = 5 0 4


.
5 6 0
3 1 0
Ta co

0 1 2
0 3 4
0 1 2

A B = 2 0 3 + 5 0 4 = 2 0 3.
5 6 0
3 1 0
3 1 0
`an tu. c23 xac d.inh bo.i
Chang ha.n, ph
c23 = min{2 + 4, 0 + 4, 3 + 0} = 3.

0 1
1 0

V du. 3.3.3 T`m tong ma tra.n A B neu A =


1
0
4
v`
a
B
=

1 0 4 .
4 0
4 0
Ta co

0 1
1 0
1 0 5

A B = 1 0 4 + 1 0 4 = 1 0 4.
4 0
4 0
5 4 0
`an tu. c13 xac d.inh bo.i
Chang ha.n, ph
c23 = min{0 + , 1 + 4, + 0} = 5.
Bay gi`o. ap du.ng tong ma tra.n Hedetniemi v`ao vie.c t`m du.`o.ng di ngan nhat. Xet v
89

http://www.ebook.edu.vn

du. trong H`nh 3.2. K


y hie.u W 2 := W W, W k := W k1 W, k 2. Khi do

0
30

55

30

2
W =
60

40

30
0
25
40
70

55
25
0
50
80

30
40
50
0
30
20

60
70
80
30
0

25

50
60
70
20

0
20

20

40
25
20
0
25

60

25
0
20

40
70

40

20

20
0

`an tu. cua ma tra.n W 2 = [a(2)


Ch
ung ta hay xet cach xac di.nh mo.t ph
ij ] :
(2)

a13

= min{0 + , 30 + 25, + 0, 30 + 50, + , + , + , + , 40 + }


= 55.

Ch
uy
r`a ng gia tri. 55 l`a tong cua 30, do. d`ai cua du.`o.ng di ngan nhat vo.i so cung mo.t t`
u.
(2)
dnh v1 den dnh v2 , v`a cua 25, do. d`ai cua cung noi dnh v2 v`a dnh v3 . Do do a13 l`a do. d`ai
`eu nhat hai. Suy ra W 2 cho ta thong
cua du.`o.ng di ngan nhat t`
u. v1 den v2 vo.i so cung nhi
`eu nhat hai.
tin cua tat ca cac do. d`ai du.`o.ng di ngan nhat gi
u.a hai dnh co so cung nhi
Tu.o.ng tu.., W 3 cho ta thong tin cua tat ca cac do. d`ai du.`o.ng di ngan nhat gi
u.a hai
`eu nhat ba, v`a van van. Do d`o thi. co n dnh nen co nhi
`eu nhat (n 1)
dnh co so cung nhi
.
.
.

u a hai dnh. Va.y


cung tren du `o ng di ngan nhat gi
- i.nh l
`an tu. h`ang i co.t j cu a ma
D
y 3.3.4 Trong d`o thi. co tro.ng so khong am n dnh, ph
tra.n Hedetniemi W n1 l`a do. d`ai cu a du.`o.ng di ngan nhat gi
u.a dnh vi v`a vj .
Vo.i d`o thi. trong H`nh 3.2 co chn dnh, ta co

0
30

55

30

8
W =
60

50

70

60
40

30 55 30
0 25 40
25 0 50
40 50 0
70 80 30
60 70 20
80 90 40
90 110 60
70 90 40

60
70
80
30
0
45
25
50
65

50
60
70
20
45
0
20
40
20

70 60 40
80 90 70

90 110 90

40 60 40

25 50 65
.

20 40 20
0 25 40

25 0 20
40 20 0

u. v1 den v7 co do. d`ai 70.


Do do, du.`o.ng di ngan nhat t`
90

http://www.ebook.edu.vn

- i
`eu l
D
y th
u nhat trong v du. n`ay l`a W 4 = W 8 . Tha.t va.y, da ng th
u.c suy tru..c tiep t`
u.
.
.
.
`eu nhat bon cung. Bo i va.y do. d`ai
d`o thi. trong H`nh 3.2: mo.i du `o ng di ngan nhat di qua nhi
4
.
.
.
.
.
cua du `o ng di ngan nhat du o. c xac di.nh bo i ma tra.n W thay v` phai tnh den W 8 . Tong
quat ta co
- i.nh l
D
y 3.3.5 Trong d`o thi. co tro.ng so khong am n dnh, neu ma tra.n Hedetniemi W k 6=
W k1 , c`on W k = W k+1 , th` W k bieu thi. ta.p cac do. d`ai cu a cac du.`o.ng di ngan nhat, v`a so
cung tren moi du.`o.ng di ngan nhat khong vu.o..t qua k.
Do do, thua.t toan n`ay co the d`
u.ng o. bu.o.c la.p th
u. k < (n 1). Du.o.i day l`a doa.n
chu.o.ng tr`nh minh ho.a tnh ma tra.n lu
y th`
u.a cua ma tra.n tro.ng lu.o..ng W.
void Hetdetniemi()
{
int i, j, k, t;
int Old[MAXVERTICES][MAXVERTICES], New[MAXVERTICES][MAXVERTICES];
Boolean Flag;
for (i = 1; i <= NumVertices; i++)
for (j = 1; j <= NumVertices; j++)

Old[i][j] = w[i][j];

for (t = 1; t < NumVertices; t++)


{
Flag = TRUE;
for (i = 1; i <= NumVertices; i++)
{
for (j = 1; j <= NumVertices; j++)
{
New[i][j] = Old[i][1] + w[1][j];
for (k = 2; k <= NumVertices; k++)
New[i][j] = min(New[i][j], Old[i][k] + w[k][j]);
if (New[i][j] != Old[i][j])
{
Flag = FALSE;
Old[i][j] = New[i][j];
}
}
}
91

http://www.ebook.edu.vn

if (Flag == TRUE) break;


}
}
n nh
X
ac d
i.nh d
u.`
o.ng d
i ng
a
at
Bay gi`o. ta t`m du.`o.ng di ngan nhat t`
u. v1 den v7 (do. d`ai 70). Ta co
(4)

(3)

w14 = w1k wk7


(3)
`an tu. w1k
vo.i k n`ao do. Nhu.ng cac ph
ta.o th`anh vector h`ang

(0, 30, 55, 30, 60, 50, 70, 60, 40)


`an tu. wk7 ta.o th`anh vector co.t
v`a cac ph
(, , , , 25, 20, 0, 25, ).
V` gia tri. nho nhat da.t du.o..c ta.i k = 6 u
.ng vo.i 70 = 50 + 20 (v`a k = 7) nen du.`o.ng di ngan
.
`eu nhat ba cung t`
nhat t`
u v1 den v7 se di qua nhi
u. v1 den v6 v`a ket th
uc vo.i cung do. d`ai 20
ung da.t du.o..c ta.i k = 7 (
u.ng vo.i 70 + 0) nen
t`
u. v6 den v7 . (Tha.t ra, do gia tri. nho nhat c
`on ta.i du.`o.ng di ngan nhat t`
t
u. v1 den v7 vo.i tong so cung di qua khong vu.o..t qua ba).
(4)
Tiep den ta t`m cung tru.o.c khi den dnh v6 . Ch
uy
r`a ng w16 = 70 20 = 50. Cac
`an tu. wk6 ta.o th`anh vector co.t
ph

(, , , 20, , 0, 20, , 20).


`an n`ay gia tri. nho nhat da.t ta.i k = 4 (
L
u.ng vo.i 50 = 30 + 20) nen du.`o.ng di ngan nhat do.
.
.
`an tu. wk4 ta.o
d`ai 50 t`
u v1 den v6 ket th
uc vo i cung (v4 , v6 ) do. d`ai 20. Cuoi c`
ung, cac ph
th`anh vector co.t
(30, 40, 50, 0, 30, 20, , , ),
`on ta.i cung
v`a gia tri. nho nhat da.t ta.i k = 1 hoa.c k = 4 (
u.ng vo.i 30 + 0 hoa.c 0 + 30) nen t
.
.
.
.
u v1 den v7 l`a v1 , v4 , v6 , v7 (cac cung co
do. d`ai 30 t`
u v1 den v4 . Va.y du `o ng di ngan nhat t`
do. d`ai 30, 20, 20).
Do do thua.t toan Hedetniemi cho mo.t minh ho.a h`nh ho.c trong moi bu.o.c la.p, v`a su.
`oi du.o..c du.`o.ng di ngan nhat. Nhu. va.y, ch
`an them
du.ng cac ma tra.n co the phu.c h
ung ta c
.
.
.
.
mo.t ma tra.n P lu u tr
u thong tin cua cac du `o ng di ngan nhat. Ma tra.n n`ay se du.o..c ca.p
nha.t trong moi bu.o.c la.p khi tnh W k t`
u. W k1 .
92

http://www.ebook.edu.vn

3.3.2

Thu
a.t to
an Floyd (tru.`
o.ng ho..p ma tr
a.n tro.ng lu.o..ng tu`
yy
)

`an d`au tien bo.i Floyd [25] v`a du.o..c l`am mi.n ho.n bo.i
Thua.t toan du.o.i day du.o..c du.a ra l
Murchland [46].
Thu
a.t to
an Floyd
- a.t k := 0.
1. [Kho.i ta.o] D
2. k := k + 1.
3. [Bu.o.c la.p] Vo.i mo.i i 6= k sao cho wik 6= v`a vo.i mo.i j 6= k sao cho wkj 6= , thu..c
hie.n phep gan
wij := min{wij , (wik + wkj )}.
(3.3)
- i
`eu kie.n ket th
`on ta.i ch so i sao cho wii < 0 th` t
`on ta.i ma.ch vo.i do.
4. [D
uc] (a) Neu t
d`ai am ch
u.a dnh vi . B`ai toan vo nghie.m; thua.t toan d`
u.ng.
(b) Neu wii 0 vo.i mo.i i = 1, 2, . . . , n, v`a k = n, b`ai toan co l`o.i giai: ma tra.n wij cho
do. d`ai du.`o.ng di ngan nhat t`
u. vi den vj . Thua.t toan d`
u.ng.
(c) Neu wii 0 vo.i mo.i i = 1, 2, . . . , n, nhu.ng k < n, chuyen sang Bu.o.c 2.
ng dan cua thua.t toan Floyd l`a ho`an to`an do.n gian [35], [25] v`a
Ch
u.ng minh tnh du
.
.
d`anh cho ngu `o i do.c. Phep toan co. ban cua Phu.o.ng tr`nh 3.3 trong thua.t toan n`ay go.i l`a
`eu u
phep toan bo. ba v`a co nhi
.ng du.ng trong nh
u.ng b`ai toan tu.o.ng tu.. b`ai toan t`m du.`o.ng
di ngan nhat (xem [14], [30]).
Cac du.`o.ng di ngan nhat co the nha.n du.o..c d`ong th`o.i c`
ung vo.i cac do. d`ai du.`o.ng di
ngan nhat b`a ng cach su. du.ng quan he. de. qui tu.o.ng tu.. Phu.o.ng tr`nh 3.2. Ba` ng cach ap
du.ng co. che cua Hu [35] de lu.u gi
u. thong tin cac du.`o.ng di ngan nhat c`
ung vo.i do. d`ai cua
.
no. Cu. the l`a du a v`ao ma tra.n vuong cap n : P := [ij ]; v`a bien doi no d`ong th`o.i vo.i vie.c
`an tu. ij cua ma tra.n P se ch ra dnh di tru.o.c vj trong du.`o.ng di
bien doi ma tra.n W. Ph
.
ngan nhat t`
u vi den vj ; o. bu.o.c d`au tien ta gan cho ma tra.n P cac gia tri. d`au l`a ij := vi
vo.i mo.i dnh vi v`a vj .
C`
ung vo.i vie.c bien doi ma tra.n W theo Phu.o.ng tr`nh 3.3 trong Bu.o.c 3, ta bien doi
P theo quy tac
(
kj
neu (wik + wkj ) < wij ,
ij :=
ij
neu ngu.o..c la.i.
Ket th
uc thua.t toan, ma tra.n P thu du.o..c se gi
up cho ta vie.c t`m cac du.`o.ng di ngan nhat.
u.a hai dnh vi v`a vj l`a
Chang ha.n du.`o.ng di ngan nhat gi
vi , v , . . . , v , v , v , v j
93

http://www.ebook.edu.vn

trong do v = ij , v = i , v = i , ..., cho den khi vi = i .


`an ch
C
uy
o. day l`a neu tat ca cac gia tri. wii du.o..c kho.i ta.o b`a ng (thay cho ba` ng
0) l
uc xuat phat thua.t toan, th` cac gia tri. cuoi c`
ung cua wii l`a do. d`ai cua ma.ch ngan nhat
.

xua t phat t`
u dnh vi . Ngo`ai ra c
ung co the de d`ang xac di.nh ma.ch co do. d`ai am khi wii < 0
du..a v`ao ma tra.n du.`o.ng di P.
Thu tu.c Floyd() sau minh ho.a thua.t toan da tr`nh b`ay.
void Floyd()
{
byte i, j, k;
AdjPointer Tempt;
byte Pred[MAXVERTICES][MAXVERTICES];
int Weight[MAXVERTICES][MAXVERTICES], NewLabel;
byte Start, Terminal;
for (i = 1; i <= NumVertices; i++)
{
for (j = 1; j <= NumVertices; j++)
{
Weight[i][j] = +INFTY;
Pred[i][j] = i;
}
Weight[i][i] = 0;
}
for (i = 1; i <= NumVertices; i++)
{
Tempt = V_out[i]->Next;
while (Tempt != NULL)
{
Weight[i][Tempt->Vertex] = (long)Tempt->Length;
Tempt = Tempt->Next;
}
}
for (k = 1; k <= NumVertices; k++)
{
for (i = 1; i <= NumVertices; i++)
{
if ((i != k) && (Weight[i][k] < +INFTY))
94

http://www.ebook.edu.vn

for (j = 1; j <= NumVertices; j++)


if ((j != k) && (Weight[k][j] < +INFTY))
{
NewLabel = Weight[i][k] + Weight[k][j];
if (Weight[i][j] > NewLabel)
{
Weight[i][j] = NewLabel;
Pred[i][j] = Pred[k][j];
}
}
if (Weight[i][i] < 0)
{
printf("Ton tai mach do dai am qua dinh %d", i);
printf(" %6d ", Weight[i][i]);
return;
}
}
}
// Vi du minh hoa
Start = 1;
Terminal = 3;
if (Weight[Start][Terminal] < +INFTY)
{
printf("Ton tai duong di tu %d", Start);
printf(" den %d", Terminal);
printf("\nDuong di qua cac dinh:");
i = Terminal;
while (i != Start)
{
printf("%3d ", i);
i = Pred[Start][i];
}
printf("%3d ", Start);
printf("\nTrong luong la %3d ", Weight[Start][Terminal]);
}
else
printf("\n Khong ton tai duong di tu %d den %d", Start, Terminal);
}

95

http://www.ebook.edu.vn

3.4

Ph
at hi
e.n ma.ch c
od

o. d`
ai
am

Van d`e phat hie.n cac ma.ch co do. d`ai am trong mo.t d`o thi. tong quat l`a quan tro.ng khong
nh
u.ng trong chnh b`ai toan t`m du.`o.ng di ngan nhat m`a c`on l`a mo.t bu.o.c co. ban trong
`an 3.4.1 v`a [14]).
nh
u.ng thua.t toan khac (xem Ph
u.a cac ca.p dnh co the phat
Ta biet ra` ng Thua.t toan Floyd t`m du.`o.ng di ngan nhat gi
hie.n cac ma.ch do. d`ai am trong d`o thi.. Ho.n n
u.a, neu d`o thi. ch
u.a mo.t dnh s m`a co the den
.
tat ca cac dnh khac t`
u do, th` co the ap du.ng Thua.t toan Ford-Moore-Bellman (t`m tat ca
.
.

cac du `o ng di ngan nhat xuat phat t`


u. dnh s) de phat hie.n cac ma.ch co do. d`ai am nhu. da
.
.
.
`an n`ay. Neu t
`on ta.i dnh khong the den du.o..c t`
thu. c hie.n trong Bu o c 3 cua ph
u. s (chang
ha.n, khi G l`a d`o thi. vo hu.o.ng khong lien thong) th` Thua.t toan Ford-Moore-Bellman se ket
th
uc v`a ch cac dnh co the den du.o..c t`
u. s co nhan h
u.u ha.n, cac dnh khac khong den du.o..c
.
.
.
.
`on ta.i cac ma.ch co do. d`ai am trong
t`
u s co nhan ba` ng . Trong tru `o ng ho. p n`ay co the t
.
.
.
`an lien thong khong ch
`eu u
th`anh ph
u a s v`a khong du o. c phat hie.n. Tuy nhien, nhi
.ng du.ng
.
.
.
.
`an kiem tra co ma.ch do. d`ai am hay khong, d`o thi. du o. c xet co dnh s den du o. c tat ca cac
c
`on ta.i cua ma.ch do.
dnh khac, v`a do do vo.i nh
u.ng tru.`o.ng ho..p nhu. va.y, de xac d.inh su.. t
d`ai am, Thua.t toan Ford-Moore-Bellman se cho phep tnh toan hie.u qua ho.n Thua.t toan
Floyd.
Cac nguyen tac ket th
uc cua Thua.t toan Ford-Moore-Bellman du.o..c tr`nh b`ay de tnh
u. s khi khong co ma.ch do. d`ai am. Cac nguyen tac
toan t nhat cac du.`o.ng di ngan nhat t`
n`ay co the cai bien de phat hie.n ma.ch do. d`ai am so.m ho.n nhu. sau.
Sau khi gan la.i nhan cua dnh vi t`
u. mo.t dnh vj theo Phu.o.ng tr`nh 3.2 ta kiem tra
.
.
dnh vi co thuo.c du `o ng di ngan nhat hie.n h`anh (m`a co the suy t`
u. cac nhan hie.n h`anh )
`eu
t`
u. s den vj hay khong. Neu du
ng, th` dnh vj da du.o..c gan nhan thong qua vi v`a di
k
k
.
.

n`ay dan den L (vj ) + w(vj , vi ) < L (vi ); do do mo.t phan cua du `o ng di ngan nha t hie.n
h`anh t`
u. vi den vj co.ng them cung (vj , vi ) se ta.o th`anh ma.ch co do. d`ai am v`a thua.t toan
ket th
uc. Neu ma.t khac, nhan cua dnh vi hoa.c khong thay doi bo.i Phu.o.ng tr`nh 3.2, hoa.c
nha.n nhan mo.i t`
u. mo.t dnh vj nhu.ng vi khong thuo.c du.`o.ng di ngan nhat t`
u. s den vj , th`
`an ch
uy
r`a ng, cai tien tren chnh l`a giam nh
u.ng
thua.t toan tiep tu.c Bu.o.c 3 nhu. tru.o.c. C
`an thiet trong Thua.t toan Ford-Moore-Bellman, do mo.t ma.ch co do. d`ai am
du. th`
u.a khong c
.
.
`an do..i ket th
uc thu tu.c.
du o. c xac d.inh ngay khi no du.o..c ta.o ra v`a khong c

3.4.1

`o thi. c
Ma.ch t
oi u.u trong d

o hai tro.ng lu.o..ng

`eu lnh vu..c lien quan den mo.t d`o thi. co hu.o.ng m`a moi cung
Mo.t van d`e nay sinh trong nhi
(vi , vj ) du.o..c gan hai tro.ng lu.o..ng: wij v`a bij . B`ai toan l`a t`m mo.t ma.ch m`a cu..c tieu (hoa.c
96

http://www.ebook.edu.vn

cu..c da.i) h`am mu.c tieu

wij
.
(vi ,vj ) bij

(vi ,vj )

z() := P

Chang ha.n, xet h`anh tr`nh cua mo.t con t`au hay mo.t may bay tren ma.ng giao thong
`an thiet de di chuyen tren cung
v`a gia su. ra` ng wij l`a lo..i nhua.n v`a bij l`a th`o.i gian c
.
(vi , vj ). B`ai toan da. t ra l`a t`m h`anh tr`nh de toi da lo. i nhua.n vo.i th`o.i gian nho nhat.
Cac van d`e khac co the phat bieu da.ng b`ai toan t`m cac ma.ch toi u.u trong d`o thi.
co hai tro.ng lu.o..ng: La.p li.ch de tnh toan song song, toi u.u da mu.c tieu trong xu. l
y cong
nghie.p.
B`ai toan t`m mo.t ma.ch trong d`o thi. co hai tro.ng lu.o..ng de cu..c tieu h`am mu.c tieu
z() co the giai quyet nh`o. thua.t toan phat hie.n cac ma.ch co do. d`ai am nhu. sau. Gia su.
ra` ng cac tro.ng lu.o..ng wij v`a bij l`a cac so thu..c tu`
yy
(du.o.ng, am hoa.c b`a ng khong) nhu.ng
P
`au het cac t`nh
thoa man r`ang buo.c (vi ,vj ) bij > 0, vo.i mo.i ma.ch trong G. (Trong h
.
.
huong, chang ha.n cac van d`e neu tren, wij R nhu ng bij 0 vo i mo.i i v`a j).
Ch
ung ta cho.n mo.t gia tri. thu. z k doi vo.i h`am mu.c tieu z() v`a xet d`o thi. co tro.ng
lu.o..ng
k
wij
= wij z k bij .
k
Vo.i ma tra.n tro.ng lu.o..ng wij
mo.i, xet b`ai toan du.`o.ng di ngan nhat tren G. Co ba tru.`o.ng
ho..p xay ra:
`on ta.i ma.ch co do. d`ai am sao cho
Tru.`o.ng ho..p A. T
X
(vi ,vj

k
wij
< 0.

`on ta.i ma.ch co do. d`ai am v`a


Tru.`o.ng ho..p B. Khong t
X

k
wij
>0

(vi ,vj )

vo.i mo.i ma.ch .


`on ta.i ma.ch co do. d`ai b`a ng khong (nhu.ng khong co ma.ch do. d`ai am);
Tru.`o.ng ho..p C. T
t
u.c l`a
X
k
=0
wij
(vi ,vj )0

vo.i ma.ch 0 n`ao do.


97

http://www.ebook.edu.vn

Trong Tru.`o.ng ho..p A ch


ung ta co the noi r`a ng z (gia tri. cu..c tieu cua z) nho ho.n z k v`
X
(vi ,vj

k
wij

ch co the du
ng neu

(vi ,vj

wij z k

(vi ,vj

bij < 0

wij
< zk
b
1
ij
(vi ,vj )

(vi ,vj )1

m`a hien nhien ch ra r`a ng z < z k .


Tu.o.ng tu.., trong Tru.`o.ng ho..p B ta co the noi r`a ng z > z k ; v`a trong Tru.`o.ng ho..p C
th` z = z k .
Do do thua.t toan t`m kiem nhi. phan de giai quyet b`ai toan nhu. sau: Kho.i d`au vo.i
gia tri. thu. z 1 ; neu no qua lo.n (t
u.c l`a Tru.`o.ng ho..p A) thu. vo.i z 2 < z 1 ; neu no qua nho (t
u.c
l`a Tru.`o.ng ho..p B) thu. vo.i z 2 > z 1 . Khi da co cac ca.n tren v`a du.o.i (zu v`a zl tu.o.ng u
.ng) ta
k
k

co the xac d.inh z b`a ng cach thu. z = (zu + zl )/2 v`a thay zu b`a ng z neu xay ra Tru.`o.ng
ho..p A, hoa.c thay zl b`a ng z k neu xay ra Tru.`o.ng ho..p B. Do so cac phep thu. t le. vo.i 1/,
`an thu. (xac d.inh ma.ch do. d`ai am hoa.c
trong do 0 < 1 l`a sai so cho tru.o.c, v`a do moi l
3
.
.
tnh toan ma tra.n tro.ng lu o. ng) do`i hoi n phep toan, nen t`m nghie.m cua b`ai toan tren do`i
hoi O[n3 log 1/] phep toan.

98

http://www.ebook.edu.vn

Chu.o.ng 4

CAY
4.1

`au
Mo. d

Cay l`a mo.t trong nh


u.ng khai nie.m quan tro.ng nhat cua l
y thuyet d`o thi., v`a thu.`o.ng xuat
hie.n trong nh
u.ng lanh vu..c t co lien quan den d`o thi..
Trong chu.o.ng n`ay, tru.o.c het se nghien c
u.u cay Huffman v`a nh
u.ng u
.ng du.ng cua no
trong vie.c nen d
u. lie.u. Ke tiep ch
ung ta xet tr`nh b`ay cac thua.t toan t`m cay bao tr`
um, cay
.
.
.
.
.

bao tr`
um co tro.ng lu o. ng nho nha t khi cac ca.nh cua do thi. du o. c gan vo i cac chi ph (tro.ng
`eu u
lu.o..ng). Cay bao tr`
um nho nhat cua d`o thi. co nhi
.ng du.ng trong nh
u.ng tru.`o.ng ho..p cac
du.`o.ng dan (ong dan ga, day dan trong ma.ng die.n, v.v) du.o..c su. du.ng de noi n diem vo.i
nhau theo cach tot nhat: tong khoang cach cua cac du.`o.ng dan l`a nho nhat. Neu n diem
du.o..c noi vo.i nhau tren mo.t ma.t phang, ta co the bieu dien bo.i mo.t d`o thi. d`ay du trong do
cac chi ph ca.nh l`a khoang cach gi
u.a hai diem tu.o.ng u
.ng. Khi do cay bao tr`
um vo.i tro.ng
.
.
.
lu o. ng nho nhat se cho ma.ng giao thong vo i chi ph t nhat. Neu co the noi them ngo`ai n
diem cho phep, ta co the tha.m ch xay du..ng du.o..c ma.ng vo.i ch ph re ho.n v`a xac di.nh no
`an cuoi chu.o.ng.
chnh l`a giai quyet b`ai toan Steiner. B`ai toan sau n`ay se du.o..c d`e ca.p o. ph
- .inh ngha 4.1.1 Cac di.nh ngha sau cua cay (vo hu.o.ng) l`a tu.o.ng du.o.ng:
D
- `o thi. lien thong co n dnh v`a (n 1) ca.nh.
1. D
- `o thi. lien thong khong co chu tr`nh.
2. D
- `o thi. m`a mo.i ca.p dnh du.o..c noi vo.i nhau bo.i mo.t v`a ch mo.t day chuy
`en so. cap.
3. D
- `o thi. lien thong v`a khi bo.t mo.t ca.nh bat k`
4. D
y th` mat tnh lien thong.
99

http://www.ebook.edu.vn

H`nh 4.1 minh ho.a cay co bay dnh v`a sau ca.nh.
v2

...
.....
.....
.....
.....
.
.
.
....
.....
.....
.....
.....
.
.
.
.
.
.....
...
.....
.....
.....
.....
.....
....
.
.
.
.
.
.
.
.
.
.
.....
.....
.....
.....
.....
.....
.....
.....
............
.........
.
... .........
.... .........
... .........
.......
... .......
...
.......
.....
...
...
.......
.....
...
.
.......
.
.....
.......
...
.....
....... ....
...
.....
.
.
.
.
.
.
.
...
........
....
.
...
...
...
...
...
...
...
...
...

v3

v1

v4

v6

v5

v7

`e cay.
H`nh 4.1: Mo.t v du. v

`an d`au tien bo.i


`e cay nhu. mo.t thu..c the cua toan ho.c du.o..c du.a ra l
Khai nie.m v
Kirchhoff [37] khi lien he. vo.i d.inh ngha cac ma.ch co. ban du.o..c su. du.ng trong phan tch cac
ma.ng die.n. Khoang 10 nam sau do, mo.t cach do. c la.p, Cayley [11] da phat hie.n la.i cac cay
v`a nh
u.ng tch chat cua no khi nghien c
u.u cac tnh chat hoa ho.c cua cac chat d`ong phan
cua hydrocarbon.
Cay co goc (c`on go.i l`a cay gia pha) du.o..c d.inh ngha tu.o.ng tu.. nhu. sau:
- i.nh ngha 4.1.2 Cay co goc T l`a d`o thi. co hu.o.ng khong ma.ch m`a mo.i dnh, ngoa.i tr`
D
u.
mo.t dnh (chang ha.n v1 ), co ba.c trong ba` ng mo.t: ba.c trong cua dnh v1 (go.i l`a goc cua cay)
`on ta.i duy nhat mo.t du.`o.ng di t`
ba` ng khong; noi cach khac, mo.i dnh v T t
u. goc den v.
H`nh 4.2 minh ho.a mo.t d`o thi. l`a cay co goc vo.i dnh v1 l`a goc. T`
u. d.inh ngha suy ra
ra` ng cay co goc n dnh co (n 1) cung v`a l`a d`o thi. lien thong (khi bo qua hu.o.ng tren cac
cung).
`an ch
C
uy
ra` ng, co the d.inh hu.o.ng tren mo.t cay (vo hu.o.ng) sao cho d`o thi. thu du.o..c
`an cho.n mo.t dnh tu`
l`a cay co goc: Ta ch c
yy
, chang ha.n v1 , l`am goc v`a d.inh hu.o.ng cac
.
`en t`
cung theo day chuy
u v1 den cac dnh treo. Ngu.o..c la.i, neu bo qua cac hu.o.ng tren cay
co goc ta thu du.o..c mo.t cay.
Cay gia pha m`a trong do moi ngu.`o.i da`n ong bieu thi. mo.t dnh v`a cac cung du.o..c ve
.
t`
u cac cha den cac con cua ho. l`a mo.t v du. quen thuo.c cua cay co goc, goc cua cay l`a ngu.`o.i
d`au tien trong d`ong ho. m`a co the xac d.inh du.o..c.
100

http://www.ebook.edu.vn

v1

......
..... .........
.....
.....
.....
.....
.
.
.
.
.....
.....
.....
.....
.....
.
.
.
.
.....
....
.
.
.
.
.......
..............
.
.
.
.....
...
.
.
.
.....
.
...
.
.....
.
.
.
.
.....
.....
.....
....
.
.
.....
.
.
...
.....
.
.
.
.
.....
...
.
.
.
.....
.
...
.
....
.
.
.
.........
.
.
.........
.
.
... .......
..... .........
.
.
.
.
.
.
.
.
......
......
...
.
.
............
.
.
.
.
.
.
.
.
........
...........
...
.....
.....
......
......
.....
.....
.....
.....
.....
.....
.....
.....
.
.
.
.
.
.
.
.....
.
.
.....
...
....
.
.....
.
.
.
.
.
.
.
.
..
.
........
.
.
.
.
... .......
.
.
.
.
......
...
.
.
.
.
.
.
.
.
.
.........
........
.....
.....
.....
.....
.....
.....
.....
....
.
.
.....
.
.
........
.
.
.
.
... .......
.
.
.
.
..... .
...
.
.
.
.
.
.
.
.
.
.........
.......
.....
.....
.....
.....
.....
.....
.....
.....
.
.
.
.....
.
.........
.
.
.
... ......
.
.
.
.
.....
...
.
.
.
.
.
.
.
.
...........
........
.....
.....
.....
.....
.....
.....
.....
.....
.
.
.....
.
...

v2

v4

v3

v5

v6

v8

v10

v12

v7

v9

v11

v13

`e cay co goc.
H`nh 4.2: Mo.t v du. v

4.2

C
ay Huffman

`an n`ay ch
Tien tr`nh gan day cac bit cho cac k
y hie.u go.i l`a ma hoa. Trong ph
ung ta mo.t ta

mo.t thua.t toan ma hoa ra t quen thuo.c-thua.t toan ma hoa Huffman.

4.2.1

C
ac b
o. m
a t
ot

`e ma hoa co ngha l`a gan day cac bit cho cac ph


`an tu. cua mo.t bang ch
u. cai.
Khi ta noi v
`an tu. cua ch
Ta.p cac chuoi nhi. phan go.i l`a bo. ma v`a cac ph
ung go.i l`a t`
u. ma. Mo.t bang
.
.
.
ch
u cai l`a mo.t ta.p ho. p cac k
y hie.u, go.i l`a cac k
y tu. . Chang ha.n, bang ch
u. cai su. du.ng
`au het cac sach (tieng Anh) g
`om 26 k
trong h
y tu.. thu.`o.ng, 26 k
y tu.. hoa, v`a cac dau ngat cau
.
.
(nhu dau phay). Ma ASCII (viet tat cua cac ch
u cai d`au tien cua chuoi American Standard
.
Code for Information Interchange cua k
y tu. A l`a 01000001, cua k
y tu.. a l`a 01100001 v`a k
y
.
.
.

uy
ra ng trong ma ASCII so cac bit su du.ng de bieu dien cac k
tu. , l`a 0011010. Ch
y tu. l`a
ba` ng nhau. Ma nhu. va.y go.i l`a ma co do. d`ai co d.inh. Neu ta muon giam so cac bit d`oi hoi
`an cac chuoi bit bieu dien k
de bieu dien cac thong bao khac nhau, ta c
y tu.. co do. d`ai (noi
.
.
chung) khong ba` ng nhau. Neu bieu dien cac bit d`ai ho n cho cac k
y tu. thu.`o.ng xuyen xuat
`e trung b`nh, giam so bit bieu dien cac k
ung ta co the, v
y hie.u. Chang
hie.n v`a ngu.o..c la.i, ch
.
.
.
.

ha.n, ma Morse [31] su du.ng cac t`


u ma ngan ho n cho cac k
y tu. xua t hie.n thu.`o.ng xuyen:
ma cua cua a l`a , cua e l`a , trong khi cua z l`a , q l`a , j l`a .
Tuy nhien do. d`ai trung b`nh cua ma khong phai l`a tieu chuan quan tro.ng khi thiet ke
101

http://www.ebook.edu.vn

`om bon k
mo.t bo. ma tot. Xet v du. sau. Gia su. bang ch
u. cai g
y tu.. a1 , a2 , a3 , a4 vo.i cac
1
1
1
.
.
.
xac suat xuat hie.n tu o ng u
ng l`a P (a1 ) = 2 , P (a2 ) = 4 , P (a3 ) = 8 , P (a4 ) = 81 . Entropy cua
`on n`ay l`a 1.75 bit/k
`e entropy). Xet cac bo. ma
ma ngu
y hie.u (xem [31] de co khai nie.m v
.
`

trong nguon n`ay cho bo i bang sau

Cac k
y tu..
a1

Ma C1

Ma C2

a2

01

10

a3

11

001

100

a4

01

00

000

1000

- o. d`ai trung b`nh


D

1.125

1.125

1.75

1.875

Ma C3

Ma C4

- o. d`ai trung b`nh l cua moi ma xac di.nh bo.i


D
l=

4
X

P (ai )n(ai ) (bit/k


y hie.u),

i=1

trong do n(ai ) l`a so cac bit cua t`


u. ma ai .
`an phai co kha
Du..a tren do. d`ai trung b`nh, ma C1 l`a tot nhat. Tuy nhien, cac ma c
.
.
.
.
`en thong tin sao cho ngu `o i nha.n co the hieu du o. c ro r`ang. Hien nhien ma C1
nang truy
khong co tnh chat n`ay: V` ca hai k
y hie.u a1 v`a a2 d`eu du.o..c gan l`a 1 nen khi nha.n du.o..c
.
.
thong tin l`a 1, ngu `o i nha.n khong the phan bie.t do l`a k
y hie.u a1 hay a2 . Ch
ung ta muon
.
.
.
moi k
y hie.u du o. c gan duy nhat mo.t t`
u ma.
Ma C2 co cac k
y tu.. du.o..c gan cac chuoi bit khac nhau cho cac k
y tu... Tuy nhien, gia
.
.
.
.
.
.
su ma hoa day a2 a1 a1 du o. c 011 v`a gu i di chuoi bit n`ay. Ngu `o i nha.n chuoi 011 co mo.t so
- i
`eu n`ay co ngha l`a mo.t day du.o..c ma hoa vo.i bo. ma C2
cach giai ma: a2 a1 a1 hoa.c a2 a3 . D
.
.
th` day n`ay co the du o. c giai ma khong tr`
ung vo.i thong bao ban d`au. Noi chung, day khong
`eu ch
phai l`a di
ung ta mong muon khi thiet ke cac bo. ma. Ch
ung ta muon co tnh chat giai
.
.

ma duy nha t; t
u c l`a mo.i day cac t`
u ma ch co duy nha t mo.t cach giai ma. Co the ch
u.ng
minh cac ma C3 v`a C4 thoa man tnh chat n`ay.
Ma.c d`
u vie.c kiem tra tnh duy nhat khi giai ma l`a kho, ta co the ch
u.ng minh tnh
.
.
u ma n`ao trong ma C3
chat n`ay cho bo. ma C3 du. a tren thuo.c tnh cua bo. ma: khong co t`
`en to cua t`
`en to. Mo.t cach do.n gian de kiem
l`a ti
u. ma khac. Bo. ma nhu. va.y go.i l`a ma ti
`en to hay khong ta ve cay nhi. phan (moi dnh co ba.c 2) tu.o.ng
tra mo.t bo. ma co phai l`a ti
.
.
.
.
u. mo.t n
u
ng vo i bo. ma. Cay du o. c ve xuat phat t`
ut do.n (n
ut goc) v`a moi n
ut trong co ba.c
.
.
.
.
ngo`ai nho ho n hoa.c b`a ng hai. Mo.t trong hai nhanh con tu o ng u
ng bit 1 v`a nhanh c`on la.i
102

http://www.ebook.edu.vn

- e thua.t tie.n, ta quy u.o.c nhanh con ben phai tu.o.ng u


tu.o.ng u
.ng bit 0. D
.ng 0 v`a nhanh con
.
.
.
.
.
.
ben trai tu o ng u
ng 1. Theo cach n`ay, cac cay nhi. phan tu o ng u
ng cac ma C2 , C3 v`a C4 cho
.
trong H`nh 4.3. (De do n gian, ta se khong ve cac m
ui ten trong cac cay nhi. phan).

..
.....
.....

1......................

.
..........
..... .........
.....
.....
.....
.....
.
.
.
.
.
.....
.....
.....
.....
.....
.
.
.
.....
...
.
.
.
.....
.
...
.
.....
.
.
.
.....
...
.
.
.
.
.....
...
.
.
.....
.
.
.....
....
.
.
.
.....
...
.
.
.
.....
.
...
.
.....
.
.
.
.....
....
.
.
.
.....
.
.....

1 a1

a2 0

a3

a4

Ma C2

..
..........
..... .........
.....
.....
.....
.....
.
.
.
.
.....
.....
.....
.....
.....
.
.
.
.
.....
....
.
.
....
.
....
.......
..... .........
.....
.....
.
.
.
.
.....
...
.
.
.
.....
.
.....
.....
.....
.....
.
.
.
.
.....
...
.
.
.....
.
.
.
.....
........
..... .........
....
.....
.
.
.
.
.....
...
.
.
.
.....
.
.....
.....
.....
.....
.
.
.
.
.....
....
.
.....
.
.
...
.....

a1

a2

.
.....
.....

....................
a1 ................0

.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....

a2 0

a3

a3 0

a4

a4

Ma C3

Ma C4

H`nh 4.3:
Ch
uy
r`a ng ngo`ai n
ut goc, cay nhi. phan co hai loa.i n
ut: cac n
ut la co ba.c ngo`ai ba` ng
`en to, cac t`
khong; v`a cac n
ut trong co ba.c ngo`ai khac khong. Trong bo. ma ti
u. ma ch tu.o.ng
`en to do t
`on ta.i t`
u
.ng cac n
ut la. Ma C4 khong phai l`a ma ti
u. ma tu.o.ng u
.ng n
ut trong.
.
.
.
.
Duye.t cay t`
u goc den cac n
ut la cho ta bieu dien chuoi bit tu o ng u
ng k
y hie.u. Moi nhanh
dong gop mo.t bit v`ao t`
u. ma cua no: bit 1 cho nhanh trai v`a bit 0 cho nhanh phai.
`en to luon luon du.o..c giai ma duy nhat nhu.ng ngu.o..c la.i khong du
Ma ti
ng (chang ha.n
.
ma C4 ). Tuy nhien co the ch
u ng minh ra` ng bo. ma co the giai ma duy nhat tu.o.ng du.o.ng
`en to theo ngha: so trung b`nh cac bit bieu dien cac k
vo.i ma ti
y hie.u b`a ng nhau.

4.2.2

M
a Huffman

`en to v`a toi u.u vo.i cac xac xuat cho tru.o.c. Phu.o.ng phap xay du..ng
Ma Huffman l`a ma ti
.
ma Huffman du. a tren hai quan sat sau:
`an so
1. Trong mo.t bo. ma tot u.u, cac k
y hie.u xuat hie.n thu.`o.ng xuyen (co xac suat hay t
.
.
.

xua t hie.n lo n) se co cac t`


u ma ngan ho n cac k
y hie.u t xua t hie.n.
y hie.u xuat hie.n t nhat se co cac t`
u. ma c`
ung do. d`ai.
2. Trong mo.t bo. ma tot u.u, hai k
- e xay du..ng ma Huffman, ch
ung ta co the bieu dien qua cay nhi. phan m`a cac n
ut la
D
.
.
.
.
tu o ng u
ng cac k
y hie.u. Duye.t cay nhi. phan se cho ta cac t`
u ma cua bo. ma: xuat phat t`
u.
103

http://www.ebook.edu.vn

`an qua nhanh trai v`a bit 0 moi l


`an
n
ut goc v`a di den cac n
ut la, them bit 1 v`ao t`
u. ma moi l
.
.
.
.
qua nhanh phai. Vo i cay trong H`nh 4.4, ta co bieu dien cac k
y tu. qua cac t`
u ma nhu sau:
K
y tu..
A

Ma hoa
1

00

010

0110

0111

...
..... .....
..... .........
.....
.....
.....
.....
...
.....
.
.
.
.
.....
....
.
.
.....
.
...
.........
..... ........
.....
.....
.
.
.
.....
..
.....
.....
.....
.....
.....
.....
.
.
.
.
.....
...
.
.
.....
.
.
.....
..
.
.
.
.
.... ........
.
.
.
.....
...
.
.
.
.
.
.....
...
.
.
.
.
.
.
.....
.....
.....
.....
.....
.....
.....
.....
.....
........
.
.
.
.
... .......
.
.
.
.
.....
...
.
.
.
.
.
.....
...
.
.
.
.
.
.
.....
.
.....
.....
.....
.....
.....
.....
.....
.....
..
.....

1.....................

H`nh 4.4:
- e giai ma mo.t chuoi bit, ch
D
ung ta bat d`au t`
u. goc v`a di chuyen do.c theo cay cho den
.
khi ga.p k
y tu. : di theo nhanh trai neu do l`a bit 1, ngu.o..c la.i di theo nhanh phai. Chang
ha.n, chuoi bit
01010111
.
.
.
.
.
tu o ng u
ng t`
u RAT. Vo i mo.t cay xac d.inh ma Huffman nhu. H`nh 4.4, chuoi bit bat k`
y du.o..c
giai ma duy nhat ma.c d`
u cac k
y tu.. tu.o.ng u
.ng vo.i nh
u.ng chuoi bit co do. d`ai thay doi.
`an so xuat hie.n cua
Huffman da ch ra thua.t toan xay du..ng ma Huffman t`
u. bang cac t
.
.
cac k
y tu. nhu sau:
Thu
a.t to
an x
ay du..ng m
a Huffman
`an ma hoa s t`
y tu.. vo.i n 2.
Xet chuoi c
u. n k
`an so fi , i = 1, 2, . . . , n, xuat hie.n cua cac k
1. Xay du..ng day t
y tu.. trong chuoi s.
104

http://www.ebook.edu.vn

2. Neu n = 2 (gia su. f1 f2 ), xuat cay nhu. trong H`nh 4.5 v`a d`
u.ng.

...
..... .....
..... .........
.....
.....
.....
.....
.
.
.
.
.....
.....
.....
.....
.....
.
.
.
.
.....
...
.
.
.
.
.....
...
.
.....
.
.
.
.....
....
.
.
.
.....
...
.
.
.....
.
.
..
.....
.....

f1

f2

H`nh 4.5:
`an so nho nhat v`a f f 0 . Ta.o mo.t danh sach t
`an so mo.i b`a ng
3. Gia su. f v`a f 0 l`a hai t
`an so mo.i de ta.o
cach thay f v`a f 0 bo.i f + f 0 . Go.i thua.t toan n`ay su. du.ng danh sach t
cay T 0 . Thay dnh du.o..c gan nhan f + f 0 de nha.n du.o..c cay T trong H`nh 4.6. Xuat T.

......
..... .........
.....
.....
.....
.....
.....
.....
.
.
.
.....
.....
.....
.....
.
.....
.
.
.
.....
...
.
.
.
.
.....
...
.
.
.....
.
.
...
.....
.
.
.
.
.....
...
.
.
.
.....
.
..
...
.....

f0

H`nh 4.6:

`an so
V du. 4.2.1 Cho bang t
K
y tu..
A

`an so
t

12

Khi do cay Huffman tu.o.ng u


.ng cho trong H`nh 4.7.

4.3

C
ay bao tr`
um

ung ta se
Ch
ung ta da nghien c
u.u rieng bie.t cac tnh chat cua mo.t cay, trong mu.c n`ay ch
.
nghien c
u u cay khi gan no nhu. mo.t d`o thi. con cua mo.t d`o thi. khac. Ch
ung ta biet r`a ng
cho d`o thi. co m ca.nh, co the xay du..ng du.o..c 2m d`o thi. con khac nhau; ro r`ang l`a trong so
105

http://www.ebook.edu.vn

.......
.... ........
.....
.....
.....
.....
.....
.....
.
.
.
.
.....
...
.
.
.....
.
.
...
.....
.
.
.
.
.....
....
.
.
.....
.
...
.
.....
.
.
.
.....
...
.
.
.
.
.....
...
.
.
.....
.
.
...
.....
.
.
.
.
.....
....
.
.
.....
.
...
.....
.
.
.
.
.....
...
.
.
.
...
.
.......
.
.
.
.
.........
... .......
.
.
..... .........
.
.
.....
...
.....
.....
.
.
.
.
.
.
.
.
.
.
.....
.....
..
..
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.
.
.
.
.
.
.
.
.....
.
.....
...
...
.
.
.....
.
.
.
.
.
.
.
.
....
..
..
......
.
.
.
.
.
.... ........
.
.
.
.....
...
.
.
.
.
.
.....
...
.
.
.
.
.
.
.....
.
.....
.....
.....
.....
.....
.....
.....
.....
....

2
A

3
B

7
C

8
D

12
E

H`nh 4.7:
do co mo.t v`ai d`o thi. con l`a mo.t cay. Ch
ung ta quan tam den mo.t loa.i cay da. c bie.t: cay
`
`e
bao tr`
um. Khai nie.m cay bao tr`
um lan d`au tien du.o..c su. du.ng v`a phat trien l
y thuyet v
.
.
.
.
.
-u
y ngu `o i D
c Kirchoff nam 1847. Kirchoff da su du.ng cay bao tr`
um nha` m
cay bo i nh`a va.t l
.
.
.
.

giai he. cac phu o ng tr`nh tuyen tnh de xac d.inh cu `o ng do. d`ong die.n trong moi nhanh v`a
xung quanh ma.ch cua mo.t ma.ng die.n.
- `o thi. trong H`nh 4.8(a) co cay bao tr`
V du. 4.3.1 D
um trong H`nh 4.8(b).
e

...........................................................................................
....
.....
.....
....
.
.
.
...
....
.....
.....
....
.
.
.
....
....
.....
....................................................................................................
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....

.................................................................................................
.... .....
... ..
..... ........
.... .
.....
.....
..... ....
.....
....
....
.
.
...
.
.....
....
.
...
.
.
.
.
.
...
.
.
.....
....
.....
.....
...
....
.
....
.
.
.
.
.
.
.
...
.
.
.....
..
.
...
.
.
.
.
.
...
.
.
.....
..
.
...
.
.
.
.
.
.
...
.
.
..... ....
..
.
.
.
.
.
...
.
.
.. .
.
..............................................................................................................
...
.....
.....
.
.
...
.
.. .....
.....
.
.
.
...
.
.....
.....
..
.
.
.
.
.
...
.....
.....
...
.
.....
.
.
.
.
...
.....
...
.....
.
.
.
.
...
.....
.....
..
.
.
.
.
.
.
...
.....
.....
...
.
.
.....
.
.
...
.....
...
.....
.
.
.
.
.
..... ....
.....
...
.
.
.
.
.. .
..... .....
...........................................................................................................

(a)

(b)
H`nh 4.8:

- i.nh ngha 4.3.2 Cay T du.o..c go.i l`a cay bao tr`
um cua d`o thi. lien thong G neu T l`a d`o
D
.
thi. con cua G v`a T ch
u a tat ca cac dnh cua G.
- i.nh l
- `o thi. G = (V, E) co d`o thi. bo. pha.n l`a mo.t cay neu v`a ch neu G lien
D
y 4.3.3 D
ung co the
thong. Noi cach khac, cho tru.o.c mo.t d`o thi. lien thong v`a co n dnh, bao gi`o. ta c
.
.
.

u a tat ca cac dnh cu a G (cay co n dnh).


bo di mo.t so ca.nh cu a G de du o. c mo.t cay ch
106

http://www.ebook.edu.vn

- i
`eu kie.n c
`an. Neu G lien thong th` ta thu. t`m xem co ca.nh n`ao m`a khi xoa
Ch
u.ng minh. D
di khong l`am cho d`o thi. mat tnh lien thong khong. Neu khong co mo.t ca.nh n`ao nhu. va.y
th` G l`a mo.t cay; neu co mo.t ca.nh nhu. va.y th` xoa no di, v`a ta la.i di t`m mo.t ca.nh mo.i de
xoa... Cho to.i khi khong the xoa mo.t ca.nh n`ao du.o..c n
u.a th` ta co mo.t cay m`a ta.p ho..p cac
dnh cua no du
ng ba` ng V.
- i
`eu kie.n du. Gia su. a, b l`a hai dnh trong G v`a do do thuo.c cay bao tr`
D
um T cua G. Khi
`on ta.i day chuy
`en trong T t`
do t
u. a den b. Suy ra c
ung thuo.c G. Va.y G lien thong. /
`eu ro.ng de xay du..ng cay bao tr`
Ch
ung ta se su. du.ng thua.t toan t`m kiem theo chi
um
cua d`o thi. lien thong.

4.3.1

`eu r
Thu
a.t to
an t`m ki
em theo chi
o.ng x
ac d
i.nh c
ay bao tr`
um

Trong thua.t toan n`ay, S k


y hie.u l`a mo.t day.
- `o thi. lien thong G := (V, E) vo.i cac dnh du.o..c danh so th
Nha.p: D
u. tu..
v1 , v 2 , . . . , v n .
Xuat: Cay bao tr`
um T.
- a.t S := [v1 ] v`a T l`a d`o thi. g
`om dnh v1 v`a khong co ca.nh. K
y hie.u v1 l`a
1. [Kho.i ta.o] D

dnh goc.
2. [Them ca.nh] Vo.i moi x S, theo th
u. tu.., them ca.nh (x, y) E v`a dnh y (theo th
u.
.
.
tu. ) v`ao T neu T (x, y) khong ta.o th`anh chu tr`nh. Neu khong co ca.nh nhu va.y,
d`
u.ng. T l`a cay bao tr`
um.
u. tu... Chuyen sang Bu.o.c 2.
3. [Ca.p nha.t S] Thay S bo.i con (trong T ) cua S theo th
- e t`m cay bao tr`
D
um cua d`o thi. lien thong ta c`on co the d`
ung thua.t toan t`m kiem
.
`
theo chieu sau (c`on go.i l`a quay lui) nhu sau:

4.3.2

`eu s
Thu
a.t to
an t`m ki
em theo chi
au x
ac d
i.nh c
ay bao tr`
um

- `o thi. lien thong G := (V, E) vo.i cac dnh du.o..c danh so th


u. tu..
Nha.p: D
v1 , v 2 , . . . , v n .
Xuat: Cay bao tr`
um T.
107

http://www.ebook.edu.vn

- a.t w := v1 v`a T l`a d`o thi. g


`om dnh v1 v`a khong co ca.nh. K
1. [Kho.i ta.o] D
y hie.u v1 l`a
dnh goc.
2. [Them ca.nh] Cho.n ca.nh (w, vk ) vo.i ch so k nho nhat sao cho vie.c them ca.nh n`ay v`ao
`on ta.i, chuyen sang Bu.o.c 3. Ngu.o..c la.i, them
T khong ta.o ra chu tr`nh. Neu khong t
ca.nh (w, vk ) v`a dnh vk v`ao T ; da. t w := vk v`a chuyen sang Bu.o.c 2.
3. [Ket th
uc?] Neu w = v1 , thua.t toan d`
u.ng, T l`a cay bao tr`
um.
- a.t x l`a cha cua w (trong T ); gan w := x v`a chuyen sang Bu.o.c 2.
4. [Quay lui] D
- `o thi. trong H`nh 4.9(a) co cac cay bao tr`
V du. 4.3.4 D
um, H`nh 4.9(b) v`a 4.9(c), du.o..c
`eu ro.ng v`a chi
`eu sau tu.o.ng u
xay du..ng theo cac thua.t toan t`m kiem theo chi
.ng.
a

.........
..... ........
.....
.....
.....
....
.
.
.
.....
.....
.....
....
.
.....
.
.
..
.
..
.
.
.
..........................................................................
.
.
.
.
.
.
.............
.
.
...........
.
.... .... .........
... .... .......
.
.
.
.
.
.
..... .... ........
..... ... ........
.....
....
....
.....
.
.
.
.
.
.
.
.
.
.
.....
.....
..
...
.....
....
..... ........
.....
....
...
..... ....
.....
.....
...
........
...
...
.
.........
.
.
... .......
.....
.
.
.
.....
.
.
.
.
..
.....
.....
.
..
....
.
.
.
.
.
.
.
.
.
.
.
.....
.....
..
..
.
...
.
.
.
.
.
.
.....
.
.
.
.
.
.
.....
.
..... ... .......
..... .... ........
..... ... .....
..... .. ....
..... .. ....
.... ... .....
............
............................................................................
.....
..
.....
.....
.....
.....
.....
.....
.....
....
.
.
.
.....
.
.....
.....
..... ........
.......

k
(a)

.........
..... ........
.....
.....
.....
....
.
.
.
.....
.....
.....
....
.
.....
.
.
..
.
.....
.
.
.
.....
......
.
.
.
........
.
.
............
.
.
... .....
.
... .... .......
.
.. ......
.
.
... .. ......
.
.
.
.... ........
.....
...
...
.
.....
.
..
.
.
.....
..
.....
...
.
.
.
....
.
.
.....
.....
...
...
.
...
.
.
.
.
.....
.....
...
.....
.
.....
....
....
...
...
...
...
...
...
...
...
...
...
..
......
.....
.....
.....
.....
.....
.....
.....
.....
..

k
(b)

....
.....
.....
....
.
.
.
.....
....
....
.....
...................................................................
..
....
.....
.....
....
.
.
.
...
....
.....
.....
.....
....
.....
.....
.
.
.....
.
.....
.....
.....
.....
....
....
.
.
.
.....
.
.
.
.....
....
.....
....
.....
....
..... ........
....
..... .....
.....
.....................................................................
..
.....
.....
.....
....
.
.
.
.....
....
....
.....

k
(c)

- `o thi. G. (b) Cay bao tr`


`eu ro.ng. (c)
H`nh 4.9: (a) D
um sinh bo.i thua.t toan t`m kiem theo chi
.
`eu sau.
Cay bao tr`
um sinh bo i thua.t toan t`m kiem theo chi

4.3.3

T`m c
ay bao tr`
um du..a tr
en hai ma ng tuy
en tnh

- e c`ai da.t cac thua.t toan t`m kiem theo chi


`eu ro.ng v`a chi
`eu sau tren d`o thi. lien thong G
D
.
`e hay cai bien, mang cac danh
t`m cay bao tr`
um T ta co the d`
ung cau tr
uc d
u lie.u ma tra.n k
.
.
.
.
.

`
`
sach ke Vout []. Tuy nhien, trong tru `o ng ho. p do thi. du o. c bieu dien bo.i hai mang tuyen tnh
ung cho ta
v`a th` cach tiep ca.n sau se hie.u qua ho.n. Ngo`ai ra, phu.o.ng phap sau n`ay c
.
.
.
.
.
mo.t r`
u ng (ta.p cac cay bao tr`
um) ch
u a (n p) ca.nh trong tru `o ng ho. p d`o thi. co p > 1
.

`
um ta co the
th`anh phan lien thong. Hien nhien, vo i nh
u.ng thua.t toan xay du..ng cay bao tr`
kiem tra d`o thi. co lien thong hay khong, v`a neu no khong lien thong th` co the xac d.inh cac
`an lien thong. Neu ma.t khac, d`o thi. co tro.ng so th` ch
th`anh ph
ung ta co the t`m cay bao
.
.
.
.
`an 4.4). Ho n n
tr`
um co tong tro.ng lu o. ng nho nhat (xem Ph
u a ch
ung ta c
ung co the xay
.
.
.
`an 4.3.4.
um cua d`o thi. nhu trong Ph
du. ng he. cac chu tr`nh do. c la.p du. a tren cay bao tr`
108

http://www.ebook.edu.vn

Xet d`o thi. vo hu.o.ng G khong co khuyen n dnh v`a m ca.nh. Cac dnh du.o..c gan
nhan v1 , v2 , . . . , vn , v`a d`o thi. xac d.inh bo.i hai mang tuyen tnh , , trong do i v`a i , i =
1, 2, . . . , m, l`a cac dnh du.o..c lien thuo.c bo.i ca.nh ei .
Moi bu.o.c la.p cua thua.t toan, mo.t ca.nh mo.i du.o..c du.a v`ao kiem tra de xac d.inh cac
dnh cua ca.nh do co xuat hie.n trong cay n`ao do (da du.o..c thiet la.p o. bu.o.c tru.o.c; bu.o.c
.
d`au tien ch
ung ta chu.a co cay bao tr`
um n`ao). O bu.o.c th
u. i, 1 i m, khi kiem tra ca.nh
(i , i ) co nam tru.`o.ng ho..p xay ra:
1. Neu ca hai dnh khong n`a m trong bat c
u. mo.t cay n`ao da du.o..c xay du..ng o. (i 1)
.
.
.
.
.
.
`an lien thong l`a so c, sau do
bu o c tru o c, khi do cac dnh i , i du o. c gan so th`anh ph
.
tang c len mo.t do n vi..
2. Neu i thuo.c cay Tj c`on i thuo.c cay Tk (j, k = 1, . . . , c v`a j < k), ca.nh th
u. i du.o..c
`an
su. du.ng de noi hai cay n`ay; do do, mo.i dnh trong cay Tk du.o..c gan l`a so th`anh ph
.

lien thong cua Tj . Gia tri. c giam mo.t do n vi..


3. Neu ca hai dnh c`
ung n`a m trong mo.t cay, th` ca.nh (i , i ) c`
ung vo.i mo.t so ca.nh khac
.
y tru.`o.ng ho..p n`ay.
cua cay se ta.o th`anh mo.t chu tr`nh v`a do do khong xu l
4. Neu dnh i thuo.c cay Tj c`on i khong thuo.c cay n`ao, khi do ca.nh (i , i ) du.o..c them
`an lien thong cua Tj cho dnh i .
v`ao cay Tj b`a ng cach gan so th`anh ph
5. Neu dnh i thuo.c cay Tk c`on i khong thuo.c cay n`ao, khi do ca.nh (i , i ) du.o..c them
`an lien thong cua Tk cho dnh i .
v`ao cay Tk b`a ng cach gan so th`anh ph
- e thu..c hie.n vie.c kiem tra cac dnh cuoi cua mo.t ca.nh du.o..c khao sat co xuat hie.n
D
`an tu. Vertex[]. Khi mo.t
trong cay n`ao khong, ch
ung ta xay du..ng mo.t mang tuyen tnh n ph
.
.
.
`an tu th
ca.nh (vi , vj ) na` m trong cay th
u c th` cac ph
u i v`a j cua mang n`ay du.o..c da. t l`a c.
y ke sau, khi mo.t ca.nh khac (i , i ) du.o..c du.a v`ao kiem tra,
Trong cac qua tr`nh xu. l
`an kiem tra cac ph
`an tu. th
ch
ung ta ch c
u. i v`a i trong mang Vertex[] co khac 0 khong.
`an tu. th
Ph
u. q trong mang Vertex[] ba` ng 0 ch ra r`a ng dnh th
u. q n`ay khong na` m trong bat
`an lien
c
u. cay n`ao. Ket th
uc chu.o.ng tr`nh, mang Vertex[] cho ch
ung ta biet cac th`anh ph
thong cua d`o thi. G.
`an co
Nha.n xet ra` ng, cay khong ch du.o..c mo ta bo.i ta.p cac dnh. Bo.i va.y, ch
ung ta c
.
.

u i na m trong
mo.t mang cac ca.nh de xua t d
u lie.u. Da.t mang n`ay l`a Edge[]. Neu ca.nh th
`an tu. 0 trong
cay th
u. c, ta co Edge[k] = c; ngu.o..c la.i, no du.o..c da.t b`a ng 0. Tat ca cac ph
.ng vo.i cac khuyen co la.p (t
u.c l`a cac ca.nh khong n`a m trong bat c
u. cay
mang n`ay tu.o.ng u
.
.
bao tr`
um hay r`
u ng n`ao). Mang n`ay c`
ung vo i cac mang v`a , xac d.inh duy nhat cay bao
.
.
.
.
tr`
um (hoa.c r`
u ng) du o. c sinh bo i thua.t toan n`ay.
109

http://www.ebook.edu.vn

`an. Th`o.i gian d`oi hoi de kiem tra


Trong thua.t toan n`ay, v`ong la.p chnh thu..c hie.n m l
cac dnh co xuat hie.n trong cay hay khong l`a ha` ng so-khong phu. thuo.c v`ao n v`a m. Do do
th`o.i gian thu..c hie.n thua.t toan t le. vo.i m1 . Trong tru.`o.ng ho..p m n, ta co the giam th`o.i
gian thu..c hie.n b`a ng cach lu.u tr
u. mo.t bien dem so cac ca.nh du.o..c da. t v`ao cay. Khi bien
.
.
`an kiem
n`ay da.t gia tri. (n 1) chu o ng tr`nh se ket th
uc (neu d`o thi. lien thong; trai la.i ta c
tra mo.i ca.nh).
Thu tu.c sau minh ho.a thua.t toan t`m cay bao tr`
um du..a tren hai mang tuyen tnh []
v`a [] :
void SpaningTree()
{
byte i, j, Tempt, Count = 0;
byte Vertex[MaxVertices], Edge[MaxEdges];
for (j = 1; j <= NumVertices; j++) Vertex[j] = 0;
for (i = 1; i <= NumEdges; i++) Edge[i] = 0;
for (i = 1; i <= NumEdges; i++)
{
if (Vertex[alpha[i]] == 0)
{
if (Vertex[beta[i]] == 0)
{
Count++;
Edge[i] = Count;
Vertex[alpha[i]] = Count;
Vertex[beta[i]] = Count;
}
else
{
Edge[i] = Vertex[beta[i]];
Vertex[alpha[i]] = Vertex[beta[i]];
}
}
else
{
if (Vertex[beta[i]] == 0)
{
Th`o.i gian d`oi hoi de tro.n hai cay Ti v`a Tj du.o..c thu..c hie.n trong ngon ng
u. C khong phu. thuo.c v`ao n.
.
.
Tuy nhien, co nh
u ng thua.t toan tro.n rat hie.u qua cho phep thu. c hie.n tien tr`nh n`ay.
1

110

http://www.ebook.edu.vn

Edge[i] = Vertex[alpha[i]];
Vertex[beta[i]] = Vertex[alpha[i]];
}
else if (Vertex[alpha[i]] != Vertex[beta[i]])
{
Edge[i] = Vertex[alpha[i]];
Tempt = Vertex[beta[i]];
for (j = 1; j <= NumEdges; j++)
{
if (Vertex[beta[j]] == Tempt)
{
Vertex[alpha[j]] = Vertex[alpha[i]];
Vertex[beta[j]] = Vertex[alpha[i]];
}
if (Vertex[beta[j]] == Count)
{
Vertex[alpha[j]] = Tempt;
Vertex[beta[j]] = Tempt;
}
}
Edge[Count] = Tempt;
Count--;
}
}
}
printf("So thanh phan lien thong la %d ", Count);
for (j = 1; j <= Count; j++)
{
printf(" \n Cay bao trum thu %d gom cac canh ", j);
for (i = 1; i <= NumEdges; i++)
if (Edge[i] == j) printf(" %d %d ", alpha[i], beta[i]);
}
}

111

http://www.ebook.edu.vn

4.3.4

Thu
a.t to
an t`m t
at ca c
ac c
ay bao tr`
um

`e co. ban co the du.a v


`e b`ai toan t`m tat ca cac cay bao tr`
Vie.c phan tch cac ma.ch die.n v
um
`am quan tro.ng cua no, co nhi
`eu thua.t toan khac nhau giai quyet
cua d`o thi. (xem [19]). Do t
.
.
.
b`ai toan n`ay. Mo.t trong nh
u ng phu o ng phap l`a hoan doi cac chu tr`nh nhu. sau: Xuat phat
.
t`
u mo.t cay bao tr`
um T n`ao do. Vo.i moi ca.nh khong na` m tren cay T, khi them v`ao cay n`ay
se ta.o ra duy nhat mo.t chu tr`nh. Xoa bo mo.t ca.nh bat k`
y trong chu tr`nh n`ay se cho ta
mo.t cay bao tr`
um mo.i.
Do so cac cay bao tr`
um l`a rat lo.n tha.m ch ca vo.i nh
u.ng d`o thi. nho, tnh hie.u qua
cua nh
u.ng thua.t toan giai quyet b`ai toan rat quan tro.ng (xem [14]). Mo.t tong quan cua cac
.
.
phu o ng phap n`ay l`a mo.t lua.n an tien s cua Chase [12]. Chase da ch ra r`a ng thua.t toan
du.a ra bo.i Minty co hie.u qua nhat: lien tiep thu go.n d`o thi. b`a ng cac phep toan xoa mo.t
ca.nh v`a ho..p nhat cac dnh d`au cuoi cua no. T`
u. cac cay bao tr`
um cua cac d`o thi. thu go.n
.
.
.
.
`eu) ta co the du. ng du o. c tat ca cac cay bao tr`
(m`a nho ho n rat nhi
um cua d`o thi. ban d`au.
.
.
.
.
-De bao dam thua.t toan ket th
`
uc, cac do thi. co kch thu o c du o i mo.t ngu.o.ng cho tru.o.c se
.
.
khong du o. c thu go.n them; thay v`ao do l`a cac cay bao tr`
um cua ch
ung du.o..c suy ra.

4.3.5

H
e. co. so. cua c
ac chu tr`nh d

o.c l
a.p

`an lien thong


Nhac la.i ra` ng chu so cua d`o thi. vo hu.o.ng G co n dnh, m ca.nh, p th`anh ph
.
.
`

`
ba ng c(G) = m n + pchnh l`a so cu. c da.i cac chu tr`nh do. c la.p. Phan du o.i day ta xay
du..ng thua.t toan t`m he. co. so. cua cac chu tr`nh do. c la.p du..a tren cay bao tr`
um cua d`o thi..
.
.

Khong giam to ng quat, co the gia thiet d`o thi. G lien thong, v` trong tru `o ng ho..p trai la.i,
tu.o.ng o. day l`a
`an lien thong. Y
th` ta xet t`
u.ng th`anh ph
1. Xay du..ng cay bao tr`
um T := (V, ET ).
2. Gia su. e1 , e2 , . . . , emn+1 l`a cac ca.nh cua E m`a khong thuo.c cay T. Khi them mo.t ca.nh
bat k`
y trong cac ca.nh n`ay, chang ha.n ca.nh ek , v`ao cay T ta du.o..c mo.t v`a ch mo.t chu
tr`nh k . Cac chu tr`nh 1 , 2 , . . . , mn+1 l`a do.c la.p v` moi chu tr`nh ch
u.a mo.t ca.nh
khong thuo.c cac chu tr`nh kia; ma.t khac ta co (m n + 1) = c(G) chu tr`nh nhu. va.y,
nen ta da xac d.inh du.o..c he. co. so. cua cac chu tr`nh do.c la.p.
`e t`m cac chu tr`nh k khi them ca.nh ek v`ao cay T. Trong khi
Nhu. va.y b`ai toan du.a v
`eu kie.n 3 du
kiem tra ca.nh ek = (k , k ) trong thua.t toan 4.3.3, neu di
ng (t
u.c l`a ca hai dnh
`an t`m
k v`a k xuat hie.n trong c`
ung cay Ti ) th` thay cho vie.c loa.i bo ca.nh n`ay ch
ung ta c
.
`en n`ay c`
`en gi
ung
cac ca.nh trong Ti m`a ta.o th`anh day chuy
u a hai dnh k v`a k . Day chuy
.
.
.
`en
vo i ca.nh (k , k ) ta.o th`anh mo.t chu tr`nh co ban. Van d`e chnh o day l`a t`m day chuy
112

http://www.ebook.edu.vn

`eu phu.o.ng phap hie.u qua giai quyet b`ai toan, trong so do thua.t toan cua Paton
n`ay. Co nhi
[50] l`a hie.u qua nhat.
Thu
a.t to
an Paton t`m h
e. co. so. cua c
ac chu tr`nh d

o.c l
a.p
Ch
ung ta c
ung se kiem tra moi ca.nh co ta.o th`anh chu tr`nh vo.i nh
u.ng ca.nh trong cay du.o..c
.
.
.
xay du. ng trong qua tr`nh thu. c hie.n thua.t toan, nhu ng thay vie.c lay cac ca.nh theo th
u. tu..
tu`
yy
(nhu. trong Thua.t toan 4.3.3), ta cho.n mo.t dnh z v`a kiem tra cac ca.nh lien thuo.c vo.i
- nh z l`a dnh v`
- e do.n gian, ta se su. du.ng ma tra.n k
`e A bieu
no. (D
u.a du.o..c them v`ao cay). D
.
.
.
.
.
.
dien d`o thi.. K
y hie.u T l`a ta.p hie.n h`anh cac dnh trong cay du o. c xay du. ng o bu o c n`ao do
v`a W l`a ta.p cac dnh chu.a du.o..c kiem tra (t
u.c l`a nh
u.ng dnh thuo.c T hoa.c khong nhu.ng
.
.
.
.
co t nhat mo.t ca.nh lien thuo.c vo i no chu a du o. c kiem tra).
- nh v1 se l`a goc
Ch
ung ta kho.i d`au thua.t toan b`a ng cach da. t T = {v1 } v`a W = V. D
cua cay. Sau qua tr`nh kho.i ta.o, thu..c hie.n cac bu.o.c sau:
1. Neu T W = thua.t toan d`
u.ng.
2. Neu T W 6= cho.n dnh z T W.
3. Kiem tra z b`a ng cach xet moi ca.nh lien thuo.c vo.i no. Neu khong co ca.nh n`ao, khu. z
t`
u. W v`a chuyen sang Bu.o.c 1.
`on ta.i ca.nh (z, p) E kiem tra z co thuo.c T khong.
4. Neu t
`om ca.nh (z, p) v`a mo.t day chuy
`en (duy nhat) t`
5. Neu p T t`m chu tr`nh co. ban g
u.
.
.
.
z den p trong cay dang du o. c xay du. ng. Xoa ca.nh (z, p) khoi d`o thi. v`a chuyen sang
Bu.o.c 3.
6. Neu p
/ T them ca.nh (z, p) v`ao cay v`a dnh p v`ao T. Xoa ca.nh (z, p) khoi d`o thi. v`a

chuyen sang Bu.o.c 3.


`en t`
ung ta phai t`m day chuy
u. z den p
Nhu. da d`e ca.p, van d`e co. ban l`a Bu.o.c 5. Ch
.
.
nhu the n`ao? Thu tu.c sau se tra l`o i cau hoi n`ay.
Ch
ung ta su. du.ng mo.t ngan xep (stack) T W = T W de lu.u tr
u. cac dnh trong cay
.
.
.
.
.
.
- nh du o. c them g
`an day nhat v`ao cay se du.o..c ch`en v`ao d`au
nhu ng chu a du o. c kiem tra. D
`an mo.t dnh du.o..c kiem tra du.o..c lay ra khoi t`
ngan xep. Moi l
u. dnh cua ngan xep. Ta su.
du.ng them hai mang tuyen tnh do. d`ai n : mang l[j] l`a khoang cach t`
u. goc v1 den dnh vj
trong cay bao tr`
um; v`a Pred[j] l`a dnh vi sao cho ca.nh (vi , vj ) l`a mo.t ca.nh trong cay vo.i
`an goc ho.n vj . Noi cach khac, Pred[j] l`a dnh li
`en tru.o.c dnh vj trong day chuy
`en t`
vi g
u.
113

http://www.ebook.edu.vn

v1 den vJ . Nhan l[J] = 1 neu v`a ch neu dnh vj khong thuo.c ta.p T. Kho.i ta.o l[1] = 0 v`a
l[j] = 1 vo.i mo.i j = 2, 3, . . . , n.
- e xac d.inh chu
Trong Bu.o.c 5, khi xet dnh z v`a ca.nh (z, p) du.o..c t`m thay vo.i p T. D
`an theo day chuy
`en t`
tr`nh co. ban sinh bo.i ca.nh (z, p) ch
ung ta l
u. z den p trong cay b`a ng
`en boi Pred[z], Pred[Prede[z]], . . . cho den khi ch
cach t`m lien tiep cac ti
ung ta bat ga.p
.
`en boi cua p. Noi cach khac, nhu ch ra trong H`nh ??, chu tr`nh co. ban du.o..c ta.o
Pred[p]-ti
ra l`a
z, Pred[z], Pred[Pred[z]], . . . , Pred[p], p, z.
`an ch
`en boi Pred[k] cua mo.i dnh k T l`a mo.t dnh m`a hoa.c da du.o..c
C
uy
ra` ng ti
kiem tra hoa.c dang du.o..c kiem tra. T
u.c l`a, neu k T W th`
Pred[k]
/W

nhu.ng Pred[k] T.

Thu tu.c FundamentalCircuits() minh ho.a cac bu.o.c da tr`nh b`ay o. tren.
Th`o.i gian thu..c hie.n cua thua.t toan bi. cha.n tren bo.i n trong do gia tri. thu..c [2, 3]
phu. thuo.c v`ao cau tr
uc cua d`o thi. c
ung nhu. cach danh nhan cac dnh [50].
Ma.c d`
u de do.n gian ch
ung ta da gia su. G lien thong, tuy nhien thua.t toan co the
- `au tien, thua.t toan se ta.o ra tat ca cac chu
de d`ang cai bien cho tru.`o.ng ho..p tong quat. D
.
`an lien thong ch
tr`nh co ban trong th`anh ph
u.a dnh xuat phat v1 . Sau do ta cho.n dnh y
m`a l[y] = 1 v`a bat d`au vo.i y l`a goc cua cay bao tr`
um th
u. hai. Thua.t toan la.p la.i cho den
khi tat ca cac dnh du.o..c gan nhan l khac 1.

4.4

C
ay bao tr`
um t
oi thi
eu

- i.nh ngha 4.4.1 Gia su. G l`a d`o thi. co tro.ng so. Cay bao tr`
um toi thieu cua G l`a mo.t
D
.
.
.
cay bao tr`
um cua G vo i tro.ng lu o. ng nho nhat.
B`ai toan n`ay rat hay ga.p trong thong tin lien la.c v`a trong cac ng`anh khac. Chang ha.n
`an thiet de noi n th`anh pho da d.inh
ta da. t cau hoi nhu. sau: do. d`ai day die.n ngan nhat c
l`a bao nhieu? Khi do coi cac th`anh pho l`a cac dnh cua d`o thi. v`a w(a, b) l`a khoang cach
`an phai lien thong, v`a v` do. d`ai
tnh ba` ng km gi
u.a cac th`anh pho a v`a b. Ma.ng day die.n c
`an ngan nhat nen no khong co chu tr`nh: va.y ma.ng do l`a mo.t cay. O. day ta c
`an
day die.n c
.
.

`
`
`

t`m mo.t cay toi thieu co the du o. c v`a l`a mo.t do thi. bo. pha.n cua do thi. day du co n dnh.
Mo.t u
.ng du.ng gian tiep: b`ai toan t`m cay bao tr`
um toi thieu l`a bu.o.c trung gian trong vie.c
t`m l`o.i giai cua b`ai toan ngu.`o.i du li.ch-mo.t b`ai toan thu.`o.ng xuat hie.n trong thu..c te.
114

http://www.ebook.edu.vn

`an ch
C
uy
ra` ng, cay bao tr`
um toi thieu cua d`o thi. khong lien quan den cay sinh bo.i
`en ngan nhat t`
tat ca cac day chuy
u. mo.t dnh cho tru.o.c. Do do, d`o thi. trong H`nh 4.10(a),
vo.i cac so tren cac ca.nh tu.o.ng u
.ng cac tro.ng lu.o..ng ca.nh, cay sinh ra bo.i du.`o.ng di ngan
nhat t`
u. dnh cho tru.o.c, chang ha.n v1 , trong H`nh 4.10(b); ngu.o..c la.i, cay bao tr`
um toi thieu
cho trong H`nh 4.10(c).
v1
..........
.
.... .. .....
..... .. .....

.....
.....
....
.....
...
.....
..
.....
.....
...
.....
.
.
.
.
.
.
.....
.
...
.
.
.
.....
.
.
.
.
...
.....
.
.
.
.
.
.
.....
.
...
.
.
.
.
.....
.
.
.
...
.
.
.....
.
.
.
.
.
.....
....
.
.
.
.
.
....
.
...
.
.
.
.
.
.
.................................................................................................................................................
.....
..
.
.
.....
.
.....
.
.....
.....
.
.
.
.
.....
....
....
.....
.
.
.
.
.
.....
....
....
.....
.....
.....
...
.....
.....
.....
...
.....
.....
.
.
.
.....
.
...
.....
.....
...
.....
....
..
.....
.....
..... ... .........
..... ... .....
..... .. .....
........
.
.....
....

5.....................

v4

v5

v2

v1
..........
.
.... ... .....
..... .. .....

.....
.....
.....
.....
.....
.
.
.
....
.....
.....
.....
.....
.
.
.
.
...
.....
.....
....
.....

v4

...
...
...
...
...
...
...
...
...
...
...
...
.

.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.
.
.
.
.....
....
.....
.....
.....
.
.
.
.
....
.....
.....
.....
.....
.
.
.
.
.
.....
.....
.....

v5

v3

v3

(a)

(b)

v2

v1
.......

....
...
..
...
...
...
...
...
...
...
..........................................................................................................................................
.....
.....
.....
.....
.
.
.
....
.....
.....
.....
.....
.
.
.
.
.....
....
.....
.....
.....
.
.
.
.
....
.....

v4

v5

v2

v3

(c)

- `o thi. G. (b) Cay sinh bo.i du.`o.ng di ngan nhat xuat phat t`
H`nh 4.10: (a) D
u. v1 . (c) Cay bao
tr`
um nho nhat.
T`m cay bao tr`
um toi thieu l`a mo.t trong nh
u.ng b`ai toan cua l
y thuyet d`o thi. co the
.
.
giai quyet trie.t de. Do do, da. t Ti v`a Tj l`a hai cay con du o. c ta.o ra trong qua tr`nh xay du..ng
cay bao tr`
um toi thieu. Neu Ti du.o..c su. du.ng de bieu dien ta.p cac dnh cua cay con th` ij
co the d.inh ngha l`a khoang cach ngan nhat t`
u. mo.t dnh trong Ti den mo.t dnh trong Tj ;
.
t
u c l`a
ij := min [ min {w(vi , vj )}],
i 6= j.
(4.1)
vi Ti vj Tj

Khi do, de d`ang ch


u.ng minh ra` ng la.p la.i phep toan sau se cho ta cay bao tr`
um toi
thieu:
Phep toan I. Vo.i cay con Ts n`ao do, t`m cay con Tj sao cho sj = minTj [sj ], v`a da. t
.ng gia tri. sj trong (4.1) da.t du.o..c. Khi do (vs , vj ) thuo.c
(vs , vj ) l`a ca.nh tu.o.ng u
cay bao tr`
um toi thieu v`a co the du.o..c them v`ao vo.i cac ca.nh khac trong qua tr`nh
la.p de ta.o ra cay bao tr`
um toi thieu.
Tha.t va.y, gia su. cac ca.nh trong cac cay con o. bu.o.c k n`ao do thuo.c cay bao tr`
um toi
.
.
.
.
.
.
.

thieu Tm o bu o c cuoi c`
ung. Gia su ca.nh (vs , vj ) du o. c cho.n nhu tren khong thuo.c cay bao
115

http://www.ebook.edu.vn

tr`
um toi thieu Tm . Theo di.nh ngha, cay con Ts o. bu.o.c cuoi c`
ung du.o..c noi vo.i cay con khac
n`ao do ba` ng ca.nh (vi , vj ) trong do vi Ts v`a vj
/ Ts v`a ngo`ai ra Ts phai ch
u.a trong cay
`an lien thong
bao tr`
um toi thieu Tm . Xoa ca.nh (vi , vj ) khoi cay Tm se cho ta hai th`anh ph
.
.
.
.
.

v`a thay no bo i ca.nh (vs , vj ) se ta.o mo.t cay mo i co tro.ng lu o. ng nho ho n tro.ng lu.o..ng cay
Tm , mau thuan. Va.y, vo.i nh
u.ng gia thiet tren, ta co the them ca.nh (vs , vj ) de ta.o th`anh
`an
cay (ch
u.a trong cay bao tr`
um toi thieu) o. bu.o.c k v`a tiep tu.c vo.i bu.o.c (k + 1). C
ung c
.
.
ch
uy
r`a ng, phu o ng phap tren khong phu. thuo.c v`ao cay Ts du.o..c cho.n. Ho.n n
u.a, do bu.o.c
`on ta.i (v`a do do
kho.i ta.o (t
u.c l`a tru.o.c khi bat c
u. ca.nh n`ao du.o..c cho.n) gia thiet l`a khong t

du
ng) nen la.p la.i thua.t toan tren cuoi c`
ung se ta.o ra cay bao tr`
um toi thieu.
`au het cac phu.o.ng phap t`m cay bao tr`
H
um toi thieu d`eu du..a tren nh
u.ng tru.`o.ng ho..p
- `au tien, trong so do l`a phu.o.ng phap cua Kruskal [39] nhu. sau.
da. c bie.t cua thu tu.c tren. D

4.4.1

Thu
a.t to
an Kruskal

tu.o.ng cua thua.t toan Kruskal t`m cay bao tr`


um trong d`o thi. lien thong co tro.ng so G
Y
.
.
.
`om tat ca cac dnh cua G v`a khong co ca.nh. Ta.i moi bu.o.c
nhu sau: Kho i ta.o vo i d`o thi. T g
la.p ch
ung ta them mo.t ca.nh co tro.ng lu.o..ng nho nhat len cay T m`a khong ta.o th`anh chu
tr`nh trong T. Thua.t toan d`
u.ng khi T co (n 1) ca.nh.
`om n dnh v`a khong co ca.nh.
1. [Kho.i ta.o] Gia su. T l`a d`o thi. g
`an.
2. [Sap xep] Sap xep th
u. tu.. cac ca.nh cua d`o thi. G theo th
u. tu.. tro.ng lu.o..ng tang d
3. [Them ca.nh] Them ca.nh (bat d`au t`
u. ca.nh d`au tien) trong danh sach cac ca.nh du.o..c
sap xep v`ao cay T sao cho khong ta.o th`anh chu tr`nh trong T khi them. (Ca.nh du.o..c
them v`ao go.i l`a chap nha.n du.o..c).
4. [Ket th
uc] Neu T co (n 1) ca.nh th` thua.t toan d`
u.ng; T l`a cay bao tr`
um toi thieu.
Thua.t toan n`ay them v`ao cay T nh
u.ng ca.nh co tro.ng lu.o..ng nho nhat chap nha.n du.o..c
ho.n l`a them ca.nh gi
u.a mo.t cay con cua T, chang ha.n Ts , v`a mo.t cay con n`ao khac (nhu.
u.a mo.t
ch ra trong Phep toan I). Hien nhien ca.nh du.o..c cho.n co tro.ng lu.o..ng nho nhat gi
cay con n`ao do v`a bat k`
y cay con khac, nen nguyen tac cho.n cua thua.t toan Kruskal l`a mo.t
.
.
.
tru `o ng ho. p da. c bie.t cua Phep toan I. Tuy nhien co the xay ra tru.`o.ng ho..p ca.nh e du.o..c
kiem tra de them v`ao lien thuo.c gi
u.a hai dnh cua c`
ung mo.t cay con v`a do do no se ta.o ra
mo.t chu tr`nh neu them v`ao; t
u.c l`a ca.nh e l`a khong chap nha.n du.o..c. V` va.y, trong Bu.o.c 3,
`an du.o..c kiem tra tnh chap nha.n cua no tru.o.c khi them v`ao T. Tien tr`nh kiem
cac ca.nh c
um
tra n`ay co the thu..c hie.n hie.u qua b`a ng cach su. du.ng thua.t toan xay du..ng cay bao tr`
.
.
`an 4.3.3.
du. a tren hai mang tuyen tnh nhu da tr`nh b`ay trong Ph
116

http://www.ebook.edu.vn

`an
V du. 4.4.2 Xet d`o thi. trong H`nh 4.11(a). Sap xep cac ca.nh theo tro.ng lu.o..ng tang d
.
.
.
(su du.ng hai mang tuyen tnh v`a ) ta du o. c
k

Tro.ng lu.o..ng

Cac ca.nh (khong ta.o th`anh chu tr`nh) du.o..c them v`ao cay T theo th
u. tu.. l`a
(c, d), (a, c), (e, f ), (a, e), (a, b).
T l`a cay bao tr`
um nho nhat co tro.ng lu.o..ng 12 (H`nh 4.11(b)).
a

......................................................................................................................................
.......
..
..... ..
...
..... .....
.
.
.
.
...
..
....
.
...
.
.
.
...
....
.
.
.
...
.
.
...
.
.
.
.
.
...
...
...
.
.
.
.
.
...
..
...
.
.
.
.
.
...
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
..... ............
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
..
.
...
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
.
....
....
.......
.......
.....
.......
.....
.......
.......
.....
..... .............
.......
.....
.....
..
.......
.....
..... ..............
.
.
.
.
.
.
.
.
.
.
.
.......
.....
.......
..... .......
.. ....
............
...........................................................................................................................................................................................

....................................................................................................................................
.......
..... ..
..... .....
.
.
.
.
.....
.....
....
...
.....
...
.....
.....
.
...
.
.
.
...
...
.
.
.
.
...
.................................................................................................................................
.
.
.
.
....
.
.
.
...
.
.
.
.
...
.
.
.
.
.....
.....
.....
.....
.....
.
.
.
..
...............................................................................................................................................................................

(a)

(b)
H`nh 4.11:

`e 4.4.3 Neu Kn = (V, E) l`a d`o thi. d`ay du , v`a neu tat ca c cac tro.ng lu.o..ng cu a cac
B
o d

`on ta.i duy nhat mo.t cay bao tr`


ca.nh khac nhau th` t
um toi thieu T = (V, ET ).
Ch
u.ng minh. K
y hie.u Ek := {e1 , e2 , . . . , ek } l`a ta.p cac ca.nh du.o..c them v`ao cay T trong
Thua.t toan 4.4.1 o. bu.o.c la.p th
u. k, 1 k n 1. Hien nhien theo cach xay du..ng, T l`a d`o
thi. co (n 1) ca.nh v`a khong co chu tr`nh nen T l`a cay bao tr`
um cua Kn .
Gia su. T 0 = (V, ET 0 ) l`a cay bao tr`
um toi thieu, ta ch
u.ng minh ET 0 = En1 . Tha.t va.y,
`on ta.i ch so k nho nhat sao cho ca.nh ek khong thuo.c ET 0 . Khi do theo
gia su. ngu.o..c la.i t
`on ta.i t
`on ta.i mo.t v`a ch mo.t chu tr`nh trong T 0 {ek }. Tren chu tr`nh
tnh chat cua cay, t
`on ta.i mo.t chu tr`nh, l`a , trong cay
n`ay co mo.t ca.nh e0 m`a e0
/ En1 , v` neu ngu.o..c la.i t
117

http://www.ebook.edu.vn

T mau thuan. Neu da. t ET 00 := (ET 0 {ek }) \ {e0 }) th` d`o thi. T 00 := (V, ET 00 ) khong co chu
tr`nh v`a co (n 1) ca.nh nen no l`a mo.t cay.
Ma.t khac Ek1 {e0 } ET 00 nen Ek1 {e0 } khong ch
u.a chu tr`nh. Suy ra
w(e0 ) > w(ek ).
u. cay T 0 b`a ng cach thay ca.nh e0 th`anh ca.nh ek nen W (T 00 ) <
Nhu.ng cay T 00 nha.n du.o..c t`
W (T 0 ). Mau thuan v` T 0 l`a cay bao tr`
um toi thieu.
/
- i.nh l
D
y 4.4.4 Thua.t toan Kruskal l`a du
ng; t
u.c l`a, ket th
uc thua.t toan T l`a cay bao tr`
um
toi thieu.
Ch
u.ng minh. Tha.t va.y tru.o.c het ta thu xep de mo.i ca.nh d`eu co do. d`ai khac nhau; chang
ha.n neu w(e1 ) = w(e2 ) = = w(es ) th` thu..c hie.n phep bien doi:
w(e1 ) = w(e1 ) + ,
w(e2 ) = w(e2 ) + 2 ,
..
.
w(es ) = w(es ) + s ,
`e quan he. gi
u. tu.. v
u.a tro.ng lu.o..ng
trong do l`a so du.o.ng du be sao cho khong l`am dao lo.n th
cua cac ca.nh.
P
C
ung the, ta c
ung co the them cac ca.nh f vo.i tro.ng lu.o..ng du lo.n w(f ) > eE w(e)
v`a khac nhau sao cho d`o thi. nha.n du.o..c Kn = (V, E 0 ) l`a d`ay du.

`on ta.i duy nhat mo.t cay bao tr`


Theo Bo d`e 4.4.3 t
um toi thieu T trong d`o thi. Kn . Ma.t
P
.
.
khac, mo.i cay bao tr`
um cua d`o thi. G co tro.ng lu o. ng khong vu.o..t qua eE w(e) v`a mo.i cay
bao tr`
um cua G c
ung l`a cay bao tr`
um cua Kn . Suy ra T l`a cay bao tr`
um toi thieu cua G. /
`an cac ca.nh co tro.ng lu.o..ng
Nha.n xet r`a ng, co the d`
ung phu.o.ng phap doi ngau: loa.i d
lo.n nhat cua d`o thi. m`a khong l`am mat tnh lien thong cua no cho den khi khong the loa.i
ca.nh du.o..c n
u.a.
- o. ph
D
u.c ta.p tnh toan cua thua.t toan Kruskal phu. thuo.c v`ao Bu.o.c 2: d`o thi. co m
`an. Tuy
`an m log2 m phep toan de thu..c hie.n sap xep mang theo tro.ng lu.o..ng tang d
ca.nh c

nhien, noi chung ta khong can duye.t to`an bo. mang v` cay bao tr`
um toi thieu gom (n 1)
`an kiem tra r < m ph
`an tu. d`au tien cua mang. Do do ta co
ca.nh chap nha.n du.o..c nen ch c
the cai tien thua.t toan n`ay de tang toc do. thu..c hie.n (xem [14], [36]).
Ma.c d`
u co nh
u.ng cai tien, nhu.ng thua.t toan Kruskal ch thch ho..p vo.i nh
u.ng d`o thi.
tu.o.ng doi thu.a. Vo.i nh
u.ng d`o thi. khac, chang ha.n d`o thi. d`ay du co so ca.nh m = n(n1)/2,
118

http://www.ebook.edu.vn

Prim [49] v`a Dijkstra [20] da du.a ra nh


u.ng thua.t toan khac du..a tren vie.c da.c bie.t hoa hie.u
.
qua ho n Phep toan I.

4.4.2

Thu
a.t to
an Prim

Thua.t toan n`ay xay du..ng cay T b`a ng cach lien tiep them cac ca.nh co tro.ng lu.o..ng nho nhat
lien thuo.c mo.t dnh trong cay dang du.o..c h`nh th`anh v`a mo.t dnh khong thuo.c cay n`ay cho
den khi nha.n du.o..c cay bao tr`
um toi thieu. Trong moi bu.o.c la.p, qua tr`nh them ca.nh n`ay
se bao dam khong ta.o th`anh chu tr`nh trong T.
Ch
ung ta minh ho.a thua.t toan ba` ng cach su. du.ng ma tra.n tro.ng lu.o..ng W =
(wij )nn , trong do

wij = +

w(vi , vj )

neu i = j,
`on ta.i ca.nh (vi , vj ),
neu khong t
`on ta.i ca.nh (vi , vj ).
neu t

`e g
`an nhat (t
`an tu.
u. dnh v1 v`a noi no den mo.t dnh k
u.c l`a dnh m`a co ph
Kho.i d`au t`
nho nhat trong h`ang th
u. nhat trong ma tra.n W ), gia su. l`a vk . Bay gi`o. khao sat v1 v`a vk
.
`e vo.i no v`a g
`an nhat (t
nhu mo.t d`o thi. con, v`a noi d`o thi. con n`ay vo.i mo.t dnh k
u.c l`a dnh
`an tu. cua h`ang th
`an tu. nho nhat trong tat ca cac ph
u. nhat v`a th
khac v1 v`a vk m`a co ph
u.
.
.
.
.
k trong W ). Gia su dnh mo i l`a vi . Ke tiep, xem cay vo i cac dnh v1 , vk , vi nhu mo.t d`o thi.
y cho den khi tat ca n dnh du.o..c noi bo.i (n 1) ca.nh.
con, v`a tiep tu.c xu. l
Tong quat ta co thua.t toan du.o..c tr`nh b`ay nhu. sau:
1. [Kho.i ta.o] Gia su. T l`a d`o thi. ch co mo.t dnh v1 v`a khong co ca.nh.
2. [Ket th
uc] Neu T co (n 1) ca.nh th` thua.t toan d`
u.ng; T l`a cay bao tr`
um toi thieu.
3. [Them ca.nh] Trong so tat ca cac ca.nh khong thuo.c cay T m`a lien thuo.c vo.i mo.t dnh
trong T v`a khong ta.o th`anh chu tr`nh khi them v`ao T, cho.n ca.nh co tro.ng lu.o..ng nho
nhat v`a them no v`a dnh no lien thuo.c v`ao cay T. Chuyen sang Bu.o.c 2.
du.ng Thua.t toan Prim cho d`o thi. trong H`nh 4.12(a) vo.i dnh xuat phat
V du. 4.4.5 Ap
`an lu.o..t them v`ao cay T theo th
u. tu.. l`a
l`a v1 ta co cac ca.nh du.o..c l
(v1 , v5 ), (v1 , v4 ), (v4 , v2 ), (v2 , v3 ), (v2 , v6 ).
Cay bao tr`
um nho nhat co tro.ng lu.o..ng 12 (H`nh 4.12(b)).
119

http://www.ebook.edu.vn

v1
...........
.
..... .. .....
..... .. ....

v1

......
..... ........
.....
.....
.....
.....
.
.
.
.
.....
.....
.....
.....
.....
.
.
.
.
.....
....
.
.
.....
.
...
.
.....
.
.
.
.....
...
.
.
.
.
.....
...
.
.
.
.
.
...
.
.
.
.
....
.
.
.
...
.
.
.
.
....
.....
.....
.....
.....
.
.
.
.
..
.....
................................................................................................
...
....
....
....
....
.....
.....
.....
.
.
.
.
.
.....
....
......
.....
......
......
.......
.......
.......
.......
.
.........
.
.
.
.
.
.
.
..
...........
...........
...................
.......................................

. .....
.....
....
.....
...
.....
..
.....
.....
...
.....
.
.
.
.
.....
.
...
.
.
.
.....
.
.
.
.
..
.
.....
.
.
.
.
.
.
.
...........
.
.
.
..... .....
.
.
.
.....
.
..... .........
....
.
.
.
.
.
.
.
.
.
.
.
.....
.....
.
...
...
.
.
.
.
.
.....
.
.
.
.
.
.
.
.....
..
..
.....
.....
....
.....
.....
.....
.....
.....
.....
...
.....
.....
.....
.....
.
.
.
.....
.
.
.
.
.
.
.
.
..... .. .....
.....
...
.
.
.
.
.
.
.
.
.
.....
..... .. .....
...
.
.
...
.
.
.
.
.
.
.
....................................................................................................................................................................................................
....
...
....
....
.
.....
.
.
.
.....
....
.....
.....
......
.....
......
......
.......
......
.
.
.
.
.......
.
.
.....
.........
.........
...........
...........
...................
.......................................
..
.....
.....

v4

v2

4.....................

v5

v6

v4

v5

v3

v2

v6

(a)

(b)

v3

- `o thi. G. (b) Cay bao tr`


H`nh 4.12: (a) D
um nho nhat cua G sinh bo.i Thua.t toan Prim.
Thua.t toan Prim l`a mo.t v du. cua thua.t toan tham lam (greedy algorithm). Thua.t
toan tham lam l`a thua.t toan cho.n lu..a toi u.u ta.i moi bu.o.c la.p m`a khong quan tam den
`e ma.t d.ia
su.. cho.n lu..a o. bu.o.c tru.o.c. Co the noi nguyen l
y n`ay l`a thu..c hie.n tot nhat v
.
.

phu o ng. Trong thua.t toan Prim, v` ch


ung ta muon t`m cay bao tr`
um toi thieu nen ta.i moi
.
.
.
.
ung ta them mo.t ca.nh co tro.ng lu o. ng nho nhat (neu vie.c them khong ta.o th`anh
bu o c la.p ch
chu tr`nh).
Toi u.u hoa ta.i moi bu.o.c la.p khong nhat thiet cho l`o.i giai toi u.u cua b`ai toan goc.
- i.nh l
Tnh du
ng dan cua thua.t toan Prim se du.o..c ch
u.ng minh trong D
y 4.4.6. Mo.t v du.
.
.
.
.
.

cua thua.t toan tham lam nhu ng khong du a den l`o i giai toi u u nhu sau: xet thua.t toan t`m
du.`o.ng di ngan nhat trong do, moi bu.o.c la.p ch
ung ta cho.n ca.nh co tro.ng lu.o..ng nho nhat
`an day
(m`a khong ta.o th`anh chu tr`nh khi them v`ao) lien thuo.c vo.i dnh du.o..c them v`ao g
.
.
.

`
nha t. Neu ta ap du.ng thua.t toan n`ay vo i do thi. co hu o ng trong H`nh 4.13 de t`m du.`o.ng di
ngan nhat t`
u. v1 den v4 , ch
ung ta se cho.n cung (v1 , v3 ) v`a sau do cung (v3 , v4 ). Tuy nhien,
.
.
day khong phai l`a du `o ng di ngan nhat t`
u. v1 den v4 .
v2

.
...............
....... .... .............
.......
.......
.......
.......
....
.......
.......
.
.
.
.
.
...
.
.......
..
.......
.......
...
.......
.......
.
.
.
.
.
.
.......
.
.
.
.....
.
.......
.
.
.
.
.
.
.
.......
.
.....
.
.
.
.
.......
.
.
.
.
.
.......
.....
.
.
.
.
.
.
.
.
.
.......
..
.......
.......
.
.
.......
.......
.
.
.
.
.
.
.
.
.......
.....
.
.
.......
..
.
.
.
.
.
.......
.....
.
.
..
.
.
.
.......
.
.
.....
.......
....
.......
.......
.......
.......
...
.......
.......
.......
..
.......
....... ... .............
................
..

v1

v4

v3

H`nh 4.13:
- i.nh l
ng dan cua thua.t toan Prim.
D
y sau ch
u.ng minh tnh du
120

http://www.ebook.edu.vn

- i.nh l
D
y 4.4.6 Thua.t toan Prim l`a du
ng; t
u.c l`a, ket th
uc thua.t toan T l`a cay bao tr`
um toi
thieu.
Ch
u.ng minh. Trong ch
u.ng minh n`ay ch
ung ta se da. c tru.ng cay bo.i mang cac ca.nh cua no.
Theo cach xay du..ng, ket th
uc Thua.t toan Prim, T l`a d`o thi. con lien thong khong chu
.
tr`nh cua d`o thi. G v`a ch
u a tat ca cac dnh cua G; do do T l`a cay bao tr`
um cua G.
- e ch ra T l`a cay bao tr`
D
um toi thieu, ch
ung ta ch
u.ng minh ba` ng quy na.p ra` ng o. bu.o.c
th
u. k cua Thua.t toan Prim, T du.o..c ch
u.a trong mo.t cay bao tr`
um toi thieu. V`a do do, ket

th
uc thua.t toan T l`a cay bao tr`
um toi thieu. K
y hie.u Tk l`a cay du.o..c ta.o ra o. bu.o.c la.p th
u.
k.
`om mo.t dnh v`a do do du.o..c ch
Neu k = 1 th` T1 g
u.a trong mo.i cay bao tr`
um toi thieu.
Khang d.inh du
ng.
Gia su. r`a ng o. bu.o.c th
u. (k 1) cua Thua.t toan Prim, cay Tk1 ch
u.a trong cay bao
tr`
um toi thieu T 0 . K
y hie.u Vk1 l`a ta.p cac dnh cua Tk1 . Theo Thua.t toan Prim, ca.nh
/ Vk1 du.o..c them v`ao Tk1 de ta.o
e = (vi , vj ) co tro.ng lu.o..ng nho nhat vo.i vi Vk1 v`a vj
ra Tk . Neu e T 0 th` Tk ch
u.a trong cay bao tr`
um toi thieu T 0 . Neu e
/ T 0 th` T 0 {e} ch
u.a
mo.t chu tr`nh . Cho.n ca.nh (vx , vy ) 6= e tren chu tr`nh sao cho vx Vk1 v`a vy
/ Vk1 .
Ta co
w(x, y) w(i, j).
Suy ra d`o thi. T := [T 0 {e}] {(vx , vy )} co tro.ng lu.o..ng nho ho.n hoa.c b`a ng tro.ng lu.o..ng
`eu c
`an ch
cua T 0 . V` T l`a cay bao tr`
um nen T l`a cay bao tr`
um toi thieu. Do do ta co di
u.ng
minh.
/
`an kiem tra O(n3 ) ca.nh trong tru.`o.ng ho..p xau nhat (b`ai ta.p) de
Thua.t toan Prim c
xac d.inh cay bao tr`
um toi thieu trong d`o thi. n dnh. Ch
ung ta co the ch ra Thua.t toan
2
.
.
.
.
`an kiem tra O(n ) ca.nh trong tru `o ng ho..p xau nhat. V` Kn co n2 ca.nh
4.4.3 du o i day ch c
nen thua.t toan sau hie.u qua ho.n.

4.4.3

Thu
a.t to
an Dijkstra-Kevin-Whitney

Thua.t toan du.o.i day t`m cay bao tr`


um toi thieu trong d`o thi. lien thong co tro.ng so hie.u
.
.
.
qua ho n phu o ng phap cua Prim. Phu.o.ng phap sau n`ay du.a ra bo.i Dijkstra [20], v`a bo.i
Kevin v`a Whitney [41].
tu.o.ng cua thua.t toan l`a gan moi dnh vj
Y
/ Ts mo.t nhan (j , j ), trong do o. bu.o.c
`an vo.i dnh vj nhat v`a j l`a do. d`ai ca.nh (j , vj ). Ta.i moi bu.o.c
n`ao do j l`a dnh thuo.c Ts g
121

http://www.ebook.edu.vn

trong suot qua tr`nh thu..c hie.n thua.t toan, mo.t dnh mo.i, chang ha.n vj , vo.i gia tri. j nho
nhat du.o..c them c`
ung vo.i ca.nh (j , vj ) v`ao cay Ts . V` cay Ts du.o..c them dnh vj nen cac
`an du.o..c ca.p nha.t la.i (neu, chang ha.n, w(vj , vj ) nho
nhan (j , j ) cua cac dnh vj
/ Ts c
ho.n nhan tru.o.c do j ), v`a tien tr`nh du.o..c xu. l
y tiep tu.c. Thu tu.c gan nhan n`ay tu.o.ng tu..
.
vo i thu tu.c gan nhan cua thua.t toan Dijkstra t`m du.`o.ng di ngan nhat.
Thua.t toan nhu. sau:
- a.t Ts := {s}, trong do s l`a dnh du.o..c cho.n tu`
1. [Kho.i ta.o] D
yy
, v`a As = . (As l`a ta.p
.
.

cac ca.nh cua cay bao tr`


um nho nha t du o. c ta.o ra trong qua tr`nh la.p).
2. [Gan nhan] Vo.i mo.i dnh vj
/ Ts t`m dnh j Ts sao cho
w(j , vj ) = min{w(vi , vj ) | vi Ts } = j
v`a gan nhan cua dnh vj l`a (j , j ).
`on ta.i dnh j , t
Neu khong t
u.c l`a (vj ) Ts = th` da. t nhan cua vj l`a (0, +).
3. [Them ca.nh] Cho.n dnh vj sao cho
j = min{j | vj
/ Ts }.
Ca.p nha.t Ts := Ts {vj }, As := As {(j , vj )}.
um nho nhat. Ngu.o..c
Neu #Ts = n thua.t toan d`
u.ng; cac ca.nh trong As cho cay bao tr`
la.i, chuyen sang Bu.o.c 4.
4. [Ca.p nha.t nhan] Vo.i mo.i vj
/ Ts v`a vj (vj ) ca.p nha.t cac nhan nhu. sau:
Neu j > w(vj , vj ) th` da.t j = w(vj , vj ), j = vj . Chuyen sang Bu.o.c 3.

4.5

B`
ai to
an Steiner

`an tru.o.c ch
Trong ph
ung ta da xet b`ai toan t`m cay bao tr`
um nho nhat. Mo.t b`ai toan co
.
.
.

`eu l`a b`ai toan Steiner trong

lien quan vo i t`m cay bao tr`


um nho nha t nhu ng kho ho n nhi
cac d`o thi. [21]. Trong b`ai toan Steiner, cay bao tr`
um nho nhat T do`i hoi di qua mo.t ta.p
.
.
con P V cho tru o c cua d`o thi. G. Cac dnh khac (thuo.c V \ P ) co the thuo.c hoa.c khong
`eu kie.n cu..c tieu tro.ng lu.o..ng cua cay T. Do do, b`ai toan Steiner tren d`o
thuo.c cay vo.i di
thi. tu.o.ng du.o.ng vo.i t`m cay bao tr`
um nho nhat trong d`o thi. con G0 = (V 0 , 0 ) cua G vo.i
P V 0 V.
Tha.t ra, b`ai toan Steiner du.o..c phat bieu o. da.ng nguyen thuy l`a mo.t b`ai toan h`nh
ho.c [15], trong do ta.p P cac diem tren ma.t phang du.o..c noi vo.i nhau b`a ng cac doa.n thang
122

http://www.ebook.edu.vn

sao cho tong cac doa.n thang du.o..c ve l`a t nhat. Neu gia thiet hai doa.n thang ch co the
cat nhau ta.i cac dnh cua P th` b`ai toan tro. th`anh t`m cay bao tr`
um nho nhat cua d`o thi.
.
.
.
.
.
.
.
.
tu o ng du o ng co #P dnh vo i ma tra.n trong lu o. ng xac di.nh bo i ma tra.n khoang cach gi
u.a
cac diem thuo.c ta.p P. Tuy nhien, khi cac dnh nhan ta.o khac (go.i l`a cac diem Steiner)
du.o..c ta.o them tren ma.t phang th` tro.ng lu.o..ng cua cay bao tr`
um nho nhat tu.o.ng u
.ng ta.p
dnh mo.i P 0 P se co the giam di. Chang ha.n, xet bon diem trong H`nh 4.14(a) vo.i cay
bao tr`
um nho nhat T ; tuy nhien khi them hai diem mo.i s1 v`a s2 ta du.o..c cay bao tr`
um nho
0
.
.
.
.
nhat mo i T qua sau dnh co tro.ng lu o. ng nho ho n cay T (xem H`nh 4.14(b)). Do do trong
`eu diem Steiner du.o..c them v`ao trong ma.t phang de ta.o ra cay bao
b`ai toan Steiner goc, nhi
.
tr`
um nho nhat qua nh
u ng dnh cho tru.o.c P. Ket qua du.o..c d`o thi. go.i l`a cay Steiner nho
nhat.
P3
(4, 4)

P3
.
...
.
...

.
.................
.............
...
.............
...
.............
.............
.
.
.
.
.
.
.
.
.
.
....
.
.
........
.
.
.
.
.
.
.
.
...
.
.
.
.
.........
.
.
.
.
.
.
...
.
.
.
.
.
.
........
.
.
.
.
...
.
.
.
.
.
.
.
.
.....
...
....
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..

.
...
...
..
...
.
.
.
...
...
...
..
...
.
.
...
..
...
...
...........
...
.... ......
................
... ...
... .....
.
.
. .
......................................................................................
...
...
...
...
...
..
.
.
...
...
...
.
.
.
.....
.
....
...
.
.
.
.
.
.
.
.
.
....
...
..
..
.
.
.
.
...
...
..
...
...
....
.
...
...
.
...
...
..
.
...
...
..
.
...
...
.
.
...
.
...
.
...
.
.
...
...
.
.
...
.
...
..

P1
(0, 3)

P1
.........

(0, 1)
P2

P2

(4, 0)
P4

1200

s1

1200

s2

Cac diem
Steiner

P4

H`nh 4.14: (a) Cay bao tr`


um nho nhat co tro.ng lu.o..ng ba` ng 10.123. (b) Cay Steiner nho
nhat co tro.ng lu.o..ng 9.196.
`eu cong tr`nh nghien c
Co rat nhi
u.u xung quanh b`ai toan Steiner tren ma.t phang
`eu tnh chat cua cay Steiner nho nhat du.o..c phat hie.n. Trong so do, cac tnh
Euclide, v`a nhi
chat sau l`a quan tro.ng nhat (ch
u.ng minh cac tnh chat n`ay co the xem [28]):
- oi vo.i diem Steiner si co ba.c d(si ) = 3. B`a ng h`nh ho.c de d`ang ch ra r`a ng goc lien
1. D
thuo.c gi
u.a cac diem Steiner ba.c ba b`a ng 1200 , v`a co du
ng ba ca.nh lien thuo.c vo.i diem
Steiner si . Do do diem n`ay l`a tam (tam Steiner) cua tam giac ao m`a ba dnh cua
tam giac khac nhau du.o..c noi vo.i dnh si trong cay bao Steiner nho nhat.
Mo.t so diem ta.o th`anh cac dnh cua tam giac n`ay co the l`a cac diem Steiner khac.
Chang ha.n, trong H`nh 4.14, diem Steiner s2 l`a tam Steiner cua tam giac ao vo.i cac
dnh l`a P3 , P4 v`a s1 .
2. Vo.i dnh Pi P n`ao do m`a d(Pi ) 3. Neu d(Pi ) = 3 th` goc gi
u.a hai ca.nh bat k`
y
123

http://www.ebook.edu.vn

trong ba ca.nh lien thuo.c vo.i Pi b`a ng 1200 , v`a d(Pi ) = 2 th` goc gi
u.a hai ca.nh lien
0
.
.
thuo.c Pi lo n ho n hoa.c b`a ng 120 .
3. So k cac diem Steiner trong cay bao tr`
um nho nhat Steiner thoa r`ang buo.c 0 k
n 2, trong do n = #P.
`eu co gang trong vie.c giai quyet b`ai toan Steiner tren ma.t phang Euclide,
Ma.c d`
u co nhi
.

nhu ng ch
ung ta ch mo.i thu du.o..c nh
u.ng ket qua rat ha.n che (trong tru.`o.ng ho..p #P 10).
`an d`
Vo.i nh
u.ng b`ai toan co kch thu.o.c lo.n ta c
ung phu.o.ng phap heuristics.
Mo.t da.ng khac cua b`ai toan Steiner su. du.ng khoang cach b`an c`o. thay cho khoang cach
`an d`au tien bo.i Hanan [32] v`a co lien quan vo.i cac du.`o.ng
Euclide. B`ai toan n`ay du.o..c xet l
dan du.o..c in tren cac bang ma.ch die.n tu.. Nhac la.i r`a ng, khoang cach b`an c`o. cua hai diem
(x1 , y1 ) v`a (x2 , y2 ) trong ma.t phang R2 xac d.inh bo.i
d1,2 := |x1 x2 | + |y1 y2 |.
`eu kie.n n`ay, co the ch
Vo.i cac di
u.ng minh r`a ng neu ke mo.t lu.o.i cac du.`o.ng thang n`a m ngang
.
v`a du
ng di qua cac diem cua ta.p P th` l`o.i giai cua b`ai toan Steiner co the xac d.inh ba` ng
cach xem vi. tr cac diem Steiner thuo.c v`ao cac giao diem cua lu.o.i n`ay.
Do do, neu d`o thi. G du.o..c xac d.inh bo.i ta.p dnh V l`a cac giao diem cua lu.o.i v`a mo.t
ca.nh lien thuo.c hai dnh tu.o.ng u
.ng doa.n thang thuo.c lu.o.i noi hai giao diem. Khi do b`ai
toan Steiner tren ma.t phang vo.i khoang cach b`an c`o. tro. th`anh b`ai toan Steiner tren d`o thi.
h
u.u ha.n G. H`nh 4.15(b) minh ho.a v du. cua cay Steiner nho nhat trong b`ai toan Steiner
um nho nhat cua d`o thi. xac
6 diem vo.i khoang cach b`an c`o. v`a H`nh 4.15(a) l`a cay bao tr`
.
.
.
.
.
.

d.inh bo i 6 diem (de do n gian lu o i khong du o. c ve ra).


`eu tac gia
B`ai toan Steiner tren d`o thi. vo hu.o.ng tong quat du.o..c nghien c
u.u bo.i nhi
.
`e ma.t tnh toan) giai quyet ch
v`a da co nh
u ng thua.t toan (khong hie.u qua v
ung. Tuy nhien
(nhu. trong tru.`o.ng ho..p b`ai toan Steiner vo.i khoang cach Euclide), kch thu.o.c lo.n nhat cua
mo.t b`ai toan Steiner tren d`o thi. co the giai tren may tnh die.n tu. vo.i th`o.i gian cho phep
van khong vu.o..t qua 10 dnh (trong P ). Noi cach khac, b`ai toan Steiner tren d`o thi. c
ung co
the xem l`a b`ai toan chu.a co l`o.i giai.

124

http://www.ebook.edu.vn

7
6
5
4
3
2
1
0

P1
.......

P1
.......

....
...
...
...
...
...
...
...
...
...
...
...
...
...........................................................................
...
...
...
...
...
...
...
...
...
..
............................................................................
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
.
....................................................................................................................................................................................

....
...
...
...
...
...
...
...
...
...
...
.............................................................................................................
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..
...............................................................................................................
...
...
...
...
...
...
...
.......................................................................

P3

P2

P2

P6

P5

P4

P3

P6

P5

P4

H`nh 4.15: (a) Cay bao tr`


um nho nhat co tro.ng lu.o..ng b`a ng 18. (b) Cay Steiner nho nhat
.
.
co tro.ng lu o. ng b`a ng 15 (? = cac diem Steiner).

125

http://www.ebook.edu.vn

126

http://www.ebook.edu.vn

Chu.o.ng 5
B`
ai to
an Euler v`
a b`
ai to
an Hamilton
`on t`
L
y thuyet d`o thi. phat trien bat ngu
u. nh
u.ng b`ai toan co dien, trong so do b`ai toan Euler
`an v`a qua moi dnh du
v`a b`ai toan Hamilton t`m h`anh tr`nh di qua moi ca.nh du
ng mo.t l
ng
.
.
.
`an tu o ng u
ng dong vai tr`o quan tro.ng.
mo.t l
Hai b`ai toan n`ay co lien quan den nh
u.ng u
.ng du.ng: cac b`ai toan t`m h`anh tr`nh tot
nhat (ngu.`o.i du.a thu. Trung Hoa, ngu.`o.i ch`ao h`ang), tu.. do.ng hoa thiet ke b`a ng may tnh,
la.p li.ch, van van.
Ma.c d`
u hai b`ai toan n`ay du.o..c phat bieu rat giong nhau, nhu.ng m
u.c do. kho trong
vie.c giai quyet ch
ung l`a rat khac nhau.
`on ta.i thua.t toan da th
Ch
ung ta se ch
u.ng minh ra` ng trong d`o thi. vo hu.o.ng, t
u.c t`m
`e t`m ca.p ghep ho`an
h`anh tr`nh Euler v`a b`ai toan ngu.`o.i du.a thu. Trung Hoa co the du.a v
.
.

`
hao co tro.ng lu o. ng nho nha t [30] (c
ung xem Phan 7.5). Cac thua.t toan n`ay se du.o..c tr`nh
`an 5.1 v`a 5.2.
b`ay trong cac Ph
`on ta.i chu tr`nh hay ma.ch Hamilton l`a nh
Ma.t khac, van d`e t
u.ng b`ai toan khong da
th
u.c khong du.o..c d`e ca.p o. day. Ba.n do.c quan tam co the xem, chang ha.n [30]. Ch
ung ta
`an 5.3 nh
`on ta.i cua cac chu tr`nh
ch tr`nh b`ay trong Ph
u.ng ket qua chnh lien quan den su.. t
`eu kie.n, cac ch
hay ma.ch Hamilton. Khi co di
u.ng minh co tnh kien thiet thua.t toan hoa.c
.
.
.
co the d`e xuat nh
u ng phu o ng phap heuristic.

5.1

B`
ai to
an Euler

- i.nh ngha 5.1.1 Gia su. G = (V, E) l`a d`o thi. vo hu.o.ng (do.n hoa.c da d`o thi.). Day chuy
`en
D
127

http://www.ebook.edu.vn

`en ch
`an. Chu tr`nh
Euler l`a day chuy
u.a tat ca cac ca.nh cua d`o thi., moi ca.nh du
ng mo.t l
.
`en Euler m`a dnh d`au tr`
Euler l`a day chuy
ung vo i dnh cuoi.
`eu ngu.`o.i dan th`anh pho
V du. 5.1.2 (B`ai toan Euler) Cach day khoang ba tram nam, nhi
Konigsberg cua nu.o.c Nga (sau n`ay l`a th`anh pho Kaliningrat) da t`
u.ng thac mac van d`e nhu.
`au
sau: Th`anh pho co song Pregel chay qua, gi
u.a song co c`
u lao Kneiphof, v`a co 7 chiec c
.
.
`au nhu ng moi c
`au ch di
bac qua song nhu tren H`nh 5.1(a); co the di da.o qua khap cac c
.
.
`an thoi khong? Neu ta coi moi khu vu. c a, b, c, d cua th`anh pho nhu mo.t dnh, moi c
`au
mo.t l
.
.

qua la.i hai khu vu. c nhu mo.t ca.nh noi hai dnh, th` ban do th`anh pho Konigsberg l`a mo.t
d`o thi. (H`nh 5.1(b)). Thac mac cua ngu.`o.i dan th`anh pho chnh l`a: co the ve du.o..c d`o thi.
`en hay khong? Noi cach khac: t
`on ta.i chu tr`nh Euler?
ba` ng mo.t net b
ut li
Nh`a toan ho.c L. Euler (1707-1783) l`a ngu.`o.i d`au tien da ch
u.ng minh b`ai toan khong
co l`o.i giai (nam 1736, xem [22], [23]), v`a v` va.y b`ai toan thu.`o.ng du.o..c go.i l`a b`ai toan Euler
`e cac c
`au o. Konigsberg.
v
a
......
...... ......
... .. .....
.. .... .........
.
.....
... ...
.....
.....
... ....
.....
...
...
.....
...
.....
....
...
.....
...
.....
...
...
.....
...
...
.....
... ...
.....
... ..
.....
.....
... ...
.....
... ...
.....
... ..
.....
... ...
.
...........................................................................................
.
..
......
.....
.
....
.
.. ..
.
.
.
.
...
.
.. ....
.
.
.
.
.....
... ..
.....
... ....
.....
.....
...
....
.....
.
.
.
....
...
....
....
...
.....
...
...
.....
...
.....
.....
... ....
.
.
.
.
... ..
....
... ...
.....
... .. ........
... ... ......
..... ......
......

a
..............
..........
................
................
...................
................................................
..................................................................................................... .......
......
......
........
..........
....
......
......
........
......
......
......
......
...................................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
......
.....
.....................................................................
.
.
.....
.
.
.
.
.
.
...
.
..
...
...
...
...
..
..........................................
.....
.
..
..............................................
...
.
.
.....
...
.
......
.
.
.
.
.
.
.
.......
...................................................................
....
.
.
.
..........
.
.
.
....
....
.
..........................................
......
......
........
......
......
......
......
......
......
.......
........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.............................. .......
...................................................
.
.
.
.
.
...................
.
.....
.
...............
.
.
.
.
.
.
.
.
.
.
.
.
.
........
.........

(a)

(b)

- `o thi. tu.o.ng du.o.ng.


H`nh 5.1: (a) Ban d`o cua th`anh pho Konigsberg. (b) D
- i.nh l
- a d`o thi. vo hu.o.ng lien thong G = (V, E) co day chuy
`en Euler neu
D
y 5.1.3 [Euler] D
`a ng 0 hoa.c 2.
v`a ch neu so cac dnh ba.c le b
`en
Ch
u.ng minh. Tru.o.c het ch
uy
r`a ng d`o thi. khong lien thong khong the ch
u.a day chuy
hoa.c chu tr`nh Euler.
`eu kie.n c
`an. Neu l`a day chuy
`en Euler, th` ch co hai dnh
u.ng minh di
Bay gi`o. ta ch
d`au v`a cuoi co ba.c le. Neu ngo`ai ra, hai dnh n`ay tr`
ung nhau (chu tr`nh Euler) th` khong
co dnh ba.c le.
128

http://www.ebook.edu.vn

`eu kie.n du b`a ng quy na.p theo so ca.nh m cua G. Hien nhien
Ke tiep ta ch
u.ng minh di
d.inh l
y du
ng neu m = 1. Gia su. d.inh l
y du
ng cho mo.i d`o thi. lien thong m ca.nh. Neu G co
.
hai dnh ba.c le, gia su cac dnh n`ay l`a a v`a b (neu tat ca cac dnh cua G co ba.c chan, cho.n
`en m`a ta di tren d`o thi. G xuat phat t`
dnh a bat k`
y v`a lay b = a). K
y hie.u l`a day chuy
u. a
.
.
.
.
`an. Neu ta.i th`o i diem n`ao do ta o dnh x 6= b
theo hu o ng tu`
yy
, di qua moi ca.nh du
ng mo.t l
.
ngha l`a ta da su du.ng mo.t so le ca.nh lien thuo.c vo.i x nen co the di theo ca.nh khac chu.a
du.o..c su. du.ng. Neu ta khong the di du.o..c n
u.a, ngha l`a dang o. dnh b. Neu tat ca cac ca.nh
`en Euler v`a d.inh l
da du.o..c su. du.ng, l`a mo.t day chuy
y du
ng. Trong tru.`o.ng ho..p ngu.o..c
la.i, d`o thi. con G0 du.o..c xac d.inh bo.i cac ca.nh chu.a du.o..c su. du.ng ch co nh
u.ng dnh ba.c
0
0
0
0
.
`an lien thong cua G ch
chan. K
y hie.u G1 , G2 , . . . , Gp l`a cac th`anh ph
u a t nhat mo.t ca.nh.
0
.
Khi do cac d`o thi. Gi co so ca.nh t ho n m v`a do do theo gia thiet quy na.p, ch
ung ch
u.a mo.t
0
0
.
`en co chung vo i cac d`o thi. G1 , G2 , . . . , G0p cac
chu tr`nh Euler i . V` G lien thong, day chuy
dnh theo th
u. tu.. i1 , i2 , . . . , ip . Khi do h`anh tr`nh: xuat phat t`
u. a di tren den dnh i1 , di
`e i1 , di tren den dnh i2 di do.c theo chu tr`nh 2 t`
`e i2 ,
do.c theo chu tr`nh 1 t`
u. i1 v
u. i2 v
.
.
.
- i.nh l
`en Euler xuat phat t`
v`a van van, l`a mo.t day chuy
u a v`a ket th
uc ta.i b. D
y du o. c ch
u.ng
minh.
/
- `o thi. thoa cac di
- .inh l
`eu kie.n cua D
D
y Euler go.i l`a d`o thi. Euler.

5.1.1

`en Euler
Thu
a.t to
an t`m d
ay chuy

- i.nh l
`en Euler
Cach ch
u.ng minh D
y Euler 5.1.3 cho ta mo.t thua.t toan xay du..ng day chuy
trong mo.t d`o thi. Euler.
`en do.n gian xuat phat t`
1. Xay du..ng mo.t day chuy
u. s.
`en Euler.
2. Neu tat ca cac ca.nh cua G da du.o..c su. du.ng th` d`
u.ng v`a ta co l`a day chuy
.
.
.
.
Ngu o. c la.i sang Bu o c 3.
`om cac ca.nh chu.a du.o..c su. du.ng. Cho.n dnh c cua G1
3. K
y hie.u G1 l`a d`o thi. con cua G g
`en . Xay du..ng chu tr`nh do.n gian 1 trong d`o thi. G1 xuat phat
n`a m tren day chuy
t`
u. dnh c.
`en ba` ng cach gan them chu tr`nh 1 ta.i dnh c (t
4. Mo. ro.ng day chuy
u.c l`a day cac
.
.
ca.nh cua 1 du o. c ch`en v`ao day cac ca.nh cua ).
5. Thay G bo.i G1 v`a la.p la.i bu.o.c 2.
- `o thi. trong H`nh 5.2 co mo.t chu tr`nh Euler
V du. 5.1.4 D
(v1 , e1 , v2 , e2 , v3 , e3 , v2 , e4 , v3 , e15 , v4 , e14 , v5 , e13 , v4 , e12 , v6 , e11 ,
129

http://www.ebook.edu.vn

e2

..........................................................................
..............
...........
...........
.........
.........
........
.
.
.
.
.
.
.
.......
...
.......
.......
....
......
.
.
.
.
..........................................................................................................................................................................................................
.
.
.
.
.......
...
.
...... ... .........
.
.
.
.
.
.
.
.
.
.
........
..... .
.
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.... .........
.........
...
...............
...........
.....
...
.....
........... ......
..............
.....
.....
........................................................................... ............
...
.....
....
.
.
.
.
.
.
.
.....
.
.
.
.
...
.....
.
.....
.
.
.
.
.
.
.
.
.
.
.....
...
.
...
.
.
.
.
.
.
.
.
.
.
.
.....
.
.
...
.....
.
.
.
.
.....
.
.
.
.
.
.
.
...
...
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
.....
.
.....
....
.
.
.
.
.
.
.....
.
.
.
.
...
.
...
.
.....
.
.
.
.
.
.
.
.
.
.
.
.....
.
...
.....
.
.
.
.
.
.
.
.
.....
.
.
.
...
.
...
.
.
.
.....
.
.
.
.
.
.
.
.
.
.....
.
...
.....
.
.
.
.
.
.
.
.
.
.
.
.....
...
.
...
.
.
.
.
.
.
.....
.
.
.
.
.
.
.
.....
.....
....
.
.
.
.
.
.
.
.
.
.
.....
...
.
...
.
.
.
.
.
.
.
.
....
.
.
.
.
.
...
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
................ .........
...
.
...........
...
.
.
.
.
.
.
.
.
.
.
.
.......... .....
.
.
.
.
.
.
.
.
.
.
.
.
............
. .............
....
.
....
.
.
.
.
.
.
.
........
.
.
.
...........
..............................................................................................................................
....
... ........
.............
... .........
..............
.... ....................
.......
... ........
............................................................. ........
....
.
.......
......
...
.
......
.......
...
...
....
....
......
.......
.....
...
......
.......
...
...
.....
...
......
.......
.....
...
...
...
.....
.......
.....
.
.
.
...
.
.
.
.
.
.....
.......
.
....
....
.....
.......
....
....
....
.....
.....
.......
.....
.....
...
...
.....
.......
.....
.....
.....
...
...
.......
.....
.....
.....
.
.
.
.
.
.
.
.
.
.
.
.....
.......
.....
.
....
.....
.......
.....
....
....
.....
.....
.......
.....
...
...
.....
.....
.......
....
.....
.....
...
...
.......
....
.....
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
.....
...
.
....
......
.......
...
..
....
.....
......
.......
... ...
...
.....
......
.......
... ...
.....
......
...
.......
... ...
.....
.
......
.
.
.
.
.
.
.
.
.
.
.......
.
...... ... ...
....... .... .........
....... .....
.. . .
....... ....
..........................................................................................................................................................................................................

e3

v2

v3

e4

e1

e16

e17

v1

e14

v7

e5

e15

v5

v4

e13

e6

e7

e8

v8

e10

e9

e11

e12

v6

`e d`o thi. Euler.


H`nh 5.2: Mo.t v du. v
v5 , e16 , v3 , e17 , v7 , e10 , v6 , e9 , v8 , e8 , v7 , e5 , v1 , e7 , v8 , e6 , v1 ).
`en hay chu tr`nh Euler co the du.o..c xac di.nh bo.i mo.t danh sach co th
u.
Mo.t day chuy
uc danh sach
tu.. cac dnh cua G ch
u.a trong no. Chang ha.n, ta co the su. du.ng mo.t cau tr
lien ket
typedef struct PathNode *PathPtr;
struct PathNode
{
byte Vertex;
PathPtr Next;
};
`en, trong do V ertex l`a so hie.u dnh tren day
de danh dau cac dnh lien tiep tren day chuy
.
`en; v`a con tro N ext ch n
`e V ertex tren day chuy
`en.
chuy
ut ke tiep ch
u a so hie.u cua dnh k

`
`

De tha y ra ng, danh sach n`ay co so n


ut ba ng (m + 1).
`e sau ta se gia thiet G du.o..c cho bo.i mang cac danh sach k
`e V out[] (co
T`
u. day v
.

tro.ng so), trong do vo i moi dnh vi V, V out[i] l`a danh sach cac dnh lien thuo.c dnh vi
v`a tru.`o.ng do. d`ai Length o. n
ut th
u. j (tu.o.ng u
.ng dnh vj ) l`a so ca.nh lien thuo.c vo.i dnh
vi . Trong qua tr`nh thu..c hie.n thua.t toan, moi khi di qua ca.nh (vi , vj ) n`ao do, ta giam do.
130

http://www.ebook.edu.vn

d`ai Length mo.t do.n vi. o. n


ut th
u. j trong danh sach V out[i] de danh dau ca.nh da du.o..c su.
du.ng.
`eu nhat hai l
`an nen do. ph
V` moi ca.nh cua d`o thi. du.o..c kiem tra nhi
u.c ta.p cua thua.t
toan l`a O(m).

5.2

B`
ai to
an ngu.`
o.i d
u.a thu. Trung Hoa

Xet d`o thi. vo hu.o.ng lien thong G := (V, E) co tro.ng so (t


u.c l`a moi ca.nh e E ta gan mo.t
so w(e) go.i l`a tro.ng lu.o..ng cua ca.nh e).
B`ai toan ngu.`o.i du.a thu. Trung Hoa (khong du.o..c d.inh hu.o.ng) phat bieu r`a ng t`m mo.t
`en gi
`an v`a co
day chuy
u.a hai dnh cho tru.o.c a, b V su. du.ng moi ca.nh cua G t nhat mo.t l
do. d`ai nho nhat (xem [44]).
`eu b`ai toan v
`e h`anh tr`nh (ngu.`o.i du.a thu., ngu.`o.i giao s
u.a, ngu.`o.i ch`ao h`ang, v.v)
Nhi
co the phat bieu o. da.ng n`ay. Trong tru.`o.ng ho..p d`o thi. co hu.o.ng, trong do moi cung cua G
`an, b`ai toan co the du.a v
`an du.o..c su. du.ng t nhat mo.t l
`e b`ai toan lu
`ong vo.i chi ph nho
c
nhat (b`ai ta.p).
`e sau ch
T`
u. day v
ung ta ch xet d`o thi. vo hu.o.ng. Khong mat tnh tong quat co the
`en l`a tr`
gia thiet dnh xuat phat a v`a dnh ket th
uc b tren day chuy
ung nhau. Trong tru.`o.ng
`an them mo.t ca.nh (a, b) vo.i do. d`ai b`a ng khong. Vo.i moi chu tr`nh
ho..p ngu.o..c la.i, ta ch c
`on ta.i mo.t day chuy
`en tren G co c`
co do. d`ai nho nhat tren d`o thi. mo.i n`ay, t
ung do. d`ai v`a
do do l`a nho nhat.
`on ta.i mo.t chu tr`nh Euler di qua moi ca.nh du
`an
Neu G l`a d`o thi. Euler th` t
ng mo.t l
.
v`a v` va.y l`a mo.t nghie.m toi u u cua b`ai toan.
`on ta.i mo.t so cac dnh ba.c le. K
Noi chung, G khong phai l`a d`o thi. Euler, nen t
y hie.u
`an tu. cua ta.p V1 l`a mo.t so chan. Khi
V1 l`a ta.p cac dnh cua G co ba.c le. De thay r`a ng so ph
`e vie.c them mo.t so ca.nh v`ao G de tro. th`anh
do b`ai toan ngu.`o.i du.a thu. Trung Hoa du.a v
d`o thi. Euler v`a c`
ung l
uc, cu..c tieu hoa tong cac tro.ng lu.o..ng cua cac ca.nh du.o..c them v`ao.
`on ta.i mo.t ca.nh e = (vi , vj )
Ch
ung ta khong them mo.t ca.nh e0 = (vi , vj ) tr`
u. khi da t
0
0
.
.
trong G v`a gan tro.ng lu o. ng cua ca.nh e l`a w(e ) := w(e). Ca.nh e0 go.i l`a ban sao cua e.
Xet mo.t l`o.i giai toi u.u cua b`ai toan v`a da. t E 0 l`a ta.p cac ca.nh du.o..c them v`ao G. K
y
0
0
.
.
hie.u G = (V, E + E ) l`a d`o thi. Euler nha.n du o. c.

131

http://www.ebook.edu.vn

`e 5.2.1 Gia su. vi l`a mo.t dnh ba.c le trong G. Khi do ta.p E 0 ch
`en
B
o d

u.a mo.t day chuy


.
.
so c
ap noi dnh vi vo i mo.t dnh vj 6= vi co ba.c le trong G.
Ch
u.ng minh. Vo.i mo.i dnh vk V1 ta co dG (vk ) 1 (mod 2) v`a dG0 (vk ) 0 (mod 2); ngo`ai
`on ta.i t nhat mo.t ca.nh e1 E 0 lien thuo.c
ra, theo cach xay du..ng dG0 (vk ) dG (vk ). Do do t
dnh vi .
K
y hie.u vi1 l`a dnh khac vi m`a ca.nh e1 lien thuo.c. Neu dG (vi1 ) 1 (mod 2) th` bo d`e
.
.
du o. c ch
u.ng minh vo.i vj = vi1 . Ngu.o..c la.i, neu dG (vi1 ) 0 (mod 2) th` dG0 (vi1 ) dG (vi1 ) + 2
`on ta.i ca.nh e2 E 0 , e2 6= e1 , lien thuo.c dnh vi1 . K
v`a t
y hie.u vi2 l`a dnh khac vi1 m`a ca.nh
.
.

e2 lien thuo.c. Neu dG (vi2 ) 1 (mod 2) th` bo d`e du o. c ch


u.ng minh vo.i vj = vi2 . Ngu.o..c la.i,
0
`on ta.i ca.nh e3 E , e3 6= e2 , lien thuo.c dnh vi2 , v`a van van.
t
`en so. cap d`ai nhat co the
Do do ta xay du..ng du.o..c mo.t day chuy
(vi , e1 , vi1 , e2 , vi2 , . . . , ep , vip ).
`on ta.i ca.nh
u.ng minh vo.i vj = vip . Ngu.o..c la.i, t
Neu dG (vip ) 1 (mod 2) th` bo d`e du.o..c ch
0
.
.
.
`on ta.i ch so
ep+1 E , ep 6= ep+1 , lien thuo.c dnh vip v`a vip+1 . Trong tru `o ng ho. p n`ay, t
q, 1 q p, sao cho viq vip+1 v`a ta co mo.t chu tr`nh xuat hie.n. Loa.i bo tat ca cac ca.nh
trong chu tr`nh n`ay ta du.o..c mo.t d`o thi. con G00 cua G0 sao cho no van l`a d`o thi. Euler v`a
ho.n n
u.a
dG00 (vk ) dG (vk ),
vo.i mo.i dnh vk V.
`en tren, xuat phat t`
La.p la.i cach xay du..ng day chuy
u. dnh viq ch su. du.ng cac ca.nh
cua G00 .
Do so cac ca.nh trong E 0 l`a h
u.u ha.n, nen sau mo.t so h
u.u ha.n bu.o.c ta du.o..c mo.t dnh
vip sao cho dG (vip ) 1 (mod 2) v`a bo d`e du.o..c ch
u.ng minh vo.i vj = vip .
/
`e 5.2.2 Gia su. vi v`a vj l`a hai dnh thoa man cac di
`eu kie.n cu a Bo d`e 5.2.1 v`a ky
B
o d

.
.
.
`en tu o ng u
hie.u day chuy
ng l`a
0 := {e01 , e02 , . . . , e0p }
trong do e0k E 0 , k = 1, 2, . . . , p. Cac ca.nh e01 , e02 , . . . , e0p l`a cac ba n sao cu a cac ca.nh
`en := {e1 , e2 , . . . , ep } trong G. Khi do l`a day
e1 , e2 , . . . , ep trong G v`a xet day chuy
`en (trong G) co tro.ng lu.o..ng nho nhat noi dnh vi vo.i dnh vj .
chuy
`on ta.i mo.t day chuy
`en
Ch
u.ng minh. Neu t
= {
e1 , e2 , . . . , eq } noi dnh vi vo.i dnh vj trong
G co do. d`ai nho ho.n th` b`a ng cach loa.i cac ca.nh e01 , e20 , . . . , e0p khoi G0 v`a them cac ban sao
132

http://www.ebook.edu.vn

e01 , e02 , . . . , e0q cua e1 , e2 , . . . , eq ta nha.n du.o..c mo.t d`o thi. Euler mo.i co tong tro.ng lu.o..ng nho
ho.n, mau thuan.
/
Bay gi`o. xet d`o thi. d`ay du K(V1 ) tren ta.p cac dnh V1 trong do cac ca.nh them v`ao
`en nho nhat trong G gi
(vi , vj ) co tro.ng lu.o..ng wij b`a ng do. d`ai cua day chuy
u.a hai dnh vi
.
.
.
.
`en trong G. V` w(e) 0 vo.i
v`a vj . Khi do moi ca.nh cua K(V1 ) tu o ng u
ng vo i mo.t day chuy
mo.i ca.nh e E nen wij co the du.o..c xac d.inh b`a ng thua.t toan t`m du.`o.ng di ngan nhat,
chang ha.n Floyd (xem 3.3.2) hay Dantzig [16].
- i.nh l
`on ta.i tu.o.ng u
D
y 5.2.3 T
.ng mo.t-mo.t gi
u.a l`o.i gia i toi u.u cu a b`ai toan ngu.`o.i du.a
.
.
thu Trung Hoa vo i mo.t ca.p ghep ho`an ha o co tro.ng lu.o..ng nho nhat trong d`o thi. K(V1 ).
Ch
u.ng minh. Xet mo.t l`o.i giai toi u.u cua b`ai toan ngu.`o.i du.a thu. Trung Hoa v`a da. t E 0 l`a
ta.p cac ca.nh them v`ao G. Theo Bo d`e 5.2.1 ta co the thiet la.p tu.o.ng u
.ng vo.i moi dnh
`en so. cap ij m`a cac ca.nh thuo.c E 0 . Theo
vi V1 vo.i mo.t dnh vj V1 b`a ng mo.t day chuy
`en ij tu.o.ng u
Bo d`e 5.2.2, ij co do. d`ai nho nhat. Trong d`o thi. K(V1 ) cac day chuy
.ng ca.nh
.
.
.
.
(vi , vj ). Do do tat ca cac dnh cua V1 du o. c ket ho. p, hai vo i hai, v`a cac ca.nh (vi , vj ) tu.o.ng
`en ij cua G0 , ta.o th`anh mo.t ca.p ghep ho`an hao K cua d`o thi. K(V1 ). (Trong
u
.ng day chuy
`on ta.i mo.t ca.p ghep ho`an hao; xem Ph
`an 7.5).
d`o thi. d`ay du vo.i so chan dnh luon luon t
.
.
.
.
V` tro.ng lu o. ng cua ca.p ghep ho`an hao K b`a ng tong cac tro.ng lu o. ng cua cac ca.nh cua E 0
nen l`o.i giai cua b`ai toan ngu.`o.i du.a thu. Trung Hoa l`a toi u.u neu v`a ch neu K l`a mo.t ca.p
`eu phai ch
u.ng minh.
/
ghep ho`an hao vo.i tro.ng lu.o..ng nho nhat. Ta co di
`e b`ai toan t`m mo.t ca.p
Do do nghie.m cua b`ai toan ngu.`o.i du.a thu. Trung Hoa du.a v
.
.

`
`

ghep ho`an hao co tro.ng lu o. ng nho nha t cua do thi. day du Kn . Vie.c xac d.inh nghie.m cua
b`ai toan sau l`a mo.t thua.t toan kha ph
u.c ta.p v`a do do se khong du.o..c tr`nh b`ay o. day. Ba.n
do.c quan tam co the tham khao cac t`ai lie.u [14], [30].
`on ta.i ca.nh e trong G sao cho w(e) < 0 th` b`ai toan khong co nghie.m
Nh
a.n x
et 5.2.4 Neu t
.
`
toi u u: Tha.t va.y, ba ng cach them mo.t ta.p E 0 h
u.u ha.n cac ban sao cua cac ca.nh cua G ta
.
`an du lo n, v`a do do nha.n du.o..c mo.t d`o thi. Euler vo.i do.
co the them ca.nh e mo.t so chan l
d`ai nho tu`
yy
. Va.y gia thiet cac ca.nh co tro.ng lu.o..ng khong am l`a khong mat tnh tong
`am thu.`o.ng n`ay.
quat de loa.i tr`
u. tru.`o.ng ho..p t
V du. 5.2.5 Xet d`o thi. trong H`nh 5.3 vo.i cac so tren cac ca.nh l`a tro.ng lu.o..ng ca.nh. Ta
`an t`m mo.t chu tr`nh qua moi ca.nh t nhat mo.t l
`an v`a co do. d`ai nho nhat.
c
Tong cac tro.ng lu.o..ng cac ca.nh cua G b`a ng 31. V` G khong l`a d`o thi. Euler nen do. d`ai
`an t`m se lo.n ho.n 31.
cua chu tr`nh c
133

http://www.ebook.edu.vn

3
......................................................................................... m
2... ........
6...m
4

..
...
..
...
...
...
...
...
...
...
.

..
...
..
...
...
...
...
...
...
...
.

.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
......................................................
....
.....
.....
.....
.
.
.
.
.....
....
.....
.....
.....
.
.
.
.
....
.....
.....
.....
.....
.
.
.
.
...

3
2
......................................................................................... m
1...m
7...
2

..
...
..
...
...
...
...
...
...
...
..

..
...
..
...
...
...
...
...
...
...
..

3m

7
......................................................................................... m
5m
4
H`nh 5.3:

Ta.p cac dnh ba.c le l`a V1 = {1, 2, 3, 4}. Theo thua.t toan t`m du.`o.ng di ngan nhat (xem
`en co do. d`ai nho nhat gi
Chu.o.ng 3), ta t`m tat ca cac day chuy
u.a cac ca.p dnh cua V1 trong
.
.
.
.
G. Ta nha.n du o. c m`a tra.n do. d`ai du `o ng di ngan nhat:
1
1 0
2
4

35
4 7

2
4
0
2
5

3
5
2
0
3

7
5

.
3
0

Tiep den ta xay du..ng d`o thi. d`ay du K(V1 ) trong do tro.ng lu.o..ng ca.nh (vi , vj ) l`a do.
`en ngan nhat gi
d`ai cua day chuy
u.a vi v`a vj (xem H`nh 5.4).
4
......................................................................................... m
1...m
2
.....
....
...
.... ...
7

...
...
..
...
...
...
...
...
...
...
...
...
...
...
...
...
...
.

.....
.
.....
.....
.....
.....
.....
.....
.....
.....
.
.
.
.
.....
..
.....
.....
.....
....
.....
.....
.....
.....
..... ........
.......
.........
..... ........
.....
.....
....
.....
.
.
.
.
.....
.....
.....
.....
.
.....
.
.
.
.....
...
.
.
.
.
.....
...
.
.
.....
.
.
.....
....
.
.
.
.....
...
.
.
...
.
.
.
.........................................................................................

4m

...
...
..
...
...
...
...
...
...
...
...
...
...
...
...
...
...
.

3m

- `o thi. d`ay du K(V1 ).


H`nh 5.4: D
`om cac ca.nh (1, 2) v`a (3, 4)
Ca.p ghep ho`an hao vo.i tro.ng lu.o..ng nho nhat tren K(V1 ) g
.
.
.
.
.
`
`
(tro.ng lu o. ng ba ng 4 + 3 = 7). Cac day chuyen tu o ng u
ng l`a {1, 7, 2} v`a {3, 4}.
Nghie.m toi u.u cua b`ai toan nha.n du.o..c b`a ng cach them v`ao d`o thi. ban d`au cac ca.nh
- `o thi. G0 nha.n du.o..c l`a d`o thi. Euler (H`nh 5.5).
(1, 7), (7, 2) v`a (3, 4). D
134

http://www.ebook.edu.vn

......................................................................................... m
6...m
2 ...
...
... ... .....
.
.
....
...
...
...
..
..
.
...
...
.....
...
...
...
...
...
...
...
............................................... ....
.
.
.
.
.
.
.
.
.
.
...
.
.
.
.......... ..
...
..........
.. ................
.
.........................................................................................
..
....
...
...
...
...
...
...
...
....
..

1m

.
....
...
..
...
...
...
...
...
...
..

.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
......................................................
...
..... ..
..... ...
.....
.
.
.
...
.
...
...
.....
...
.....
...
.....
.
.
.
.
.
....
...
.....
....
.....
.....
.....
.....
.....
.....
.
.
.
.
.
.
.
.
.
..
..
.......
.....
.... .............
.
........

7..m
....
...
..
...
...
...
...
...
....
..

3m

......................................................................................... m
5m
4

- `o thi. Euler G0 nha.n du.o..c t`


H`nh 5.5: D
u. G b`a ng cach them cac ca.nh tu.o.ng u
.ng cac day
`en nho nhat gi
chuy
u.a 1 v`a 2 v`a gi
u.a 3 v`a 4.
`an t`m mo.t chu tr`nh Euler trong G0 , chang ha.n
Cuoi c`
ung ta ch c
{6, 2, 3, 7, 2, 7, 1, 7, 4, 5, 1, 6}
`an t`m.
l`a chu tr`nh co do. d`ai 31 + 7 = 38 l`a nghie.m toi u.u c

5.3

B`
ai to
an Hamilton

Gia su. G := (V, E) l`a d`o thi. lien thong (hay lien thong ma.nh trong tru.`o.ng ho..p co hu.o.ng)
co n dnh.
- i.nh ngha 5.3.1 Day chuy
`en (hay du.`o.ng di) di qua tat ca cac dnh cua d`o thi. G, moi
D
`an, go.i l`a day chuy
`en Hamilton (hay du.`o.ng di Hamilton).
dnh mo.t l
`en (hay du.`o.ng di Hamilton) l`a so. cap, v`a co do. d`ai (n 1).
Theo d.inh ngha, day chuy
Chu tr`nh (hay ma.ch) Hamilton l`a mo.t chu tr`nh (hay ma.ch) di qua tat ca cac dnh
`an. De thay r`a ng, chu tr`nh Hamilton l`a chu tr`nh so. cap
cua d`o thi. G, moi dnh du
ng mo.t l
co do. d`ai n. Ta noi ra` ng, G l`a d`o thi. Hamilton neu no ch
u.a mo.t chu tr`nh Hamilton (trong
tru.`o.ng ho..p vo hu.o.ng) hoa.c mo.t ma.ch Hamilton (trong tru.`o.ng ho..p co hu.o.ng).
V du. 5.3.2 Nam 1859, nh`a toan ho.c Hamilton (1805-1865) ngu.`o.i Ailen da cho ban mo.t
`an chnh l`a mo.t khoi nhi. die.n d`eu (khoi da die.n co 12 ma.t ng
u giac d`eu
d`o cho.i do. c dao, ph
.

v`a 20 dnh, moi dnh co 3 ca.nh) l`am b`a ng go. O moi dnh co ghi ten mo.t th`anh pho lo.n:
Beruych, Quang chau, Deli, Frangfua, v.v... Cach cho.i l`a t`m mo.t du.`o.ng di do.c theo cac
135

http://www.ebook.edu.vn

`an. Muon tr`o cho.i


ca.nh cua tha.p nhi. die.n d`eu v`a qua moi dnh (th`anh pho) v`
u.a du
ng mo.t l
.
.
.
.
.
.
du o. c hap dan ho n co the quy d.inh tru o c tr`nh tu. qua mo.t v`ai th`anh pho d`au tien, v`a de
gi
up nho. de d`ang cac th`anh pho da di qua, o. moi dnh cua khoi tha.p nhi. die.n d`eu co dong
`e
mo.t chiec dinh m
u to, quanh do co the quan so..i day nho de ch doa.n du.`o.ng da di qua. V
.
sau de do n gian, Hamilton da thay khoi tha.p nhi. die.n d`eu b`a ng mo.t h`nh phang. B`ai toan
du.o..c phat bieu du.o.i da.ng d`o thi. nhu. sau. Ta biet r`a ng h`nh tha.p nhi. die.n d`eu co 12 ma.t,
30 ca.nh, 20 dnh; moi ma.t l`a mo.t ng
u giac d`eu, moi dnh l`a d`au m
ut cua 3 ca.nh. Cac dnh
.
v`a cac ca.nh cua h`nh tha.p nhi. die.n d`eu la.p th`anh mo.t d`o thi. nhu H`nh 5.6. B`ai toan da.t
ra l`a hay t`m mo.t chu tr`nh Hamilton cua d`o thi. G.

....................................................................................................................................................
... ....
... ...
... ...
... ..
.. ....
.. .....
.
...
..
...
..
.
.
.
...
...
...
...
...
...
..
...
...
...
..
...
.
..
.
.
...
...
..
..
.
...
.
.
...
...
..
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
...
...
..
..
.
.
...
...
....
..
..
.
.
...
...
...
..
..
.
.
...
...
.
..
..
.
.
.
...
.
...
......
.
.
..
..
.
...
.
.
.
.
.
...
.... .........
.
.
..
...
..
.
.
.
.
.
......
...
....
...
.
.
..
........
.
.
.
.
.
.
.
.
.
.
.
.
......
...
....
..... ...
.
.
.
.
.. ...........
.
..
.
.
.
.
.
.
.
.
.
.
.
...... .......
...
...
................
..
..
.
.
.
.
.
.
.
.
.
.
.
...
...
...
.
..
.
..
...
.
.
.
...
...
.
..
..
.
...
.
.
.
.
.
...
...
.
...
..
.
..
.
.
.
...
...
.
...
..
..
.
.
.
.
.
.
....
...
...
....
.
.
.
..
.
.
.
.
.
.
.
.
.
.
.
...
...
.
.... ............
..... ..........
.
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
...
.......
......
.
..
...
.
.....
.
.
.
.
..
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
......
.
.....
....
.
....
.
.
.. .............
.
......
.
.
.
.
.
.
.
.
.
.
.
....... .....
..... ......
...... ......
........
.
.
.
...............
.
......
.....
.
...
.......
.
......
.
.
.
.
.
.
.. .
...
.......
......
.......
......
......
.......
......
.......
......
.......
......
......
......
.
.
.......
.
.
.
.
.
.
.
.
.
.
...... .....
.......
.......
....
.......
......
.......
...
.......
.......
.......
...
.......
......
.
.
.
.
.......
.
.
.
.......
.....
....
.......
.......
...
.......
.......
.......
.......
...
.......
.......
.
.
.
.
.
.
.
....... .. .......
....... .. .......
...........

H`nh 5.6: H`anh tr`nh xung quanh the gio.i (khoi tha.p nhi. die.n d`eu) cua Hamilton.

V du. 5.3.3 (B`ai toan ngu.`o.i ch`ao h`ang). Mo.t ngu.`o.i ch`ao h`ang vieng tham n khach h`ang
`e vi. tr xuat phat. Anh ta biet
v1 , v2 , . . . , vn , xuat phat t`
u. th`anh pho v0 v`a sau do tro. v
.
khoang cach d0j t`
u v0 den tat ca cac khach h`ang vj v`a khoang cach dij gi
u.a hai khach h`ang
vi v`a vj (da.t dij = dji ).
`an di den cac khach h`ang cua m`nh theo th
Ngu.`o.i ch`ao h`ang c
u. tu.. n`ao de tong quang
.
.
`an t`m mo.t chu tr`nh Hamilton vo.i do. d`ai nho nhat
du `o ng di l`a nho nhat? Noi cach khac c
u. ta.p cac dnh v0 , v1 , v2 , . . . , vn , v`a tro.ng
tren d`o thi. d`ay du co tro.ng so du.o..c xay du..ng t`
.
.
`e cac thua.t toan giai b`ai toan n`ay co the xem, chang ha.n [30].
lu o. ng ca.nh (vi , vj ) l`a dij . V
`e t`m day
Trong tru.`o.ng ho..p dnh cuoi vn+1 khac dnh xuat phat v0 , b`ai toan du.a v
.

`
chuyen Hamilton t`
u v0 den vn+1 co to ng do. d`ai nho nha t. Ba ng cach bien do i mo.t cach
`e b`ai toan t`m chu tr`nh Hamilton co tong do. d`ai nho
thch ho..p tren d`o thi., ta co the du.a v
nhat.
136

http://www.ebook.edu.vn

`an t`m mo.t th


V du. 5.3.4 (B`ai toan la.p li.ch). Trong mo.t so b`ai toan la.p li.ch, ta c
u. tu..
.
.
.
.
.
.
thu. c hie.n n tien tr`nh cho tru o c (hai tien tr`nh khong du o. c thu. c hie.n c`
ung mo.t l
uc) v`a thoa
.
.
man nh
u ng r`ang buo.c nhat d.inh; ba` ng cach xay du. ng d`o thi. G trong do ta.p cac dnh cua
.
.
G tu o ng u
.ng vo.i ta.p cac tien tr`nh v`a mo.t cung lien thuo.c hai dnh vi v`a vj neu tien tr`nh
.
.
`e t`m mo.t du.`o.ng di Hamilton trong G.
i du o. c thu..c hie.n tru.o.c tien tr`nh j, b`ai toan du.a v
V du. 5.3.5 (La.p li.ch v`a b`ai toan ngu.`o.i ch`ao h`ang tren d`o thi. co hu.o.ng). Trong thu..c te
ta thu.`o.ng la.p ke hoa.ch m`a moi cung (vi , vj ), bieu dien mo.t r`ang buo.c n`ao do, gan vo.i mo.t
so thu..c tij l`a khoang th`o.i gian t nhat co the bat d`au thu..c hie.n cong vie.c th
u. j khi cong
vie.c th
u. i da tien h`anh.
Th`o.i gian nho nhat de thu..c hie.n tat ca cac tien tr`nh du.o..c xac di.nh ba` ng cach t`m
- ay chnh l`a b`ai toan
mo.t du.`o.ng di Hamilton co do. d`ai nho nhat tren d`o thi. co hu.o.ng. D
.
.
.
.
`e thua.t toan giai b`ai toan n`ay co the xem, chang
ngu `o i ch`ao h`ang tren d`o thi. co hu o ng. V
ha.n [30].
B`ai toan ngu.`o.i ch`ao h`ang tren d`o thi. vo hu.o.ng hoa.c co hu.o.ng thu.`o.ng ga.p trong cuo.c
`eu u
song v`a co nhi
.ng du.ng: la.p th`o.i khoa bieu, la.p li.ch, lap da. t he. thong die.n, tong ho..p
`an tu.., v.v.
cac ma.ch logic tu
`eu b`ai toan co the du.a v
`e b`ai toan ngu.`o.i ch`ao h`ang: b`ai toan nhi
`eu ngu.`o.i
Ngo`ai ra, nhi
`eu kie.n qua tat ca cac dnh (hay
ch`ao h`ang, mo.t v`ai b`ai toan t`m du.`o.ng di ngan nhat vo.i di
.
.
`

cung) cua mo.t ta.p cho tru o c ch mo.t lan, cac chu tr`nh (hay ma.ch) Euler co chi ph nho
nhat.
Cuoi c`
ung, ta co the ch ra r`a ng, b`ai toan ngu.`o.i ch`ao h`ang tren d`o thi. co hu.o.ng co
.
`e tru.`o.ng ho..p d`o thi. vo hu.o.ng.
the du a v
Trai vo.i b`ai toan ngu.`o.i du.a thu. Trung Hoa, ngoa.i tr`
u. nh
u.ng tru.`o.ng ho..p da.c bie.t,
ngu.`o.i ta chu.a t`m du.o..c mo.t thua.t toan da th
u.c de giai b`ai toan ngu.`o.i ch`ao h`ang. Cac
.
.
.
thua.t toan hie.u qua nhat su du.ng cac phu o ng phap nhanh v`a ca.n [30].
- i.nh ngha 5.3.6 Mo.t chu tr`nh (tu.o.ng u
D
.ng, ma.ch) di qua tat ca cac dnh, moi dnh t
.
.
.
- `o thi. G ch
`en Hamilton. D
`an, go.i l`a chu tr`nh (tu o ng u
ng, ma.ch) ti
u.a mo.t chu
nhat mo.t l
`en Hamilton. De thay r`a ng, di
`eu kie.n c
`an v`a du de
tr`nh hay ma.ch nhu. va.y go.i l`a d`o thi. ti
`
`
G l`a do thi. tien Hamilton l`a G lien thong (lien thong ma.nh).
T`m kiem mo.t chu tr`nh (hay ma.ch) Hamilton co do. d`ai nho nhat tren d`o thi. co tro.ng
.
`e b`ai toan xac di.nh chu tr`nh (hay ma.ch) trong d`o thi. d`ay du G0 nha.n du.o..c ta.p
so du a v
137

http://www.ebook.edu.vn

`en
cac dnh cua G v`a tro.ng lu.o..ng tren ca.nh (cung) (vi , vj ) cua G0 b`a ng do. d`ai cua day chuy
.
.
.
(du `o ng di) ngan nhat t`
u vi den vj trong G.
`eu da.ng b`ai toan ngu.`o.i ch`ao h`ang chnh l`a cac b`ai toan ti
`en Hamilton, v`a de giai
Nhi
`an t`m ma tra.n tu.o.ng u
`en (du.`o.ng di) ngan nhat.
ch
ung tru.o.c het ta c
.ng cac day chuy
`on ta.i mo.t tru.`o.ng ho..p m`a b`ai toan chu tr`nh ti
`en Hamilton
Cuoi c`
ung nha.n xet ra` ng, t
.
.
.
.
.

`e b`ai toan ngu `o i du a thu Trung Hoa; di


`eu n`ay xay ra khi
co do. d`ai nho nhat co the du a v
G l`a d`o thi. doi ngau1 cua do.n d`o thi. vo hu.o.ng G n`ao do v`a khi do. d`ai cua cac ca.nh (vi , vj )
`en Hamilton trong G chnh
co da.ng ai + aj . Trong tru.`o.ng ho..p n`ay, b`ai toan t`m chu tr`nh ti

.
.
.
.
.
l`a b`ai toan ngu `o i du a thu Trung Hoa trong G vo i do. d`ai ca.nh ei cua G l`a ai .
`en Hamilton co do. d`ai nho nhat trong
Nha.n xet tu.o.ng tu.. cho b`ai toan t`m ma.ch ti
.
.
.
.
.

tru `o ng ho. p d`o thi. co hu o ng G l`a d`o thi. doi ngau cua da d`o thi. co hu.o.ng n`ao do.

5.3.1

`eu ki
`an d
`on ta.i chu tr`nh Hamilton
C
ac d
i
e.n c

e t

`eu kie.n c
`an de t
`on ta.i chu tr`nh Hamilton l`a G 2-lien thong. Tuy
Hien nhien ra` ng, mo.t di
`

nhien, day khong phai dieu kie.n du.


H`nh 5.7 l`a mo.t v du. d`o thi. 2-lien thong khong ch
u.a chu tr`nh Hamilton (ho.n n
u.a,
co the ch ra r`a ng, do l`a d`o thi. co so dnh t nhat thoa man tnh chat n`ay).

..........
...... ...........
......
......
......
......
......
......
.
.
.
.
.
......
.
......
......
......
......
.
.
.
.
.
......
....
.
.
......
.
.
.
......
....
.
.
.
.
.
......
....
.
.
......
.
.
.
......
....
.
.
.
.
.
......
....
.
.
......
.
.
.
......
....
.
.
.
.
.
......
....
.
.
......
.
.
.
....
....
.
.
.
.
.
....................................................................................................................................................................................................................................
.
......
......
......
......
......
.
.
.
.
.
.
......
......
......
......
......
.
.
.
.
.
......
.
......
......
......
......
......
......
......
......
......
......
.
.
.
.
.
......
......
......
......
......
......
......
......
......
......
......
.
.
.
.
.
.
......
...... ...........
.....

- `o thi. 2-lien thong co so dnh t nhat khong co chu tr`nh Hamilton.


H`nh 5.7: D
- ay
- `o thi. vo hu.o.ng Petersen (H`nh 5.8) l`a v du. khac khong co chu tr`nh Hamilton. D
D
`eu phan v du. v
`e
l`a d`o thi. chnh quy 3-lien thong nho nhat co tat ca cac dnh ba.c ba. Nhi
.
.
.
.
`
u do thi. Petersen.
b`ai toan Hamilton du o. c xay du. ng t`
Do thi. vo hu.o.ng G l`a d`o thi. doi ngau cua G = (V, E) neu moi dnh cua G tu.o.ng u
.ng vo.i mo.t ca.nh

.
.
.
.
.
- `o thi. co hu o ng G l`a d`o thi. doi
`e nhau neu hai ca.nh tu o ng u
`e nhau. D
e E v`a hai dnh trong G k
ng k

.
.
.
.
`on ta.i cung (e1 , e2 ) trong
ng vo i mo.t cung e E v`a t
ngau cua G = (V, E) neu moi dnh e cua G tu o ng u

G neu dnh ngo.n cua cung e1 l`a dnh goc cua cung e2 .
1- `

138

http://www.ebook.edu.vn

...........
...... .. ......
...... .... ...........
......
......
...
......
......
.
.
...
.
.
.
......
.
...
......
......
......
......
.
.
.
.
.
.
.
......
.
....
.
.
.
......
.
.
.
.
..
......
....
.
.
.
.
.
.
......
....
....
.
.
......
.
.
.
.
......
....
.
.
.
.
.
.
.
......
..
....
.
.
......
.
.
.
.
......
....
.....
.
.
.
.
.
.
.
......
....
. ...
.
.
......
.
.
.
.
.
......
. ....
....
.
.
.
.
.
.
.
.
...
.
..............
.
........
.
...
... .............
..............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
..........
...
......
.
.
.
.
.
..........
.
.
...
.
...
.
.
.
.
.
..........
....................................................................................
..
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
...
...
......
.......
...
...
...
...
......
.......
..
...
...
...
.......
....... ....
..
... ...........
...
........
..
.
.
...
.
.
.
.
.
.
.
.
.
.
...
..
.
...
....... .....
... ............
...
...
....... ............
...
...
...
...
...
........
...
...
...
...
...... ............
.
.
.
.
.
...
..
.
.
.
.
.
....... ..
...
.
...
....... ...
... .........
...
...
.........
............
...
...
.......
..
...
.....
...
..
..
...
.
.
.
.
...
.
...
...
...
...
...
..
...
...
...
...
...
... ....
... ....
... ..
.
... ..
... ...
...................................................................................................................

- `o thi. Petersen.
H`nh 5.8: D
`eu kie.n c
`an v`a du
`eu di
`eu kie.n c
`an khac (xem [30], [14]) nhu.ng khong co mo.t di
Co nhi
.
`e su. t
`on ta.i chu tr`nh (ma.ch) Hamiton.
v
`eu kie.n du dan den cac phu.o.ng phap co tnh
Do do ch
ung ta se ta.p trung mo.t so di
.
xay du. ng chu tr`nh Hamilton.

5.3.2

`on ta.i chu tr`nh Hamilton


`eu ki
`e su.. t
C
ac d
i
e.n d
u v

`e 5.3.7 Kn l`a d`o thi. Hamilton.


M
e.nh d

Ch
u.ng minh. Hien nhien.
cho

`e nhau sao
Xet d`o thi. vo hu.o.ng n dnh G := (V, E). Gia su. s v`a t l`a hai dnh khong k
dG (s) + dG (t) n.
K
y hie.u G + (s, t) l`a d`o thi. nha.n du.o..c t`
u. G b`a ng cach them ca.nh (s, t). Khi do

`e 5.3.8 Neu G + (s, t) l`a d`o thi. Hamilton th` G l`a d`o thi. Hamilton. Ta noi tnh
M
e.nh d

chat n`ay l`a on d.inh Hamilton qua phep bien doi G G + (s, t).
u.a chu tr`nh Hamilton := (v1 , v2 , . . . , vn ). Neu khong
Ch
u.ng minh. Gia su. G + (s, t) ch
`en Hamilton \ (s, t)
u.a mo.t day chuy
di qua ca.nh (s, t) th` G l`a Hamilton. Ngu.o..c la.i, G ch

noi s v`a t. (Khong mat tnh to ng quat, co the gia thiet s = v1 , t = vn ).


139

http://www.ebook.edu.vn

`on ta.i t nhat mo.t ch so i, 3 i n, sao cho s k


`e vo.i vi v`a t k
`e
Ta ch
u.ng minh r`a ng t
.
vo i vi1 .
Tha.t va.y, xet cac ta.p con cua ta.p Y := {v3 , v4 , . . . , vn1 } :
A = {vi | (s, vi ) E v`a 3 i n 1},
B = {vi | (t, vi1 ) E v`a 3 i n 1}.
`e nhau trong G nen
V` s v`a t khong k
#A + #B = dG (s) + dG (t) 2 n 2
`on ta.i
v`a nha.n xet r`a ng #Y = n 3 suy ra t
vi A B

(3 i n 1).

Do do, them cac ca.nh (s, vi ) v`a (t, vi1 ) v`a xoa ca.nh (vi , vi1 ) ta du.o..c mo.t chu tr`nh Hamilton
trong G (xem H`nh 5.9), v`a me.nh d`e du.o..c ch
u.ng minh.
/
v2

v3

.............................................
.....
.....
.....
.....
.....
.....
.
.
.
.
.....
....
.
.....
.
.
...
.....
.
.
.
.
.....
...
.
.
.
.....
.
..
....
.........
..
....
.....
....
..
..
.....
....
..
..
.....
..
...
.......... ....... ....... ............ ....... ....... ....... ....... ...........
.
..
.....
.
.
...
.....
.
.
.
.
.
.
.....
.....
....
.....
.....
.....
.....
.....
..
.....
.....
.....
.....
.....
.
.
.....
.
.
.. ....
.....
........................................

s = v1

v2

v1

vi1

t = vn

v3

.............................................
.....
.....
.....
.....
.....
.....
.
.
.
.
.....
....
.
.....
.
.
...
.....
.
.
.
.
.....
...
.
.
.
.....
.
..
....
.........
...
.....
.....
....
.....
...
.....
.....
.....
.....
...
.....
.....
...
.....
..................................................................................................................
.....
.....
.....
....
.....
.
.
.
.....
.....
.....
.....
..
.....
.....
....
.....
.....
..
.....
.....
.....
.....
.....
.. ..
.....
..........................................

vi1

t = vn

vi

vi

H`nh 5.9:
Gia su. G l`a do.n d`o thi. n dnh v`a k l`a so nguyen thoa 1 k n. Xet thu tu.c de.
`e nhau m`a tong cac ba.c cua
quy sau: Xuat phat t`
u. G, them cac ca.nh noi cac dnh khong k
.
.
`

ch
ung lo n ho n hoa.c ba ng k. (So phep toan d`oi hoi trong thu tu.c n`ay t le. vo.i n4 ). V` cac
- `o
u. tu.. cac ca.nh du.o..c them. D
ba.c khong giam, d`o thi. nha.n du.o..c khong phu. thuo.c v`ao th
.
.
.
thi. n`ay (ch
u a G) go.i l`a kbao dong cua G v`a k
y hie.u l`a [G]k . Vo i k = n, t`
u Me.nh d`e 5.3.8
suy ra
- .inh l
D
y 5.3.9 [8] G l`a d`o thi. Hamilton neu v`a ch neu [G]n l`a d`o thi. Hamilton.
uc n`ao
Trong tru.`o.ng ho..p tong quat, t`m chu tr`nh Hamilton trong [G]n khong phai l
c
ung de ho.n trong G. Tuy nhien, vo.i nh
u.ng tru.`o.ng ho..p da. c bie.t, chang ha.n khi [G]n l`a d`o
thi. d`ay du Kn ta co the de d`ang xay du..ng chu tr`nh Hamilton trong [G]n :
140

http://www.ebook.edu.vn

- .inh l
- i
`eu kie.n du de G l`a d`o thi. Hamilton l`a [G]n = Kn .
D
y 5.3.10 D
`au het cac di
`eu kie.n du da biet (du.o..c lie.t ke du.o.i day) lien quan
Co the ch ra r`a ng h
- i.nh l
den ba.c cua G suy ra [G]n = Kn v`a do do l`a cac he. qua cua D
y 5.3.10.
Gia su. G l`a do.n d`o thi. lien thong n dnh.
H
e. qua 5.3.11 [Ore] [47] Neu dG (vi ) + dG (vj ) n vo.i mo.i (vi , vj )
/ E th` G l`a d`o thi.
Hamilton.
H
e. qua 5.3.12 [Dirac] [17] Neu dG (vi )

n
2

vo.i mo.i dnh vi V th` G l`a d`o thi. Hamilton.

H
e. qua 5.3.13 [Posa] [51] Neu cac dnh cu a G du.o..c danh so thu.. tu.. sao cho
dG (v1 ) dG (v2 ) dG (vn )
v`
a neu
k : 1 k <

n
dG (vk ) > k,
2

th` G l`
a d`o thi. Hamilton.
H
e. qua 5.3.14 [Bondy] [7] Gia su. cac dnh cu a G du.o..c danh so thu.. tu.. sao cho
dG (v1 ) dG (v2 ) dG (vn ).
`eu kie.n sau du
Neu di
ng:
p < q, dG (vp ) p, dG (vq ) q 1 dG (vp ) + dG (vq ) n,
th` G l`
a d`o thi. Hamilton.
H
e. qua 5.3.15 [Chvatal] [13] Neu cac dnh cu a G du.o..c danh so thu.. tu.. sao cho
dG (v1 ) dG (v2 ) dG (vn )
v`
a neu
dG (vk ) k <

n
dG (vnk ) n k
2

th` G l`
a d`o thi. Hamilton.
141

http://www.ebook.edu.vn

H
e. qua 5.3.16 [Las Vergnas] [42] [30] Neu cac dnh cu a G du.o..c danh so thu.. tu.. v1 , v2 , . . . , vn
sao cho

j < k, k n j

(vj , vk )
/E
dG (vj ) + dG (vk ) n

dG (vj ) j, dG (vk ) k 1
th` G l`
a d`o thi. Hamilton.
Cac ch
u.ng minh. Ch
u.ng minh cua He. qua 5.3.11 suy tru..c tiep t`
u. cach xay du..ng [G]n : tat
.
.
ca cac ca.nh (vi , vj )
/ E co the du o. c them v`a do do ta co [G]n = Kn . He. qua 5.3.12 suy tru..c
tiep t`
u. He. qua 5.3.11.
`eu kie.n cua He. qua 5.3.13, 5.3.14
Ho.n n
u.a, de d`ang thay r`a ng, d`o thi. thoa man cac di
hay 5.3.15 c
ung thoa man cac gia thiet cua He. qua 5.3.16.
- e ch
`eu kie.n du de [G]n = Kn .
D
u.ng minh He. qua 5.3.16, ta se su. du.ng ket qua sau cho di
- i.nh l
D
y 5.3.17 [8] Neu cac dnh cu a G du.o..c danh so thu.. tu.. v1 , v2 , . . . , vn sao cho
i<j
(vi , vj )
/E
dG (vi ) i + k n
dG (vj ) j + k n 1
i + j 2n k

dG (vi ) + dG (vj ) k

th` kbao dong cu a G l`a d`o thi. d`ay du Kn .


Ch
u.ng minh.

- i.nh l
He. qua 5.3.16 suy tru..c tiep t`
u. D
y 5.3.17 vo.i k = n. He. qua 5.3.16 l`a tong quat
`eu kie.n da biet co lien quan den ba.c cua d`o thi.. Tuy nhien, di
`eu kie.n
nhat cua tat ca cac di
- i.nh l
du cua D
y 5.3.10 l`a tong quat ho.n: d`o thi. trong H`nh 5.10 co [G]6 = K6 nhu.ng khong
`on ta.i cach danh so cac dnh cua G thoa cac di
`eu kie.n cua He. qua 5.3.16.
t

5.3.3

`eu ki
`e su.. t
`on ta.i ma.ch Hamilton
C
ac d
i
e.n d
u v

`on ta.i cua ma.ch


`eu kie.n du bao dam su.. t
Trong tru.`o.ng ho..p d`o thi. co hu.o.ng, co mo.t so cac di

Hamilton. Ket qua to ng quat nhat l`a:


142

http://www.ebook.edu.vn

..................
....... ... .. .......
....... .. ..... ..............
....... .....
...
.......
.......
.......
.
.
...
.
.
.
.
.
.
.
.......
..
...
.......
...
.......
...
.......
.......
...
.
.
.
.
.
.
.
.
.......
.
...
.
.....
.
.
.......
.
.
.
.
.
.
.
.
...
.
.......
.....
.
.
.
.
.
.
.
.......
.
.
.
...
.....
..
.......
.
.
.
.
.
.
.
.
.
...
.
..
.
.
.....
.
....
...
..
.
.
.
...
....
...
..
.
.
...
.
...
...
..
.
.
...
.
...
...
..
.
...
.
.
...
...
..
...
.
.
.
...
...
..
...
.
.
.
...
...
..
.
.
.
....
.....
...
..
.
.
...
..
.
...
..
.
.
...
...
.
...
..
.
...
.
...
.
.
...
..
...
.
...
.
.
...
..
.
....
...
.
.
.
...
... .....
.
... ....
... ....
... ...
... ..
... ....
... ...
.. ..
...
...........
.....
.......
.......
.......
.......
.
.
.......
.
.
.
.
.......
.....
.
.
.
.
.
.......
.
...
.......
.......
.......
.......
.......
.......
.......
.......
.......
.......
.
.
.......
.
.
.
.
...
.......
....... .............
...

H`nh 5.10: Vo.i d`o thi. n`ay, [G]6 = K6 nhu.ng khong the ap du.ng He. qua 5.3.16.
- i.nh l
D
y 5.3.18 [Meyniel, 1973] Gia su. G = (V, E) l`a d`o thi. co hu.o.ng n dnh lien thong
ma.nh khong khuyen sao cho
(vi , vj )
/ E v`a (vj , vi )
/ E dG (vi ) + dG (vj ) 2n 1.
Khi d
o G ch
u.a mo.t ma.ch Hamilton.
Ch
ung ta se du.a ra ch
u.ng minh co tnh kien thiet d.inh l
y n`ay (theo Minoux, 1977)
4
.

u.ng minh du..a tren


v`a mo.t thua.t toan co do. ph
u c ta.p O(n ) de t`m ma.ch Hamilton. Ch
.
.
.
.
`an
phu o ng phap (khong kien thiet) cua Bondy v`a Thmassen (1977). Tru o c het, ch
ung ta c
mo.t so khai nie.m.
Gia su. S V. Vo.i moi vi V (co the vi S), k
y hie.u S (i) l`a so cac cung noi (theo
.
.
.
hu o ng bat k`
y) dnh vi vo i ta.p con S. V` G khong co khuyen nen ta luon luon co
vi S S (i) 2#S 2.
Vo.i S l`a ta.p con thu..c su.. cua V ta go.i Sbo. h`anh l`a mo.t du.`o.ng di m`a cac dnh d`au v`a
cuoi (khong nhat thiet phan bie.t) thuo.c S v`a cac dnh trung gian l`a phan bie.t v`a ta.o th`anh
mo.t ta.p con khac trong cua ta.p V \ S. Mo.t Sdu.`o.ng di l`a mo.t Sbo. h`anh m`a cac diem
d`au v`a cuoi khac nhau.
Ta co bo d`e sau:
`e 5.3.19 Gia su. = (v0 , v1 , . . . , vp ) l`a du.`o.ng di so. cap cu a G, S l`a ta.p cac dnh cu a
B
o d

`on ta.i hai dnh lien tiep vk v`a vk+1 (0 k p 1) cu a


no v`a da.t v V \ S. Neu khong t
sao cho (vk , v) E v`a (v, vk+1 ) E th`
S (v) #S + 1.
143

http://www.ebook.edu.vn

Ch
u.ng minh. Xet cac ta.p con cua S \ {vp } :
A := {vi S \ {vp } | (vi , v) E}
v`a
A := {vi S \ {vp } | (v, vi+1 ) E}.
Theo gia thiet, A B = v`a #(A B) #S 1 (do vp
/ A, vp
/ B). Va.y
S (v) #A + #B + 2 = #(A B) #(A B) + 2 #S + 1,
`eu phai ch
di
u.ng minh.

- i.nh l
Bay gi`o. ch
ung ta ch
u.ng minh D
y 5.3.18.
- .inh l
`eu kie.n cua d.inh l
Ch
u.ng minh cua D
y 5.3.18. Xet d`o thi. G thoa man cac di
y.
`on ta.i mo.t ma.ch do. d`ai t nhat hai.
(1) V` G lien thong ma.nh nen t
`on ta.i hai dnh
Ta noi ma.ch trong G l`a tu..a cu..c da.i neu vo.i mo.i dnh v
/ khong t
vk v`a vk+1 lien tiep tren ma.ch sao cho
(vk , v) U

v`a (vk+1 , v) U.

Hien nhien r`a ng de kiem tra mo.t ma.ch co phai tu..a cu..c da.i hay khong, hoa.c de phat
`an thu..c hie.n O(n2 ) phep toan so. cap.
hie.n mo.t ma.ch do. d`ai lo.n ho.n 1 ta c
Do do, thua.t toan xay du..ng mo.t ma.ch tu..a cu..c da.i trong G bat d`au t`
u. mo.t ma.ch tu`
y
3
.
y
d`oi hoi O(n ) phep toan so cap.
Gia su. l`a ma.ch tu..a cu..c da.i, v`a k
y hie.u S l`a ta.p cac dnh cua no. Neu S = V ta
.
.
.
d`
u ng: l`a ma.ch Hamilton. Ngu o. c la.i, ta se ch ra r`a ng co the mo. ro.ng ma.ch de nha.n
du.o..c mo.t ma.ch 0 co do. d`ai lo.n ho.n, v`a do do, theo quy na.p, ta se co mo.t ma.ch Hamilton.
`on ta.i mo.t Sdu.`o.ng di trong G.
(2) Ch
ung ta ch
u.ng minh t
`on ta.i Sdu.`o.ng di. V` G lien thong ma.nh, t
`on ta.i
B`a ng phan ch
u.ng, gia su. khong t

t nha t mo.t Sbo. h`anh P m`a cac dnh dau cuoi cua no l`a v S.
- a.t R l`a ta.p cac dnh thuo.c P v`a khac v; da. t T l`a ta.p cac dnh cua G khong thuo.c
D
S R.
`on ta.i dnh thuo.c R v`a k
`e vo.i
`on ta.i Sdu.`o.ng di nen khong t
Theo gia thiet khong t
mo.t dnh trong S \ {v}.
144

http://www.ebook.edu.vn

Do do vo.i moi dnh vi R v`a dnh vj S \ {v} ta co


R (vi ) 2#R 2, R (vj ) = 0,
S (vi ) 2,
S (vj ) 2#S 2.
`an co
Ho.n n
u.a ta c
T (vi ) + T (vj ) 2#T.
`on ta.i t nhat mo.t du.`o.ng di do. d`ai 2 hoa.c gi
(Neu khong, t
u.a vi v`a vj , hoa.c gi
u.a vj v`a vi ;
`an na` m tren P ) ta.o th`anh mo.t Sdu.`o.ng di).
du.`o.ng di n`ay (co mo.t ph
`e nhau sao cho
Co the ch
u.ng minh ra` ng cac dnh vi v`a vj l`a hai dnh khong k
(vi ) + (vj ) = S (vi ) + R (vi ) + T (vi ) + S (vj ) + R (vj ) + T (vj )
2(#R + #S + #T ) 2 = 2n 2,
mau thuan vo.i gia thiet.
`on ta.i t nhat mo.t Sdu.`o.ng di, ta se t`m mo.t Sdu.`o.ng di P xuat phat t`
(3) V` t
u. x v`a ket
th
uc ta.i y sao cho do. d`ai cua du.`o.ng di con (x, y) t`
u. x den y tren l`a nho nhat (theo so
cac cung).
ung ta co the su. du.ng thua.t toan t`m kiem theo
Vo.i mo.t dnh x S cho tru.o.c, ch
`eu ro.ng tren d`o thi. G nhu. da tr`nh b`ay trong Chu.o.ng 3. Phu.o.ng phap n`ay d`oi hoi O(m)
chi
`an nhi
`eu
phep toan so. cap. Do do thua.t toan t`m mo.t Sdu.`o.ng di P vo.i tnh chat do`i hoi c
.
nhat O(mn) phep toan so cap.
K
y hie.u R l`a ta.p cac dnh trung gian cua P, v`a S1 l`a ta.p cac dnh trung gian tren
du.`o.ng di (x, y) cua .
ung ta nha.n du.o..c mo.t ma.ch
Neu S1 = th` thay cung (x, y) bo.i Sdu.`o.ng di P v`a ch
0 co do. d`ai lo.n ho.n hoa.c b`a ng (#S + 1).
(4) Ke tiep ta gia su. S1 6= , v`a da. t S2 := S \ S1 v`a T l`a ta.p cac dnh cua G khong thuo.c
R v`a S.
Ch
ung ta xay du..ng mo.t du.`o.ng di so. cap tu..a cu..c da.i Q gi
u.a y v`a x m`a ta.p cac dnh
cua no l`a S 0 thoa man S 0 S v`a S2 S 0 ba` ng phu.o.ng phap la.p nhu. sau:
1. Kho.i ta.o vo.i Q := (x, y), S 0 := S2 , S 00 := S1 .
2. T`m dnh s S 00 sao cho (k, s) U v`a (s, l) U vo.i hai dnh k v`a l lien tiep tren Q.
`on
`eu n`ay d`oi hoi nhi
`eu nhat O(n) phep toan so. cap). Neu khong t
(Nha.n xet r`a ng, di
00
.
.
.
.
.
.
ta.i dnh s nhu va.y (hoa.c l`a S = ) th` d`
u ng: du `o ng di Q l`a tu. a cu. c da.i (hoa.c cu..c
da.i).
145

http://www.ebook.edu.vn

`on ta.i dnh s th` ch`en no v`ao gi


3. Gia su. t
u.a hai dnh k v`a l de nha.n du.o..c mo.t du.`o.ng
0
.
.
.
.
.
di mo i Q co do. d`ai lo n ho n du `o ng di tru.o.c do mo.t. Thay S 0 bo.i S 0 {s}, S 00 bo.i
S 00 \ {s}, Q bo.i Q0 v`a la.p la.i Bu.o.c 2.
`an thu..c hie.n trong thua.t toan n`ay khong vu.o..t qua O(n3 ).
Ch
uy
r`a ng, so phep toan c
Ta se ch ra r`a ng, ket th
uc thua.t toan th` S 00 = .
Tha.t va.y, gia su. ngu.o..c la.i S 00 6= .
`e vo.i mo.t dnh cua S1 (v` neu
Theo cach xay du..ng cua P, cac dnh cua R khong k
.
.
.
.
`an ho.n P ). Do
ngu o. c la.i, ta co the t`m mo.t Sdu `o ng di m`a cac dnh d`au cuoi cua no g
do, vo.i mo.i dnh vi R v`a mo.i dnh vj S1 ta co
R (vj ) = S1 (vi ) = 0.
Ma.t khac, v` l`a ma.ch tu..a cu..c da.i, dnh vi thoa man cac gia thiet cua Bo d`e 5.3.19 vo.i
du.`o.ng di con (x, y) sao cho
S2 (vi ) #S2 + 1.
Cho.n vj S 00 S1 . Theo cach xay du..ng cua Q, ap du.ng la.i Bo d`e 5.3.19 vo.i dnh vj v`a
du.`o.ng di Q, ta du.o..c
S 0 (vj ) #S 0 + 1.
`an (2))
`an co (nhu. da ch
u.ng minh trong Ph
Ma.t khac, ta c
T (vi ) + T (vj ) 2#T
`an ho.n P ).
(ngu.o..c la.i, ta co the t`m mo.t Sdu.`o.ng di m`a cac dnh d`au cuoi cua no g
Cuoi c`
ung, ta luon luon co
S 00 (vj ) 2#S 00 2,

v`a R (vi ) 2#R 2.

Suy ra
(vi ) + (vj ) 2#R + #S2 + 2#S 00 + #S 0 2
v`a
#S2 #S 0 (vi ) + (vj ) 2n 2
`e nhau vi v`a vj , mau thuan vo.i gia thiet.
vo.i hai dnh khong k
Va.y S 00 = v`a t`
u. du.`o.ng di Q vo.i Sdu.`o.ng di P ta co the xay du..ng mo.t ma.ch 0 co
do. d`ai #S + 1.
`an (3) v`a (4) tren) khi #S < n ta co
(5) Trong tat ca cac tru.`o.ng ho..p (tham khao cac Ph
3
.

`eu nhat O(mn + n ) phep toan so cap) mo.t ma.ch 0 co do. d`ai lo.n ho.n ma.ch
the t`m (nhi
146

http://www.ebook.edu.vn

`an kiem tra 0 co phai l`a ma.ch tu..a cu..c da.i. (Neu
c
u 1. Tru.o.c khi la.p la.i thua.t toan, ta c
.
.
.
`eu nhat O(n3 ) phep toan
khong phai, xay du. ng mo.t ma.ch tu. a cu. c da.i 00 t`
u. 0 -d`oi hoi nhi
so. cap).
`eu nhat (n 1) l
`an la.p mo. ro.ng ma.ch, thua.t toan cho ch
Sau nhi
ung ta mo.t ma.ch
- i.nh l
Hamilton cua d`o thi. G. D
y 5.3.18 du.o..c ch
u.ng minh b`a ng thua.t toan kien thiet cach
xay du..ng ma.ch Hamilton vo.i do. ph
u.c ta.p thua.t toan l`a O(n4 ).
/

147

http://www.ebook.edu.vn

148

http://www.ebook.edu.vn

Chu.o.ng 6
- `
D
o thi. ph
a ng
`en, chu
Ch
ung ta da nghien c
u.u cac tnh chat cua cac d`o thi. con, chang ha.n, cac day chuy
.
.
ung ta se nghien
tr`nh v`a cac cay bao tr`
um trong mo.t d`o thi. da cho. Trong chu o ng n`ay, ch
.
.

c
u u to`an bo. do thi. G vo i cau hoi sau: khi n`ao G l`a phang?
`e d`o thi. Kuratowski dong vai tr`o trung tam trong
Chu.o.ng n`ay bat d`au vo.i hai v du. v

vie.c kiem tra tnh phang cua d`o thi.. Ke tiep l`a cac tnh chat cua d`o thi. phang, chang ha.n
d.inh l
y Euler v`a gia thuyet bon m`au noi tieng mo.i d`o thi. phang l`a 4sac (phat bieu nam
`an v`a du de d`o
1850 v`a du.o..c ch
u.ng minh nam 1976). Ch
ung ta c
ung t`m hieu tieu chuan c

thi. l`a phang-Di.nh l


y Kuratowski. Cuoi c`
ung l`a doi ngau h`nh ho.c cua do thi. phang.

6.1

- i.nh ngha v`
D
a c
ac v du.

`on ta.i mo.t phep bieu dien G len mo.t ma.t


Nhac la.i r`a ng d`o thi. G du.o..c go.i l`a phang neu t
phang sao cho hai ca.nh bat k`
y cua d`o thi. khong cat nhau ngoa.i tr`
u. ta.i dnh cua ch
ung. Cac

`
`

do thi. m`a co the bien do i cho tr`


ung nhau ba ng phep bien da.ng co dan lien tu.c tren ma.t
phang th` khong coi l`a nh
u.ng d`o thi. phang khac nhau. Theo di.nh ngha, d`o thi. trong H`nh
6.1 l`a phang.
V du. 6.1.1 (B`ai toan ba bie.t thu.. v`a ba nh`a may). Co ba bie.t thu.. a, b, c v`a ba nh`a may:
mo.t nh`a may nu.o.c d, mo.t nh`a may ho.i dot e v`a mo.t nh`a may die.n f. Moi bie.t thu.. noi vo.i
cac nh`a may ba` ng nh
u.ng ong dan nu.o.c, ong dan ho.i v`a du.`o.ng day die.n. Va.y co the ve
tren ma.t phang ba bie.t thu.. v`a ba nh`a may v`a tat ca cac du.`o.ng va.n chuyen sao cho khong
co hai du.`o.ng n`ao cat nhau o. mo.t diem khac cac d`au m
ut cua ch
ung hay khong? Ta co mo
.
.
.
.
`an K3,3 : Cac dnh cua d`o thi. tu o ng u
h`nh hoa bo i d`o thi. hai ph
ng cac nh`a v`a cac nh`a may
149

http://www.ebook.edu.vn

.......................................
.........
.............
........
.......
.......
......
......
.....
.
.
.
.
.....
....
.
.
.....
.
....................
...
.
....
.
.
.
.
.
.
.
....
.... ... .... .........
.
...
.
.
.
.
.
.
....
..
.... ... .... ..........
.
.
.
....
.
.
.
.
.
......
...
.
....
....
...
.
.
.
.
.
.
.
.
.
.
.
.
......
...
...
.
....
..
.
.
.
.
.
.
.
.
.
.
.
.
...
...
......
.
..
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...... .....
...
.
.. ..........
.
.
.
.
.
.
...... ....
.
...
...... ..
..
..............
.
.
...
.......
........
...
..
...
...
...
.....
...
...
...
.. ..
..
.
...
.. .....
...
..
.
.
.
...
.
...
...
... ...
...
...
...
... .....
...
...
...
...
...
...
...
...
...
..
..
...
.
.
...
...
..
...
...
..
...
..
...
.
..
..
.
.
...
.
..
...
.
..
.
.
.
...
..
...
.
..
.
..
.
.
.
...
...
.
.
..
.
.
.
.
...
...
...
.
.
.
.
.
.
.
... ..
...
... ..
... ..
.
.
... ..
... ...
... ..
...
... ..
... ..
...
......
......
..
.
...................................................................................................................
...
...........
............
...
.......
..
.......
...
........
.
.
.
.........
......
...........
.......
..................
...........................................

`e d`o thi. phang.


H`nh 6.1: V du. v
(xem H`nh 6.2); mo.t ca.nh lien thuo.c hai dnh tu.o.ng u
.ng vo.i mo.t nh`a v`a mo.t nh`a may. B`ai
`e kiem tra tnh phang cua d`o thi. Kuratowski K3,3 . B`a ng thu..c nghie.m co the ch
toan du.a v
ra r`a ng d`o thi. n`ay khong phang.
a
.........................................

...
...........
.............
..... .. .....
............ ..
..... .. .....
..... ........
....... .... ..
..... .... .........
....... ..... ....
..... ........
....
....... ........
.....
.....
.
.......
.....
.
.
.
.
.
.
.
.
...
.
...
.
.......
.....
..
.....
.....
.....
.......
.....
...
....
...
.....
.....
.......
.....
.......
.....
.....
.....
.......
...
...
...
....... ........
..... .............
.....
.....
.
.
.
.
.
.
.
.
.
...
.
...
.
.
.
.
.....
.
..........
...
............
.
.
.
.
.
.
.
.
.
.
.
.....
.
.
...
.
...
.
.
.
.......
.....
.
....
...
...
.
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
.
...
.
.
.
....... .. ......
..... ....
..... ......
....... . .......
.
.
.
.
...
...
..........
.
.........
.............
.
.
.
.
.
.
.
.
.
...
.
...
.
.
.
.
... .......
... .......
..... ... .............
.
.
.
.
.
.
.
.
.
.
.
...
...
.
.
.
.....
.....
.......
.
...
...
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
.
...
.
.
.
.
.
.
....... .....
..... ........
.....
.
...
.
.
.
.
.
.
.
.
.
.
.
.
...
.
...
.
.
.
.
.
.
..........
.....
.
...
...........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
.
...
.
.
.
.
.
.......
.....
.....
.
...
...
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
.
...
.
.
.
.
.
.
.......
.....
.....
.
...
.....
.
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
.
...
.
.
.
.
.
.
.......
.....
.....
.
...
...
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
...
.
.
.
.
.
.
....... .....
.....
.
..
...
....... .... ...
..... .... ........
... ........ ..............
....... .... ..
..... .. .....
.
.
... .................
.
............ ...
..... .. .....
.........
........
..............
.

- `o thi. Kuratowski K3,3 .


H`nh 6.2: D

u.ng to d`o thi. d`ay du K5 (xem H`nh 6.3)


V du. 6.1.2 C
ung ba` ng thu..c nghie.m, co the ch
l`a khong phang.
`e tnh khong phang cua cac d`o thi. K3,3 v`a K5 se du.o..c giai thch trong nh
`an
u.ng ph
V
.
sau. Ch
uy
ra` ng cac d`o thi. K5 v`a K3,3 co nh
u ng tnh chat:
1. Ca hai l`a khong phang;
2. Neu xoa mo.t ca.nh hoa.c mo.t dnh cua d`o thi. th` se nha.n du.o..c mo.t d`o thi. phang.
150

http://www.ebook.edu.vn

...............
...... .. .. ......
...... .. ... ......
...... ... .... ............
. ..
......
......
.
.
.
.
.
.
.
...
......
....
......
...
...
......
......
..
......
...
......
..
......
.
.
.
.
.
......
.
.
.
.
...
.
....
......
.
.
.
.
.
.
.
...
......
....
.
.
.
.
.
......
.
.
.
.
...
.
....
......
.
.
.
.
.
.
.
.
........................................................................................................................................................................................
.
... .....
.
.
......
.
.
...
... .......
..... ....
.
.
.
.
.
.
.
.
.
.
... ......
...
..
...... ....
......
...
...
..
......
.....
.
.
.
.
...
..
.
.
.
......
...
....
..
...
.....
...
...
......
..
.....
...
..
... ..........
...... ....
..
...
.
.
.
.
.
.
.
.
.
..
.......
...
......
......
...
...
..... ..
...
... ..........
..... .....
...
..
.....
......
...
...
...
......
..
.....
.
..
.
.
.
.
...
.
.
.
...
..... .....
..... .....
...
...
...
...
..
...
...
...
...
..........
...
...
..
..... ..........
..
..
......
...
..
......
.
.
.
.
.
.
.
.
.
.
...
......
..
...
..
.....
......
...
...
...
..
.....
.....
.. ...
... ...
.....
......
...... ..... ....
... ... ..........
...... .. ..
... ... .......
..... ... ..
... .........
................................................................................................................................

- `o thi. Kuratowski K5 .
H`nh 6.3: D
3. K5 l`a d`o thi. khong phang co so dnh t nhat; K3,3 l`a d`o thi. khong phang co so ca.nh t
nhat.

6.2

`o thi. ph
C
ac bi
eu di
e n kh
ac nhau cua m
o.t d

a ng

Tru.o.c het ta co ket qua sau.


- i.nh l
D
y 6.2.1 [Fary] Mo.i do.n d`o thi. pha ng co the bieu dien tren mo.t ma.t pha ng sao cho
cac ca.nh l`a cac doa.n tha ng v`a ch
ung ch cat nhau ta.i cac dnh chung.
`eu trong
Ch
u.nh minh. Ch
u.ng minh cua d.inh l
y n`ay kha ph
u.c ta.p v`a khong dong gop nhi

vie.c hieu tnh phang cua d`o thi.. Ba.n do.c quan tam co the xem [24]. Chang ha.n, d`o thi.
trong H`nh 6.1 co the ve la.i ch su. du.ng cac doa.n thang nhu. trong H`nh 6.4. Trong di.nh
`an phai do.n v` cac khuyen hoa.c mo.t trong hai ca.nh song song khong the ve
l
y n`ay, d`o thi. c
bo.i cac doa.n thang.
/

Di
e.n
K
y hie.u R(G) l`a d`o thi. phang G du.o..c bieu dien tren ma.t phang. Cac v`
ung lien thong (theo
2
2

to po cua ma.t phang R ) cua ta.p R \ R(G) go.i l`a cac die.n. Mo.t die.n l`a mo.t v`
ung cua ma.t
`e nhau neu cac du.`o.ng bien
phang du.o..c gio.i ha.n bo.i cac ca.nh go.i l`a bien; hai die.n go.i l`a k
cua ch
ung co t nhat mo.t ca.nh chung.
151

http://www.ebook.edu.vn

.......
...... ...
... .. ..
.. ... .....
.
. . .
... .... .....
..
...
...
..
...
...
..
...
.
.
...
...
.
...
.
.
...
.....
.
..
.
...
.
.
.
.............
.
.
...
.
.
.
... ... ......
...
.
...
.
.
.
...
.
... .... ......
.
.
.
.
.
...
....
..
.
.
.
...
.
.
...
.
.
.
.
....
..
...
.
...
..
.
.
.
.
.
.
....
.
...
....
.
.
.
.
.
.
.
.... .....
.
... .......
.
.
.
.
.... ....
....
.... ..
.. ......
.
.... ...
. .
.......
.... ..
... .....
...... ............
.... ...
... ......
......
......
.... ..
......
......
.... ..
... ....
......
......
.
.... ...
.
... ........
.
.
.
.
......
.. .
....
.
.
.
.. ......
.
.
.
.
.
.
.
...... .............
. .... .........
.
.
.
.
.
...... .........
...... .......
........... ............
.
...... .....
...............
............
.
........
..
..........................................................................................................................................................

H`nh 6.4:
`om cac chu tr`nh do.n gian vo.i cac ca.nh r`o.i nhau, cac ca.nh
Noi chung, bien cua die.n g
treo (ca.nh co mo.t dnh ba.c mo.t), hoa.c cac ca.nh noi hai chu tr`nh. Die.n pha ngo`ai, go.i
`on ta.i mo.t chu tr`nh l`a du.`o.ng bien ch
l`a die.n vo ha.n, luon luon t
u.a ben trong no cac ca.nh
khac; do l`a chu tuyen cua die.n vo ha.n.

`au; d`o thi. do co tnh chat da. c


V du. 6.2.2 Ban d`o d.ia l
y l`a d`o thi. to po phang khong co c
.

`
`eu ca.nh. Tren H`nh

bie.t l`a: ba.c cua moi dnh 3. Mo.t die.n co the ke vo i die.n khac o. nhi
`e nhau ma.c d`
6.5 ta ch
uy
ra` ng cac die.n d v`a g khong k
u ch
ung co mo.t dnh chung; a l`a die.n
vo ha.n.

..........................................................
.........
.............
.......
..........
......
........
.......
.
.
.
.
............
.
.
........ .....
.....
.
.
.
.
.
.
.
.
.
.
.
...
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
......
...
......
....
...
...
......
......
...
...
..
.....
...
.
.
.
.
.
.
.
.
..
.....
...
...
...
...
...
...
...
..
...
...
...
...
..
.
.
.
.
.
..
...
...
...
..
...
...
...
...
...
...
..
...
...
.
.
.
.
...
...
...
..
...
...
...
..
...
....
..
..
.....
.... .....................
.
.
.
.
.
.
.
.
.
.
.
.
...........
.
..
.....
...........
....
...
..
.....
....
...........
...
.....
........... ....
....
..
.....
...........
....
.....
..
......
.
.
.
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
......
..... ..
..
..
......
...
........... .........
.....
....
......
..........
....
.. ......
...
......
...........
....
.. .......
......
.....
...........
....
................................................
.....
...........
.......
.
.
.
.......
.
.
.
.
....
..
........ ...................
....
.....
....
....
.......
...... ....
....
.....
......
.......
..
...
...
....
.....
......
....
.
.
.
..
.
....
.
.
.
.
.
.
....
.
.
.
...
....
.....
......
..
...
....
....
.....
......
...
.
.
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.... ..
.
....
....
.
.
.
..
.
.
.
.
.... .. .........
.
.
.
.
.
.
.
.
....
....
.... .. ....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.... .. .....
.. ...........
.. ......
........
........................................................................................................................................................................................................

H`nh 6.5:

152

http://www.ebook.edu.vn


`au
Bi
eu di
e n tr
en m
a.t c
- e tranh phan bie.t gi
D
u.a cac die.n h
u.u ha.n v`a die.n vo ha.n, ch
ung ta thu.`o.ng bieu dien cac
`au S2 R3 du..a v`ao phep chieu noi t`
d`o thi. phang tren ma.t c
u. S2 len R2 . K
y hie.u S l`a
.
`au vo i ma.t phang, v`a N l`a diem thuo.c ma.t c
`au sao cho N S vuong
diem tiep x
uc cua ma.t c
goc vo.i ma.t phang. Vo.i moi diem P S2 , P 6= N, du.`o.ng thang N P cat ma.t phang R2 ta.i
`au (bo di diem N ) len ma.t
du
ng mo.t diem Q. Nhu. va.y ta co tu.o.ng u
.ng mo.t-mo.t t`
u. ma.t c
phang.
Theo cach xay du..ng n`ay, hien nhien ra` ng d`o thi. l`a phang neu v`a ch neu co the bieu
`au sao cho cac ca.nh cua no khong cat nhau ngo`ai cac dnh chung.
dien no tren mo.t ma.t c
- i.nh l
Do do, theo D
y 6.2.1 ta co
- i.nh l
`au sao cho cac ca.nh khong tu.. cat
D
y 6.2.3 Mo.t d`o thi. co the bieu dien tren ma.t c
neu v`a ch neu no co the bieu dien pha ng tren ma.t pha ng.
`au se phan chia ma.t c
`au th`anh nhi
`eu v`
Mo.t d`o thi. phang du.o..c bieu dien tren ma.t c
ung
.
`au l`a mi
`en gio i no.i, die.n vo ha.n tren ma.t phang du.o..c anh
khac nhau. Moi v`
ung tren ma.t c
`au ch
xa. th`anh v`
ung tren ma.t c
u.a diem cu..c bac N. Hien nhien r`a ng, b`a ng phep quay thch
`au ch
ho..p qua c
ung ta co the anh xa. mo.t v`
ung bat k`
y th`anh die.n vo ha.n tren ma.t phang.
.
.
.
T`
u do ta nha.n du o. c:
- i.nh l
D
y 6.2.4 Mo.t d`o thi. pha ng co the bieu dien tren mo.t ma.t pha ng sao cho die.n bat k`y
.
cho tru o.c l`a die.n vo ha.n.
`au cho phep ch
Moi lien quan cac v`
ung tren ma.t c
ung ta thay r`a ng khong co su.. phan
.
.
.
.
`e cac
bie.t thu. c su. gi
u a die.n vo ha.n v`a cac die.n h
u u ha.n tren ma.t phang. Do do, khi noi v
v`
ung trong mo.t bieu dien cua d`o thi. phang tren ma.t phang, ch
ung ta xet ca die.n vo ha.n.
.
.

Ngo`ai ra, do khong co su. khac nhau cot yeu gi


u a cac phep bieu dien d`o thi. tren mo.t ma.t
`au (ma.t phang co the xem l`a ma.t c
`au bo di mo.t diem), thua.t ng
phang hay ma.t c
u. bieu
dien phang cua mo.t d`o thi. thu.`o.ng du.o..c su. du.ng de bao h`am cac phep bieu dien tren ma.t
`au c
c
ung nhu. tren ma.t phang.

Bi
eu di
e n tr
en m
a.t ph
a ng v`
a tnh li
en th
ong
`an tren ma.t phang co the
Trong mo.t d`o thi. khong lien thong, vie.c bieu dien moi th`anh ph
.
.
`an
du o. c khao sat mo.t cach do.c la.p. Do do, d`o thi. l`a phang neu v`a ch neu cac th`anh ph
.
.
.
.
.
.
lien thong cua no l`a phang. Tu o ng tu. , trong mo.t d`o thi. tach du o. c (t
u c 1lien thong) vie.c
153

http://www.ebook.edu.vn

bieu dien moi khoi (t


u.c l`a d`o thi. con khong tach du.o..c cu..c da.i) tren ma.t phang co the du.o..c
khao sat do. c la.p. Do do mo.t d`o thi. tach du.o..c l`a phang neu v`a ch neu moi khoi l`a phang.
`an xet doi vo.i d`o thi. khong tach du.o..c.
Va.y, kiem tra tnh phang cua d`o thi. ch c
`au khong?
Mo.t d`o thi. phang khong tach du.o..c co the bieu dien duy nhat len mo.t ma.t c
.
.
.
.
`an giai thch y
Tru o c khi tra l`o i cau hoi n`ay, ch
ung ta c
ngha cua t`
u bieu dien duy nhat.

Hai bieu dien cua mo.t d`o thi. phang l`a giong nhau neu ch
ung co the l`am tr`
ung nhau ba` ng
`au n`ay th`anh ma.t c
`au kia v`a co the bien da.ng cac v`
phep quay ma.t c
ung (khong di chuyen
`au l`a tr`
dnh bang qua ca.nh). Neu tat ca cac phep bieu dien len mo.t ma.t c
ung nhau th` ta
.
.

noi do thi. co duy nha t mo.t phep bieu dien. Di.nh l


y du o i day, cho ch
ung ta chnh xac cau
`au.
tra l`o.i khi n`ao th` mo.t d`o thi. du.o..c bieu dien duy nhat tren mo.t ma.t c
- i.nh l
`au cu a moi d`o thi. pha ng 3lien thong
D
y 6.2.5 [Whitney] Phep bieu die n len ma.t c
l`a duy nhat.
Ch
u.ng minh. Xem [54].

- i.nh l
D
y n`ay dong mo.t vai tr`o quan tro.ng trong vie.c xac d.inh xem mo.t d`o thi. co phang
`au th` phep
hay khong: Vo.i cac d`o thi. 3lien thong, neu co the bieu dien tren mo.t ma.t c

bieu dien n`ay l`a duy nhat.

6.3

`o thi. ph
C
ac tnh ch
at cua d

a ng

`an n`ay lie.t ke nghien c


Ph
u.u mo.t so tnh chat co. ban cua d`o thi. phang. Tru.o.c het ta co
- i.nh l
D
y 6.3.1 [Berge] Trong mo.t d`o thi. to po pha ng, cac chu tuyen cu a die.n h
u.u ha.n ta.o
th`anh mo.t he. co. so. cac chu tr`nh do.c la.p.
Ch
u.ng minh. Ch
ung ta se ch
u.ng minh b`a ng quy na.p theo so die.n f cua d`o thi. G.
Hien nhien d.inh l
y du
ng khi G co mo.t hoa.c hai die.n h
u.u ha.n. Gia su. d.inh l
y du
ng
.
.

cho mo.i do thi. phang co so die.n h


u u ha.n l`a (f 1); ta ch
u ng minh di.nh l
y du
ng cho mo.i
d`o thi. phang co f die.n h
u.u ha.n.
Tha.t va.y, gia su. khong phai tat ca cac chu tuyen d`eu l`a cac chu tr`nh khong giao nhau
y l`a hien nhien. Khi do ta co
(theo ngha l`a co ca.nh chung) v` vo.i tru.`o.ng ho..p do th` d.inh l
0
.
.
.

the bo bo t mo.t ca.nh e n`ao do cua G v`a du o. c d`o thi. G co (f 1) die.n h


u.u ha.n m`a cac chu
154

http://www.ebook.edu.vn

`om cac chu tr`nh do.c la.p. Khi


tuyen cua no theo gia thiet quy na.p la.p th`anh mo.t co. so. g
.
.
tra la.i ca.nh e, ta co mo.t die.n h
u u ha.n mo i m`a chu tuyen l`a mo.t chu tr`nh khong phu. thuo.c
.
.
v`ao cac chu tr`nh tru o c (v` no ch
u.a mo.t ca.nh khong thuo.c v`ao mo.t chu tr`nh n`ao trong so
cac chu tr`nh ay). Do bo sung mo.t ca.nh khong the l`am tang chu so len qua mo.t do.n vi., nen
`om cac chu tr`nh do.c la.p.
so die.n h
u.u ha.n cua d`o thi. G qua l`a xac di.nh mo.t co. so. g
/
H
e. qua 6.3.2 [Euler, 1752] Gia su. G l`a d`o thi. to po pha ng lien thong n dnh, m ca.nh v`a
f die.n. Khi do
f = m n + 2.
Ch
u.ng minh. Tha.t va.y, so cac die.n h
u.u ha.n ba` ng chu so (G), nen
f = (G) + 1 = (m n + 1) + 1 = m n + 2.
C
ung co the ch
u.ng minh cach khac nhu. sau.
`an ch
Nha.n xet r`a ng ch c
u.ng minh cho mo.t do.n d`o thi., v` vie.c them mo.t khuyen hoa.c
them mo.t ca.nh song song ch do.n gian l`a tang so die.n v`a so ca.nh cua d`o thi. len mo.t do.n vi..
Ch
ung ta c
ung co the xoa tat ca cac dnh treo v`a cac ca.nh lien thuo.c no. Neu them (hoa.c
.
bo t) mo.t ca.nh v`a mo.t dnh th` hie.u so (m n) khong doi.
V` moi do.n d`o thi. phang co the bieu dien tren ma.t phang sao cho moi ca.nh l`a mo.t
- i.nh l
doa.n thang (D
y 6.2.1), nen mo.t d`o thi. phang co the du.o..c ve tren ma.t phang sao cho
cac die.n l`a cac da giac. K
y hie.u f l`a so die.n v`a kp l`a so cac die.n co p ca.nh. V` moi ca.nh
thuo.c bien cua du
ng hai da giac, nen
3k3 + 4k4 + 5k5 + + rkr = 2m,
trong do kr l`a so cac da giac vo.i so ca.nh cu..c da.i.
Ma.t khac

k3 + k4 + + kr = f.
Tong tat ca cac goc ta.i moi dnh trong da giac tu.o.ng u
.ng d`o thi. l`a 2n. Nhac la.i ra` ng tong
tat ca cac goc trong mo.t da giac p ca.nh l`a (p 2) v`a tong tat ca cac goc ngo`ai l`a (p + 2).
Do do
2n = (3 2)k3 + (4 2)k4 + + (r 2)kr + 4
= (2m 2f ) + 4.
u.c tren, ta suy ra
T`
u. cac dang th
2(m f ) + 4 = 2n.
Va.y f = m n + 2.

/
155

http://www.ebook.edu.vn

`eu mo.t da die.n l


`oi co n dnh, m ca.nh
V du. 6.3.3 [Euler] Ta xet trong khong gian ba chi
`au sao cho hai ca.nh bat k`
v`a f die.n. Hien nhien ta co the ve no tren mo.t ma.t c
y khong cat
.
.
nhau ta.i nh
u ng diem khac cac d`au m
ut. Sau do tien h`anh phep chieu noi vo i tam o. gi
u.a
mo.t trong cac die.n ta co the bieu dien da die.n do tren ma.t phang. V` d`o thi. l`a phang nen
`oi:
ta co he. th
u.c co. ban sau day cua cac da die.n l
n m + f = 2.
H
e. qua 6.3.4 Trong mo.t do.n d`o thi. pha ng, lien thong co f die.n, n dnh, m ca.nh (m 2),
cac bat da ng th
u.c sau luon nghie.m du
ng
(

2m
3f,
3n 6 m.

Ch
u.ng minh. Moi die.n co bien t nhat l`a ba ca.nh, moi ca.nh l`a chung cua chnh xac hai
die.n, do do
2m 3f.
Thay the f = m n + 2 trong cong th
u.c Euler, ta co bat da ng th
u.c th
u. hai.
/
`eu kie.n c
`an m`a khong du v
`e
Ch
ung ta lu.u y
r`a ng bat da ng th
u.c th
u. hai ch l`a mo.t di
.
`an phai thoa man cac
tnh phang cua mo.t d`o thi.. Noi cach khac, mo.i do n d`o thi. phang c
.
.
.
`eu kie.n n`ay, nhu ng di
`eu ngu o. c la.i l`a khong du
di
ng. Chang ha.n d`o thi. Kuratowski K3,3 thoa
3n 6 = 3.6 6 = 12 m = 9.
Nhu.ng
- `o thi. K3,3 khong phang. D
- e ch
`an ch ra ra` ng trong d`o
ung ta c
V du. 6.3.5 D
u.ng minh ch
.
`

thi. n`ay khong ton ta.i die.n m`a bien cua no co so ca.nh nho ho n 5. Tha.t va.y, neu d`o thi. l`a
phang th` 2m 4f.
Theo cong th
u.c Euler
2m 4(m n + 2).
Va.y

2.9 4(9 6 + 2).

Hay 18 20! Mau thuan. Do do d`o thi. K3,3 khong phang.


- `o thi. d`ay du co nam dnh K5 l`a khong phang. Tha.t va.y, neu ngu.o..c la.i th`
V du. 6.3.6 D
K5 se co
f = m n + 2 = 10 5 + 2 = 7
156

http://www.ebook.edu.vn

die.n. Chu tuyen cua moi die.n d`eu co t nhat ba ca.nh. Neu la.p do.n d`o thi. lien thuo.c
die.n-ca.nh, th` so ca.nh mo.t ma.t 2m v`a ma.t khac la.i 3f. T`
u. do
20 = 2m 3f = 21.
Vo l
y, va.y K5 l`a khong phang.
H
e. qua 6.3.7 Moi ba n d`o d.ia ly co t nhat mo.t die.n m`a so ca.nh cu a chu tuyen nho ho.n
hoa.c b`a ng 5.
Ch
u.ng minh. Tha.t va.y, trong ban d`o d.ia l
y, moi dnh l`a d`au m
ut cua t nhat 3 ca.nh; neu
.
la.p do n d`o thi. lien thuo.c dnh-ca.nh th` so ca.nh mo.t ma.t 2m, ma.t khac la.i 3n, va.y
`om t nhat 6 ca.nh v`a neu la.p do.n
n 2m/3. Neu gia thiet ra` ng moi die.n co chu tuyen g
d`o thi. lien thuo.c die.n-ca.nh, th` so ca.nh cua no, mo.t ma.t 2m, ma.t khac la.i 6f. Va.y
f 2m/6. Ta luon luon co the gia thiet l`a d`o thi. lien thong (neu khong th` ch
u.ng minh he.
.
`an), v`a do do co the viet
qua cho t`
u ng th`anh ph
2 = n m + f 2m/3 m + m/3 = 0.
- i
`eu do khong the xay ra.
D

`on ta.i dnh v V sao


H
e. qua 6.3.8 Gia su. G l`a do.n d`o thi. pha ng lien thong. Khi do t
cho d(v) 5.
Ch
u.ng minh. Tha.t va.y, trong d`o thi. G, moi die.n du.o..c bao t nhat bo.i ba ca.nh khac nhau;
`om ta.p X cac diem d`
neu la.p d`o thi. H lien thuo.c die.n-ca.nh (t
u.c l`a d`o thi. g
ung de bieu thi.
.
cac die.n, ta.p ho. p Y cac diem d`
ung de bieu thi. cac ca.nh v`a cac ca.nh noi diem x X vo.i
y Y neu die.n x lien thuo.c ca.nh y) th` so ca.nh cua d`o thi. H, mo.t ma.t 2m, ma.t khac la.i
3f, va.y f 2m/3. Neu moi dnh l`a d`au m
ut t nhat cua 6 ca.nh, th` c
ung ba` ng cach nhu.
.
.
.
va.y ta thu du o. c n 2m/6, ngha l`a (theo cong th
u c Euler)
2 = n m + f m/3 m + 2m/3 = 0.
Vo l
y!

6.4

Ph
at hi
e.n tnh ph
a ng

Vie.c xac
hoa ho.c:

di.nh d`o thi. G l`a phang hay khong l`a mo.t b`ai toan quan tro.ng, chang ha.n trong
`eu chat hoa ho.c m`a cong th
o. do nhi
u.c cau ta.o cua no co the bieu dien nhu. mo.t
157

http://www.ebook.edu.vn

d`o thi. phang; v`a tra l`o.i cau hoi n`ay b`a ng cach co gang thu. ve no len mo.t ma.t phang ro
`e thua.t toan th`o.i gian O(n) kiem tra mo.t d`o thi.
r`ang khong phai l`a mo.t cau tra l`o.i tot. V
co phang hay khong, v`a neu phang th` bieu dien no nhu. the n`ao co the xem [34], [18].
C
ung co mo.t thua.t toan [33] th`o.i gian O(n log n) de kiem tra tnh dang cau cua hai
d`o thi. phang. B`ai toan n`ay c
ung thu.`o.ng nay sinh trong hoa ho.c khi ch
ung ta muon nghien
.
.
c
u u cac phan tu .
Cac tieu chuan do.n gian v`a hie.u qua sau cho phep phat hie.n tnh phang cua d`o thi..
Ph
ep r
ut go.n co. so.
`an lien thong cua no l`a phang, ch
1. Do d`o thi. l`a phang neu v`a ch neu cac th`anh ph
ung

`
`
`

ta ch can xet mo.t th`anh phan lien thong cua no. C


ung va.y, mo.t do thi. co diem kho.p
l`a phang neu v`a ch neu cac khoi cua no l`a phang. V` va.y doi vo.i mo.t d`o thi. G cho
tru.o.c, xac d.inh
G = {G1 , G2 , . . . , Gk },
`oi th`
trong do Gi , i = 1, 2, . . . , k, l`a cac d`o thi. con khong tach du.o..c cua d`o thi. G. R
`an kiem tra tnh phang cua moi Gi .
ch
ung ta ch c
2. Do vie.c them hay xoa cac khuyen khong l`am mat tnh phang, ta xoa cac khuyen.
3. Tat ca cac ca.nh song song c
ung khong anh hu.o.ng trong vie.c xet tnh phang, v` va.y
xoa tat ca cac ca.nh song song tr`
u. mo.t ca.nh c`on la.i.
4. Loa.i bo tat ca cac dnh ba.c hai v`a coi hai ca.nh noi vo.i dnh do l`a mo.t khong anh
hu.o.ng den tnh phang cua d`o thi.. Noi cach khac thu..c hie.n r
ut go.n chuoi.
La.p la.i cac Bu.o.c 3 v`a 4 cho den khi ta du.o..c mo.t d`o thi. do.n gian nhat cho phep xac
d.inh de d`ang tnh phang cua no.
- oi vo.i mo.t d`o thi. lien thong khong co diem kho.p Gi , sau khi ap du.ng cac Bu.o.c 3 v`a
D
4 ta se du.o..c mo.t d`o thi. Hi co cac da. c tru.ng:
- i.nh l
- `o thi. Hi co mo.t trong ba da.ng
D
y 6.4.1 D
1. Mo.t ca.nh do.n; hoa.c l`a
2. Mo.t d`o thi. d`ay du co bon dnh; hoa.c l`a
3. Mo.t do.n d`o thi. khong tach du.o..c co so dnh n 5 v`a so ca.nh m 7.
158

http://www.ebook.edu.vn

- i.nh l
Ch
u.ng minh. D
y co the du.o..c ch
u.ng minh ba` ng cach khao sat tat ca cac d`o thi. lien
.
.
.
thong khong tach du o. c vo i so ca.nh nho ho.n hoa.c b`a ng sau.
/
du.ng d.inh l
Ap
y, ch
ung ta thay r`a ng tat ca cac d`o thi. Hi ro.i v`ao loa.i 1 hoa.c 2 l`a
`an kiem tra them.
phang, do do khong c
`eu neu tren, ch
`an nghien c
T`
u. nh
u.ng di
ung ta c
u.u cac do.n d`o thi. lien thong khong
ung
tach du.o..c vo.i t nhat nam dnh, v`a moi dnh co ba.c lo.n ho.n hay b`a ng ba. Ke den, ch
`an kiem tra bat da ng th
ta c
u.c m 3n 6. Neu bat dang th
u.c khong thoa man, th` Hi
khong phang. Ngu.o..c la.i, ch
ung ta kiem tra them ba` ng cach ap du.ng d.inh l
y Kuratowski
.
.
.
.

`
du o i day. Tru o c het ta can d.inh ngha sau.
- i.nh ngha 6.4.2 (a) Trong mo.t d`o thi., hai ca.nh du.o..c go.i l`a trong mo.t chuoi, neu ch
D
ung
co du
ng mo.t dnh chung ba.c hai.
(b) Hai d`o thi. du.o..c go.i l`a d`ong phoi neu d`o thi. n`ay co the nha.n du.o..c t`
u. d`o thi. kia ba` ng
.
cach ta.o them cac ca.nh trong chuoi (t
u c l`a ch`en them cac dnh ba.c hai) hay ho..p nhat cac
ca.nh trong chuoi.
`e c`
V du. 6.4.3 Cac d`o thi. G1 v`a G2 trong H`nh 6.6 l`a d`ong phoi, do co the du.a v
ung d`o
0
thi. G .

...............................................................................
... ...
.. .
... .....
... ...
...
...
... ..
...
...
... ..
.
.
...
... ....
..
.
.
.
.
.
...
..
..
...
...
...
...
...
...
...
...
...
..
...
...
...
..
...
...
.
.
.
.
.
.
.
.
... ...
...
...
......
..
.....
...
...
..
...
...
..
...
.
.
.
.
...
..
..
...
...
...
...
...
...
...
...
...
...
...
...
.
.
...
.
.
...
...
...
...
.....
...
......
...
...
......
... .....
.......
.
.
......
.
.
.
.
.
.
.
...................

G1

...............................................................................
... ...
.. .
... .....
... ...
...
...
... ..
...
...
... ..
.
.
...
... ....
..
.
.
.
.
.
...
..
..
...
...
...
...
...
...
...
...
...
..
...
...
...
..
...
...
.
.
.
.
.
.
.
.
... ...
...
...
......
..
.....
...
...
..
...
...
..
...
.
.
.
.
...
..
..
...
...
...
...
...
...
...
...
...
...
...
...
.
.
...
.
.
...
...
...
...
.....
...
......
...
...
......
... .....
.......
.
.
......
.
.
.
.
.
.
.
...................

G2

...............................................................................
... ...
.. .
... .....
... ...
...
...
... ..
...
...
... ..
.
.
...
... ....
..
.
.
.
.
.
...
..
..
...
...
...
...
...
...
...
...
...
..
...
...
...
..
...
...
.
.
.
.
.
.
.
.
... ...
...
...
......
..
.....
...
...
..
...
...
..
...
.
.
.
.
...
..
..
...
...
...
...
...
...
...
...
...
...
...
...
.
.
...
.
.
...
...
...
...
.....
...
......
...
...
......
... .....
.......
.
.
......
.
.
.
.
.
.
.
...................

G0

H`nh 6.6:
Hien nhien ra` ng d`o thi. l`a phang neu v`a ch neu mo.i d`o thi. d`ong phoi vo.i no l`a phang.
Ho.n n
u.a, quan he. R tren ta.p cac d`o thi. xac d.inh bo.i G1 RG2 neu v`a ch neu G1 v`a G2 d`ong
phoi l`a quan he. tu.o.ng du.o.ng.
- i.nh l
- `o thi. G l`a pha ng neu v`a ch neu G khong ch
D
y 6.4.4 [Kuratowski, 1930] D
u.a d`o thi.
con d`
ong phoi vo.i hoa.c K5 hoa.c K3,3 .
159

http://www.ebook.edu.vn

- i
`eu kie.n c
`an. Ro r`ang, v` G khong the bieu dien tren ma.t phang sao cho cac
Ch
u.ng minh. D
ca.nh cua ch
ung khong cat nhau ngoa.i tr`
u. ta.i cac dnh chung cua ch
ung neu no ch
u.a d`o thi.
con d`ong phoi vo.i K5 hoa.c K3,3 .
- i
`eu kie.n du. Xem [4].
D

- i.nh l
V du. 6.4.5 B`a ng cach ap du.ng D
y Kuratowski ta co d`o thi. trong H`nh 6.7 khong
.
.

phang. Tha.t va.y, tru o c het xoa cac ca.nh (a, b), (e, f ) v`a (g, h); sau do r
ut go.n cac chuoi
.
.
.
- `o thi. thu du.o..c l`a K3,3 .
(a, g), (g, d) v`a (f, h), (h, c) de du o. c cac ca.nh mo i (a, d) v`a (f, c). D
Suy ra G ch
u.a mo.t d`o thi. con d`ong phoi vo.i K3,3 v`a do do khong phang.

.
.................
....... ... ... .......
....... ... .... .............
. ...
.......
.......
.
.
.
.
.
.
.
.......
...
..
.......
.......
...
...
.......
..
.......
...
......
.......
..
.
.
.
.
.
.
.
.
.
.......
...
.
.....
.
.
.
.
.......
.
.
.
.
...
...
.
.
.......
.
.
.
.
.
.
.
...
.......
.
.....
.
.
.
.
.
.
.
......
.
...
...
.
.
.
.
.
.
.
.
.
....................................................................................................................................................................................................
.
.
...
.
.
... .....
...
........
..
.
.
... .......
.
.
...
..... ...
..
... ........
...
...... ....
..
.
......
.
...
.
.
.
.
.
.
...
.
......
...
......
..
......
...
...
...
.....
......
..
...
......
......
...
......
..
...
..... ..
......
...
...... ...
..
.... ..... ..........
.
.
...... ..
.
...
.
.
.
.....
........
....
...
...
..
.......
....
...
....
...
... ..........
...... .....
...
..
......
......
...
....
...
...
...... ..... ..........
..
..
.
.
.
.
.
.
........ .....
...
...
..
...
...
... ....
....... .....
...
... ..........
...
... ...
......... ..........
...
... ...
...
......
.....
.
...
.
..
.
.
.
.
.
.
.
.
.
.
......
.. .
...
..
.....
......
...... ...
...
..
...... .... ....
..... .
... ....
......... ...
..... .....
... .. ..........
.
.
..
..
.. .......... ....
... ... .......
.
.
.........
..
..
.............
.....
..
...
.........
.
.
.
...
.
.
.........
...
......... ....
...
...
...........
...
...........
...
..
.
...
... ............
.
......... ....
...
...
..........
...
...
.
.
.
.
...
...
.. ................
.
...
.
.........
...
.
...
.
.
.
.
.
.
.........
...
.
.
.
.
.
.
.
.
.
.
... .
......... .....
......... ..
.... ...
.......................................................................................................

H`nh 6.7:

- i.nh l
Vie.c kiem tra tnh phang du..a v`ao D
y Kuratowski l`a kho doi vo.i cac d`o thi. lo.n
(chang ha.n, do.n d`o thi. khong tach du.o..c co 25 dnh v`a ba.c cua moi dnh 3). Co mo.t so
tnh chat khac da. c tru.ng cho cac d`o thi. phang. Mo.t trong nh
u.ng da. c tru.ng do se du.o..c xet
`an ke tiep.
trong ph
- i.nh l
D
y 6.4.6 Mo.i d`o thi. pha ng d`eu 5sac.
y du
ng cho cac d`o thi. phang co so dnh 5. Gia su. khang
Ch
u.ng minh. Hien nhien di.nh l
d.inh du
ng cho mo.i d`o thi. phang co (n 1) dnh. Ta se ch
u.ng minh d.inh l
y c
ung du
ng cho
.
nh
u ng d`o thi. phang co n dnh.
160

http://www.ebook.edu.vn

- `o thi. con nha.n du.o..c


`on ta.i dnh v co ba.c 5. D
Tha.t va.y, theo He. qua 6.3.8, trong G t
.
t`
u G b`a ng cach xoa dnh v v`a cac ca.nh lien thuo.c no l`a 5sac; ta to cac dnh cua no ba` ng
`e vo.i nam dnh mang nam m`au
nam m`au , , , , . Ta co the to m`au dnh v, tr`
u. khi no k
khac nhau.
`e vo.i v (theo th
Trong tru.`o.ng ho..p do, gia su. a, b, c, d, e l`a nam dnh k
u. tu.. v`ong quanh
v) v`a gia su. , , , , l`a cac m`au tu.o.ng u
.ng. K
y hie.u G, l`a d`o thi. con sinh bo.i ta.p ho..p
.
.
.
cac dnh co m`au hay , v.v. Co hai tru `o ng ho. p xay ra:
`an cua d`o thi. G, th` trong th`anh ph
`an ch
1. Neu a v`a c khong thuo.c nh
u.ng th`anh ph
u.a
a ta to m`au cho cac dnh co m`au v`a ngu.o..c la.i. Cach to m`au mo.i cho G l`a chap
nha.n du.o..c, v`a dnh v bay gi`o. du.o..c bao quanh bo.i cac dnh co m`au , , , , nen co
the to no ba` ng m`au .
`an cua d`o thi. G, th` cac dnh b v`a d khong the
2. Neu a v`a c thuo.c c`
ung mo.t th`anh ph
.
noi vo i nhau trong d`o thi. G, (v` neu ngu.o..c la.i, G ch
u.a d`o thi. K5 ). Khi hoan vi. cac
`an cua d`o thi. G, (ch
m`au v`a trong th`anh ph
u.a dnh b) ta co the to m`au cho
.
.
dnh v du o. c.
- i.nh l
D
y du.o..c ch
u.ng minh.

Tuy nhien, ta c`on co the l`am tot ho.n:


- i.nh l
D
y 6.4.7 [Gia thuyet bon m`au] Sac so cu a mo.i d`o thi. pha ng ba` ng bon.
`an d`au tien trong cuo.c trao doi gi
Ch
u.ng minh. Gia thuyet bon m`au xuat hie.n l
u.a Morgan
v`a ngu.`o.i ho.c tr`o cua ong v`ao nam 1850. Sau do, Morgan da d`e ca.p b`ai toan n`ay vo.i
`eu ch
Hamilton trong mo.t b
u.c thu. viet ng`ay 23 thang 10 nam 1852. Ket qua l`a rat nhi
u.ng
minh c
ung nhu. cac phan v du. v`a cac gia thuyet khac co lien quan xuat hie.n (de co them
nh
u.ng thong tin chi tiet, xem [48]). Tuy nhien, phai den nam 1976, hai nh`a toan ho.c ngu.`o.i
u.ng
M
y l`a Appel v`a Haken (xem [1]), su. du.ng h`ang ng`an gi`o. tren may tnh die.n tu., da ch
minh tnh du
ng dan cua gia thuyet bon m`au.
/

6.4.1

Ki
em tra tnh ph
a ng

Vie.c xac di.nh mo.t d`o thi. co phang hay khong l`a mo.t b`ai toan co y
ngha. Nhu. da ch ra,
cac da. c tru.ng cua Kuratowski v`a Whitney cho phep kiem tra tnh phang cua d`o thi.. Tuy
nhien cac da. c tru.ng n`ay khong ph`
u ho..p khi thu..c hie.n tren may tnh do kho the hie.n b`a ng
chu.o.ng tr`nh; ngo`ai ra neu d`o thi. l`a phang, th` cac ket qua n`ay khong ch ra phu.o.ng phap
161

http://www.ebook.edu.vn

ve no nhu. the n`ao. Ngu.`o.i ta biet r`a ng [52], neu su. du.ng tieu chuan cua Kuratowski de
kiem tra tnh phang cua d`o thi. n dnh (n > 5) th` th`o.i gian thu..c hie.n t nhat l`a O(n6 ).
`e
Co mo.t so thua.t toan kiem tra tnh phang cua d`o thi. (xem [52] de co tong quan v
.
.
.

`
`

cac ket qua n`ay). Hau het cac phu o ng phap n`ay ap du.ng cach xay du. ng ban do: Dau
`au het
tien, cho.n mo.t d`o thi. con phang g cua G v`a bieu dien no tren ma.t phang. (Trong h
cac thua.t toan, g l`a mo.t chu tr`nh). Sau do them cac ca.nh v`ao d`o thi. g sao cho no khong
cat cac ca.nh khac (ngoa.i tr`
u. ta.i cac dnh chung). Neu ch
ung ta th`anh cong khi bieu dien
.
.
la.i th` d`o thi. G l`a phang; ngu o. c la.i ket lua.n G khong phang.
Kho khan chnh cua mo.t thua.t toan nhu. va.y o. cho trong nh
u.ng giai doa.n tru.o.c do,
.
.
vie.c them cac ca.nh v`ao g t`
u nh
u ng kha nang co the khong de y
den cac giai doa.n sau n`ay.
.
.
.

Mo.t cach da. t ca.nh o bu o c n`ao do co the dan den khong the da.t ca.nh o. bu.o.c sau, ma.c d`
u
d`o thi. da cho l`a phang. Chang ha.n, trong H`nh 6.8(a), gia su. ta bat d`au vo.i d`o thi. con g l`a
chu tr`nh {v1 , v2 , v3 , v4 , v5 , v1 }. Sau do ta them cac ca.nh (v1 , v4 ), (v4 , v6 ), (v3 , v6 ) v`a (v1 , v6 )
sao cho d`o thi. thu du.o..c van phang. Hien nhien l`a ca.nh (v2 , v5 ) khong the da. t du.o..c! T`
u. do
.
ta cho ra` ng d`o thi. khong phang. Tuy nhien, d`o thi. n`ay co the bieu dien phang nhu trong
H`nh 6.8(b).
v4

......................................
.........................................
.. . ..
..............
..... .. .....
...........
..... .... .........
.........
.
.
.
.
.....
.....
.
.
..
.
....
....
.....
.
.
.
.
.
.
...
.
.
.....
..
.....
.....
...
....
.....
.
.....
.
.
...
.
.
.
.
.....
.
...
.
.
.
.
.
....
.
.....
.
...
.
.
.
.....
.
.
...
.
.
.....
....
.
.
...
.
.
.
.....
.
...
...
.
.
.
.
.....
.
.
...
.
...
.
.....
.
.
.
.
.
...
.....
.
...
.
.
.
.
.
...
.
.....
.
...
.
.
.
.....
.
...
.
.
.
...
....
.
.
...
.
.
.
..........
.
.....................
.
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ......
...
...
...........................
...
... .......
...
.
.
..
...
... .......
.
.
.
.
......
....
...
...
......
...
....
...
..
......
....
...
...
...
......
....
..
...
...... ....
....
...
........
...
.
....
.
...
....
....
...
....
... ...........
.
..
......
.... ....
...
..
......
.... ...
..
......
...
.... ...
.
...
.
.
.
.
.
.
......
.... ...
......
.... ... .....
...
.....
..
....... ..
...........................................................................................

v5

v3

v6

v1

v2

v4

..........................................
.........................................
.. .. ...
..............
..... .......................
...........
.....
..... ........
.........
.
.
.
.
..
.....
.....
.
.
.
....
....
..... ..............
.
.
.
.
.
.
.
.
.......
.....
..
.....
.......
.....
....
.....
.......
.
.
.
...
.....
.
.
.
.......
.....
.....
.......
...
.....
.......
.....
.
.
.
.
.......
.
....
.....
....
.......
.
.
...
.
.
.
.....
.......
...
...
.
.
.
.......
.
.
.
.
.....
...
...
.......
.
.
.
.
.
.
.......
...
.....
...
.
.......
.
.
.
...
.
.
.....
.......
...
.
.
.
.
...
...
.
.
.
.....
...
.........
.................................................................................
.
.........
...
.
.
.
.
...
... .......
.
..
.
...
.
.
... ......
..
...
......
...
...
..
....
......
.
.
...
.
.
.
....
......
...
....
..
..
......
...
..
....
......
..
..
....
......
...
...
..
......
....
...
...
..
......
.
....
.
.
.
.
.
.
......
....
.
..
......
.... ....
...
......
..
.... ...
...
......
...
.... ...
......
...
...
.... ...
......
.
.
.
.
.... ...
.
.
......
.
..
..
.......
...
.........................................................................................
...
....
...
....
...
.
....
.
.....
..
.....
...
.....
....
......
.....
.......
......
.
.
.
.
.
........
.
........
..........
..........
................
.........................................

v5

v3

v1

(a)

v6

v2

(b)
H`nh 6.8: Hai cach bieu dien cua c`
ung mo.t d`o thi..

- ay chnh l`a mo.t tro. nga.i cua phu.o.ng phap xay du..ng ban d`o; v`a ta c
`an mo.t so thu
D
tu.c khac giai quyet.
Nhu. da biet, mo.t d`o thi., noi chung, co the thu go.n th`anh d`o thi. nho ho.n de do.n gian
hoa tien tr`nh kiem tra. Cac bu.o.c thu go.n khong anh hu.o.ng den tnh phang (hoa.c khong
phang) cua d`o thi..
162

http://www.ebook.edu.vn

1. Kiem tra tnh lien thong cua d`o thi.. Neu d`o thi. khong lien thong, xet t`
u.ng th`anh
`an lien thong.
ph
2. Xoa cac khuyen, v`a thay tat ca cac ca.nh song song bo.i du
ng mo.t ca.nh.
3. Xoa cac dnh ba.c hai v`a ho..p nhat hai ca.nh lien thuo.c dnh n`ay. La.p la.i cac Bu.o.c 2
v`a 3 cho den khi khong the r
ut go.n them.
du.ng Thua.t toan Tremaux-Tarjan de phan hoa.ch d`o thi. th`anh cac th`anh ph
`an
4. Ap
.
.
khong tach du o. c .
`an khong tach du.o..c, thu..c hie.n phep thu go.n su. du.ng cac Bu.o.c 3
5. Vo.i moi th`anh ph
v`a 2 cho den khi khong the thu go.n them.
`an khong tach du.o..c co n dnh, m ca.nh, kiem tra cac bat da ng th
u.c
6. Vo.i moi th`anh ph
n 5,

m 9,

m 3n 6.

Neu cac r`ang buo.c n`ay khong thoa man, thua.t toan ket th
uc; ngu.o..c la.i kiem tra th`anh
`an khong tach du.o..c khac. Mo.i d`o thi. co n < 5 hoa.c m < 9 l`a phang, v`a mo.i do.n
ph
d`o thi. co m > 3n 6 khong phang.
`an 3lien thong. Su. du.ng
Moi d`o thi. khong tach du.o..c co the tach th`anh cac th`anh ph
- `o thi. l`a phang neu v`a ch neu tat ca cac th`anh ph
`an 3lien thong
ket qua cua Tutte [54]: D
.
.

cua no l`a phang. Tuy nhien, phu o ng phap n`ay khong hie.u qua ba ng thua.t toan cua Hopcroft
v`a Tarjan sau day.

Thu
a.t to
an Hopcroft-Tarjan
Thua.t toan kiem tra tnh phang cua d`o thi. rat ph
u.c ta.p. Do do ch
ung ta se ch tr`nh b`ay
.
.
- e hieu thua.t toan chnh, xet thu tu.c phan ra sau ap du.ng cho
nh
u ng da.c tru ng cot yeu. D
.
cac do n d`o thi. khong tach du.o..c G co n dnh v`a m ca.nh.
`en:
Phan ra chu tr`nh-day chuy
1. T`m chu tr`nh trong G. Gan g = . Gan nhan cac dnh v`a cac ca.nh cua g l`a v1 , v2 , . . . ,
- a.t i = 1.
v`a e1 , e2 , . . . , tu.o.ng u
.ng. D
`en i bat d`au v`a ket
2. Neu co mo.t ca.nh n`ao cua G chu.a co nhan th` t`m mo.t day chuy
.
.
.
`
`
u.ng ca.nh chu.a
th
uc ta.i cac dnh du o. c gan nhan nhu ng day chuyen n`ay ch gom nh
.
.
.
.
.
.
du o. c gan nhan. Lu u tr
u i . Neu tat ca cac ca.nh da du o. c gan nhan, chuyen sang
.
.
Bu o c 4.
163

http://www.ebook.edu.vn

- a.t g = g i ; v`a i = i + 1. Gan nhan cac ca.nh v`a cac dnh chu.a du.o..c gan nhan trong
3. D
g v`a chuyen sang Bu.o.c 2.
`en 1 , 2 , . . . , e . D`
4. Xuat g v`a cac day chuy
u.ng.
Co the ch
u.ng minh ra` ng [52] thu tu.c tren se phan ra do.n d`o thi. khong tach du.o..c G
`en. V` chu tr`nh co the xem l`a ket noi cua hai
th`anh mo.t chu tr`nh v`a e = m n day chuy
.
`en khong co chung ca.nh, nen G du o..c phan ra th`anh m n + 2 day chuy
`en. C
`an
day chuy
.
.
.
`

`
ch
uy
ra ng, ma.c d`
u phan ra tren l`a khong duy nha t, nhu ng so cac day chuyen du o. c phan
ra t`
u. G l`a h`a ng so. Chang ha.n, H`nh 6.8, xet hai phan ra sau th`anh mo.t chu tr`nh v`a bon
`en:
(10 6 = 4) day chuy
{v1 , v2 , v3 , v4 , v5 , v1 }, {(v1 , v4 )}, {(v2 , v5 )}, {(v4 , v6 ), (v1 , v6 )}, {(v3 , v6 )},
v`a
{v1 , v2 , v3 , v4 , v5 , v1 }, {(v4 , v6 ), (v3 , v6 )}, {(v1 , v6 )}, {(v1 , v4 )}, {(v2 , v5 )}.
`en, ch
Trong qua tr`nh phan ra chu tr`nh-day chuy
ung ta co the bieu dien chu tr`nh
.

`
tren ma.t phang, v`a tiep tu.c them cac day chuyen mo i 1 , 2 , . . . , khi ch
ung du.o..c sinh ra.
.
`en i mo i hoa.c se phan chia mo.t die.n dang t
`on ta.i th`anh hai die.n mo.i hoa.c
Mo.t day chuy
se khien cho g i khong phang khi them no v`ao g. Do ch
ung ta them tu`
yy
, nen co the
.
- e giai quyet kho khan n`ay, ta co the hoa.c
xay ra t`nh tra.ng nhu trong H`nh 6.8. D
`en cho den khi khong the thu..c hie.n du.o..c n
1. Tiep tu.c them cac day chuy
u.a. Sau do tro.
.
.
.
.
`an ngu.o..c) thay
la.i t`m kiem cho.n lu. a cach bieu dien khac (t
u c l`a d`
ung phu o ng phap l
cho qua tr`nh tru.o.c do; hoa.c l`a
`en khac nhau nhu.ng khong da. t ch
ung v`ao , cho den khi
2. Tiep tu.c t`m cac day chuy
.
.
.
.
`
`
t`m du o. c die.n m`a mo.t day chuyen can du o. c da. t v`ao, hoa.c l`a biet chac ra` ng khong co
`en v`ao.
tro. nga.i vo.i die.n m`a da. t day chuy
Co mo.t so thua.t toan tiep ca.n theo hu.o.ng th
u. nhat, nhu.ng Hopcroft v`a Tarjan tiep
.
.
chnh
ca.n theo cach th
u hai v`a da ch
u ng minh ra` ng thua.t toan cua ho. l`a hie.u qua ho.n. Y
.

`en; cu. the l`a:


cua thua.t toan n`ay l`a giai quyet su. nha.p nha` ng khi them cac day chuy
`en i (tren dnh cua mo.t danh
Gia su. r`a ng o. bu.o.c n`ao do, ch
ung ta co mo.t day chuy
.
.
`en c
`an xu l
`an giai quyet su.. nha.p nh`a ng cua no.
y) m`a ch
ung ta c
sach ch
u a cac day chuy
`en n`ay. Cac tru.`o.ng ho..p khac
Gia su. a v`a b l`a cac dnh xuat phat v`a ket th
uc cua day chuy
.
.
.
.
.
.
.
.
nhau co the xay ra v`a phu o ng phap xu l
y tu o ng u
ng se du o. c tr`nh b`ay du.o.i day. Cac t`nh
huong n`ay du.o..c giai thch du..a v`ao H`nh 6.9.
`on ta.i day chuy
`en khac Pi v`a ch
1. Neu khong t
u.a hai dnh a v`a b.
164

http://www.ebook.edu.vn

`en
(a) Neu stack khac trong th` lu.u tr
u. Pi v`a giai quyet su.. nha.p nh`a ng cua day chuy
ke tiep trong stack.
(b) Ngu.o..c la.i (stack b`a ng trong) th` them Pi v`ao g; giai quyet su.. nha.p nh`a ng cua
`en ke tiep trong stack.
day chuy
`en (khac Pi ) ch
2. Ngu.o..c la.i gia su. Pj l`a day chuy
u.a hai dnh a v`a b (xem H`nh 6.9(a)).
`en Pk xuat phat t`
Gi
u. la.i Pi trong danh sach. Xay du..ng day chuy
u. dnh x n`ao do tren
.
.
Pi v`a na` m gi
u a a v`a b (gia su Pk ket th
uc ta.i y).
`en Pk tren Pi v`ao stack v`a
(a) Neu y thuo.c Pk (xem H`nh 6.9(b)) th` da. t day chuy
`
`en Pk .
giai quyet tnh nha.p nha ng cua day chuy
`en Pi da du.o..c giai.
(b) Ngu.o..c la.i v`a neu y khong thuo.c Pj (H`nh 6.9(c)) th` day chuy
`en ke tiep trong stack.
Loa.i Pi khoi stack. Giai su.. nha.p nh`a ng cua day chuy
(c) Ngu.o..c la.i neu y n`a m gi
u.a a v`a b (H`nh 6.9(d)) th` lu.u tr
u. Pk . Tiep tu.c giai tnh
`en Pi b`a ng cach ta.o day chuy
`en khac gi
nha.p nha` ng cua day chuy
u.a a v`a b.
`en
(d) Ngu.o..c la.i (H`nh 6.9(e)), lu.u tr
u. Pk . Tiep tu.c giai tnh nha.p nh`a ng cua day chuy
.
`en khac gi
Pi b`a ng cach ta.o day chuy
u a y v`a b.
`en i co the xoay ta.i hai dnh a v`a b, v`a do do se phan
Trong H`nh 6.9(a), day chuy
.
.
- e giai
`en j . Su.. nha.p nha` ng n`ay c
`an du.o..c xu. l
y. D
doi die.n tren hoa.c du o i day chuy
.
.
`en k xuat phat t`
`en i .
quyet, ta xay du. ng mo.t day chuy
u dnh x n`ao do tren day chuy
.
.
.
.
`en k ch
(Day chuy
u a cac ca.nh chu a du o. c gan nhan v`a ket th
uc ngay khi no ga.p mo.t dnh
du.o..c gan nhan, chang ha.n y).
`en k thuo.c day chuy
`en i nhu. trong H`nh 6.9(b),
Neu ca hai dnh x v`a y cua day chuy
th` k co the du.o..c xoay ta.i hai dnh x v`a y v`a do do se phan doi die.n pha tren hoa.c pha
`en i . V` va.y ch
`an xu. l
du.o.i day chuy
ung ta khong nh
u.ng c
y cho i m`a tru.o.c het c`on
`en mo.i k . Do do c
`an cat k sau khi cat i
phai giai quyet su.. nha.p nh`a ng cho ca day chuy
.
.
.
y tu o ng tu.. i doi vo.i k .
trong mo.t ngan xep, v`a ta bat d`au xu l
`en i v`a j nhu.ng la.i thuo.c
Kha nang khac l`a dnh y khong na` m tren hai day chuy
`en i khong
`en khac nhu. trong H`nh 6.9(c). Trong tru.`o.ng ho..p n`ay day chuy
mo.t day chuy
.
`e die.n m`a day chuy
`en n`ay
the xoay sang pha ben kia, v`a do do khong co su. nha.p nh`a ng v
phan chia.
`en k n`a m tren day chuy
`en j gi
Nhu. trong H`nh 6.9(d), neu dnh cuoi cua day chuy
u.a
`en i (c`
hai dnh a v`a b th` day chuy
ung vo.i k ) van co the xoay ta.i a v`a b. Do do van co su..
`en i . Tuy nhien khi do day chuy
`en k phan doi die.n xac d.inh
nha.p nh`a ng doi vo.i day chuy
.
.
`an mo.t day chuy
`en
ung ta c
bo i chu tuyen (a, x, b, y, a) khong co su. nha.p nha` ng. V` va.y, ch
.
.
.

khac xuat phat t`


u mo.t dnh tren i de giai quyet su. nha.p nh`a ng vo i i .
165

http://www.ebook.edu.vn

i
.......................................................................................................................
....
...

...
...
..

................................................................................................................................................................................................................................................................................
j
a
b

(a)

k
..................................................................
.
....
...

...
...
..

............................................................................................................................
....
x i y .......
...
.................................................................................................................................................................................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

j
a
b
.................................
...
...
.

k
..................................................................
...
...
.

....
..
..
................................................................................................................
...
....
.
...
....
.
...
....
....
...
..
..
.
....................................................................................................................................................................................................................................................

y ........................................
.

(b)

(c)

x i
............................................................................................................................

...
...
...
...
...
...
...
...
..
............................
...
...
...
...
...
.
...
...
...
...
...
...
...
...
...
...
.
...
.
.
..........................................................................................................................................................................................................................................................................

k
.............................................................................................

...
..
...
...
...
..
...
...............................................................................................................
...
...
.
..
...
...
.
...
...
....
...
.
...
.
..
.
..
.
.
.............................................................................................................................................................................................................................................................................

(d)

(e)

`en i .
H`nh 6.9: Phan tch cac kha nang xay ra cua day chuy
`en k co dnh y n`a m tren day chuy
`en j nhu.ng
Cuoi c`
ung, trong tru.`o.ng ho..p day chuy
`en i van co the xoay.
na` m ngo`ai doa.n xac d.inh bo.i a v`a b nhu. trong H`nh 6.9(e). Day chuy
.
.
.
.
.
.
`en k
Nhu ng khac vo i tru `o ng ho. p cua H`nh 6.9(b), khong co su. nha.p nh`a ng cua day chuy
.
.
.
.
.
.

`an t`m mo.t day chuy


`en mo i de giai quyet su. nha.p nh`a ng cua
tu o ng u
ng vo i i . Do do, c
.

`
`

`en
day chuyen i v`a day chuyen mo i n`ay co the xua t phat t`
u. mo.t dnh bat k`
y tren day chuy
.
`en i den dnh y tren j .
y, a, x, b; ngo`ai ra ta c
ung mo ro.ng day chuy
`om cac thu tu.c:
Tom la.i, thua.t toan kiem tra tnh phang cua d`o thi. g
`an khong tach du.o..c;
1. T`m cac th`anh ph
`an khong tach du.o..cth`anh cac day chuy
`en;
2. Phan hoa.ch cac th`anh ph
166

http://www.ebook.edu.vn

`en n`ay; v`a


3. Xac di.nh vi. tr de them cac day chuy
4. Xay du..ng mo.t bieu dien phang.
`eu sau de giai quyet cac Bu.o.c 1 v`a 2. Cac day chuy
`en
Su. du.ng thua.t toan t`m kiem theo chi
.
.
.
.
.
.
.
`e sau. Th`o.i
du o. c ta.o bo i hai bu o c tren co nh
u ng tnh chat thch ho. p cho cac tien tr`nh v
.
.
.
.
.
.
.
.
gian d`oi hoi trong moi bu o c (ngoa.i tr`
u Bu o c 4) t le. vo i n. Th`o i gian xay du. ng mo.t bieu
.
dien phang l`a O(n log n). V` va.y th`o i gian thu..c hie.n cua thua.t toan l`a O(n log n) (do cong
th
u.c Euler, so ca.nh m t le. vo.i so dnh n trong mo.t d`o thi. phang).
[34]).

6.5

Thua.t toan n`ay c`on co the cai thie.n tot ho.n vo.i th`o.i gian thu..c hie.n l`a O(n) (xem

-
u h`nh ho.c
D
oi ng
a

Xet d`o thi. phang lien thong G khong co dnh co la.p. Khi do ta co the thiet la.p mo.t d`o thi.
phang G nhu. sau: ben trong moi die.n s cua R(G) da. t mo.t dnh s cua G ; vo.i moi ca.nh e
cua G thiet la.p tu.o.ng u
.ng mo.t ca.nh e cua G b`a ng cach noi cac dnh s v`a t tu.o.ng u
.ng

- `o thi. G go.i l`a doi ngau (to po) cua


cac die.n s v`a t tren hai pha cua ca.nh e trong R(G). D
G (hay c`on go.i l`a doi ngau h`nh ho.c cua G).
- `o thi. G (du.`o.ng li
`en net) v`a doi ngau cua no (du.`o.ng du
V du. 6.5.1 D
.t net) cho trong
H`nh 6.10.

...
........
... ... ...
... .. ...
.. ... ....
.
.. .. ..
.. .... .....
...
...
...
.
...
.. ... ....... ..... ....
.
..
. ..
..
.. .. .... .... .....
.
.
.
...
.. .... .
...
...
.
..
...
.
.
.
...
...
.
...
..
....
...
...
.
..
.
.
.
.
.
. ..........
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. ...
. .
...... ... .. ........ ........ .. ... .......
.
.......
.
..........
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
.....
....
....
.
.
.
.
.
.
.
... .....
.
.
.
..... ..... ..... ........
..... ....
... ..
.....
.....
.
.
...
.
.....
.
.
.
.
.
.
.
.
.....
..
...
...
......
.
....
.
.
.
.
.
.
.
.....
...
.
......
....
...
.
.
.
.
.
.
.
..
.
.
.
.
......
.
.
.
...
.
.
.
.
.....
..... ...
.
...
.
......
.
.
.
.
.
.
.
.
.
.
.
.
.
..... ...
...
.
..
. .......
....
.
.
.
.
.
.
.
.
.
....
..... ...
.. .... .. ...
... .........
....
.
.
.
.
.
.
..... ...
... ..
...
.
.
.
.
.
.. .......
.
.
.
.
.
.
.
.
...
.
..... ..
...
......... .................... ....... .....
...
.
.
.
.
..
........
..... ...........
.
.
.
.
.
...
.
.
.........................................................................................................................................................
...
.
.
...
...
..
.
....
.
...
.
.....
...
.....
.......
..
......
.......
......
.......
......
...
.......... ...
.......... .
.
.
.
.......... ...........
.
.
.
.
.
.
.
.
.
.
.
.. .. .............

H`nh 6.10:
ung lien thong khac trong
Mo.t chu tr`nh so. cap cua R(G) chia ma.t phang th`anh hai v`
.
.
.
.
v`a r`o i nhau. Bo di tat ca cac ca.nh doi ngau tu o ng u
ng cac ca.nh tren chu tr`nh n`ay se phan
167

http://www.ebook.edu.vn

`an lien thong. Noi cach khac, moi chu tr`nh so. cap cua G,
hoa.ch R(G ) th`anh hai th`anh ph
.
.
.
qua doi ngau, tu o ng u
ng mo.t doi chu tr`nh so. cap cua G , v`a ngu.o..c la.i. Tnh chat n`ay rat
h
u.u ch v` ta co the t`m mo.t doi chu tr`nh cua G b`a ng cach t`m mo.t chu tr`nh cua G .
Ro r`ang co mo.t su.. tu.o.ng u
.ng mo.t-mo.t gi
u.a cac ca.nh cua d`o thi. G v`a d`o thi. doi ngau

.
G mo.t ca.nh cua G giao vo i mo.t ca.nh cua G. Ho.n n
u.a ch
ung ta co mo.t v`ai nha.n xet sau:

1. Ca.nh l`a khuyen trong G tu.o.ng u


.ng ca.nh treo trong G .
2. Ca.nh l`a ca.nh treo trong G tu.o.ng u
.ng khuyen trong G .
3. Neu G co diem kho.p th` G c
ung co diem kho.p.
4. Cac ca.nh trong chuoi cua G tu.o.ng u
.ng cac ca.nh song song trong G .
5. Cac ca.nh song song trong G tu.o.ng u
.ng cac ca.nh trong chuoi cua G .
6. So cac ca.nh ta.o th`anh bien trong die.n F cua G, b`a ng ba.c cua dnh tu.o.ng u
.ng trong
G v`a ngu.o..c la.i.
- `o thi. G l`a phang.
7. D
- `o thi. doi ngau cua G l`a G; t
8. D
u.c l`a (G ) = G.
9. Neu k
y hie.u n, m v`a f l`a so cac dnh, ca.nh v`a die.n tu.o.ng u
.ng cua d`o thi. phang lien

thong G, v`a k
y hie.u n , m v`a f l`a so cac dnh, ca.nh v`a die.n cua d`o thi. doi ngau G
tu.o.ng u
.ng, th`
n = f, m = m, f = n.
V du. 6.5.2 Xet mo.t ma.ng va.n tai phang (vo hu.o.ng) G m`a moi ca.nh e co kha nang thong
qua c(e) 0, dnh v`ao s v`a dnh ra t du.o..c xep tren c`
ung mo.t du.`o.ng n`a m ngang. Ta la.p d`o

.ng vo.i die.n vo ha.n cua


thi. doi ngau G b`a ng cach cho hai dnh khac nhau s v`a t tu.o.ng u
G : dnh s u
.ng vo.i nu.a ma.t phang du.o.i, dnh t u
.ng vo.i nu.a ma.t phang tren. Gan tro.ng

.
.
.
.
lu o. ng w(e ) = c(e) cho ca.nh e (
u ng vo i e). Bay gi`o. ta xet cac b`ai toan sau:
B`
ai to
an 1. Trong G t`m thiet die.n A co kha nang thong qua nho nhat; t
u.c l`a l`am cu..c
tieu
X
c(v).
c(A) =
vA

B`
ai to
an 2. Trong G t`m du.`o.ng di ngan nhat di t`
u. s den t ; t
u.c l`a l`am cu..c tieu
X

w( ) =

w(v ).

168

http://www.ebook.edu.vn

`ong lo.n nhat; B`ai toan 2 tu.o.ng du.o.ng vo.i


B`ai toan 1 tu.o.ng du.o.ng vo.i b`ai toan t`m lu
.
.
b`ai toan t`m du `o ng di ngan nhat v`a ro r`ang doi vo.i d`o thi. phang th` ca hai b`ai toan do l`a
mo.t.
B`ai toan bon m`au c`on co the phat bieu du.o.i da.ng doi ngau l`a: co the to cac die.n cua
`e nhau co c`
mo.t d`o thi. phang G b`a ng bon m`au sao cho khong co hai die.n k
ung mo.t m`au.
u
`o thi. d
Tnh duy nh
at cu a d

oi ng
a
Van d`e da. t ra l`a doi ngau cua mo.t d`o thi. l`a duy nhat? Noi cach khac, cac d`o thi. doi ngau
cua mo.t d`o thi. da cho l`a dang cau? T`
u. phu.o.ng phap xay du..ng cua d`o thi. doi ngau, du.`o.ng
nhu. ho..p l
y cho r`a ng mo.t d`o thi. phang G co duy nhat d`o thi. doi ngau neu v`a ch neu no co
`au) duy nhat.
mo.t bieu dien phang (tren ma.t phang hoa.c ma.t c
V du. 6.5.3 Hai d`o thi. trong H`nh 6.11 l`a da ng cau vo.i hai bieu dien phang khac nhau.
Ngu.o..c la.i, cac d`o thi. doi ngau cua hai d`o thi. n`ay khong da ng cau nhu. trong H`nh 6.12.
e5 ............................................................ e6

e7

...............................................................................................................................................................................................................
.......
...
e....6.............................. ......
.......
...
.......
.......
...
..
...
.......
...
.......
.
.
.
.
.
.
.
.
.
.
.
e5 .................................. . ..................... .........
...
....
.
.
...
.
...........
...
....
.
e4

...
.
...
.....
...
...
.....
...
.....
...
...
....
.
.
.
...
.
...
...
.
.
.
...
.
...
..
.
.
.
.
...
.
...
...
.
.
.
...
...
.
....
.
.
...
...
.
...
.
...
.
.
...
.
...
.
...
.
.
...
.
...
...
.
.
.
.
...
...
...
.
.
.
.
...
...
...
.
.
.
.
...
...
...
.
.
.
.
...
...
...
.
.
.
.
...
...
...
.
.
.
...
.
...
...
.
.
...
.
.
...
... .........
...
.. ......
..
....................................................................................................................................................

e3

e2

.......
...
.......
.......
.......
.......
.......
.......
.......
.......
.......
.......
.
.
.
.
.
.
.
............................................................................................................................................................
..... ..
.....
..... ....
.
.
.
...
.
.....
...
....
.....
...
...
.....
.....
...
...
....
.
.
.
...
...
.
...
.
.
.
...
...
.
...
.
.
.
...
...
.
...
.
.
.
...
...
.
...
.
.
.
...
...
.
....
.
.
...
...
.
...
.
.
.
...
...
.
...
.
.
.
...
...
.
...
.
.
.
...
...
.
...
.
.
.
...
...
.
....
.
.
...
...
.
...
.
.
.
...
...
.
...
.
.
.
...
...
.
...
.
.
.
...
.
...
...
.
.
.
...
.
...
...
.
.
.
.
...
...
....
.
.
.
...
...
...
.
.
.
.
...
...
...
.
.
.
.
...
...
..
... .........
...
... .......
...
..........
..
...............................................................................................................................................

e1

e4

e7

e3

e2

e1

H`nh 6.11: Hai bieu dien khac nhau cua c`


ung mo.t d`o thi..
- i.nh l
Tuy nhien cac d`o thi. trong H`nh 6.12 l`a 2da ng cau. D
y sau tong quat v du. n`ay.
- i.nh l
D
y 6.5.4 Tat ca cac d`o thi. doi ngau cu a mo.t d`o thi. pha ng G l`a 2da ng cau; v`a mo.i
ung l`a mo.t doi ngau cu a G.
d`
o thi. 2da ng cau vo.i mo.t doi ngau cu a G c
`au, nen doi ngau
V` mo.t d`o thi. phang 3lien thong co bieu dien duy nhat tren ma.t c
cua no l`a duy nhat. Noi cach khac, tat ca cac doi ngau cua d`o thi. 3lien thong l`a dang
cau.
169

http://www.ebook.edu.vn

..........................
.........
... ....
.......
... ....
......
... ...
.....
.
.
.
.
...
...
...
.
...
.
...
..
...
.
...
.
...
...
.
.
.
....
..
.
...
..
..
..
.
.
...
...
..
.
.
.
..
.
..
.
.
.
.
... ...
...
. .
.... .......
...
.
...
..........
.
.
.
....
.
.
..... .........
..
.....
.....
.
.
.
.
....
.....
..
.....
.
.....
.....
.....
...
.....
.....
.
.
.
.....
.
.....
...
.
.....
.
.
..
.
.....
...
.
.
.
...
.
.....
....
.
.....
.
.
...
...
.....
.
.
.
...
.
.....
...
.
.
.
.....
.
...
..
.....
.... ........
.....
.....
... ........
...
.........
....................................................................................................................................................
...
...
...
...
.
...
.
..
...
...
...
.
.
.
...
..
...
...
....
....
....
....
....
...
.
....
.
.
....
....
.....
....
.....
.....
.....
.....
......
......
.
.
.
.......
.
.
.
....
.........
.........
..............
...................................

e5

e7

e6

e6

e3

e2

e7

e5

e4

......................
.........
.
.......
... ...
......
... ..
.....
.
.
.. ...
.
.
.. ....
...
.
.
.
.
...
..
..
...
...
..
...
...
.....
...
...
..
..
....
.
.
..
..
...
.
.
...
..
..
.
.
.
...
.
.
....
...
...
...
.
..
.
.
.
.
.
.
......
.
..
.
.
...
.
.
.
... .......
.
.
.
.
.
...
.
.....
...
.
.
...
.
.....
.
.
....
..
.....
.
.....
...
.....
.....
.....
...
...
.....
.
.....
..
.
.
.
.
.....
.....
.
...
.
.
.
.
..
.
.
.....
...
.
.
...
.....
.
...
.
.
.....
.. .........
.
...
.....
.....
... .... .........
.....
... .... .......
.....
.... ... ......
.....
.....
... ...........
.....
...........
....................................................................................................................................................
.
...
...
...
...
...
.
..
...
...
...
.
.
.
...
..
...
...
....
....
....
....
....
...
.
....
.
.
....
....
.....
....
.....
.....
.....
.....
......
......
.
.
.
.......
.
.
.
....
.........
.........
..............
...................................

e3

e4

e2

e1

e1

(a)

(b)

- oi ngau cua d`o thi. trong H`nh 6.11(a). (b) D


- oi ngau cua d`o thi. trong H`nh
H`nh 6.12: (a) D
6.11(b).

6.6

-
u t
D
oi ng
a
o ho..p

`an tru.o.c ch
`e doi ngau cua cac d`o thi. phang
Trong cac ph
ung ta da di.nh ngha v`a thao lua.n v
`an t
`an n`ay cung cap mo.t d.inh ngha tu.o.ng du.o.ng cua khai
theo ngha thu
uy h`nh ho.c. Ph
nie.m doi ngau khong phu. thuo.c v`ao cac khai nie.m h`nh ho.c. Tru.o.c het ta co
- i.nh l
- i
`eu kie.n c
`an v`a du de hai d`o thi. pha ng G1 v`a G2 l`a doi ngau cu a nhau
D
y 6.6.1 D
.
.
.
`on ta.i tu o ng u
l`a: T
ng mo.t-mo.t gi
u.a cac ca.nh trong G1 v`a cac ca.nh trong G2 sao cho mo.t
ta.p cac ca.nh trong G1 ta.o th`anh mo.t chu tr`nh neu v`a ch neu ta.p tu.o.ng u
.ng trong G2 ta.o
th`anh mo.t thiet die.n.
- i
`eu kie.n c
`an. Xet mo.t bieu dien phang cua d`o thi. G. Ch
Ch
u.ng minh. D
ung ta c
ung ve mo.t

doi ngau (h`nh ho.c) G cua G. Xet mo.t chu tr`nh t`


uy y
trong G. Hien nhien, chu tr`nh
se ta.o th`anh mo.t du.`o.ng cong dong do.n n`ao do trong ma.t phang bieu dien cua G v`a phan
- i.nh l
- u.`o.ng cong Jordan). Do do cac dnh cua G du.o..c
chia ma.t phang th`anh hai v`
ung (D
yD
phan hoa.ch th`anh hai ta.p con khac trong r`o.i nhau-mo.t ben trong v`a mo.t ben ngo`ai .
Noi cach khac, ta.p cac ca.nh trong G tu.o.ng u
.ng ta.p trong G l`a mo.t thiet die.n trong
G . (Khong ta.p con thu..c su.. n`ao cua l`a thiet die.n cua G ; ta.i sao?). Tu.o.ng tu.., hien
`on ta.i duy nhat mo.t chu tr`nh g
`om ta.p cac ca.nh
nhien r`a ng vo.i moi thiet die.n S trong G t
.
.
.
tu o ng u
ng S trong G sao cho S l`a mo.t chu tr`nh.
170

http://www.ebook.edu.vn

- i
`eu kie.n du. Gia su. G l`a d`o thi. phang v`a G0 l`a d`o thi. m`a co tu.o.ng u
D
.ng mo.t-mo.t gi
u.a cac

0
.
.
.
thiet die.n trong G v`a cac chu tr`nh trong G v`a ngu o. c la.i. Gia su G l`a d`o thi. doi ngau cua
G. Khi do co mo.t tu.o.ng u
.ng mo.t-mo.t gi
u.a cac chu tr`nh trong G0 v`a cac thiet die.n trong
`on ta.i tu.o.ng u
G, v`a gi
u.a cac thiet die.n trong G v`a cac chu tr`nh trong G . Do do t
.ng mo.t
0

.
- i.nh
`eu n`ay ch ra r`a ng G v`a G l`a 2da ng cau (D
mo.t gi
u a cac chu tr`nh cua G v`a G m`a di
0

l
y 1.5.3). Theo Di.nh l
y 6.5.4, d`o thi. G l`a mo.t doi ngau cua G.
-
u cua d
`o thi. con
D
oi ng
a

Gia su. G l`a d`o thi. phang v`a G l`a doi ngau cua no. Gia su. a l`a mo.t ca.nh cua G v`a ca.nh
tu.o.ng u
.ng no trong G l`a a . Bay gi`o. ta xoa ca.nh a khoi d`o thi. G v`a t`m doi ngau cua d`o
thi. G \ {a}. Neu a l`a ca.nh bien cua hai die.n, th` vie.c xoa ca.nh a se ho..p nhat hai die.n n`ay
l`am mo.t. Do do d`o thi. doi ngau (G \ {a}) co the nha.n du.o..c t`
u. G b`a ng cach xoa ca.nh

.
.
.
tu o ng u
ng a v`a sau do d`ong nhat hai dnh m`a a lien thuo.c trong G \ {a }. Ma.t khac neu
ca.nh a khong n`a m tren bien, th` a l`a mo.t khuyen. Trong tru.`o.ng ho..p n`ay G \ {a } chnh
l`a (G \ {a}) . Do do neu d`o thi. G co mo.t doi ngau G th` doi ngau cua d`o thi. con cua G co
`an thu tu.c n`ay.
the nha.n du.o..c b`a ng cach ap du.ng mo.t so l
-
u cua d
`o thi. d
`ong ph
D
oi ng
a

oi
Gia su. G l`a d`o thi. phang v`a G l`a doi ngau cua no. Gia su. a l`a mo.t ca.nh cua G v`a ca.nh
tu.o.ng u
.ng no trong G l`a a . Bay gi`o. ta them mo.t dnh mo.i co ba.c b`a ng hai n`a m tren ca.nh
a v`ao G (t
u.c l`a a tro. th`anh hai ca.nh trong chuoi). Khi do doi ngau cua d`o thi. mo.i nha.n
.
.
y ngu.o..c la.i ba` ng
du o. c chnh l`a them ca.nh song song vo.i a v`ao d`o thi. G . Tu.o.ng tu.. xu. l
cach r
ut go.n chuoi se tu.o.ng u
.ng vo.i xoa mo.t ca.nh song song trong G . Do do neu G co mo.t
doi ngau G , th` mo.i doi ngau cua d`o thi. d`ong phoi vo.i G co the nha.n du.o..c t`
u. G ba` ng
.
.
phu o ng phap tren.
- en nay ch
- o l`a v` mo.i
D
ung ta mo.i ch nghien c
u.u doi ngau cua cac d`o thi. phang. D
d.inh ngha cua khai nie.m doi ngau phu. thuo.c v`ao cach bieu dien phang cua d`o thi. tren ma.t
- i.nh l
phang. Tuy nhien, D
y 6.6.1 cho phep ch
ung ta co the d.inh ngha la.i khai nie.m n`ay m`a

.ng gi
u.a cac chu tr`nh
khong phu. thuo.c v`ao cach bieu dien tren ma.t phang; cu. the l`a tu.o.ng u
.
v`a cac thiet die.n. Khai nie.m n`ay co the mo ro.ng cho cac d`o thi. khong phang? Noi cach
`on ta.i mo.t d`o thi. G0 tu.o.ng u
khac, vo.i d`o thi. khong phang G, co t
.ng mo.t-mo.t gi
u.a cac ca.nh
cua ch
ung sao cho mo.i chu tr`nh trong G tu.o.ng u
.ng duy nhat vo.i mo.t thiet die.n trong G0 ,
v`a ngu.o..c la.i? Cau tra l`o.i l`a khong do ket qua sau
- i.nh l
- `o thi. co doi ngau neu v`a ch neu no pha ng.
D
y 6.6.2 [Whitney] D
171

http://www.ebook.edu.vn

`an ch
`eu kie.n c
`an. T
Ch
u.ng minh. Ch
ung ta ch c
u.ng minh di
u.c l`a ta se ch
u.ng minh d`o thi.
.
- i.nh l
khong phang se khong co doi ngau. Gia su G l`a d`o thi. khong phang. Khi do theo D
y
.
.
Kuratowski, G ch
u a K5 hoa.c K3,3 hoa.c mo.t d`o thi. con d`ong phoi vo i mo.t trong hai d`o thi.
`

n`ay. Ta biet ra ng, G co mo.t doi ngau ch neu mo.i d`o thi. con g cua G v`a mo.i d`o thi. d`ong
phoi vo.i g co mo.t doi ngau. Do do neu ch
ung ta ch
u.ng minh du.o..c ca hai d`o thi. Kuratowski
K5 v`a K3,3 d`eu khong co doi ngau th` d.inh l
y du.o..c ch
u.ng minh. Ta se ch
u.ng minh phan
.
.
ch
u ng nhu sau:
(a) Gia su. K3,3 co mo.t doi ngau D. Nha.n xet r`a ng cac thiet die.n trong K3,3 tu.o.ng u
.ng cac
- i.nh l
`om hai ca.nh
chu tr`nh trong D v`a ngu.o..c la.i (D
y 6.6.1). Do K3,3 khong co thiet die.n g
.
nen D khong co chu tr`nh do. d`ai hai. T
u c D khong co cac ca.nh song song. Do mo.i chu
tr`nh trong K3,3 co do. d`ai bon hoa.c sau nen D khong co thiet die.n vo.i so ca.nh t ho.n bon.
V` va.y, ba.c cua cac dnh trong D t nhat b`a ng bon. Nhu.ng D khong co ca.nh song song v`a
ba.c cua cac dnh t nhat b`a ng bon nen D co t nhat nam dnh, moi dnh co ba.c lo.n ho.n
- i
`eu n`ay mau thuan v` K3,3 co
hoa.c b`a ng bon. T
u.c l`a D co t nhat (5 4)/2 = 10 ca.nh. D
chn ca.nh v`a doi ngau cua no c
ung phai co chn ca.nh. Do do K3,3 khong co doi ngau.
uy
ra` ng K5 co
(b) Gia su. K5 co mo.t doi ngau l`a H. Ch
1. 10 ca.nh;
2. khong co ca.nh song song;
3. khong co thiet die.n vo.i hai ca.nh; v`a
4. cac thiet die.n ch co bon hoa.c sau ca.nh.
Suy ra d`o thi. H co
1. 10 ca.nh;
2. khong co dnh ba.c nho ho.n ba;
3. khong co ca.p ca.nh song song;
4. cac chu tr`nh co do. d`ai bon hoa.c sau.
Khi do H ch
u.a mo.t lu.c giac (mo.t chu tr`nh co do. d`ai sau), v`a khong co ho.n ba ca.nh
m`a khi them v`ao lu.c giac se khong ta.o th`anh chu tr`nh do. d`ai ba hoa.c mo.t ca.p ca.nh song
`eu n`ay khong the xay ra trong H v`a H co 10 ca.nh, nen H co t nhat bay
song. Nhu.ng di
- i
`eu n`ay dan den H co t nhat 11 ca.nh-mau

dnh. Ba.c cua moi dnh n`ay t nhat b`a ng ba. D


thuan.
/
172

http://www.ebook.edu.vn

Chu.o.ng 7
Ma.ng v
a.n tai
7.1

`au
Mo. d

Mo.t trong nh
u.ng b`ai toan l
y th
u v`a quan tro.ng cua l
y thuyet d`o thi. l`a xac di.nh gia tri. lo.n
`en t`
`on s cua d`o thi. den mo.t dnh dch t. Trong
`ong du.o..c truy
u. mo.t dnh ngu
nhat cua lu
khung canh do, moi cung (vi , vj ) cua d`o thi. G du.o..c gan vo.i mo.t kha nang thong qua qij l`a
`ong lo.n nhat co the tai qua cung n`ay. B`ai toan n`ay v`a nh
so lu.o..ng lu
u.ng cai bien cua no
.
.
`eu u
co rat nhi
ng du.ng trong thu. c te, chang ha.n, xac d.inh ma.t do. giao thong lo.n nhat gi
u.a
hai v`
ung trong ban d`o giao thong du.o..c bieu dien bo.i mo.t d`o thi.. Trong v du. n`ay, l`o.i giai
`ong lo.n nhat c
ung ch ra nh
u.ng no.i bao ho`a tren ma.ng giao thong v`a ta.o
cua b`ai toan lu
`ong ta.p trung v`ao gi
mo.t tac nghen khi lu
u.a hai vi. tr n`ao do.
`ong lo.n nhat t`
`an d`au tien bo.i Ford
Phu.o.ng phap giai b`ai toan lu
u. s den t du.a ra l
v`a Fulkerson [27] v`a k
y thua.t gan nhan cua ho. l`a co. so. cho nh
u.ng thua.t toan khac giai
.
`ong lo.n nhat:
quyet nh
u ng van d`e lien quan. Co mo.t so cai bien cua b`ai toan lu
1. Gia su. r`a ng moi cung cua d`o thi. khong ch du.o..c gan vo.i kha nang qij cho biet ca.n tren
`ong tren cung (vi , vj ) m`a c`on kha nang rij cho ca.n du.o.i cua lu
`ong tren cung
cua lu
.
.
.
.

n`ay. Trong tru `o ng ho. p nhu va.y, khong phai l


uc n`ao mo.t ta.p cha p nha.n du.o..c cac gia
`ong c
`eu
tri. cua lu
ung thoa man c`
ung l
uc hai r`ang buo.c n`ay. Tuy nhien-noi chung-nhi
.
.
.
`
`

ng
luong thoa dieu kie.n n`ay, v`a neu ngo`ai cac kha nang c`on co cac chi ph cij tu o ng u
`ong do.c theo cac cung, th` b`ai toan tro. th`anh t`m lu
`ong chap nha.n du.o..c
mo.t do.n vi. lu
vo.i chi ph nho nhat t`
u. s den t.
`ong lo.n nhat gi
u.a mo.i ca.p dnh. Ma.c d`
u b`ai toan n`ay co
2. Xet tru.`o.ng ho..p d`oi hoi lu
`an la.p cac b`ai toan lu
`ong lo.n nhat t`
the giai b`a ng n(n 1)/2 l
u. s den t nhu.ng cach
`an
l`am n`ay qua tho! Tu.o.ng tu.. vo.i t`m tat ca cac du.`o.ng di ngan nhat, o. day c
ung c
173

http://www.ebook.edu.vn

mo.t thua.t toan chuyen du.ng de giai no-v`a trong tru.`o.ng ho..p d`o thi. vo hu.o.ng, phu.o.ng
`ong lo.n nhat gi
phap giai quyet no khong lien quan den l`o.i giai cua b`ai toan lu
u.a hai
dnh s v`a t.
`on v`a mo.t dnh dch, ta khao sat mo.t so ngu
`on v`a mo.t so
3. Neu thay cho mo.t dnh ngu
.
.
.

`on-dch khac nhau, th` b`ai toan


dch, vo i cac h`ang hoa khac nhau gi
u a hai to ho. p ngu
`ong t`
`on den cac dch l`a b`ai toan lu
`ong da-h`ang
cu..c da.i tong so tat ca cac lu
u. cac ngu
`ong
hoa. Trong b`ai toan n`ay, kha nang qij cua cung (vi , vj ) l`a ca.n tren cua tong cac lu
.
vo i cac loa.i h`ang hoa tren cung do.
`ong den b`a ng so lu.o..ng
4. Gia thiet (an) trong tat ca cac tru.`o.ng ho..p tren l`a so lu.o..ng lu
.
.
.
`ong ra. Neu ta bo gia thiet n`ay v`a xet tru `o ng ho. p lu
`ong ra khoi mo.t cung b`a ng
lu
.
`ong den nhan vo i mo.t so nguyen khong am n`ao do, th` b`ai toan lu
`ong lo.n nhat (t`
lu
u.
s den t) du.o..c xem nhu. b`ai toan trong cac d`o thi. vo.i cac lo..i nhua.n. Trong da.ng n`ay,
`ong co the du.o..c sinh ra hoa.c bi. hap thu. bo.i d`o thi., v`a do va.y lu
`ong v`ao s
cac lu

`ong ra khoi t co the thay do i ho`an to`an do. c la.p.


v`a lu
`e lu
`ong du.o..c nghien c
`eu v`a co nh
Cac b`ai toan v
u.u nhi
u.ng u
.ng du.ng thu..c tien. Mu.c
dch cua chu.o.ng n`ay tr`nh b`ay ngan go.n cac b`ai toan thu.`o.ng ga.p, ch ra moi lien he. gi
u.a
.
ch
ung v`a xay du. ng mo.t so thua.t toan giai quyet.
`ong lo.n nhat t`
Chu.o.ng n`ay se thao lua.n b`ai toan lu
u. s den t v`a cac tong quat hoa cua
`ong da-h`ang hoa rat khac bie.t
no (1), (2), (3) v`a (4) tren. Do cac thua.t toan giai b`ai toan lu
.
.
.
`e ban chat, v`a khong phai d`eu hie.u qua nhu phu o ng phap gan nhan, nen se khong du.o..c
v
d`e ca.p o. day. Ba.n do.c quan tam co the xem [30] v`a cac t`ai lie.u dan k`em theo.

7.2

`ong l
B`
ai to
an lu
o.n nh
at

`ong lo.n nhat tren ma.ng va.n tai G l`a mo.t lu


`ong vo.i gia tri. lo.n nhat. Noi chung co mo.t
Lu

`ong vo.i c`
`an n`ay tr`nh b`ay thua.t toan t`m lu
`ong lo.n nhat. Y
v`ai lu
ung gia tri. lo.n nhat. Ph
`ong n`ao do v`a tang gia tri. cua lu
`ong cho den khi
tu.o.ng cua thua.t toan l`a: kho.i d`au vo.i lu
.
.
.
.
`ong lo n nhat.
u a. Ket qua ta co lu
khong the tang du o. c n
- `o thi. co hu.o.ng trong H`nh 7.1 bieu dien so. d`o ma.ng dan d
`au. D
`au du.o..c
V du. 7.2.1 D
`au t. Cac dnh b, c, d v`a e l`a
dan t`
u. t`au s v`a du.o..c bo.m thong qua ma.ng den nh`a may lo.c d
.

`
cac tra.m bo m trung gian. Cac cung bieu thi. cac ong dan dau v`a hu.o.ng di chuyen cua he.
thong. Cac nhan tren cac cung l`a kha nang thong qua toi da cua ong dan. B`ai toan da. t ra
`au t`
`eu nhat lu.o..ng d
u. t`au den nh`a may v`a tnh gia tri. n`ay. H`nh 7.1
l`a t`m cach chuyen nhi
.
l`a mo.t v du. cua mo.t ma.ng va.n tai. Tru o.c het ta co:
174

http://www.ebook.edu.vn

.
.........................................................................................................................................................................................................................................
.....
.....
.
.....
......
.....
......
.....
.....
.
.
.
......
.....
.....
......
.....
......
.....
.
.
.....
.
.
.
.
.
.
.
.....
...
....
.
.
.
.
.
.
.
.
.
.......
....
.
....
........
.
.
.
.
.
.
.
.....
....
.
.
.
..............
.
.
.....
.
....
.
.
.
.
.
.....
.
.
.
.
...
....
.....
.
.
.
.
.
.
.
.
.
.....
...
....
.
.
.
.
.
.
.
.....
.
.
....
.
....
.....
.
.
.
.
.
.
.
.....
...
....
.
.
.
.
.
.
.
.
.....
.
...
....
.
.
.
.
.....
.
.
.
.
.
......
...
.
.
.
.
.
.
...
.
.
.....
.
.....
......
.
.
.
.....
.
.
.
.
.
.
.....
...
....
.
.
.
.
.
.
.
.
.
.....
...
....
.
.
.
.
.
.....
.
.
.
.
.
.....
....
......
.....
.....
......
.......
.....
......
.....
......
.........
.....
......
.
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
......
......
.....
.....
......
.....
.....
......
.....
.....
......
.....
.....
......
.
.
.
.
.
.....
.
.
.
.
.....
.....
....
..... ...........
.....
........................................................................................................................................................................................................................................
...

`e ma.ng va.n tai.


H`nh 7.1: V du. v
- .inh ngha 7.2.2 Ma.ng va.n tai l`a mo.t do.n d`o thi. co hu.o.ng, co tro.ng so G sao cho
D
`on) cua ma.ng, khong co cung
(a) co mo.t v`a ch mo.t dnh s, go.i l`a dnh v`ao (hoa.c dnh ngu
den no.
(b) co mo.t v`a ch mo.t dnh t, go.i l`a dnh ra (hoa.c dnh dch) cua ma.ng, khong co cung di
ra khoi no.
(c) moi cung u := (vi , vj ) E du.o..c gan mo.t so nguyen khong am qij , go.i l`a kha nang cua
cung u.
(d) d`o thi. vo hu.o.ng nha.n du.o..c t`
u. G b`a ng cach bo di cac hu.o.ng l`a lien thong.
- `o thi. co hu.o.ng trong H`nh 7.1 l`a ma.ng va.n tai. Loi v`ao l`a dnh s v`a loi ra
V du. 7.2.3 D
l`a dnh t. Kha nang cung (s, b) l`a qsb = 3 v`a cua cung (b, c) l`a qbc = 2.
Trong chu.o.ng n`ay, neu G l`a ma.ng va.n tai ch
ung ta se k
y hie.u dnh v`ao l`a s v`a dnh
ra l`a t.
- i.nh ngha 7.2.4 Gia su. G l`a ma.ng va.n tai vo.i kha nang cung (vi , vj ) l`a qij . Lu
`ong (chap
D
.
.
nha.n du o. c) F trong G gan moi cung (vi , vj ) mo.t so khong am fij sao cho
(a) 0 fij qij ; v`a
(b) vo.i moi dnh vj 6= s, t, ta co

fij =

fji .

175

http://www.ebook.edu.vn

(7.1)

(Tong trong (7.1) lay tren tat ca cac gia tri. i; neu khong co cung (vi , vj ), ta da.t fij = 0).
`ong tren cung (vi , vj ). Vo.i moi j, ta go.i
Ta noi fij l`a lu
X

fij

`ong den dnh vj v`a


l`a lu

fij

`ong ra khoi dnh vj .


l`a lu
- i
`eu kie.n (7.1) go.i l`a bao to`an lu
`ong. Trong v du. dan d
`au cua H`nh 7.1, bao to`an lu
`ong co
D
.
.
.
`au khong du o. c su du.ng v`a c
ngha d
ung khong du.o..c cap them ta.i cac tra.m bo.m b, c, d v`a e.
V du. 7.2.5 Cac phep gan
fsb = 2, fbc = 2, fcz = 3, fsd = 3,
fdc = 1, fde = 2, fez = 2,
`ong tren ma.ng va.n tai cua H`nh 7.1. Chang ha.n, lu
`ong den dnh d l`a
xac d.inh lu
fsd = 2,
`ong ra khoi dnh d :
b`a ng lu
fdc + fde = 1 + 2 = 3.
`ong F du.o..c ve trong H`nh 7.2, trong do cung e du.o..c gan nhan x, y neu kha nang cua e
Lu
`ong tren e l`a y.
l`a x v`a lu
b

2, 2

...................................................................................................................................................................................................................................
.....
.... ........
.....
......
.....
.....
.
.
......
.....
.
.
...
......
.....
.
.
.
.
.
.
.
.
.
.
.....
.....
......
.....
.....
......
.
.
.
.....
.
.
.
.
.
.
...
....
.
.
.
.
.
.
..............
.
.
.
..
....
.
.....
.
.
.
..............
.
.....
....
.
.
.
.
.
.
.
.....
.
...
....
.
.
.
.....
.
.
.
.
.
.
.....
...
....
.
.
.
.
.
.
.
.
.
.....
...
....
.
.
.
.
.
.....
.
.
.
.
...
....
.
.....
.
.
.
.
.
.
.
.
.....
...
....
.
.
.
.
.
.
.
....
.
.
...
.
........
.
.
.
.
.
.
.
.
.....
.....
......
.
.
.
.....
.
.....
.
....
....
.
.
.
.....
.
.
.
.
.
.
.....
....
......
.....
.....
......
.....
......
.....
.....
......
.....
.......
......
.....
.
.
.
.
.
.
.
.
.
.
.
........
.
....
.....
......
.........
......
.....
.......
......
.....
.....
......
.....
.....
......
.
.
.....
.
.
.
.
.
.
.
..
.....
....
.....
.....
......
.....
.....
......
.....
..... ...........
.........................................................................................................................................................................................................................................
.
.
.

4, 3

3, 2

2, 1

5, 3

2, 2

4, 2

`ong tren ma.ng va.n tai cua H`nh 7.1.


H`nh 7.2: Lu
176

http://www.ebook.edu.vn

`ong ra khoi dnh s l`a


Ch
uy
r`a ng trong v du. n`ay, lu
fsb + fsd
`ong den dnh t :
b`a ng lu
fct + fet
v`a ba` ng 5. Tha.t va.y, ta co
- i.nh l
`ong tren ma.ng va.n ta i G := (V, E). Khi do lu
`ong ra kho i
D
y 7.2.6 Gia su. F l`a lu
.
`ong den dnh t; t
dnh s b`a ng lu
u c l`a
X

fsi =

Ch
u.ng minh. Ta co
X
jV

do moi ve b`a ng
P

P
eE

fit .

fij

iV

jV

fji

iV

fe . V` va.y

0 = jV ( iV fij iV fji )
P
P
P
P
P
P
P
= ( iV fit iV fti ) + ( iV fis iV fsi ) + jV,j6=s,t ( iV fij iV fji )
P
P
= iV fit iV fsi
do fti = 0 = fis vo.i mo.i vi V, v`a (7.1).
- i.nh ngha 7.2.7 Gia su. F l`a lu
- a.i lu.o..ng
`ong tren ma.ng va.n tai G. D
D
X

fsi =

fit

`ong F.
go.i l`a gia tri. cua lu
B`ai toan tren ma.ng va.n tai G co the phat bieu:
`ong chap nha.n du.o..c lo.n nhat tren d`o thi. G; t
B`
ai to
an 7.2.8 T`m mo.t lu
u.c l`a trong so tat
.
`ong tren G, t`m lu
`ong F co gia tri. lo n nhat.
ca cac lu
- i.nh l
Thua.t toan gan nhan cua Ford v`a Fulkerson [27] giai b`ai toan n`ay du..a tren D
y
.
.
7.2.10. Tru o c het ta co mo.t so khai nie.m
177

http://www.ebook.edu.vn

- i.nh ngha 7.2.9 Neu cac dnh cua d`o thi. G = (V, E) du.o..c phan hoa.ch th`anh hai ta.p con
D
`an b`
V0 v`a V0 (trong do V0 V v`a V0 l`a ph
u cua V0 trong V ), th` ta.p cac cung cua G vo.i
dnh xuat phat thuo.c V0 v`a dnh ket th
uc thuo.c V0 go.i l`a thiet die.n cua G. Ta.p cac cung
cua thiet die.n thu.`o.ng du.o..c k
y hie.u bo.i (V0 V0 ).
Gia su. G l`a ma.ng va.n tai. Thiet die.n (V0 V0 ) tach s khoi t neu s V0 v`a t V0 .
Kha nang thong qua hay gia tri. cua thiet die.n l`a tong cua tat ca cac kha nang cua tat ca
cac cung cua G vo.i dnh xuat phat thuo.c V0 v`a dnh ket th
uc thuo.c V0 ; t
u.c l`a
X

v(V0 V0 ) :=

qij .

(vi ,vj )(V0 V0 )

Thiet die.n nho nhat l`a thiet die.n co kha nang thong qua nho nhat.
- i.nh l
- i.nh l
`ong lo.n nhat) Gia tri. cu a lu
`ong lo.n nhat
D
y 7.2.10 (D
y thiet die.n nho nhat-lu
.
t`
u s den t b`a ng kha nang thong qua cu a thiet die.n nho nhat (Vm Vm ) tach s kho i t.
`ong lo.n nhat t`
Ch
u.ng minh. Hien nhien r`a ng, lu
u. s den t khong the lo.n ho.n v(Vm Vm )
do tat ca cac du.`o.ng di t`
u. s den t d`eu su. du.ng t nhat mo.t cung cua thiet die.n n`ay. Do do
`an ch
`on ta.i mo.t lu
`ong da.t gia tri. n`ay. Ta xem lu
`ong da cho F tu.o.ng
ch c
u.ng minh ra` ng t
.
.

`eu v`a d.inh ngha thiet die.n (V0 V0 ) b`a ng de. quy theo thu tu.c
u
ng vo i mo.t vector m chi
sau:
1. Kho.i ta.o, da.t V0 = {s}.
2. Neu vi V0 , v`a hoa.c fij < qij hoa.c fij > 0 th` da.t vj v`ao trong ta.p V0 .
3. La.p la.i Bu.o.c 2 cho den khi khong the them dnh n`ao v`ao V0 .
/ V0 .
Co hai tru.`o.ng ho..p xay ra: hoa.c t V0 hoa.c t
Tru.`
o.ng ho..p 1. t V0 .
`on ta.i mo.t day chuy
`en t`
Theo Bu.o.c 2 tren, t
u. s den t sao cho mo.i cung (vi , vj ) du.o..c su. du.ng
.
.
.
`en theo hu o ng thua.n (cac cung di.nh hu.o.ng thua.n) thoa fij < qij v`a cac cung
bo i day chuy
`en n`ay
u.c l`a hu.o.ng t`
u. vl den vk thoa flk > 0. Day chuy
(vk , vl ) du.o..c d.inh hu.o.ng ngu.o..c, t
`en di
`eu chnh.
go.i l`a day chuy
- a.t
D

f = min(vi ,vj ) [qij fij ];


b = min(vk ,vi ) [fkl ];
178

(vi , vj ) thua.n hu.o.ng,


(vk , vl ) ngu.o..c hu.o.ng
http://www.ebook.edu.vn

v`a
= min[f , b ].
`ong tren tat ca cac cung di.nh hu.o.ng thua.n v`a tr`
Neu ta co.ng them v`ao lu
u. di tren
`en di
`eu chnh th` lu
`ong thu du.o..c v
`an l`a
tat ca cac cung di.nh hu.o.ng ngu.o..c trong day chuy
.
.
.
.
.
- i
`ong chap nha.n du o. c co gia tri. nho ho n lu
`ong ban d`au mo.t lu o. ng . D
`eu n`ay l`a hien nhien
lu
.
.
.
.
`eu thua.n khong vu o. t qua kha nang cua cac cung
v` them mo.t lu o. ng v`ao cac cung theo chi
.
.
.
`eu ngu.o..c th` lu
`ong van khong
n`ay (do < f ) v`a tr`
u di mo.t lu o. ng v`ao cac cung theo chi
am (do < b ).
du.ng la.i vo.i lu
`ong mo.i theo cac Bu.o.c 1-3 tren ta la.i thu du.o..c mo.t thiet die.n mo.i
Ap
(V0 V0 ).
Tru.`
o.ng ho..p 2. t
/ V0 .
Theo Bu.o.c 2, fij = qij vo.i mo.i cung (vi , vj ) (V0 V0 ) v`a fkl = 0 vo.i mo.i cung (vk , vl )
(V0 V0 ).
Do do

X
(vi ,vj )(V0 V0 )

v`a

fij =

qij

(vi ,vj )(V0 V0 )

fkl = 0;

(vk ,vl )(V0 V0 )

`ong b`a ng
t
u.c l`a gia tri. cua lu

X
(vi ,vj )(V0 V0 )

fij

fkl

(vk ,vl )(V0 V0 )

v`a ba` ng kha nang thong qua cua thiet die.n (V0 V0 ).
`ong tang t nhat mo.t do.n vi., nen neu gia thiet tat ca cac kha
Do Tru.`o.ng ho..p 1, lu
`ong lo.n nhat co the nha.n du.o..c sau mo.t so h
nang qij l`a nh
u.ng so nguyen th` lu
u.u ha.n bu.o.c
.
.
.
`ong n`ay co gia tri. b`a ng kha nang thong qua cua thiet die.n hie.n
khi Tru `o ng ho. p 2 xay ra. Lu

`ong lo.n nhat v`a thiet die.n tu.o.ng u


h`anh (V0 V0 ) nen l`a lu
.ng co kha nang thong qua nho
nhat.
/
Phu.o.ng phap xay du..ng du.o..c su. du.ng de ch
u.ng minh di.nh l
y tren cho ch
ung ta thua.t
.
.
.
.
.
.

toan de t`m luong lo n nha t t`


u s den t. Thua.t toan n`ay se du o. c tr`nh b`ay du o i day.
`ong chap nha.n du.o..c tu`
`ong co gia tri. b`a ng khong)
yy
(co the su. du.ng lu
Xuat phat t`
u. lu
`ong ba` ng cach t`m cac day chuy
`en di
`eu chnh lu
`ong t`
v`a sau do tang lu
u. s den t. Vie.c t`m
179

http://www.ebook.edu.vn

`en di
`eu chnh lu
`ong du.o..c thu..c hie.n b`a ng cach gan nhan. Khi t`m du.o..c mo.t
mo.t day chuy
`en di
`eu chnh lu
`ong, ta se tang gia tri. cua lu
`ong. Sau do xoa tat ca cac nhan v`a
day chuy
.
.
.
.
`ong mo i du o. c su du.ng de gan nhan la.i. Neu khong t
`on ta.i day chuy
`en di
`eu chnh lu
`ong
lu
.
.
.
.

th` thua.t toan ket th


uc, luong cha p nha.n du o. c l`a lo n nha t. Thua.t toan cu. the nhu sau:

7.2.1

`ong l
Thu
a.t to
an g
an nh
an d

e t`m lu
o.n nh
at

A. Qu
a tr`nh g
an nh
an
Moi dnh ch co the co mo.t trong ba kha nang:
1. du.o..c gan nhan v`a du.o..c kiem tra (t
u.c l`a no du.o..c gan nhan v`a tat ca cac dnh lien
.
.
.
.
thuo.c vo i no da du o. c xu l
y); hoa.c
`on ta.i dnh lien
2. du.o..c gan nhan v`a chu.a du.o..c kiem tra (t
u.c l`a no du.o..c gan nhan v`a t
.
.
.
.
.

y); hoa.c
thuo.c vo i no chu a du o. c xu l
3. chu.a du.o..c gan nhan.
`om hai th`anh ph
`an v`a co mo.t trong hai da.ng hoa.c (+vj , ) hoa.c (vj , ).
Nhan cua dnh vi g
.
.
.

`
`ong do.c theo cung (vi , vj ); trong tru.`o.ng ho..p th
Trong tru `o ng ho. p dau, co the tang lu
u. hai,
.
.
.
.
.
.
.
- a.i lu o. ng trong ca hai tru `o ng ho. p l`a lu o. ng h`ang
`ong do.c theo cung (vi , vj ). D
co the giam lu
.

`eu nhat co the them hoa.c bo t gia tri. cua lu


`ong tren cac cung thuo.c day chuy
`en di
`eu
nhi
chnh (trong qua tr`nh xay du..ng) t`
u. s den vi . Nhan cua dnh vi cho phep xac di.nh day
`en di
`eu chnh lu
`ong t`
chuy
u. s den vi .
Kho.i ta.o tat ca cac dnh chu.a du.o..c gan nhan v`a fij = 0 vo.i mo.i cung (vi , vj ) E.
- nh s du.o..c gan nhan v`a chu.a du.o..c kiem
1. Gan nhan cua dnh s l`a (+s, (s) = ). D
tra; tat ca cac dnh khac chu.a du.o..c gan nhan.
`on ta.i, thua.t
2. Cho.n dnh vi V da du.o..c gan nhan v`a chu.a du.o..c kiem tra. Neu khong t
.
.
.
.
.
`ong F = (fij ) l`a lo n nhat. Ngu o. c la.i, gia su (vk , (vi )) l`a nhan cua
toan d`
u ng, lu
dnh vi .
Gan nhan (+vi , (vj )) cho tat ca cac dnh vj (vi ) chu.a du.o..c gan nhan sao cho
fij < qij , trong do
(vj ) := min{(vi ), qij fij }.
180

http://www.ebook.edu.vn

Gan nhan (vi , (vj )) cho tat ca cac dnh vj 1 (vi ) chu.a du.o..c gan nhan sao
cho fji > 0, trong do
(vj ) := min{(vi ), fji }.
- nh vi da du.o..c gan nhan v`a da du.o..c kiem tra; cac dnh vj xac di.nh tren da du.o..c
(D
gan nhan v`a chu.a du.o..c kiem tra).
`an
3. Neu dnh t du.o..c gan nhan, chuyen sang Bu.o.c 4; ngu.o..c la.i chuyen sang Bu.o.c 2. C
.
.
.
.

ch
uy
ra` ng, neu V0 l`a ta.p cac dnh da du o. c gan nhan v`a V0 l`a ta.p cac dnh chu a du o..c
gan nhan th` (V0 V0 ) l`a thiet die.n nho nhat.
`ong
B. Qu
a tr`nh t
ang lu
- a.t c = t v`a chuyen sang Bu.o.c 5.
4. D
`ong tren cung (z, c) l`a fzc bo.i
Neu nhan cua dnh c co da.ng (+z, (c)) th` thay lu
fzc + (t);
`ong tren cung (x, z) l`a fcz bo.i
Neu nhan cua dnh c co da.ng (z, (c)) th` thay lu
fcz (t);
5. Neu z = s th` xoa tat ca cac nhan t`
u. cac dnh v`a chuyen sang Bu.o.c 1; ngu.o..c la.i (t
u.c
.
.
.
l`a z 6= c) da. t c = z v`a tro la.i Bu o c 5.

7.2.2

- `
`eu chnh lu
`ong
D
o thi. d
i

`en de tang gia tri. cua lu


`ong F trong d`o thi. G = (V, E) co
Qua tr`nh t`m mo.t day chuy
.
.
.
.
`e t`m mo.t du `o ng di t`
`eu chnh lu
`ong G (F ) = (V , E ),
the du a v
u s den t tren d`o thi. di

V = V, E = E1 E2 , trong do
E1 := {(vi , vj ) | fij < qij , (vi , vj ) E},
vo.i kha nang cua moi cung (vi , vj ) E1 l`a qij = qij fij , v`a
E2 := {(vj , vi ) | fij > 0, (vi , vj ) E}

vo.i kha nang cua moi cung (vj , vi ) E2 l`a qji


= fij .

`ong lo.n nhat trong Ph


`an 7.2.1 chnh l`a
Khi do thu tu.c gan nhan cua thua.t toan t`m lu

`
`
`

thua.t toan xac d.inh ta.p pha.m vi R(s) trong do thi. dieu chnh luong G (F ). Neu t R(s),
u. s den t trong d`o thi.
t
u.c l`a neu dnh t du.o..c gan nhan, th` co the xac di.nh mo.t du.`o.ng di t`
`en di
`eu chnh lu
`ong cua G l`a du.`o.ng di P m`a cac
G (F ). Trong tru.`o.ng ho..p n`ay, day chuy

.
.
.
.
.
cung cua P thuo.c E1 tu o ng u
ng cung di.nh hu o ng thua.n v`a cac cung cua P thuo.c E2 du.o..c
d.inh hu.o.ng ngu.o..c.
181

http://www.ebook.edu.vn

7.2.3

`ong
Ph
an tch lu

`ong ph
Trong mo.t so tru.`o.ng ho..p ta muon phan tch mo.t lu
u.c ta.p th`anh tong cua nh
u.ng
- i
`ong do.n gian ho.n. D
`eu n`ay khong nh
`an hieu tot
lu
u.ng co y
ngha thu..c tien m`a c`on gop ph
.
`ong tren ma.ng va.n tai, v`a ngo`ai ra phu.c vu. mo.t so thua.t toan v
`e lu
`ong.
ho n ban chat cua lu
`ong trong d`o thi. G m`a cac cung (vi , vj ) S co fij = h v`a cac cung
K
y hie.u h (S) l`a lu
`ong vo.i ta.p S tu`
(vi , vj )
/ S co fij = 0. Ch
uy
r`a ng h (S) khong nhat thiet l`a mo.t lu
yy
.
`ong th` ta.p S cac cung hoa.c ta.o th`anh mo.t du.`o.ng di t`
Hien nhien r`a ng h (S) l`a mo.t lu
u. s
den t hoa.c l`a mo.t ma.ch trong G.
`ong F v`a H ta k
`ong m`a lu
`ong tren cung (vi , vj ) l`a fij + hij .
Vo.i hai lu
y hie.u F + H l`a lu
- i.nh l
`ong t`
D
y 7.2.11 Neu F l`a lu
u. s den t co gia tri. nguyen v trong G th` F co the phan
tch th`anh
F = 1 (P1 ) + 1 (P2 ) + + 1 (Pv ) + 1 (1 ) + 1 (2 ) + + 1 ( ),
trong d
o P1 , P2 , Pv l`a cac du.`o.ng di so. cap t`
u. s den t v`a 1 , 2 , . . . , l`a cac ma.ch so. cap
cu a G. (Pi v`a i khong nhat thiet phan bie.t).
`ong F cho tru.o.c ta xay du..ng d`o thi. unitary Ge = (V e , E e )
Ch
u.ng minh. T`
u. G = (V, E) vo.i lu
e
e
.
`ong tren cung
nhu sau: Ta.p V cac dnh cua G chnh l`a ta.p V cac dnh cua G. Neu fij l`a lu
e
.
.
.
.
(vi , vj ) cua G th` ta thay ba` ng fij cung song song gi
u a cac dnh tu o ng u
ng vi v`a vje cua Ge .
e
e
.
.
.
.
.
u a vi v`a vj . Ta du o. c Ge l`a da d`o thi. trong
Neu fij = 0 th` khong co cung n`ao du o. c da.t gi
`ong tren cung tu.o.ng u
.ng vo.i mo.t do.n vi. lu
.ng trong G; noi cach
do moi cung cua no tu.o.ng u
`ong F trong G.
khac, Ge bieu dien lu
`eu kie.n v
`e lu
`ong F suy ra cac dnh cua d`o thi. Ge c
`an thoa man
T`
u. di
d+ (vie ) = d (vie ),
d+ (se ) = d (e )
= v.

vo.i mo.i vie 6= se hoa.c te ,

u. dnh te den dnh se th` d`o thi. Ge


Suy ra neu ta tra la.i v cung du.o..c them v`ao Ge t`
`an 5.1). Loa.i bo v cung n`ay khoi ma.ch Euler, ta du.o..c v
se co mo.t ma.ch Euler (xem Ph
e
e
.
.
.
`an. K
du `o ng di t`
u s den t qua moi cung cua Ge du
ng mo.t l
y hie.u cac du.`o.ng di n`ay l`a
P10 , P20 , . . . , Pv0 . Cac du.`o.ng di Pi0 khong nhat thiet so. cap (ma.c d`
u ch
ung l`a do.n gian). Tuy
u. se den
nhien, moi du.`o.ng di khong so. cap co the xem nhu. tong cua mo.t du.`o.ng di so. cap t`
e
.
.
t v`a mo.t so cac ma.ch so cap r`o i nhau. Do va.y,
F = 1 (P1 ) + 1 (P2 ) + + 1 (Pv ) + 1 (1 ) + 1 (2 ) + + 1 ( ),
182

http://www.ebook.edu.vn

trong do Pi l`a cac du.`o.ng di so. cap t`


u. se den te v`a i l`a cac ma.ch so. cap.

Noi chung, cac du.`o.ng di v`a cac chu tr`nh co the tr`
ung nhau. Neu ch co v 0 du.`o.ng di v`a
`an trong danh sach P1 , P2 , . . . , Pv
0 ma.ch d`au tien khac nhau, vo.i du.`o.ng di Pi xuat hie.n hi l

`
v`a ma.ch i xua t hie.n li lan trong danh sach 1 , 2 , . . . , th` F co the viet du.o.i da.ng
0

F =

v
X

hi (Pi ) +

i=1

li (i ).

i=1

`ong F v`a H l`a thch u


Noi chung hai lu
.ng nen fij .hij = 0 vo.i mo.i cung (vi , vj ).
`ong F trong H`nh 7.3 du.o..c phan tch th`anh cac du.`o.ng di (t`
V du. 7.2.12 Lu
u. s den t)
v`a cac ma.ch so. cap:
F = 2 P1 + 1 P2 + 1 1 + 1 2 + 1 3 ,
trong do
P1
P2
1
2
3

7.3

=
=
=
=
=

{s, v2 , v4 , t},
{s, v1 , v3 , v2 , v4 , t},
{v1 , v3 , v2 , v1 },
{v2 , v4 , v5 , v6 , v2 },
{v5 , v6 , v7 , v5 }.

`ong l
C
ac ca i bi
en d
o.n gia n cu a b`
ai to
an lu
o.n nh
at

`an n`ay ch
`ong lo.n nhat.
Ph
ung ta neu mo.t so ket qua nha.n du.o..c t`
u. b`ai toan lu

7.3.1

`o thi. c
`eu ngu
`on v`
`eu d
C
ac d

o nhi
a nhi
ch

`ong co the chuyen t`


`on den dch
Xet d`o thi. vo.i ns dnh v`ao v`a nt dnh ra v`a gia su. lu
u. ngu
.
.

`e
`

u ta t ca cac nguon den ta t ca cac dch co the du.a v


tu`
yy
. B`ai toan t`m luong lo n nha t t`
.
`ong lo n nhat b`a ng cach them mo.t dnh ngu
`on nhan ta.o s v`a mo.t dnh ra nhan
b`ai toan lu
.
.
.
.

u s den cac dnh v`ao ban d`au v`a t`


u. cac dnh ra thu..c te den
ta.o t vo i cac cung du o. c them t`
.
`on co the da.t b`a ng vo c`
dnh t. Kha nang cua cac cung them v`ao t`
u s den cac ngu
ung, hoa.c
.
.
.
.
.
`on sk toi da l`a ak th` kha nang cua cung
trong tru `o ng ho. p lu o. ng h`ang cung cap ta.i mo.t ngu
183

http://www.ebook.edu.vn

v7
..............................

.
........
.......
....
.......
...
.......
.......
..
.......
...
.......
.......
....
............
...
.
.
. .........
.
...
.......
..
.......
.......
...
.......
...
.......
.......
...
.......
...
....
................................................................................................................................................................
...
...
...
...
...
...
...
...
...
...
...
..........
..
...
.......
.
...
....
...
...
....
...
...
...
...
...
...
.
.
.
.
.
.
..........................................................................................................................................................................................................................................................................................................................................................................................
.
.
.....
... .......
.
.
.....
.
.
.....
.....
....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.
.
.....
.
.
.......
.....
..........
.
.........
.
......
...
.....
.
.
.
...........
.....
...
.
.....
.
.
.....
.
.....
...
.
.....
.
.
.
.....
.....
...
.
.
.....
.
.
.....
...
.....
.
.
.....
.
.
.....
...
.....
.
.
.
...
.
..... .....
................................................................................................................................................................
..

v6

v5

v2

v4

v1

v3

`ong F.
H`nh 7.3: Lu
(s, sk ) co the da.t b`a ng gia tri. n`ay. Tu.o.ng tu.., kha nang cua cac cung dan to.i dnh ra t co
`au ta.i cac dnh ra tk hoa.c b`a ng vo ha.n neu co nhu c
`au l`a vo ha.n.
the da.t b`a ng nhu c
`on n`ao do v`a
Neu b`ai toan da.t ra o. do co dnh ra ch du.o..c cung cap bo.i nh
u.ng ngu
.
.
.
`ong lo.n nhat t`
ngu o. c la.i, th` b`ai toan khong phai l`a cai bien do n gian cua b`ai toan lu
u. s
.
.
.
`e b`ai toan da lu
`ong nhu da d`e ca.p trong ph
`an mo d`au.
den t m`a co the du a v

7.3.2

`o thi. v
C
ac d

o.i r`
ang bu
o.c ta.i c
ac cung v`
ad
nh

Neu ngo`ai kha nang qij cua cac cung, ta them kha nang cua cac dnh wj , j = 1, 2, . . . , n, sao
cho tong so lu.o..ng h`ang di den dnh vj nho ho.n wj , t
u.c l`a
X

fij wij

vi 1 (vj )

vo.i mo.i vj .
`an t`m lu
`ong lo.n nhat t`
Ta c
u. s den t vo.i gia thiet them ta.i cac dnh. Xet d`o thi. G0
sao cho mo.i dnh vj cua d`o thi. G tu.o.ng u
.ng hai dnh vj+ v`a vj trong d`o thi. G0 sao cho
.
.
mo.i cung (vi , vj ) cua G den dnh vj tu o ng u
.ng mo.t cung (vi , vj+ ) den dnh vj+ , v`a mo.i cung
.ng mo.t cung (vj , vk+ ) cua G0 xuat phat t`
u. vj . Ngo`ai
(vj , vk ) cua G xuat phat t`
u. vj tu.o.ng u
+

ra ta them mo.t cung gi


u.a vj v`a vj vo.i kha nang thong qua wj , t
u.c l`a b`a ng kha nang cua
dnh vj .
V` tong so lu.o..ng h`ang den dnh vj+ phai du.o..c chuyen do.c theo cung (vj+ , vj ) vo.i kha
184

http://www.ebook.edu.vn

`ong lo.n nhat trong d`o thi. G vo.i r`ang buo.c ta.i cac dnh b`a ng lu
`ong
nang thong qua wj nen lu
.
.
`an ch
lo n nhat trong d`o thi. G0 vo i r`ang buo.c ch ta.i cac cung. C
uy
r`a ng neu thiet die.n nho
+

.
nhat cua G0 khong ch
u a cac cung da.ng (vj , vj ) th` r`ang buo.c ta.i dnh vj tng ng trong G
.
khong tch cu. c v`a tro. th`anh vo du.ng; neu ngu.o..c la.i, thiet die.n nho nhat cua G0 ch
u.a cac
.
.
.
.
.
`ong lo n nhat.
cung loa.i n`ay th` cac dnh tu o ng u
ng cua G l`a bao ho`a bo i lu

7.3.3

`o thi. c
`e lu
`ong
C
ac d

o c
a.n tr
en v`
a c
a.n du.
o.i v

`e lu
`ong l`a rij .
Xet d`o thi. G trong do cac cung (vi , vj ) ngo`ai ca.n tren qij c`on co ca.n du.o.i v
.
.
`on ta.i mo.t lu
`ong chap nha.n gi
Gia su ta muon biet co t
u a s v`a t sao cho rij fij qij vo.i
mo.i cung (vi , vj ).
T`
u. G, ta them mo.t dnh v`ao nhan ta.o sa v`a dnh ra nhan ta.o ta de nha.n du.o..c Ga .
Moi cung (vi , vj ) m`a rij 6= 0 ta them mo.t cung (sa , vj ) vo.i kha nang rij v`a ca.n du.o.i ba` ng
khong, v`a c
ung them cung th
u. hai (vi , ta ) vo.i kha nang rij v`a ca.n du.o.i b`a ng khong. Thay
qij bo.i qij rij v`a rij b`a ng 0. Ngo`ai ra them cung (t, s) vo.i qts = , rts = 0.
`ong lo.n nhat t`
`ong lo.n
Bay gi`o. ta t`m lu
u. sa den ta trong d`o thi. Ga . Neu gia tri. cua lu
P
u.c l`a, neu tat ca cac cung di ra t`
u. sa v`a tat ca cac cung di den ta bao
nhat ba` ng rij 6=0 rij (t
`on ta.i lu
`ong chap nha.n du.o..c vo.i gia
ho`a) v`a k
y hie.u lu.o..ng h`ang tren cung (t, s) l`a fts th` t
.
.
.
tri. fts trong d`o thi. ban d`au. Tha.t va.y, neu ta tr`
u rij lu o. ng h`ang tren cac cung (vi , ta ) v`a
.
.
(sa , vj ) v`a co.ng them rij v`ao lu o. ng h`ang tren cung (vi , vj ) th` tong lu.o..ng h`ang t`
u. sa den ta
`ong tren cac cung (vi , ta ) v`a (sa , vj ) giam xuong khong, c`on lu
`ong
giam mo.t lu.o..ng l`a rij , lu
tren cung (vi , vj ) l`a fij [rij , qij ]. (Gia tri. cuoi cua fij b`a ng rij neu gia tri. ban d`au cua fij
`ong lo.n nhat b`a ng khong, v`a gia tri. cuoi cua fij b`a ng qij neu gia tri. ban d`au
.ng lu
tu.o.ng u
`ong lo.n nhat ngu.o..c vo.i bu.o.c di
`eu chnh lu
`ong trong
cua fij b`a ng qij rij ). Bu.o.c tr`
u. lu
P
.
.
`ong lo n nhat. V` ta gia thiet gia tri. cua lu
`ong lo n nhat ba` ng rij 6=0 rij
thua.t toan t`m lu
`ong se cho lu
`ong t`
nen cuoi c`
ung, tien tr`nh tr`
u. lu
u. sa den ta co gia tri. b`a ng khong (do do
`ong tren
se khien hai dnh nhan ta.o v`a cac cung lien thuo.c ch
ung tro. th`anh vo du.ng), v`a lu
.
`ong
tat ca cac cung vo i rij 6= 0 se thay doi trong pha.m vi [rij , qij ]. Ket qua l`a ta co mo.t lu
.
.
`
lu u thong trong d`o thi. vo i gia tri. ba ng fts .
Ma.t khac ta co
P
- i.nh l
`ong lo.n nhat t`
u. sa den ta trong d`o thi. Ga khac rij 6=0 rij
D
y 7.3.1 Neu gia tri. cu a lu
`on ta.i lu
`ong chap nha.n du.o..c trong G.
th` khong t

Ch
u.ng minh. B`ai ta.p.

/
185

http://www.ebook.edu.vn

`ong v
Lu
o.i chi ph nho nh
at

7.4

`an 7.2 ch
`ong lo.n nhat t`
Trong Ph
ung ta da xet b`ai toan t`m lu
u. s den t m`a khong d`e ca.p
.
.
`an n`ay khao sat b`ai toan t`m lu
`ong vo.i gia tri. v
den chi ph du o. c gan tren moi cung. Ph
`ong l`a nho nhat. Cu. the l`a:
cho tru.o.c t`
u. s den t sao cho chi ph cua lu
B`
ai to
an 7.4.1 Cho ma.ng va.n ta i G := (V, E) vo.i dnh v`ao s, dnh ra t, kha nang thong
qua cu a cung (i, j) E l`a qij . Gia su. cij l`a chi ph va.n chuyen mo.t do.n vi. h`ang tren cung
`ong F := (fij ) co gia tri. v tren G vo.i chi ph nho nhat; t
(i, j) E. T`m lu
u.c l`a gia i b`ai
toan
X
fij cij min
(vi ,vj )E

`eu kie.n
v
o.i di

(vi ,vj )E

fij

fij = v,
qij .

`ong t`
Hien nhien, b`ai toan khong co l`o.i giai neu v lo.n ho.n gia tri. lo.n nhat cua lu
u. s
.
`ong co gia tri. v
den t. Tuy nhien, neu v nho ho n hoa.c b`a ng gia tri. n`ay th` se co mo.t so lu
.
.
u.
v`a b`ai toan co l`o i giai. Ford v`a Fulkerson [27] da xay du. ng mo.t thua.t toan khong co th
`ong vo.i chi ph nho nhat. Cac thua.t toan tr`nh b`ay du.o.i day du..a theo nh
tu.. de t`m lu
u.ng
.
.
.
ket qua cua Klein [38], Busacker v`a Gowen [10]. Cac thua.t toan n`ay do n gian ho n phu o.ng
u.ng k
phap cua Ford-Fulkerson v`a su. du.ng nh
y thua.t da gio.i thie.u tren.

7.4.1

Thu
a.t to
an Klein, Busacker, Gowen

`on
Thua.t toan n`ay du..a v`ao vie.c xac d.inh ma.ch co do. d`ai am. Ch
ung ta hay gia thiet r`a ng t
.
.
.
.
.

`
ta.i luong cha p nha.n du o. c F vo i gia tri. v v`a F da du o. c xac di.nh. Luong n`ay co the nha.n
`ong lo.n nhat v`a ch
`ong cho den khi
du.o..c b`a ng cach ap du.ng thua.t toan t`m lu
ung ta tang lu
.
.
`ong co gia tri. v.
nha.n du o. c lu
`ong chap nha.n n`ay, ta d.inh ngha d`o thi. G (F ) := (V , E ) nhu. da giai thch
Vo.i lu
`an 7.2 v`a co chi ph tren cac cung nhu. sau:
trong Ph
vo.i moi cung (vi , vj ) E1 , da. t cij := cij .
vo.i moi cung (vj , vi ) E2 , da. t cji := cij .
Thua.t toan du..a tren di.nh l
y sau:
186

http://www.ebook.edu.vn

- i.nh l
`ong gia tri. v vo.i chi ph nho nhat neu v`a ch neu khong t
`on ta.i ma.ch
D
y 7.4.2 F l`a lu

trong G (F ) sao cho tong cu a cac chi ph cu a cac cung thuo.c am.
- a.t c[F ] l`a chi ph cua lu
`ong F trong d`o thi. G v`a c[|G (F )] l`a tong cua cac
Ch
u.ng minh. D
chi ph cua cac cung thuo.c ma.ch tu.o.ng u
.ng vo.i d`o thi. G (F ).
- i
`eu kie.n c
`an. Gia su. c[|G (F )] < 0 vo.i ma.ch n`ao do trong G (F ). Them mo.t
D
`ong tren moi cung thuo.c ma.ch se ta.o ra mo.t lu
`ong mo.i chap nha.n du.o..c
do.n vi. v`ao lu
`ong F + 1 () b`a ng c[F ] + c[|G (F )] < c[F ]-mau
F + 1 () co gia tri. v. Chi ph cua lu
.
.
`ong vo i gia tri. v v`a co chi ph nho nhat.
thuan vo i gia thiet F l`a lu
- i
`eu kie.n du. Gia su. c[|G (F )] 0 vo.i mo.i ma.ch trong G (F ) v`a F (6= F ) l`a
D
`ong gia tri. v co chi ph nho nhat.
lu
`ong m`a gia tri. tren cung (vi , vj ) ba` ng fij fij .
Ta k
y hie.u F F l`a lu
`ong do.c theo (t`
V` F v`a F co the phan tch th`anh tong cua cac lu
u. s den t) cac du.`o.ng
e
`ong F F,
`an 7.2.3 doi vo.i lu
di trong G, theo cach xay du..ng cua d`o thi. unitary G trong Ph
suy ra vo.i mo.i dnh vi V ta co

d+
G (vi ) = dG (vi ).

`an 7.2.3, de d`ang kiem tra r`a ng


Do do theo Ph
F F = 1 (1 ) + 1 (2 ) + + 1 ( ).
`ong F = F + 1 (1 ) + 1 (2 ) + + 1 ( ) l`a chap nha.n du.o..c nen tong
u.a, lu
Ho.n n
`ong
F + 1 (1 ) + 1 (2 ) + + 1 (l ) chap nha.n du.o..c vo.i mo.i 1 l . Do do vo.i lu
F ta co
c[F + 1 (1 )] = c[F ] + c[1 |G (F )]
c[F ].
Ma.t khac

c[l |G (F + 1 (1 ))] c[l |G (F )]

vo.i mo.i l = 1, 2, . . . , k.
`ong F + 1 (1 ) + 1 (2 ) l`a
Va.y chi ph cua lu
c[F + 1 (1 ) + 1 (2 )] = c[F + 1 (1 )] + c[2 |G (F + 1 (1 ))]
c[F + 1 (1 )] + c[2 |G (F )]
c[F + 1 (1 )]
187

http://www.ebook.edu.vn

c[F ].
- i
`eu n`ay mau thuan vo.i gia thiet F l`a lu
`ong
Tiep tu.c qua tr`nh tren ta du.o..c c[F ] c[F ]. D
co chi ph nho nhat.
/
- i.nh l
`ong chap nha.n du.o..c co gia tri. v vo.i chi ph nho
Do do theo D
y 7.4.2, de t`m lu
`ong chap nha.n du.o..c co gia tri. v, thiet la.p d`o thi. G (F ) v`a kiem tra
nhat ta bat d`au t`
u. lu
`on ta.i ma.ch co do. d`ai am khong. Neu khong co th` lu
`ong nha.n du.o..c co chi ph nho
co t
`ong tren ma.ch n`ay. Khi
nhat. Ngu.o..c la.i neu l`a ma.ch co do. d`ai am th` ta them v`ao lu
.
.
.

do luong mo i van co gia tri. v v`a co chi ph giam mo.t lu o. ng .c(), trong do c() l`a chi ph
`o d`ai am . Hien nhien c
`an du.o..c cho.n sao cho cac kha nang thong qua cua
cua ma.ch co d
cac cung trong G (F ) khong bi. vi pha.m; t
u.c l`a
= min
qij .

(vi ,vj )

`ong mo.i nha.n du.o..c t`


`ong
Theo cach cho.n ban d`au cua cac kha nang cua d`o thi. G (F ) lu
u. lu
.
.
`ong tren ma.ch do. d`ai am) l`a chap nha.n du o. c. Qua tr`nh la.i
c
u (ba` ng cach co.ng v`ao lu
.
.
.
.
`
du o. c la.p la.i vo i luong mo i v`a van van. Chi tiet cua thua.t toan nhu. sau.

`ong c
Thu
a.t to
an t`m lu
o chi ph nho nh
at
`ong lo.n nhat, t`m lu
`ong chap nha.n du.o..c F vo.i gia tri. v.
1. Su. du.ng thua.t toan lu
- a.t
2. D

E1 := {(vi , vj ) | fij < qij , (vi , vj ) E},


E2 := {(vj , vi ) | fij > 0, (vi , vj ) E}.

Xay du..ng d`o thi. co tro.ng so G (F ) := (V , E ), trong do


V := V,
E := E1 E2 ,
Vo.i moi cung (vi , vj ) E1 , da. t cij := cij .
Vo.i moi cung (vj , vi ) E2 , da. t cji := cij .
do. d`ai am tren d`o thi. G (F ) co tro.ng so W := (wij ), chuyen
`ong vo.i chi ph nho nhat; thua.t toan d`
la.i, F l`a lu
u.ng.
4. Tnh theo cong th
u.c sau:
`on ta.i ma.ch co
3. Neu t
sang Bu.o.c 5. Ngu.o..c

:= min{qij | (vi , vj ) }.
`ong fji tren cung (vj , vi ) E
Vo.i mo.i cung (vi , vj ) sao cho cij < 0 thay doi lu
.
bo i fji .
188

http://www.ebook.edu.vn

`ong fij tren cung (vi , vj ) E


Vo.i mo.i cung (vi , vj ) sao cho cij > 0 thay doi lu
.
bo i fij + .
`ong mo.i F, chuyen sang Bu.o.c 2.
5. Vo.i lu

7.5
7.5.1

C
a.p gh
ep
`e c
C
ac b`
ai to
an v
a.p gh
ep

`e ca.p ghep trong cac d`o thi. (noi chung khong phai d`o thi. hai ph
`an) du.o..c
Cac b`ai toan v
quan tam v` hai l
y do. Th
u. nhat, co the dan den cac b`ai toan n`ay t`
u. vie.c tong quat hoa
.
`an trong nh
b`ai toan phan cong, v`a ch
ung l`a mo.t ph
u ng b`ai toan khac cua d`o thi.: cac b`ai
.
.
.
.
.
`en
toan t`m h`anh tr`nh toi u u (nhu b`ai toan ngu `o i du a thu. Trung Hoa), xac di.nh day chuy
.
.

`
ngan nha t trong do thi. vo hu o ng, v.v.
`e kha ca.nh l
Moi quan tam th
u. hai v
y thuyet, do moi lien he. vo.i lo.p cac b`ai toan quy
u.c ta.p da th
u.c theo m v`a n (so cac
hoa.ch nguyen m`a co the giai b`a ng thua.t toan vo.i do. ph
ca.nh v`a cac dnh cua d`o thi.).
Xet b`ai toan sau xay du..ng d`o thi. con bo. pha.n Gp cua d`o thi. vo hu.o.ng G trong do ba.c
cua cac dnh cua d`o thi. Gp thoa man tnh chat cho tru.o.c.
`e dnh) Gia su. G = (V, E) l`a d`o
B`
ai to
an 7.5.1 (B`ai toan d`o thi. bo. pha.n co r`ang buo.c v
.
.
.
.
.
.
.
thi. v
o hu o ng vo i chi ph cj tu o ng u
ng vo i moi ca.nh ej E. Ngo`ai ra, cho tru.o.c cac so
nguyen du.o.ng i , i = 1, 2, . . . , n. Van d`e da.t ra l`a t`m mo.t d`o thi. bo. pha.n Gp cu a G sao cho
.ng d`o thi. Gp b`a ng i , v`a tong cu a cac ca.nh trong Gp lo.n nhat
ba.c cu a cac dnh vi tu.o.ng u
(hoa.c nho nhat).
`on ta.i d`o thi. bo. pha.n
Hien nhien, vo.i d`o thi. G v`a cac so i cho tru.o.c, co the khong t
.
`
`
`
`on

Gp thoa man cac r`ang buo.c ve dnh. Hai dieu kie.n can (nhu ng khong du-ta.i sao?) de t
.
.
ta.i d`o thi. bo. pha.n chap nha.n du o. c l`a
i dG (vi ), vo.i mo.i dnh vi V
v`a

n
X

chan.

i=1

- i
`eu kie.n sau suy tru..c tiep t`
`an so cac
u. tnh chat: tong cac ba.c cua cac dnh b`a ng hai l
D
ca.nh.
189

http://www.ebook.edu.vn

`e nhau.
Ta.p con M E go.i l`a mo.t ca.p ghep neu hai ca.nh bat k`
y trong M khong k
.
Chi ph cua ca.p ghep M d.inh ngha bo i
c(M ) =

cj .

ej M

Ta co b`ai toan sau:


B`
ai to
an 7.5.2 (B`ai toan doi sanh vo.i chi ph lo.n nhat) T`m ca.p ghep M co chi ph lo.n
nhat.
B`ai toan doi sanh vo.i chi ph lo.n nhat co the phat bieu da.ng b`ai toan quy hoa.ch nguyen:
z=

m
X

cj xj max

j=1

sao cho

( P
m

j=1 bij xj

xj

1, i = 1, 2, . . . , n,
{0, 1},

trong do bij l`a ma tra.n lien thuo.c cua G v`a xj = 1 (hoa.c 0) phu. thuo.c v`ao ej co du.o..c ghep
ca.p hay khong.
n`ao do l`a
Hien nhien r`a ng, b`ai toan doi sanh vo.i chi ph lo.n nhat doi vo.i d`o thi. G
.
.
.
`e ba.c cua cac dnh. Neu so cac dnh cua
tru `o ng ho. p da. c bie.t cua b`ai toan co r`ang buo.c v
.

de thu du.o..c mo.t d`o thi. d`ay du G.

`
G chan, ta them cac ca.nh vo i chi ph ba ng v`ao G
.
`e B`ai toan 7.5.1 tren d`o thi. G trong do tat ca cac i = 1. Nghie.m cua
Khi do b`ai toan du a v
b`ai toan ban d`au de d`ang suy ra t`
u. b`ai toan sau b`a ng cach bo qua tat ca cac ca.nh co chi
le th` ta them mo.t dnh co la.p v`ao G
tru.o.c khi xay
ph b`a ng . Neu so cac dnh cua G
.
du. ng d`o thi. G v`a ap du.ng l
y lua.n tren.
Tu.o.ng u
.ng vo.i b`ai toan t`m ca.p ghep co chi ph lo.n nhat l`a b`ai toan phu co chi ph
P
.
nho nhat, t
u c l`a: T`m phu E cua G sao cho tong chi ph ej E cj nho nhat. B`ai toan n`ay
co the phat bieu da.ng quy hoa.ch nguyen nhu. sau:
z=

m
X

cj xj min

j=1

sao cho

( P
m

j=1 bij xj

1, i = 1, 2, . . . , n,
xj {0, 1},

trong do xj = 1 (hoa.c 0) phu. thuo.c v`ao ej co thuo.c phu E hay khong.


190

http://www.ebook.edu.vn

v3

v5

......................................................................................................................................................
....... ........
...
..... .. ..............
.
.......
..... .
.
.
.
.....
.......
.
.
........
.....
...
...
.......
.....
.
...
.
.
.
.......
...
.
...
.
.
.
.
.
.
.
.
.
.
.......
.
...
...
.
.
.
.
.
.
.
.
.
.......
...
...
.
.
.
.
.
.
.
.
.
.......
.
...
.
.
.
.
.
.
.
.....
.
.
.
.......
....
.
.
.
.
...
.
.
.
.......
...
.
.
.
...
.
.
.
.
.
.
.
.
.......
.
...
.
.
.
.
.
.
.
...
.
.
.......
...
.
.
.
.
.
.
.
.
.
....... ....
.
...
.
.
.
.
.
.
.
.
.
.
...........................................................................................................................................................................................................................
..
..
...
...
.
.....
..
...
...
.....
....
..
....
.....
...
....
..
.
.
.
.....
....
..
.
...
.....
....
..
....
.....
....
...
..
.
.
..... ...
.
.. ...
...................................................................................................................................................

v1

v6

v2

v4
v7
v3
v5
....
..........................................................................................................................................................
...
..
... ........
....
... .

.......
..
.......
....
...
.......
..
.......
.......
.
.
...
........
..
........
.
....
.....
.......
...
.
.
.......
.......
.....
...
....
.......
.
.
.
.
.
.
........
....
........
....
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.......
..
.......
....
.
.......
..
...
.
.....
.... ...
......... ....... ....... ....... ....... .............................................................................................................................................................
..
...
...
.
.....
.
.
..
....
.
.....
.
.
....
..
.
.
.
.....
....
..
...
.
...
.....
..
..
.
..
.....
.
....
..
..
.
.....
....
...
..
.
.
.
..... ..
.. ..
..
.
.
..................................................................................................................................................
..
.....

v1

....

v6

v2

v4

v7

H`nh 7.4: (a) Ca.p ghep. (b) Phu.

.t v`a H`nh 7.4(b)


H`nh 7.4(a) minh ho.a d`o thi. vo.i ca.p ghep du.o..c ve b`a ng doa.n net du
minh ho.a phu du.o..c ve ba` ng doa.n net du
.t trong c`
ung d`o thi..
Trong tru.`o.ng ho..p tat ca cac ca.nh co chi ph b`a ng nhau (chang ha.n 1) th` b`ai toan
`e b`ai toan t`m
doi sanh vo.i chi ph lo.n nhat v`a b`ai toan t`m phu vo.i chi ph nho nhat du.a v
.
.
`eu nhat v`a b`ai toan t`m phu nho nhat
ca.p ghep lo n nhat t
u c l`a t`m ca.p ghep co so ca.nh nhi
`an tu. cua ca.p ghep lo.n nhat khong vu.o..t
tu.o.ng u
.ng. Neu d`o thi. G co n dnh, khi do so ph
qua [n/2]. Tuy nhien, so n`ay khong phai l
uc n`ao c
ung da.t du.o..c; chang ha.n, d`o thi. h`nh
`an tu. 1.
sao trong H`nh 7.5 co ca.p ghep lo.n nhat vo.i so ph
`an, th` b`ai toan
Tru.`o.ng ho..p da. c bie.t khi cac chi ph cj tu`
yy
nhu.ng d`o thi. l`a hai ph
.
`e b`ai toan phan cong cong vie.c, mo.t b`ai toan quen
t`m ca.p ghep co chi ph nho nhat du a v
.

thuo.c cua Va.n tr`


u ho.c. Vo i ca u tr
uc do thi. da.c bie.t n`ay, B`ai toan 7.5.1 tro. th`anh b`ai toan
va.n tai.
`an n`ay l`a tr`nh b`ay b`ai toan v
`e ca.p ghep lo.n nhat cua d`o thi.
Mu.c dch chnh cua ph
.
.
`an trong moi lien he. vo i b`ai toan lu
`ong lo n nhat. V
`e cac thua.t toan giai quyet cac
hai ph
.
.
.

b`ai toan ca.p ghep trong tru `o ng ho. p to ng quat co the xem t`ai lie.u dan [14], [30].
191

http://www.ebook.edu.vn

...............

..
....
....
....
.....
.....
.....
...
.....
.....
.
.
.
.....
.
.
.
.....
.....
....
.....
.....
.....
...
.....
.....
.....
...
.....
....
.
.
.
...
.....
.
.....
.....
...
.....
.....
...
.....
.....
.
.....
.....
..... ....
.....
.
.
.
..... .. .....
..... .. .....
.. . ..
..............................................................................................................................................................
..... .. .....
.
.... .... .........
.
.
.
.
.....
.....
.....
....
....
.....
...
.....
.....
.....
.....
...
.....
.
.....
.
.
.
.
.
.....
...
.
.
.
.
.
.
.
.....
.
....
.
.
.....
.
.
.
.
...
.....
.
.
.
.
.
.
.....
.
...
.
.
.
.
.....
.
.
.
...
.
.....
.
.
.
.
.
.....
.
...
.
.
.
.
.
.....
.
.
....
.
.....
.
.
.
.
..
....
..

- `o thi. h`nh sao.


H`nh 7.5: D

7.5.2

`o thi. hai ph
`an
C
a.p gh
ep l
o.n nh
at trong d

Tru.o.c het ta bat d`au b`a ng mo.t v du..


`an) Mo.t nh`a may co p
V du. 7.5.3 (Phan cong cong vie.c, ca.p ghep trong d`o thi. hai ph
.
.
`an m`a cac dnh l`a
`an thu. c hie.n. Gia su G = (V, E) l`a d`o thi. hai ph
may v`a q cong vie.c c
V = V1 V2 , vo.i V1 = {1, 2, . . . , p} v`a V2 = {1, 2, . . . , q} v`a co mo.t ca.nh lien thuo.c (i, j) neu
may i co the thu..c hie.n cong vie.c j. Van d`e da.t ra l`a sap xep moi may vo.i mo.t cong vie.c
- i
`eu do co ngha ra` ng, t`m trong G mo.t ca.p ghep co so ph
`an tu.
m`a no co the thu..c hie.n. D
ba` ng p.
`e b`ai toan ma.ng va.n tai nhu. sau. Ta them dnh ngu
`on
B`ai toan ca.p ghep co the du.a v
.
.
v`a dnh ra nhan ta.o s, t sau do noi t`
u s den cac dnh thuo.c ta.p V1 v`a t`
u cac dnh thuo.c ta.p
M
.
.

V2 den t. Gan moi cung trong d`o thi. thu du o. c, k


y hie.u G , co kha nang thong qua ba` ng 1.
M
Ta co G l`a mo.t ma.ng va.n tai.
- i.nh l
`an d.inh hu.o.ng vo.i cac ta.p dnh r`o.i nhau V1 v`a
D
y 7.5.4 Gia su. G l`a d`o thi. hai ph
V2 m`
a trong do cac ca.nh du.o..c d.inh hu.o.ng t`
u. cac dnh trong ta.p V1 den cac dnh trong ta.p
V2 .
- nh vi V1 du.o..c doi
`ong F trong ma.ng va.n ta i GM cho ta mo.t ca.p ghep trong G. D
1. Lu
`ong F tren cung (vi , vj ) ba` ng 1.
sanh vo.i dnh vj trong V2 neu v`a ch neu lu
`ong lo.n nhat tu.o.ng u
2. Lu
.ng vo.i ca.p ghep lo.n nhat.
`a ng #V1 tu.o.ng u
`ong co gia tri. b
3. Lu
.ng vo.i ca.p ghep ho`an ha o.
Ch
u.ng minh. Gia su. fij = 1. Co du
ng mo.t cung den dnh vi l`a (s, vi ). Do do fsi = 1. Suy ra
`ong den dnh vi b`a ng 1. Do lu
`ong ra khoi dnh vi b`a ng 1 nen co du
lu
ng mo.t cung co da.ng
192

http://www.ebook.edu.vn

(vi , x) co fix = 1 l`a (vi , vj ). Tu.o.ng tu.. ch co mo.t cung da.ng (x, vj ) co fxj = 1 l`a (vi , vj ). Va.y
`e nhau.
neu M l`a ta.p cac cung (vi , vj ) sao cho fij = 1 th` hai ca.nh bat k`
y trong M khong k
Noi cach khac M l`a ca.p ghep cua G.
u
.ng.

`an c`on la.i suy t`


`ong tu.o.ng
Cac ph
u. so cac dnh cua V1 du.o..c doi sanh b`a ng gia tri. cua lu
/

- i.nh l
`ong lo.n nhat de xac d.inh
D
y tren ch ra r`a ng co the ap du.ng thua.t toan t`m lu
.
`an.
ca.p ghep lo n nhat cua d`o thi. hai ph

7.5.3

`o thi. hai ph
`an
C
a.p gh
ep ho`
an ha o trong d

Ta co di.nh ngha sau


- i.nh ngha 7.5.5 Ca.p ghep ho`an hao trong d`o thi. hai ph
`an G = (V1 V2 , E) l`a ca.p ghep
D

`on ta.i b V2 sao cho (a, b) E.


m`a moi dnh a V1 t
Neu S V1 , ta da. t
`on ta.i vi S sao cho (vi , vj ) E}.
(S) := {vj V2 | t
`an co
Gia su. G co ca.p ghep ho`an hao. Neu S V1 ta c
#S #(S).
Ta se ch ra r`a ng neu #S #(S) vo.i mo.i ta.p con S cua V1 th` G co mo.t ca.p ghep ho`an
- .inh l
y dam cu.o.i cua Hall do V1 l`a
hao. Ket qua n`ay du.o..c ch
u.ng minh bo.i Hall v`a go.i l`a D
.
.
.
.
.
.
`on ta.i ca.nh noi vi V1 den
ta.p nh
u ng ngu `o i da`n ong v`a V2 l`a ta.p nh
u ng ngu `o i d`an b`a v`a t
.
`eu kie.n de ngu.`o.i d`an ong co the
vj V2 neu vi v`a vj u ng thch nhau; di.nh l
y cho mo.t di
.
.
.
.
cu o i ngu `o i m`nh thch.
- i.nh l
`on ta.i ca.p ghep ho`an ha o neu v`a ch neu
D
y 7.5.6 T
#S #(S)

(7.2)

v
o.i mo.i ta.p con S cu a V1 .
`an ch
`eu kie.n (7.2) du
`on ta.i ca.p ghep ho`an
Ch
u.ng minh. Ta ch c
u.ng minh neu di
ng th` t

hao. Da.t n1 = #V1 v`a (P, P ) l`a thiet die.n nho nha t trong ma.ng va.n tai. Neu ta ch
u.ng
.
`ong lo n nhat co gia tri. b`a ng n1 . Ca.p
minh r`a ng kha nang cua thiet die.n n`ay b`a ng n1 th` lu
.
.
.
.
.
`ong lo n nhat se l`a ca.p ghep ho`an hao.
ghep tu o ng u
ng vo i lu
193

http://www.ebook.edu.vn

Ch
u.ng minh ba` ng phan ch
u.ng. Gia su. ngu.o..c la.i, kha nang cua thiet die.n nho nhat
.
(P, P ) nho ho n n1 . Nha.n xet r`a ng kha nang cua thiet die.n n`ay b`a ng so cac ca.nh trong ta.p
M = {(x, y) | x P, y P }.
`an tu. cua M co mo.t trong ba da.ng:
Mo.t ph
Loa.i 1: (s, vi ), vi V1 .
Loa.i 2: (vi , vj ), vi V1 , vj V2 .
Loa.i 3: (vj , t), vj V2 .
Ch
ung ta se dem so cac ca.nh trong moi loa.i.
Neu V1 P th` kha nang cua thiet die.n l`a n1 ; do do
V1 = V1 P
`on ta.i n1 #V1 ca.nh loa.i 1 trong E.
khac trong. Suy ra t
Ta phan hoa.ch R(V1 ) th`anh cac ta.p ho..p
X = R(V1 ) P

v`a

Y = R(V1 ) P .

`on ta.i t nhat #V1 ca.nh loa.i 3 trong E. Do do t


`on ta.i t ho.n
Khi do t
n1 (n1 #V1 ) #X = #V1 #X
`eu nhat mo.t ca.nh loa.i 2, nen
`an tu. cua Y dong gop nhi
ca.nh loa.i 2 trong E. M`a moi ph
#Y < #V1 #X.
Va.y

#R(V1 ) = #X + #Y < #V1 .

- i
`eu n`ay mau thuan vo.i (7.2). Do do t
`on ta.i ca.p ghep ho`an hao.
D

V du. 7.5.7 Co n may tnh v`a n o da. Moi may tnh tu.o.ng thch vo.i m o da v`a moi o
da tu.o.ng thch vo.i m may tnh. Co the ghep moi may tnh vo.i mo.t o da m`a no tu.o.ng
thch?
- a.t V1 l`a ta.p cac may tnh v`a V2 l`a ta.p cac o da. Ta cho tu.o.ng u
D
.ng ca.nh (vi , vj ) neu
- a.t
may tnh vi V1 tu.o.ng thch vo.i o da vj V2 . Ch
uy
r`a ng mo.i dnh co ba.c b`a ng m. D
194

http://www.ebook.edu.vn

S = {v1 , v2 , . . . , vk } V1 . Khi do co km ca.nh xuat phat t`


u. S. Neu l := #(S) th` (S)
.
`eu nhat lm ca.nh den t`
nha.n nhi
u S. Do do
km lm.
Nen
#S = k l = #(S).
- i.nh l
`on ta.i ca.p ghep ho`an hao. Va.y co the ghep moi may tnh vo.i
Theo D
y dam cu.o.i Hall, t
mo.t o da tu.o.ng thch.

195

http://www.ebook.edu.vn

196

http://www.ebook.edu.vn

`an phu. lu.c A


Ph
e.n Graph.h
Thu. vi
`om cac cau tr
`an thiet ho tro.. vie.c c`ai da. t
Du.o.i day l`a thu. vie.n g
uc d
u. lie.u v`a cac thu tu.c c
cac thua.t toan trong giao tr`nh.

/**************************************************
Luu y: Tat ca cac file du lieu dung voi Thu vien nay
phai duoc tao bang trinh Norton Commander.
**************************************************/
#if !defined(graph_h)
#define graph_h
#include
#include
#include
#include

<stdio.h>
<conio.h>
<alloc.h>
<string.h>

/****** Phan dinh nghia cac hang *****/


#define
#define
#define
#define
#define
#define

TRUE 1
FALSE 0
INFTY 32767
MAXEDGES 50 // So cuc dai cac canh
MAXVERTICES 25 // So cuc dai cac \dd\ir nh
MAXSTRINGS 16 // Chieu dai cuc dai xau ky tu
197

http://www.ebook.edu.vn

/****** Phan dinh nghia cac kieu du lieu *****/


typedef unsigned char byte;
typedef byte Boolean;
typedef char DataType[MAXSTRINGS+1]; // Them mot ma ket thuc chuoi
/*******************************
Cau truc du lieu: don lien ket
*******************************/
typedef struct VertexNode *AdjPointer;
struct VertexNode
{
byte Vertex;
int Length;
int Flow;
AdjPointer Next;
};
typedef struct
{
DataType Data;
AdjPointer Next;
} HeadNode;
typedef HeadNode *HeadPointer;
typedef HeadPointer ArrayOfPointer[MAXVERTICES];
typedef struct QueueType *QueueNode;
struct QueueType
{
byte Vertex;
QueueNode Next;
};
typedef struct
{
QueueNode Head, Tail;
} Queue;
typedef byte Path[MAXVERTICES];

198

http://www.ebook.edu.vn

typedef byte SetOfVertices[(MAXVERTICES%8)?((MAXVERTICES/8)+1):(MAXVERTICES/8)];

/***********************************
Danh sach da lien ket cho cac canh
***********************************/
typedef struct EdgeNode *EdgePointer;
struct EdgeNode
{
byte Vertex[2];
EdgePointer Link[2];
};
typedef struct
{
char Data;
EdgePointer Next;
} ListEdge;
typedef ListEdge *ListEdgePointer;
typedef ListEdgePointer ArrayOfEdge[MAXVERTICES];
/***** Phan khai bao prototype ham *****/
void Create(AdjPointer *List);
Boolean Empty(AdjPointer List);
void Push(AdjPointer *List, byte Item);
void Pop(AdjPointer *List, byte *Item);
void CreatQueue(Queue *Q);
Boolean EmptyQueue(Queue Q);
void PushQueue(Queue *Q, byte Item);
void PopQueue(Queue *Q, byte *Item);
Boolean EmptySet(SetOfVertices S);
Boolean InSet(SetOfVertices S, byte Value);
void InitSet(SetOfVertices S, byte MaxValue);
void AddSet(SetOfVertices S, byte Value);
void SubSet(SetOfVertices S, byte Value);
void MakeV_out(char *FileName, ArrayOfPointer V_out, byte *NumVertices,
199

http://www.ebook.edu.vn

Boolean Weight);
void MakeV_in(char *FileName, ArrayOfPointer V_in, ArrayOfPointer V_out,
byte *NumVertices);
void BuildGraph(char *FileName, ArrayOfEdge E, byte *NumVertices);
void DisplayV_out(ArrayOfPointer V_out, byte NumVertices, Boolean Weight);
void DisplayV_in(ArrayOfPointer V_in, byte NumVertices);
void DFS(ArrayOfEdge E, byte Start, SetOfVertices S);
void PathTwoVertex(Path Pred, byte Start, byte Terminal);
void PopHeadPtr(byte NumVertices, ArrayOfPointer V_out);
/***** Phan cai dat cac ham *****/
void Create(AdjPointer *List)
{
(*List) = NULL;
}
Boolean Empty(AdjPointer List)
{
return((List == NULL) ? TRUE : FALSE);
}
void Push(AdjPointer *List, byte Item)
{
AdjPointer TempPtr;
TempPtr = (AdjPointer) malloc(sizeof(struct VertexNode));
TempPtr->Vertex = Item;
TempPtr->Next = (*List);
(*List) = TempPtr;
}
void Pop(AdjPointer *List, byte *Item)
{
AdjPointer TempPtr;
if (Empty(*List))
{
printf(" Thao tac con tro khong hop le ");
return;
200

http://www.ebook.edu.vn

}
TempPtr = (*List);
(*Item) = TempPtr->Vertex;
(*List) = TempPtr->Next;
free(TempPtr);
}
void CreatQueue(Queue *Q)
{
(*Q).Head = NULL;
}
Boolean EmptyQueue(Queue Q)
{
return((Q.Head == NULL) ? TRUE : FALSE);
}
void PushQueue(Queue *Q, byte Item)
{
QueueNode TempPtr;
TempPtr = (QueueNode) malloc(sizeof(struct QueueType));
TempPtr->Vertex = Item;
TempPtr->Next = NULL;
if ((*Q).Head == NULL) (*Q).Head = TempPtr;
else (*Q).Tail->Next = TempPtr;
(*Q).Tail = TempPtr;
}
void PopQueue(Queue *Q, byte *Item)
{
QueueNode TempPtr;
if (EmptyQueue(*Q))
{
printf(" Thao tac con tro khong hop le ");
return;
}
TempPtr = (*Q).Head;
(*Item) = TempPtr->Vertex;
(*Q).Head = TempPtr->Next;
free(TempPtr);
201

http://www.ebook.edu.vn

}
Boolean EmptySet(SetOfVertices S)
{
int i, k = (MAXVERTICES %8 ) ? ((MAXVERTICES / 8) + 1) : (MAXVERTICES / 8);
for (i = 0; i < k; i++)
if (S[i] != 0) return(FALSE);
return(TRUE);
}
Boolean InSet(SetOfVertices S, byte Value)
{
if ((Value < 1) || (Value > MAXVERTICES))
return(FALSE);
return((S[(Value - 1) / 8] & (0x80 >> ((Value - 1) % 8))) ? TRUE : FALSE);
}
void InitSet(SetOfVertices S, byte MaxValue)
{
int i;
if (MaxValue>MAXVERTICES)
{
printf(" Gia tri khong thuoc tap hop ");
return;
}
for (i = 0; i < MaxValue; i++) S[i/8] |= 0x80 >> (i%8);
}
void AddSet(SetOfVertices S, byte Value)
{
int i;
if ((Value < 1) || (Value > MAXVERTICES))
{
printf(" Gia tri khong thuoc tap hop ");
return;
}

202

http://www.ebook.edu.vn

S[(Value-1)/8] |= 0x80 >> ((Value-1)%8);


}
void SubSet(SetOfVertices S, byte Value)
{
if ((Value < 1) || (Value > MAXVERTICES))
{
printf(" Gia tri khong thuoc tap hop ");
return;
}
S[(Value-1)/8] &= ~(0x80 >> ((Value-1)%8));
}
int feoln(FILE *fp)
{
char c;
if ((c=fgetc(fp))==10)
{
fseek(fp, -2, 1);
return(TRUE);
}
else
if (c==EOF) return(TRUE);
else
{
fseek(fp, -1, 1);
return(FALSE);
}
}
void freadln(FILE *fp)
{
char c;
while (((c=fgetc(fp))!=10)&&(c!=EOF));
}
void MakeV_out(char *FileName, ArrayOfPointer V_out, byte *NumVertices,
Boolean Weight)
{
203

http://www.ebook.edu.vn

byte NumVert;
HeadPointer HeadPtr;
AdjPointer VerPtr;
FILE *FileData;
if ((FileData = fopen(FileName, "rt")) == NULL)
{
printf(" File khong tim thay ");
return;
}
NumVert = 0;
while (!feof(FileData))
{
HeadPtr = (HeadPointer) malloc(sizeof(HeadNode));
HeadPtr->Next = NULL;
fgets(HeadPtr->Data, MAXSTRINGS+1, FileData);
// Ham fgets(char *s, int n, FILE *fp) chi doc n-1 ky tu
while (!feoln(FileData))
{
VerPtr = (AdjPointer) malloc(sizeof(struct VertexNode));
fscanf(FileData, "%d", &(VerPtr->Vertex));
if (Weight)
{
fscanf(FileData, "%d", &(VerPtr->Length));
VerPtr->Flow = 0;
}
VerPtr->Next = HeadPtr->Next;
HeadPtr->Next = VerPtr;
}
freadln(FileData);
++NumVert;
V_out[NumVert] = HeadPtr;
}
(*NumVertices) = NumVert;
fclose(FileData);
}
void MakeV_in(char *FileName, ArrayOfPointer V_in, ArrayOfPointer V_out,
byte *NumVertices);
{
byte NumVert;
204

http://www.ebook.edu.vn

int i, j;
HeadPointer HeadPtr;
AdjPointer CurrPtr, VerPtr;
MakeV_out(FileName, V_out, &NumVert, TRUE);
(*NumVertices) = NumVert;
for (i=1; i<=NumVert; i++)
{
HeadPtr = (HeadPointer) malloc(sizeof(HeadNode));
strcpy(HeadPtr->Data, V_out[i]->Data);
HeadPtr->Next = NULL;
for (j=1; j<=NumVert; j++)
{
CurrPtr = V_out[j]->Next;
while (CurrPtr!=NULL)
{
if (CurrPtr->Vertex==i)
{
VerPtr=(AdjPointer)malloc(sizeof(struct VertexNode));
VerPtr->Vertex = j;
VerPtr->Length = CurrPtr->Length;
VerPtr->Flow = 0;
VerPtr->Next = HeadPtr->Next;
HeadPtr->Next = VerPtr;
}
CurrPtr = CurrPtr->Next;
}
}
V_in[i] = HeadPtr;
}
}
void BuildGraph(char *FileName, ArrayOfEdge E, byte *NumVertices)
{
byte EndPt, NumVert;
int i;
char ch[2];
EdgePointer EdgePtr;
FILE *FileData;
if ((FileData = fopen(FileName, "rt")) == NULL)
{
205

http://www.ebook.edu.vn

printf(" File khong tim thay ");


return;
}
NumVert = 0;
while (!feoln(FileData))
{
++NumVert;
E[NumVert] = (ListEdgePointer) malloc(sizeof(ListEdge));
fscanf(FileData, "%s", ch);
E[NumVert]->Data = ch[0];
E[NumVert]->Next = NULL;
}
(*NumVertices) = NumVert;
for (i=1; i<=NumVert; i++) printf("%c ", E[i]->Data);
printf("\n");
freadln(FileData);
while (!feof(FileData))
{
EdgePtr = (EdgePointer) malloc(sizeof(struct EdgeNode));
for (i=0; i<2; i++)
{
fscanf(FileData, "%d", &EndPt);
printf("%d ", EndPt);
EdgePtr->Vertex[i] = EndPt;
EdgePtr->Link[i] = E[EndPt]->Next;
E[EndPt]->Next = EdgePtr;
}
printf("\n");
freadln(FileData);
}
fclose(FileData);
}
void DFS(ArrayOfEdge E, byte Start, SetOfVertices Unvisited)
{
EdgePointer Ptr;
byte StartEnd, OtherEnd, NewStart;
SubSet(Unvisited, Start);
206

http://www.ebook.edu.vn

Ptr = E[Start]->Next;
while ((!EmptySet(Unvisited))&&(Ptr!=NULL))
{
StartEnd = 0;
OtherEnd = 1;
if (Ptr->Vertex[0]!=Start)
{
StartEnd = 1;
OtherEnd = 0;
}
NewStart = Ptr->Vertex[OtherEnd];
if (InSet(Unvisited, NewStart)) DFS(E, NewStart, Unvisited);
Ptr = Ptr->Link[StartEnd];
}
}
void DisplayV_out(ArrayOfPointer V_out, byte NumVertices, Boolean Weight)
{
int i;
AdjPointer CurrPtr;
for (i=1; i<=NumVertices; i++)
{
printf("(%d) %s ", i, V_out[i]->Data);
CurrPtr = V_out[i]->Next;
while (CurrPtr!=NULL)
{
printf("%d ", CurrPtr->Vertex);
if (Weight) printf("%d ", CurrPtr->Length);
CurrPtr = CurrPtr->Next;
}
printf("\n");
}
printf("\n");
}
void DisplayV_in(ArrayOfPointer V_in, byte NumVertices)
{
int i;
AdjPointer CurrPtr;
for (i=1; i<=NumVertices; i++)
207

http://www.ebook.edu.vn

{
printf("%s ", V_in[i]->Data);
CurrPtr = V_in[i]->Next;
while (CurrPtr!=NULL)
{
printf(" %d %d", CurrPtr->Vertex, CurrPtr->Length);
CurrPtr = CurrPtr->Next;
}
printf("\n");
}
}
void PathTwoVertex(Path Pred, byte Start, byte Terminal)
{
if (Terminal != Start)
{
PathTwoVertex(Pred, Start, Pred[Terminal]);
printf(" ---> %2d", Terminal);
}
}
void PopHeadPtr(byte NumVertices, ArrayOfPointer V_out)
{
byte Item;
int i;
AdjPointer CurrPtr;
for (i=1; i<=NumVertices; i++)
{
CurrPtr = V_out[i]->Next;
while (CurrPtr != NULL) Pop(&CurrPtr, &Item);
free(V_out[i]);
}
}
#endif

208

http://www.ebook.edu.vn

T`
ai li
e.u tham kha o
[1] Appel K., The proof of the four-colour problem, New Scientist. 72, 154-155 (1976).
[2] Arlinghaus S., Arlinghaus W., Nystuen J., The Hedetniemi matrix sum: an algorithm
for shortest path and shortest distance, Geographical Analysis, Vol. 22, No. 4, Oct.,
351-360 (1990).
[3] Bellman R., On a routing problem, Quart. of Applied Mathematics, 16, 87 (1958).
[4] Berge C., Ly thuyet d`o thi. v`a u
.ng du.ng, NXB Khoa ho.c v`a K
y thua.t H`a No.i, 1971.
[5] Berge C., Two theorems in graph theory, Proc. Nat. Ac. Sc., 43, 842 (1957).
[6] Berry R. C., A constrained shortest path, Paper presented at the 39th National ORSA
Metting, Dallas, Texas (1971).
[7] Bondy J. A., Properties of graphs with constraints on degrees, Studia Sci. Math. Hung.
4 473-475 (1969).
[8] Bondy J. A., Chvatal V., A method in graph theory, Discrete Math. 15, 111-135 (1976).
[9] Brooks R. L., On coloring the nodes of a network, Proc. Cambridge Phil. Soc., Vol. 37,
194-197 (1941).
[10] Busacker R. G., Gowen P. J., A procedure for determining a family of minimal-cost
network flow patterns, Operations Research Office, Technical paper 15 (1961).
[11] Cayley A., Collected papers, Quart. Jl. of Mathematics, 13 Cambridge, 26 (1897).
[12] Chase S. M., Analysis of algorithms for finding all spanning trees of a graph, Report
No. 401, Department of Computer Science, University of Illinois, Urbana, Oct. (1970).
[13] Chvatal V., On Hamiltons ideals, J. Combinat. Theory B 12 163-168 (1972).
[14] Christofides N., Graph theory an algorithmic approach, Academic Press INC. (1975).
209

http://www.ebook.edu.vn

[15] Coxeter H. S. M., Introduction to geometry, Wiley, New York (1961).


[16] Danzig G. B., All shortest routes in a graph, in Theorie des graphes, Proceedings of the
International Symposium, Rome 1966, Dunod, Paris, 91-92 (1967).
[17] Dirac G. A., Some theorems on abstract graphs, Proc. London Math. Soc. 2, 68-81
(1952).
[18] De Freisseix H., Rosenstiehl P., The depth-search theorem for planarity, in Proceedings
of the Cambridge Combinatorial Conference, North Holland, Amsterdam (1982).
[19] Deo N., Graph theory with applications to engineering and computer science, PrenticeHall Inc. (1974).
[20] Dijkstra, E. W., A note on two problems in connection with graphs, Numerische Mathematik, 1, 269 (1959).
[21] Dreyfus S. E., Wagner R. A., The Steiner problem in graphs, Networks, 1, 195 (1972).
[22] Euler L., Solutio problematis ad geometriam situs pertinentis, Commun. Acad. Sci. Imp.
Petropol. 8, Opera Omnia (1), Vol. 7, 128-140 (1736).
[23] Euler L., Commentationes Arithmeticae collectae, St. Petersburg, (1766).
[24] Fary I., On straight line representation of planar graphs, Acta Sci. Math. Szeged, Vol.
11, 229-293 (1948).
[25] Floyd R. W., Algorithm 97-Shortest path, Comm. of ACM, 5, 345 (1962).
[26] Ford L. R. Jr., Network flow theory, Rand Corporation Report 923 (1946).
[27] Ford L. R., Fulkerson D. R., Flows in networks, Princeton University Press, Princeton
(1962).
[28] Gilbert E. N., Pollack H. O., Steiner minimal trees, Jl. of SIAM (Appl. Math.), 16 1
(1968).
[29] Gomory R. E., Hu T. C., Synthesis of a communication network, Jl. of SIAM (App.
Math.), 12 348 (1964).
[30] Gondran M., Minoux M., Vajda S., Graphs and algorithms, John Wiley & Sons (1990).
[31] Hamming R. W., Coding and information theory, Prentice Hall (1980).
[32] Hanan M., On Steiners problem with rectilinear distance, Jl. of SIAM (Appl. Math.),
14 255 (1966).
210

http://www.ebook.edu.vn

[33] Hopcroft J. E., Tarjan R. E., Isomorphism of planar graphs, in Complexity of Computer
Computations, Plenum, New York (1972).
[34] Hopcroft J. E., Tarjan R. E., Efficient planarity testing, J. ACM 21, 549-568 (1974).
[35] Hu T. C., Integer programming and network flows, Addison-Wesley, Reading, Massachusetts (1969).
[36] Kerchenbaum A., Van Slyke R., Computing minimum spanning trees efficiently, Proc.
of the Ann. Conf. of ACM, Boston, 518 (1972).
[37] Kirchhoff G., in Annalen der Physik and Chemie 72, 497 (1847).
[38] Klein M., A primal method for minimal cost flows with applications to the assignment
and transportation problems, Man. Sci., 14, 205 (1967).
[39] Kruskal J. B. Jr., On the shortest spanning subtree of a graph and the traveling salesman
problem, Proc. American Mathematical Soc., 7, 48 (1956).
[40] Kraitchik M., Le probl`eme des Reines, Bruxelles (1926).
[41] Kevin V., Whitney M., Algorithm 422-Minimum spanning tree, Comm. of ACM, 15,
273 (1972).
[42] Las Vergnas M., Probl`emes de couplage et probl`emes hamiltoniens en theorie des
graphes, Doctoral thesis, Univsite de Paris VI (1972).
uc d
u. lie.u, Scitec.
[43] Larry N., Sanford L., La.p tr`nh nang cao ba` ng Pascal vo.i cac cau tr
[44] Mei-Ko Kwan, Graphic programming using odd or even points, Chinese Math. 1, 273
(1962).
[45] Moore E. F., The shortest path through a maze, Proc. Int. Symp. on the Theory of
Switching, Path II, 285 (1957).
[46] Murchland J. D., A new method for finding all elementary paths in a complete directed
graph, London School of Economics, Report LSE-TNT-22 (1965).
[47] Ore O., Note on Hamilton circuits, Amer. Math. Mothly, 67, 55 (1960).
[48] Ore O., The four colour problem, Academic Press, New York (1967).
[49] Prim R. C., Shortest connection networks and some generalizations, Bell Syst. Tech.
Jl., 36, 1389 (1957).
[50] Paton K., An algorithm for finding a fundamental set of cycles of a graph, Comm. ACM,
Vol. 12, No. 9, Sept., 514-518 (1969).
211

http://www.ebook.edu.vn

[51] Posa L., A theorem concerning Hamiltonian lines, Magyar Tud. Akad. Mat. Kutato
Inst. Kozl 7 255-226 (1962).
[52] Shirey R. W., Implementation and analysis of efficient graph planarity testing algorithms, Ph.D. Dissertation, Computer Sciences, University of Wisconsin, Madison,
Wisc. (1969).
[53] Tarjan R., Depth-first search and linear graph algorithms, SIAM J. Computer 1 146-160
(1972).
[54] Tutte W. T., How to draw graph, Proc. London Math. Soc., Ser. 3, Vol. 13, 743-768
(1963).
[55] Whitney H., 2Isomorphic graphs, Am. J. Math. Vol. 55 245-254 (1933).

212

http://www.ebook.edu.vn

You might also like