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

Ràng buộc toàn vẹn đa phiên bản cơ sở dữ liệu thời gian và ứng dụng luận văn thạc sĩ

40 22 0

Đ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

Tiêu đề Ràng Buộc Toàn Vẹn Đa Phiên Bản Trên Cơ Sở Dữ Liệu Thời Gian Và Ứng Dụng
Tác giả Lâm Thanh Hùng
Người hướng dẫn TS. Phạm Văn Chung
Trường học Trường Đại Học Công Nghiệp TP.HCM
Chuyên ngành Khoa Học Máy Tính
Thể loại luận văn thạc sĩ
Năm xuất bản 2017
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 40
Dung lượng 189,21 KB

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

Nội dung

Mã chuyên ngành: 60480101 Ràng buộc toàn vẹn đa phiên bản trên cơ sở dữ liệu thời gian và ứng dụng NHIỆM VỤ VÀ NỘI DUNG: • Nghiên cứu thuật toán tìm đuờng đi Hamiton có thứ tự topo.. Việ

Trang 2

Công trình được hoàn thành tại Trường Đại học Công nghiệp TP Hồ Chí Minh.Người hướng dẫn khoa học: TS Phạm Văn Chung Người phản biện 1: TS Võ Thị Ngọc Châu Người phản biện 2: TS Nguyễn Thành Sơn Luận văn thạc sĩ được bảo vệ tại Hội đồng chấm bảo vệ Luận văn thạc sĩ Trường Đạihọc Công nghiệp thành phố Hồ Chí Minh ngày 19 tháng 12 năm 2017

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

1 PGS.TS Huỳnh Trung Hiếu : Chủ tịch hội đồng

2 TS Võ Thị Ngọc Châu : Phản biện 1

3 TS Nguyễn Thành Sơn : Phản biện 2

4 TS Võ Thị Thanh Vân : Uỷ viên

5 TS Phạm Thị Thiết : Thư ký

Trang 3

Bộ CÔNG THƯƠNG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

THÀNH PHÓ HỒ CHÍ MINH

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Lâm Thanh Hùng MSHV: 15001111

Ngày, tháng, năm sinh: 10/12/1959 Nơi sinh: Sài Gòn

Chuyên ngành: Khoa học Máy tính Mã chuyên ngành: 60480101

Ràng buộc toàn vẹn đa phiên bản trên cơ sở dữ liệu thời gian và ứng dụng

NHIỆM VỤ VÀ NỘI DUNG:

• Nghiên cứu thuật toán tìm đuờng đi Hamiton có thứ tự topo

• ứng dụng thuật toán tìm các đuờng đi Hamiton có thứ tự topo

• Nghiên cứu phuơng pháp kiểm tra ràng buộc toàn vẹn dữ liệu trên nhiều phiên bản

• Xây dựng phuơng pháp kiểm tra ràng buộc toàn vẹn dữ liệu trên nhiều phiên bản

• Phân tích thiết kế cơ sở dữ liệu có tính thời gian

• Viết chuơng trình thử nghiệm (sử dụng một phần dữ liệu đào tạo trong truờng cao đẳng)

II NGÀY GIAO NHIỆM VỤ: 29 tháng 12 năm 2016

III NGÀY HOÀN THÀNH NHIỆM VỤ: 29 tháng 12 năm 2017

IV NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Phạm Văn Chung

Tp Hồ Chí Minh, ngày tháng năm 20

TRƯỞNG KHOA Công nghệ Thông tin

Trang 4

LỜI CẢM ƠN

Trước tiên tôi xin gửi lời cảm ơn sâu sắc đến TS Phạm Văn Chung, người đã tận tìnhhướng dẫn và đồng hành cùng tôi trong suốt thời gian thực hiện luận văn vừa qua.Cảm ơn ban Giám hiệu nhà trường, phòng Quản lý sau đại học và khoa Công nghệThông tin trường đại học Công Nghiệp TP Hồ Chí Minh đã hỗ trợ, tạo điều kiện tốt đểtôi và các học viên khác có thể hoàn thành luận văn

Tôi cũng xin gửi lời cảm ơn đến bạn bè, người thân và gia đình đã ủng hộ, động viêngiúp tôi kiên trì thực hiện luận văn

