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

Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP

73 350 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

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 0,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hình 1.3 Cấu trúc cơ bản của một mạng trục cấp 2 Trong [2], tác giả khẳng định khi một mạng với số node lớn thì thuật toán Dijkstra trở nên kém hiệu quả khi có nhiều tính toán cần phải đ

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc

Học viên thực hiện Luận văn

Trang 2

LỜI CÁM ƠN

Em xin cám ơn quý Thầy Cô phòng Quản lý khoa học và Đào tạo sau đại học, Trường Đại học Công nghệ TP HCM đã hướng dẫn và cung cấp đầy đủ các thông tin giúp em hoàn thành Luận văn thạc sĩ này

Em xin cám ơn Thầy Lê Mạnh Hải, Giảng viên Khoa Công nghệ thông tin, Trường Đại học Công nghệ TP HCM đã đồng ý và hết lòng hướng dẫn em thực hiện Luận văn thạc sĩ này

Em xin cám ơn quý Thầy đã nhiệt tình giảng dạy và đưa ra các kiến thức rất bổ ích giúp em hình thành Luận văn

Cám ơn các Anh Chị học viên lớp 12SCT21 đã cùng em gần 2 năm học tập và nghiên cứu cùng nhau

Nguyễn Ngọc Đại

Trang 3

TÓM TẮT

Hiệu suất và độ tin cậy của Internet phụ thuộc vào hoạt động của các giao thức định tuyến Trong các giao thức định tuyến đang được sử dụng thì Open Shortest Path First (OSPF) với thuật toán Dijkstra là được sử dụng phổ biến nhất Thuật toán Dijkstra được sử dụng để tìm kiếm đường đi ngắn nhất từ một node đến tất cả các node còn lại trong đồ thị Thuật toán dừng khi node đích là đạt được Do đó, nếu có nhiều đường đi cùng ngắn nhất để truyền các gói tin từ node nguồn đến node đích thì thuật toán Dijkstra chỉ xuất ra được một đường đi Điều này không phản ánh được nhu cầu là cần thực hiện cân bằng tải trong định tuyến Bên cạnh đó, mạng Internet ngày càng phát triển với một số lượng lớn node Khi có sự thay đổi trong cấu trúc liên kết mạng, thuật toán Dijkstra sẽ mất nhiều tính toán lặp lại

Luận văn chọn tiếp cận theo giải thuật di truyền để giải quyết vấn đề nêu trên Giải thuật di truyền có thể khám phá không gian tìm kiếm theo nhiều hướng Giải thuật

di truyền thích hợp cho việc giải quyết vấn đề có không gian giải pháp là lớn Để thực hiện được mục tiêu tìm kiếm thì giải thuật di truyền phải dựa trên các khái niệm về quần thể, cá thể và các hoạt động di truyền như chọn lọc, lai ghép, đột biến, thay thế

Trang 4

ABSTRACT

Performance and reliability of the Internet depends on the operation of the routing protocol In the routing protocol being used, the Open Shortest Path First (OSPF) with Dijkstra's algorithm is used most commonly Dijkstra's algorithm is used to find the shortest path from one node to all other nodes in the graph The algorithm stops when the destination node is reached Therefore, if there are multiple shortest paths to transmit the packets from the source node to the destination node, then Dijkstra algorithm is only one way out This does not reflect the demand is to perform load balancing in routing Besides, the Internet is growing with a large number of nodes When there is a change in the network topology, Dijkstra's algorithm takes many repeated calculations

This thesis focuses describes a genetic algorithm to solve the routing problems Genetic algorithm can explore the search space in many directions Genetic algorithms are suitable for solving the problem that the solution space is huge To accomplish the goal of searching for the genetic algorithm is based on the concept of population, individuals and genetic operations such as selection, crossover, mutation, replacement

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CÁM ƠN ii

TÓM TẮT iii

ABSTRACT iv

MỤC LỤC v

DANH MỤC CÁC TỪ VIẾT TẮT vii

DANH MỤC CÁC HÌNH ẢNH viii

DANH MỤC CÁC BẢNG ix

CHƯƠNG 1 MỞ ĐẦU 1

1.1 Đặt vấn đề 1

1.2 Lý do chọn đề tài 1

1.3 Phương pháp luận 5

1.4 Cấu trúc Luận văn 6

CHƯƠNG 2 TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU 7

2.1 Các nghiên cứu liên quan đến công việc của luận văn 7

2.2 Nhiệm vụ của Luận văn 9

2.3 Tổng quan về định tuyến 10

2.3.1 Định tuyến và hoạt động định tuyến 10

2.3.2 Tối ưu hóa định tuyến 13

2.3.3 Mô hình hóa bài toán ước lượng nhu cầu truyền thông 15

2.3.4 Phương pháp ước lượng nhu cầu truyền thông 16

Trang 6

2.4 Tổng quan về giải thuật di truyền 21

2.4.1 Các khái niệm quan trọng trong giải thuật di truyền 22

2.4.2 Cấu trúc của giải thuật di truyền 23

CHƯƠNG 3 ỨNG DỤNG GIẢI THUẬT DI TRUYỀN ĐỂ TÌM CÁC ĐƯỜNG ĐI TỐT NHẤT TRONG MẠNG IP 25

3.1 Phương pháp thực hiện 25

3.2 Sơ đồ giải thuật của phương pháp thực hiện 26

3.3 Các bước hoạt động cụ thể của phương pháp thực hiện 27

3.4 Kết quả của phương pháp thực hiện 38

CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN 45

TÀI LIỆU THAM KHẢO 46

PHỤ LỤC 48

Trang 7

DANH MỤC CÁC TỪ VIẾT TẮT

AS Autonomous System

IP Internet Protocol

ISP Internet Service Provider

NAT Network Address Translation

OSPF Open Shortest Path First

QoS Quality of Service

RIP Routing Information Protocol

SNMP Simple Network Management Protocol

TCP Transmission Control Protocol

UDP User Datagram Protocol

Trang 8

DANH MỤC CÁC HÌNH ẢNH

Hình 1.1 Ví dụ một đồ thị G 3

Hình 1.2 Mạng trục Internet 4

Hình 1.3 Cấu trúc cơ bản của một mạng trục cấp 2 5

Hình 2.1 Độ hội tụ trong mô hình mạng 11

Hình 2.2 Các thành phần chính trong quá trình tối ưu 14

Hình 2.3 Ví dụ mô hình cho bài toán ước lượng nhu cầu truyền thông [10] 15

Hình 2.4 Đường trục chính và đường liên kết biên trong cùng một AS 18

Hình 3.1 Python 2.7.8 Shell 25

Hình 3.2 Sơ đồ giải thuật của phương pháp thực hiện 26

Hình 3.3 Đồ thị G = G(10,16,Cv) 27

Hình 3.4 Chọn lọc giải đấu 31

Hình 3.5 Kết quả của phương pháp thực hiện 38

Hình 3.6 Kết quả của thuật toán Dijkstra 38

