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

TIỂU LUẬN TOÁN ỨNG DỤNG BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT & THUẬT TOÁN FLOYD-WARSHALL

28 2,4K 8

Đ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 28
Dung lượng 666 KB

Nội dung

BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT & THUẬT TOÁN FLOYD-WARSHALL Trong các ứng dụng thực tế, chẳng hạn trong mạng lưới giao thông đường bộ, đường thuỷ hoặc đường không, người ta không chỉ quan tâm đến việc tìm đường đi giữa hai địa điểm mà còn phải lựa chọn một hành trình tiết kiệm nhất (theo tiêu chuẩn không gian, thời gian hay chi phí). Khi đó phát sinh yêu cầu tìm đường đi ngắn nhất giữa hai địa điểm trong mạng lưới này. Lý thuyết đồ thị đã thể hiện khả năng là một ngành nghiên cứu cực kỳ phù hợp để giải quyết các yêu cầu đặt ra của lớp bài toán trên; chúng ta có thể phát biểu lại yêu cầu trên bằng lý thuyết đồ thị như sau

   BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT & THUẬT TOÁN FLOYD-WARSHALL ĐẠI HỌC ĐÀ NẴNG GVHD: PGS. TSKH Trần Quốc Chiến Nhóm học viên • Trần Ngọc Chinh • Phùng Thị Ngọc Dung • Trần Tấn Nha • Nguyễn Văn Phú • Võ Văn Thiên    !"#$%&'"()"* "*+, -,./".+, Phát biểu bài toán                      !   ! " # $  %& ' ()*+,-./ +01!&234156!   7  -89: ; < - = 75 > ' ?2()* +70  @A 7 B ) C * & !. D +  + 5!E-FG-*.#775>  H-+5IJ<*-* 75>5KA7B)=L Phát biểu bài toán(tt)  MB)</=NOP3QR9: <L Q+S-": R+S-: T3U9+/=NH3U9:  VWLP%X→%Y→%Z→:::→%[Y→% <++\/=NL]5> +LM"2!E^7HB)C7' ?2_^7: `*+3a9 • ;5.#7+'? 2( -"HB)%2bG  +LQB)</=NO3QR95C7 '?2(2. -"H B): • cd++<*-S' ?2^2-_"%!.D/ "^2-:75%++7< .#7/eb<+S f7[g=: Thuật toán - Đầu vào: hB)<5OP3QR9QPiY Z:::j</=N%/3U9: - Đầu ra: kSlPm3U9n<3U9+b+ ?2_U%/ -3U9: kS`Pm-3U9n^)?2 (/ -": Thuật toán(tt)  - Phương pháp:  120 Bước khởi tạo 34'"+&56*7"!8, +9:$+;<=>? +@$+;<=>9A;<=>B"CD";<=>($+;<=>9E∞B" FGCD";<=>;.'B"FG@F"HID  $+;<>9E∞>0 34'"-+&56*7"!8, -+9:8+;<=>? +@8+;<=>9=B"@"JB=(8+;<=>FG7, KB"FG@"JB=0 ,F9L0 ∞ Thuật toán(tt)  1M0Kiểm tra kết thúcL o!P!J:lPl+S+?2 `P`+S^)?2: oGD!5Ye%)3!LP!pY9%+=1N:  1N0Tính ma trận Dk theo Dk-1 và Pk theo Pk-1L Q/ -3U9PY::UPY::&L o ![Y3U9q![Y3!9p![Y3!U9 0  !3U9P![Y3!9p![Y3!U9%+-!3U9P-![Y3!9 G  !3U9P![Y3U9%+-!3U9P-![Y3U9 r71M S3a9 • -8,87,KOP!J QBQ= h?2_UBC7" YZs:::!!pY:::U tC YP-3U9ZP-3YU9:::!pYP-3!U9:::-3U9PU Thuật toán(tt) RS$T6@CKU6" f7 c 7 7 6 b d 1 4 11 5 a [...]... ma trận khoảng cách ngắn nhất giữa các đỉnh D = D4 Ta thấy đồ thị liên thông và chứa chu trình • Sử dụng ma trận P = P4, ta có thể tìm đường đi ngắn nhất giữa các đỉnh Chẳng hạn, để tìm đường đi từ đỉnh d đến đỉnh c ta làm như sau: i1 := P(d,c) = b ; i2 := P(b,c) = c • Từ đó ta nhận được đường đi ngắn nhất từ d đến c: d → b → c với độ dài là 8 Cấu trúc dữ liệu ◊ File dữ liêêu đầu vào: FLOYDWAR.INP... đó: n và m: tương ứng là số đỉnh và số cung của đồ thị G xm và xm : đỉnh đầu và đỉnh cuối của 1 cạnh trên G, với trọng số là wm Cấu trúc dữ liệu(tt) ◊File kết quả: FLOYDWAR.OUT D (Ma trận độ dài đường đi ngắn nhất giữa mọi cặp đỉnh) P (Ma trận xác định đường đi ngắn nhất giữa mọi cặp đỉnh) Cấu trúc dữ liệu(tt) Cấu trúc dữ liệu(tt) Giải thuật FLOYD-WARSHALL Giải thuật Floyd-Warshall xây dựng.. .Thuật toán( tt) Áp dụng giải thuật Floyd-Warshall ta nhận được các ma trận sau: - Các ma trận xuất phát: a = Do b c a +∞ 7 5 +∞ b +∞ +∞ 7 6 c +∞ +∞ +∞ 11 a d d 4 1 +∞ +∞ Po = c b a b c b c c d d d d a b Thuật toán( tt) -Các ma trận cập nhật qua đỉnh a: (các giá trị mới được gạch dưới) a b c d a +∞ 7 5 +∞ b +∞ +∞ 7 6 c +∞ +∞ +∞ D1 = d 4 1 9 11 +∞ a P1 = c b a b c b c c d d d d a b a Thuật toán( tt)... d d a b b b Thuật toán( tt) - Các ma trận cập nhật qua đỉnh d: a c d a D=D4 = b a b c d 17 7 5 13 a b b c b b 10 7 7 6 b d d c d c 15 12 19 11 c d d d d d 4 1 8 7 d a b b P=P4 = b Thuật toán( tt) - Các ma trận cập nhật qua đỉnh C: a c d a D2 = b +∞ 7 5 13 b +∞ +∞ 7 6 c +∞ +∞ +∞ d 4 1 8 a P2 = c d b c b c a b d b 11 c 7 d d a b b b Thuật toán( tt) • Cuối cùng, ta có ma trận khoảng cách ngắn nhất giữa các

Ngày đăng: 10/11/2014, 10:07

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w