Tuy hoàn thành, nhưng vẫn còn những hạn chế nhất định nên rất mong nhận được sựđóng góp để luận văn được hoàn thiện hơn

Xin chân thành cảm ơn

Trang 5

TÓM TẮT LUẬN VĂN THẠC SĨ

Ngày nay, nhiều ứng dụng quản lý sử dụng cơ sở dữ liệu thời gian; yếu tố thời gian làmcho cơ sở dữ liệu đầy đủ ve mặt “lịch sử” của dữ liệu hơn, nhung đồng thời cũng làmcho nó phức tạp hơn [1] Việc sử dụng cơ sở dữ liệu thời gian đòi hỏi phải có phươngpháp mang tính hệ thống để kiểm tra ràng buộc toàn vẹn, trong số đó là những ràngbuộc trên những dãy trạng thái có thứ tự thay vì các trạng thái đơn như trong cơ sở dữliệu truyền thống [4]

Trong luận văn này, chủ yếu nghiên cứu làm thế nào để kiểm tra ràng buộc toàn vẹnthời gian trong cơ sở dữ liệu thời gian: có nghĩa, kiểm tra ràng buộc trên những dãytrạng thái có thứ tự topo và xây dựng ứng dụng quản lý đào tạo nhằm theo dõi việc họctập của sinh viên và cho phép sinh viên đăng ký môn học theo từng học kỳ theo mộtchương trình đã chọn trước

Trang 6

Nowadays, many applications use the temporal database, the time factor makes the fulldatabase in terms of the "history" of the data, but also makes it more complicated [1].The use of temporal database requires a systematic approach to checking integrityconstraints, among of them are binding on the state ordered sequences instead of thesingle state as in traditional databases [4]

In this thesis, mainly research how to check the integrity constraints on time fortemporal database: means, check constraints on the state topological ordered sequences,and building training management applications to monitor student learning and allowstudents to course registration each semester according to a preselected program

Trang 7

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi, được thực hiện dưới sự hướngdẫn khoa học khoa học của TS Phạm Văn Chung Các kết quả nghiên cứu nêu trongluậ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 chịu hoàn toàn trách nhiệm về nghiên cứu của mình

Học viên

Lâm Thanh Hùng

Trang 8

MỤC LỤC

MỤC LỤC v

DANH MỤC HÌNH viii

DANH MỤC BẢNG BIÊU x

DANH MỤC TỪ VIẾT TẮT xi

MỞ ĐẦU 1

1 Lý do đe tài: 1

2 Mục đích đề tài 1

3 Đ ối tượng nghiên cứu 2

4 Phạm vi đe tài 2

5 Nội dung nghiên cứu 2

6 Phương pháp nghiên cứu 2

CHƯƠNG 1 Cơ SỞ LÝ THUYẾT 4

1.1

Một số thuật ngữ trên đồ thị có hướng 4

1.2 Sắp xếp Topo 5

1.3 T huật toán Kahn 5

1.3.1 Thuật toán dựa trên tìm kiếm theo chiều sâu (DFS) 6

1.3.2 Ket quả thực hi ện thuật toán 7

1.3.3 Nhận xét và đánh giá 8

1.4 Đường đi Hamilton 9

1.4.1 Đường đi Hamilton trong trường hợp tổng quát 9

1.4.2 Đường đi Hamilton trên đồ thị có hướng 10

1.4.3 Nhận xét và đánh giá 13

CHƯƠNG 2 NHỮNG PHƯƠNG PHÁP THựC HIỆN 14

2.1 Các thuật ngữ sử dụng trong kiểm tra ràng buộc toàn vẹn 14

2.2 Tìm kiếm dãy trạng thái đầy đủ 17

2.2.1 Thủ tục Searching_Sequence 17

2.2.2 Ket quả thực hiện thủ tục 18

2.2.3 Phân tích thủ tục: 19

2.2.4 Nhận xét và đánh giá 19

2.3 Kiểm tra ràng buộc toàn vẹn trên đồ thị chuyển trạng thái 20

2.3.1 Thao tác chèn 20

2.3.2 Thao tác sửa 21

2.3.3 Thao tác xoá 22

2.4 Các thủ tục kiểm tra ràng buộc toàn vẹn 22

2.4.1 Kiểm tra thao tác cập nhật 23

