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

Bài toán cây bao trùm trên đồ thị và ứng dụng

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

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM

---------------------------

TRƢƠNG BÁ THÁI

BÀI TOÁN CÂY BAO TRÙM
TRÊN ĐỒ THỊ VÀ ỨNG DỤNG

LUẬN VĂN THẠC SĨ
Chuyên ngành : Công nghệ Thông tin
Mã số ngành: 60480201

TP. HỒ CHÍ MINH, tháng 3 năm 2015


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM

---------------------------

TRƢƠNG BÁ THÁI

BÀI TOÁN CÂY BAO TRÙM
TRÊN ĐỒ THỊ VÀ ỨNG DỤNG
LUẬN VĂN THẠC SĨ
Chuyên ngành : Công nghệ Thông tin
Mã số ngành: 60480201
CÁN BỘ HƢỚNG DẪN KHOA HỌC: TS. VÕ VĂN TUẤN DŨNG


TP. HỒ CHÍ MINH, tháng 3 năm 2015


CÔNG TRÌNH ĐƢỢC HOÀN THÀNH TẠI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM

Cán bộ hƣớng dẫn khoa học : TS. Võ Văn Tuấn Dũng

Luận văn Thạc sĩ đƣợc bảo vệ tại Trƣờng Đại học Công nghệ TP. HCM
ngày … tháng … năm …
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)
TT

Họ và tên

Chức danh Hội đồng

1

PGS.TS. Lê Trọng Vĩnh

Chủ tịch

2

TS. Lƣ Nhật Vinh

Phản biện 1


3

PGS.TS. Lê Hoàng Thái

Phản biện 2

4

TS. Võ Đình Bảy

Ủy viên

5

TS. Lê Tuấn Anh

Ủy viên, Thƣ ký

Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã đƣợc
sửa chữa (nếu có).
Chủ tịch Hội đồng đánh giá LV


TRƢỜNG ĐH CÔNG NGHỆ TP. HCM

CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM

PHÒNG QLKH – ĐTSĐH

Độc lập – Tự do – Hạnh phúc

TP. HCM, ngày..… tháng….. năm 2015

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Trƣơng Bá Thái

Giới tính: Nam

Ngày, tháng, năm sinh: 15/01/1980

Nơi sinh: Thanh Hóa

Chuyên ngành: Công nghệ thông tin

MSHV:

1341860018

I- Tên đề tài: Bài Toán Cây Bao Trùm Trên Đồ Thị và Ứng Dụng
II- Nhiệm vụ và nội dung:
Tìm hiểu các thuật toán về tìm cây bao trùm trên đồ thị: thuật toán Borůvka,
thuật toán Prim và thuật toán Kruskal. Nghiên cứu và xây dựng ứng dụng bài toán
ngƣời du lịch dựa vào cây bao trùm nhỏ nhất.
III- Ngày giao nhiệm vụ: 18/8/2014
IV- Ngày hoàn thành nhiệm vụ: 15/3/2015
V- Cán bộ hƣớng dẫn: TS. Võ Văn Tuấn Dũng

CÁN BỘ HƢỚNG DẪN
(Họ tên và chữ ký)

KHOA QUẢN LÝ CHUYÊN NGÀNH

(Họ tên và chữ ký)


i

LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết
quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ
công trình nào khác.
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này
đã đƣợc cảm ơn và các thông tin trích dẫn trong luận văn đã đƣợc chỉ rõ nguồn gốc.
Học viên thực hiện Luận văn

Trƣơng Bá Thái


ii

LỜI CÁM ƠN

Tác giả luận văn xin chân thành cám ơn sự hƣớng dẫn tận tình của T.S Võ
Văn Tuấn Dũng, đã truyền đạt những kinh nghiệm quý báu trong học tập, nghiên
cứu khoa học và trong cuộc sống. Tác giả xin trân trọng bày tỏ lòng kính trọng, lòng
biết ơn sâu sắc đến Thầy.
Tác giả luận văn xin chân thành cảm ơn phòng sau đại học cùng toàn thể
giáo sƣ, tiến sĩ, cán bộ trƣờng Đại học Công nghệ TP.HCM đã tận tình giảng dạy,
giúp đỡ và tạo mọi điều kiện thuận lợi trong quá trình học tập tại trƣờng.
Học viên thực hiện Luận văn

