Luận văn Nghiên cứu ứng dụng thuật toán aco cho việc định tuyến mạng IP

Chỉ trong vòng hơn một thập niên qua, Internet đã phát triển rất nhanh chóng với nhiều mục đích sử dụng khác nhau: từ khoa học kỹ thuật, kinh tế, giáo dục cho đến những hoạt động xã hội. Để đáp ứng nhu cầu hết sức phong phú và đa dạng của những người sử dụng đầu cuối, các nhà cung cấp dịch vụ truyền thông qua Internet đứng trước những thách thức không chỉ đòi hỏi phải nâng cấp thêm các thiết bị mạng mà còn phải cải tiến nhằm tận dụng tối đa các cơ sở hạ tầng mạng hiện có để có thể cung cấp các dịch vụ với chất lượng cao và chi phí hợp lý.Bài toán định tuyến cần được quan tâm nghiên cứu để nhằm tối ưu hóa hiệu suất sử dụng tài nguyên mạng.Trên thế giới đã có nhiều nghiên cứu về các phương pháp định tuyến, với mục đích chủ yếu là tìm ra những phương pháp định tuyến thích hợp để áp dụng vào thực tế mạng lưới [9].

pdf26 trang | Chia sẻ: phamthachthat | Ngày: 12/08/2017 | Lượt xem: 404 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu ứng dụng thuật toán aco cho việc định tuyến mạng IP, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG NGUYỄN THỊ MAI PHƯƠNG NGHIÊN CỨU ỨNG DỤNG THUẬT TOÁN ACO CHO VIỆC ĐỊNH TUYẾN MẠNG IP Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng – Năm 2013 Công trình được hoàn thành tại ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: TS. Nguyễn Tấn Khôi Phản biện 1: TS. Nguyễn Văn Hiệu Phản biện 2: GS. TS. Nguyễn Thanh Thủy Luận văn đã được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ Kỹ thuật họp tại Đại học Đà Nẵng vào ngày 16 tháng 11 năm 2013. Có thể tìm hiểu luận văn tại: - Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng - Trung tâm Học liệu, Đại học Đà Nẵng 1 MỞ ĐẦU 1. Lí do chọn đề tài Chỉ trong vòng hơn một thập niên qua, Internet đã phát triển rất nhanh chóng với nhiều mục đích sử dụng khác nhau: từ khoa học kỹ thuật, kinh tế, giáo dục cho đến những hoạt động xã hội. Để đáp ứng nhu cầu hết sức phong phú và đa dạng của những người sử dụng đầu cuối, các nhà cung cấp dịch vụ truyền thông qua Internet đứng trước những thách thức không chỉ đòi hỏi phải nâng cấp thêm các thiết bị mạng mà còn phải cải tiến nhằm tận dụng tối đa các cơ sở hạ tầng mạng hiện có để có thể cung cấp các dịch vụ với chất lượng cao và chi phí hợp lý.Bài toán định tuyến cần được quan tâm nghiên cứu để nhằm tối ưu hóa hiệu suất sử dụng tài nguyên mạng.Trên thế giới đã có nhiều nghiên cứu về các phương pháp định tuyến, với mục đích chủ yếu là tìm ra những phương pháp định tuyến thích hợp để áp dụng vào thực tế mạng lưới [9]. Bài toán tìm kiếm luôn được nhiều người quan tâm, đặc biệt là tìm kiếm tối ưu toàn cục. Một thuật toán được xem là lý thuyết vững chắc trong việc giải các bài toán tìm kiếm tối ưu toàn cục đã có nhiều ứng dụng thực tế như: tìm kiếm các trang web cần tìm trên mạng, kế hoạch sắp xếp thời khóa biểu cho các y tá trong bệnh viện, tìm kiếm đường đi tối ưu cho những người lái xe hơi, định hướng trong mạng truyền thông đấy là thuật toán kiến (ACS – Ant Colony Search hoặc ACO - Ant Colony Optimization). Xuất phát từ tính cấp thiết của vấn đề và nhu cầu thực tiễn, tôi chọn đề tài luận văn cao học: Nghiên cứu ứng dụng thuật toán ACO cho việc tối ưu hóa quá trình định tuyến trên mạng IP.Nhằm nghiên cứu giải quyết các vấn đề đặt ra. 2 2. Mục đích nghiên cứu - Tìm hiểu và so sánh phương pháp tối ưu hóa - Triển khai thuật toán định tuyến cho định tuyến mạng sử dụng kỹ thuật cập nhật nguồn. - Xây dựng ứng dụng mô phỏng quá trình định tuyến trên mạng sử dụng thuật toán đàn kiến đã triển khai 3. Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu - Các giao thức cơ sở của mạng máy tính - Giải thuật định tuyến trên mạng IP - Giải thuật tối ưu hóa đàn kiến ACO Phạm vi nghiên cứu - Tìm hiểu lý thuyết và xây dựng mô hình mô phỏng 4. Phương pháp nghiên cứu Nghiên cứu lý thuyết - Tìm hiểu các phương pháp định tuyến hiện nay - Tìm hiểu cơ sở lý thuyết về thuật toán tối ưu hóa đàn kiến - Tìm hiểu khả năng thích nghi của thuật toán tối ưu hóa đàn kiến với các giao thức định tuyến Nghiên cứu thực nghiệm - Xây dựng ứng dụng mô phỏng sự hoạt động của thuật toán tối ưu hóa đàn kiến trong định tuyến mạng 5. Ý nghĩa khoa học và thực tiễn của đề tài Ý nghĩa khoa học - Ứng dụng thuật toán đàn kiến để giải các bài toán tối ưu tổ hợp như bài toán chào hàng, bài toán gán, bài toán tô màu đồ thị, bài toán lập lịch, bài toán tìm đường đi ngắn nhất 3 - Ứng dụng thuật toán đàn kiến để giải các bài toán định tuyến cho các mạng IP Ý nghĩa thực tiễn - Ứng dụng thuật toán đàn kiến trong tối ưu định tuyến mạng tìm đường đi tối ưu cho các gói tin trên mạng - Giảm thiểu chi phí định tuyến bằng cách truyền đi những con kiến với kích thước nhỏ thay vì phải truyền đi bảng định tuyến - Những con kiến khi định tuyến thực hiện cập nhật thông tin định tuyến chỉ cần cập nhật một mục trong bảng pheromone độc lập thay vì phải cập nhật toàn bộ bảng định tuyến - Những con kiến có thể gắn vào các gói dữ liệu để truyền đi trên mạng - Thuật toán đàn kiến rất phù hợp cho các mạng năng động 6. Cấu trúc luận văn Nội dung chính của luận văn này được chia thành ba chương với nội dung như sau: Chương 1 - Tổng quan định tuyến mạng: chương này trình bày lý thuyết đồ thị, định tuyến mạng và các giao thức định tuyến Chương 2 - Thuật toán tối ưu đàn kiến ACO: chương này nói về thuật toán đàn kiến ACO, các bài toán tối ưu hóa tổ hợp và tối ưu hóa đàn kiến (ACO), nêu ra thuật toán đàn kiến (ACO) Chương 3 - Ứng dụng thuật toán đàn kiến ACO vào định tuyến mạng IP: chương này trình bày kết quả thử nghiệm về việc định tuyến mạng IP bằng thuật toán ACO 4 CHƯƠNG 1 TỔNG QUAN ĐỊNH TUYẾN MẠNG 1.1. GIỚI THIỆU 1.1.1. Lý thuyết đồ thị a. Định nghĩa đồ thị b. Phân loại đồ thị Có thể phân loại đồ thị theo đặc tính, số lượng của tập các cạnh E. Cho đồ thị G = (V,E) - G được gọi là đơn đồ thị nếu giữa hai đỉnh u và v của V có nhiều nhất là một cạnh trong E nối từ u tới v - G được gọi là đa đồ thị nếu giữa hai đỉnh u và v của V có thể có nhiều hơn một cạnh trong E nối từ u tới v - G được gọi là đồ thị vô hướng nếu các cạnh trong E là không định hướng, tức là cạnh nối hai đỉnh u, v bất kì cũng là cạnh nối hai đỉnh u, v - G được gọi là đồ thị có hướng nếu các cạnh trong E là có định hướng, có thể có cạnh nối từ đỉnh u tới đỉnh v nhưng chưa chắc đã có cạnh nối từ đỉnh v tới đỉnh u c. Chu trình trong đồ thị d. Cây khung và cây khung nhỏ nhất 1.1.2. Định tuyến Định tuyến là quá trình tìm đường đi để truyền tải thông tin trong liên mạng từ nguồn đến đích.Định tuyến là khái niệm cốt lõi của mạng IP và nhiều loại mạng khác nhau. 1.1.3. Phân loại định tuyến a. Định tuyến tĩnh b. Định tuyến động 5 1.1.4. Bảng định tuyến Bảng định tuyến có rất nhiều dạng là: - Địa chỉ đích của mạng, mạng con và hệ thống độc lập - Địa chỉ IP giao diện router kế tiếp phải đến - Giao tiếp vật lý trên router phải sử dụng để đến chặn kế tiếp - Mặt nạ mạng của địa chỉ đích - Khoảng cách quản trị - Thời gian (tính theo giây) từ khi router cập nhật lần cuối 1.2. CÁC THUẬT TOÁN ĐỊNH TUYẾN 1.2.1. Thuật toán định tuyến theo vectơ khoảng cách 1.2.2. Thuật toán định tuyến theo trạng thái đường liên kết 1.3. CÁC GIAO THỨC ĐỊNH TUYẾN Hình 1.10. Các giao thức định tuyến 1.3.1. Giao thức định tuyến RIP 1.3.2. Giao thức định tuyến OSPF 1.3.3. Giao thức định tuyến EIGRP 1.4. KẾT LUẬN CHƯƠNG 1 Trong chương này trình bày tổng quan một số cơ sở lý thuyết về định tuyến mạng, các thuật toán và các giao thức định tuyến để từ đó đưa ra hướng giải quyết đề tài và sau này ứng dụng vào việc giải quyết cho bài toán định tuyến mạng IP. 6 CHƯƠNG 2 THUẬT TOÁN TỐI ƯU ĐÀN KIẾN ACO 2.1. GIỚI THIỆU 2.1.1. Bài toán tối ưu hóa tổng hợp Bài toán tối ưu hóa tổ hợp (Combinatorial optimization) liên quan tới việc tìm giá trị cho các biến số rời rạc như lời giải tối ưu mà có lưu ý tới hàm đánh giá cho trước. Bài toán có thể là bài toán tìm cực đại hoặc tìm cực tiểu. Một cách thông thường, bài toán tối ưu hoá tổ hợp được cho dưới dạng bộ 3 (S, f, Ω). Trong đó S là tập các lời giải ứng cử viên, f là hàm đánh giá (hàm này gán giá trị f(s) cho mỗi lời giải ứng cử viên sÎ S), và Ω là tập các ràng buộc của bài toán. Các lời giải thuộc tập S* Í S thỏa mãn tập các ràng buộc Ω gọi là lời giải khả thi. Mục tiêu bài toán là tìm ra một lời giải khả thi tối ưu toàn cục s*. Với các bài toán tối ưu hóa cực tiểu là tìm lời giải s* với giá nhỏ nhất, nghĩa là f(s*) ≤ f(s) với mọi lời giải s Í S. Ngược lại bài toán tối ưu hóa cực đại là tìm lời giải s* với giá lớn nhất, nghĩa là f(s*) ≥ f(s) với mọi lời giải s Í S. Bài toán tối ưu hóa tổ hợp có thể chia 2 loại: Bài toán tĩnh và bài toán động. 2.1.2. Bài toán tối ưu hóa đàn kiến ACO (Ant Colony optimization – Tối ưu đàn kiến) là một phương pháp nghiên cứu lấy ý tưởng từ việc mô phỏng hành vi của đàn kiến trong tự nhiên nhằm mục tiêu giải quyết các bài toán tối ưu phức tạp. Được giới thiệu lần đầu tiên vào năm 1991 bởi A. Colorni và M. Dorigo, giải thuật kiến đã nhận được sự chú ý rộng lớn nhờ vào khả năng tối ưu của nó trong nhiều lĩnh vực khác nhau. Khái niệm ACO lấy ý tưởng từ việc quan sát hành vi của đàn kiến trong quá trình chúng tìm kiếm nguồn thức ăn. Người ta đã khám phá ra rằng, 7 đàn kiến luôn tìm được đường đi ngắn nhất từ tổ của chúng đến nguồn thức ăn. Phương tiện truyền đạt tín hiệu được kiến sử dụng để thông báo cho những con khác trong việc tìm đường đi hiệu quả nhất chính là mùi của chúng (Pheromone). Kiến để lại vệt mùi trên mặt đất khi chúng di chuyển với mục đích đánh dấu đường đi cho các con theo sau. Vệt mùi này sẽ bay hơi dần và mất đi theo thời gian, nhưng nó cũng có thể được củng cố nếu những con kiến khác tiếp tục đi trên con đường đó lần nữa. Dần dần, các con kiến theo sau sẽ lựa chọn đường đi với lượng mùi dày đặc hơn, và chúng sẽ làm gia tăng hơn nữa nồng độ mùi trên những đường đi được yêu thích hơn. Các đường đi với nồng độ mùi ít hơn sẽ bị loại bỏ và cuối cùng, tất cả các đàn kiến sẽ cùng kéo về một đường đi ngắn nhất từ tổ đến nguồn thức ăn của chúng (Dorigo và Gambardella 1996) Để mô phỏng hành vi của các con kiến thực, Dorigo xây dựng các con kiến nhân tạo (artificial ants) cũng có đặc trưng sản sinh ra vết mùi để lại trên đường đi và khả năng lần vết theo nồng độ mùi để lựa chọn con đường có nồng độ mùi cao hơn để đi. Gắn với mỗi cạnh (i,j) nồng độ vết mùi t ijvà thông số heuristic h ij trên cạnh đó [6][7]. Ban đầu, nồng độ mùi trên mỗi cạnh (i,j) được khởi tạo bằng một hằng số c, hoặc được xác định theo công thức: t ij= t 0 = nnC m , " (i,j) (2.1) Trong đó: t ij: nồng độ vệt mùi trên cạnh i, j m: số lượng kiến Cnn: chiều dài hành trình cho bởi phương pháp tìm kiếm gần nhất. 8 Tại đỉnh i, một con kiến k sẽ chọn đỉnh j chưa được đi qua trong tập láng giềng của I theo một quy luật phân bố xác suất được xác định theo công thức sau: ij ij ij [ ] [ ] , [ ] [ ]k i k il ill N p a b a b t h t h Î = å jÎ kiN (2.2) Trong đó: ij kp : xác suất con kiến k lựa chọn cạnh i,j a : hệ số điều chỉnh ảnh hưởng của t ij ijn : thông tin heuristic giúp đánh giá chính xác sự lựa chọn của con kiến khi quyết định đi từ đỉnh i qua đỉnh j; được xác định theo công thức: ijn = ij 1 d (2.3) dij :khoảng cách giữa đỉnh i và đỉnh j b : hệ số điều chỉnh ảnh hưởng của ijn k iN : tập các đỉnh láng giềng của i mà con kiến k chưa đi qua Quy luật này mô phỏng hoạt động của một vòng quay xổ số nên được gọi là kỹ thuật bánh xe xổ số. Cho một hằng số 0n 0 nq 1 và một số 0n qn 1 được tạo ra một cách ngẫu nhiên. Con kiến k ở đỉnh i sẽ lựa chọn đỉnh j kế tiếp để đi theo một quy tắc lựa chọn được mô tả bởi công thức sau: = ∈ [ ] , ế ≤ , ế ượ ạ (2.4) 2.1.3. Một số thuật toán ACO Thuật toán Ant System (AS) là thuật toán đầu tiên trong lớp 9 các thuật toán ACO được đề xuất bởi Dorigo trong luận án tiến sĩ của ông năm 1992. AS là kết quả của việc nghiên cứu trên hướng tiếp cận trí tuệ máy tính nhằm tối ưu tổ hợp, hướng đến giải quyết bài toán tìm đường đi tối ưu trong đồ thị. AS ban đầu được áp dụng cho bài toán người du lịch (TSP). Mặc dù thuật toán AS vẫn còn thua kém các thuật toán tốt nhất trong việc giải quyết bài toán trên, tuy nhiên ý tưởng của nó thực sự là mới mẻ và tỏ ra có triển vọng. Về sau đã có rất nhiều cải tiến của thuật toán này do chính Dorigo đề xuất, cũng như rất nhiều các thuật toán ACO khác đều dựa trên ý tưởng của thuật toán AS song đã khắc phục được một số nhược điểm của thuật toán này. Có thể kể tên 2 cải tiến nổi trội nhất của thuật toán AS là thuật toán ACS và thuật toán MMAS [8] [13]. Cũng vào năm 1992, tại hội nghị sự sống nhân tạo lần đầu tiên ở châu Âu, Dorigo và các cộng sự đã công bố bài: sự tối ưu được phân bố bởi đàn kiến. Tiếp theo tại hội nghị quốc tế thứ hai về giải quyết các vấn đề song song trong tự nhiên ở Hà Lan (1992), ông và các cộng sự đã công bố bài: nghiên cứu về các đặc tính của một giải thuật kiến [6]. Kể từ năm 1995 Dorigo, Gambardella và Stützle đã phát triển các sơ đồ AS khác nhau. Dorigo và Gambardella đã đề xuất hệ thống đàn kiến (Ant Colony System, hay ACS) trong khi Stützle and Hoos đề xuất MAX-MIN Ant System (MMAS). Tất cả đều áp dụng cho bài toán người du lịch đối xứng hay không đối xứng và cho kết quả mỹ mãn. Hệ thống Max-Min Ant System là một hệ thống cải tiến hệ thống Ant System ban đầu và được đánh giá là hệ thống tính toán trong tương lai. Dorigo, Gambardella and Stützle cũng đề xuất những phiên bản lai của ACO với tìm kiếm địa phương [7]. 10 Vào năm 1995, L.M. Gambardella và M. Dorigo đã đề xuất hệ thống Ant-Q, là một cách tiếp cận học tăng cường cho bài toán TSP và nó được áp dụng trong Học Máy. Tiếp đó, vào năm 1996, trong bài báo công nghệ của mình tại Bruxelles, M. Dorigo và L.M. Gambardella đã công bố hệ thống Ant Conoly System. Đây là hệ thống đề cập đến cách học phối hợp áp dụng cho bài toán TSP. Sau đó, vào năm 1997, G. Di Caro và M. Dorigo đã đề xuất hệ thống AntNet. Đây là cách tiếp cận về định hướng sự thích nghi. Và phiên bản cuối cùng của hệ thống AntNet về điều khiển mạng truyền thông đã được công bố vào năm 1998 [7]. Cũng trong năm 1997, hệ thống Rank-based Ant System, một hệ thống cải tiến hệ thống kiến ban đầu về nghiên cứu hệ thống tính toán đã được đề xuất bởi B. Bullnheimer, R. F. Hartl và C. Strauss. Phiên bản cuối cùng của hệ thống này được công bố năm 1999 [6]. Vào năm 2001, C. Blum, A. Roli, và M. Dorigo đã cho công bố về hệ thống kiến mới là Hyper Cube – ACO. Phiên bản mở rộng tiếp đó đã được công bố vào năm 2004. [8] [12] Hầu hết các nghiên cứu gần đây về ACO tập trung vào việc phát triển các thuật toán biến thể để làm tăng hiệu năng tính toán của thuật toán Ant System ban đầu. - ACO algorithms [6][7]. - Ant System [6] - Elitist AS [7] - Ant-Q [6] - Ant Colony System [7] - Max-Min AS [7] - Rank-based AS [6] 11 - ANTS [6] - Hyper-cube AS [6] 2.2. CÁC NGUYÊN TẮC KHI ÁP DỤNG TỐI ƯU ĐÀN KIẾN 2.2.1 Số lượng kiến 2.2.2 Khám phá hành vi của đàn kiến và sự tối ưu hóa Hành vi đàn kiến Kiến như một cá thể riêng rẽ có các hiệu quả rất hạn chế.Tuy nhiên, mỗi con kiến như là một phần của một đàn có tổ chức tốt, nó trở thành một tác nhân mạnh mẽ, làm việc cho sự phát triển của đàn.Kiến sống cho đàn và tồn tại chỉ như một phần trong đó.Đàn kiến đôi khi được miêu tả như là một siêu tổ chức (superorganism) bởi vì nó dường như hoạt động như một thực thể thống nhất [12]. Mỗi con kiến có khả năng giao tiếp, học tập, hợp tác, và tất cả chúng cùng với nhau có khả năng tự phát triển và xâm chiếm hay định cư một vùng rộng lớn. Chúng quản lý thành công tuyệt vời như vậy bởi tăng số lượng các cá thể và đặc biệt được tổ chức rất tốt. Các nguyên tắc tự tổ chức mà chúng đang sử dụng cho thấy một hành vi phối hợp rất cao của đàn, hơn nữa còn đưa chúng đến thực hiện các nhiệm vụ phức tạp, khó khăn mà vượt xa khả năng cá nhân của một con kiến duy nhất. Pierre Paul Grassé, một nhà côn trùng học người Pháp, là một trong những nhà nghiên cứu đầu tiên nghiên cứu tỉ mỉ về hành vi xã hội của những côn trùng. Ông đã khám phá ra rằng những côn trùng này có khả năng phản ứng lại với những gì mà ông gọi là “tác nhân kích thích đáng kể” (significant stimuli).Những tác nhân kích thích đó làm khởi động một phản ứng đã được mã hóa về mặt di truyền học. Ông quan sát và nhận thấy rằng kết quả của các phản ứng này có thể sinh ra một tác nhân kích thích mới (new significant stimuli) 12 cho chính côn trùng đã sinh ra tác nhân này và những côn trùng khác trong đàn. Grassé đã sử dụng thuật ngữ “stigmergy” để miêu tả cho kiểu thông báo gián tiếp đặc biệt này. Stigmergy được định nghĩa như là một phương pháp thông báo gián tiếp bên trong một hệ thống độc lập tự tổ chức ở đó mỗi cá thể giao tiếp với mỗi cá thể khác bằng cách điều chỉnh môi trường cục bộ xung quanh chúng. Các con kiến thông báo cho các con kiến khác bằng cách để lại các vết mùi hóa chất dọc theo đường đi của nó, như vậy nơi mà các con kiến đi bên trong và xung quanh đàn được gọi là hệ thống stigmergic. Những hiện tượng tương tự đã được tiến hành quan sát cho một vài động vật, chẳng hạn như các con mối, đã sử dụng các vệt hóa chất tiết ra để xây dựng các tổ của chúng rất phức tạp bởi một tập các quy tắc phân quyền đơn giản [2]. Trong nhiều loài kiến, những con kiến trong khi đi tìm thức ăn, nó đặt xuống đất một vết hóa chất gọi là “pheromone”. Những con kiến khác có khả năng ngửi thấy vết hóa chất pheromone này, và nó nhanh chóng bị chi phối đến lựa chọn đường đi cho nó, đó là nó hướng tới đi theo con đường nào mà lượng mùi pheromone tập trung đậm đặc hơn (chứa nhiều pheromone). Hóa chất pheromone được đặt xuống đất tạo thành một vệt pheromone, cho phép các con kiến có thể tìm thấy nhanh nguồn thức ăn đã được nhận biết bởi những con kiến khác. Bằng cách sử dụng các hướng đi ngẫu nhiên và các pheromone trên vùng đất ở đó có chứa một tổ kiến và một nguồn thức ăn, những con kiến sẽ rời tổ, đi tìm kiếm thức ăn và mang trở về tổ. Sau một thời gian, con đường mà được sử dụng bởi những con kiến sẽ hội tụ về đường đi ngắn nhất. 13 a. Thí nghiệm cầu đôi Hình 2.3. Chiếc cầu đôi Hình 2.4. Những con kiến đang khám phá chiếc cầu đôi Hình 2.5. Kiến trở về tổ 2.2.3 Xác định các vệt mùi 2.2.4 Các thông tin heuristic 2.2.5 Điều chỉnh sự học tăng cường và sự khám phá 2.2.6 Sử dụng giới hạn danh sách láng giềng 14 2.2.7 Sơ đồ tổng quát của thuật toán đàn kiến Hình 2.6.Sơ đồ tổng quát của thuật toán đàn kiến 2.3. CÁC ỨNG DỤNG CỦA THUẬT TOÁN ACO Một số bài toán tối ưu NP-khó như: - Các bài toán lập lịch (job shop, flow shop, project scheduling) [6] - Bài toán phân chia sản phẩm (The generalized Assignment Problem GAP) [7] - Bài toán phủ tập hợp (The set covering problem – SCP) [6] - Các bài toán trong học máy: bài toán phân lớp, mạng Bayes [7] 2.4. KẾT LUẬN CHƯƠNG 2 Chương này giới thiệu tổng quan về thuật toán đàn kiến ACO, và một số nguyên tắc khi áp dụng thuật toán vào bài toán. Trong chương tiếp theo ta sẽ đi vào nghiên cứu phân tích, thiết kế xây dựng và triển khai hệ thống. 15 CHƯƠNG 3 ỨNG DỤNG THUẬT TOÁN ĐÀN KIẾN VÀO ĐỊNH TUYẾN MẠNG IP 3.1. MÔ TẢ BÀI TOÁN 3.1.1. Sơ đồ quá trình xử lý tại một nút giả lập Hình 3.1.Sơ đồ hoạt động của một nút giả lập Hoàn thành cập nhật bảng định tuyến 16 Hình 3.2.Sơ đồ sử lý kiến và cập nhật bảng định tuyến 17 3.1.2. Danh sách các đối tượng thiết kế trong hệ thống a. Mối quan hệ giữa các đối tượng b. Thiết kế các lớp chính 18 3.2. KẾT QUẢ TRIỂN KHAI 3.2.1. Giao diện và chức năng ứng dụng Hình 3.4. Giao diện chính của chương trình 3.2.2. Các chức năng Chức năng 1: Nhập xuất dữ liệu - Mở tập tin sơ đồ mạng: chức năng dùng để mở tập tin dữ liệu sơ đồ mạng đã xây dựng trước đó. - Lưu sơ đồ mạng: chức năng dùng để lưu dữ liệu sơ đồ mạng đang biên tập trên giao diện chương trình xuống tập tin. Chức năng 2: Mô hình hóa hệ thống mạng Vùng bên trái của phần mô phỏng mạng chứa các chức năng biên tập đồ thị mạng. 19 Vùng này gồm có các chức năng cơ bản sau: - Biên tập nút: nếu chức năng này được bật thì có thể thêm hoặc xóa nút, hoặc di chuyển nút trong giao hiện đồ thị mạng. - Biên tập cạnh: nếu chức năng này được bật thì có thể tạo các cạnh liên kết giữa các nút, có thể đặt trọng số cho các cạnh, hoặc xóa cạnh. - Xem bảng định tuyến: nếu lựa chọn chức năng này ta có thể xem bảng định tuyến của từng nút trong đồ thị. - Xóa sơ đồ mạng: chức năng này dùng để xóa toàn bộ sơ đồ mạng và các dữ liệu liên quan. Vùng bên phải của phần mô phỏng mạng chứa các chức năng cấu hình định tuyến. Vùng này bao gồm các chức năng cơ bản sau: - Kiểu định tuyến: là một comboBox dùng để lựa chọn một kiểu loại định tuyến. Có ba kiểu định tuyến chính đó là cập nhập nguồn (source update), không cập nhập nguồn (none source update) và định tuyến bằng thuật toán Dijkstra. - Hiển thị kiến: là một checkBox để xác định có hiển thị (đồ họa) kiến trong quá trình định tuyến hay không. - Số lượng kiến: số lượng kiến muốn sử dụng để thực hiện định tuyến trong mạng. - Hiển thị kiến của các nút: là một danh sách để lựa chọn các nút mà muốn những con kiến của nó hiển thị trên đồ thị khi thực hiện định tuyến. - Kết quả định tuyến của nút: là một comboBox để lựa chọn một nút muốn xem kết quả định tuyến của nó. - Tạo mới dữ liệu: chức năng này dùng để tạo dữ liệu từ đồ thị để thực hiện chạy chương trình định tuyến. 20 - Xóa bảng định tuyến: chức năng này dùng để xóa (reset) bảng định tuyến trên tất cả các nút trên mạng. - Bắt đầu/dừng: chức năng dùng để chạy dừng quá trình định tuyến Hình 3.5. Giao diện cấu hình định tuyến Chức năng 3: Hiển thị biểu đồ hệ thống Phần biểu đồ trình bày sự so sánh giữa các thời gian định tuyến khác nhau khi số lượng kiến thay đổi và biểu thị sự tăng tốc của thuật toán khi số lượng kiến thay đổi. Biểu đồ so sánh dưới đây Hình 3.6.của một mạng 30 nút cho ta thấy rằng, số lượng kiến càng lớn thì thời gian định tuyến càng nhỏ và độ tăng tốc của thuật toán càng lớn 21 Hình 3.6. So sánh thời gian thực thi với số lượng kiến mạng 30 nút 3.2.3. Kết quả thực hiện Kịch bản 1: Cho mạng đồi thị với 8 nút mạng và số lượng kiến cần cho định tuyến là 100 con kiến. Hình 3.7. Đồ thị với 8 nút mạng 22 Hình 3.8. Kết quả định tuyến nút N1, N2 đến các nút khác của mạng Kịch bản 2:Sơ đồ mạng gồm 30 nút, đây là một cấu trúc liênquan thực tế SDH của bộ truyền thông Anh Quốc. Hình 3.18.Sơ đồ mạng thực tế SDH của bộ truyền thông Anh Quốc Hình 3.19. Biểu đồ so sánh hiệu suất định tuyến trong đồ thị SDH 23 3.2.4. Nhận xét và đánh giá Qua quá trình tìm hiểu phương pháp mới cho việc giải các bài toán tối ưu tổ hợp, đó là thuật toán tối ưu hóa đàn kiến, và ứng dụng nó để giải các bài toán định tuyến mạng.Đã thực hiện xây dựng ứng dụng mô phỏng định tuyến mạng sử dụng thuật toán tối ưu hóa đàn kiến và đạt được nhiều kết quả khả quan.Ứng dụng thực hiện định tuyến cho tất cả các cặp nút và trình diễn quá trình định tuyến, quá trình di chuyển và tìm đường của những con kiến. 3.3. KẾT LUẬN CHƯƠNG 3 Chương này phân tích các chức năng của hệ thống, biểu đồ lớp và mối quan hệ giữa các đối tượng trong chương trình mô phỏng.Nêu ra sơ đồ hoạt động của một nút mạng giả lập, sơ đồ xử lý kiến và cập nhật bảng định tuyến.Bên cạnh đó còn đưa ra hận xét và đánh giá kết quả đạt được của thuật toán định tuyến mạng ACO. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 1. Kết luận Về lý thuyết - Tìm hiểu và nghiên cứu các cơ sở lý thuyết đồ thị, định tuyến mạng và các giao thức định tuyến. - Tìm hiểu và phân tích khả năng ứng dụng của thuật toán đàn kiến vào việc định tuyến mạng IP. - Đánh giá được hiện trạng của hệ thống mạng Internet hiện nay, qua đó phân tích được các ưu nhược điểm của việc định tuyến mạng hiện nay và có thể đề xuất giải pháp ứng dụng thuật toán đàn kiến vào việc định tuyến mạng. 24 - Nghiên cứu và ứng dụng các bài toán tối ưu hóa việc định tuyến mạng, qua đó còn đánh giá, so sánh giữa thuật toán đàn kiến với các thuật toán định tuyến truyền thống. Về thực nghiệm - Xây dựng ứng dụng mô phỏng định tuyến mạng sử dụng thuật toán tối ưu hóa đàn kiến và đạt được nhiều kết quả khả quan. - Ứng dụng thực hiện định tuyến cho tất cả các nút và trình diễn quá trình định tuyến, quá trình di chuyển và tìm đường của những con kiến. - Ứng dụng thực hiện định tuyến khá nhanh, có thể trình diễn đồ họa quá trình tìm đường của những con kiến. - Có thể biên tập đồ thị mạng bằng chuột và có thể lưu đồ thị mạng vào tập tin. - Ngoài ra, ứng dụng còn mô phỏng định tuyến bằng thuật toán Dijkstra. - Ứng dụng rất thực tế và có thể triển khai thành các giao thức định tuyến mạng. 2. Hướng phát triển - Xây dựng ứng dụng có thể thao tác với nhiều kiểu loại mạng khác nhau. Cải thiện hiệu suất trình diễn đồ họa với đồ thị mạng lớn và số lượng kiến lớn. - Triển khai ứng dụng có thể chạy trên môi trường Web - Triển khai thuật toán trên môi trường lập trình song song.

Các file đính kèm theo tài liệu này:

  • pdftomtat_47_5344.pdf
Luận văn liên quan