Hình 3.7 Mô hình 50 node 39

Hình 3.8 Kết quả của thuật toán Dijkstra cho mô hình 50 node 40

Hình 3.9 Kết quả của phương pháp thực hiện cho mô hình 50 node 40

Trang 9

DANH MỤC CÁC BẢNG

Bảng 2.1 Ví dụ về một ma trận lưu lượng 16

Bảng 3.1 Các cá thể trong quần thể ban đầu 28

Bảng 3.2 Giá trị fitness của các cá thể trong quần thể ban đầu 29

Bảng 3.3 Kết quả tìm đường đi sau 50 lần cập nhật trong mô hình 50 node 41

Trang 10

CHƯƠNG 1 MỞ ĐẦU

1.1 Đặt vấn đề

Do nhu cầu sử dụng Internet rất lớn từ doanh nghiệp và cá nhân, các nhà cung cấp dịch vụ Internet – ISP) luôn cố gắng đáp ứng nhu cầu lưu lượng truyền và nhận trên mạng ngày càng tăng Các gói tin được gửi đi qua mạng theo nhiều đường đi khác nhau

từ node mạng nguồn đến node mạng đích bằng các giao thức định tuyến Các node mạng trong định tuyến được hiểu là các thiết bị định tuyến (router) Mục đích của giao thức định tuyến là tìm ra đường đi tốt nhất cho các gói tin [1] Đường đi tốt nhất là đường đi có tổng chi phí nhỏ nhất Yếu tố chi phí có thể được suy ra từ băng thông, khoảng cách giữa các node, độ trễ khi truyền các gói tin, độ tải, độ tin cậy hoặc giá trị lớn nhất của một gói tin (byte) mà một node có thể xử lý được

Hiệu suất và độ tin cậy của Internet phụ thuộc lớn vào các hoạt động của giao thức định tuyến [2] Vấn đề tìm kiếm đường đi tối ưu nhất giữa hai node là một vấn đề lớn trong phân tích mạng Khi mạng càng phát triển, luôn đòi hỏi các nghiên cứu để tối

ưu hoạt động định tuyến hiện có Trong những năm gần đây đã có nhiều nghiên cứu thể hiện xu hướng cho bài toán này Trong các nghiên cứu [2], [3], [4], [5], các tác giả đã đưa ra một hướng tiếp cận dựa trên giải thuật di truyền Giải thuật di truyền được xem

là hướng tiếp cận hiệu quả khi cần tìm kiếm các giải pháp tối ưu trong một không gian lớn Do đó, Luận văn tập trung vào ứng dụng của giải thuật di truyền trong định tuyến mạng IP

1.2 Lý do chọn đề tài

Luận văn chọn thực hiện đề tài “Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP” do nguyên nhân sau:

Trang 11

Trong các giao thức định tuyến trong cùng một AS thì OSPF là giao thức quan trọng và phổ biến nhất [3] Định tuyến OSPF được thực hiện bằng kỹ thuật đồ thị với thuật toán Dijkstra Thuật toán Dijkstra được đưa ra bởi nhà khoa học máy tính người

Hà Lan – Edsger Dijkstra vào năm 1959 Mô hình toán học của mạng truyền dữ liệu được xem như là một đồ thị G = (N, V, Cv) N là số node mạng, V là các liên kết giữa các node và Cv là giá trị trọng số (cost) của liên kết trực tiếp giữa 2 node Ở mỗi node, giải thuật Dijkstra xác định 3 thông tin là Kn, Dn, Pn

 Kn: Mang giá trị Boolean, xác định trạng thái được chọn của node n Ban đầu, thuật toán khởi tạo tất cả các node chưa được chọn Nghĩa là, Kn = false, ∀n  N

 Dn: Giá trị cost của đường đi cho đến thời điểm đang xét Ban đầu, thuật toán khởi tạo Dn = ∞, ∀n  N \{node nguồn}, Dnode nguồn = 0 hay Da = 0

 Pn: Node trước của node n trên đường đi ngắn nhất từ a đến b Đường đi ngắn nhất từ a đến b sẽ có dạng (a,…,Pn,n,…,b)

Các bước cụ thể của thuật toán Dijkstra như sau:

Bước 1 Khởi tạo Kn = false ∀n  N, Dn = ∞ ∀n  N \ {a}, Da = 0

Bước 2 Chọn Dn = min {Dt / t  N, Kt = false} Nếu Dn = ∞ thì thuật toán kết thúc, không tồn tại đường từ a đến b

Bước 3 Ngược lại thì đánh dấu node n, Kn = true

Bước 4 Nếu n = b thì kết thúc thuật toán và Db là độ dài đường đi từ a đến b Ngược lại nếu n ≠ b thì chuyển sang Bước 5

Bước 5 Với mỗi node u kề với node n mà Ku = false, nếu Du > Dn + C(n,u) thì gán Du = Dn + C(n,u) và quay lại Bước 2

Trang 12

Gọi f(n) là số lần mà giải thuật Dijkstra khảo sát một node trong đồ thị G trong trường hợp xấu nhất Khi đó thì f(n) < (|N|2) Ở Bước 5 là vòng lặp chứa các Bước

từ 2 đến 5 Vòng lặp được thực hiện cho đến khi n = b Vì ở mỗi vòng lặp sẽ rút ra một node của N, khởi đầu N có n phần tử nên vòng lặp được xử lý nhiều nhất là n lần Ở Bước 2 thì số node tối đa được khảo sát là (n-1), ở Bước 5 thì số node kề tối đa được khảo sát là (n -1) Do đó, f(n) ≤ 2(n-1)n < (|N|2) Độ phức tạp của thuật toán Dijkstra là (|N|2) Hình 1.1 là một đồ thị G(8, 10, Cv) Nếu node 1 là node nguồn, node 3 là node đích thì một đường đi có thể từ A sang B là A node1 node 2 node

3 B Đường đi này sẽ có tổng cost là c1 + c2

Hình 1.1 Ví dụ một đồ thị G

Đồ thị trong Hình 1.1 được tạo ra bằng một ma trận với 3 véctơ hàng như bên dưới Véctơ hàng 1 đại diện cho node nguồn, véctơ hàng 2 đại diện cho node đích, véctơ hàng 3 đại diện cho giá trị cost cho liên kết giữa 2 node tương ứng

Trang 13

OSPF được cấu hình theo nhiều vùng, mỗi vùng chỉ nên có từ 40 đến 50 node Một AS đại diện cho một ISP thường cấu hình rất nhiều vùng kết nối với nhau Ở Việt Nam, các ISP lớn như FPT, Viettel, VNPT… được xem là những mạng trục cấp 2 (ISP Tier-2) Một mạng trục cấp 2 có cấu trúc gồm lớp lõi, lớp phân phối và các điểm đấu nối Phía trên mạng trục cấp 2 là những mạng trục cấp 1 (ISP Tier-1) Hình 1.3 bên dưới là cấu trúc của một mạng trục cấp 2 Mạng trục cấp 1 là xương sống của mạng Internet, được thiết kế cho việc truyền dữ liệu qua những tuyến đường dài Các mạng trục cấp 1 như AT&T, Sprint, GÉANT Dưới mạng trục cấp 2 là các mạng chi nhánh Mạng chi nhánh thuộc về các công ty, bệnh viện, trường đại học hay những khách hàng