Trƣơng Bá Thái



iii

TÓM TẮT
Bài toán cây bao trùm nhỏ nhất là bài toán có vai trò trung tâm trong lý thuyết
tối ƣu tổ hợp, nẩy sinh trong nhiều ứng dụng và xuất hiện nhƣ một bài toán con
trong nhiều bài toán về hình học và tổ hợp. Bài toán này quan trọng không chỉ vì nó
là mô hình cơ bản trong lý thuyết tối ƣu về mạng mà còn vì nó đƣợc dùng nhƣ một
hình mẫu điển hình trong tối ƣu tổ hợp đã kích thích nhiều hƣớng nghiên cứu mới.
Bài toán cây bao trùm nhỏ nhất có thể đƣợc xây dựng hiệu quả nhờ sử dụng
các thuật toán dựa trên chiến thuật “tham lam”. Có nhiều thuật toán tìm cây bao
trùm nhỏ nhất. Một trong những thuật toán đầu tiên thuộc về Borůvka (1926). Hai
thuật toán khá quen thuộc là thuật toán Kruskal (1956) và thuật toán Prim (1957).
Bài toán ngƣời du lịch đƣợc nghiên cứu dựa vào xấp xỉ dùng cây bao trùm nhỏ nhất
đƣợc trình bày trong luận văn là bài toán NP khó.


iv

ABSTRACT
The problem of the minimum spanning tree problem is central role in
combinatorial optimization theory, arises in many applications, and appears as a
subproblem in many problems of geometry and combinatorics. This problem is
important not only because it is the basic model in the optimization of network
theory, but also because it is used as a typical model of optimal combinations
stimulate new research directions.
The problem of the minimum spanning tree can be constructed efficiently
using algorithms based on the strategy "greedy". There are many algorithms to find
the minimum spanning tree. One of the first algorithm belongs Borůvka (1926).

Two algorithms familiar la Kruskal algorithm (1956) and Prim algorithm (1957).
The problem of the study tour is based on the approximation using the minimum
spanning tree is presented in the thesis is NP problem.


v

MỤC LỤC
Chƣơng 1.

MỞ ĐẦU............................................................................... 11

1.1

Lý do chọn đề tài .......................................................................... 11

1.2

Mục đích, đối tƣợng và phạm vi nghiên cứu .............................. 12

1.3

Ý nghĩa khoa học và thực tiễn của đề tài ..................................... 12

1.4

Cấu trúc của luận văn ................................................................... 12

Chƣơng 2.
2.1


KHÁI NIỆM CƠ BẢN VỀ ĐỒ THỊ ..................................... 14

Một số khái niệm .......................................................................... 14

2.1.1

Khái niệm đồ thị..................................................................... 14

2.1.2

Các thuật ngữ cơ bản ............................................................. 16

2.1.3

Đƣờng đi, chu trình và đồ thị liên thông................................ 18

2.1.4

Một số dạng đồ thị đặc biệt .................................................... 22

2.2

Biểu diễn đồ thị và tìm kiếm trên đồ thị ..................................... 24

2.2.1

Biểu diễn đồ thị ...................................................................... 24

2.2.2


Các thuật toán tìm kiếm trên đồ thị........................................ 27

2.3

Đồ thị Euler và đồ thị Hamilton ................................................... 29

2.3.1

Đồ thị Euler ............................................................................ 29

2.3.2

Đồ thị Hamilton ..................................................................... 32

2.4

Cây và cây bao trùm của đồ thị .................................................... 33

Chƣơng 3.
3.1

BÀI TOÁN CÂY BAO TRÙM NHỎ NHẤT ....................... 37

Nội dung và ý nghĩa bài toán ....................................................... 37

3.1.1

Nội dung bài toán ................................................................... 37



vi

3.1.2
3.2

Một số ứng dụng của cây bao trùm nhỏ nhất......................... 38

Một số thuật giải ........................................................................... 39

3.2.1

Thuật toán Borůvka................................................................ 40

3.2.2

Thuật toán Kruskal ................................................................. 43

3.2.3

Thuật toán Prim...................................................................... 48

3.3

Bài Toán xấp xỉ nhờ cây bao trùm nhỏ nhất(MST-based

approximation) ............................................................................................ 54
3.3.1

Thuật toán Christofides .......................................................... 56


