1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

90 801 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 90
Dung lượng 1,73 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 đ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

Trang 3

CÔNG TRÌNH ĐƢỢC HOÀN THÀNH TẠI

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ĩ)

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

Trang 4

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 KHOA QUẢN LÝ CHUYÊN NGÀNH

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

Trang 5

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

Trang 6

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

Trang 7

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ó

Trang 8

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

Trang 9

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 KHÁI NIỆM CƠ BẢN VỀ ĐỒ THỊ 14

2.1 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 BÀI TOÁN CÂY BAO TRÙM NHỎ NHẤT 37

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

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

Trang 10

vi

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

3.2 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

Trang 11

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

Trang 12

viii

9 Danh mục các từ viết tắt

Trang 14

x

Trang 15

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

Trang 16

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

Trang 17

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

Trang 18

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

(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ị

Trang 19

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

Trang 20

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)

a

e f

Hình 1.Đồ thị vô hướng

g

Hình 2.3 Bậc của đồ thị vơ hướng

Trong đồ thị vẽ ở hình 2.3 ta thấy:

Trang 21

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))

Trang 22

a b c

de

Hình 2.Đồ thị có 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,

Trang 23

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

e d

c

fHình 1.Đường đi trên đồ thị

e d

c

fHì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 hồn

tồ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

Trang 24

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ó

Trang 25

Đị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 luơn đú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

Hình 3 Đồ thị liên thông mạnh G và đồ thị liên thông yếu 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

Trang 26

các cạnh chưa được định hướng của C‟ theo một hướng dọc theo chu trình này (không định hướng lại các cạnh đã có định hướng) Thủ tục trên sẽ được lặp lại cho đến khi tất cả các cạnh của đồ thị được định hướng Khi đó ta thu được đồ thị có hướng liên thông mạnh

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

a/ Đồ thị đầy đủ

Đồ thị đầy đủ là đơn đồ thị vô hướng mà giữa hai đỉnh bất kỳ của nó luôn có

một cạnh nối Đồ thị đầy đủ n đỉnh ký hiệu là Kn và có tất cả n(n-1) / 2 cạnh Các đồ

Trang 27

Hình 2.9 Đồ thị hai phần

Đồ thị hai phần gặp rất nhiều mô hình trong thực tế Chẳng hạn quan hệ hôn nhân giữa tập những người nam và những người nữ, việc sinh viên chọn trường, thầy giáo chọn tiết học vv…

c/ Đồ thị vòng

Đồ thị vòng Cn, n ≥ 3, gồm n đỉnh v1, v2, …, vn và các cạnh (v1, v2), (v2, v3),… (vn-1, vn), (vn, v1)

Trang 28

2.2.1 Biểu diễn đồ thị

a/ Ma trận kề

Nếu các đỉnh của đồ thị đƣợc đánh số liên tiếp từ 1 đến n thì đồ thị có thể

đƣợc biểu diễn bởi một ma trận vuông cấp n, gọi là ma trận kề Cho đồ thị G = (V,

E), ma trận kề của đồ thị G đƣợc định nghĩa là ma trận M= [mij ] với

1 nếu đỉnh i kề với đỉnh j,

mi j =

0 nếu trái lại

Trang 29

Cũng có thể dùng ma trận kề để biểu diễn đồ thị có hướng: mij =1 nếu có cung

đi từ i tới j Ma trận kề của đồ thị vô hướng là đối xứng, nhưng ma trận kề của đồ

thị có hướng nói chung không đối xứng

dùng cách biểu diễn đồ thị dưới dạng danh sách cạnh (cung)

Trong cách biểu diễn này mỗi cạnh (cung) e = (x, y) của đồ thị sẽ được lưu

giữ nhờ hai biến nguyên Dau (e), Cuoi (e) Nhược điểm của cách biểu diễn này là

khó xác định các đỉnh của đồ thị kề với một đỉnh cho trước

Trang 30

Danh sách cạnh (cung) của đồ thị vẽ ở hình 2.13 như sau :

