Lý thuyết đồ th
Lê Minh Hoàng
\ 1 [
MC LC
§0. M
ĐẦU
.......................................................................................................................................... 3
§1. CÁC KHÁI NI
M CƠ BN
.............................................................................................................. 4
I. ĐỊNH NGHĨA ĐỒ TH (GRAPH)
..................................................................................................................4
II. CÁC KHÁI NI
M
..........................................................................................................................................5
§2. BI
U DIN ĐỒ TH TRÊN MÁY TÍNH
............................................................................................ 6
I. MA TR
N LIN K (MA TRN K)
..........................................................................................................6
II. DANH SÁCH C
NH
.....................................................................................................................................7
III. DANH SÁCH K
.........................................................................................................................................7
IV. NH
N XÉT
...................................................................................................................................................8
§3. CÁC THU
T TOÁN TÌM KIM TRÊN ĐỒ TH
............................................................................. 10
I. BÀI TOÁN.....................................................................................................................................................10
II. THU
T TOÁN TÌM KIM THEO CHIU SÂU (DEPTH FIRST SEARCH)
..........................................11
III. THU
T TOÁN TÌM KIM THEO CHIU RNG (BREADTH FIRST SEARCH)
...............................16
IV. ĐỘ PHC TP TÍNH TOÁN CA BFS DFS
...................................................................................21
§4. TÍNH LIÊN THÔNG C
A ĐỒ TH
................................................................................................. 22
I. ĐỊNH NGHĨA
................................................................................................................................................22
II. TÍNH LIÊN THÔNG TRONG
ĐỒ TH HƯỚNG
................................................................................23
III. ĐỒ TH ĐẦY ĐỦ THUT TOÁN WARSHALL
..............................................................................23
IV. CÁC THÀNH PH
N LIÊN THÔNG MNH
...........................................................................................26
§5. VÀI
NG DNG CA CÁC THUT TOÁN TÌM KIM TRÊN ĐỒ TH
........................................ 36
I. XÂY D
NG CÂY KHUNG CA ĐỒ TH
.................................................................................................36
II. T
P CÁC CHU TRÌNH CƠ BN CA ĐỒ TH
.......................................................................................38
III. ĐỊNH CHIU ĐỒ THI TN LIT KÊ CU
...........................................................................39
IV. LI
T KÊ KHP
..........................................................................................................................................44
I. BÀI TOÁN 7 CÁI C
U
................................................................................................................................47
II. ĐỊNH NGHĨA
...............................................................................................................................................47
III. ĐỊNH LÝ
.....................................................................................................................................................47
IV. THU
T TOÁN FLEURY TÌM CHU TRÌNH EULER
.............................................................................48
V. CÀI
ĐẶT
......................................................................................................................................................48
VI. THU
T TOÁN TT HƠN
.........................................................................................................................50
§7. CHU TRÌNH HAMILTON,
ĐƯNG ĐI HAMILTON, ĐỒ TH HAMILTON
.................................... 53
I. ĐỊNH NGHĨA
................................................................................................................................................53
II. ĐỊNH LÝ
......................................................................................................................................................53
III. CÀI
ĐẶT
.....................................................................................................................................................53
§8. BÀI TOÁN
ĐƯNG ĐI NGN NHT
........................................................................................... 57
I. ĐỒ TH TRNG S
...............................................................................................................................57
II. BÀI TOÁN
ĐƯNG ĐI NGN NHT
......................................................................................................57
III. TR
ƯỜNG HP ĐỒ TH KHÔNG CÓ CHU TNH ÂM - THUT TOÁN FORD BELLMAN
...........58
IV. TR
ƯỜNG HP TRNG S TRÊN CÁC CUNG KHÔNG ÂM - THUT TOÁN DIJKSTRA
.............60
V. THU
T TOÁN DIJKSTRA VÀ CU TRÚC HEAP
.................................................................................63
VI. TR
ƯỜNG HP ĐỒ TH KHÔNG CÓ CHU TRÌNH - TH T PÔ
................................................65
Lý thuyết đồ th
Lê Minh Hoàng
\ 2 [
VII. ĐƯỜNG ĐI NGN NHT GIA MI CP ĐỈNH - THUT TOÁN FLOYD
...................................68
VIII. NH
N XÉT
..............................................................................................................................................70
§9. BÀI TOÁN CÂY KHUNG NH
NHT
.......................................................................................... 72
I. BÀI TOÁN CÂY KHUNG NH
NHT
......................................................................................................72
II. THU
T TOÁN KRUSKAL (JOSEPH KRUSKAL - 1956)
.......................................................................72
III. THU
T TOÁN PRIM (ROBERT PRIM - 1957)
.......................................................................................76
§10. BÀI TOÁN LU
NG CC ĐẠI TRÊN MNG
.............................................................................. 80
I. BÀI TOÁN.....................................................................................................................................................80
II. LÁT C
T, ĐƯNG TĂNG LUNG, ĐỊNH LÝ FORD - FULKERSON
.................................................80
III. CÀI
ĐẶT
.....................................................................................................................................................82
IV. THU
T TOÁN FORD - FULKERSON (L.R.FORD & D.R.FULKERSON - 1962)
...............................85
§11. BÀI TOÁN TÌM B
GHÉP CC ĐẠI TRÊN ĐỒ TH HAI PHÍA
................................................. 89
I. ĐỒ TH HAI PHÍA (BIPARTITE GRAPH)
.................................................................................................89
II. BÀI TOÁN GHÉP
ĐÔI KHÔNG TRNG VÀ CÁC KHÁI NIM
...........................................................89
III. THU
T TOÁN ĐƯNG M
....................................................................................................................90
IV. CÀI
ĐẶT
.....................................................................................................................................................90
§12. BÀI TOÁN TÌM B
GHÉP CC ĐẠI VI TRNG S CC TIU TN ĐỒ TH HAI PHÍA -
THU
T TOÁN HUNGARI
.................................................................................................................... 95
I. BÀI TOÁN PHÂN CÔNG ............................................................................................................................95
II. PHÂN TÍCH .................................................................................................................................................95
III. THU
T TOÁN
...........................................................................................................................................96
IV. CÀI
ĐẶT
...................................................................................................................................................100
V. BÀI TOÁN TÌM B
GHÉP CC ĐẠI VI TRNG S CC ĐẠI TRÊN ĐỒ TH HAI PA
..........105
VI. ĐỘ PHC TP TÍNH TOÁN
..................................................................................................................106
§13. BÀI TOÁN TÌM B
GHÉP CC ĐẠI TRÊN ĐỒ TH
................................................................ 111
I. CÁC KHÁI NI
M
.......................................................................................................................................111
II. THU
T TOÁN EDMONDS (1965)
..........................................................................................................112
III. PH
ƯƠNG PHÁP LAWLER (1973)
..........................................................................................................113
IV. CÀI
ĐẶT
...................................................................................................................................................115
V. ĐỘ PHC TP TÍNH TOÁN
...................................................................................................................119
Lý thuyết đồ th
Lê Minh Hoàng
\ 3 [
§0. M ĐẦU
Trên thc tế có nhiu bài toán liên quan ti mt tp các đối tượng và nhng mi
liên h gia chúng, đòi hi toán hc phi đặt ra mt mô hình biu din mt cách
cht ch và tng quát bng ngôn ng ký hiu, đó là đồ th. Nhng ý tưởng cơ bn
ca nó được đưa ra t thế k th XVIII bi nhà toán hc Thu Sĩ Leonhard Euler,
ông đã dùng mô hình đồ th để gii bài toán v nhng cây cu Konigsberg ni
tiếng.
Mc dù Lý thuyết đồ th đã được khoa hc phát trin t rt lâu nhưng li có nhiu ng dng hin
đại. Đặc bit trong khong vài mươi năm tr li đây, cùng vi s ra đời ca máy tính đin t và s
phát trin nhanh chóng ca Tin hc, Lý thuyết đồ th càng được quan tâm đến nhiu hơn. Đặc bit
là các thut toán trên đồ th đã có nhiu ng dng trong nhiu lĩnh vc khác nhau như: Mng máy
tính, Lý thuyết mã, Ti ưu hoá, Kinh tế hc v.v... Chng hn như tr li câu hi: Hai máy tính trong
mng có th liên h được vi nhau hay không ?; hay vn đề phân bit hai hp cht hoá hc có cùng
công thc phân t nhưng li khác nhau v công thc cu to cũng được gii quyết nh mô hình đồ
th. Hin nay, môn hc này là mt trong nhng kiến thc cơ s ca b môn khoa hc máy tính.
Trong phm vi mt chuyên đề, không th nói k và nói hết nhng vn đề ca lý thuyết đồ th. Tp
bài ging này s xem xét lý thuyết đồ th dưới góc độ người lp trình, tc là kho sát nhng thut
toán cơ bn nht có th d dàng cài đặt trên máy tính mt s ng dng ca nó. Các khái nim
tru tượng và các phép chng minh s được din gii mt cách hình thc cho đơn gin và d hiu
ch không phi là nhng chng minh cht ch dành cho người làm toán. Công vic ca người lp
trình là đọc hiu được ý tưởng cơ bn ca thut toán và cài đặt được chương trình trong bài toán
tng quát cũng như trong trường hp c th. Thông thường sau quá trình rèn luyn, hu hết nhng
người lp trình gn như phi thuc lòng các mô hình cài đặt, để khi áp dng có th cài đặt đúng
ngay và hiu qu, không b mt thi gi vào các công vic g ri. Bi vic g ri mt thut toán tc
là phi dò li tng bước tiến hành và t tr li câu hi: "Ti bước đó nếu đúng thì phi như thế nào
?", đó thc ra là tiêu phí thi gian vô ích để chng minh li tính đúng đắn ca thut toán trong
trường hp c th, vi mt b d liu c th.
Trước khi tìm hiu các vn đề v lý thuyết đồ th, bn phi có k thut lp trình khá tt, ngoài ra
nếu đã có tìm hiu trước v các k thut vét cn, quay lui, mt s phương pháp ti ưu hoá, các bài
toán quy hoch động thì s giúp ích nhiu cho vic đọc hiu các bài ging này.
Lý thuyết đồ th
Lê Minh Hoàng
\ 4 [
§1. CÁC KHÁI NIM CƠ BN
I. ĐỊNH NGHĨA ĐỒ TH (GRAPH)
Là mt cu trúc ri rc gm các đỉnh và các cnh ni các đỉnh đó. Được mô t hình thc:
G = (V, E)
V gi là tp các đỉnh (Vertices) và E gi là tp các cnh (Edges). Có th coi E là tp các cp (u, v)
vi u và v là hai đỉnh ca V.
Mt s hình nh ca đồ th:




Sơ đồ giao thông Mng máy tính
Hình 1: Ví d v mô hình đồ th
Có th phân loi đồ th theo đặc tính và s lượng ca tp các cnh E:
Cho đồ th G = (V, E). Định nghĩa mt cách hình thc
1. G được gi là đơn đồ th nếu gia hai đỉnh u, v ca V có nhiu nht là 1 cnh trong E ni t u
ti v.
2. G được gi là đa đồ th nếu gia hai đỉnh u, v ca V có th có nhiu hơn 1 cnh trong E ni t u
ti v (Hin nhiên đơn đồ th cũng là đa đồ th).
3. G được gi là đồ th vô hướng nếu các cnh trong E là không định hướng, tc là cnh ni hai
đỉnh u, v bt k cũng là cnh ni hai đỉnh v, u. Hay nói cách khác, tp E gm các cp (u, v)
không tính th t. (u, v)(v, u)
4. G được gi là đồ th có hướng nếu các cnh trong E là có định hướng, có th có cnh ni t
đỉnh u ti đỉnh v nhưng chưa chc đã có cnh ni t đỉnh v ti đỉnh u. Hay nói cách khác, tp E
gm các cp (u, v) có tính th t: (u, v) (v, u). Trong đồ th có hướng, các cnh được gi là
các cung. Đồ th vô hướng cũng có th coi là đồ th có hướng nếu như ta coi cnh ni hai đỉnh
u, v bt k tương đương vi hai cung (u, v) và (v, u).
Ví d:
Vô hướng Có hướng Vô hướng Có hướng
Đơn đồ thịĐa đồ th
Hình 2: Phân loi đồ th