Các thuật toán tìm đường đi ngắn nhất trong đồ thị lý thuyết, thuật toán và ứng dụng (Luận văn thạc sĩ)

76 332 7
Các thuật toán tìm đường đi ngắn nhất trong đồ thị lý thuyết, thuật toán và ứng dụng (Luận văn thạc sĩ)

Đ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

Các thuật toán tìm đường đi ngắn nhất trong đồ thị lý thuyết, thuật toán và ứng dụng (Luận văn thạc sĩ)Các thuật toán tìm đường đi ngắn nhất trong đồ thị lý thuyết, thuật toán và ứng dụng (Luận văn thạc sĩ)Các thuật toán tìm đường đi ngắn nhất trong đồ thị lý thuyết, thuật toán và ứng dụng (Luận văn thạc sĩ)Các thuật toán tìm đường đi ngắn nhất trong đồ thị lý thuyết, thuật toán và ứng dụng (Luận văn thạc sĩ)Các thuật toán tìm đường đi ngắn nhất trong đồ thị lý thuyết, thuật toán và ứng dụng (Luận văn thạc sĩ)Các thuật toán tìm đường đi ngắn nhất trong đồ thị lý thuyết, thuật toán và ứng dụng (Luận văn thạc sĩ)Các thuật toán tìm đường đi ngắn nhất trong đồ thị lý thuyết, thuật toán và ứng dụng (Luận văn thạc sĩ)Các thuật toán tìm đường đi ngắn nhất trong đồ thị lý thuyết, thuật toán và ứng dụng (Luận văn thạc sĩ)Các thuật toán tìm đường đi ngắn nhất trong đồ thị lý thuyết, thuật toán và ứng dụng (Luận văn thạc sĩ)Các thuật toán tìm đường đi ngắn nhất trong đồ thị lý thuyết, thuật toán và ứng dụng (Luận văn thạc sĩ)

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TRUYỀN THƠNG ĐỒN HỒNG HẢI 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/ ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TRUYỀN THƠNG ĐỒN HỒNG HẢI CÁC THUẬT TỐN TÌM ĐƢỜNG ĐI NGẮN NHẤT TRONG ĐỒ THỊ: THUYẾT, THUẬT TỐN ỨNG DỤNG Chun ngành: KHOA HỌC MÁY TÍNH Mã số chuyên ngành: 60 48 0101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC GS-TS ĐẶNG QUANG Á Thái Nguyên - 2015 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ MỤC LỤC LỜI NÓI ĐẦU Chƣơng I: MỘT SỐ KIẾN THỨC CƠ BẢN TRONG THUYẾT ĐỒ THỊ 1.1 Các khái niệm thuyết đồ thị .2 1.1.1 Định nghĩa đồ thị 1.1.2 Các thuật ngữ 1.1.3 Định nghĩa đường đi, chu trình, đồ thị liên thông 1.2 Đường ngắn 11 1.2.1 Đường ngắn xuất phát từ đỉnh .11 1.2.2 Đường đồ thị khơng có chu trình 11 1.2.3 Đường ngắn hai cặp đỉnh 14 1.3 Một số toán dẫn đến tốn tìm đường ngắn đồ thị 15 1.3.1 Tìm đường ngắn từ điểm A đến điểm B thành phố .15 1.3.2 Tối ưu hệ thống mạng truyền dẫn 18 Chƣơng II: ĐƢỜNG ĐI NGẮN NHẤT TỪ MỘT ĐỈNH 21 2.1.Thuật toán Bellman-Ford 27 2.2 Thuật toán Dijkstra .31 2.3 Thuật tốn tìm kiếm A* .37 Chƣơng III : ĐƢỜNG ĐI NGẮN NHẤT GIỮA TẤT CẢ CÁC CẶP ĐỈNH 40 3.1 Thuật toán Floyd-Warshall .48 3.2 Thuật toán Johnson 55 Chƣơng IV: ỨNG DỤNG THUẬT TỐN TÌM ĐƢỜNG ĐI NGẮN NHẤT VÀO MƠ HÌNH HỆ THỐNG ROUTING TĨNH 60 4.1 Nguyên hoạt động Router hệ thống mạng 60 4.2 Ứng dụng thuật toán (Dijkstra) 69 4.3 Thiết kế chương trình áp dụng thuật toán (Floyd-Warshall) .71 4.4 Kết thử nghiệm 71 TÀI LIỆU THAM KHẢO 73 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ LỜI NÓI ĐẦU thuyết đồ thị lĩnh vực nghiên cứu có từ lâu đời có nhiều ứng dụng đại.Những tư tưởng thuyết đồ thị đươc đề xuất từ năm đầu kỷ 18 nhà toán học lỗi lạc người Thụy Sĩ Leonhard Euler Đồ thị sử dụng để giải toán nhiều lĩnh vực khác Chẳng hạn, đồ thị sử dụng để xác định mạch vòng vấn đề giải tích mạch điện Chúng ta phân biệt hợp chất hoá học hữu khác với công thức phân tử khác cấu trúc phân tử nhờ đồ thị Chúng ta xác định xem hai máy tính mạng trao đổi thông tin với hay không nhờ mơ hình đồ thị mạng máy tính Đồ thịtrọng số cạnh sử dụng để giải tốn : tìm đường ngắn hai thành phố mạng giao thơng Chúng ta sử dụng đồ thị để giải toán lập lịch, thời khoá biểu phân bố tần số cho trạm phát truyền hình Trong đời sống, thường gặp tình sau: để từ điểm A đến điểm B thành phố, có nhiều đường đi, nhiều cách đi; có lúc ta chọn đường ngắn (theo nghĩa cự ly), có lúc lại cần trọn đường nhanh (theo nghĩa thời gian),v.v… Mục đích đề tài tìm hiểu, nghiên cứu thuật tốn tìm đường ngắn đồ thị phục vụ việc nghiên cứu khoa học ứng dụng vào thực tiễn Củng cố rèn luyện kỹ lập trình, nhớ lại thuật toán Chƣơng I : Một số kiến thức thuyết đồ thị Chƣơng II : Đường ngắn từ đỉnh Chƣơng III : Đường ngắn tất cặp đỉnh Chƣơng IV : Ứng dụng thuật tốn tìm đường ngắn vào mơ hình hệ thống routing tĩnh Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Chƣơng I: MỘT SỐ KIẾN THỨC CƠ BẢN TRONG THUYẾT ĐỒ THỊ 1.1 Các khái niệm thuyết đồ thị 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 Chúng ta phân biệt loại đồ thị khác kiểu số lượng cạnh nối hai đỉnh đồ thị Để hình dung lại cần đến loại đồ thị khác nhau, nêu ví dụ sử dụng chúng để mơ tả mạng máy tính Giả sử ta có mạng gồm máy tính kênh điện thoại (gọi tắt tên thoại) nối máy tính Chúng ta biểu diễn vị trí đặt máy tính điểm kênh thoại nối chúng đoạn nối, xem hình 1.1 Hà Tây Đồng Nai Huế Hà Nội An Giang Bình Định TPHCM Quãng Ngãi Phú n Khánh Hòa Hình 1.1 Sơ đồ mạng máy tính Nhận thấy mạng hình 1, hai máy tính cho phép nhiều kênh thoại nối chúng, kênh thoại cho phép liên lạc hai chiều khơng có máy tính lại nối với Sơ đồ mạng máy tính cho hình gọi đơn đồ thị vô hướng ta đến định nghĩa sau: Định nghĩa Đơn đồ thị vô hướng G=(V,E) bao gồm V tập đỉnh E tập cặp khơng có thứ tự gồm hai phần tử khác V gọi cạnh Trong trường hợp hai máy tính thường xun phải truyền tải nhiều thông tin người ta phải nối hai máy nhiều kênh thoại Mạng với đa kênh thoại máy tính cho hình 1.2 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Đồng Nai Hà Tây An Giang Huế Hà Nội Bình Định TPHCM Khánh Hòa Quảng Ngãi Phú n Hình 1.2 Sơ đồ mạng máy tính với đa kênh thoại Định nghĩa Đa đồ thị vô hướng G=(V,E) bao gồm V tập đỉnh, E họ cặp khơng có thứ tự gồm hai phần tử khác V gọi cạnh Hai cạnh e1 e2 gọi cạnh lặp chúng tương ứng với cặp đỉnh Đồng Nai Hà Tây An Giang Huế Hà Nội Bình Định TPHCM Khánh Hòa Quảng Ngãi Phú n Hình 1.3 Sơ đồ mạng máy tính với kênh thơng báo Rõ ràng đơn đồ thị đa đồ thị, đa đồ thị đơn đồ thị, đa đồ thị có hai hay nhiều cạnh nối cặp đỉnh Trong mạng máy tính có kênh thoại nối máy tính với Mạng cho hình 1.3 Như đa đồ thị khơng thể mơ Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ tả mạng vậy, có khun (cạnh nối đỉnh vói nó) Trong trường hợp cần sử dụng đến khái niệm giả đồ thị vô hướng, định nghĩa sau: Định nghĩa Giả đồ thị vô hướng G=(V,E) bao gồm V tập đỉnh, E họ cặp khơng có thứ tự gồm hai phần tử (không thiết phải khác nhau) V gọi cạnh Cạnh e gọi khuyến có dạng e=(u,u) Các kênh thoại mạng máy tính cho phép truyền tin theo chiều Chẳng hạn hình 1.4 máy chủ Hà Nội nhận tin từ máy địa phương, có số máy gửi tin đi, kênh thoại cho phép truyền tin theo hai chiều thay hai cạnh có hướng ngược chiều Hà Tây Đồng Nai Hà Nội Huế An Giang TPHCM Phú n Bình Định Khánh Hòa Hình 1.4 Mạng máy tính với kênh thoại chiều Định nghĩa Đơn đồ thị có hướng G=(V,E) bao gồm V tập đỉnh, E tập cặp có thứ tự gồm hai phần tử khác V gọi cung Nếu mạng có đa kênh thoại chiều, ta phải sử dụng đến khái niệm đa đồ thị có hướng: Định nghĩa Đa đồ thị có hướng G=(V,E) bao gồm V tập đỉnh,và E họ cặp có thứ tự gồm hai phần tử khác V gọi cung Hai cung e1 e2 tương ứng với cặp đỉnh gọi cung lặp Trong phần chủ yếu làm việc với đơn đồ thị vơ hướng đơn đồ thị có hướng Vì vậy, ngắn gọn, ta bỏ qua tính từ đơn nhắc đến chúng Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 1.1.2 Các thuật ngữ Trong mục trình bày số thuật ngữ thuyết đồ thị Trước tiên, ta xét thuật ngữ mô tả đỉnh cạnh đồ thị vô hướng Định nghĩa Hai đỉnh u v đồ thị có hướng G gọi kề (u,v) cạnh đồ thị G Nếu e=(u,v) cạnh đồ thị ta nói cạnh cạnh liên thuộc với hai đỉnh u v, nói cạnh e nối đỉnh u đỉnh v, đồng thời đỉnh u v gọi đỉnh đầu cạnh (u,v) Để biết có cạnh liên thuộc với đỉnh, ta đưa vào định nghĩa sau Định nghĩa Ta gọi bậc đỉnh v đồ thị vơ hướng số cạnh liên thuộc với ta kí hiệu deg(v) b a c f e d g Hình 1.5 Đồ thị vơ hướng Thí dụ Xét đồ thị cho hình 1.5, ta có deg(a)=1, deg(b)=4 , deg(c)=4 , deg(f)=3, deg(d)=1 , deg(e)=3 , deg(g)=0 Đỉnh bậc gọi đỉnh cô lập, đỉnh bậc gọi đỉnh treo Trong ví dụ đỉnh g đỉnh cô lập, a d đỉnh treo Bậc đỉnh có tính chất sau : Định Giả sử G=(V,E) đồ thị vơ hướng với m cạnh Khi 2m=  deg(v) vV Chứng minh Rõ ràng cạnh e=(u,v) tính lần deg(u) lần deg(v) Từ suy tổng tất bậc đỉnh hai lần số cạnh Thí dụ Đồ thị với n đỉnh đỉnh có bậc có cạnh ? Giải: Theo định 1, ta có 2m=6n Từ suy số cạnh đồ thị 3n Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Hệ Trong đồ thị vô hướng, số đỉnh bậc lẻ (nghĩa có bậc số lẻ) số chẵn Chứng minh Thực vậy, gọi O U tương ứng tập đỉnh bậc lẻ tập đỉnh bậc chẵn đồ thị,ta có 2m=  deg(v) +  deg(v) +  deg(v) vV vO vU Do deg(v) chẵn với v đỉnh U nên tổng thứ hai vế phải số chẵn Từ suy tổng thứ (chính tổng bậc đỉnh bậc lẻ) phải số chẵn, tất số hạng số lẻ, nên tổng phải gồm số chẵn số hạng Vì vậy, số đỉnh bậc lẻ phải số chẵn Ta xét thuật ngữ tương tự cho đồ thị có hướng Định nghĩa Nếu e=(u,v) cung đồ thị có hướng G ta nói hai đỉnh u v kề nhau, nói cung(u,v) nối đỉnh u với đỉnh v nói cung khỏi đỉnh u vào đỉnh v Đinh u (v) gọi đỉnh đầu (cuối) cung (u,v) Tương tự khái niệm bậc, đồ thị có hướng ta có khái niệm bán bậc (vào) đỉnh Định nghĩa Ta gọi bán bậc (vào) đỉnh v đồ thị có hướng số cung đồ thị khỏi (đi vào nó) kí hiệu deg+(v)(deg-(v)) a e b c d Hình 1.6 Đồ thị có hướng G Thí dụ Xét đồ thị cho hình 1.6 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 Do cung (u,v) tính lần bán bậc vào đỉnh v lần bán bậc đỉnh u nên ta có Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Định Giả sử G=(V,E) đồ thị có hướng,  deg  vV (v)   deg  (v) | E | vV Rất nhiều tính chất đồ thị có hướng khơng phụ thuộc vào hướng cung Vì vậy, nhiều trường hợp thuận tiện ta bỏ qua hướng cung đồ thị Đồ thị vô hướng thu cách bỏ qua hướng cung gọi đồ thị vơ hướng tương ứng với đồ thị có hướng cho 1.1.3 Định nghĩa đƣờng đi, chu trình, đồ thị liên thông Định nghĩa Đường độ dài n từ đỉnh u đến đỉnh v, n số nguyên dương, đồ thị vô hướng G=(V,E) dãy xo, x1 , , xn-1 , xn u= xo , v= xn , (xi , xi+1) ∈ E , i=0,1,2, ,n-1 Đường nói biểu diễn dạng cạnh: (xo, x1) , (xo, x2), , (xn-1 , xn) Đỉnh u gọi đỉnh đầu, đỉnh v gọi đỉnh cuối đường Đường có đỉnh đầu trùng với đỉnh cuối (tức u=v) gọi chu trình Đường hay chu trình gọi đơn khơng có cạnh bị lặp lại Thí dụ Trên đồ thị vơ hướng cho hình 1.7: a,d,c,f,e đường đơn độ dài Còn d,e,c,a khơng đường (e,c) khơng phải cạnh đồ thị Dãy b,c,f,e,b chu trình độ dài Đường a,b,e,d,a,b có độ dài là đường đơn, cạnh (a,b) có mặt hai lần a d b e c a b f d e Hình 1.7 Đường đồ thị Số hóa Trung tâm Học liệu - ĐHTN c f http://www.lrc-tnu.edu.vn/ ... TIN VÀ TRUYỀN THƠNG ĐỒN HỒNG HẢI CÁC THUẬT TỐN TÌM ĐƢỜNG ĐI NGẮN NHẤT TRONG ĐỒ THỊ: LÝ THUYẾT, THUẬT TOÁN VÀ ỨNG DỤNG Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số chuyên ngành: 60 48 0101 LUẬN VĂN THẠC... THỨC CƠ BẢN TRONG LÝ THUYẾT ĐỒ THỊ 1.1 Các khái niệm lý thuyết đồ thị .2 1.1.1 Định nghĩa đồ thị 1.1.2 Các thuật ngữ 1.1.3 Định nghĩa đường đi, chu trình, đồ thị liên... 55 Chƣơng IV: ỨNG DỤNG THUẬT TOÁN TÌM ĐƢỜNG ĐI NGẮN NHẤT VÀO MƠ HÌNH HỆ THỐNG ROUTING TĨNH 60 4.1 Nguyên lý hoạt động Router hệ thống mạng 60 4.2 Ứng dụng thuật toán (Dijkstra)

Ngày đăng: 31/03/2018, 23:58

Từ khóa liên quan

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

Tài liệu liên quan