cá nhân Hình 1.2 là một mạng trục Internet

Hình 1.2 Mạng trục Internet Một gói tin được gửi bởi một máy tính thường đi qua nhiều AS trước khi đến đích, làm cho hiệu suất truyền thông phụ thuộc vào lưu lượng trong và giữa các AS Bên cạnh đó, theo thống kê năm 2002 trên thế giới có tổng cộng khoảng 12.500 AS với hơn 100.000 nhóm các địa chỉ IP đang được sử dụng [6] Trong đó, hệ thống tự trị lớn nhất là khoảng 100.000 nhóm địa chỉ IP Do đó, G = (N, V, Cv) thường có số lượng node lớn

Trang 14

Hình 1.3 Cấu trúc cơ bản của một mạng trục cấp 2 Trong [2], tác giả khẳng định khi một mạng với số node lớn thì thuật toán Dijkstra trở nên kém hiệu quả khi có nhiều tính toán cần phải được thực hiện Nếu đường đi ngắn nhất trở nên quá tải hoặc tắc nghẽn xảy ra trên một liên kết thì các gói tin sẽ bị trì hoãn hoặc không thể đến node đích do các node phải xử lý chúng trong hàng đợi theo QoS

Do vậy, mục tiêu chính của đề tài là tìm ra tập đường đi tối ưu được cân bằng tải trong một không gian tìm kiếm lớn Luận văn chọn phương pháp tiếp cận theo giải thuật di truyền để giải quyết vấn đề đã nêu Giải thuật di truyền đã được chứng minh là

có thể khám phá không gian giải pháp trong nhiều hướng [7], [8], [9]

1.3 Phương pháp luận

Luận văn “Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP” xuất phát từ khái niệm Convergence hay sự hội tụ trong định tuyến Khái niệm hội tụ mạng được hiểu là từ một node bất kỳ trên mạng có thể liên lạc được với tất cả các node còn lại theo các đường đi tốt nhất Khi mạng đạt được hội tụ thì quá trình truyền

Trang 15

dữ liệu giữa các node mạng mới được thực hiện thành công Có thể thấy sự hội tụ mạng nhanh hay chậm sẽ ảnh hưởng lớn đến hiệu suất hoạt động mạng

1.4 Cấu trúc Luận văn

Luận văn được chia thành 4 Chương như sau:

CHƯƠNG 1 MỞ ĐẦU Nội dung của Chương gồm 2 phần chính là đặt vấn đề

và đưa ra lý do chọn đề tài

CHƯƠNG 2 TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU Nội dung của

Chương là trình bày các công trình nghiên cứu liên quan đến công việc hiện tại của Luận văn Từ những công trình nghiên cứu này, Luận văn đưa ra các vấn đề cần tập trung nghiên cứu và giải quyết Một phần cơ sở lý thuyết cũng được trình bày để làm rõ hơn cho vấn đề của Luận văn

CHƯƠNG 3 ỨNG DỤNG GIẢI THUẬT DI TRUYỀN ĐỂ TÌM CÁC ĐƯỜNG ĐI TỐT NHẤT TRONG MẠNG IP Nội dung của Chương là trình bày

một phương pháp thực hiện nhằm khẳng định khả năng của giải thuật di truyền trong tối ưu định tuyến

CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN

Nội dung của Chương là đưa các vấn đề mà Luận văn đã làm được và chưa làm được cùng hướng phát triển của Luận văn

Trang 16

CHƯƠNG 2 TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU

2.1 Các nghiên cứu liên quan đến công việc của luận văn

Các nghiên cứu được tìm kiếm với các từ khóa như routing, OSPF, routing optimization, genetic algorithm…

Trong nghiên cứu [2], tác giả đã đã thực hiện một thuật toán di truyền để tìm ra đường đi tối ưu để gửi lưu lượng truy cập từ nguồn tới đích Metric tối ưu hóa là tổng cost của đường đi giữa các node Tác giả khẳng định giải thuật di truyền hoạt động tốt

kể cả khi fitness phức tạp và thay đổi liên tục theo thời gian Điểm nổi bật trong nghiên cứu của tác giả là khi điều kiện dừng đã đạt được, tiến hành lưu trữ các đường đi trong thời gian là t giây Trong thời gian này, chuyển gói dữ liệu theo các con đường tìm kiếm được Sau đó, tác giả cho làm mới các con đường sau thời gian t giây để phản ánh tình trạng hiện tại của mạng Tuy nhiên, tác giả sử dụng công thức tính giá trị fitness là:

[(Tổng số hop trên đường đi × Kích thước dân số) – Tổng cost của đường đi]

Với công thức này thì không phải ánh đúng tính chất định tuyến cho các gói tin trong mạng Cách chọn đường đi tối ưu cho gói tin không phải phụ thuộc vào số hop

mà gói tin phải đi qua Nếu số hop nhỏ nhưng băng thông trên đường đi cũng nhỏ thì quá trình truyền gói tin trên đường đi này dễ xảy ra hiện tượng nghẽn Nếu giá trị fitness của cá thể được tính theo công thức trên thì các cá thể có fitness tốt hơn lại có khả năng bị loại bỏ cao hơn Một ví dụ cụ thể để so sánh và phân tích nhược điểm của công thức này với công thức được sử dụng trong Luận văn được trình bày trong Chương 3

Bên cạnh đó, khi thực hiện mô phỏng thì tác giả sử dụng 6 node mạng và phương pháp đề xuất của tác giả cũng không đưa ra được bất cứ so sánh nào với thuật toán Dijkstra như trong phần đặt vấn đề của mình

Trang 17

Khác với nghiên cứu [2], tác giả của nghiên cứu [3] cho rằng mục đích của định tuyến không phải tìm thấy những đường đi tốt nhất mà để tìm đường đi với một giá trị cost hợp lý trong thời gian cho phép Trong một mạng lớn định tuyến trở nên phức tạp

vì có nhiều node trung gian mà một gói tin cần phải đi qua trước khi đến đích Tác giả cũng khẳng định trong một mạng lớn thì Dijkstra sẽ kém hiệu quả do nhiều tính toán phải thực hiện lặp lại Tác giả đã nghiên cứu vấn đề tối ưu hóa trọng số trong OSPF bằng giải thuật di truyền

Tuy nhiên, theo phương pháp trong nghiên cứu [3], tác giả đã không làm rõ vai trò quan trọng của lai ghép và đột biến trong giải thuật di truyền Quá trình thay thế cho thấy một áp lực chọn lọc thấp dẫn đến mất thời gian trong quá trình hình thành một quần thể hội tụ Giải thuật di truyền có thể đưa ra được các giải pháp hội tụ về tối ưu Trong khi tác giả lại khẳng định việc sử dụng giải thuật di truyền để tìm ra được tập đường đi có giá trị cost hợp lý Nghĩa là giải thuật di truyền hội tụ về các giải pháp tối