3.3.2

Phân tích thuật toán:............................................................... 57

Chƣơng 4.

ỨNG DỤNG THUẬT TOÁN CHRISTOFIDES VÀO BÀI

TOÁN NGƢỜI DU LỊCH .............................................................................. 64
4.1

Phân tích yêu cầu.......................................................................... 64

4.1.1

Sơ đồ Use Case ...................................................................... 65

4.1.2

Đặc tả chi tiết ......................................................................... 65

4.2

Đặc Tả Cấu Trúc Dữ Liệu ............................................................ 70

4.2.1

Lƣợt đồ quan hệ dữ liệu ......................................................... 71


4.2.2

Đặc tả cấu trúc bảng............................................................... 72

4.3

Cài đặt và đánh giá hiệu quả thuật toán Christofides ................... 72

4.3.1

Cài đặt thuật toán Christofides............................................... 72

4.3.2

Đánh giá hiệu quả thuật toán Christofides ............................. 74

4.4

Tính năng chính của chƣơng trình ............................................... 76

4.4.1

Màn hình chọn các địa điểm .................................................. 76


vii

4.4.2

Màn hình tính khoảng cách .................................................... 77


4.4.3

Màn hình giải pháp ................................................................ 77

4.4.4

Màn hình kết quả ................................................................... 78

4.4.5

Màn hình tìm đƣờng đi .......................................................... 78

4.4.6

Chức năng chính của ứng dụng ............................................. 80

Chƣơng 5.

KẾT LUẬN VÀ KIẾN NGHỊ VỀ NHỮNG NGHIÊN CỨU

TIẾP THEO

83

5.1

Kết quả đạt đƣợc .......................................................................... 83

5.2


Lời kết .......................................................................................... 84

TÀI LIỆU THAM KHẢO ...................................................................... 85


viii

9. Danh mục các từ viết tắt
Tên viết tắt

Ý nghĩa

MST

Minimum spanning tree

TSP

Travelling Salesman problem


ix

Danh mục các biểu đồ, đồ thị, sơ đồ, hình ảnh
Hình

Tên Hình

Trang


Hình 2.1.

Đồ thị: đỉnh và cạnh

5

Hình 2.2.

Đồ thị có hƣớng

5

Hình 2.3

Bậc của đồ thị vô hƣớng

6

Hình 2.4.

Bán bậc ra (bán bậc vảo) đồ thị có hƣớng

8

Hình 2.5.

Đƣờng đi trên đồ thị

9


Hình 2.6

Đồ thị liên thông G và không liên thông H

10

Hình 2.7.

Đồ thị liên thông mạnh G, đồ thị liên thông yếu H.

11

Hình 2.8.

Đồ thị đầy đủ

12

Hình 2.9.

Đồ thị hai phần

13

Hình 2.10.

Đồ thị vòng C3, C4, C5,C6

13


Hình 2.11.

Đồ thị bánh xe W3, W4, W5, W6

14

Hình 2.12

Đồ thị lập phƣơng Q1, Q2, Q3

14

Hình 2.13.

Biểu diễn ma trận kề

15

Hình 2.14.

Tìm kiếm theo chiều sâu

18

Hình 2.15.

Tìm kiếm theo chiều rộng

19


Hình 2.16

Đồ thị Euler

20

Hình 2.17.

Đồ thị Hamilton

22

Hình 2.18

Cây của đồ thị

24

Hình 2.19.

Đếm số cây bao trùm của đồ thị đầy đủ

26

Hình 3.1.

Đồ thị tìm cây bao trùm nhỏ nhất

36



x

Hình 3.2

Đồ thị áp dụng thuật toán Christofides

54

Hình 4.1

Sơ đồ User Case

59


Chƣơng 1. MỞ ĐẦU
1.1

Lý do chọn đề tài
Lý thuyết đồ thị là một lĩnh vực nghiên cứu đã có từ lâu đời và có nhiều ứng

dụng trong thực tiễn. Những tƣ tƣởng cơ bản của lý thuyết đồ thị đƣợc đề xuất từ
những năm đầu thế kỷ 18 bởi nhà toán học lỗi lạc ngƣời Thụy Sĩ Leonhard Euler.
Chính ông là ngƣời đã sử dụng đồ thị để giải bài toán nổi tiếng về các cái cầu ở
thành phố Konigsberg. Từ đó lý thuyết đổ thị ngày càng khẳng định đƣợc vị trí
quan trọng trong việc áp dụng để giải quyết các bài toán thực tế nhờ vào việc tìm ra
ngày càng nhiều các định lý, công thức và thuật toán.
Hiện nay có rất nhiều tài liệu, sách, giáo trình đã viết về lý thuyết đồ thị với

những nội dung, đầy đủ giúp cho những ngƣời muốn nghiên cứu về lý thuyết đồ thị
tham khảo. Tuy nhiên hầu hết các tài liệu đều chỉ nghiên cứu về lý thuyết và xây
dựng các thuật toán chung cho các bài toán mà chƣa có tài liệu viết về các ứng
dụng các thuật toán để giải các bài toán ứng dụng cụ thể.
Bài toán cây bao trùm nhỏ nhất là bài toán có vai trò trung tâm trong lý thuyết
tối ƣu tổ hợp, nẩy sinh trong nhiều ứng dụng và xuất hiện nhƣ một bài toán con
trong nhiều bài toán về hình học và tổ hợp. Bài toán này quan trọng không chỉ vì nó
là mô hình cơ bản trong lý thuyết tối ƣu về mạng mà còn vì nó đƣợc dùng nhƣ một
hình mẫu điển hình trong tối ƣu tổ hợp đã kích thích nhiều hƣớng nghiên cứu mới.
Với sự xuất hiện ngày càng nhiều các hệ thống nhƣ: hệ thống mạng điện,
mạng sản xuất và phân phối hàng hóa, mạng giao thông, ... nếu độ dài của của cạnh
biểu thị chi phí (đi lại, vận chuyển hàng hóa, bƣu phẩm, chi phí, ...) giữa hai đầu
mút của cạnh đó, thì chi phí trên cây bao trùm đƣợc xác định bằng tổng chi phí của
mọi cạnh thuộc đƣờng duy nhất trên cây nối chúng. Vì vậy, tôi đã chọn đề tài “BÀI
TOÁN CÂY BAO TRÙM TRÊN ĐỒ THỊ VÀ ỨNG DỤNG” để nghiên cứu.


1.2 Mục đích, đối tƣợng và phạm vi nghiên cứu
Từ động cơ nghiên cứu nêu trên luận án tìm hiểu các định nghĩa và khái niệm
cơ bản thƣờng dùng trong lý thuyết đồ thị. Tìm hiểu các thuật toán về tìm cây bao
trùm trên đồ thị: thuật toán Borůvka, thuật toán Prim và thuật toán Kruskal. Nghiên
cứu bài toán ngƣời du lịch dựa vào cây bao trùm nhỏ nhất. Đây là vấn đề trọng tâm
và là mục tiêu nghiên cứu của luận án.

1.3 Ý nghĩa khoa học và thực tiễn của đề tài
Luận văn này tập trung chủ yếu vào bài toán cây bao trùm nhỏ nhất và một số
mở rộng của nó. Bài toán này khá đơn giản, có nhiều thuật toán giải hiệu quả và có
nhiều ứng dụng phong phú, đồng thời gợi mở nhiều vấn đề lý thú. Ngoài ra, luận
văn giới thiệu khái quát những khái niệm cơ bản của lý thuyết đồ thị.


1.4 Cấu trúc của luận văn
Luận văn bao gồm 5 chƣơng:
Chƣơng 1: Mở đầu, trình bày lý do chọn đề tài, mục tiêu, phạm vi và những
đóng góp chính của luận văn; giới thiệu cấu trúc của luận văn.
Chƣơng 2: Khái niệm cơ bản về lý thuyết đồ thị, trình bày những định
nghĩa và khái niệm cơ bản thƣờng dùng trong lý thuyết đồ thị, đặc biệt là các khái
niệm về cây bao trùm của một đồ thị và một số tính chất cơ bản của chúng.
Chƣơng 3: Bài toán cây bao trùm nhỏ nhất, Chƣơng này đề cập tới bài toán
cây bao trùm nhỏ nhất, giới thiệu một số ứng dụng trực tiếp của nó, trình bày ba
thuật toán nổi tiếng giải bài toán và cuối cùng đề cập tới một số bài toán có liên
quan đến cây
Chƣơng 4: Ứng dụng thuật toán Christofides vào bài toán ngƣời du lịch,
Trong chƣơng này tôi xây dựng website có chức năng chọn các địa điểm cần đến,
tính khoảng giữa các địa điểm, đƣa ra giải pháp tìm chu trình đi qua các địa điểm.


Chƣơng 5: Kết luận và kiến nghị, là phần tổng kết, trong đó trình bày tóm
lƣợc kết quả luận văn và những đề nghị liên quan đến luận văn.
Danh mục tài liệu tham khảo.
Phụ lục.


Chƣơng 2. KHÁI NIỆM CƠ BẢN VỀ ĐỒ THỊ
Chƣơng này trình bày những định nghĩa và khái niệm cơ bản thƣờng dùng
trong lý thuyết đồ thị, đặc biệt là các khái niệm về cây bao trùm của một đồ thị và
một số tính chất cơ bản của chúng. Nội dung trình bày ở chƣơng này chủ yếu dựa
vào các tài liệu [1], [2], [3] và [5].
Lý thuyết đồ thị là ngành toán học hiện đại có ứng dụng quan trọng trong
nhiều ngành khoa học, kỹ thuật hiện đại: vật lý, hóa học, sinh học, tin học, điều
khiển học, …, tƣ tƣởng cơ bản của lý thuyết đồ thị đƣợc đề xuất vào những năm

đầu của thế kỷ 18 bởi nhà toán học lỗi lạc ngƣời Thụy Sỹ Lenhard Eurler. Chính
ông là ngƣời sử dụng đồ thị để giải bài toán nổi tiếng về các cái cầu ở thành phố
Konigsberg.

2.1 Một số khái niệm
2.1.1 Khái niệm đồ thị
Có thể hiểu đồ thị là một tập hợp các điểm, gọi là nút hay đỉnh và một tập
hợp các đoạn (thẳng hay cong) nối liền một số cặp điểm này, gọi là cạnh hay cung
của đồ thị. Mỗi đỉnh của đồ thị thƣờng đƣợc ký hiệu bằng các chữ cái a,b,c…hoặc
các chữ số 1, 2, 3… Cạnh nối đỉnh i với j đƣợc ký hiệu là (i,j). Một cạnh có dạng
(a,a) gọi là một khuyên. Nếu đồ thị G có tập đỉnh là V và tập cạnh là E thì ta viết G
= (V,E). Ta cũng dùng ký hiệu V(G) để chỉ tập đỉnh và E(G) để chỉ tập cạnh của đồ
thị G. Ký hiệu n =| V(G)| là số đỉnh và m = |E(G)| là số cạnh của đồ thị.


2

6
4

1
5

3

7

Hình 2.1. Đồ thị: đỉnh và cạnh
Mỗi đồ thị có thể đƣợc biểu diễn bởi một hình vẽ trên mặt phẳng. Chẳng hạn
Hình 2.1 biểu diễn một đồ thị có 7 đỉnh đƣợc đánh số từ 1 đến 7 và 9 cạnh (mỗi

cạnh là một đoạn thẳng nối hai đỉnh). Chú ý rằng điểm cắt nhau của hai cạnh (1,4)
và (2,3) cũng nhƣ hai cạnh (4,7) và (5,6) trong hình vẽ không phải là đỉnh của đồ
thị.
Một cạnh của đồ thị gọi là cạnh có hƣớng nếu có quy định rõ một mút của
cạnh là đỉnh đầu, còn mút kia là đỉnh cuối. Cạnh có hƣớng gọi là cung, cung đi từ


đỉnh i đến đỉnh j, ký hiệu là ( ij ), hoặc đơn giản là {i,j} nếu không gây nhầm lẫn.

2

6
4

1
3

5

7

Hình 2.2. Đồ thị có hƣớng
Một đồ thị gồm toàn các cạnh gọi là đồ thị vô hƣớng, đồ thị gồm toàn các
cung gọi là đồ thị có hƣớng. Một đồ thị vừa có cạnh và vừa có cung gọi là đồ thị


hỗn hợp. Bằng cách thay một cạnh bởi hai cung có hƣớng ngƣợc chiều nhau, ta có
thể quy mọi đồ thị về đồ thị có hƣớng, hình 2.2 mô tả một đồ thị có hƣớng.
Hai cạnh e và e‟ cùng nối liền hai đỉnh nhƣ nhau gọi là cạnh kép. Đồ thị
không có cạnh kép gọi là một đơn đồ thị. Trái lại, gọi là đa đồ thị .

Trong các phần tiếp theo chủ yếu chúng ta sẽ làm việc với đơn đồ thì vô
hƣớng và đơn đồ thị có hƣớng. Vì vậy, để cho ngắn gọn, ta sẽ bỏ qua tính từ đơn
khi nhắc đến chúng.

2.1.2 Các thuật ngữ cơ bản
Trong mục này sẽ trình bày một số thuật ngữ cơ bản của lý thuyết đồ thị.
Trƣớc tiên ta xét các thuật ngữ mô tả các đỉnh và cạnh của đồ thị vô hƣớng.
Định nghĩa 2.1: Hai đỉnh u và v của đồ thị vô hướng G được gọi là kề nhau
nếu (u,v) là cạnh của đồ thị G. Nếu e = (u,v) là cạnh của đồ thị ta nói cạnh này liên
thuộc với hai đỉnh u và v, hoặc cũng nói là nối đỉnh u và đỉnh v, đồng thời các đỉnh
u và v sẽ được gọi là các đỉnh đầu của cạnh (u,v).
Để có thể biết có bao nhiêu cạnh liên thuộc một đỉnh, ta đƣa vào định nghĩa
sau :
Định nghĩa 2.2: Ta gọi bậc của đỉnh v trong đồ thị vô hướng là số cạnh liên
thuộc với nó và sẽ ký hiệu là deg(v).
b

c

a
f

e
Hình 1.Ñoà thò voâ höôùng

Hình 2.3 Bậc của đồ thị vô hƣớng
Trong đồ thị vẽ ở hình 2.3 ta thấy:

d


g


deg(a)= deg (d) = 1, deg(b)=deg(c)= 4, deg(f)= deg(e)= 3, deg (g) = 0.
Đỉnh bậc 0 gọi là đỉnh cô lập. Đỉnh bậc 1 đƣợc gọi là đỉnh treo. Trong đồ thị
trên đỉnh a, d là đỉnh treo còn đỉnh g là đỉnh cô lập.
Định lý 2.1: Giả sử G = (V,E) là đồ thị vô hướng với m cạnh. Khi đó tổng bậc
của tất cả các đỉnh bằng hai lần số cạnh.
Chứng minh: Rõ ràng mỗi cạnh e = (u,v) đƣợc tính một lần trong deg(u) và
một lần trong deg(v). Từ đó suy ra tổng tất cả các bậc của các đỉnh bằng hai lần số
cạnh.
Hệ quả 2.1: Trong đồ thị vô hƣớng, số đỉnh bậc lẻ ( nghĩa là có bậc là số lẻ) là
một số chẵn.
Chứng minh: Thực vậy, gọi O và U tƣơng ứng là tập đỉnh bậc lẻ và tập đỉnh
bậc chẵn của đồ thị. Ta có theo định lý 2.1: deg (O) +deg (U) = 2m, trong đó m là
số cạnh của đồ thị, do U là tập đỉnh bậc chẵn nên deg( U) sẽ là một số chẵn vì nó là
tổng các số chẵn.
Do đó deg (O) cũng sẽ là một số chẵn vì deg (U) và 2m là số chẵn.
Mà O là tập đỉnh bậc lẻ và deg (O) là số chẵn nên deg (O) sẽ là tổng của một
số chẵn các số hạng. Vì vậy, số đỉnh bậc lẻ phải là số chẵn.
Định nghĩa 2.3: Nếu e = (u,v) là cung của đồ thị có hướng G thì ta có hai
đỉnh u và v kề nhau, và nói cung (u, v) nối đỉnh u với đỉnh v hoặc cũng nói cung này
là đi ra khỏi đỉnh u và vào đỉnh v. Đỉnh u(v) sẽ được gọi là đỉnh đầu (cuối) của
cung (u, v).
Tƣơng tự nhƣ khái niệm bậc, đối với đồ thị có hƣớng ta có khái niệm bán bậc
ra và bán bậc vào của một đỉnh.
Định nghĩa 2.4: Ta gọi bán bậc ra (bán bậc vào) của đỉnh v trong đồ thị có
hướng là số cung của đồ thị ra khỏi nó (đi vào nó) và ký hiệu là deg+(v) (deg-(v))



a

b

e

c

d
Hình 2.Ñoà thò coù höôùng

Hình 2.4. Bán bậc ra (bán bậc vảo) đồ thị có hƣớng
Xét đồ thị cho trong hình 2.4. Ta có :
deg–(a) = 1, deg–(b) = 2, deg–(c) = 2, deg–(d) = 2, deg–(e) = 2.
deg+(a) = 3, deg+(b) = 1, deg+(c) = 1, deg+(d) = 2, deg+(e) = 2.
Tƣơng tự nhƣ khái niệm bậc của đồ thị vô hƣớng ta có định lý sau :
Định lý 2.2: Giả sử G = (V,E) là đồ thị có hƣớng với m cạnh. Khi đó tổng của
tất cả các bán bậc vào và bán bậc ra bằng hai lần số cạnh.

2.1.3 Đƣờng đi, chu trình và đồ thị liên thông.
Đƣờng P từ đỉnh u tới đỉnh v là một dãy liên tiếp các cạnh có dạng :
(a0, a1), (a1, a2), (a2, a3), …(ak-1, ak), với a0 = u, ak = v và k≥ 0, trong đó các
đỉnh a0, a1, …ak đều khác nhau. Để đơn giản, đôi khi ta viết P={ a0, a1, …ak} và nói
đó là đƣờng nối đỉnh u và đỉnh v. Đỉnh u gọi là đỉnh đầu, đỉnh v gọi là đỉnh cuối của
P. Với x,y ∈ V(P) (tập các đỉnh thuộc đƣờng P), ta ký hiệu P[x,y] là đồ thị con của
P mà nó là đƣờng trong P đi từ x tới y. Một đƣờng nối một đỉnh tới chính nó (đỉnh
đầu trùng với đỉnh cuối) gọi là một chu trình. Độ dài của đƣờng (chu trình) là số
cạnh của đƣờng (chu trình ) đó. Đƣờng đi hay chu trình đƣợc gọi là đơn nếu nhƣ
không có cạnh nào bị lặp lại.
Trên đồ thị vô hƣớng cho trong hình 2.5: a, d, c, f, e là đƣờng đi đơn độ dài 4.

Còn d, e, c, a không là đƣờng đi, do (c, e) không phải là cạnh của đồ thị. Dãy b, c,


f, e, b là chu trình độ dài 4. Đƣờng đi a, b, e, d, a, b có độ dài 5 không phải là đƣờng
đi đơn, do cạnh (a, b) có mặt trong nó 2 lần.

a

d

b

e

c

a

f

d

b

e

Hình 1.Ñöôøng ñi treân ñoà thò

Hình 2.5. Đƣờng đi trên đồ thị


Khái niệm đƣờng đi và chu trình trên đồ thị có hƣớng đƣợc định nghĩa hoàn
toàn tƣơng tự nhƣ trong trƣờng hợp đồ thị vô hƣớng, chỉ khác là ta có chú ý đến các
hƣớng của các cung.
Trong thực tế, xét một mạng máy tính. Một câu hỏi đặt ra là hai máy bất kỳ
trong mạng này có thể trao đổi thông tin với nhau hoặc là trực tiếp qua kênh nối
chúng hoặc thông qua một vài máy tính trung gian trong mạng? Nếu sử dụng đồ thị
để biểu diễn mạng máy tính này (trong đó các đỉnh của đồ thị tƣơng ứng với các
máy tính, còn các cạnh tƣơng ứng với các kênh nối) câu hỏi đó đƣợc phát biểu trong
ngôn ngữ đồ thị nhƣ sau: Tồn tại hay không đƣờng đi giữa mọi cặp đỉnh của đồ thị.
Ta đi đến định nghĩa sau :
Định nghĩa 2.5: Đồ thị vô hướng G=(V,E) được gọi là liên thông nếu luôn
tìm được đường đi giữa hai đỉnh bất kỳ của nó.
Nhƣ vậy hai máy tính bất kỳ trong mạng có thể trao đổi thông tin đƣợc với
nhau khi và chỉ khi đồ thị tƣơng ứng với mạng này là đồ thị liên thông.
Trong hình 2.6 : Đồ thị G là liên thông, còn đồ thị H là không liên thông

c

f


Hình 2.6. Đồ thị liên thông G và không liên thông H
Định nghĩa 2.6: Ta gọi đồ thị con của đồ thị G = (V, E) là đồ thị H = (W, F),
trong đó W⊆ V, F ⊆ E.
Trong trƣờng hợp đồ thị là không liên thông, nó sẽ rã ra thành một số đồ thị
con liên thông đôi một không có đỉnh chung. Những đồ thị con liên thông nhƣ vậy
ta sẽ gọi là các thành phần liên thông của đồ thị.
Đồ thị H trong hình 2.6 gồm 3 thành phần liên thông H1, H2, H3.
Trong mạng máy tính có thể có những máy (những kênh nối) mà sự hỏng hóc
của nó sẽ ảnh hƣởng đến việc trao đổi thông tin trong mạng. Các khái niệm tƣơng

ứng với tình huống này sẽ đƣợc đƣa ra trong định nghĩa sau:
Định nghĩa 2.7: Đỉnh v được gọi là đỉnh rẽ nhánh (đỉnh cắt, đỉnh khớp) nếu
việc loại bỏ v cùng với các cạnh liên thuộc với nó khỏi đồ thị làm tăng số thành
phần liên thông của đồ thị. Cạnh e được gọi là cạnh cắt (cầu ) nếu việc loại bỏ nó
khỏi đồ thị làm tăng số thành phần liên thông của đồ thị.
Trong đồ thị G ở hình 2.6, đỉnh d và e là đỉnh rẽ nhánh, còn các cạnh (d, f) và
(e, g) là cầu.
Đối với đồ thị có hƣớng có hai khái niệm liên thông phụ thuộc vào việc ta có
xét đến hƣớng trên các cung hay không.
Định nghĩa 2.8: Đồ thị có hướng G= (V, A) được gọi là liên thông mạnh nếu
luôn tìm được đường đi giữa hai đỉnh bất kỳ của nó.


Định nghĩa 2.9: Đồ thị có hướng G = (V, A) được gọi là liên thơng yếu nếu
đồ thị vơ hướng tương ứng với nó là vơ hướng liên thơng.
Rõ ràng, nếu đồ thị là liên thơng mạnh thì nó cũng là liên thơng yếu, nhƣng
điều ngƣợc lại là khơng ln đúng, nhƣ chỉ ra trong đồ thị dƣới đây.
Trong hình 2.7, đồ thị G là liên thơng mạnh, còn H là liên thơng yếu.
a

b

a

b

e
c

e


d

c

d

Hình 3. Đồ thò liên thông mạnh G và đồ thò liên thông yếu H

Đồ thị G

Đồ thị H

Hình 2.7. Đồ thị liên thơng mạnh G, đồ thị liên thơng yếu H.
Một câu hỏi đặt ra là khi nào có thể định hƣớng các cạnh của một đồ thị vơ
hƣớng liên thơng để có thể thu đƣợc đồ thị có hƣớng liên thơng mạnh? Ta sẽ gọi đồ
thị nhƣ vậy là đồ thị định hƣớng đƣợc.
Định lý 2.3: Đồ thị vơ hướng liên thơng là định hướng được khi và chỉ khi
mỗi cạnh của nó nằm trên ít nhất một chu trình.
Chứng minh:
Điều kiện cần: Giả sử (u, v) là một cạnh của đồ thị. Từ sự tồn tại đƣờng đi có
hƣớng từ u đến v và ngƣợc lại suy ra (u, v) phải nằm ít nhất trên một chu trình.
Điều kiện đủ: Thủ tục sau đây cho phép định hƣớng các cạnh của đồ thị để
thu đƣợc đồ thị có hƣớng liên thơng mạnh. Giả sử C là một chu trình nào đó trong
đồ thị. Định hƣớng các cạnh trên chu trình này theo một hƣớng đi vòng theo nó.
Nếu tất cả các cạnh của đồ thị là đã đƣợc định hƣớng thì kết thúc thủ tục. Ngƣợc lại,
chọn e là một cạnh chƣa định hƣớng có chung đỉnh với ít nhất một trong số các
cạnh đã định hƣớng. Theo giả thiết tìm đƣợc chu trình C‟ chứa cạnh e. Định hƣớng



×