Nghiên cứu các giải thuật tiến hóa, di truyền và ứng dụng trong bài toán thiết kế mạng viễn thôngNghiên cứu các giải thuật tiến hóa, di truyền và ứng dụng trong bài toán thiết kế mạng viễn thôngNghiên cứu các giải thuật tiến hóa, di truyền và ứng dụng trong bài toán thiết kế mạng viễn thôngNghiên cứu các giải thuật tiến hóa, di truyền và ứng dụng trong bài toán thiết kế mạng viễn thôngNghiên cứu các giải thuật tiến hóa, di truyền và ứng dụng trong bài toán thiết kế mạng viễn thôngNghiên cứu các giải thuật tiến hóa, di truyền và ứng dụng trong bài toán thiết kế mạng viễn thông
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
NGUYỄN KIÊN TRUNG
NGHIÊN CỨU CÁC GIẢI THUẬT TIẾN HÓA,
DI TRUYỀN VÀ ỨNG DỤNG TRONG BÀI TOÁN THIẾT KẾ
MẠNG VIỄN THÔNG
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
HÀ NỘI – 2016
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
NGUYỄN KIÊN TRUNG
NGHIÊN CỨU CÁC GIẢI THUẬT TIẾN HÓA,
DI TRUYỀN VÀ ỨNG DỤNG TRONG BÀI TOÁN THIẾT KẾ
Trang 4LỜI CAM ĐOAN
Tôi 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ác giả luận văn
Nguyễn Kiên Trung
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
MỤC LỤC ii
THUẬT NGỮ VIẾT TẮT v
DANH MỤC BẢNG vi
DANH MỤC HÌNH VẼ vii
CÁC KÝ HIỆU SỬ DỤNG viii
MỞ ĐẦU 1
CHƯƠNG 1: BÀI TOÁN TỐI ƯU TRONG THIẾT KẾ MẠNG VIỄN THÔNG 3
1.1 Mạng truyền thông – đối tượng của bài toán thiết kế 3
1.2 Vấn đề tối ưu hóa và phương pháp xây dựng bài toán tối ưu 5
1.2.1 Khái niệm tối ưu 5
1.2.2 Mô tả toán học của vấn đề tối ưu hóa 6
1.2.3 Xây dựng bài toán tối ưu trong mạng viễn thông 6
1.3 Các yêu cầu của bài toán thiết kế 7
1.3.1 Các tiêu chí thiết kế 7
1.3.2 Chi phí 8
1.3.3 Tính tin cậy 9
1.3.4 Mục tiêu thiết kế và các ràng buộc 9
1.3.5 Khó khăn của bài toán 10
1.4 Các cách tiếp cận thiết kế tối ưu mạng 10
1.5 Tính toán độ tin cậy mạng trong thiết kế tối ưu 12
1.6 Kết luận 14
CHƯƠNG 2: CÁC GIẢI THUẬT TIẾN HÓA VÀ DI TRUYỀN 15
2.1 Giải thuật tham lam (Greedy Algrothm) 15
2.1.1 Giới thiệu 15
2.1.2 Giải thuật cho phương pháp tham lam 16
2.1.3 Ví dụ áp dụng 17
2.1.4 Đánh giá 19
Trang 62.2 Các giải thuật di truyền 20
2.2.1 Các khái niệm cơ bản 20
2.2.2 Giải thuật di truyền đơn giản khi tất cả vòng cung có độ tin cậy giống nhau 21
2.2.3 Giải thuật di truyền với bài toán cụ thể khi tất cả vòng cung có cùng độ tin cậy 26
2.2.4 Giải thuật di truyền khi các kết nối có thể có độ tin cậy khác nhau 31
2.3 Giải thuật tiến hóa đa mục tiêu (Multi – Objective Evolutionary Algorithm MOEA) 36
2.4 Kết luận 39
CHƯƠNG 3: ỨNG DỤNG GIẢI THUẬT TIẾN HÓA, DI TRUYỀN TRONG THIẾT KẾ MẠNG VIỄN THÔNG 40
3.1 Thiết kế mạng sử dụng phỏng đoán và giải thuật di truyền GA 40
3.1.1 Giới thiệu 40
3.1.2 Định nghĩa bài toán 40
3.1.3 Độ phức tạp của bài toán 44
3.2 Giải thuật Heuristic (phỏng đoán) 45
3.2.1 Phát biểu bài toán 45
3.2.2 Phát biểu bài toán theo mô hình toán học 46
3.2.3 Ứng dụng một số phương pháp Heuristic giải bài toán thiết kế mạng viễn thông 48
3.3 Giải thuật di truyền 50
3.3.1 Ý tưởng 50
3.3.2 Giải thuật 50
3.3.3 Đặt bài toán 51
3.4 Phương pháp giải cho bài toán thiết kế tối ưu mạng viễn thông 53
3.5 Mô phỏng các giải thuật Heuristic 62
3.6 Kết luận 65
KẾT LUẬN VÀ KIẾN NGHỊ 66
TÀI LIỆU THAM KHẢO 69
Trang 7PHỤ LỤC 1 71 PHỤ LỤC 2 74
Trang 8THUẬT NGỮ VIẾT TẮT
truyền
NP – hard Nondeterministic polinomial time – hard Tổ hợp đa thức thời
Trang 9DANH MỤC BẢNG
Bảng 2.1: So sánh các kết quả giải thuật GA 24Bảng 2.2: So sánh các cách tìm kiếm và dự tính độ tin cậy của giải thuật GA 25Bảng 2.3: Đơn vị chi phí và độ tin cậy vòng cung 35
Trang 10DANH MỤC HÌNH VẼ
Hình 1.1: Mạng truyền thông và các thành phần 3
Hình 2.1: Năm nút mạng được đánh số tùy ý 21
Hình 2.2: Hai mạng 6 nút: (a) đầy đủ kế nối, với các vòng cung đánh số từ 1 đến 15; (b) kết nối một phần với nhãn vòng cung giống như hình a 26
Hình 2.3: Ví dụ thiết kế mạng cho nhiễm sắc thể 0100203102 (phần 2.2.4) 32
Hình 2.4: Đồ thị đường GA và tham lam trên 10 đường 35
Hình 2.5: Cấu trúc nguồn – đích (source – sink) 36
Hình 3.1: Các vấn đề của bài toán thiết kế mạng và mối tương quan của chúng 45
Hình 3.2: Phân bố các thiết bị đầu cuối kết nối vào các trạm 48
Hình 3.3: Ví dụ biểu diễn của một nhiễm sắc thể (t = 4) 57
Trang 11CÁC KÝ HIỆU SỬ DỤNG
N Tập các nút xác định
L Tập các vòng cung có thể
L ij Tùy chọn của mỗi vòng cung (1, 2, , k)
P(l k ) Độ tin cậy của vòng cung tùy chọn
c(l k ) Đơn vị chi phí của vòng cung tùy chọn
x Topology của thiết kế mạng
C(x) Tổng chi phí của thiết kế mạng
C 0 Ràng buộc chi phí tối đa
R(x) Độ tin cậy của thiết kế mạng
R 0 Ràng buộc độ tin cậy mạng tối thiểu
g Số thế hệ trong thuật toán di truyền
s Kích thước quần thể trong thuật toán di truyền
m% Tỷ lệ tạo biến thể trên mỗi thế hệ trong thuật toán di truyền
r p Tỷ lệ phạt trong thuật toán di truyền
r m Tỷ lệ biến thể trong thuật toán di truyền
t Số lần lặp mô phỏng Monte Carlo tin cậy
Trang 12MỞ ĐẦU
Có thể nói kiến trúc của các mạng truyền thông ngày nay là khá phức tạp do
số lượng lớn các nút hình thành và phát triển trên mạng mà không theo một qui tắc nào Bài toán thiết kế mạng ngày nay là một bài toán đa mục tiêu, đa ràng buộc và cần được nghiên cứu ở góc độ bài toán tối ưu nhiều thành phần để tính toán nhằm đạt được hiệu suất sử dụng tài nguyên mạng cao nhất, chi phí thấp nhất mà kết quả bảo vệ mạng là tối đa
Trong thiết kế tối ưu mạng viễn thông, các ràng buộc khác nhau trên mô hình mạng như dung lượng nút và liên kết phải được tính đến Đây là dạng bài toán tối
ưu đa mục tiêu có tính phi tuyến cao mà cho đến nay việc tìm kiếm một phương pháp chính xác để giải quyết vẫn còn để ngỏ Một trong những cách tiếp cận để xây dựng và giải bài toán thiết kế tối ưu mạng viễn thông với những tính chất như trên
là dựa trên các giải thuật tiến hóa và di truyền Đây là một chủ đề nghiên cứu thu hút được sự quan tâm của nhiều chuyên gia trong những năm gần đây
Một số tác giả đã giải quyết bài toán nêu trên theo hướng dùng giải thuật di truyền để tối ưu bỏ qua một số các ràng buộc của bài toán; một số tác giả khác giải quyết hạn hẹp ở một vài cấu trúc mạng đặc thù, chẳng hạn như dùng giải thuật di truyền để thiết kế tối ưu mạng viễn thông có cấu trúc cây (Tree-structured Network) hay mạng dạng lưới (Mesh Network) Tuy nhiên, nhìn chung bên cạnh sự ra đời nhiều dạng thức của giải thuật tiến hóa và di truyền, việc ứng dụng các giải thuật này để giải quyết các bài toán thực tế, đặc biệt trong lĩnh vực thiết kế tối ưu mạng viễn thông thế hệ mới, vẫn còn chưa nhiều trên thế giới cũng như trong nước
Nội dung của luận văn đề cập đến bài toán thiết kế tối ưu kiến trúc mạng viễn thông theo hướng tối ưu đa mục tiêu, sử dụng một số giải thuật tiến hóa và di truyền trên cơ sở đảm bảo các ràng buộc và các mục tiêu thực tế Với mục tiêu đặt
ra như vậy, nội dung của luận văn gồm những phần nghiên cứu chính như sau:
Chương 1 giới thiệu về bài toán tối ưu trong thiết kế mạng viễn thông, các yêu cầu và các cách tiếp cận thiết kế tối ưu mạng
Chương 2 trình bày về các giải thuật tiến hóa và di truyền, tính chất và khả năng ứng dụng của các giải thuật này
Trang 13Chương 3 trình bày phương pháp ứng dụng các giải thuật tiến hóa và di truyền để xây dựng và giải bài toán thiết kế tối ưu mạng viễn thông
Phần kết luận tổng hợp và đúc kết lại các kết quả đạt được của luận văn
Trang 14CHƯƠNG 1: BÀI TOÁN TỐI ƯU TRONG THIẾT KẾ MẠNG
VIỄN THÔNG
Một mạng truyền thông cần truyền lưu lượng trên các tuyến truyền dẫn với dung lượng (băng thông) khác nhau Lưu lượng này có thể được định tuyến qua các đường khác nhau để đến đích Yêu cầu đặt ra cho thiết kế mạng là: phải đảm bảo chất lượng dịch vụ (QoS), đồng thời phải đảm bảo tối ưu theo các mục tiêu đề ra Chúng ta cần có đủ băng thông trên mạng để truyền lưu lượng, giảm tỷ lệ từ chối cuộc gọi hoặc giảm độ trễ trung bình truyền gói dữ liệu trên mạng nhưng cũng phải tiết kiệm băng thông và giảm chi phí
Giải quyết bài toán tối ưu vừa là mục tiêu, vừa là động lực để phát triển mạng viễn thông Trong phần này sẽ trình bày những vấn đề tổng quan về thiết kế và tối
ưu mạng viễn thông, làm cơ sở đi sâu vào nghiên cứu bài toán tối ưu trong thiết kế
và tối ưu mạng dựa trên các giải thuật tiến hóa và di truyền ở các chương tiếp theo
1.1 Mạng truyền thông – đối tượng của bài toán thiết kế
Vấn đề thiết kế được đề cập chủ yếu trong luận văn là mạng lõi hay còn gọi là mạng xương sống, bao gồm các bộ định tuyến hay thiết bị chuyển mạch kết nối với nhau Lưu lượng đến (ingress traffic) được coi là lưu lượng đi vào mạng lõi, còn lưu lượng đi (egress traffic) là lưu lượng ra khỏi mạng lõi này
Trang 15Một mạng truyền thông cần truyền lưu lượng trên các tuyến truyền dẫn với dung lượng (băng thông) khác nhau Lưu lượng này có thể được định tuyến qua các đường khác nhau để đến đích Chúng ta cần có đủ băng thông trên mạng để truyền lưu lượng, đồng thời giảm tỷ lệ từ chối kết nối hoặc giảm độ trễ trung bình truyền gói dữ liệu trên mạng Để thực hiện việc truyền tải lưu lượng theo yêu cầu, các nhà cung cấp cần phải có sự thỏa thuận đó thường được xem như là thỏa thuận ngang hàng Mặt khác, mỗi mạng có một số thiết bị định tuyến hay chuyển mạch của riêng mình, và các thiết bị tại biên mạng hay cổng giao tiếp (gateway) sẽ thực hiện nhiệm
vụ truyền dữ liệu bên trong mạng cũng như cần sử dụng bao nhiêu thiết bị định tuyến hay chuyển mạch để hoàn thành công việc này
Nhà cung cấp mạng vật lý để vận chuyển lưu lượng ứng dụng cho các mạng
khách hàng khác nhau thường là các nhà khai thác viễn thông lớn Để tăng tính hiệu quả về kinh tế, nhà khai thác viễn thông lớn có thể kết hợp nhiều luồng lưu lượng từ những đường riêng khác nhau vào trong một mạng Thông thường, các mạng
phương tiện vật lý này được biết đến như là mạng truyền tải (transport) hay truyền dẫn (transmission), có thể sử dụng nhiều công nghệ khác nhau như mạng quang
đồng bộ (SONET), phân cấp số đồng bộ (SDH), công nghệ ghép kênh phân chia theo bước sóng (WDM), … Các mạng truyền tải cũng có thiết bị chuyển mạch, thường được biết đến như là các bộ nối chéo, được sử dụng để thiết lập các đường kênh riêng cố định hoặc bán cố định
Như vậy, có thể thấy rằng nhà cung cấp mạng truyền tải có miền riêng để đón nhận các yêu cầu lưu lượng qua thiết bị nút hay các liên kết truyền tải Nhiều nhà cung cấp dịch vụ Internet (ISP) khác nhau có thể cùng sử dụng một nhà cung cấp mạng truyền tải; hoặc một ISP có thể sử dụng nhiều nhà cung cấp mạng truyền tải
Bài toán thiết kế mạng là trách nhiệm của nhà cung cấp, dù đó là nhà cung cấp dịch vụ Internet, nhà cung cấp dịch vụ điện thoại, nhà cung cấp mạng kênh thuê riêng, hay nhà cung cấp mạng truyền tải Để đơn giản, chúng ta sẽ sử dụng một
thuật ngữ chung là nhà cung cấp mạng thay cho tất cả các nhà cung cấp nói trên
Trang 16Có thể thấy rằng các dịch vụ chỉ làm phát sinh yêu cầu lưu lượng trong một thời gian ngắn Trong khi đó các nhà cung cấp mạng truyền tải thường làm việc với
hệ thống truyền dẫn dung lượng cao để đáp ứng nhu cầu truyền tải nhiều loại hình lưu lượng khác nhau Vì vậy, cần phải phân biệt một cách rõ ràng hai khái niệm mạng lưu lượng và mạng truyền tải
Mạng lưu lượng (traffic network) là mạng mà trong đó nhu cầu lưu lượng
mang tính chất ngẫu nhiên không phụ thuộc vào tốc độ dữ liệu của dịch vụ (truyền gói, thoại 64 Kb/s, …) và có khả năng chuyển mạch/định tuyến để xử lý các yêu cầu phục vụ trong thời gian ngắn
Mạng truyền tải (transport network) cung cấp các dịch vụ tốc độ dữ liệu cao
trên cơ sở thiết lập các đường truyền cố định hay bán cố định, và thường là theo chu
kỳ có thời hạn dài Bất kể nằm trong phân cấp mạng nào, khái niệm mạng lưu lượng
và mạng truyền tải sẽ giúp ta giải quyết tốt việc bảo vệ mạng ở các khía cạnh phát triển mô hình tối ưu hóa
1.2 Vấn đề tối ưu hóa và phương pháp xây dựng bài toán tối ưu
1.2.1 Khái niệm tối ưu
Khái niệm tối ưu dùng để chỉ mức độ khả dĩ đạt tới cao nhất của mục tiêu do
một chủ thể đề ra và được xem xét trong những điều kiện nhất định
Với một sự vật, mục tiêu là một khái niệm mang tính chủ quan, tùy thuộc vào mục đích riêng của chủ thể Ví dụ: Khi xem xét mạng viễn thông, người sử dụng lấy QoS (Quality of Services- chất lượng dịch vụ) làm mục tiêu Trái lại, người quản lý và khai thác mạng lấy hiệu suất sử dụng tài nguyên làm mục tiêu
Điều kiện cụ thể gồm toàn bộ những yếu tố tác động trực tiếp đến mục tiêu của chủ thể Ví dụ: khi lập kế hoạch sản xuất tối ưu, các điều kiện ảnh hưởng trực tiếp đên mục tiêu là tình trạng máy móc thiết bị Khả năng cung cấp nhiên liệu và nguyên liệu, khả năng tiêu thụ hàng hóa trên thị trường,…
Tối ưu hóa là quá trình đi đến cái tốt nhất, là sự vận động từ chưa tốt đến tốt hơn, từ tốt hơn đến tốt nhất Phương pháp tối ưu hóa là các biện pháp, các thuật toán,… nhằm đi đến điểm tối ưu Phương pháp tối ưu là công cụ của tối ưu hóa Do tính đa dạng và phức tạp của các vấn đề tối ưu hóa trong thực tế, không tồn tại một
Trang 17phương pháp vạn năng hữu hiệu để giải quyết vấn đề tìm lời giải trong mọi trường hợp
1.2.2 Mô tả toán học của vấn đề tối ưu hóa
Về mặt toán học, vấn đề tối ưu hóa thực chất là vấn đi tìm điểm cực trị của một hàm số diễn tả mục tiêu cần đạt tới Các vấn đề tối ưu hóa trong thực tế rất đa dạng và phong phú, song chúng đều có thể qui về một dạng tổng quát
Ví dụ: Ký hiệu n
xR là véc tơ n chiều chứa các biến tự do Cho f(x), h x i( )
với i= 1, 2,3,…,p và g j( )x với j= 1,2,…q là các hàm vô hướng phụ thuộc x Tìm giá trị cực tiểu của f(x) với điều kiện h x i( )0 và g j( )x =0
Hàm f(x) gọi là hàm mục tiêu, tùy theo từng lĩnh vực cụ thể mà biến x có tên gọi khác nhau Trong lý thuyết quyết định x được gọi là biến quyết định Trong thiết
kế tối ưu x được gọi là véc tơ tham số thiết kế Trong lý thuyết hệ thống tối ưu x được gọi là biến trạng thái Điều kiện h x i( ) 0 gọi là điều kiện ràng buộc dạng bất đẳng thức, điều kiện g j( )x =0 gọi là điều kiện ràng buộc dạng đẳng thức
Vấn đề tối ưu hóa dạng chuẩn có thể phát biểu ngắn gọn như sau:
Cực tiểu f(x) với điều kiện h x i( )0, i= 1, 2,3,…,p; g j( )x =0, j= 1,2,…q;
n
xR
Như đã biết, với mọi hàm f(x) ta có maxf x( )minf x( )nên vấn đề cực đại hóa luôn luôn có thể chuyển về vấn đề cực tiểu hóa Tương tự, điều kiện h x i( )0
1.2.3 Xây dựng bài toán tối ưu trong mạng viễn thông
Xây dựng bài toán tối ưu là một bước rất quan trọng của tối ưu hóa Khi xây dựng bài toán tối ưu cho các ứng dụng thực tế cần chú ý những điểm sau đây:
- Xác định đúng và đầy đủ các mục tiêu cần tối ưu, mức độ quan trọng của từng mục tiêu và các giải pháp thỏa hiệp khi các mục tiêu đề ra có tính đối
Trang 18nghịch Ví dụ: đối với mạng viễn thông ATM, mục tiêu cực tiểu hóa xác suất mất tế bào và cực tiểu hóa thời gian trễ tế bào là hai mục tiêu rất quan trọng nhưng lại đối nghịch nhau
- Mô tả mục tiêu đã chọn dưới dạng biểu thức toán học trong đó thể hiện rõ mối quan hệ giữa mục tiêu và các đại lượng đặc trưng có thể thay đổi để tác động vào mục tiêu Cần phải hiểu rõ bản chất tự nhiên và miền xác định giá trị của các đại lượng đặc trưng này
- Xác định các điều kiện tác động đến mục tiêu Các điều kiện này chỉ bảo hàm những đại lượng đặc trưng đã chọn khi mô tả mục tiêu
- Mô tả các điều kiện có được dưới dạng toán học (các đẳng thức hoặc bất đẳng thức) Các đẳng thức và bất đẳng thức mô tả điều kiện ràng buộc phải lập thành một hệ thống không có tính mâu thuẫn
Một số vấn đề tối ưu hóa trong lĩnh vực viễn thông:
- Bài toán dự báo nhu cầu, dự báo lưu lượng
- Bài toán qui hoạch tối ưu phát triển mạng viễn thông
- Bài toán thiết kế tối ưu mạng tập trung kết nối đa điểm
- Bài toán thiết kế tối ưu cấu hình đường trục
- Bài toán định tuyến tối ưu, …
1.3 Các yêu cầu của bài toán thiết kế
1.3.1 Các tiêu chí thiết kế
Một nhà cung cấp mạng phải kiểm soát được việc thiết kế và quản lý mạng trong miền quản trị của mình, và để làm được điều đó, vấn đề quan trọng đối với mỗi nhà cung cấp là phải xác định được nhu cầu lưu lượng trong mạng Khi xem xét tất cả các nút trong mạng, chúng ta phải xác định được khối lượng lưu lượng giữa hai nút bất kì hình thành nên ma trận lưu lượng Ở đây, ta sẽ sử dụng các thuật ngữ
rút gọn là ma trận lưu lượng (traffic matrix) và ma trận nhu cầu (demand matrix) để thay cho các thuật ngữ đầy đủ là ma trận khối lượng lưu lượng (traffic volume
matrix) và ma trận khối lượng nhu cầu (demand volume matrix)
Thuật ngữ “khối lượng nhu cầu”, được dùng một cách tổng quát để thay cho
“khối lượng lưu lượng” hoặc “băng thông yêu cầu” giữa hai nút, phụ thuộc vào
Trang 19mạng xem xét Một cặp hai nút được gọi là “cặp nhu cầu” hay đơn giản là “nhu cầu”
Lưu ý rằng khối lượng nhu cầu có thể có giữa hai nút bất kỳ, trong khi liên kết là đường nối hai nút trực tiếp với nhau Một điểm quan trọng nữa là đơn vị khối lượng nhu cầu cần phải phù hợp với đơn vị dung lượng liên kết Ví dụ, nếu đơn vị khối lượng nhu cầu tính theo gói trên giây (pps), thì đơn vị của dung lượng liên kết cũng cần phải đổi thành gói trên giây Điều này có thể tính được với các liên kết mà dung lượng cho bởi tốc độ tính theo Mbps Để tính được dung lượng liên kết theo pps, quá trình đo lưu lượng cần phải xác định được kích thước gói trung bình Khi
có kích cỡ gói trung bình, ta có thể tính được luồng tổng cực đại trên một liên kết theo pps bằng cách chia tốc độ liên kết cho kích thước gói trung bình Giá trị này
được gọi là dung lượng liên kết hiệu dụng (effective link capacity), đôi khi có thể được xem như là tốc độ dịch vụ (service rate) của liên kết tính theo pps
Bài toán đặt ra làm sao thiết kế một mạng để các ràng buộc nhất định được thỏa mãn và một hoặc nhiều mục tiêu được tối ưu hóa là thích hợp trong nhiều ứng dụng thế giới thật của truyền thông Chương này tập trung vào vấn đề thiết kế mạng truyền thông đảm bảo độ tin cậy với giá trị chi phí (cost) tối thiểu khi tập hợp nút và các topology được đưa ra, cùng với một tập các vòng cung có thể kết nối trực tiếp chúng Sự đa dạng về phương pháp tiếp cận được giới thiệu và các nghiên cứu trước đây của nhà thiết kế sử dụng thuật toán di truyền được đề cập Cần lưu ý rằng bài toán thiết kế giải quyết bằng những phương pháp đơn giản hóa đáng kể Một số lớn các thành phần không được đề cập ở đây, mà thay vào đó, tập trung chủ yếu vào chi phí và tính tin cậy của các kết nối mạng
1.3.2 Chi phí
Chi phí có thể bao gồm chi phí nguyên liệu của cáp, chi phí lắp đặt cũng như khoan, đào cống, đất và kết nối… Những thứ trên là “chi phí đơn vị (unit cost)”, chúng phụ thuộc vào chiều dài của vòng cung Tuy nhiên chúng có thể được cố định cho từng vòng cung và có thể dễ dàng điều tiết trong các phương án thảo luận Trong nhiều trường hợp, chi phí đơn vị không được đề cập cụ thể mà thay vào đó mỗi vòng cung được gán một trọng lượng sử dụng như chi phí đầy đủ của nó
Trang 201.3.3 Tính tin cậy
Gắn liền với mỗi kiểu kết nối là một độ tin cậy (xét trong một khoảng thời gian nào đó), hoặc tương đương với một độ khả dụng ổn định Độ tin cậy nhận dải giá trị từ 0 (không tin cậy) tới 1 (tin cậy tuyệt đối) Nó được giả định rằng độ tin cậy ứng với một chi phí Do đó, một kết nối tin cậy ý nói sẽ ứng với một chi phí lớn hơn Mối quan hệ giữa chi phí và độ tin cậy là không tuyến tính Sự tăng độ tin cậy gây ra lớn hơn so với sự tăng trong chi phí, thường là một mối quan hệ bậc hai được giả định Có thể giả định đơn giản rằng các nút là hoàn toàn tin cậy và không bao giờ trục trặc, còn các vòng cung có hai trạng thái là tốt hoặc lỗi Các vòng cung hỏng độc lập và sửa chữa không được xem xét
Có hai độ đo tin cậy chính được sử dụng trong thiết kế mạng, đó là độ tin cậy tất cả đầu cuối (all – terminal) (còn được gọi là độ tin cậy đồng nhất hoặc độ tin cậy mạng chung) và độ tin cậy nguồn – đích (source – sink) (được gọi là độ tin cậy hai đầu cuối) Phần 2.2.2 và 2.2.3 trong chương sau sẽ xem xét độ tin cậy tất cả đầu cuối, trong khi phần 2.2.4.3 bao hàm một bài toán tin cậy nguồn - đích Độ tin cậy tất cả đầu cuối của mạng liên quan đến độ tin cậy của từng nút, và mọi nút mạng cần phải có khả năng truyền thông với nhau qua một đường nào đó Điều này ngụ ý rằng mạng phải tạo ra tối thiểu một spanning tree Độ tin cậy nguồn – đích liên quan đến khả năng của nút nguồn (định sẵn) để giao tiếp với các nút đích (cũng xác định trước) thông qua một số đường (không xác định)
Bài toán xác định hay ước lượng độ tin cậy của mạng là một mảng quan trọng liên quan đến các nghiên cứu về thiết kế mạng Có 4 hướng tiếp cận chính –tính toán chính xác thông qua các phương pháp giải tích, ước lượng thông qua các biến thể của mô phỏng Monte Carlo, giới hạn trên và dưới của độ tin cậy, và tính toán đơn giản, nhưng thiếu chi tiết, thay thế cho độ tin cậy Các bài toán tính toán hoặc ước lượng độ tin cậy của mạng là rất quan trọng cho thiết kế mạng tối ưu, phần sau sẽ trình bày chi tiết
1.3.4 Mục tiêu thiết kế và các ràng buộc
Mục tiêu chung nhất là thiết kế một mạng bằng cách lựa chọn một tập hợp con của các vòng cung khả dĩ làm sao để độ tin cậy mạng là phải tối đa, và đạt được
Trang 21các ràng buộc về chi phí tối đa Tuy nhiên, trong nhiều trường hợp, sẽ là có ý nghĩa hơn để giảm thiểu giá trị chi phí với sự đảm bảo tối thiểu về độ tin cậy Ngoài ra, có thể có những ràng buộc phụ, chẳng hạn như bậc của nút tối thiểu (bậc của nút là số vòng cung phát ra từ nó) hoặc độ dài vòng cung tối đa cho phép trong mạng Ở đây mục tiêu tối ưu là tìm kiến trúc mạng với giá trị chi phí nhỏ nhất mà đáp ứng một độ tin cậy mạng tối thiểu được xác định trước Đó là, một hàm chi phí C(x) là nhỏ nhất
trên kiến trúc mạng với ràng buộc là độ tin cậy R(x) phải lớn hơn một mức tối thiểu cần thiết R 0
1.3.5 Khó khăn của bài toán
Bài toán thiết kế mạng, như mô tả, là một bài toán tối ưu tổ hợp NP-hard: nondeterministic polinomial time – hard), khi không gian tìm kiếm cho một mạng
kết nối đầy đủ với một tập nút N và với k vòng cung có thể được chọn là:
1
2
N N k
Sự gia tăng theo hàm số mũ của số topo mạng có thể là một thực tế chứng tỏ rằng các tính toán chính xác về độ tin cậy mạng cũng là một bài toán NP-hard, mà
độ phức tạp tăng theo hàm số mũ của số vòng cung
1.4 Các cách tiếp cận thiết kế tối ưu mạng
Vấn đề thiết kế tối ưu mạng, khi xem xét độ tin cậy, đã được nghiên cứu trong các tài liệu bằng cách sử dụng những phương pháp khác nhau của tìm kiếm và tối
ưu hóa
Jan và các cộng sự [17] đã phát triển một thuật toán sử dụng phân tích dựa trên nhánh và ràng buộc để giảm thiểu chi phí vòng cung với một ràng buộc tin cậy mạng tối thiểu Đây là tính toán dễ cho các mạng kết nối đầy đủ lên đến 12 nút Sử dụng một phương pháp phỏng đoán, Aggarwal và các cộng sự [5] tối đa hóa độ tin cậy cho một giới hạn về chi phí cho các mạng với độ tin cậy cung khác nhau và độ tin cậy chung cho tất cả các thiết bị đầu cuối Vantetsanopoulos và Singh [31] sử dụng hai bước biện pháp phỏng đoán cho bài toán chi phí tối thiểu cho mạng với sự ràng buộc tin cậy Thuật toán đầu tiên sử dụng một phỏng đoán nhằm phát triển một cấu hình mạng khả thi ban đầu, sau đó thuật toán thứ hai được sử dụng để cải thiện
Trang 22cấu hình mạng ban đầu Một phiên bản ban đầu của “thuật toán mô phỏng luyện kim” đã được sử dụng bởi Atiqullah và Rao [6] để tìm ra thiết kế tối ưu cho mạng rất nhỏ (chỉ 5 nút hoặc ít hơn) Pierre và các cộng sự [29] cũng sử dụng “thuật toán
mô phỏng luyện kim” để tìm ra các thiết kế tối ưu cho các mạng chuyển mạch gói
mà sự chậm trễ và khả năng tiếp nhận đã được tính đến, nhưng độ tin cậy thì không được “thuật toán mô phỏng luyện kim” xét đến Thuật toán tìm kiếm Tabu được sử dụng bởi Glover và các cộng sự [14] để lựa chọn thiết kế mạng khi xem xét chi phí
và dung lượng, nhưng không tin cậy Một cách sử dụng thuật toán Tabu khác đề xuất bởi Beltran và Skorin-Kapov [8] đã được sử dụng để thiết kế các mạng đáng tin cậy bằng cách tìm kiếm cho các chi phí thấp nhất kéo dài 2 cây là một thay thế thô cho độ tin cậy Koh và Lee [19] cũng sử dụng thuật toán tìm kiếm Tabu để tìm thấy thiết kế mạng truyền thông mà yêu cầu một số nút (nhiệm vụ đặc biệt) có nhiều hơn một vòng cung trong khi những nút khác (nhiệm vụ thường xuyên) yêu cầu chỉ
có một vòng cung, sử dụng hạn chế vòng cung như là một thay thế cho mạng tin cậy
Các thuật toán di truyền (GA) gần đây đã được sử dụng trong tối ưu hóa tổ hợp phương pháp tiếp cận để thiết kế đáng tin cậy, chủ yếu cho chuỗi và các hệ thống song song [11, 15, 28] Đối với thiết kế mạng, Kumar và các cộng sự [22] đã phát triển một GA xem xét đường kính, khoảng cách trung bình, và độ tin cậy mạng máy tính và áp dụng nó vào bốn bài toán kiểm tra lên đến chín nút Họ đã tính được
độ tin cậy mạng lưới tất cả các thiết bị đầu cuối một cách chính xác và sử dụng một đường kính mạng tối đa (số nút tối thiểu của vòng cung hai nút bất kỳ) là một ràng buộc Các tác giả cũng sử dụng GA này để thiết kế mở rộng mạng máy tính hiện có [23] Cách tiếp cận GA của họ có hai hạn chế đáng kể Thứ nhất, họ yêu cầu tất cả các thiết kế mạng xem xét trong suốt tìm kiếm là khả thi Trong khi điều này là tương đối dễ dàng để đạt được sử dụng một ràng buộc về chi phí và mục tiêu độ tin cậy tối đa, nó không phải là dễ dàng khi sử dụng một mục tiêu chi phí và ràng buộc
về tin cậy Hạn chế thứ hai là mã hóa của chúng, đó là một danh sách của tất cả các vòng cung có thể từ mỗi nút, sắp xếp theo một trình tự nút tùy ý Sự có mặt (vắng mặt) của mỗi vòng cung được báo hiệu bởi 1 (0) Đối với một bài toán mười nút,
Trang 23các mã hóa phát triển tới một chuỗi dài 90 kí tự Tuy nhiên, nhược điểm nghiêm trọng của mã hóa là sự khó khăn trong việc duy trì sự thỏa thuận của các vòng cung
có mặt và vắng mặt sau khi lai ghép và đột biến Một cách thức vận hành sửa chữa phải được sử dụng, tuy vậy nó có xu hướng phá vỡ những tác động có lợi của lai ghép Davis và các cộng sự [13] đã tiếp cận một bài toán liên quan xem xét dung lượng vòng cung và định tuyến lại trên vòng cung lỗi bằng cách sử dụng một bài toán GA riêng Abuali và các cộng sự [3] đã chuyển đổi các nút đầu cuối tới các vùng tập trung để giảm thiểu chi phí trong khi cân nhắc khả năng sử dụng một GA nhưng không xét đến độ tin cậy Cũng là Abuali và các cộng sự [4] giải quyết bài toán “spanning tree” tối thiểu, nơi bao gồm các nút trong mạng là ngẫu nhiên và mục tiêu là để giảm thiểu tối đa chi phí kết nối (vòng cung), lại không tính đến độ tin cậy Walters và Smith [33] sử dụng một GA cho việc thiết kế một mạng lưới đường ống kết nối tất cả các nút đến nút gốc bằng cách sử dụng một hàm chi chi phí phi tuyến tính Độ tin cậy và dung lượng không được xem xét
1.5 Tính toán độ tin cậy mạng trong thiết kế tối ưu
Lặp đi lặp lại (cải tiến) kỹ thuật tối ưu hóa phụ thuộc vào tính toán hoặc dự đoán độ tin cậy của các topo mạng khác nhau trong suốt quá trình nghiên cứu Tuy nhiên, việc tính toán độ tin cậy của tất cả các thiết bị đầu cuối mạng là bài toán đa thức thời gian không xác định NP-hard [30] Phần lớn các phần sau của luận văn cũng áp dụng đối với độ tin cậy nguồn đích (source-sink), đó cũng là bài toán NP-hard, nhưng dễ dàng hơn so với độ tin cậy mạng tất cả các thiết bị đầu cuối
Giả sử các vòng cung (tập L) lỗi độc lập, số lượng các trạng thái của mạng có thể là 2 L Đối với L lớn, việc tính toán độ tin cậy mạng không thể chính xác bằng
cách sử dụng trạng thái thống kê một lần hoặc ít hơn nhiều lần yêu cầu kỹ thuật tìm kiếm lặp đi lặp lại Do đó, sự quan tâm chính là những thay thế thiếu chi tiết, phương pháp mô phỏng và phương pháp biên Những sự thay thế thiếu chi tiết cho
độ tin cậy mạng bao gồm một hạn chế mức độ trên nút tối thiểu hoặc kết nối tuyến đường tối thiểu Đây là những tính toán đơn giản, nhưng nó không được chính xác liên quan với độ tin cậy mạng thực tế Đối với bài toán độ tin cậy mạng tất cả các
Trang 24thiết bị đầu cuối, hiệu quả mô phỏng Monte Carlo là khó khăn bởi vì mô phỏng thường mất hiệu quả như một mạng lưới tiếp cận một trạng thái kết nối đầy đủ Khi xem xét về giới hạn, cả độ chặt của giới hạn và năng lực tính toán của nó phải được xem xét Cận trên và dưới dựa trên công thức Kruskal [24] và Katona [18], như được thảo luận một cách toàn diện trong [9] được dựa trên các đa thức tin cậy, và có thể được sử dụng cho cả 2 nguồn - đích (source-sink) và độ tin cậy mạng tất cả các thiết bị đầu cuối Tầm quan trọng của đa thức tin cậy là nó biến đổi các tính toán độ tin cậy vào một bộ đếm của trạng thái mạng hoạt động trên một tập suy giảm của vòng cung Giới hạn trên hệ số dẫn trực tiếp đến giới hạn trên các đa thức tin cậy Độ chính xác của các giới hạn Kruskal – Katona phụ thuộc vào cả số lượng
và tính chính xác của các hệ số tính toán Ball và Provan [7] báo cáo giới hạn chặt chẽ hơn bằng cách sử dụng một đa thức độ tin cậy khác nhau Giới hạn đó có thể
tính tính toán đa thức (trong L) thời gian và được áp dụng cho cả hai nguồn đích
(source-sink) và độ tin cậy các thiết bị đầu cuối Brecht và Colbourn [9] cải thiện các giới hạn Kruskal – Katona bằng cách tính toán hiệu quả hai hệ số bổ sung của các đa thức Brown và các cộng sự [10] sử dụng chuyển đổi mạng để tính toán hiệu quả các giới hạn Ball – Provan cho độ tin cậy tất cả các thiết bị đầu cuối Nel và Colbourn [25] đã phát triển một phương pháp Monte Carlo để ước lượng một số hệ
số bổ sung trong các đa thức tin cậy của Ball và Provan Những hệ số bổ sung những cải tiến đáng kể (ví dụ, giới hạn chặt chẽ hơn) Một tin cậy tất cả các thiết bị đầu cuối có hiệu quả tính toán trên giới hạn được định nghĩa bởi Jan [16] Phương pháp của Jan chỉ sử dụng các nút cá nhân riêng rẽ từ một mạng lưới và có thể tính
toán trong đa thức (N) theo thời gian Lưu ý sự khác biệt giữa các đa thức trong N (nút) và đa thức trong L (vòng cung), nơi cho các mạng tin cậy cao, L sẽ vượt xa N
Một trong những hạn chế quan trọng của phương pháp giới hạn trích dẫn là họ yêu cầu tất cả các vòng cung có cùng độ tin cậy, đó là một giả định không thực thế cho nhiều vẫn đề Trong các công việc gần đây của Konak và Smith [21, 22], cách tiếp cận của Jan [16] là mở rộng cho mạng với độ cậy vòng cung không đều Ngoài
ra, một ràng buộc chặt chẽ đạt được, ngay cả đối với những trường hợp khi tất cả độ
Trang 25tin cậy vòng cung đều giống hệt nhau, hầu như không có giá trị chi phí (cost) tính
toán bổ sung, tức là các giới hạn mới là đa thức trong N
Trong giải quyết các bài toán thiết kế tối ưu, có thể kết hợp của giới hạn độ tin cậy mạng cùng với ước tính chính xác với mô phỏng Monte Carlo, sẽ là một phương pháp tốt Qua nhiều cuộc tìm kiếm, những thay thế thô hoặc giới hạn sẽ là
đủ chính xác, nhưng là vài cấu trúc dự phòng cuối cùng được xem xét, một phương pháp rất chính xác phải được sử dụng (mô phỏng lặp hoặc tính toán chính xác)
1.6 Kết luận
Trong chương 1 đã trình bày tổng quan về vấn đề tối ưu mạng và phương pháp xây dựng bài toán tối ưu Một trong những bài toán tối ưu mạng điển hình là thiết kế mạng theo một tiêu chí tối ưu nào đó đáp ứng các điều kiện ràng buộc cho trước Trong nội dung chương cũng đã trình bày về các khía cạnh chi phí và độ tin cậy của bài toán thiết kế, cách xác định mục tiêu thiết kế cũng như lựa chọn các điều kiện ràng buộc Những khó khăn của bài toán thiết kế cũng đã được phân tích để làm cơ
sở cho các nghiên cứu trong các chương tiếp theo
Trang 26CHƯƠNG 2: CÁC GIẢI THUẬT TIẾN HÓA VÀ DI TRUYỀN
2.1 Giải thuật tham lam (Greedy Algorithm)
2.1.1 Giới thiệu
Giải thuật tham lam là một giải thuật giải quyết một bài toán dựa trên tri thức
về vấn đề tìm kiếm một tối ưu địa phương ở mỗi bước đi với hi vọng tìm được tối
ưu toàn cục Giải thuật tham lam có 5 thành phần:
- Một tập hợp các ứng viên để từ đó tạo ra lời giải
- Một hàm lựa chọn để lựa chọn ứng viên tốt nhất để bổ sung vào lời giải
- Một hàm khả thi dùng để quyết định một ứng viên có thể là một lời giải
- Một hàm mục tiêu để ấn định giá trị lời giải hoặc một lời giải chưa hoàn chỉnh
- Một hàm đánh giá để chỉ ra khi nào ta tìm ra một lời giải hoàn chỉnh
Hai thành phần quyết định nhất tới quyết định tham lam
Tính chất lựa chọn tham lam: Chúng ta có thể lựa chọn giải pháp nào được
cho là tốt nhất ở thời điểm hiện tại và sau đó giải bài toán con nảy sinh ra từ việc thực hiện lựa chọn vừa rồi Lựa chọn của giải thuật tham lam có thể phụ thuộc vào các lựa chọn trước đó Giải thuật tiến triển theo kiểu thực hiện các chọn lựa theo một vòng lặp, cùng lúc đó thu nhỏ bài toán đã cho về một bài toán con nhỏ hơn Giải thuật tham lam lựa chọn sớm và thay đổi đường đi giải thuật theo lựa chọn đó,
và không bao giờ xét lại các lựa chọn cũ Đối với một số bài toán, đây có thể là một giải thuật không chính xác
Cấu trúc con tối ưu: Một bài toán được gọi là “có cấu trúc tối ưu”, nếu một
lời giải tối ưu của bài toán con chứa lời giải tối ưu của bài toán lớn hơn
Ý tưởng của phương pháp tham lam
Phương pháp tham lam là một kỹ thuật thiết kế thường được dùng để giải các bài toán tối ưu Phương pháp được tiến hành theo nhiều bước Tại mỗi bước, theo một lựa chọn nào đó (xác định bằng một hàm chọn), sẽ tìm một lời giải tối ưu cho bài toán nhỏ tương ứng Lời giải của bài toán được bổ sung dần từng bước từ lời
Trang 27giải của các bài toán con Các lời giải được bằng giải thuật tham lam thường chỉ là chấp nhận theo điều kiện nào đó, chưa chắc là tối ưu
Cho trước một tập A gồm n đối tượng, ta cần phải chọn một tập con S của A Với một tập con S được chọn ra thỏa mãn các yêu cầu của bài toán, ta gọi là một nghiệm chấp nhận được Một hàm mục tiêu gắn mỗi nghiệm chấp nhận được với một giá trị Nghiệm tối ưu là nghiệm chấp nhận được mà tại đó hàm mục tiêu đạt giá trị nhỏ nhất (lớn nhất)
Đặc trưng tham lam của phương pháp thể hiện bởi: trong mỗi bước việc xử
lý sẽ tuân theo một sự lựa chọn trước, không kể đến tình trạng không tốt có thể xảy
ra khi thực hiện lựa chọn lúc đầu
2.1.2 Giải thuật cho phương pháp tham lam
Trang 28phố đi qua đúng một lần rồi quay trở lại thành phố đã xuất phát Gọi C ij là chi phí đi
từ thành phố T i đến đến T j Hãy tìm một hành trình thỏa mãn yêu cầu bài toán sao
cho tổng chi phí là nhỏ nhất
Ý tưởng:
Đây là bài toán chu trình có trọng số nhỏ nhất trong một đơn đồ thị có hướng có trọng số Giải thuật tham lam cho bài toán là chọn thành phố có chi phí nhỏ nhất tính từ thành phố hiện thời đến các thành phố chưa qua
Giải thuật:
Input: C = (Cij)
Output: TOUR //Hành trình tối ưu,
COST; //Chi phí tương ứng
- TOUR := TOUR + <v,w>; //Cập nhật lời giải
- COST := COST + Cv w; // Cập nhật chi phí
// chuyến đi hoàn thành TOUR := TOUR + <v,u>;
COST := COST + Cv u;
Trang 31các bài toán con Hay nói một cách khác là nghiệm tối ưu của bài toán có thể nhận được bằng cách thực hiện các lựa chọn tối ưu cục bộ
- Cấu trúc con tối ưu (opitimal substructure): Một nghiệm tối ưu có thể nhận được bằng cách gia tăng các nghiệm thành phần đã được xây dựng với một nghiệm tối ưu của bài toán con còn lại Có nghĩa là một nghiệm tối ưu sẽ chứa các nghiệm tối ưu đối với các bài toán con kích thước nhỏ hơn
2.2 Các giải thuật di truyền
2.2.1 Các khái niệm cơ bản
Giải thuật di truyền (GA - Genetic Algorithm) là kỹ thuật giúp giải quyết vấn
đề bắt chước theo sự tiến hóa của con người hay của sinh vật nói chung trong điều kiện quy định sẵn của môi trường Phương tiện để thực hiện cách giải quyết vấn đề này là chương trình tin học gồm các bước phải thi hành, từ việc chọn giải pháp tiêu biểu cho vấn đề, cho đến việc chọn các hàm số thích nghi cũng như các phương pháp tiến hóa để tạo cho giải pháp ngày càng thích nghi hơn
Như vậy GA không chú trọng đến giải pháp duy nhất và chính xác như phương pháp cổ điển, trái lại GA xét đến toàn bộ các giải pháp và tuy dựa trên tính ngẫu nhiên nhưng có hướng dẫn bởi hàm số thích nghi, do đó không có nghĩa là
“đoán mò”
Các tính chất của giải thuật
- GA lập luận mang tính chất ngẫu nhiên (stochastic), thay vì xác định (determinisic) như toán học giải tích
- GA duyệt xét toàn bộ các giải pháp, sau đó chọn lấy giải pháp tương đối tốt nhất dựa trên hệ số thích nghi
- GA không để ý đến chi tiết vấn đề, trái lại chỉ chú ý đến giải pháp, đặc biệt là
số tượng trưng cho giải pháp
- GA rất thích hợp cho việc tìm kiếm giải pháp cho vấn đề, hay tìm điều kiện tối ưu cho việc điều hành, và phân nhóm những giải pháp có được
Trang 322.2.2 Giải thuật di truyền đơn giản khi tất cả vòng cung có độ tin cậy giống nhau
2.2.2.1 Mã hóa và toán tử GA
Trong phần này, một cách tiếp cận GA đơn giản để thiết kế mạng tối ưu khi tất cả vòng cung có độ tin cậy giống nhau được thảo luận Mỗi thiết kế mạng đề cử được mã hóa như là một chuỗi nhị phân độ dài 1
2
, số lượng các vòng cung
có thể trong một mạng kết nối đầy đủ Điều này được làm giảm cho các mạng khi
mà không phải tất cả các liên kết có thể được cho phép Ví dụ, hình 2.1 cho thấy một mạng đơn giản mà bao gồm 5 nút và 10 vòng cung có thể nhưng chỉ có 7 vòng cung hiện diện
Hình 2.1: Năm nút mạng được đánh số tùy ý
Chuỗi biểu diễn của mạng trong hình 2.1 là
[ x12 x13 x14 x15 x23 x24 x25 x34 x35 x45 ] Trong GA này, tập hợp ban đầu bao gồm các mạng 2 kết nối được ngẫu nhiên tạo ra Phương thức 2 kết nối được sử dụng như là một sàng lọc sơ bộ, vì nó thường là một đặc tính của các mạng tin cậy cao Một tập hợp các thử nghiệm xác định các tham số GA như sau: s20, rc 0.95, rm 0.05
Cách tiếp cận này sử dụng các toán tử GA thông thường của bánh xe quay rulet, lai ghép điểm đơn và đột biến đảo bit Mỗi lai ghép mang lại hai cá thể bổ
Trang 33sung, và mỗi cá thể bị đột biến Sự tiến hóa được tiếp tục cho đến một số giá trị đặt sẵn của các thế hệ mà thay đổi theo kích thước của mạng
2.2.2.2 Hàm thích nghi
Hàm mục tiêu là tổng của tổng chi phí cho tất cả các vòng cung cộng với một hàm phạt (penalty) bậc hai cho các mạng không đáp ứng được các yêu cầu độ tin cậy tối thiểu Mục tiêu của hàm phạt là để đưa GA đến các giải pháp khả thi gần như là tối ưu Điều quan trọng là để cho phép các giải pháp khả thi cho tập hợp vì các giải pháp tốt thường là kết quả lai tạo giữa một giải pháp khả thi và một phải pháp không khả thi và GA không đảm bảo cá thể có tính khả thi, thậm chí nếu cả hai cặp nghiệm (gọi là bố mẹ) có tính khả thi Hàm thích nghi xem xét các giải pháp khả thi có thể là:
2.2.2.3 Xử lý với tính toán độ tin cậy
Phương pháp này sử dụng ba sự ước tính độ tin cậy để đánh đổi độ chính xác với năng lực tính toán
Một kiểm tra kết nối cho một spanning tree được thực hiện trên tất cả các thiết kế mạng mới sử dụng các phương pháp của Hopcroft và Ullman
Cho các mạng mà kiểm tra thành công, giải pháp 2 kết nối được thực hiện bởi đếm bậc của nút
Cho các mạng mà qua được cả hai kiểm tra sơ bộ ở trên, giới hạn trên của Jan [16] được sử dụng để tính toán giới hạn trên của độ tin cậy của mạng đề
R x và chi phí thấp nhất được gửi đến các chương trình con Monte Carlo để
dự trù chính xác hơn về độ tin cậy bằng cách sử dụng một kỹ thuật Monte Carlo
Trang 34hiệu quả hơn Các mô phỏng được thực hiện cho t = 3000 lặp lại cho mỗi mạng ứng
cử
2.2.2.4 Kinh nghiệm tính toán
Kết quả so với phương pháp nhánh và giới hạn của Jan [17] trên bài toán kiểm tra được tổng hợp ở bảng 2.1 Những bài toán này xét cho cả mạng kết nối đầy
đủ và mạng không kết nối đầy đủ (chỉ một tập con của L là có thể lựa chọn) Giá trị
N nút của mạng là dải từ 5 đến 25
Mỗi bài toán cho GA đã chạy 10 lần, mỗi lần với một số ngẫu nhiên khác nhau Như đã trình bày, GA cho những giá trị tối ưu cho tất cả các lần lặp của bài toán 1 – 3 và thấy tối ưu cho tất cả, nhưng hai trong số những bài toán ít nhất một lần chạy thử của 10 Hai kết quả tối ưu (12 và 13) là rất gần tối ưu Bảng 2.2 liệt kê các không gian tìm kiếm cho mỗi bài toán cùng với tỉ lệ tìm kiếm thực của GA trong quá trình chạy là duy nhất (n g max).gmax nằm trong khoảng 30 – 20.000, tùy thuộc vào kích thước của bài toán
Tỷ lệ này là một giới hạn trên vì GA có thể xem lại các giải pháp đã được xem xét trước đó trong việc tìm kiếm tiến hóa Có thể thấy rằng cách tiếp cận GA chỉ một phần rất nhỏ trong những giải pháp có thể cho các bài toán lớn hơn, nhưng vẫn mang lại giải pháp tối ưu hoặc gần tối ưu
Bảng 2.2 cũng so sánh hiệu quả của các đánh giá Monte Carlo của mạng tin cậy Độ tin cậy mạng chính xác được tính bằng cách sử dụng một giải thuật tìm ngược, cũng được sử dụng bởi Jan [17], và so sánh với các đối tác dự kiến cho mạng cuối cùng cho những bài toán mà các GA tìm thấy tối ưu Việc lập dự toán độ tin cậy của Monte Carlo là sai số và luôn luôn là trong vòng 1% độ tin cậy của mạng chính xác
Trang 35Bảng 2.1: So sánh các kết quả giải thuật GA
Bài
Chi phí tối ƣu (2)
Kết quả giải thuật GA (1) Chi phí
tốt nhất
Chi phí trung bình
Độ lệch chuẩn Mạng đầy đủ kết nối
Trang 36Bảng 2.2: So sánh các cách tìm kiếm và dự tính độ tin cậy của giải thuật GA
Kích thước tìm kiếm
* Tối ưu không được tìm thấy bởi giải thuật GA
@ Mạng quá lớn để tính toán được chính xác độ tin cậy
Trang 372.2.3 Giải thuật di truyền với bài toán cụ thể khi tất cả vòng cung có cùng
độ tin cậy
GA trong phần trước đã có hiệu quả, nhưng có hiệu quả tính toán lớn hơn có thể nếu GA có thể khai thác các cấu trúc đặc biệt của bài toán thiết kế mạng tối ưu Việc mã hóa, lai ghép và đột biến được thay đổi để thực hiện tìm kiếm và sửa chữa trong quá trình tiến hóa và tổ hợp ban đầu được gieo mầm
2.2.3.1 Mã hóa và gieo mầm
Một chuỗi đại diện biến số nguyên được sử dụng với tất cả các vòng cung có thể tùy ý thay một số nguyên, và sự hiện diện của vòng cung trong cấu trúc liên kết được thể hiện bởi số nguyên trong chuỗi lệnh Các mạng kết nối đầy đủ trong hình 2.2 (a) như ví dụ sử dụng sự phân cấp nhãn số cho vòng cung
Hình 2.2: Hai mạng 6 nút: (a) đầy đủ kế nối, với các vòng cung đánh số từ 1 đến 15;
(b) kết nối một phần với nhãn vòng cung giống như hình a
Chuỗi tiêu biểu của mạng đưa ra như hình 2.2 là [1 2 3 4 5 6 7 8 9 10 11 12 13
14 15] và [1 4 5 6 9 11 12 13 14 15], tương ứng Các mạng đầu tiên bao gồm tất cả các cung có thể sử dụng các nhãn trên Mạng thứ hai có chứa mười vòng cung, bằng cách sử dụng sự phân phối nhãn giống nhau Tập số ban đầu có chứa các mạng tin cậy cao, được tạo ra như sau:
1 Một spanning tree được thực hiện thông qua giải thuật tìm kiếm độ sâu – đầu tiên (delph – first) của Hopcroft và Ullman, tạo ra một cây (tree) từ một nút chọn ngẫu nhiên
Trang 382 Vòng cung chọn ngẫu nhiên từ tập hợp cây (tree) (tập các vòng cung chưa được sử dụng trong cây) được thêm vào các spanning tree để tăng các kết nối
3 Nếu mạng thu được bởi bước 1 và 2 không có tính chất 2 kết nối [32], nó được sửa bởi các giải thuật được giải thích trong phần 2.2.3.3
2.2.3.2 Giải thuật di truyền
Các bước của giải thuật như sau:
- Bước 1: Chọn mô hình cho giải pháp của vấn đề: Chọn 1 số tượng trung cho toàn bộ các giải pháp có thể cho vấn đề
- Bước 2: Chỉ định cho mỗi giải pháp một ký hiệu Ký hiệu có thể là dãy của những số 1 và 0 thuộc hệ nhị phân hay dãy số thập phân, của chữ hay hỗn hợp của số và chữ Ở đây ta dùng hệ nhị phân để làm ký hiệu cho giải pháp
- Bước 3: Tìm hàm số thích nghi cho vấn đề và tính hệ số thích nghi cho từng giải pháp
- Bước 4: Dựa trên hệ số thích nghi cho các giải pháp để thực hiện sự tạo sinh (reproduction) và tiến hóa các giải pháp Các phương thức tiến hóa gồm: Lai ghép (cross over), đột biến (mutation)
- Bước 5: Tính các hệ số thích nghi cho các giải pháp mới và loại bỏ những giải pháp kém nhất để chỉ còn giữ lại một số nhất định các giải pháp
- Bước 6: Nếu chưa tìm được giải pháp tối ưu hay tương đối khá nhất hay chưa hết hạn ấn định, trở lại bước thứ tư để tìm giải pháp mới
- Bước 7: Tìm được giải pháp tối ưu nếu thời gian cho phép đã chấm dứt thì báo cáo kết quả tính được
Ví dụ minh họa
Trong thực tế GA đã được dùng để giải quyết những vấn đề phức tạp, tuy nhiên để trình bày về lý thuyết mới, ở đây một ví dụ rất đơn giản, tìm đáp số cho phương trình 2
Bước 1: Quy định số lượng các đáp số và ấn định ký hiệu cho từng đáp số Giả sử
chúng ta không biết đáp số bài toán Nên sẽ chọn 4 số trong những đáp số có thể có
Trang 39cho bài toán Đồng thời chúng ta chọn mô hình để tượng trưng cho các số phải xét (dùng hệ thống nhị phân để ký hiệu các đáp số)
H/t nhị phân 0001 0010 0011 0100 0101 0110 0111 1000
Bước 2: Chỉ định số đáp số và ký hiệu các đáp số cho bài toán
Sau đây là 4 số có thể là đáp số cho bài toán
Bước 3: Ấn định hàm số thích nghi (fitness function) và tính hệ số thích nghi cho
từng đáp số Chúng ta có thể chọn bất cứ hệ thức hay hàm số nào để biểu diễn sự thích nghi của các đáp số của bài toán Kinh nghiệm cho thấy hàm số thích nghi phải có liên hệ đến các vấn đề Bước thứ ba này tương đối phức tạp và khó thực hiện nhất, vì nếu chọn hàm số thích nghi không đúng, kết quả sẽ không có hiệu lực Trong ví dụ này, chọn hàm số thích nghi bằng 1000X264 và quy định đáp số
có hệ số thích nghi bằng 1000 hay gần 1000 nhất sẽ là đáp số của bài toán
Trong bảng sau đây chúng ta sẽ ghi lại chi tiết
Thứ tự (1) Nhị phân (2) Thập phân (3) Bình phương của hệ số
Bước 4: Tiến hóa và đáp số để tìm các đáp số có hệ số thích nghi tối ưu Nhìn vào
bảng dưới ta nhận thấy đáp số có hệ số thích nghi cao nhất vẫn còn cách xa 1000
Do đó phải tìm ra đáp số mới (để có hệ số này ngày càng lớn và bằng hay gần với 1000) bằng cách tiến hóa các đáp số cũ
Trang 40Vấn đề đặt ra là: Trong 4 số (4, 21, 10, 24) trên, số nào sẽ được chọn để tiến hóa Nguyên tắc của GA đã trình bày trên là số nào đã được chọn để tiến hóa hơn các số có hệ số thích nghi thấp Điều này cũng giống với thực tế, chỉ những sinh vật nào thích nghi với hoàn cảnh hơn sẽ tồn tại lâu hơn và dĩ nhiên sẽ có cơ hội tạo sinh
và tiến hóa nhiều hơn
Nhìn vào bảng dưới ta thấy theo thứ tự 10 và 4 có hệ số thích nghi cao hơn
do chúng sẽ được chọn để tạo sinh và tiến hóa, đồng thời 21 và 24 có hệ số thích nghi thấp nhất sẽ bị loại bỏ (để giữ tổng số các đáp số là 4) Trong ví dụ này chúng
ta lai ghép 4 và 10 tạo điểm giữa hàng thứ hai và thứ ba, như trình bày dưới đây
Bước 5: Tính hệ số thích nghi cho các đáp số vừa có
Thứ tự (1) Nhị phân (2) Thập phân (3) Bình phương của hệ
số ở cột (3) trừ 64
Thích nghi
Bước 6: Trước khi trở lại bước 4 và bước 5 như trình bày trên, chúng ta hãy xét các
chi tiết trong bảng trên May mắn chúng ta có được đáp số ở hàng thứ nhất là số 8 với hệ số thích nghi bằng 1000 Theo quy định ghi trong bước 3, đây là đáp số có hệ
số thích nghi cao nhất, số này là 01000 (nhị phân) hay 8 (thập phân) Do đó chúng
ta không cần trở lại bước 4 và bước 5, chúng ta sẽ báo cáo kết quả là 8
Bước 7: Kết quả với X = 8, chúng ta sẽ có 2 2
8 64
2.2.3.3 Tạo sinh, lai ghép và đột biến
Tạo sinh: Tạo sinh là dùng những thành phần của thế hệ trước để tạo thêm
thành phần của thế hệ sau Vậy thành phần nào sẽ được chọn cho việc tạo sinh? Cũng giống như trong thiên nhiên, những thành phần nào có hệ số thích nghi lớn hơn sẽ có cơ hội được chọn để thực hiện việc tạo sinh
Lai ghép: Ví dụ sau đây thể hiện các hình thức của lai ghép
Trước khi lai ghép