ưu cục bộ Tác giả cũng không đưa ra so sánh nào với thuật toán Dijkstra để chứng minh cho phần đặt vấn đề của mình

[5] là một nghiên cứu gần đây thể hiện được rõ ý tưởng của giải thuật di truyền để ứng dụng giải thuật này trong định tuyến Tác giả của [5] cũng khẳng định định tuyến trong mạng là một thách thức trong phân tích, bởi vì cấu trúc liên kết của mạng không phải là cố định Trong phương pháp được trình bày trong [5], tác giả đã sử dụng phương pháp chọn lọc theo bánh xe số Phương pháp truyền thống này thuộc nhóm chọc lọc theo tỉ lệ fitness của các cá nhân trong dân số Bên cạnh đó, tác giả sử dụng phương pháp lai ghép mới là Partially Matched Crossover (PMX) Điểm nổi bật trong nghiên cứu [5] là tác giả sử dụng thuật toán ants để đưa ra tập các đường đi trong mạng Các đường đi được tạo ra bởi ants như là đầu vào cho thuật toán di truyền Tầm quan trọng của việc sử dụng thuật toán ants là để giảm kích thước của bảng định tuyến Việc giảm kích thước của bảng định tuyến giúp cho các node mạng hoạt động hiệu quả

Trang 18

hơn nhờ giảm bởi được các tính toán và xử lý Tuy nhiên, tương tự với nghiên cứu [2] thì tác giả của nghiên cứu [5] cũng sử dụng cùng một công thức tính giá trị fitness cho các cá thể

Tác giả của nghiên cứu [10] cũng đã ứng dụng giải thuật di truyền cho việc tối ưu hóa quá trình định tuyến trên mạng IP Trong nội dung của [10], tác giả trình bày bài toán ước lượng nhu cầu truyền thông dựa trên phương pháp quy hoạch tuyến tính và phương pháp suy diễn dựa vào mô hình trọng lực Từ đó, tác giả đưa ra được nhu cầu tối ưu hóa định tuyến Tác giả đưa ra một mô hình tối ưu hóa dựa trên thông tin về băng thông thu thập được nhờ giao thức SNMP Nhưng tác giả không làm rõ lý thuyết

về giải thuật di truyền cũng như các hoạt động quan trọng của nó Tương tự như nghiên cứu [10] thì tác giả của nghiên cứu [11] cũng dùng giải thuật di truyền để tìm ra đường

đi tối ưu nhưng với các giá trị cost được giả định là ngẫu nhiên Tác giả cũng không làm rõ lý thuyết về giải thuật di truyền trong phương pháp đề xuất của mình

2.2 Nhiệm vụ của Luận văn

Nhiệm vụ chính của Luận văn là ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP Luận văn tập trung giải quyết các vấn đề trong các nghiên cứu [2]

và [5] đã được trình bày trong phần 2.1 Công việc chính của Luận văn bao gồm:

 Sử dụng một công thức để tính giá trị fitness để phản ánh đúng tính chất chọn đường đi cho gói tin trong định tuyến Công thức này được suy ra từ tổng trọng số (tổng cost) của đường đi Giá trị cost được suy ra từ băng thông Băng thông của liên kết càng lớn thì gói tin càng ưu tiên được truyền đi theo liên kết đó Công thức này được trình bày trong Chương 3

 Luận văn đưa ra được một kết quả so sánh với thuật toán Dijkstra về khả năng tìm

ra được tập đường đi tối ưu để gửi các gói tin Các gói tin được truyền trên tập đường đi này sẽ được cân bằng tải Trong khi thuật toán Dijkstra chỉ tìm ra được

Trang 19

một đường đi để truyền các gói tin Vì thuật toán Dijkstra sẽ dừng khi node đích

là đạt được

 Mô hình được các tác giả đưa ra trong các nghiên cứu [5] có các trọng số được gán tĩnh Điều này sẽ không phản ánh được tính chất của một mô hình mạng là sự mất liên kết giữa các node luôn có thể xảy ra Trong trường hợp này, Luận văn sẽ

áp dụng giải thuật di truyền cho một mô hình có các trọng số được gán động để phản ánh được tình trạng hiện tại của mạng Khi các giá trị trọng số thay đổi thì giải thuật di truyền luôn có thể tìm ra được đường đi tối ưu để truyền các gói tin

2.3 Tổng quan về định tuyến

2.3.1 Định tuyến và hoạt động định tuyến

Hoạt động định tuyến được thực hiện bởi các node tại tầng Network trong mô hình OSI Khái niệm định tuyến đầy đủ được thể hiện qua 5 vấn đề [1]:

 Định tuyến là việc một node xác định đường đi tối ưu nhất từ một điểm này đến một điểm khác trên mạng

 Node cần phải xác định được node kế tiếp mà gói tin cần phải đi qua

 Node cũng cần biết tất cả đường có thể đến được điểm đích

 Node tiến hành phân tích IP Header của gói tin và đọc trường Destination IP Address để xác định đường đi cho gói tin

 Node gửi gói tin theo đường đi đã chọn

Nguyên tắc chung của hoạt động định tuyến là phân tích IP Header của các gói tin Các gói tin IP khi đi đến node mạng, node mạng sẽ phân tích IP Header để tìm ra thông số IP đích Thông số này sẽ được tra bảng định tuyến, nếu đích đến của gói tin thuộc về một entry có trong bảng định tuyến thì gói tin sẽ được chuyển đi tiếp, nếu không thì gói tin sẽ bị loại bỏ Bảng định tuyến trên node mạng thể hiện ra rằng node

Trang 20

mạng biết được hiện nay có những địa chỉ mạng nào đang tồn tại trên mạng mà nó tham gia và muốn đến được những địa chỉ mạng đó thì phải đi theo những đường nào Trong định tuyến cần phải đảm bảo các tính chất chính xác, mạnh mẽ, ổn định, công bằng và tối ưu Ổn định, cân bằng và tối ưu mới được xem là vấn đề quan trọng Trong suốt quá trình hoạt động định tuyến, các thiết bị phần cứng và phần mềm có thể gặp trục trặc do nhiều nguyên nhân khác nhau Những trục trặc này có thể dẫn đến sự thay đổi trong cấu trúc mô hình mạng Do đó, phương pháp định tuyến cần phải đảm bảo hoạt động mạng được ổn định khi gặp sự cố

Sự ổn định được phải ánh qua một khái niệm gọi là sự hội tụ mạng Giá trị đặc trưng của sự hội độ chính là độ hội tụ Độ hội tụ được định nghĩa là khoảng thời gian

từ khi mạng xảy ra sự cố đến khi mạng hoạt động lại bình thường Nghĩa là, độ hội tụ càng nhỏ thì quá trình ổn định hoạt động định tuyến được thực hiện nhanh hơn Độ hội

tụ của các giao thức định tuyến khác nhau là khác nhau

Hình 2.1 Độ hội tụ trong mô hình mạng

Trang 21

Quan sát Hình 2.1, node 1 có thể đến mọi vị trí còn lại trong mạng thông qua các node neighbor là node 2, node 4 và node 6 Xét tuyến đường từ A đến B, giả sử đường

đi A node 1 node 2 node 3 B là đường đi tốt nhất Các gói tin đi từ A đến B sẽ được gửi dọc theo đường đi này Xét trường hợp, liên kết giữa node 2 và node 3 xảy ra

sự cố Nếu node 1 không biết sự cố kết nối xảy ra giữa node 2 và node 3 thì node 1 vẫn tiếp tục gửi các gói tin dọc theo đường đi trên Do đó, dẫn đến các gói tin sẽ bị mất và không đảm bảo được hiệu suất mạng Liên kết giữa node 2 và node 3 bị lỗi sẽ dẫn đến

sự thay đổi trong mô hình mạng Điều này làm thay đổi cơ sở sự liệu trong bảng định tuyến của node 1

Sự hội tụ được phản ánh qua quá trình mà node 1 tìm ra được đường đi thay thế cho tuyến đường trước đó Nói cách khác, node 1 phải mất một khoảng thời gian để tìm

ra được đường đi thay thế Giả sử, đường đi thay thế trong trường hợp này là A node 1 node 4 node 5 node 3 B Thông tin trong bảng định tuyến cần có một sự thay đổi, để đến được B thì node kế tiếp mà node 1 cần phải đi qua là node 4 thay vì phải đi qua node 2 như đường đi trước đó Sự ổn định của bảng định tuyến là một điều kiện quan trọng giúp cho hoạt động mạng được hiệu quả

Giao thức định tuyến được chia thành hai nhóm chính là định tuyến tĩnh và định tuyến động Hai nhóm giao thức định tuyến này có sự khác biệt lớn về cách thiết lập, cấu hình, nguyên tắc hoạt động Giao thức định tuyến động có thể thay đổi quyết định định tuyến để phản ánh những thay đổi trong cấu trúc liên kết của mô hình mạng hoặc trọng số được cấu hình trên các liên kết tương ứng Ngược lại, giao thức định tuyến tĩnh không phản ánh được sự thay đổi của liên kết mạng hoặc không dựa các phép đo hay ước lượng về lưu lượng trên các liên kết

Bảng định tuyến được hình thành trên node bởi giao thức định tuyến tĩnh là do người quản trị phải tự cấu hình Người quản trị sẽ chỉ cho node là để đến được đích thì

Trang 22

cần phải đi qua node kế tiếp nào Khi có sự cố xảy ra trong mạng thì bảng định tuyến vẫn không thay đổi các đường đi Các gói tin vẫn được chuyển tiếp nhưng không có gói tin nào có thể đến đích được Do đó, một mạng định tuyến tĩnh sẽ không có độ hội

tụ

Trong trường hợp bảng định tuyến được hình thành bởi giao thức định tuyến động thì người quản trị chỉ cần kích hoạt node chạy giao thức định tuyến tương ứng Sau khi các node thiết lập mối quan hệ neighbor (trừ giao thức định tuyến RIP) thì các node sẽ trao đổi bảng định tuyến cho nhau Lúc này, các node sẽ có một cơ sở dữ liệu

về thông tin của toàn mạng Dựa trên những thông tin này mà các node tự hình thành nên bảng định tuyến Khi các liên kết mạng có sự cố thì các node sẽ trao đổi với nhau các gói tin update nhằm thông báo tình trạng của mô hình mạng hiện tại Dựa vào thông tin nhận được mà các node sẽ thay đổi cơ sở dữ liệu bảng định tuyến sao cho phản ánh được liên kết mạng mới

2.3.2 Tối ưu hóa định tuyến

Các giao thức định tuyến thường tính toán đường đi dựa trên cấu trúc mạng và các thông số cấu hình mà không quan tâm đến lưu lượng tải hiện tại trên các thiết bị mạng và các liên kết giữa các thiết bị đó hoặc độ trễ mà các gói tin chờ khi xếp hàng để được chuyển tiếp tại hàng đợi của thiết bị Vì vậy, đối tượng của tối ưu hóa chính là thực hiện định tuyến dựa trên các thông tin trên Các ứng dụng khác nhau thì có các yêu cầu băng thông và độ trễ khác nhau Các ứng dụng TCP thì có thể chịu được ảnh hưởng của độ trễ cao, do các gói tin bị mất sẽ có một cơ chế truyền lại Nhưng các ứng dụng UDP như voice và video thì lại yêu cầu độ trễ thấp Điều này dẫn đến sự phức tạp của mục tiêu hiệu suất mạng và vấn đề tối ưu hóa là không dễ xử lý và phân tích Do

đó, xem xét vai trò của tối ưu hóa trong kiểm soát các tuyến lưu lượng qua Internet là cần thiết Vấn đề này đã thúc đẩy việc sử dụng các kỹ thuật tìm kiếm hiệu quả để khám

Trang 23

phá một không gian lớn Hình 2.2 dưới đây chính là một mô hình kiểm soát nhằm tối

ưu hóa định tuyến

Hình 2.2 Các thành phần chính trong quá trình tối ưu

Theo Hình 2.2, các phép đo về tình trạng mạng hiện tại và nhu cầu của lưu lượng mạng như là đầu vào để đưa ra các yêu cầu về tối ưu hóa trong định tuyến Việc giải quyết các vấn đề tối ưu hóa phụ thuộc vào việc sử dụng giao thức định tuyến và cách tiếp cận hiệu quả để khám phá không gian tham số Điều này cho phép việc sử dụng các kỹ thuật để xác định các tham số cài đặt nhằm đáp ứng các mục tiêu hiệu suất của mạng Khi một tập hợp các giá trị tham số tốt được định nghĩa, các nhà điều hành hay

hệ thống quản lý tự động có thể điều chỉnh các thông số trên node Sau đó, các node hoạt động chung trên các giá trị tham số mới để tính toán những con đường mới cho việc chuyển tiếp các gói dữ liệu qua mạng

Lượng tải giữa các cặp node, cấu trúc mạng, tham số cấu hình chính là những yếu

tố cơ bản để tối ưu quá trình truyền các gói tin qua mạng Tất cả những vấn đề này tạo thành một ma trận nhu cầu truyền thông hay ma trận lưu lượng

Trang 24

2.3.3 Mô hình hóa bài toán ước lượng nhu cầu truyền thông

Vấn đề ước lượng nhu cầu truyền thông có thể được thể hiện bởi một ma trận nhu cầu truyền thông hay ma trận lưu lượng Ma trận lưu lượng có thể thu được thông qua bài toán ước lượng nhu cầu truyền thông Ma trận lưu lượng là một tập hợp các véctơ đại diện cho tỷ lệ lưu lượng truy cập từ node i đến node j

Gọi m là số lượng các cặp node nguồn và node đích Xét G có n node mạng thì m

sẽ được tính bằng công thức m = n × (n-1) Để thuận lợi cho tính toán, thay vì biểu diễn nhu cầu truyền thông dưới dạng một ma trận Mi,j thì có thể biểu diễn dưới dạng các véctơ X gồm các cặp node nguồn và node đích X = (x1,x2,x3,…,xm)T với xm là nhu cầu truyền thông của cặp node nguồn và node đích thứ m Gọi V là số lượng liên kết giữa các node trong mạng và P = (P1,P2,P3,…,Pv)T là véctơ tải trọng trên các liên kết, Pv

là lượng dữ liệu đo được trên liên kết thứ V

X và P liên quan với nhau thông qua ma trận định tuyến A gồm V dòng và m cột chứa các phần tử thuộc tập [0,1] Phần tử aij = 1 nếu liên kết thứ i thuộc về đường đi dùng để truyền dữ liệu giữa cặp node nguồn và node đích thứ j và ngược lại Mối liên quan này được thể hiện qua phương trình:

P = A×X (2.1)

Hình 2.3 Ví dụ mô hình cho bài toán ước lượng nhu cầu truyền thông [10]

Trang 25

Theo Hình 2.3, véctơ tải trọng P và véctơ nhu cầu truyền thông X lần lượt là (P1,P2,P3)T và (x1,x2,x3,x4,x5)T Trong ví dụ này chỉ xét nhu cầu truyền thông theo chiều mũi tên Lúc này, ma trận định tuyến A[3,5] sẽ có giá trị như được trình bày trong Bảng 2.1

2.3.4 Phương pháp ước lượng nhu cầu truyền thông

Trong nghiên cứu [10], tác giả đã trình bày phương pháp có thể giúp xác định được X bao gồm phương pháp quy hoạch tuyến tính và phương pháp suy diễn dựa vào

Trang 26

mô hình trọng lực Các công thức phía dưới của Luận văn cũng được tham khảo từ nghiên cứu [10]

Theo phương quy hoạch tuyến tính cần xác định tải trọng Pv trên liên kết thứ v Pv

bằng tổng của tất cả các luồng lưu lượng truyền thông có sử dụng liên kết v Phương pháp quy hoạch tuyến tính đưa ra hàm mục tiêu sau cho vấn đề tối ưu hóa:

Trong đó, Cj là tổng trọng số của cặp node nguồn và node đích thứ j Hàm mục tiêu này bị ràng buộc bởi:

 Ràng buộc trên từng liên kết bởi:

 Ràng buộc bởi các luồng dữ liệu:

 Ràng buộc không âm:

Xj ≥ 0 ∀ j (2.5) Một phương pháp khác có thể xác định véctơ X là suy diễn dựa vào mô hình trọng lực Phương pháp này dựa vào mô hình của định luật vạn vật hấp dẫn của Newton Theo Newton thì mọi vật trong vũ trụ đều hút nhau với một lực, lực này được gọi là lực hấp dẫn Gọi Xij là một phần tử của ma trận nhu cầu truyền thông Xij tượng trưng cho lực tương tác từ vật thể i đến vật thể j và được xem như là đại diện cho khối

Trang 27

lượng truyền các luồng thông tin đi vào node mạng i và đi ra node mạng j Kết quả thu được từ mô hình trọng lực cho thấy nhu cầu truyền thông giữa các node tỉ lệ với tổng khối lượng thông tin đi vào và đi ra tại node đó Nếu mô hình này được kết hợp thêm thông tin về chính sách định tuyến của ISP thì sẽ cho kết quả khá chính xác

Một vấn đề khác của phương pháp này là mức độ tích hợp khi tiến hành phân chia node Nếu tích hợp ở mức quá cao thì thì kết quả không phải ánh chi tiết thông tin Nếu tích hợp ở mức quá thấp thì kết quả sẽ không ổn định (vì xét đến cả cá máy trạm và máy chủ) Do đó, cần phải tích hợp ở một mức độ vừa phải để đảm bảo thông tin chính xác nhưng không chịu tác động bởi nhiều thành phần chi tiết Điều này có thể thực hiện được khi áp dụng mô hình trọng lực ở các liên kết biên tại điểm nối trục chính Ở các điểm này, thông tin có thể thu thập bằng giao thức SNMP sẽ dễ dàng hơn

Hình 2.4 Đường trục chính và đường liên kết biên trong cùng một AS

Theo Hình 2.4 thì liên kết biên chính là các liên kết đấu nối xuống mạng chi nhánh Còn đường trục chính là liên kết giữa các node trong lớp phân phối

Trang 28

Phương pháp suy diễn dựa vào mô hình trọng lực thường có 2 mô hình có thể áp dụng Đó là mô hình trọng lực đơn giản và mô hình trọng lực cải tiến

Theo mô hình trọng lực đơn giản thì thực hiện ước lượng nhu cầu truyền thông giữa các liên kết biên Để mô hình hóa theo phương pháp này, gọi các liên kết biên là

v1, v2, Lúc này, việc ước lượng nhu cầu truyền thông là xác định X(vi,vj) đi vào từ liên kết biên vi và đi ra tại liên kết biên vj Gọi là tổng khối lượng thông tin đi vào mạng thông qua vi, là tổng khối lượng thông tin đi ra khỏi mạng thông qua

vj Những giá trị này chính là tải trọng đo bằng SNMP Lúc này, mô hình trọng lực đơn giản xác định X(vi,vj) theo 1 trong 2 phương trình sau:

Hoặc:

Phương trình (2.6) và (2.7) đã bỏ qua loại liên kết và các chính sách định tuyến Muốn tích hợp thêm những thông tin này thì cần áp dụng mô hình trọng lực cải tiến Theo mô hình trọng lực cải tiến, các thông tin về loại liên kết và chính sách định tuyến được tích hợp thêm với mục đích phản ánh các thông tin chính xác hơn Dựa trên nhu cầu về truyền dữ liệu thường có ba loại liên kết như sau:

 Đường truy cập (Access Link) dùng để đấu nối với khách hàng

 Đường đấu nối (Peer-to-Peer Link) dùng để đấu nối các AS lại với nhau

 Đường trục chính (Backbone Link) dùng để đấu nối các node chính lại với nhau

Trang 29

Trong một AS, phần lớn nhu cầu truyền thông được thực hiện giữa trao đổi dữ liệu giữa các khách hàng và giữa các AS với nhau Do đó, có thể chia các luồng lưu lượng thành các loại là dữ liệu đi ra ngoài, dữ liệu đi vào trong, dữ liệu nội bộ và dữ liệu trung chuyển Dữ liệu đi ra ngoài là những luồng thông tin xuất phát từ những đường truy cập, đi qua đường trục chính để đến các đường đấu nối và đi ra ngoài Đây

là luồng dữ liệu quan trọng vì chiếm phần lớn khối lượng thông tin truyền trên mạng

Dữ liệu đi vào trong là những luồng thông tin xuất phát từ các đường đấu nối đi qua đường trục chính để vào đường truy cập Luồng dữ liệu này được xem là tỉ lệ với luồng

dữ liệu đi ra ngoài Dữ liệu nội bộ là những luồng thông tin xuất phát và kết thúc trong mạng của khách hàng Dữ liệu trung chuyển là những luồng thông tin xuất phát từ liên kết đấu nối này sử dụng các node mạng để đến một liên kết đấu nối khác

Để thực hiện mô hình hóa cho phương pháp suy diễn trọng lực cải tiến, gọi AS1,

AS2,…ASi là các AS mà các AS này đấu nối với hệ thống mạng của các khách hàng

PL1, PL2,…PLj là các đường đấu nối và PLz là tập các đường đấu nối giữa các AS lại với nhau AL1, AL2,…ALk là các đường truy cập dùng để đấu nối với khách hàng và

ALz là tập các đường truy cập và là tổng khối lượng thông tin (tải trọng) đi vào và đi ra khỏi mạng tại liên kết v Tải trọng này cũng được thu thập được bằng SNMP Khi đó, tổng khối lượng dữ liệu đi ra ngoài xuất phát từ một ALi đến PLm

(ALi thuộc ALz và PLm thuộc PLz)là:

Trong đó:

Trang 30

Tổng khối lượng dữ liệu đi vào trong từ một đường đấu nối PLi đến một đường truy cập ALj là:

Tổng khối lượng dữ liệu nội bộ từ một đường truy cập ALi đến một đường truy cập ALj là:

Trong đó:

2.4 Tổng quan về giải thuật di truyền

Giải thuật di truyền được giới thiệu bởi giáo sư J H Holland năm 1975 Giáo sư

J H Holland đã chứng tỏ giải thuật di truyền là một đóng góp đáng kể cho khoa học và

kỹ thuật Mục tiêu nghiên cứu của thuật toán này gồm 2 phần:

(i) Giải thích các quy trình thích ứng của hệ thống tự nhiên Quy tắc chính ở đây

Trang 31

trúc nhiễm sắc thể Các khái niệm, hoạt động và ứng dụng của giải thuật di truyền có thể được tìm thấy trong các tài liệu [7], [8], [9]

2.4.1 Các khái niệm quan trọng trong giải thuật di truyền

Giải thuật di truyền hoạt động dựa trên các khái niệm về quần thể, cá thể, gen và

độ thích nghi (giá trị fitness)

Quần thể là một tập hợp được đặc trưng bởi số lượng các cá thể Quần thể chính

là không gian tìm kiếm của bài toán tối ưu Có hai vấn đề quan trọng của quần thể là việc khởi tạo quần thể và kích thước quần thể Kích thước quần thể sẽ phụ thuộc vào

độ phức tạp của bài toán Quần thể đầu tiên nên có một tập gen đủ rộng để khám phá được toàn bộ không gian tìm kiếm Để có được điều này, quần thể ban đầu phải được lựa chọn ngẫu nhiên Do vậy, độ thích nghi trung bình của quần thể sẽ cao và sẽ giúp giải thuật di truyền tìm ra giải pháp tốt nhất nhanh hơn Nếu tập gen không đủ rộng thì quần thể sẽ thiếu đi tính đa dạng và giải thuật di truyền sẽ chỉ khám phá một phần nhỏ của không gian tìm kiếm và dẫn đến một tối ưu cục bộ Số lượng cá thể trong quần thể đông có điểm lợi là xác suất xuất hiện cá thể tốt trong quần thể sẽ cao hơn Tuy nhiên điểm bất lợi là việc tính toán cho mỗi thế hệ sẽ nhiều hơn

Một cá thể là một giải pháp có thể trong không gian quần thể Dạng thông tin chính của cá thể chính là nhiễm sắc thể Nhiễm sắc thể chính là dạng mã hóa của giải pháp trong không gian tìm kiếm Một nhiễm sắc thể được chia nhỏ thành rất nhiều gen Giá trị của gen được gọi là alen Mỗi tính chất trong mỗi giải pháp tương ứng với mỗi gen trong nhiễm sắc thể

Mỗi cá thể trong quần thể được đặc trưng bởi độ thích nghi Độ thích nghi là giá trị cho biết “độ tốt” của mỗi cá thể Độ thích nghi được suy ra từ một hàm mục tiêu tùy theo từng bài toán Giá trị độ thích nghi còn được gọi là giá trị fitness Để tính toán độ thích nghi, nhiễm sắc thể trước tiên cần được giải mã để có giá trị thực, sau đó sẽ áp

Trang 32

dụng hàm mục tiêu để đánh giá Độ thích nghi không chỉ cho thấy mức độ tốt của một giải pháp mà nó còn chỉ ra rằng giải pháp đó gần như thế nào với giá trị tốt nhất

Trong trường hợp tối ưu với nhiều mức tiêu chuẩn, hàm mục tiêu chắc chắn sẽ phức tạp Với bài toán tối ưu nhiều tiêu chuẩn thường khó khăn khi quyết định giải pháp nào là tốt hơn so và cần phải xử lý thế nào trong trường hợp một giải pháp nếu tốt hơn ở tiêu chuẩn này thì lại kém hơn ở tiêu chuẩn khác

2.4.2 Cấu trúc của giải thuật di truyền

Một quá trình tiến hóa (còn gọi là một thế hệ) được thực hiện trên một tập các giải pháp tương đương với sự tìm kiếm trong một không gian các giải pháp có thể Tập giải pháp trải qua các quá trình tiến hóa và cuối cùng cho ra các giải pháp tối ưu Vì vậy, tại mỗi thế hệ thì các giải pháp tốt được chọn để tái sản xuất, trong khi các giải pháp không tốt bị loại bỏ dần Giải thuật di truyền được J H Holland giới thiệu để giải bài toán tối ưu có cấu trúc như sau:

Khởi tạo quần thể ban đầu 0;

Đánh giá quần thể ban đầu;

Kiểm tra (điều kiện dừng chưa thỏa) thực hiện

Chọn các cá thể tốt để sinh sản;

Thực hiện lai ghép;

Thực hiện đột biến;

Đánh giá thế hệ mới;

Xuất ra quần thể thỏa điều kiện

Các quá trình tiến hóa diễn ra trong vòng lặp Tại thế hệ thứ t, thuật toán duy trì một tập giải pháp Bt = (b1,t, b2,t, …, bm,t) Mỗi giải pháp bi,t được đánh giá độ thích

Trang 33

nghi Một tập giải pháp mới được xây dựng bằng cách chọn lọc các giải pháp thích nghi hơn, được gọi là tập giải pháp trung gian Tiếp theo một số cá thể trong tập giải pháp đã được chọn này bị biến đổi bằng các phép lai ghép và đột biến để tạo thành các giải pháp mới cho thế hệ thứ (t+1) Do đó, tại mỗi thế hệ cần có một quá trình thay thế các cá thể không tốt bằng các cá thể tốt hơn

Hiệu suất của giải thuật di truyền phụ thuộc vào việc chọn ra một tập các phương pháp chọc lọc, lai ghép, đột biến và thay thế Chọc lọc, lai ghép, đột biến và thay thế cũng chính là các hoạt động di truyền quan trọng của giải thuật di truyền Các hoạt động này được trình bày trong phần phụ lục của Luận văn

Tùy theo từng bài toán mà giải thuật di truyền sẽ dừng trong các tiêu chuẩn hội tụ khác nhau Các tiêu chuẩn hội tụ có thể là:

 Số thế hệ tối đa: thuật toán di truyền dừng khi đạt số thế hệ đã định trước

 Thời gian: thuật toán di truyền dừng khi thời gian quy định đã trôi qua

Lưu ý: nếu số lượng thế hệ tối đa đã đạt được trước thời gian quy định, thuật toán

sẽ kết thúc

 Không có sự thay đổi fitness: thuật toán di truyền dừng nếu không có sự thay đổi

về fitness của các cá thể qua các thế hệ

Lưu ý: nếu số lượng thế hệ tối đa đã đạt được trước khi không có sự thay đổi fitness, thuật toán sẽ kết thúc

Trang 34

CHƯƠNG 3 ỨNG DỤNG GIẢI THUẬT DI TRUYỀN ĐỂ TÌM

CÁC ĐƯỜNG ĐI TỐT NHẤT TRONG MẠNG IP

3.1 Phương pháp thực hiện

Trong phần này, đề tài sử dụng giải thuật di truyền để tìm đường đi ngắn nhất giữa một node nguồn và một node đích cho trước Để phù hợp hơn với bài toán định tuyến, phương pháp thực hiện xét đến tính khả thi của giải pháp trước khi áp dụng các hoạt động di truyền

Mục đích của phương pháp thực hiện là sử dụng một công thức tính fitness hiệu quả hơn công thức được trình bày trong hai nghiên cứu [2] và [5] Phương pháp thực hiện còn thực hiện một so sánh với thuật toán Dijkstra về khả năng thực hiện tìm ra các đường đi cân bằng tải đề truyền các gói tin trong mạng IP Kết quả của phương pháp thực hiện còn chứng minh được giải thuật di truyền có thể tìm ra được các đường đi tối

ưu trong mạng máy tính Để thực hiện theo các Bước của phương pháp thực hiện, Luận văn sử dụng Python 2.7.8 [12] để thực hiện cho việc code chương trình Tài liệu hỗ trợ cho vấn đề này là [13] Sau khi cài đặt, Python có biểu tượng như sau Hình 3.1 là một phần giao diện của Python 2.7.8 Shell

Hình 3.1 Python 2.7.8 Shell

Trang 35

3.2 Sơ đồ giải thuật của phương pháp thực hiện

Sơ đồ giải thuật của phương pháp thực hiện cụ thể như sau:

Hình 3.2 Sơ đồ giải thuật của phương pháp thực hiện

Bắt đầuKhởi tạo quần thể ban đầu gồm n giải pháp khả thiTính giá trị fitness của các giải pháp khả thi theo hàm mục tiêu (3.1)

Chọn lọc giải đấu với kích thước giải đấu là 2

Trang 36

Các bước hoạt động cụ thể của sơ đồ giải thuật theo phương pháp thực hiện được

trình bày đầy đủ trong phần 3.3

3.3 Các bước hoạt động cụ thể của phương pháp thực hiện

Các bước hoạt động của phương pháp thực hiện thông qua việc xét một mạng cho bởi đồ thị G = G(10,16,Cv), với node nguồn là node 1 và node đích là node 10 Giá trị trọng số trên từng liên kết là được suy ra từ băng thông Đầu vào của phương pháp thực hiện là một quần thể bao gồm n cá thể có chứa các cá thể có thể tối ưu hoặc không tối

ưu Đầu ra của phương pháp thực hiện là một quần thể mới bao gồm n cá thể chứa các

cá thể tốt ưu

Điều kiện dừng của thuật toán khi có được một quần thể mới đạt được sự ổn định

về gen Một quần thể đạt được sự ổn định về gen khi thực hiện chọn lọc giải đấu quần thể này nhưng không có cá thể nào được đưa vào danh sách dưới

Hình 3.3 Đồ thị G = G(10,16,Cv)

Ngày đăng: 30/07/2015, 16:47

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Ví dụ một đồ thị G - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Hình 1.1 Ví dụ một đồ thị G (Trang 12)
Hình 1.3 Cấu trúc cơ bản của một mạng trục cấp 2 - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Hình 1.3 Cấu trúc cơ bản của một mạng trục cấp 2 (Trang 14)
Hình 2.1 Độ hội tụ trong mô hình mạng - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Hình 2.1 Độ hội tụ trong mô hình mạng (Trang 20)
Hình 2.2 Các thành phần chính trong quá trình tối ưu - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Hình 2.2 Các thành phần chính trong quá trình tối ưu (Trang 23)
Hình 2.3 Ví dụ mô hình cho bài toán ước lượng nhu cầu truyền thông [10] - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Hình 2.3 Ví dụ mô hình cho bài toán ước lượng nhu cầu truyền thông [10] (Trang 24)
Hình 2.4 Đường trục chính và đường liên kết biên trong cùng một AS - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Hình 2.4 Đường trục chính và đường liên kết biên trong cùng một AS (Trang 27)
Hình 3.1 Python 2.7.8 Shell - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Hình 3.1 Python 2.7.8 Shell (Trang 34)
Sơ đồ giải thuật của phương pháp thực hiện cụ thể như sau: - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Sơ đồ gi ải thuật của phương pháp thực hiện cụ thể như sau: (Trang 35)
Hình 3.3 Đồ thị G = G(10,16,C v ) - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Hình 3.3 Đồ thị G = G(10,16,C v ) (Trang 36)
Bảng 3.1 Các cá thể trong quần thể ban đầu - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Bảng 3.1 Các cá thể trong quần thể ban đầu (Trang 37)
Hình 3.7 Mô hình 50 node - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Hình 3.7 Mô hình 50 node (Trang 48)
Bảng 3.3 Kết quả tìm đường đi sau 50 lần cập nhật trong mô hình 50 node - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Bảng 3.3 Kết quả tìm đường đi sau 50 lần cập nhật trong mô hình 50 node (Trang 50)
Hình phụ lục 3.4 Lai ghép thống nhất - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Hình ph ụ lục 3.4 Lai ghép thống nhất (Trang 65)
Hình phụ lục 3.6 Phương pháp lai ghép Partially Matched Crossover - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Hình ph ụ lục 3.6 Phương pháp lai ghép Partially Matched Crossover (Trang 66)
Hình phụ lục 3.5 Lai ghép thống nhất theo thứ tự - Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP
Hình ph ụ lục 3.5 Lai ghép thống nhất theo thứ tự (Trang 66)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm