Nghiên cứu các thuật toán về cây khung và ứng dụng

72 291 1
Nghiên cứu các thuật toán về cây khung và ứng dụng

Đ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

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TRẦN THỊ PHƯƠNG THẢO NGHIÊN CỨU CÁC THUẬT TOÁN VỀ CÂY KHUNG VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên, 2015 LỜI CAM ĐOAN Tên em Trần Thị Phương Thảo, học viên lớp Cao học K12E, chuyên ngành Khoa học máy tính, khóa học 2013 – 2015 Em xin cam đoan luận văn: “NGHIÊN CỨU CÁC THUẬT TOÁN VỀ CÂY KHUNG VÀ ỨNG DỤNG ” Dưới hướng dẫn PGS TSKH Nguyễn Xuân Huy - Trường Đại học Công nghệ thông tin Truyền thông, Đại học Thái Nguyên , với nội dung trình bày trích dẫn đầy đủ từ nguồn tài liệu tham khảo thống (báo khoa học, sách có quyền), nội dung trình bày luận văn hoàn toàn trung thực Và công trình nghiên cứu thân kết hợp với hướng dẫn PGS TSKH.Nguyễn Xuân Huy tạo lập Nếu có nội dung chụp lại thân tạo ra, em xin hoàn toàn chịu tránh nhiệm chịu hình thức kỷ luật Phú Thọ, ngày tháng 10 năm 2015 HỌC VIÊN Trần Thị Phương Thảo LỜI CẢM ƠN Điều em xin gửi lời cảm ơn tới Thầy, Cô Trường Đại học Công nghệ thông tin Truyền thông Thái Nguyên thời gian vừa qua cung cấp truyền đạt chương trình học với môn học có nội dung bổ ích Thông qua chương trình học, em lĩnh hội nhiều kiến thức chuyên môn, phương pháp tiếp cận toán tin học Em xin gửi lời cảm ơn sâu sắc tới PGS TSKH Nguyễn Xuân Huy, người Thầy hướng dẫn, bảo, giám sát, theo dõi, cung cấp phương pháp, nguồn liệu tiếp cận toán để em hoàn thành luận văn Em xin cảm ơn Ban Giám hiệu trường THPT Trần Phú đồng nghiệp Trường, xin cảm ơn Trường Đại học Công nghệ thông tin Truyền thông, Đại học Thái Nguyên tạo điều kiện giúp đỡ để em hoàn thành chương trình học tập luận văn tốt nghiệp Điều cuối em xin cảm ơn gia đình, bạn bè nhiệt tình ủng hộ, động viên, giúp đỡ vật chất lẫn tinh thần thời gian học tập nghiên cứu Trong trình thực luận văn, có nhiều cố gắng không tránh khỏi thiếu sót Kính mong nhận cảm thông tận tình bảo Thầy, Cô bạn Em xin trân trọng cảm ơn! Phú Thọ, ngày tháng 10 năm 2015 HỌC VIÊN Trần Thị Phương Thảo MỤC LỤC MỞ ĐẦU 1 Tính cấp thiết đề tài Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu Hướng nghiên cứu đề tài Những nội dung nghiên cứu CHƯƠNG 1: TỔNG QUAN VỀ CÂY KHUNG 1.1 MỘT SỐ KHÁI NIỆM LIÊN QUAN TỚI ĐỒ THỊ .4 1.1.1 Định nghĩa đồ thị 1.1.2 Các loại đồ thị 1.1.3 Bậc đồ thị 1.2 ĐỒ THỊ CON, ĐỒ THỊ BỘ PHẬN .8 1.2.1 Đồ thị con, đồ thị phận 1.2.2 Đường đi, chu trình đồ thị 1.3 TỔNG QUAN VỀ CÂY KHUNG 10 1.3.1 Định nghĩa .10 1.3.2 Cây khung 11 1.3.3 Cây khung cực tiểu 12 1.3.4 Rừng khung, rừng khung cực tiểu 13 1.3.4.1 Rừng khung 13 1.3.4.2 Rừng khung cực tiểu .14 1.3.5 Cầu, cạnh trọng yếu 15 1.3.6 Khớp 16 1.3.7 Liên thông hóa 16 1.4 BIỂU DIỄN ĐỒ THỊ TRÊN MÁY TÍNH 20 1.4.1 Ma trận kề ma trận trọng số 21 1.4.2 Ma trận liên thuộc 22 1.4.3 Danh sách kề 23 CHƯƠNG 2: TÌM HIỂU MỘT SỐ THUẬT TOÁN VỀ CÂY KHUNG 25 2.1 GIỚI THIỆU KỸ THUẬT FIND UNION 25 2.2 THUẬT TOÁN TÌM CÂY KHUNG, CÂY KHUNG CỰC TIỂU .31 2.2.1 Thuật toán tìm khung 31 2.2.2 Thuật toán tìm khung cực tiểu 33 2.3 THUẬT TOÁN LIỆT KÊ CÁC CÂY KHUNG THÀNH PHẦN CỦA RỪNG KHUNG 40 2.4 THUẬT TOÁN LIỆT KÊ CÁC CÂY KHUNG THÀNH PHẦN CỦA RỪNG KHUNG CỰC TIỂU .44 2.5 THUẬT TOÁN LIỆT KÊ CÁC CẦU 48 2.6 THUẬT TOÁN LIỆT KÊ CÁC KHỚP 50 CHƯƠNG 3: MỘT SỐ ỨNG DỤNG CỦA BÀI TOÁN CÂY KHUNG GIẢI QUYẾT VẤN ĐỀ THỰC TẾ 54 3.1 BÀI TOÁN CÁP MẠNG .54 3.2 BÀI TOÁN TUYẾN ĐƯỜNG QUAN TRỌNG TRONG QUÂN SỰ 59 3.3 CÀI ĐẶT CHƯƠNG TRÌNH 64 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 64 Tài liệu tham khảo: 66 MỞ ĐẦU Tính cấp thiết đề tài Khái niệm khung CayLey đưa năm 1857 [4] Cây đồ thị vô hướng, liên thông, chu trình Trong tin học, dùng để xây dựng thuật toán, tổ chức thư mục, thuật toán tìm kiếm, lưu trữ nén liệu,…[3,5] Có nhiều toán vận dụng khái niệm như: Sửa chữa đường, định chiều đường thành phố, tìm khung có nhiều nhất… Cây khung đồ thị hữu hạn, vô hướng liên thông đồ thị liên thông chứa đỉnh cạnh [1,2,3,4,5,6,7] Nếu đồ thị ban đầu có n đỉnh khung đồ thị có n đỉnh n - cạnh Nhiều toán thực tiễn đòi hỏi phải xây dựng khung với biến thể khác nhau, thí dụ: Bài toán du lịch, toán kết nối mạng máy tính, toán quản lý vốn vay địa phương Một số biến thể khung vận dụng nhiều thực tiễn [3] Thí dụ: Một mạng giao thông có nhiều cầu Khi cầu bị phá mạng liên thông Một cầu gọi trọng yếu bỏ cầu mạng liên thông [3] Trong chiến tranh đối phương thường quan tâm phá cầu trọng yếu Trong mạng máy tính đường nối hai máy xem trọng yếu đường nối bị đứt mạng tính liên thông Một đỉnh đồ thị liên thông gọi trọng yếu hay đỉnh khớp bỏ đỉnh cạnh liên thuộc đồ thị tính liên thông [3] Để xác định cầu trọng yếu đỉnh khớp ta cần dựa vào khái niệm khung Thí dụ, cầu trọng yếu phải thuộc khung Với lí học viên chọn đề tài nghiên cứu thuật toán khung ứng dụng nhằm mục đích sau: - Tìm hiểu khái niệm đồ thị nói chung đồ thị liên thông nói riêng - Tìm hiểu sâu khung thuật toán liên quan đến khung biến thể khung - Xây dựng số ứng dụng khung giải số vấn đề thực tiễn: Bài toán kết nối mạng, toán quản lý giao thông, toán quản lý cụm hải đảo quần thể động thực vật Đối tượng phạm vi nghiên cứu a Đối tượng nghiên cứu: Tổng quan lý thuyết khung Tìm hiểu số thuật toán khung điển hình như: Tìm khung, tìm khung cực tiểu, toán rừng khung, liệt kê khung, cầu trọng yếu, đỉnh khớp… Các ứng dụng việc giải toán khung vào thực tế b Phạm vi nghiên cứu: Khảo sát, đánh giá tổng quan lý thuyết toán biến thể khung lớp đồ thị hữu hạn Phương pháp nghiên cứu Sử dụng phương pháp nghiên cứu sau: - Phương pháp nghiên cứu lý thuyết: Tổng hợp tài liệu, hệ thống lại kiến thức, tìm hiểu khái niệm, thuật toán sử dụng đề tài - Phương pháp thống kê: - Phương pháp thực nghiệm: Điều tra chọn mẫu, xử lý thông tin, - Phương pháp trao đổi khoa học, lấy ý kiến chuyên gia Hướng nghiên cứu đề tài - Tổng quan lý thuyết đồ thị khung - Nghiên cứu thuật toán khung - Ứng dụng toán khung thực tế - Cài đặt thử nghiệm chương trình Những nội dung nghiên cứu Nội dung luận văn chia thành ba chương, cụ thể sau: CHƯƠNG TỔNG QUAN VỀ CÂY KHUNG 1.1 MỘT SỐ KHÁI NIỆM LIÊN QUAN TỚI ĐỒ THỊ ( Các khái niệm liên quan đến đồ thị trình bày chi tiết tài liệu [1,2,6]) 1.1.1 Định nghĩa đồ thị Đồ thị cấu trúc rời rạc bao gồm đỉnh cạnh nối đỉnh đồ thị Các loại đồ thị khác phân biệt dựa kiểu số lượng cạnh nối hai đỉnh đồ thị u y x - Nếu cạnh u = (x,y) mà x y hai đỉnh phân biệt ta nói x, y hai đỉnh kề - Nếu u = (x,x) u cạnh có hai đỉnh trùng ta gọi khuyên u x - Nếu u = (x,y) mà x,y cặp đỉnh có phân biệt thứ tự hay có hướng từ x đến y u cung, x gốc y x đỉnh ra, y đỉnh vào xX y - Khi cặp đỉnh (x, y) có nhiều cạnh ta nói cạnh cặp đỉnh cạnh song song cạnh bội y x 1.1.2 Các loại đồ thị a Đồ thị vô hướng - Đồ thị G= gọi đồ thị vô hướng tất cạnh u  E mà cặp đỉnh thuộc u = (x,y) (trong x,y  V) không phân biệt thứ tự 11 Hình 1.1: Đơn đồ thị vô hướng gồm đỉnh cạnh b Đồ thị có hướng Đồ thị G = gọi đồ thị có hướng tất cạnh u  E mà cặp đỉnh thuộc u = (x, y) (trong x,y  V) có phân biệt thứ tự Đồ thị có hướng đồ thị mà u=(x, y)  V cung 53 Bước Duyệt n đỉnh, với đỉnh v = n, gọi hàm FUV(v) tính lại số mảnh liên thông đồ thị n1 đỉnh sau bỏ đỉnh v cạnh liên thuộc với đỉnh Nếu FUV(v) > FU v đỉnh khớp Ghi nhận đỉnh Cạnh liên thuộc đỉnh i cạnh có đỉnh đầu x = i đỉnh cuối y = i Từ suy cạnh không liên thuộc đỉnh i cạnh thỏa đồng thời x ≠ i y ≠ i // FUV: loai bo dinh v int FUV(int v){ int i, soManh; Initd(); soManh = n-1; for (i = 1; i c[i].x >> c[i].y >> c[i].p; f.close(); Sort(1,m);// sap tang cac canh theo so p Initd(); n1 = n-1; j = 0;// dem so canh cua cay khung for (i = 1; i [...]... luận : Lý thuyết đồ thị là mảng rất lớn nằm trong toán rời rạc, đồ thị đóng vai trò quan trọng làm cơ sở toán cho tin học và lý thuyết về cây khung được ứng dụng nhiều trong thực tiễn Vì vậy việc nghiên cứu cơ sở lý thuyết đồ thị và tổng quan về cây khung là rất cần thiết giúp cho việc ứng dụng xây dựng các thuật toán của cây khung Trong phạm vi nghiên cứu đề tài, những vấn đề mà tôi nêu trên là một... d[i] = i với i = 1 n; 2 Cài đặt hàm Find; 3 Cài đặt hàm Union Trong các mục tiếp theo ta sẽ trình bày các ứng dụng kỹ thuật FindUnion vào các bài toán trên đồ thị Trong tài liệu này, nếu không ghi chú gì thêm, ta ngầm hiểu các đồ thị được cho là đơn đồ thị hữu hạn 2.2 THUẬT TOÁN TÌM CÂY KHUNG, CÂY KHUNG CỰC TIỂU 2.2.1 Thuật toán tìm cây khung ... đích phục vụ cho quá trình nghiên cứu các chương sau 25 CHƯƠNG 2 TÌM HIỂU MỘT SỐ THUẬT TOÁN VỀ CÂY KHUNG 2.1 GIỚI THIỆU KỸ THUẬT FIND-UNION Kỹ thuật Find-Union (Tìm-Gộp) dùng để quản lí hợp của các tập rời nhau Ta minh hoạ kỹ thuật này qua bài toán sau: Bài toán công viên: Cô giáo dẫn các em thiếu nhi đi chơi công viên Lớp có n em mã số lần lượt từ 1 đến n Vào công viên, để các bạn khỏi lạc nhau, cô... số dương Cây khung cực tiểu (còn gọi là cây bao trùm ngắn nhất) của G là cây khung với tổng trọng số của các cạnh trong khung là nhỏ nhất 13 Hình 1.22: Đồ thị G 5 8 1 3 7 6 8 5 2 2 2 4 4 6 3 Hình 1.23 Cây khung cực tiểu của đồ thị G có trọng số = 30 1.3.4 Rừng khung, rừng khung cực tiểu 1.3.4.1 Rừng khung Định nghĩa : Cho G là một đồ thị vô hướng gồm n đỉnh và m cạnh Hãy xác định các cây khung trong... bằng cách bỏ đi một số cạnh nhưng vẫn giữ nguyên đỉnh) Nếu G' =

Ngày đăng: 29/05/2016, 16:53

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan