Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
218,78 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG - BÀI TẬP LỚN HỌC PHẦN MẠNG MÁY TÍNH ĐỀ TÀI: LẬP TRÌNH MƠ PHỎNG MƠ HÌNH ĐỊNH TUYẾN SỬ DỤNG THUẬT TOÁN ĐƯỜNG ĐI NGẮN NHẤT (SHORTEST PATH ROUTING) Giảng viên: PGS.TS Trần Quang Vinh Nhóm 9: Phạm Trọng Phụng Lưu Văn Cơng Đồn Hữu Hải Đặng Văn Bình Lê Quang Huy Hà Nội, tháng 11 năm 2021 20182723 20182390 20182479 20182379 20182578 MỤC LỤC DANH MỤC HÌNH VẼ I LÝ THUYẾT Định tuyến mạng thông tin: a Định tuyến (routing): b Các lớp thuật toán định tuyến: Giao thức định tuyến: a Giao thức định tuyến trong: b Giao thức định tuyến ngoài: 3.Nút mạng thông tin a Khái niệm nút b Vai trò nút c Các loại nút khác .7 4.Switch a Khái niệm Switch b Tầm quan trọng Switch c Ích lợi chuyển mạch Switch d Đặc điểm Switch .9 Đường truyền II MÔ TẢ ĐỀ BÀI Định tuyến đường dẫn ngắn (Shortest Path Routing): 2.Thuật toán Dijkstra: III Mô Ý tưởng giả thuật Code minh họa Kết mô Nhận xét DANH MỤC HÌNH VẼ Hình Switch Hình Các đường ngắn lồng Hình Ví dụ một mạng Hình Mô hình đường dẫn ngắn nhất Hình Bảng chọn tuyến cho nút I LÝ THUYẾT Định tuyến mạng thông tin: a Định tuyến (routing): Định tuyến trình chọn lựa đường mạng máy tính để gửi liệu qua Việc định tuyến thực cho nhiều loại mạng, có mạng điện thoại, liên mạng, Internet, mạng giao thơng Định tuyến hướng, di chuyển gói (dữ liệu) đánh địa từ mạng nguồn chúng, hướng đến đích cuối thơng qua node trung gian Thiết bị phần cứng chuyên dùng gọi router (bộ định tuyến) Tiến trình định tuyến thường hướng dựa vào bảng định tuyến, bảng chứa lộ trình tốt đến đích khác mạng Vì việc xây dựng bảng định tuyến, tổ chức nhớ router, trở nên vô quan trọng cho việc định tuyến hiệu Routing khác với bridging (bắc cầu) chỗ nhiệm vụ cấu trúc địa gợi nên gần gũi địa tương tự mạng, qua cho phép nhập liệu bảng định tuyến đơn để mơ tả lộ trình đến nhóm địa Vì thế, routing làm việc tốt bridging mạng lớn, trở thành dạng chiếm ưu việc tìm đường mạng internet b Các lớp thuật toán định tuyến: Thuật toán vector (distance-vector routing protocol): Thuật toán dùng thuật tốn Bellman-Ford Nó định số, gọi chi phí (hay trọng số), cho liên kết node mạng Các node gửi thông tin từ điểm A đến điểm B qua đường mang lại tổng chi phí thấp (là tổng chi phí kết nối node dùng) Thuật toán hoạt động với hành động đơn giản Khi node khởi động lần đầu, biết node kề trực tiếp với nó, chi phí trực tiếp để đến (thơng tin, danh sách đích, tổng chi phí node, bước để gửi liệu đến tạo nên bảng định tuyến, hay bảng khoảng cách) Mỗi node, tiến trình, gửi đến “hàng xóm” tổng chi phí để đến đích mà biết Các node “hàng xóm” phân tích thông tin này, so sánh với thông tin mà chúng “biết”; điều cải thiện thơng tin chúng có đưa vào bảng định tuyến Đến kết thúc, tất node mạng tìm bước truyền tối ưu đến tất đích, tổng chi phí tốt Thuật tốn trạng thái kết nối (Link-state routing protocols): Khi áp dụng thuật toán trạng thái kết nối, node sử dụng sở liệu đồ mạng với dạng đồ thị Để làm để làm điều này, node phát tới tổng thể mạng thơng tin node khác mà kết nối được, node góp thơng tin cách độc lập vào đồ Sử dụng đồ này, router sau định tuyến đường tốt từ đến node khác Các router trao đổi gói tin LSA với router khác Đây gói tin nhỏ, chứa thơng tin router Mỗi router dựa vào LSAs để tạo topological database, sử dụng giải thuật SPF (Short Path First) để tìm đường Mỗi router xác định xác topology mạng Chính router đưa định để đưa packet đến đích tốt Mỗi router mạng báo cáo trạng thái nó, link nối trực tiếp trạng thái link Router nhân thông tin tới tất router mạng Cuối tất router mạng có nhìn giống topology mạng Thuật tốn làm theo cách thuật toán Dijkstra (thuật toán mà ta tìm hiểu ứng dụng), cách xây dựng cấu trúc liệu khác, dạng cây, trng node gốc, chứa node khác mạng Bắt đầu với ban đầu chứa Sau từ tập node chưa thêm vào cây, thêm node có chi phí thấp để đến node có Tiếp tục q trình đến node thêm Cây sau phục vụ để xây dựng bảng định tuyến, đưa bước truyền tối ưu… để từ node đến node khác mạng Thuật tốn định tuyến trạng thái kết nối phản ứng nhanh nhạy hơn, khoảng thời gian có hạn, thay đổi kết nối Ngồi ra, gói gửi qua mạng định tuyến trạng thái kết nối nhỏ gói dùng định tuyến vector Giao thức định tuyến: Giao thức định tuyến dùng thi hành thuật toán định tuyến để thuận tiện cho việc trao đổi thông tin mạng, cho phép router xây dựng bảng định tuyến cách linh hoạt Trong số trường hợp, giao thức định tuyến tự chạy đè lên giao thức định tuyến Danh sách giao thức định tuyến: a Giao thức định tuyến trong: Router Information Protocol (RIP) Open Shortest Path First (OSPF) Intermediate System to Intermediate System (IS-IS) Interior Gateway Routing Protocol (IGRP) (thuộc sở hữu Cisco) Enhanced IGRP (EIGRP) (thuộc sở hữu Cisco) b Giao thức định tuyến ngoài: Exterior Gateway Protocol (EGP) Border Gateway Protocol (BGP) Constrained Shortest Path First (CSPF) 3.Nút mạng thông tin a Khái niệm nút Nút thiết bị vật lý mạng thiết bị khác gửi, nhận / chuyển tiếp thơng tin Máy tính nút phổ biến nhất, thường gọi nút máy tính nút internet Modem, switch, hub, bridge, server, printer nút, thiết bị khác kết nối qua WiFi Ethernet Ví dụ, mạng kết nối ba máy tính máy in, với hai thiết bị không dây khác, có sáu nút tổng Các nút mạng máy tính phải có số dạng nhận dạng đó, địa IP địa MAC, để thiết bị mạng khác nhận diện Một nút thơng tin nút thực ngoại tuyến, khơng cịn hoạt động nút b Vai trò nút Các nút mạng phần vật lý tạo thành mạng, thường có vài loại khác Nút mạng thường thiết bị nhận sau truyền đạt thơng tin qua mạng, thay vào nhận lưu trữ liệu, chuyển tiếp thông tin nơi khác tạo gửi liệu Ví dụ, nút máy tính lưu tập tin trực tuyến gửi email, dịng video tải tập tin khác Máy in mạng nhận yêu cầu in từ thiết bị khác mạng máy quét gửi ảnh trở lại máy tính Một định tuyến xác định liệu cung cấp cho thiết bị yêu cầu tải tệp xuống mạng, sử dụng để gửi yêu cầu tới Internet công cộng c Các loại nút khác Trong mạng lưới truyền hình cáp dựa cáp, nút nhà / doanh nghiệp kết nối với thu sợi quang Một ví dụ khác nút thiết bị cung cấp dịch vụ mạng thông minh mạng di động, điều khiển trạm gốc (BSC) Nút Hỗ trợ GPRS Cổng (GGSN) Nói cách khác, nút di động cung cấp phần mềm điều khiển phía sau thiết bị di động, giống cấu trúc với anten sử dụng để truyền tín hiệu đến tất thiết bị mạng di động Siêu nút nút mạng ngang hàng không hoạt động nút thơng thường mà cịn máy chủ proxy thiết bị chuyển tiếp thông tin cho người dùng khác mạng P2P Bởi điều này, siêu âm địi hỏi nhiều CPU băng thơng nút thông thường 4.Switch a Khái niệm Switch Switch là một thiết bị chuyển mạch tối quan trọng mạng, dùng để kết nối các đoạn mạng với theo mô hình hình (Star) Trong mô hình này, switch đóng vai trò trung tâm và tất cả các thiết bị vệ tinh khác kể cả máy tính đều được kết nối về đây, từ đó định tuyến tạo đường nối tạm trung chuyển dữ liệu Ngoài ra, Switch được hỗ trợ công nghệ Full Duplex dùng để mở rộng băng thông của đường truyền, điều mà các thiết bị khác khơng làm được Hình Switch Có thể hiểu đơn giản thiết bị chuyển mạch Switch giống cảnh sát giao thông phân luồng dữ liệu của một mạng cục bộ Nó có khả chọn đường dẫn để quyết định chuyển frame (đơn vị tầng liên kết liệu) nên mạng LAN hoạt động hiệu quả Switch có khả nhận dạng máy được kết nối với nó nhờ cách đọc địa chỉ MAC nguồn frame nó nhận được Khi hai máy mạng liên lạc với nhau, chính Switch sẽ tạo mạch ảo giữa hai cổng tương ứng mà không làm ảnh hưởng đến lưu thông các cổng khác b Tầm quan trọng Switch Hiểu được tầm quan trọng của thiết bị chuyển mạch là gì sẽ giải thích được tại Switch lại cần thiết phải có sở mạng đến vậy Mạng LAN hoạt động ổn định, hiệu suất cao là nhờ Switch có khả tạo đường dẫn kết nối ảo giữa hai thiết bị với mà không làm ảnh hưởng đến những kết nối khác Tương tự Switch, một thiết bị khác khá phổ biến là Hub Về bản thì cả hai thiết bị chuyển mạch này có vai trò tương đương nhau, giúp kết nối nhiều máy tính và thiết bị với mạng và chúng đóng vai trò là trung tâm Tuy nhiên, thay vì tạo mạng ảo kết nối giữa hai thiết bị thì Hub sẽ chia sẻ bang thông cùng một đường truyền Khi có hai máy trạm giao tiếp với thì chúng sẽ chiếm dung lượng băng thông đáng kể, đó hoạt động của các thiết bị khác kết nối vào Hub sẽ bị giảm xuống Nói vậy để biết được thiết bị chuyển mạch Switch thông minh và ưu việt hẳn nhờ khả tạo đường truyền ảo để kết nối riêng biệt giữa hai thiết bị, đảm bảo cung cấp trọn băng thơng c Ích lợi chuyển mạch Switch Có thể các bạn đã hình dung được phần nào lợi ích của thiết bị chuyển mạch là gì, nó cần thiết thế nào đối với tổ chức hay doanh nghiệp Switch giúp cho các hoạt động diễn một cách song công (có thể đọc – ghi, nghe – nói) cùng lúc cùng một thiết bị Ưu việt không phải chia sẻ băng thông giống các thiết bị tương tự khác, không ảnh hưởng đến kênh truyền khác cũng không bị ảnh hưởng bởi chúng Hơn nữa với chế tự kiểm tra lỗi Frame nên sẽ giảm tỉ lệ lỗi frame, các gói tin tốt được nhận sẽ được lưu lại trước chuyển (công nghệ store-andforward) Switch hoạt động chủ yếu ở tầng liên kết dữ liệu Layer hay còn gọi là Switch Layer mô hình tham chiếu OSI (mô hình lý giải cách trừu tượng kỹ thuật kết nối truyền thơng máy vi tính thiết kế giao thức mạng chúng) Nó có thể giới hạn lưu lượng truyền ở mức ngưỡng nào đó Một Switch Layer kèm với các loại giao diện khác 10Mbps, 100Mbps, 1Gbps, 10Gbps… Tất nhiên là nó cũng hỗ trợ giao tiếp Full-duplex mỗi cổng của nó Không chỉ có thế, mỗi Switch đều tạo điều kiện để mở rộng mạng và kết nối với phần còn lại của mạng thông qua các cổng Uplink tốc độ cao, ở có thể kết nối với các thiết bị chuyển mạch Switch Layer khác hay các Switch Layer định tuyến Tóm lại, một Switch hoạt động một bộ điều khiển trung tâm, cho phép tất cả các thiết bị kết nối đến nó giao tiếp hiệu quả Thông qua việc chia sẻ thông tin và phân bổ nguồn lực giúp tăng suất làm việc của nhân viên và tiết kiệm tiền bạc cho doanh nghiệp d Đặc điểm Switch Có trường hợp người dùng internet bình thường hỏi rằng thiết bị chuyển mạch là gì? Nó có tác dụng thế nào? Đặc điểm sao? Tôi có cần phải trang bị cho mạng gia đình không? Xin trả lời với các bạn là “Không”, chỉ các tổ chức hay doanh nghiệp phải xây dựng sở mạng tốt, phục vụ cho nhiều người mới cần phải quan tâm tới Switch Nhìn chung Switch có đặc điểm giống các thiết bị tương tự khác Hub hay Router Tuy nhiên Switch có hai đặc điểm riêng biệt: Phân chia kết nối riêng biệt mỗi đoạn mạng: Switch chia nhỏ hệ thống mạng thành những đơn vị cực nhỏ gọi là microsegment Chính điều này cho phép nhiều người dùng nhiều segment khác có thể giao tiếp và gửi dữ liệu cùng lúc mà không làm ảnh hưởng đến Cung cấp băng thông lớn cho mỗi người dùng bằng cách tạo các miền đụng độ nhỏ Switch chia nhỏ mạng LAN thành nhiều đoạn mạng nhỏ, tương ứng là một kết nối riêng giống một làn đường riêng Đường truyền Đường truyền hệ thống thiết bị truyền dẫn có dây hay khơng dây dùng để chuyển tín hiệu điện tử từ máy tính đến máy tính khác Các tín hiệu điện tử biểu thị giá trị liệu dạng xung nhị phân (On – Off) Tất tín hiệu truyền máy tính thuộc dạng sóng điện từ Tùy theo tần số sóng điện từ dùng đường truyền vật lý khác để truyền tín hiệu Ở đường truyền kết nối dây cáp đồng trục, cáp xoắn, cáp quang, dây điện thoại, sóng vơ tuyến … Các đường truyền liệu tạo nên cấu trúc mạng Tốc độ truyền liệu đường truyền gọi thông lượng đường truyền – thường tính số lượng bit truyền giây (Bps) Thơng lượng cịn đo đơn vị khác Baud (lấy từ tên nhà bác học – Emile Baudot) Baud biểu thị số lượng thay đổi tín hiệu giây Một đơn vị đo tốc độ truyền dẫn liệu khác megabyte giây (MBps MB\s), bằng: megabyte\s (1MBps) = 1024 Kilobytes\s (1024 KBps) = 1024*1024 Bytes\s = 1024*1024*8 bits\s II MÔ TẢ ĐỀ BÀI Định tuyến đường dẫn ngắn (Shortest Path Routing): Bài tốn tìm đường ngắn tốn quan trọng q trình thiết kế phân tích mạng Hầu hết tốn định tuyến giải giải tốn tìm đường ngắn “độ dài” thích hợp gắn vào cạnh (hoặc cung) mạng Trong thuật tốn thiết kế cố gắng tìm kiếm cách tạo mạng thỏa mãn tiêu chẩn độ dài đường Bài toán đơn giản loại tốn tìm đường ngắn hai nút cho trước Loại toán tốn tìm đường ngắn từ nút tới tất nút lại, tương đương tốn tìm đường ngắn từ tất điểm đến điểm Đơi địi hỏi phải tìm đường ngắn tất cặp nút Ta xét graph hữu hướng giả sử biết độ dài cung cặp nút i j l Các độ dài không cần phải đối xứng Khi cung khơng tồn độ dài l giả sử lớn (chẳng hạn lớn gấp n lần độ dài cung lớn mạng) Chú ý áp dụng q trình cho mạng vô hướng cách thay cạnh hai cung có độ dài Ban đầu giả sử l dương hồn tồn; sau giả thiết thay đổi Phần lớn mạng chuyển mạch gói sử dụng thuật tốn khác phương pháp chọn tuyến đường ngắn lớp mạng thực Một số mạng chọn tuyến theo cách thức tập trung, thiết lập đường dẫn nút nguồn nút đích trung tâm điều hành mạng NMC (Network Management Center) hay trung tâm điều khiển chọn tuyến RCC (Routing Control Center) sau phân phối thơng tin chọn tuyến đến tất nút chuyển mạch mạng Các nút mạng khác sử dụng cách thức phi tập trung hay gọi cách thức phân bố, nút trao đổi thông tin chọn tuyến giá thành với nút khác mạng sở tương tác bảng định tuyến đáp ứng yêu cầu định tuyến ngắn 2.Thuật toán Dijkstra: Tất thuật tốn tìm đường ngắn dựa vào việc lồng đường ngắn nghĩa nút k thuộc đường ngắn từ i tới j đường ngắn từ i tới j đường ngắn từ i tới k kết hợp với đường ngắn từ j tới k Vì tìm đường ngắn công thức đệ quy sau: d = (d + d) Hình Các đường ngắn lồng Dxy độ dài đường ngắn từ x tới y Khó khăn cách tiếp cận phải có cách khởi động đệ quy khơng thể khởi động với giá trị vế phải phương trình Thuật tốn Dijkstra phù hợp cho việc tìm đường ngắn từ nút i tới tất nút khác Bắt đầu cách thiết lập d = d = i ≠ j Sau thiết lập d l j nút kề cận i Sau tìm nút j có d bé Tiếp lấy nút j vừa chọn để khai triển khoảng cách nút khác, nghĩa cách thiết lập d (d, d + l) Tại mỗi giai đoạn của quá trình, giá trị của d là giá trị ước lượng hiện có của đường ngắn nhất từ i tới k, và thực là độ dài đường ngắn nhất đã được tìm cho tới thời điểm đó Xem d là nhãn nút k Quá trình sử dụng một nút để triển khai các nhãn cho các nút khác gọi là quá trình quét nút Thực hiện tương tự, tiếp tục tìm các nút chưa được quét có nhãn bé nhất và quét nó Chú ý rằng, vì giả thiết tất cả các l đều dương đó một nút không thể gán cho nút khác một nhãn bé chính nhãn của nút đó Vì vậy, một nút được quét thì việc quét lại nó nhất thiết không bao giờ xảy Nếu nhãn một nút thay đổi, nút đó phải được quét lại Ví dụ: xét mạng hình sau, mỗi đường ghép nối có các trọng số tương ứng với giá thành của từng đường, để đơn giản ta coi các trọng số này theo cả hai chiều là nhau, mặc dù thực tế chúng có thể khác về giá trị Để chọn được đường dẫn ngắn nhất từ một nguồn tới tất cả các nút mạng, đòi hỏi phải có kiến thức về cấu hình tổng thể của mạng (danh sách các nút và các ghép nối giữa chúng) cũng giá thành của từng đường nối Điều đó dẫn tới việc tính toán tập trung dựa thông tin đầy đủ lưu các sở dữ liệu trung tâm (Central Database) Hình Ví dụ một mạng Thuật toán được thực hiện theo từng bước, xây dựng mô hình đường ngắn nhất (Shortest Path Tree) có gốc tại nút nguồn (nút 1) Các đường dẫn ngắn nhất tới k nút khác được tính toán k bước, chúng được tập hợp lại tập N Coi D(v) là khoảng cách (tổng của các trọng số đường nối dọc theo đường dẫn) từ nút nguồn tới nút v Coi l(i,j) là giá thành đã cho giữa nút i và j Thuật toán gồm bước: 1.Bước khởi đầu Đặt N={1} (tập N ban đầu chỉ gồm nhất nút), với mỗi nút v N đặt D(v)=l(l,v), với các nút không nối trực tiếp với nút l ta coi giá thành bằng 2.Bước lặp Tìm nút w không thuộc N cho D(w) là tối thiểu và bổ sung w vào tập N Sau đó thay D(v) cho toàn bộ các nút không thuộc N còn lại bằng cách tính: D(v) min[D(v),D(w) + l(w,v)] Bước này được lặp lại cho đến tất cả các nút đều có N Sau thực hiện, ta lần lượt có được các bước mô tả bởi bảng thống kê sau: Bước Tập N D (2) D (3) D (4) D (5) D (6) {1} {1,2} {1,2,3} 3 {1,2,3,6} {1,2,3,6,4} 5 {1,2,3,6,4,5} Mô hình đường ngắn nhất nếu lấy nút làm nút nguồn có thể mô tả hình vẽ sau: Hình 4.Mô hình đường dẫn ngắn nhất Đích Nút tiếp theo 2 3 4 5 Hình 5.Bảng chọn tuyến cho nút Với thuật toán này ta có thể tính được các tuyến đường có đường dẫn ngắn nhất cho từng nút, cụ thể ta coi nút đó là nút nguồn rồi thực hiện các bước giải thuật kể Trong trường hợp chọn tuyến theo phương thức tập trung, NMC sẽ gửi các bảng chọn tuyến cho từng nút một sau đã thiết lập xong, còn nếu mạng sử dụng phương thức phân bố thì từng nút phải tính lấy bảng định tuyến, cùng sử dụng các thông tin tổng thể (được cung cấp bởi các nút lân cận hoặc bởi NMC) và chọn đường dẫn cho riêng nó III Mô Ý tưởng giả thuật Dựa giải thuật Dijkstra, nhóm em mơ lại cách hoạt động giải thuật ngôn ngữ C++ thông qua bước đây: Step 1: Khởi tạo khoảng cách tất đỉnh vô hạn Step 2: Tạo tập hợp trống Mỗi mục cặp (trọng số, đỉnh) Trọng số (hoặc khoảng cách) sử dụng để so sánh hai cặp Step 3: Chèn đỉnh gốc vào tập hợp tạo khoảng cách Step 4: Trong Set khơng trống: a) Trích xuất khoảng cách tối thiểu đỉnh Cho đỉnh trích xuất u b) Vịng qua tất lân cận u làm cho đỉnh v Nếu dist [v]> dist [u] + weight (u, v) (i) Cập nhật khoảng cách v, tức là: dist [v] = dist [u] + weight (u, v) (ii) Nếu v đặt, cập nhật khoảng cách cách xóa trước, sau chèn với khoảng cách (iii) Nếu v khơng có bộ, chèn với khoảng cách Step 5: In mảng khoảng cách dist [] để in tất khoảng cách ngắn Code minh họa #include using namespace std; # define INF 0x3f3f3f3f class Graph{ int V; list< pair > *adj; public: Graph(int V); // Constructor void addEdge(int u, int v, int w); void shortestPath(int s); }; Graph::Graph(int V){ this->V = V; adj = new list< pair >[V]; } void Graph::addEdge(int u, int v, int w){ adj[u].push_back(make_pair(v, w)); adj[v].push_back(make_pair(u, w)); } void Graph::shortestPath(int src){ set< pair > setds; vector dist(V, INF); setds.insert(make_pair(0, src)); dist[src] = 0; while (!setds.empty()){ pair tmp = *(setds.begin()); setds.erase(setds.begin()); int u = tmp.second; list< pair >::iterator i; for (i = adj[u].begin(); i != adj[u].end(); ++i) { int v = (*i).first; int weight = (*i).second; if (dist[v] > dist[u] + weight){ if (dist[v] != INF) setds.erase(setds.find(make_pair(dist[v], v))); dist[v] = dist[u] + weight; setds.insert(make_pair(dist[v], v)); } } } printf("Vertex Distance from Source\n"); for (int i = 0; i < V; ++i) printf("%d \t\t %d\n", i, dist[i]); } int main(){ int V = 9; Graph g(V); g.addEdge(0, 1, 4); g.addEdge(0, 7, 8); g.addEdge(1, 2, 8); g.addEdge(1, 7, 11); g.addEdge(2, 3, 7); g.addEdge(2, 8, 2); g.addEdge(2, 5, 4); g.addEdge(3, 4, 9); g.addEdge(3, 5, 14); g.addEdge(4, 5, 10); g.addEdge(5, 6, 2); g.addEdge(6, 7, 1); g.addEdge(6, 8, 6); g.addEdge(7, 8, 7); g.shortestPath(0); return 0; } Kết mô Vertex Distance from Source 0 12 19 21 11 8 14 Nhận xét Độ xác mơ phỏng: đạt u cầu, mơ xác đạt kết kì vọng ban đầu Độ phức tạp thời gian: Thiết lập C++ thường thực cách sử dụng tìm kiếm nhị phân tự cân Do đó, độ phức tạp thời gian hoạt động tập hợp chèn, xóa logarit độ phức tạp thời gian giải pháp O (ELogV)) ... bitss II MÔ TẢ ĐỀ BÀI Định tuyến đường dẫn ngắn (Shortest Path Routing): Bài tốn tìm đường ngắn toán quan trọng trình thiết kế phân tích mạng Hầu hết tốn định tuyến giải giải tốn tìm đường ngắn “độ... thuộc đường ngắn từ i tới j đường ngắn từ i tới j đường ngắn từ i tới k kết hợp với đường ngắn từ j tới k Vì tìm đường ngắn công thức đệ quy sau: d = (d + d) Hình Các đường ngắn lồng Dxy độ dài đường. .. d Đặc đi? ??m Switch .9 Đường truyền II MÔ TẢ ĐỀ BÀI Định tuyến đường dẫn ngắn (Shortest Path Routing): 2 .Thuật toán Dijkstra: III Mô