2.4.2 Kiểm tra thực hiện ràng buộc toàn vẹn 25

2.4.3 Ví dụ minh hoạ về việc kiểm tra thực hiện ràng buộc toàn vẹn 27

CHƯƠNG 3 XÂY DỰNG Cơ SỞ DỮ LIỆU CHO ỨNG DỤNG 31

3.1 M ột số thuật ngữ 31

3.2 Mô hình dữ liệu thời gian hợp lệ: 33

Trang 9

3.2.1 Khoảng thời gian, các bảng trạng thái và sự kiện 33

3.2.2 Các phép toán ve khoảng 35

3.2.3 Phép toán gộp (Fold): 36

3.3 Thiết kế cơ sở dữ liệu thời gian trên mô hình cơ sở dữ liệu tuyền thống 37

3.3.1 Thiết kế mức ý niệm (Conceptual Design) 38

3.3.2 Thiết kế logic 39

3.3.3 Ví dụ minh hoạ 41

3.4 Xây dựng cơ sở dữ liệu thử nghiệm 44

3.4.1 Luợc đồ khái niệm 46

3.4.2 Luợc đồ quan hệ 46

3.4.3 Cơ sở dữ liệu vật lý 47

CHƯƠNG 4 XÂY DỰNG ỨNG DỤNG THỬ NGHIỆM 48

4.1 Chuơng trình quản lý đào tạo và những lộ trình hợp lệ cho việc lựa chọn các nhóm học phần của sinh viên 48

4.2 Xây dựng ứng dụng thử nghiệm 50

4.2.1 Nhóm chức năng cho nguời quản trị: 50

4.2.2 Nhóm chức năng dành cho sinh viên: 55

KẾT LUẬN VÀ KIẾN NGHỊ 61

1 Ket luận 61

1.1 Nh ững đóng góp của đe tài 61

1.2 Những hạn chế cần khắc phục 62

2 Kiến nghị 63

TÀI LIỆU THAM KHẢO 64

PHỤ LỤC 66

LÝ LỊCH TRÍCH NGANG CỦA HỌC VIÊN 89

Trang 10

DANH MỤC HÌNH

Hình 1.1 Bên trong một đồ thị có hướng [3] 5

Hình 1.2 Thuật toán kahn [4] 6

Hình 1.3 Thuật toán tìm thứ tự topo dựa trên DFS [4] 6

Hình 1.4 Một DAG điển hình [3] 7

Hình 1.5 Một số ứng dụng topological sort [3] 8

Hình 1.6 Thuật toán searching_hamilton 11

Hình 1.7 Một topology trên đồ thị chuyển trạng thái 12

Hình 2.1 Đồ thị t có đỉnh khởi đầu s0 và đỉnh kết thúc s5 15

Hình 2.2 Ràng buộc toàn vẹn theo thứ tự thời gian 17

Hình 2.3 Thủ tục searching_sequence [5] 18

Hình 2.4 Một ví dụ tìm kiếm dãy trạng thái đầy đủ trên đồ thị chuyển trạng thái 19

Hình 2.5 Đồ thị chuyển trạng thái có hai dãy trạng thái đầy đủ 21

Hình 2.6 Mô tả tổng quát việc kiểm tra đối tượng thực thi ràng buộc toàn vẹn 23

Hình 2.7 Kiểm tra thao tác cập nhật 25

Hình 2.8 Kiểm tra thực hiện ràng buộc toàn vẹn 26

Hình 3.1 Ví dụ về valid-time và transaction-time 32

Hình 3.2 Một ví dụ về mô hình valid - time 35

Hình 3.3 Gộp trên thuộc tính duration [7] 37

Hình 3.4 Thủ tục Fold [7] 37

Hình 3.5 Lược đồ khái niệm quản lý công việc của giảng viên 41

Hình 3.6 Lược đồ khái niệm cơ sở dữ liệu quản lý bệnh án tại bệnh viện 43

Hình 3.7 Lược đồ khái niệm của cơ sở dữ liệu thử nghiệm 46

Hình 3.8 Cơ sở dữ liệu thử nghiệm trong hệ quản trị sql server 47

Hình 4.1 Chương trình đào tạo theo nhóm học phần cho sinh viên 48

Hình 4.2 Các chức năng của admin 51

Hình 4.3 Chức năng tạo chương trình học 51

