MỘT SỐ THUẬT TOÁN TÌM CÂY BAO TRÙM NGẮN NHẤT .... Phạm vi nghiên cứu Luận văn tập trung nghiên cứu các kiến thức có liên quan, các cơ sở lýthuyết như: Lý thuyết về đồ thị và cây, cây bao
Trang 1i ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐẶNG XUÂN MẠNH
CÂY BAO TRÙM NGẮN NHẤT: LÝ THUYẾT, THUẬT TOÁN VÀ ỨNG DỤNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên – 2015
Trang 2ii
Trang 3MỤC LỤC
trang
MỤC LỤC i
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT iv
DANH MỤC BẢNG v
DANH MỤC HÌNH vi
MỞ ĐẦU 1
CHƯƠNG I GIỚI THIỆU CÂY BAO TRÙM NGẮN NHẤT 4
1.1 GIỚI THIỆU 4
1.1.1 Khái niệm về cây 4
1.1.2 Cây Có Gốc 6
1.1.3 Cây m - phân 8
1.1.4 Duyệt cây nhị phân 10
1.1.5 Cây tìm kiếm nhị phân 13
1.1.6 Cây bao trùm 14
1.1.7 Cây bao trùm ngắn nhất 15
1.1.8 Cây bao trùm trên đồ thị có trọng số 18
1.2 MỘT SỐ BÀI TOÁN DẪN ĐẾN CÂY BAO TRÙM .
22 1.2.1 Cây và bài toán liệt kê 22
1.2.2 Vạch đường trong mạng di động 24
1.3 TỔNG KẾT CHƯƠNG 28
CHƯƠNG II MỘT SỐ THUẬT TOÁN TÌM CÂY BAO TRÙM NGẮN NHẤT
29 2.1 THUẬT TOÁN BORŮVKA 30
2.1.1 Mô tả thuật toán Borůvka song song .32
2.1.2 Thuật toán song song cho bước 2 33
2.1.3 Thuật toán con trỏ nhảy mới 34
2.2 THUẬT TOÁN KRUSKAL 36
2.2.1 Mô tả thuật toán 36
2.2.2 Chứng minh tính đúng đắn 40
2.2.3 Thực hiện thuật toán 41
2.3 THUẬT TOÁN PRIM 42
2.3.1 Mô tả thuật toán .43
2.3.2 Độ phức tạp thuật toán 48
2.3.3 Chứng minh tính đúng đắn 48
2.3.4 Thực hiện thuật toán 49
Trang 42.4 TỔNG KẾT CHƯƠNG II 50
CHƯƠNG III ỨNG DỤNG THUẬT TOÁN CÂY BAO TRÙM NGẮN NHẤT VÀO BÀI TOÁN THIẾT KẾ ĐƯỜNG CÁP TRUYỀN HÌNH 51
3.1 TỔNG QUAN MẠNG TRUYỂN HÌNH CÁP 51
3.1.1 Hệ thống trung tâm 52
3.1.2 Mạng phân phối tín hiệu truyền hình cáp 52
3.1.3 Thiết bị tại nhà thuê bao 52
3.1.4 Cấu hình mạng truyền hình cáp 53
3.2 MÔ TẢ THUẬT TOÁN CÂY BAO TRÙM NGẮN NHẤT CHO BÀI TOÁN THIẾT KẾ CÁP TRUYỀN HÌNH
57 3.2.1 Phát biểu bài toán 57
3.2.2 Mô tả dạng toán học của bài toán 58
3.2.3 Thực hiện bài toán 59
3.3 THIẾT KẾ CHƯƠNG TRÌNH VÀ KẾT QUẢ THỬ NGHIỆM 60
3.3.1 Thiết kế chương trình 60
3.3.2 Kết quả thử nghiệm 61
3.4 TỔNG KẾT CHƯƠNG III 65
KẾT LUẬN VÀ KIẾN NGHỊ 66
Trang 5DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮTTiếng Anh
MMDS
Multichannel MultipointDistribution Service
Dịch vụ phân phối đa điểm đa
kênh
Trang 65
Trang 7DANH MỤC BẢNG
Trang
Bảng 1 Minh họa thuật toán Borůvka 32
Bảng 2 Đồ thị có cấu trúc 35
Bảng 3 Thuật toán Kruskal 39
Bảng 4 Kết quả chạy ví dụ 1 40
Bảng 5 Minh hoạ thuật toán Prim 46
Bảng 6 Kết quả chạy ví dụ 47
Bảng 7 Liệt kê thời gian chạy thuật toán 48
Bảng 8 Khoảng cách giữa các trạm FTTH 62
Trang 9DANH MỤC HÌNH
Trang
Hình 1 1 Sơ đồ hình câ y 4
Hình 1 2 Cây có gốc x0 7
Hình 1 3 Cây có gốc 7
Hình 1 4 D u y ệt c â y n h ị ph â n 11
Hình 1 5 D u y ệt c â y n h ị phân th e o tr u ng thứ t ự 12
Hình 1 6 Cây bao trùm nhỏ nhất trên đồ thị phẳng 16
Hình 1 7 C â y bao tr ù m n h ỏ nhất t r ong m ột đồ th ị 16
Hình 1 8 C â y bao tr ù m n h ỏ nhất c ó trọng s ố n hỏ nhất 18
Hình 1 9 Cây liệt kê hoán vị của {1, 2, 3} 23
Hình 1 10 Liệt kê các xâu 24
Hình 1 11 Liệt kê các t ập co n 24
Hình 1 12 Mô hình mạng có hệ thống không dây 25
Hình 1 13 Vạch đường đi trong mạng di động 27
Hình 2 1 Thuật toán siêu đỉnh thực hiện theo danh sách 34
Hình 2 2 cây khung nhỏ nhất của đồ thị 39
Hình 2 3 Kết thúc thuật toán được cây khung nhỏ nhất 40
Hình 2 4 Cây khung có trọng số 47
Hình 3 1 Sơ đồ khối hệ thống truyền hình cáp 51
Hình 3 2 Các cấu hình mạng HFC 53
Hình 3 3 Mạng sao truyền dẫn 54
Hình 3 4 Mạng vòng truyền dẫn 54
Hình 3 5 Mạng con phân phối 54
Hình 3 6 Cấu hình FTF 55
Hình 3 7 Cấu hình FTTH 56
Hình 3 8 Cấu hình FTTC 56
Hình 3 9 Cấu hình FTLA 57
Hình 3 10 Tuyến huyện 58
Hình 3 11 Triển khai mạng cáp tuyến huyện .59
Hình 3 12 Giao diện chương trình 60
Hình 3 13 Nhập dữ liệu vào chương trình 62
Hình 3 14 Kết quả chạy chương trình với thuật toán Prim 63
Hình 3 15 Kết quả chạy chương trình thuật toán Kruskal 63
Hình 3 16 Bài toán nhiều đỉnh 64
Hình 3 17 Chương trình chạy thuật toán Kruskal 65
Hình 3 18 Chương trình chạy thuật toán Prim 65
Trang 101
Trang 111 Lý do chọn đề tài
MỞ ĐẦU
Lý thuyết đồ thị là một lĩnh vực đã được nghiên cứu từ những năm
1857, khi nhà toán học Anh tên là Arthur Cayley dùng cây để xác định nhữngdạng khác nhau của hợp chất hoá học Từ đó cây đã được dùng để giải nhiềubài toán trong nhiều lĩnh vực khác nhau Chẳng hạn, người ta dùng cây để xâydựng các thuật toán rất có hiệu quả để tìm kiếm các phần tử trong một danhsách Cây cũng được dùng để tạo ra các mã có hiệu quả để lưu trữ và truyền
dữ liệu Dùng cây có thể mô hình các thủ tục mà để thi hành nó cần dùngmột dãy các quyết định Cây cũng dùng để xây dựng các mạng máy tính vớichi phí rẻ nhất cho các đường điện thoại nối các máy phân tán do có thể tmđược cây bao trùm ngắn nhất giữa các nút mạng
Lý thuyết đồ thị không những có nhiều ứng dụng trong thực tế màcòn là công cụ đắc lực cho ngành công nghệ thông tin Nó giúp cho chúng
ta mô tả một cách dễ dàng các bài toán phức tạp cụ thể, để từ đó ta cóthể mã hoá các bài toán đó vào máy tính Ngoài ra lý thuyết đồ thị được sửdụng để giải quyết các bài toán trong nhiều lĩnh vực khác nhau
Cùng với sự phát triển chung của nhân loại thì trong lĩnh vực thông tincũng có những bước phát triển mạnh mẽ nhằm đáp ứng nhu cầu củacuộc sống ngày nay Các hệ thống thông tin truyền thống như thông tin vôtuyến, thông tn hữu tuyến ngày càng có những biến đổi cả về chất lẫnlượng Nhu cầu thực tế yêu cầu hệ thống truyền dẫn thông tn có dung lượnglớn, tốc độ truyền dẫn cao Đặt ra yêu cầu cho nhà cung cấp hệ thống thôngtin cũng nói chung và các nhà cung cấp truyền hình nói riêng về vấn đề nângcao chất lượng phục vụ, cũng như việc triển khai lắp đặt mới một hệ thốngtruyền hình cáp trong một khu vực nhỏ như cấp huyện hay trong một thànhphố lớn
Trang 12Việc tính toán khảo sát một địa điểm mới để triển khai mới tránh lãngphí tài nguyên cáp truyền dẫn, lãng phí nhân công và tài chính của đơn
vị cung cấp truyền hình cáp, cũng như lắp đặt các trạm truyền dẫn một cáchhiệu quả Đòi hỏi nhà cung cấp phải tính toán đường đi cáp xuyên suốt từtrung tâm truyền dẫn đến các điểm sử dụng thuê bao một cách ngắn nhất,tích kiệm nhất để chánh lãng phí và đảm bảo tín hiệu truyền dẫn được ổnđịnh
Nhận thấy sự khó khăn mất nhiều thời gian, công sức và tài chính đểkhảo sát địa điểm lựa chọn giải pháp lắp đặt hệ thống truyền hình cáp saocho tối ưu và tích kiệm nhất, đảm bảo tính khoa học vì vậy em đã lựa chọn
đề tài “Cây bao trùm ngắn nhất : Lý thuyết, thuật toán và ứng dụng” để
áp dụng vào thực tế khảo sát và triển khai mới hệ thống truyền hình cápmột cách tối ưu nhất có thể
2 Đối tượng nghiên cứu
Đối tượng nghiên cứu của luận văn là các vấn đề về Cây bao trùmngắn nhất, thuật toán và các ứng dụng thực tiễn của nó
3 Phạm vi nghiên cứu
Luận văn tập trung nghiên cứu các kiến thức có liên quan, các cơ sở lýthuyết như: Lý thuyết về đồ thị và cây, cây bao trùm ngắn nhất, thuật toán vàcác ứng dụng của cây bao trùm ngắn nhất
4 Nhiệm vụ nghiên cứu
- Tìm hiểu những kiến thức tổng quan về cây bao trùm ngắn nhất
- Tìm hiều ba thuật toán liên quan đến cây bao trùm ngắn nhất
Borůvka,
thuật toán Kruskal, thuật toán Prim
Trang 13- Thiết kế chương trình ứng dụng vào thực tế giải bài toán thiết hệ thống truyền hình cáp.
Trang 145 Những nội dung nghiên cứu chính
Bố cục của luận văn gồm phần mở đầu trình bày lý do chọn đề tài, đốitượng và nhiệm vụ nghiên cứu của đề tài Chương một, Tìm hiểu và trình bàynhững lý thuyết cơ bản về khái niệm cây bao trùm: lịch sử ra đời và pháttriển của của cây bao trùm, khái niệm cây, các định nghĩa, định lý, tính chất,
ví dụ về cây bao trùm và cây bao trùm có trọng số bé nhất Một số bài toándẫn đến cây bao trùm Chương hai, Tìm hiều, giới thiệu ba thuật toán liênquan đến cây bao trùm ngắn nhất Borůvka, thuật toán Kruskal, thuật toánPrim Chương
3, Tìm hiểu lịch sử truyền hình cáp, sự phát triển của truyền hình cáphiện nay Mổ ta bài toán cây bao trùm ngắn nhất cho bài toán thiết kế cáptruyền hình Thiết kế chương trình, và kết quả thử nghiệm
6 Phương pháp nghiên cứu
- Phương pháp đọc tài liệu
- Phương pháp quan sát
- Phương pháp phân tích – tổng hợp lý thuyết
- Phương pháp thực nghiệm
Trang 15CHƯƠNG I GIỚI THIỆU CÂY BAO TRÙM NGẮN NHẤT
1.1 GIỚI THIỆU
Một đồ thị liên thông và không có chu trình được gọi là cây Cây đượcdùng từ năm 1857, khi nhà toán học Anh tên là Arthur Cayley dùng cây đểxác định những dạng khác nhau của hợp chất hóa học Từ đó cây đãđược dùng để giải nhiều bài toán trong nhiều lĩnh vực khác nhau Trong tinhọc cây được dùng để tm kiếm các phần tử trong danh sách hoặc bài toánxây dựng các mạng máy tính với chi phí rẻ với các máy phân tán.[1]
1.1.1 Khái niệm về cây
Định nghĩa.
Cây là một đồ thị mà trong đó hai đỉnh bất kì đều được nối với nhaubằng đúng một đường đi [4]
a e a d
Trang 16b a d b
c
c f g
b e Hình 1 1 Sơ đồ hình cây Định lý 1 Nếu T là một cây có n đỉnh thì T có ít nhất hai đỉnh treo
Chứng minh:
Lấy một cạnh (a,b) bất kỳ của cây T Trong tập hợp các đường đi chứacạnh (a,b), ta lấy đường đi từ u đến v dài nhất Vì T là một cây nếu u ≠ v u và vphải là hai đỉnh treo vì nếu một đỉnh, u chẳng hạn, không phải là đỉnh treo thì
u phải là đầu mút của một cạnh (u,x), với x là đỉnh không thuộc đường đi
từ u đến v Do đó, đường đi sơ cấp từ x đến v, chứa cạnh (a,b), dài hơnđường đi từ
Trang 17u đến v, trái với tính chất đường đi từ u đến v đã
3) T không chứa chu trình và có n-1 cạnh.
4) T liên thông và mỗi cạnh là cầu.
5) Giữa hai đỉnh phân biệt của T luôn có duy nhất một
đường đi sơ cấp
Trang 18Chứng minh.
6) T không chứa chu trình nhưng khi bổ sung vào một
cạnh nối hai đỉnh không kề nhau thì xuất hiện một chu trình
Chứng minh 12 (theo quy nạp)
1
bao giờ cũng tìm được ít nhất một đỉnh treo vì trái lại sẽ tồn tại chu trình trong
n 2 1 n 1 cạnh
n 2 cạnh (theo giả thiết quy nạp) Vậy cây T có
Chứng minh 23 (theo phản chứng)
Giả sử T không liên thông khi đó T sẽ có k thành phần liên thông
(k 1) và giả sử rằng các thành phần liên thông đó
là
T1,T2 , ,T k Vì T không
Trang 19chưa chu trình nên các thành phần liên thông đó cũng không chứa chu trình.
Trang 20Gọi n i và e i tương ứng số các đỉnh và các cạnh của thành phần liên thông T i .
Dễ nhận thấy T không chứa chu trình vì nếu chứa chu trình thì sẽ tồn
(đpcm)
Chứng minh 61(theo phản chứng)
Giả sử T không liên thông khi đó tồn tại ít nhất hai thành phần liên
Định nghĩa Cây có hướng là đồ thị có hướng mà đồ thị vô hướng
tương ứng của nó là một cây.[1]
Trang 21Cây có gốc là cây có hướng, trong đó có một đỉnh đặc biệt, gọi là gốc,
từ gốc có đường đi đến mọi đỉnh khác của cây
Trang 22từ trên xuống (hình 1.2) Gốc của cây
Mức lớn nhất của một đỉnh có trong cây gọi là chiều cao của cây
Cây có gốc ở hình 2 thường được vẽ như trong hình 1.3 để làm rõ mức của các đỉnh
x 14 x 15 x 16 x 17
Hình 1 3 Cây có gốc
Trang 23Trong cây có gốc, mọi cạnh đều có hướng từ trên xuống, vì vậy vẽ mũitên để chỉ hướng đi là không cần thiết Xét một đường đi xuất phát từ gốc củacây có gốc Ta có các khái niệm sau:
Đỉnh có mức k được gọi là cha của các đỉnh mức k+1, đỉnh ở mức k+1
gọi là con của đỉnh ở mức k
Các đỉnh có cùng cha được gọi là anh em
Các đỉnh có mức nhỏ hơn k gọi là tổ tên của đỉnh ở mức k
Đỉnh ở mức lớn nhất của đường đi đó gọi là lá Lá là đỉnh treo và không
có con
Mọi đỉnh không phải là lá được gọi là đỉnh trong
Cây có gốc mà mức của mọi lá sai khác nhau không quá 1 đơn vị gọi làcây cân đối (hay cây cân bằng) Nói cách khác cây cân đối là cây mà mọi láđều có mức h hoặc h – 1 trong đó h là chiều cao của cây
Với một cây tùy ý, nếu chọn một đỉnh nào đó làm gốc được cây có gốctương ứng Do chọn gốc bất kỳ nên với cây có n đỉnh sẽ có n cây có gốc tươngứng khác nhau Có thể chứng minh được rằng, nếu chọn tâm của cây là gốcthì được cây có gốc có độ cao nhỏ nhất
1.1.3 Cây m – phân
Định nghĩa Một cây có gốc T được gọi là cây m-phân nếu mỗi đỉnh
trong của T có nhiều nhất là m con
Cây có gốc T được gọi là một cây m-phân đầy đủ nếu mỗi đỉnh trongcủa T đều có m con
Trang 24Định lý 3 Một cây m-phân đầy đủ có k đỉnh
trong thì có
m.k 1
đỉnh
Trang 25Chứng minh Mọi đỉnh trong của cây m-phân đầy đủ đều có bậc ra là
m, còn lá có bậc ra là 0 Vậy tổng số bậc ra của cây là m.k, từ đó số cạnh của
Trang 262 Một cây m-phân có s lá thì có chiều cao h [log ms]
3 Một cây m-phân đầy đủ và cân đối có s lá thì có chiều cao
Ví dụ: Xét trò chơi gửi thư dây truyền Ban đầu có một người nhận
được một lá thư và giả sử rằng mỗi người khi nhận được một thư hoặc sẽ sao
Trang 27gửi thư đó cho 4 người khác hoặc là không chuyển cho ai cả Hỏi có bao nhiêungười nhận được thư kể cả người đầu tên nếu không có ai nhận được nhiềuhơn một bức thư và trò chơi kết thúc khi có 100 người nhận được thư
mà không viết cho ai cả
Giải: Biểu diễn trò chơi bằng một cây tứ phân đầy đủ, các đỉnh trong lànhững người nhận được thư và sao gửi cho người khác còn lá là những ngườinhận được thư mà không gửi cho ai cả Vì có 100 người không viết thư cho ainên số lá của cây là s = 100, theo định lý 3 ta có 100 = (4 – 1)k + 1 thuộc sốđỉnh trong của cây là: k = 33 thuộc số đỉnh của của cây là: n = 100 + 33 = 133.Vậy có 133 người nhận được thư
1.1.4 Duyệt cây nhị phân
a) Định nghĩa [3]
Trong nhiều trường hợp, ta cần phải duyệt một cách có hệ thống mọiđỉnh của một cây nhị phân, mỗi đỉnh chỉ một lần Ta gọi đó là việc duyệt câynhị phân hay đọc cây nhị phân
Có nhiều thuật toán duyệt cây nhị phân, các thuật toán đó khác nhauchủ yếu ở thứ tự thăm các đỉnh
phải
x thì
Trang 28Hình 1 4 Duyệt cây nhị phân
b) Thuật toán duyệt cây nhị phân
1) Thuật toán tiền thứ tự: (preorder)
1 Thăm gốc r
2 Duyệt cây con bên trái của T( r ) theo tền thứ tự
3 Duyệt cây con bên phải của T( r ) theo tền thứ tự
duyệt
a, b, d, g, l, h, e, i, m, n, c, f, j, o, p, k, q, s.
2) Thuật toán trung thứ tự: (inorder)
1 Duyệt cây con bên trái của T(r) theo trung thứ tự.
2 Thăm gốc r.
3 Duyệt cây con bên phải của T( r ) theo trung thứ tự
g, l, d, h, b, m, i, n, e, a, c, o, j, p, f, q, k, s
3) Thuật toán hậu thứ tự: (postorder)
Trang 291 Duyệt cây con bên trái của T(r) theo hậu thứ tự.
2 Duyệt cây con bên phải của T(r) theo hậu thứ tự.
3 Thăm gốc r.
diện cho số
* + -
a b c /
d 2
Hình 1 5 Duyệt cây nhị phân theo trung thứ tự
Duyệt cây nhị phân trong hình trên theo trung thứ tự là:
a + b * c d / 2 (2)
và đây là biểu thức (1) đã bỏ đi các dấu ngoặc
Đối với cây trong hình thứ nhất, nếu duyệt theo tền thứ tự, ta có
* + a b c / d 2 (3)
Trang 30và nếu duyệt theo hậu thứ tự, ta có:
a b + c d 2 / * (4)
Vì vậy, nếu ta viết các biểu thức trong đại số, trong lôgic bằng cáchduyệt cây tương ứng theo tiền thứ tự hoặc hậu thứ tự thì ta không cần dùngcác dấu ngoặc mà không sợ hiểu nhầm
Người ta gọi cách viết biểu thức theo tiền thứ tự (tền tố) là ký pháp BaLan, còn cách viết theo hậu thứ tự (hậu tố) là ký pháp Ba Lan đảo, để ghi nhớđóng góp của nhà toán học và lôgic học Ba Lan Lukasiewicz (1878-1956)trong vấn đề này
Việc chuyển một biểu thức viết theo ký pháp quen thuộc (có dấungoặc) sang dạng ký pháp Ba Lan hay ký pháp Ba Lan đảo hoặc ngược lại,
có thể thực hiện bằng cách vẽ cây nhị phân tương ứng sau đó áp dụngthuật toán duyệt cây theo thứ tự trước; thứ tự sau như đã làm đối với biểuthức (1)
Như vậy việc tính giá trị của một biểu thức trong tn học thực hiện haithao tác cơ bản
(1) Chuyển đổi biểu thức dạng trung tố sang hậu tố
(2) Tính giá trị biểu thức hậu tố
1.1.5 Cây tìm kiếm nhị phân
Cây tìm kiếm nhị phân (BST) là một cấu trúc rất thuận lợi cho bài toántìm kiếm
Trang 31Định nghĩa Cây tìm kiếm ứng với n khóa k1, k2
, k n là cây nhị phân
mà mỗi nút đều được gán một khóa sao cho với mỗi mỗi nút k:
Cây tìm kiếm nhị phân là một cấu trúc dữ liệu cơ bản được sử dụng để
Trang 32xây dựng các cấu trúc dữ liệu trừu tượng hơn như các tập hợp, đa tập hợp, cácdãy kết hợp.
Nếu một BST có chứa các giá trị giống nhau thì nó biểu diễn một đa tậphợp Cây loại này sử dụng các bất đẳng thức không nghiêm ngặt Mọinút trong cây con trái có khóa nhỏ hơn khóa của nút cha, mọi nút trêncây con phải có nút lớn hơn hoặc bằng khóa của nút cha
Nếu một BST không chứa các giá trị giống nhau thì nó biểu diễn mộttập hợp đơn trị như trong lí thuyết tập hợp Cây loại này sử dụng các bấtđẳng thức nghiêm ngặt Mọi nút trong cây con trái có khóa nhỏ hơn khóa củanút cha, mọi nút trên cây con phải có nút lớn hơn khóa của nút cha
Việc chọn đưa các giá trị bằng nhau vào cây con phải (hay trái) là tùytheo mỗi người Một số người cũng đưa các giá trị bằng nhau vào cả hai phía,nhưng khi đó việc tìm kiếm trở nên phức tạp hơn
Trang 33G lại không liên thông Khi đó x , y
X
không nối với nhau Đồ thị H =
(X,F) nhận được từ G bằng cách bỏ đi một số cạnh, nên trong đồ thị H cácđỉnh x, y cũng không nối với nhau, suy ra đồ thị H không liên thông Xẩy ramâu thuẫn với tính chất của cây Do đó đồ thị G liên thông
Điều kiện đủ.
Trang 34Nếu đồ thị G liên thông ta tìm tất cả các cạnh, mà khi loại các cạnh nàykhỏi G không làm mất tính liên thông của đồ thị.
Nếu trong G không có cạnh nào như vậy, thì G không có chu trình nên
và tất cả các cạnh khác khi xóa đều làm mất tính liên thông của đồ thị, nên
đồ thị bộ phận H = (X,F) là một cây bao trùm của đồ thị G Định lý đượcchứng
minh
Trang 35Chứng minh điều kiện đủ là thuật toán cây bao trùm của đồ thị của đồ
1.1.7 Cây bao trùm ngắn nhất
a) Định nghĩa Cho một đồ thị liên thông G vô hướng bao gồm n
đỉnh, mã số từ 1 đến n, và m cạnh nối hai đỉnh với nhau Mỗi cạnh cóchiều dài cho trước Tính liên thông của đồ thị cho biết với hai đỉnh cho trướctuỳ ý ta luôn tìm được các cạnh gối đầu nhau để đi từ đỉnh này đến đỉnhkia Hãy chỉ ra một phần P của đồ thị thoả các tính chất sau: [3][4][7]
(i) P chứa tất cả các đỉnh của G;
(ii) P chứa một số ít nhất các cạnh của G;
(iii) P là đồ thị liên thông;
(iv) Tổng chiều dài các cạnh của P là ngắn nhất.
Đồ thị P thoả ba tính chất (i), (ii) và (iii) được gọi là cây bao trùm của
đồ thị G Nếu P thoả thêm tính chất (iv) thì P được gọi là cây bao trùm ngắnnhất của G
Trang 375 3
9 1018
Hình 1 6 Cây bao trùm nhỏ nhất trên đồ thị phẳng b) Tính chất cây bao trùm[7]
Tính chất đa lời giải:
1
A B C
4 3
Hình 1 7 Cây bao trùm nhỏ nhất trong một đồ thị
Hình 1.7 thể hiện có thể có nhiều hơn một cây bao trùm nhỏ nhấttrong một đồ thị Hai cây ở phía dưới đồ thị là hai cây bao trùm nhỏ nhất cóthể có từ đồ thị đã cho
Trang 38Có thể có một vài cây bao trùm nhỏ nhất có cùng trọng số và có sốcạnh nhỏ nhất; cụ thể hơn, nếu tất cả các cạnh của một đồ thị đều có trọng
số bằng nhau, thì tất cả các cây bao trùm của đồ thị đó đều là nhỏ nhất
Tính duy nhất
Nếu mỗi cạnh có trọng số riêng biệt thì sẽ chỉ có một, và chỉ một cây
công ty truyền hình cáp ở trên chẳng hạn, khi đó rất hiếm khi hai con đườnglại có chính xác cùng một chi phí Phát biểu này cũng được tổng quát hóa chorừng bao trùm
Đồ thị có chi phí nhỏ nhất
Nếu trọng số là số dương, thì một cây bao trùm nhỏ nhất cũng chính là
đ ồ t h ị c o n có chi phí nhỏ nhất kết nối tất cả đỉnh, vì các đồ thị con có
Tính chất vòng
Với một chu trình C bất kỳ trong đồ thị, nếu trọng số của cạnh e nào đócủa C lớn hơn trọng số của các cạnh còn lại của C, thì cạnh đó không thểthuộc về cây bao trùm nhỏ nhất Gi ả s ử đ iều ng ược l ại , nếu e thuộc về cây bao
Trang 39trùm nhỏ
nhất
Tính chất cắt
T là cây bao trùm nhỏ nhất của đồ thị Nếu S = {A,B,D,E}, thì V-S ={C,F}, sẽ có thể có 4 cạnh nối nhát cắt (S, V-S), đó là BC, EC, EF Khi đó, e
Trang 40là một trong các cạnh có trọng số nhỏ nhất của nhát cắt, vì vậy S {e} thuộc
về cây nhỏ nhất T
nhỏ hơn trọng số của các cạnh còn lại của C, thì cạnh này thuộc về tất cả cáccây bao trùm nhỏ nhất của đồ thị Thực vậy, gi ả s ử đi ề u ng ư ợ c l ạ i , cạnh BC(có trọng số là 6) thuộc về cây bao trùm nhỏ nhất T thay vì cạnh e (trọng số 4)trong hình bên trái Khi đó thêm e vào T sẽ tạo thành một chu trình, cònthay
BC bằng e sẽ tạo ra một cây bao trùm nhỏ nhất có trọng số nhỏ hơn
1 6 1
A B C A B C
4
3 5 1 2 1 5