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

72 10 0
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 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 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 Ngun , với nội dung trình bày đƣợc 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 hồn tồ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 khơng phả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 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 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 đƣợc 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 tốn để em hồn thành đƣợc 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è ln 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 nhƣng khơng tránh khỏi thiếu sót Kính mong nhận đƣợc 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 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 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 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 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 TỐN VỀ CÂY KHUNG 25 2.1 GIỚI THIỆU KỸ THUẬT FIND UNION 25 2.2 THUẬT TỐN TÌM CÂY KHUNG, CÂY KHUNG CỰC TIỂU .31 2.2.1 Thuật tốn tìm khung 31 2.2.2 Thuật tố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 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ MỞ ĐẦU Tính cấp thiết đề tài Khái niệm khung đƣợc CayLey đƣa năm 1857 [4] Cây đồ thị vô hƣớng, liên thơng, khơng có chu trình Trong tin học, đƣợc dùng để xây dựng thuật toán, tổ chức thƣ mục, thuật tốn tìm kiếm, lƣu trữ nén liệu,…[3,5] Có nhiều tố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 tốn du lịch, tốn kết nối mạng máy tính, tốn quản lý vốn vay địa phƣơng Một số biến thể khung đƣợc 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 đƣợc gọi trọng yếu nhƣ 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 đƣợc 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 đƣợc 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] Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Để xác định đƣợc 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, tố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 tốn khung điển hình nhƣ: Tìm khung, tìm khung cực tiểu, tố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 nhƣ 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: Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ - 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 tốn sử dụng đề tài - : - 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 đƣợc chia thành ba chƣơng, cụ thể nhƣ sau: Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 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 đƣợ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 Số hóa Trung tâm Học liệu - ĐHTN y http://www.lrc-tnu.edu.vn/ - 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 x y 1.1.2 Các loại đồ thị a Đồ thị vô hướng - Đồ thị G= đƣợc gọi đồ thị vô hƣớng tất cạnh u mà cặp đỉnh thuộc u = (x,y) (trong x,y V) khơng phân biệt thứ tự 11 E Hình 1.1: Đơn đồ thị vơ hƣớng gồm đỉnh cạnh b Đồ thị có hướng Đồ thị G = đƣợc gọi đồ thị có hƣớng tất cạnh u cặp đỉnh thuộc u = (x, y) (trong x,y hƣớng đồ thị mà u=(x, y) Số hóa Trung tâm Học liệu - ĐHTN E mà V) có phân biệt thứ tự Đồ thị có V cung http://www.lrc-tnu.edu.vn/ 53 Bước Duyệt lần lƣợ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 đỉ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

Ngày đăng: 23/03/2021, 21:49

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

Tài liệu liên quan