Hình 4.4 Chức năng tạo môn học mới 53

Hình 4.5 Chức năng nhập điểm môn học 54

Hình 4.6 nhóm chức năng dành cho sinh viên 55

Hình 4.7 lịch đăng ký tuỳ theo khoá học 55

Trang 11

Hình 4.8 chọn lộ trình học 56

Hình 4.9 chọn lộ trình học 57

Hình 4.10 cảnh báo thời hạn thay đổi lộ trình học 58

Hình 4.11 đăng ký môn học mới 58

Hình 4.12 đăng ký môn học mới 59

Hình 4.13 chức năng đăng ký môn học lại 60

Trang 12

DANH MỤC BẢNG BIỂU

Bảng 3.1: Bảng DIEUDONG 34Bảng 3.2 Định nghĩa các phép toán so sánh khoảng 36Bảng 4.1 Các nhóm học phần trong chương trình 49

Trang 13

DANH MỤC TỪ VIẾT TẮT

CSDL Database Cơ sở dữ liệu

DAG Directed Acyclic Graph Đồ thị có hướng không có

chu trình

TG Transition Graph Đồ thị chuyển trạng thái

Trang 14

MỞ ĐẦU

Ngày nay, trong nhiều ứng dụng thực tế, bên cạnh những dữ liệu có tính ổn định, còn

có rất nhiều loại dữ liệu đuợc truy xuất thay đổi theo thời gian, yếu tố thời gian làmcho cơ sở dữ liệu (CSDL) đầy đủ ve mặt “lịch sử” của dữ liệu hơn, nhung đồng thờicũng làm cho nó phức tạp hơn [1] Trong một số trường hợp, những dữ liệu loại nàythay đổi theo những quy luật nào đó Vì vậy mô hình CSDL có tính thời gian(temporal database) được đề xuất để nghiên cứu vấn đề trên

Với nhu cầu thực tế như vậy, đòi hỏi các nhà khoa học làm việc trong lĩnh vực khaithác cơ sở dữ liệu, phải đưa ra phương pháp có tính hệ thống để kiểm tra ràng buộctoàn vẹn trên dữ liệu có yếu tố thời gian, trong số đó là những ràng buộc trên nhữngdãy trạng thái có thứ tự thay vì các trạng thái đơn như trong cơ sở dữ liệu truyềnthống

Đã có một số hướng tiếp cận kiểm tra ràng buộc toàn vẹn, nổi bậc như phương phápdùng đồ thị chuyển trạng thái (Trasition Graph) của Gertz và Lipeck [2]

Theo các hướng tiếp cận này, dữ liệu của những đối tượng thay đổi theo thời giantrong một ứng dụng phải tuân thủ theo những quy luật áp đặt trên chúng, kiểm traràng buộc toàn vẹn đa phiên bản (nghĩa là có nhiều ràng buộc hiện đang tồn tại và cóhiệu lực trên nhiều phiên bản khác nhau) là nhắm đến sự nhất quán và hợp lệ của dữliệu, khi dữ liệu của đối tượng được cập nhật vào cơ sở dữ liệu

Những ứng dụng trong thực tế trong nhiều lĩnh vực như kinh tế, giáo dục, y tế, v.v cho thấy không phải chỉ có một phiên bản mà thực chất có nhiều phiên bản cùng tồntại trong cơ sở dữ liệu, áp đặt trên dữ liệu

Đe xuất thuật giải và phương pháp kiểm tra dữ liệu cho bài toán trên

Là những dữ liệu của đối tượng thay đổi theo thời gian trong cơ sở dữ liệu có tínhthời gian, được xây dựng trên mô hình cơ sở dữ liệu truyền thống

Nghiên cứu để đề xuất thuật giải tìm ra đường đi Hamilton có thứ tự topo trên một đồ

Trang 15

- Nghiên cứu thuật toán tìm đường đi Hamiton có thứ tự topo.

- ứng dụng thuật toán tìm các đường đi Hamiton có thứ tự topo

- Nghiên cứu phương pháp kiểm tra ràng buộc toàn vẹn dữ liệu trên nhiều phiênbản

- Xây dựng phương pháp kiểm tra ràng buộc toàn vẹn dữ liệu trên nhiều phiên bản

- Phân tích thiết kế cơ sở dữ liệu có tính thời gian

- Viết chương trình thử nghiệm và thu thập dữ liệu đào tạo trong trường cao đẳng

Nghiên cứu tài liệu, ứng dụng mô hình lý thuyết, thu thập dữ liệu và chứng minh kếtquả bằng thực nghiệm

Ket cấu luận văn: luận văn chia thành 5 chương, nội dung như sau:

- Chương 1: Cơ sở lý thuyết

- Chương 2: Những phương pháp thực hiện

- Chương 3: Xây dựng cơ sở dữ liệu cho ứng dụng

- Chương 4: Xây dựng ứng dụng thử nghiệm

- Chương 5: Tổng kết đề tài và hướng phát triển

Trang 16

CHƯƠNG 1 Cơ SỞ LÝ THUYẾT

Trong chương này, luận văn trình bày một số lý thuyết liên quan đến hai bài toán Sắp

xếp Topo (Topological sorting problem) và Đường đi Hamilton (Hamilton path

problem) với trọng tâm là nội dung mở rộng bài toán sắp xếp Topo trên một đồ thị có

hướng để làm cơ sở cho việc xây dựng những phương pháp kiểm tra dữ liệu ở chương

2

Theo định nghĩa của Robert Sedgewick và Kevin Wayne [3] ve một so thuật ngữ trên

đồ thị có hướng như sau:

- Một đồ thị có hướng (Directed Graph Or Digraph) là một tập các đỉnh (Vertices) và một tập các cạnh có hướng (Directed Edges) hoặc cung mà mỗi cung

nối một cặp đỉnh Trong luận văn này, đặt tên từ 0 đến n-1 cho các đỉnh trong một đồ thị có n đỉnh.

- Một khuyên (a Self-loop) là một cung nối một đỉnh đến chính nó.

- Một đường đi có hướng (a directed path) trong một đồ thị có hướng là một dãyđỉnh mà ở đó mỗi đỉnh trong dãy có một cung trỏ từ nó đến đỉnh kế tiếp trong dãy

- Một đường đi đơn (simple path) là đường đi không có đỉnh lặp lại.

- Một chu trình có hưởng (a directed cycle) là một đường đi có hướng (có ít nhất

một cung) mà đỉnh đầu cũng là đỉnh cuối

Ví dụ: một đồ thị có hướng có chu trình như hình 1.1

directed edge

Trang 17

1.2 Sắp xep Topo

Một sắp xếp topo (topologiecal sort) hay thứ tự topo (topological ordering) của một đồthị có hướng là một danh sách các đỉnh của nó được sắp xếp theo một thứ tự nào đó sao

cho với mọi cung từ u đến v trong đồ thị, thì trong danh sách u luôn nằm trước v

dụ, nếu các đỉnh của đồ thị đại diện cho các công việc được thực hiện và các cung của

nó đại diện cho các ràng buộc mà một công việc phải được thực hiện trước một côngviệc khác thì một thứ tự topo là một danh sách chỉ ra thứ tự thực hiện các công việc đó.Một thứ tự topo tồn tại nếu và chỉ nếu đồ thị không có chu trình, nghĩa là, nếu nó là một

đồ thị có hướng không có chu trình (Directed Acyclic Graph - DAG) Thuật toán để tìm

thứ tự topo gọi là thuật toán sắp xếp topo

Được đe xuất bởi Kahn năm 1962, hoạt động bằng cách lần lượt chọn các đỉnh theo thứ

tự đúng theo như theo thứ tự topo Đầu tiên, xác định một danh sách các "nút bắt đầu"

không có cung vào và chèn chúng vào một tập S Trong một đồ thị có hướng không có

chu trình luôn có ít nhất một nút như vậy Sau đó, việc sắp xếp các nút được thực hiệnnhư sau:

L danh sách rỗng (cuối cùng sẽ chứa danh sách đã sắp xếp) Stập hợp các nút không

có cung vào

while S khác rỗng do

Loại bỏ một nút n từ S

Chèn n vào L

Trang 18

for each nút m sao cho có cung e từ n đến m do

Loại bỏ cung e từ đồ thị

if m không có cung vào then Chèn m vào S

if đồ thị vẫn còn cung then

Thông báo lỗi (đồ thị có ít nhất một chu trình) else

Thông báo thứ tự topo là L

Hình 1.2 Thuật toán Kahn [4]

Vì chúng ta cần kiểm tra tất cả các đỉnh, các cung cho các nút bắt đầu, sau đó việc sắp

xếp sẽ kiểm tra từng đỉnh, từng cung một lần nữa, do đó độ phức tạp của thuật toán là O

(|V + |E|).

1.3.1 Thuật toán dựa trên tìm kiếm theo chiều sâu (DFS)

Thuật toán lặp qua các nút của đồ thị, trong một trật tự tuỳ ý, và thực hiện tìm kiếm theochiều sâu cho đến khi tất cả các nút đã đuợc thăm

L danh sách rỗng (cuối cùng sẽ chứa thứ tự sắp xếp)

S tập hợp các nút không có cung vào

for each nút trong S do

Thăm (n)

Function Thăm (nút n)

if đã thăm n then

Dừng (thông báo lỗi: không phải DAG)

if chua thăm (n) then

Đánh dấu n đã thăm

for each nút m sao cho có cung từ n đến m do Thăm (m)

Chèn n vào L

Thông báo thứ tự topo là L

Hình 1.3 Thuật toán tìm thứ tự topo dựa trên DFS [4] Mỗi nút n được thêm vào danh sách L chỉ sau khi tất cả các nút m có cung từ n tới m đã được thăm Cụ thể là, khi thuật

toán thêm nút n, nó bảo đảm rằng tất cả các nút m đã có trong danh sách L: chúng đã

được thêm vào L do lời gọi đệ quy đến thăm ( m ), hoặc do một lời gọi đến thăm ( m) từ

trước Do đó, n được thêm vào đầu của L thay vì chèn vào cuối danh sách như trong

thuật toán được biểu diễn trong hình 1.2 (Lưu ý rằng mã giả trên không thể phát hiện trường hợp lỗi khi đồ thị có chu trình)

Vì mỗi cung và mỗi nút được thăm một lần, thuật toán chạy trong thời gian tuyến tính,trong số nút cộng với số cung, do đó độ phức tạp của thuật toán:

O (V + |E|).

1.3.2 Kết quả thực hiện thuật toán

Trang 20

Application Vertex Edge

Typical topologlcal-sort a pplication

Hình 1.5 Một số ứng dụng topological sort [3]

Tuy nhiên, ta nhận thấy rằng, hai thuật toán Kahn và DFS chỉ thật sự phát huy hiệu quảnếu đồ thị ta đang xét là các DAG Nên muốn mở rộng bài toán trong lĩnh vực đồ thị cóhướng nói chung, cần có thêm những lý thuyết và những thuật toán khác sẽ được đề cập

cụ thể trong 1.3

1.4 Đường đi Hamilton

Một đường đi Hamilton là một đường đi trong đồ thị vô hướng hay có hướng đi qua tất

cả các đỉnh của đồ thị, mỗi đỉnh đúng một lần Một chu trình Hamilton là một đường điHamilton sau khi đi qua tất cả các đỉnh của đồ thị thì trở ve đỉnh xuất phát

Một đồ thị có chu trình Hamilton được gọi là đồ thị Hamilton, đồ thị có đường điHamilton được gọi là đồ thị nửa Hamilton

Cho đến nay việc tìm một tiêu chuẩn nhận biết đồ thị Hamilton vẫn còn là mở, mặc dùđây là một vấn đe trung tâm của lý thuyết đồ thị Hơn thế nữa, cho đến nay cũng chưa cóthuật toán hiệu quả để kiểm tra một đồ thị có là Hamilton hay không Các kết quả thuđược phần lớn là điều kiện đủ để một đồ thị là đồ thị Hamilton Phần lớn chúng điều có

dạng "nếu G có số cạnh đủ lớn thì G là Hamilton" (theo định lý Dirak 1952)

Việc xác định các đường đi cũng như các chu trình có tồn tại hay không trong một đồ thị

được gọi là bài toán đường đi Hamilton (Hamilton Path Problem).

1.4.1 Đường đi Hamilton trong trường hợp tồng quát

Trong trường hợp tổng quát, xét một đồ thị dày đặc G có n đỉnh và giả sử ma trận kề biểu

Ngày đăng: 17/03/2022, 00:26

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

w