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

Đồ án tốt nghiệp định tuyến và gán bước sóng trong mạng WDM

80 11 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

Nội dung

http://www.4tech.com.vn/ Mục lục CHƯƠNG TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN QUANG 1.1 Giới thiệu chương 1.2 Giới thiệu thông tin quang 1.2.1 Sự phát triển thông tin quang .2 1.2.2 Những ưu điểm hệ thống thông tin quang 1.2.3 Cấu trúc thành phần hệ thống thơng tin quang 1.3 Sợi quang 1.3.1 Sợi dẫn quang 1.3.2 Sự truyền ánh sáng sợi quang .8 1.3.3 Các thông số sợi quang 10 1.3.3.1 Suy hao sợi quang 10 1.3.3.1.1 Định nghĩa 10 1.3.3.1.2 Đặc tuyến suy hao 11 1.3.3.1.3 Các nguyên nhân gây suy hao sợi quang 12 1.3.3.2 Tán sắc ánh sáng 13 1.3.4 Ảnh hưởng tán sắc đến dung luợng truyền dẫn sợi quang 14 1.4 Kết luận chương .14 CHƯƠNG 15 GIỚI THIỆU MẠNG WDM .15 2.1 Giới thiệu chương 15 2.2 Nguyên lí hoạt động hệ thống WDM 17 2.3 Ưu điểm hệ thống WDM 18 2.4 Vấn đề tồn hệ thống WDM hướng giải tương lai .19 2.5 Chuyển mạch quang .19 2.6 Các thành phần hệ thống WDM 21 2.6.1 Thiết bị đầu cuối OLT .21 2.6.2 Bộ ghép kênh xen/rớt quang OADM 22 2.6.3 Bộ khuếch đại quang .26 2.6.4 Giới thiệu kết nối chéo quang OXC 29 2.6.4.1 Chức OXC .29 2.6.4.2 Phân loại OXC 32 2.7 Sự chuyển đổi bước sóng .34 2.8 Kết luận chương 36 CHƯƠNG 37 ĐNNH TUYẾN VÀ GÁN BƯỚC SÓNG 37 3.1 Giới thiệu chương 37 3.2 Giới thiệu định tuyến gán bước sóng (Routing and Wavelength Assignment - RWA) 37 3.3 Định tuyến bước sóng 39 3.4 Định tuyến (Routing) .41 3.4.1 Giới thiệu .41 http://www.4tech.com.vn/ 3.4.2 Phân loại định tuyến 42 3.4.3 Lí thuyết đồ thị 43 3.4.3.1 Đồ thị vô hướng 44 3.4.3.2 Đồ thị có hướng 44 3.4.3.3 Đồ thị hỗn hợp 45 3.4.4 Các thuật toán định tuyến 46 3.4.4.1 Thuật toán trạng thái liên kết LSA 46 3.4.4.1.1 Bài toán .46 3.4.4.1.2 Thuật toán 47 3.4.4.1.3 Chứng minh .47 3.4.4.1.4 Các bước thực 48 3.4.4.1.5 Ví dụ thuật tốn Dijkstra 48 3.4.4.2 Thuật toán định tuyến vectơ khoảng cách DVA 50 3.4.4.2.1 Thuật toán 51 3.4.4.2.2.Chứng minh 52 3.4.5 Kết luận 53 3.5 Gán bước sóng .53 3.6 Sự thiết lập đường ảo (Virtual path) 55 3.7 Phân loại mạng quang WDM 56 3.7.1 Mạng single- hop 56 3.7.2 Mạng Multi- hop .57 3.8 Giải thuật cho vấn đề định tuyến gán bước sóng với lưu lượng mạng thay đổi DRWA 58 3.9 Kết luận chương .59 CHƯƠNG 60 THỰC HIỆN MÔ PHỎNG 60 4.1 Giới thiệu chương 60 4.2 Giới thiệu ngôn ngữ Visual C++ .60 4.3 Lưu đồ thuật toán 60 4.4 Kết mô 62 4.5 Kết luận chương 66 http://www.4tech.com.vn/ A APD Avalanche Photodiode Diod tách sóng quang thác lũ AS Autonomous System Hệ thống độc lập ATM Asynchronous Transfer Mode Kiểu truyền bất đồng Border Gateway Protocol Giao thức định tuyến vùng biên Code Division Multiplexing Ghép kênh phân chia theo mã Distance Vector Algorithm Thuật toán Vector khoảng cách B BGP C CDM D DVA DWDM Dense WDM WDM mật độ cao E EDFA Erbium Doped Fiber Amplifier Bộ khuếch đại quang sợi có pha tạp Erbium EIGRP Enhanced IGRP Giao thức IGRP nâng cấp I IGRP Interior Gateway Routing Protocol Giao thức định tuyến bên ISDN Itegrated Servise Digital Network Mạng số tích hợp dịch vụ http://www.4tech.com.vn/ L LD Diod Laser LED Light Emitting Diode Diod phát quang LP Lightpath Đường ánh sáng LSA Link State Algorithm Thuật toán trạng thái liên kết O OADM Optical Add/Drop Multipler Bộ ghép kênh xen/rớt quang OLT Optical Line Terminator Thiết bị đầu cuối quang OXC Optical Cross Connect Bộ kết nối chéo quang P PIN Positive Intrinsic Negative R RIP Routing Information Protocol Giao thức thông tin định tuyến RWA Routing & Wavelength Assignment Định tuyến gán bước sóng Semiconductor Optical Amplifier Bộ khuếch đại quang bán dẫn Time Division Multiplexing Ghép kênh phân chia theo thời gian S SOA T TDM W WDM Wavelength Division Multiplexing Ghép kênh phân chia theo bước sóng http://www.4tech.com.vn/ Hệ thống thơng tin quang đời với ưu điểm vượt trội áp dụng rộng rãi mạng lưới thơng tin tồn cầu Hiện nay, hệ thống thơng tin quang truyền dẫn tất tín hiệu dịch vụ băng hẹp, băng rộng đáp ứng yêu cầu mạng số tích hợp dịch vụ ISDN Vì thế, hệ thống thông tin quang mũi đột phá tốc độ truyền dẫn cấu hình linh hoạt cho dịch vụ viễn thông cấp cao Đối với hệ thống thông tin quang, môi trường truyền dẫn sợi quang, thực truyền ánh sáng mang tín hiệu thơng tin từ phía phát tới phía thu Định tuyến gán bước sóng trở thành chức thiếu mạng quang WDM Vấn đề đặt định tuyến đường cho ánh sáng gán bước sóng cho tuyến để đạt mạng tối ưu Trong đồ án kĩ thuật thông tin này, em xin trình bày đề tài định tuyến gán bước sóng mạng WDM (Routing and Wavelength Assignment) Đồ án chia thành bốn chương: ™ Chương 1: Tổng quan hệ thống thông tin quang ™ Chương 2: Giới thiệu hệ thống WDM ™ Chương 3: Định tuyến gán bước sóng mạng WDM ™ Chương 4: Thực mô định tuyến cho đường ánh sáng lightpath Đề tài “Định tuyến gán bước sóng mạng WDM” đồ án phân tích cần thiết chức định tuyến gán bước sóng mạng quang WDM, trở thành chức thiếu việc điều hành mạng quang Phương pháp nghiên cứu đề tài: dựa vào chức định tuyến gán bước sóng WDM, thực mô chức định tuyến mạng Ánh sáng sợi quang phải qua nhiều node mạng trung gian để tới node đích, tức qua tuyến trung gian Việc định tuyến với tiêu chí tối ưu hàm mục tiêu tham số quen thuộc băng thơng, độ trễ, chi phí tuyến, Vì dùng thuật tốn tìm đường ngắn Dijkstra để thực mô định tuyến tối ưu mạng http://www.4tech.com.vn/ Em xin chân thành cảm ơn thầy giáo Nguyễn Văn Phịng tận tình hướng dẫn, cung cấp tài liệu, đồng thời động viên thời gian em nghiên cứu đề tài Em xin cảm ơn tất thầy cô giáo khoa Điện Tử Viễn Thơng nhiệt tình dạy dỗ, cung cấp trang bị cho em kiến thức quí báu, cám ơn gia đình động viên em suốt thời gian vừa qua, cám ơn bạn góp ý kiến chân thành góp phần giúp em hồn thành đồ án Trong thời gian thực đồ án ngắn đồ án, có nhiều cố gắng đồ án khơng khỏi tránh thiếu sót Kính mong thầy giáo khoa bạn tận tình bảo góp ý kiến để đồ án hồn thiện Em xin chân thành cảm ơn Đà Nẵng, ngày tháng năm 2007 Chương 1: Tổng quan hệ thống thông tin quang http://www.4tech.com.vn/ CHƯƠNG TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN QUANG 1.1 Giới thiệu chương Lượng thông tin trao đổi hệ thống thông tin ngày tăng lên nhanh Bên cạnh gia tăng số lượng, dạng lưu lượng truyền thông mạng thay đổi Dạng liệu chủ yếu lưu lượng Internet Số người sử dụng truy cập Internet ngày tăng thời gian lần truy cập thuờng kéo dài gấp nhiều lần nói chuyện điện thoại Chúng ta hướng tới xã hội mà việc truy cập thơng tin đáp ứng lúc, nơi cần Mạng internet ATM ngày không đủ dung lượng để đáp ứng cho nhu cầu băng thơng tương lai Hình 1.1: Sự gia tăng lưu lượng liệu tiếng nói qua năm Kĩ thuật thơng tin quang xem vị cứu tinh việc giải vấn đề Bởi hệ thống thông tin quang đời với khả vượt trội nó: băng thơng khổng lồ (gần 50Tbps), suy giảm tín hiệu thấp (khoảng 0.2dB/km), méo tín hiệu thấp, địi hỏi lượng cung cấp thấp, khơng bị ảnh hưởng nhiễu điện từ, khả bảo mật cao… Vì thơng tin quang xem kĩ thuật cho hệ thống thông tin băng rộng Các hệ thống thông tin quang không đặc biệt phù hợp với tuyến thơng tin đường dài, trung kế mà cịn có tiềm to lớn việc thực chức mạng nội hạt đáp ứng loại hình dịch vụ tương lai Chương 1: Tổng quan hệ thống thông tin quang http://www.4tech.com.vn/ Vì việc phát triển xây dựng hệ thống thông tin sợi quang cần thiết cho nhu cầu phát triển thông tin tương lai Trong chương nói rõ hệ thống thơng tin sợi quang việc truyền ánh sáng sợi quang 1.2 Giới thiệu thông tin quang Khác với thông tin hữu tuyến hay vô tuyến - loại thông tin sử dụng môi trường truyền dẫn tương ứng dây dẫn khơng gian hình 1.2 - thơng tin quang hệ thống truyền tin qua sợi quang hình 1.3 Điều có nghĩa thơng tin chuyển thành ánh sáng sau ánh sáng truyền qua sợi quang Tại nơi nhận, lại biến đổi thành thơng tin ban đầu Hình 1.2: Thơng tin hữu tuyến Hình 1.3: Thơng tin quang 1.2.1 Sự phát triển thông tin quang Các phương tiện sơ khai thông tin quang khả nhận biết người chuyển dộng, hình dáng màu sắc vật qua đôi mắt Tiếp hệ thống thơng tin điều chế đơn giản xuất cách sử dụng đèn hải đăng, đèn hiệu Sau đó, năm 1791, VC Chape phát minh máy điện báo quang Thiết bị sử dụng khí mơi trường truyền dẫn, chịu ảnh hưởng điều kiện thời tiết Để giải hạn chế này, Marconi sáng chế máy điện báo vơ tuyến có khả thực thông tin người gởi người nhận xa Đầu năm 1880, A.G Bell- người phát minh hệ thống điện thoại nghĩ thiết bị quang thoại có khả biến đổi dao động máy hát thành ánh sáng Chương 1: Tổng quan hệ thống thông tin quang http://www.4tech.com.vn/ Tuy nhiên, phát triển hệ thống bị bỏ bê xuất hệ thống vô tuyến Sự nghiên cứu đại thông tin quang bắt đầu phát minh thành công Laser năm 1960 khuyến nghị Kao Hockham năm 1966 việc chế tạo sợi quang có độ tổn thất thấp Bốn năm sau, Kapron chế tạo sợi quang suốt có độ suy hao khoảng 20dB/km Được cổ vũ thành công này, nhà khoa học kĩ sư khắp giới bắt đầu tiến hành hoạt động nghiên cứu phát triển kết công nghệ giảm suy hao truyền dẫn, tăng dải thông, Laser bán dẫn… phát triển thành công năm 70, độ tổn thất suy hao giảm đến 0.18dB/km Hơn năm 70, Laser bán dẫn có khả thực dao động liên tục chế tạo, tuổi thọ ước lượng khoảng 100 năm cho phép tạo cự ly truyền xa với dung lượng truyền lớn mà không cần đến tái tạo Cùng với công nghệ chế tạo nguồn phát thu quang, sợi dẫn quang tạo hệ thống thông tin quang với nhiều ưu điểm vượt trội hẳn so với hệ thống thông tin cáp kim loại Hiện hệ thống thông tin quang truyền dẫn tất tín hiệu dịch vụ băng hẹp, băng rộng đáp ứng yêu cầu mạng số liên kết đa dịch vụ ISDN 1.2.2 Những ưu điểm hệ thống thông tin quang Thơng tin sợi quang có ưu điểm vượt trội Trong phần này, em đưa ưu điểm thể tính vượt trội nó: ™ Băng thơng khổng lồ đầy tiềm năng: tần số sóng mang quang khoảng1013 đến 1016 Hz (thường gần vùng hồng ngoại quanh giá trị 1014 Hz), cung cấp băng thông truyền lớn nhiều so với hệ thống cáp kim loại (băng thông cáp đồng trục khoảng 500Mhz) Hiện tại, giá trị băng thông hệ thống sợi quang chưa sử dụng hết việc vài GHz qua khoảng cách vài km hàng trăm Mhz qua khoảng cách hàng chục Km mà không cần can thiệp điện (dùng lặp) Vì thế, dung lượng mang thông tin hệ thống thông tin quang lớn nhiều so với hệ thống cáp đồng tốt Do suy hao lớn băng thông rộng, hệ Chương 1: Tổng quan hệ thống thông tin quang http://www.4tech.com.vn/ thống cáp đồng trục giới hạn khoảng cách truyền với vài km băng thông 100Mhz ™ Sợi quang kích thước nhỏ nhẹ: sợi quang có bán kính nhỏ, thường bán kính khơng lớn bán kính sợi tóc người Vì thế, chí sợi quang phủ thêm lớp bảo vệ chúng nhỏ nhẹ nhiều so với cáp đồng ™ Sự cách li điện: sợi quang chế tạo từ thuỷ tinh đơi lúc chất dẻo, chất cách điện, khơng giống với dây dẫn kim loại, khơng cho thấy trục trặc Hơn nữa, đặc tính làm cho việc truyền thơng tin sợi quang trở nên phù hợp cách lí tưởng cho thơng tin mơi trường mạo hiểm điện ™ Không bị ảnh hưởng nhiễu xuyên âm: sợi quang chế tạo từ chất điện môi phi dẫn nên chúng không bị ảnh hưởng nhiễu điện từ, xung điện tử, nhiễu tần số vơ tuyến Vì hoạt động hệ thống thông tin quang không bị ảnh hưởng truyền qua mơi trường nhiễu điện Điều có nghĩa lắp đặt cung ứng với cáp điện lực sử dụng mơi trường phản ứng hạt nhân ™ Bảo mật thông tin: ánh sáng từ sợi quang bị xạ cách không đáng kể nên chúng có tính bảo mật tín hiệu cao Đặc tính thu hút quân đội, ngân hàng ứng dụng truyền liệu ™ Suy hao thấp: phát triển sợi quang qua nhiều năm đạt kết việc chế tạo sợi quang có độ suy hao thấp Sợi quang chế tạo với độ suy hao 0.2dB/km đặc tính trở thành lợi thông tin quang Điều thuận lợi cho việc đặt khuếch đại cho khoảng cách đường truyền mà khơng cần chuyển sang tín hiệu điện bước trung gian, giảm giá thành độ phức tạp hệ thống ™ Tính linh hoạt: lớp bảo vệ cần thiết, sợi quang chế tạo với sức căng cao, bán kính nhỏ Với lợi kích thước trọng lượng, sợi Chương 4: Thực mô http://www.4tech.com.vn/ CHƯƠNG THỰC HIỆN MÔ PHỎNG 4.1 Giới thiệu chương Định tuyến công việc quan trọng mạng quang WDM, thực tìm đường cho lightpath mang lưu lượng thơng tin từ nguồn đến đích với mục đích tối ưu mạng Trong chương này, dựa phần mềm Visual C++, em mô phần định tuyến cho lightpath với hàm mục tiêu tuỳ chọn chi phí, độ trễ, lượng lưu lượng… qua tuyến từ nguồn đến đích Thuật toán sử dụng để thực định tuyến thuật tốn Dijkstra Các trọng số tuyến khơng độ dài đường tuyến mà tuỳ theo tiêu chí mạng chi phí tuyến, độ trễ, băng thông, lưu lượng thông tin N ếu lấy theo tiêu chí chi phí thấp trọng số tuyến (cạnh) chí phí tuyến 4.2 Giới thiệu ngơn ngữ Visual C++ Visual C++ ngơn ngữ lập trình dựa tảng C++, lập trình hướng đối tượng N ếu bạn lập trình C++ việc xây dựng ứng dụng Visual C++ thuận lợi Khi thực lập trình C/C++, để tạo giao diện phức tạp, trình bày đẹp hồn tồn khơng đơn giản N hưng Visual C++ việc đơn giản Bạn cần sử dụng điều khiển hay xây dựng menu đưa vào ứng dụng mà mã lệnh cần viết khơng q dài dịng phức tạp C/C++ Trong chương trình mơ em sử dụng ngơn ngữ lập trình Em chọn ngơn ngữ Visual C++ khả tạo giao diện dễ dàng C/C++ 4.3 Lưu đồ thuật toán Giả sử định tuyến mơ tìm đường với đường ngắn qua tuyến node nguồn node đích Các trọng số cạnh độ dài tuyến thông tin từ node đến node 60 Chương 4: Thực mô http://www.4tech.com.vn/ Bắt đầu Xác định node nguồn đích V1 V2 Thiết lập V1 T-node Thiết lập nhãn T-node sang cố định, sau cập nhật bảng trạng thái node lân cận Xác định node tạm thời nối với V1 mà có trọng số nhỏ thiết lập thành T-node NO T-node có phải V2 YES Dựa vào thông tin bảng trạng thái, làm tới node V1, dãy node đường ngắn Kết thúc 61 Chương 4: Thực mơ http://www.4tech.com.vn/ Thuật tốn thực tìm đỉnh u tập hợp Q mà có giá trị d[u] nhỏ Đỉnh loại khỏi Q đưa vào tập S Tập S chứa bảng đỉnh tạo thành đường ngắn từ s đến node nguồn t function Dijkstra(G, w, s) for each vertex v in V[G] d[v] := infinity // Gán giá trị ban đầu previous[v] := undefined d[s] := // Khoảng cách từ s đến s S := empty set // Thiết lập S tập hợp rỗng Q := V[G] // Tập Q chứa tất node đồ thị while Q is not an empty set u := Extract_Min(Q) 10 S := S union {u} 11 for each edge (u,v) outgoing from u 12 if d[u] + w(u,v) < d[v] 13 d[v] := d[u] + w(u,v) 14 previous[v] := u 4.4 Kết mơ Thuật tốn Dijkstra tìm đường ngắn từ node nguồn đến node đích thực sau: 1.Click vào biểu tượng ”THEM N ODE” để lấy node sau: 62 Chương 4: Thực mô http://www.4tech.com.vn/ 2.Click vào biểu tượng “THEM CAN H” để nối cạnh lại với 63 Chương 4: Thực mô http://www.4tech.com.vn/ 3.Click vào biểu tượng “DUON G N GAN N HAT” thực tìm đường ngắn hai cặp node 64 Chương 4: Thực mô http://www.4tech.com.vn/ 4.Click “OK” để nhận kết 65 Chương 4: Thực mô http://www.4tech.com.vn/ 4.5 Kết luận chương Ta thấy thuật toán định tuyến Dijkstra ứng dụng hiệu việc định tuyến lightpath mạng WDM để tìm đường tối ưu với hàm mục tiêu (cost function) mạng mà ta áp đặt cho Hàm mục tiêu ta theo tiêu chí mạng chi phí tuyến, lượng lưu lượng, băng thơng… Sự áp đặt thực cách đặt trọng số tuyến giá trị hàm mục tiêu Sau trình định tuyến đến node mạng, node mạng thực gán bước sóng cho lightpath Việc gán bước sóng phải thoả mãn điều kiện liên tục bước sóng khơng node mạng phải sử dụng chuyển đổi bước sóng 66 http://www.4tech.com.vn/ Đề tài “định tuyến gán bước sóng mạng quang WDM” cho thấy vai trò quan trọng định tuyến gán bước sóng mạng quang WDM, hiểu số giải thuật định tuyến phương pháp gán bước sóng cho lightpath mạng quang Đồng thời chương trình mơ thể q trình định tuyến lightpath từ node nguồn đến node đích để đường tối ưu theo hàm mục tiêu Kết thúc q trình nghiên cứu đề tài, em đưa số nhận xét sau: ™ Chương trình mơ thực định tuyến với mục đích tìm đường tối ưu từ node nguồn đến node đích, đường Tuy vậy, để tăng cường hiệu mạng đơn chọn tuyến tối ưu mà phải đánh giá tuyến cịn lại để thực phân tải, tránh tình trạng tuyến hoạt động hết cơng suất có tuyến khả thi rỗi ™ Sau thực định tuyến cho lightpath, phải thực gán bước sóng cho N ếu tồn node mạng khơng sử dụng chuyển đổi bước sóng tồn tuyến đường từ nguốn đến đích gán bước sóng Tuy nhiên, tài nguyên số bước sóng node mạng có hạn, điều làm xác suất tắc nghẽn cao node mạng khơng cung cấp bước sóng ràng buộc từ trước Vì thế, mạng ln tìm cách thực định tuyến gán bước sóng cho đạt tối ưu mạng giảm xác suất tắc nghẽn N gày nay, người ta hướng tới mạng tồn quang mà cơng việc xử lí thực hoàn toàn miền quang Mạng toàn quang hứa hẹn đem lại tốc độ cao, giá thành mạng giảm xuống cách đáng kể Đồ án hoàn thành thời gian hạn chế, đặt móng cho việc nghiên cứu phát triển sau này, khơng thể tránh khỏi thiếu sót Hi vọng thời gian tới với kinh nghiệm thực tiễn, em cố gắng hoàn thiện đề tài http://www.4tech.com.vn/ [1] N guyễn Đức N ghĩa- N guyễn Tơ Thành, “Tốn Rời Rạc”, N hà xuất Bản Đại Học Quốc Gia Hà N ội_2004 [2] http://www.2cool4u.ch/ [3] Senior, John.M, “Optical fiber communications”, Library of Congress Cataloging in Publication Data [4] George N Rouskas, “Routing and Wavelength Assignment in Optical WDM N etworks”, Department of Computer Science_2000 [5] Krishna M.Sivalingam, Suresh Subramaniam, “Optical WDM N etworksPrinciples and Practice”, Kluwer Academic Publishers_2000 [6] http://HowStuffWork/HowRoutingAlgorithmsWork [7] “Hệ thống thông tin quang/Vô tuyến”, LG Information and Communication LTD (LGIC) [8] N guyễn Duy N hật Viễn, “Kĩ thuật chuyển mạch mạng diện rộng”, Đại học Bách Khoa Đà N ẵng [9] Regis J BUD Bates, “Optical Switching and N etworking Handbook”, McGrawHill Companies [10] http://en.wikipedia.org/wiki/Dijkstra’s algorithm [11] http://vi.wikipedia.org/wiki/ [12] Jun Zheng, Hussien T Mousftah, “Distributed lightpath control for wavelength-routed WDM network”, University of Ottawa [13] Jin seek Choi, N ada Golmie, Francois Lapeyrere, Frederic Mouveaux and David Su, “A functional Classification of Routing and Wavelength Assignment Shemes in DWDM networks: Static Case”, N ational Institute of Standards and Technology, Gaithersburg, MD, USA http://www.4tech.com.vn/ PHỤ LỤC ƒ Thực thêm biến thực mã lệnh sau: void CAlgorithmsView::OnAddN ode() { m_Dijkstra.StartAddN odes(); } void CAlgorithmsView::OnAddEdge() { m_Dijkstra.StartAddEdges(); } void CAlgorithmsView::OnShortestPath() { CShorthestPath dlg; if(dlg.DoModal()==IDOK) // { m_Dijkstra.ShortestPath(dlg.m_node1, dlg.m_node2); } } ƒ Thực vẽ node cạnh mã sau: class CGraph { public: long GetN rN odes(); CGraph(); virtual ~CGraph(); VTYPE_N ODE m_nodes; // dãy node http://www.4tech.com.vn/ VTYPE_EDGE m_edges; // dãy cạnh VTYPE_N ODE_P d; // array of longs that contain // the shortest path at every step VTYPE_N ODE_P pi; // array of longs that contain // the predecessor of each node for the shortest path }; // // // // // // // // // // // // // // class CN ode { public: CN ode Copy(); double m_cost; // gia tri so long m_N odeN r; // so node POIN T m_p; // diem hoa cho node CN ode(); virtual ~CN ode(); }; // // // // // // // // // // // class CEdge { public: bool m_red; // ve duong di ngan nhat // (neu mot canh la mot phan cua duong di ngan nhat thi no duoc ve mau do) double m_cost; // so cua canh (lay gia tri ngau nhien tu 0-9) long m_secondN ode; long m_firstN ode; POIN T m_secondPct; POIN T m_firstPct; CEdge(); http://www.4tech.com.vn/ virtual ~CEdge(); }; // ve canh bat dau tu node dau den node cuoi ƒ Thuật toán Dijkstra: // The Dijkstra's algorithm STDMETHODIMP CDijkstra::ShortestPath(long node1, long node2) { ReleaseGraph(); InitializeSource(g, g.m_nodes[node1-1]); // Thiet lap S ve rong VTYPE_N ODE S; // Dat cac node vao Q VTYPE_N ODE Q; VTYPE_N ODE::iterator kl; for(kl=g.m_nodes.begin(); kl

Ngày đăng: 16/09/2021, 14:22

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

TÀI LIỆU LIÊN QUAN

w