c/ Danh sách kề

Trong nhiều ứng dụng của lý thuyết đồ thị, cách biểu diễn đồ thị dưới dạng danh sách kề là cách biểu diễn thích hợp và hay được dùng nhất Theo cách biểu diễn này, ứng với mỗi đỉnh u của đồ thị ta sẽ lưu giữ danh sách các đỉnh kề u : Ke(u) = { v∈ V(G) : ( u,v) ∈ E(G)}

Danh sách kề của đồ thị ở hình 2.13 là (0 chỉ hết danh sách)

Trang 31

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

Nhiều thuật toán trên đồ thị được xây dựng trên cơ sở duyệt (thăm, xét…) tất

cả các đỉnh của đồ thị theo thứ tự sao cho mỗi đỉnh được thăm đúng một lần (không trùng lặp và không bỏ sót) Những thuật toán như vậy sẽ được gọi là các thuật toán tìm kiếm (Search Algorithms) trên đồ thị Trong mục này chúng ta sẽ giới thiệu hai thuật toán tìm kiếm cơ bản trên đồ thị: Đó là thuật toán tìm kiếm theo chiều sâu (Depth First Search) và thuật toán tìm kiếm theo chiều rộng (Breadth First Search)

a/ Tìm kiếm theo chiều sâu (DFS = Depth First Search)

Ý tưởng chính của thuật toán có thể trình bày như sau Ta sẽ bắt đầu tìm kiếm

từ một đỉnh v0 nào đó của đồ thị Sau đó chọn u là một đỉnh tuỳ ý kề với v0 và lặp lại quá trình đối với u Ở bước tổng quát, giả sử ta đang xét đỉnh v Nếu như trong

số các đỉnh kề với v tìm được đỉnh w là chưa được xét thì ta sẽ xét đỉnh này (nó sẽ trở thành đã xét) và bắt đầu từ nó ta sẽ bắt đầu quá trình tìm kiếm còn nếu như không còn đỉnh nào kề với v là chưa xét thì ta nói rằng đỉnh này đã duyệt xong và quay trở lại tiếp tục tìm kiếm từ đỉnh mà trước đó ta đến được đỉnh v (nếu v=v0, thì kết thúc tìm kiếm) Có thể nói tìm kiếm theo chiều sâu bắt đầu từ đỉnh v được thực hiện trên cơ sở tìm kiếm theo chiều sâu từ tất cả các đỉnh chưa xét kề với v

Xét đồ thị cho trong hình 2.14 gồm 13 đỉnh, các đỉnh được đánh số từ 1 đến

13 như sau:

Trang 32

Thuật toán tìm kiếm theo chiều sâu trên đồ thị vô hướng trình bày ở trên dễ dàng có thể mô tả lại cho đồ thị có hướng Trong trường hợp đồ thị có hướng, thủ tục DFS(v) sẽ cho phép thăm tất cả các đỉnh u nào mà từ v có đường đi đến u

b/ Tìm kiếm theo chiều rộng ( BFS = Breadth first Search )

Để ý rằng trong thuật toán tìm kiếm theo chiều sâu đỉnh được thăm càng muộn

sẽ càng sớm trở thành đã duyệt xong Điều đó là hệ quả tất yếu của việc các đỉnh được thăm sẽ được kết nạp vào trong ngăn xếp (STACK) Tìm kiếm theo chiều rộng trên đồ thị, nếu nói một cách ngắn gọn, được xây dựng trên cơ sở thay thế ngăn xếp (STACK) bởi hàng đợi (QUEUE) Với sự cải biên như vậy, đỉnh được thăm càng sớm sẽ càng sớm trở thành đã duyệt xong (tức là càng sớm dời khỏi hàng

Trang 33

đợi) Một đỉnh sẽ trở thành đã duyệt xong ngay sau khi ta xét xong tất cả các đỉnh

kề (chƣa đƣợc thăm) với nó

Xét đồ thị xét trong hình 2.15, thứ tự thăm đỉnh của đồ thị theo thuật toán tìm

kiếm theo chiều rộng đƣợc ghi trong ngoặc

Rõ ràng mọi đồ thị Euler luôn là nửa Euler, nhƣng điều ngƣợc lại không luôn đúng

Trang 34

Đồ thị G1 Đồ thị G2

Hình 2.16 Đồ thị Euler

Trong hình 2.16 đồ thị G1 là đồ thị Euler vì nó có chu trình Euler a, e, c, d, e,

b, a Đồ thị G2 không có chu trình Euler nhưng có đường đi Euler a, c, d, e, b, d, a,

b vì thế G2 là đồ thị nửa Euler

Điều kiện cần và đủ để một đồ thị là một đồ thị Euler được Euler tìm ra vào năm 1736 khi ông giải quyết bài toán bài toán hóc búa nổi tiếng thế giới thời đó về bảy cái cầu ở thành phố Konigdberg và đây là định lý đầu tiên của lý thuyết đồ thị

Định lý 2.4 (Euler) Đồ thị vô hướng liên thông G là đồ thị Euler khi và chỉ khi mọi đỉnh của G đều là có bậc chẵn

Để chứng minh định lý trước hết ta chứng minh bổ đề

Bổ đề 2.1: Nếu bậc của mỗi đỉnh của đồ thị G không nhỏ hơn 2 thì G chứa

chu trình

Chứng minh: Nếu G có cạnh lặp thì khẳng định của bổ đề là hiển nhiên Vì

vậy giả sử G là đơn đồ thị Gọi v là một đỉnh nào đó của G Ta sẽ xây dựng theo qui nạp đường đi

Trang 35

Trong đó v1 là đỉnh kề với v, do tập đỉnh của G là hữu hạn nên sau một số hữu hạn bước ta phải quay lại đỉnh đã xuất hiện trước đó Gọi đỉnh đầu tiên như thế là

vk Khi đó đoạn của đường đi xây dựng nằm giữa hai đỉnh vk là chu trình cần tìm

Chứng minh định lý:

Điều kiện cần: Giả sử G là đồ thị Euler tức là tồn tại chu trình Euler P trong

G Khi đó cứ mỗi lần chu trình P đi qua một đỉnh nào đó của G bậc của đỉnh đó tăng lên 2 Mặt khác mỗi cạnh của đồ thị xuất hiện trong P đúng một lần, suy ra mỗi đỉnh của đồ thị đều là bậc chẵn

Điều kiện đủ: Quy nạp theo số đỉnh và số cạnh của G Do G liên thông và m(v) là số chẵn nên bậc của nó không nhỏ hơn 2 Từ đó theo bổ đề 2.1 G phải chứa

chu trình C Nếu C đi qua tất cả các cạnh của G thì nó chính là chu trình Euler Giả

sử C không đi qua tất cả các cạnh của G, khi đó loại bỏ G tất cả các cạnh thuộc C ta thu được một đồ thị mới H vẫn là bậc chẵn Theo giả thiết qui nạp, trong mỗi thành phần liên thông của H đều tìm được chu trình Euler Do G là liên thông nên trong mỗi thành phần của H có ít nhất một đỉnh chung với chu trình C Vì vậy, ta có thể xây dựng chu trình Euler trong G như sau: bắt đầu từ một đỉnh nào đó của chu trình

C, đi theo các cạnh của C chừng nào chưa gặp phải đỉnh không cô lập của H Nếu gặp phải đỉnh như vậy ta sẽ đi theo chu trình Euler của thành phần liên thông của H chứa đỉnh đó Sau đó lại tiếp tục đi theo cạnh của C cho đến khi gặp phải đỉnh không cô lập của H thì lại theo chu trình Euler của thành phần liên thông tương ứng trong H Quá trình kết thúc khi ta trở về đỉnh xuất phát, tức là thu được chu trình đi qua mỗi cạnh của đồ thị đúng một lần

Hệ quả 2.1: Đồ thị vô hướng liên thông G là nửa Euler khi và chỉ khi nó không quá 2 đỉnh bậc lẻ

Chứng minh: Thực vây, nếu G có không quá 2 đỉnh bậc lẻ thì số đỉnh bậc lẻ

của nó có thể là 0 hoặc 2 Nếu G không có đỉnh bậc lẻ thì theo định lý Euler nó là

đồ thị Euler Giả sử G có 2 đỉnh bậc lẻ là u và v Gọi H là đồ thị thu được từ G bằng cách thêm vào G một đỉnh mới w và hai cạnh (w, v) và (w, u) Khi đó tất cả các

Trang 36

đỉnh của H đều là bậc chẵn, vì thế theo định lý Euler Ta có chu trình Euler C Xóa

bỏ khỏi chu trình này đỉnh w và hai cạnh kề với nó ta thu được đường đi Euler trong

đồ thị G

2.3.2 Đồ thị Hamilton

Định nghĩa 2.11: Đường đi qua tất cả các đỉnh của đồ thị mỗi đỉnh đúng một

lần được gọi là đường đi Hamilton Chu trình bắt đầu từ một đỉnh v nào đó qua tất

cả các đỉnh còn lại mỗi đỉnh đúng một lần rồi quay trở về v được gọi là chu trình

Hamilton Đồ thị G được gọi là Hamilton nếu nó chứa chu trình Hamilton và gọi là

đồ thị nửa Hamilton nếu nó có đường đi Hamilton

Hình 2.17 Đồ thị Hamilton

Trong hình 2.17: G1 là nửa Hamilton còn G2 là Hamilton

Định lý 2.5: (Dirak 1952) Đơn đồ thị vô hướng G với n≥2 đỉnh, mỗi đỉnh có

bậc không nhỏ hơn n/2 là đồ thị Hamilton

Chứng minh: Thêm vào đồ thị G k đỉnh mới và nối chúng với tất cả các đỉnh

của G Giả sử k là số nhỏ nhất cần thêm vào để cho đồ thị thu được G‟ là đồ thị Hamilton Ta sẽ chỉ ra rằng k=0

Thực vậy, giả sử ngược lại là k>0 Ký hiệu v, p, w, …, v là chu trình Hamilton trong G‟, trong đó v,w là đỉnh của G còn P là một trong số các đỉnh mới

Trang 37

Khi đó w không kề với v vì nếu ngược lại ta không cần sử dụng p và điều đó là mâu thuẫn với giả thiết k nhỏ nhất Hơn nữa đỉnh (w‟ chẳng hạn) kề với w không thể đi liền sau đỉnh v‟ (kề với v) vì rằng khi đó có thể thay

v  p  w …  v’ w‟… v

bởi v  v‟…  w  w‟ … v

Bằng cách đảo ngược đoạn chu trình nằm trong w và v‟ Từ đó suy ra là số đỉnh của đồ thị G‟ không kề với w là không nhỏ hơn số đỉnh kề với v (tức là ít nhất cũng là bằng n/2+k), đồng thời số đỉnh của G‟ kề với w ít ra là phải bằng n/2+k Do không có đỉnh nào của G‟ vừa không kề, lại vừa kề với w, cho nên tổng số đỉnh của

đồ thị G‟ (G‟ có n+k đỉnh) không ít hơn n+2k Mâu thuẫn do đó đã chứng minh được định lý

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

Đồ thị vô hướng liên thông không có chu trình gọi là cây Khái niệm cây lần đầu tiên được Cayley đưa ra vào 1857, khi ông sử dụng chúng để đếm một dạng cấu trúc phân tử của các hợp chất hóa học trong hóa học hữu cơ Cây còn được sử dụng rộng rãi trong rất nhiều lĩnh vực khác nhau, đặc biệt trong tin học, cây được sử dụng

để xây dựng các thuật toán tổ chức các thư mục, các thuật toán cất giữ, truyền dữ liệu và tìm kiếm

Định nghĩa 2.12: Ta gọi cây là một đồ thị vô hướng liên thông và không có

chu trình Đồ thị vô hướng gồm k thành phần liên thông mà mỗi thành phần liên

thông là một cây được gọi là rừng

Trang 38

T1 T2 Hình 2.18 Cây của đồ thị

Trong hình 2.18 là một rừng gồm 2 cây T1, T2

Có thể nói cây là đồ thị vô hướng đơn giản nhất Định lý sau đây cho ta một số tính chất của cây

Định lý 2.6: Giả sử G = (V, E) là đồ thì vô hướng n đỉnh Khi đó các mệnh đề

sau đây là tương đương:

1) T là cây

2) T không chứa chu trình và có n-1 cạnh

3) T liên thông và có n-1 cạnh

4) T liên thông và mỗi cạnh của nó đều là cầu

5) Hai đỉnh bất kỳ của T được nối với nhau bởi đúng một đường đi đơn 6) T không chứa chu trình nhưng hễ cứ thêm vào một cạnh ta thu được một chu trình

Chứng minh: ta sẽ chứng minh định lý theo sơ đồ sau:

(1)=>(2)=>(3)=>(4)=>(5)=>(6)=>(1)

(1)=>(2) theo định nghĩa T không chứa chu trình Ta sẽ chứng minh bằng qui

nạp theo số đỉnh n cho khẳng định: Số cạnh của cây với n đỉnh là n -1 Rõ ràng khẳng định đúng với n = 1 Giả sử n > 1 Trước hết nhận rằng trong mọi cây T có n

Trang 39

đỉnh đều tìm được ít nhất một đỉnh là đỉnh treo (tức là đỉnh có bậc là 1) Thực vậy, gọi v1,v2,…,vk là đường đi dài nhất (theo số cạnh) trong T Khi đó rõ ràng v1 và vk là các đỉnh treo, vì từ v1(vk) không có cạnh nối với bất cứ đỉnh nào trong số các đỉnh

v2,v3,…,vk (do đồ thị không chứachu trình), cũng như với bất cứ đỉnh nào khác của

đồ thị (do đường đi đang xét dài nhất) Loại bỏ v1 và cạnh (v1,v2) khỏi T ta thu được cây T1 với n-1 đỉnh, mà theo giả thiết qui nạp có n-2 cạnh Vậy cây T có n-2+1=n-1 cạnh

(2) => (3) ta chứng minh bằng phản chứng Giả sử T không liên thông Khi đó

T phân rã thành k ≥ 2 phần liên thông T1,T2,…,Tk Do T không chứa chu trình nên mỗi Ti (i=1,2, ,k) cũng không chứa chu trình, vì thế mỗi Ti là cây Do đó nếu gọi n(Ti) và e(Ti) theo thứ tự là số đỉnh và cạnh của Ti, ta có:

Mâu thuẫn thu được chứng tỏ là T liên thông

(3)=>(4) Việc loại bỏ một cạnh bất kỳ khỏi T dẫn đến đồ thị với n đỉnh và n-2

cạnh rõ ràng là đồ thì không liên thông.vậy mọi cãnh trong T đều là cầu

(4)=>(5) Do T là liên thông nên hai đỉnh bất kỳ của nó được nối với nhau bởi

một đường đi đơn Nếu có cặp đỉnh nào của T có hai đường đi đơn khác nhau nối chúng, thì từ đó suy ra đồ thị chứa chu trình, và vì thế các cạnh trên chu trình này không phải là cầu

(5)=>(6) T không chứa chu trình, bởi vì thế nếu có chu trình thì hóa ra tìm

được cặp đỉnh của T được nối với nhau bởi hai đường đi đơn Bây giờ, nếu thêm vào T một cạnh e nối hai đỉnh u và v nào đó của T Khi đó cạnh này cùng với đường

Trang 40

đi đơn nối u và v sẽ tạo thành chu trình trong T Chu trình thu được này là duy nhất,

vì thế thu được nhiều hơn một chu trình thì suy ra trong T trước đó phải có sãn chu trình

(6)=>(1) Giả sử T không liên thông Khi đó gồm ít ra là thành phần liên thông

Vì vậy, nếu thêm vào T cạnh nối hai đỉnh thuộc hai thành phần liên thông khác nhau ta không thu được thêm một chu trình nào cả Điều đó mâu thuẫn với giả thiết (6) định lý được chứng minh

Tóm lại Chương này đã đề cập tới những khái niệm về đồ thị có liên quan

đến bài toán cây bao trùm nhỏ nhất được xét ở các chương sau Cụ thể, đã trình bày

và giải thích các khái niệm về đồ thị (vô hướng, có hướng), đỉnh và cạnh (cung), đường và chu trình trong đồ thị, chu trình Euler, chu trình Hamilton

Ngày đăng: 10/12/2015, 00:26

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Đồ thị: đỉnh và cạnh - Bài toán cây bao trùm trên đồ thị và ứng dụng
Hình 2.1. Đồ thị: đỉnh và cạnh (Trang 19)
Hình 2.2. Đồ thị có hướng - Bài toán cây bao trùm trên đồ thị và ứng dụng
Hình 2.2. Đồ thị có hướng (Trang 19)
Hình 1.Đồ thị vô hướng - Bài toán cây bao trùm trên đồ thị và ứng dụng
Hình 1. Đồ thị vô hướng (Trang 20)
Hình 2.Đồ thị có hướng - Bài toán cây bao trùm trên đồ thị và ứng dụng
Hình 2. Đồ thị có hướng (Trang 22)
Hình 2.6. Đồ thị liên thông G và không liên thông H - Bài toán cây bao trùm trên đồ thị và ứng dụng
Hình 2.6. Đồ thị liên thông G và không liên thông H (Trang 24)
Định nghĩa 2.9: Đồ thị có hướng G = (V, A) được gọi là  liên thông yếu nếu - Bài toán cây bao trùm trên đồ thị và ứng dụng
nh nghĩa 2.9: Đồ thị có hướng G = (V, A) được gọi là liên thông yếu nếu (Trang 25)
Hình 3. Đồ thị bánh xe W3, W4, W5, W6 - Bài toán cây bao trùm trên đồ thị và ứng dụng
Hình 3. Đồ thị bánh xe W3, W4, W5, W6 (Trang 28)
Hình 2.13. Biểu diễn ma trận kề - Bài toán cây bao trùm trên đồ thị và ứng dụng
Hình 2.13. Biểu diễn ma trận kề (Trang 29)
Hình 2.14. Tìm kiếm theo chiều sâu - Bài toán cây bao trùm trên đồ thị và ứng dụng
Hình 2.14. Tìm kiếm theo chiều sâu (Trang 32)
Đồ thị G1  Đồ thị G2 - Bài toán cây bao trùm trên đồ thị và ứng dụng
th ị G1 Đồ thị G2 (Trang 34)
Hình 3.1. Đồ thị tìm cây bao trùm nhỏ nhất - Bài toán cây bao trùm trên đồ thị và ứng dụng
Hình 3.1. Đồ thị tìm cây bao trùm nhỏ nhất (Trang 45)
Hình 3.2 Mô hình đồ thị của bài toán - Bài toán cây bao trùm trên đồ thị và ứng dụng
Hình 3.2 Mô hình đồ thị của bài toán (Trang 59)
Hình 3.2. Đồ thị áp dụng thuật toán Christofides  Xét đồ thị hình 3.2. - Bài toán cây bao trùm trên đồ thị và ứng dụng
Hình 3.2. Đồ thị áp dụng thuật toán Christofides Xét đồ thị hình 3.2 (Trang 63)
4.1.1  Sơ đồ Use Case - Bài toán cây bao trùm trên đồ thị và ứng dụng
4.1.1 Sơ đồ Use Case (Trang 69)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm