Tải bản đầy đủ (.doc) (40 trang)

BÁO CÁO MÔN HỌC CÁC KỸ THUẬT TỐI ƯU Lập trình di truyền mã hóa cặp nút cho thiết kế topo mạng mắt lưới quang

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (559.04 KB, 40 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA ĐÀO TẠO QUỐC TẾ VÀ SAU ĐẠI HỌC
**********
BÁO CÁO
MÔN HỌC: CÁC KỸ THUẬT TỐI ƯU
Đề tài: Lập trình di truyền mã hóa cặp nút cho thiết
kế topo mạng mắt lưới quang
Giảng viên : TS. Lê Nhật Thăng
Học Viên : Nguyễn Đình Hùng
Phạm Công Huy
Lớp : Khoa học máy tính 2013-1
Hà Nội, tháng 4 năm 2014
MỤC LỤC
CHƯƠNG 1: CÁC KỸ THUẬT TÍNH TOÁN THÍCH ỨNG VÀ HEURISTIC TRONG VIỄN
THÔNG 1
CHƯƠNG 6: LẬP TRÌNH DI TRUYỀN MÃ HÓA CẶP NÚT CHO THIẾT KẾ MẠNG MẮT
LƯỚI QUANG 17
Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
CHƯƠNG 1: CÁC KỸ THUẬT TÍNH TOÁN THÍCH
ỨNG VÀ HEURISTIC TRONG VIỄN THÔNG
1.1 Các vấn đề tối ưu hóa trong viễn thông
Sự phức tạp và kích thước của các mạng viễn thông hiện đại cung cấp cho chúng
ta nhiều thách thức và cơ hội. Trong cuốn sách này, những thách thức mà chúng tôi tập
trung vào là những liên quan đến việc tối ưu hóa. Điều này chỉ đơn giản đề cập tới
những trường hợp mà trong đó chúng ta đang hướng tới tìm một cách tiếp cận phương
án tốt nhất giữa nhiều phương án có thể có để giải quyết bài toán. Ví dụ, có một số
lượng lớn cách để thiết kế các cấu trúc liên kết một mạng dữ liệu riêng cho một công
ty lớn. Làm thế nào chúng ta có thể tìm thấy một thiết kế đặc biệt tốt trong tất cả các
khả năng? Ngoài ra, chúng ta có thể thử tìm một cách tốt để gán kênh tần số cho nhiều
người sử dụng mạng di động. Có một loạt các khó khăn phức tạp liên quan ở đây, số
lượng các phương án có thể đáp ứng các khó khăn vẫn còn quá lớn để chúng tôi hy


vọng sẽ kiểm tra lần lượt từng phương án trong số chúng. Vì vậy, một lần nữa, chúng
ta cần một số cách để tìm ra giải pháp tốt trong tất cả các khả năng.
Những thách thức hiện tại là cơ hội cho sự hợp tác giữa các kỹ sư viễn thông, các
nhà nghiên cứu và phát triển trong khoa học máy tính và trí tuệ nhân tạo cộng đồng.
Đặc biệt, có một bộ các công nghệ phần mềm mới nổi nhằm tối ưu hóa các vấn đề mà
hiện nay đang được được sử dụng trong ngành công nghiệp, nhưng có tiềm năng lớn
cho các giải pháp có lợi nhuận và hiệu quả cho nhiều bài toán trong ngành viễn thông.
Phần lớn cuốn sách này tập trung vào các kỹ thuật tối ưu hóa, và các công trình
nghiên cứu trong các chương sắp tới trình bày một phần việc áp dụng những kỹ thuật
này cho các bài toán liên quan đến viễn thông. Các kỹ thuật sử dụng bao gồm các
phương pháp "tìm kiếm địa phương “ như ủ mô phỏng (Aarts và Korst, 1989) và tìm
kiếm tabu (Glover, 1989; 1989a), và các kỹ thuật tìm kiếm 'dựa trên tập hợp' như thuật
toán di truyền (Hà Lan, 1975 ; Goldberg, 1989), chiến lược phát triển (Schwefel, 1981;
Back, 1996), lập trình tiến hóa (Fogel, 1995) và lập trình di truyền (Koza, 1992). Mục
1.3 giới thiệu ngắn gọn và cơ bản các kỹ thuật trên, dành cho các kỹ sư viễn thông,
quản lý hoặc nghiên cứu, những người hiểu biết quá nhiều về vấn đề này, nhưng chưa
1
Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
biết cách để giải quyết chúng. Chương sau thảo luận về việc sử dụng liên quan đến các
bài toán đặc biệt trong viễn thông.
1.2 Bài toán động và thích ứng.
Một khía cạnh cơ bản của nhiều vấn đề tối ưu hóa trong viễn thông là một thực tế
rằng các giải pháp tối ưu là động. Những gì có thể là giải pháp tốt nhất bây giờ có thể
không phải là giải pháp lý tưởng trong một vài giờ, hoặc thậm chí một vài phút. Ví dụ,
các nhà cung cấp dịch vụ của một cơ sở dữ liệu phân tán ( như video theo yêu cầu,
dịch vụ web - bộ nhớ đệm, vv) phải cố gắng để đảm bảo chất lượng dịch vụ cho mỗi
khách hàng. Để làm điều này liên quan đến việc chuyển hướng cơ sở dữ liệu của
khách hàng truy cập đến các máy chủ khác nhau tại các thời điểm khác nhau ( khách
hàng không thể nhận biết) để thực hiện phù hợp cân bằng tải giữa các máy chủ. Kỹ
thuật tối ưu hóa hiện đại có thể được sử dụng để phân phối tải trọng phù hợp trên các

máy chủ, tuy nhiên giải pháp này trở nên không hợp lệ ngay sau khi có sự thay đổi
trung bình trong mô hình truy cập cơ sở dữ liệu của khách hàng. Một ví dụ khác là
định tuyến gói chung trong một mạng point-to -point. Theo truyền thống, bảng định
tuyến tại mỗi nút được sử dụng để tìm kiếm ' bước kế tiếp ' tốt nhất cho một gói dựa
trên điểm đến cuối cùng của nó. Chúng ta có thể tưởng tượng một kỹ thuật tối ưu hóa
áp dụng cho vấn đề này, kỹ thuật này dựa vào mô hình tổng thể và xác định các bảng
định tuyến thích hợp cho mỗi nút, do đó ùn tắc chung và sự chậm trễ có thể được giảm
thiểu, tức là trong nhiều trường hợp là ‘bước kế tiếp’ tốt nhất có thể không tìm được
nút tiếp theo trên con đường ngắn nhất, vì liên kết này có thể được được sử dụng nhiều
rồi. Tuy nhiên, đây rõ ràng là một chương trình cần được thực hiện lặp đi lặp lại như
những biểu đồ thay đổi lưu lượng truy cập.
Việc thực hiện lặp đi lặp lại của các kỹ thuật tối ưu hóa là một trong những cách
có thể để tiếp cận các bài toán động, nó thường là một cách khá phù hợp, đặc biệt là
khi các giải pháp tốt yêu cầu cần thiết phải rất nhanh, vì môi trường thay đổi rất nhanh
chóng. Thay vào đó, một phạm vi khác của các kỹ thuật tính toán hiện đại thường
thích hợp cho các bài toán như vậy. Chúng ta có thể gọi chung lớp này là kỹ thuật
"thích ứng", mặc dù việc sử dụng ở các chương sau trong cuốn sách này thực sự khá
đa dạng. Đặc biệt, chương sau sẽ sử dụng tính toán thần kinh (neural), logic mờ và lý
2
Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
thuyết trò chơi để giải quyết tối ưu hóa thích nghi trong môi trường động, trong một số
trường hợp kết hợp với tìm kiếm cụ bộ hoặc dựa vào tập hợp. Về cơ bản, một kỹ thuật
tối ưu hóa cung cấp một cách nhanh chóng và hiệu quả để tìm một giải pháp tốt trong
nhiều giải pháp, một kỹ thuật thích ứng phải cung cấp một giải pháp tốt gần như là
ngay lập tức.
Thủ thuật ở đây đó là các phương pháp sử dụng tiến trình “off-line” để học về vấn
đề đang giải quyết sao cho khi mà các kết quả tốt và nhanh được yêu cầu thì chúng sẽ
được chuyển đi. Ví dụ, một cách tiếp cận thích hợp cho việc định tuyến gói tin trong
các mặt thay đổi trong mô hình giao thông sẽ bao gồm một số liên tục nhưng tôi thiểu
hóa xử lý mà được cập nhật liên tục trong bảng định tuyến tại mỗi nút dựa trên thông

tin hiện tại về độ trễ và mức độ giao thông.
Trong phần còn lai của chương này chúng ta sẽ giới thiệu ngắn gọn về sự tối ưu và
và các kỹ thuật thích ứng mà chúng ta đã đề cập ở trên. Chi tiết sẽ được nói ở các
chương sau. Sau đó chúng ta sẽ nói một chút về ba phần trong cuốn sách này trong các
chương tiếp theo. Sau cùng, chúng ta sẽ chỉ ra tại sao những kỹ thuật này là quan trọng
trong viễn thông, và chúng sẽ ngày càng phát triển theo thời gian.
1.3 Các kỹ thuật Heuristic hiện đại
Có một loạt các phương pháp nổi tiếng trong hoạt động nghiên cứu, như là : quy
hoạch động (DynamicProgramming), quy hoạch tuyến tính (Integer Programming ).
V v đã được sử dụng để giải quyết các lọa vấn đề tối ưu khác nhau. Tuy nhiên , một
cộng đồng lớn của các nhà khoa học máy tính và các nhà nghiên cứu trí tuệ nhân tạo
ngày nay đang dành rất nhiều nỗ lực vào những ý tưởng hiện đại hơn được gọi là
“metaheuristics” hay còn gọi là “heuristic”. Vấn đề khác nhau cơ bản giữa các phương
pháp hiên đại và phương pháp cổ điển đó là , nó dễ áp dụng hơn. Tực là nếu đưa ra
một vấn đề thực tế điển hình và phức tạp thì nó sẽ cần ít công sức để phát triển cách
tiếp cận mô hình tôi thép để giải quyết vấn đề đó hơn là trình bày vấn đề theo cách quy
hoạch tuyến tính có thể áp dụng trên nó.
Điều này không nói rằng các phương pháp hiện đại sẽ làm tốt hơn phương pháp cổ
điển. Trên thực tế, kịch bản thực tế và điển hình khi mà cả hai loại phương pháp được
áp dụng đó là :
3
Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
• Một chuyên gia metaheuristics so sánh hại loại kỹ thuật: phương pháp hiện
đại làm tốt hơn phương pháp cổ điện
• Một chuyên gia nghiên cứu các hoạt động cổ điển so sánh hai loại kỹ thuật:
phương pháp cổ điển vượt trội hơn phương pháp hiện đại
Mặc dù sự quan sát này dựa trên một khía cạnh quan trọng trong việc giải quyết
các vấn đề tối ưu. bạn càng hiểu rõ các kỹ thuật riêng biệt mà bạn đang áp dụng thì
bạn càng có khả sử dụng và khai thác nó để đạt được kết quả tốt hơn.
Trong phần này chúng tôi chỉ cung cấp khía quát về một số thuật toán tối ưu hiện

đại, và do đó không cung cấp khá đầy đủ thông tin cho một người đọc để có thể chỉnh
cho phù hợp với các vấn đề cụ thể. Mặc dù chúng tôi không chỉ cho bạn cách để sáng
tạo với chúng, nhưng chúng tôi chỉ ra điểm mấu chốt ở đâu. Làm cách nào để áp dụng
sáng tạo chúng thì phụ thuộc và rất nhiều vấn đề, nhưng chương sau sẽ cung cấp các
thông tin cho từng trường hợp cụ thể. Những gì sẽ trở nên rõ ràng từ chương này, tuy
nhiên, đó là những kỹ thuật được đánh giá cao chung trong ứng dụng của chúng.
Trong thực tế, bất cứ khi nào cũng có một số cách khá sẵn để đánh giá hoặc tính điểm
giải pháp ứng cử viên cho vấn đề của bạn, sau đó các kỹ thuật này có thể được áp
dụng.
Về bản chất các kỹ thuật này được chia làm 2 nhóm : tìm kiếm địa phương, tìm
kiếm dựa trên dân số. Đó sẽ là những thứ sẽ được bàn đến tiếp theo đây.
1.3.1 Tìm kiếm cục bộ
Giả sử rằng bạn đang cố gắng để giải quyết một vấn đề P, và bạn có một tập hợp S
là các giải pháp tiềm năng cho vấn đề này. Bạn không nhất thiết phải có tập S, vì nó
quá lớn để có thể hiểu rõ toàn bộ. Tuy nhiên, bạn có một số cách để tạo ra các giải
pháp từ nó. Ví dụ, S có thể là một tập hợp các cấu trúc liên kết cho một mạng, và các
giải pháp ứng cử s, s ', s'',… là các đề cử cấu trúc kết nối cụ thể mà bạn đã đưa ra theo
cách nào đó. Thêm vào đó, hãy tưởng tượng rằng bạn có một hàm chuẩn hóa f(s)
(fitness function) có chức năng đưa ra kết quả của một giải pháp đề cử. Kết quả tốt
hơn đồng nghĩa với việc đó là giải pháp tốt hơn. Lấy ví dụ, chúng ta đang cố gắng tìm
ra những cấu trúc liên kết mạng đáng tin cậy nhất, sau đó f (s) có thể tính toán xác suất
thất bại của liên kết giữa hai nút đặc biệt quan trọng. Trong trường hợp chúng ta muốn
4
Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
sử dụng nghịch đảo của giá trị này nếu chúng ta thực sự muốn gọi nó là ‘chuẩn hóa’
(fitness). Trong những trường hợp khi mà kết quả thấp hơn, thì tốt hơn và thường thì
thích hợp hơn đó là coi f(s) là một hàm chi phí.
Chúng ta còn cần thêm một điều nữa, mà chúng ta gọi là một toán tử lân cận
(neighbourhood operator). Đây là hàm có chức năng lấy ra một giải pháp đề cử s, và
tạo ra một giải pháp đề cử mới s’ - thường chỉ hơi khác một chút so với s. Chúng ta sẽ

sử dụng thuật ngữ ‘biến cố’ (mutation) để mô tả cho toán tử này. Ví dụ, nếu chúng ta
biến đổi một cấu trúc liên kết mạng, kết quả biến đổi có thể bao gồm một liên kết thêm
không có trong cấu trúc liên kết ‘cha mẹ’, hoặc cũng có thể là giống như nhau. Ngoài
ra, biến cố có thể loại bỏ, hoặc di chuyển, một liên kết.
Bây giờ chúng ta có thể mô tả một cách cơ bản về tìm kiếm cục bộ. Trước tiên,
hãy xem xét một trong những phương pháp tìm kiếm cục bộ đơn giản nhất, được gọi là
phương pháp leo đồi (hillclimbing), thực hiện theo các bước dưới đây:
1. Bắt đầu: tạo ra một giải pháp đề cử ban đầu (có thể bằng một cách ngẫu nhiên);
gọi đây là giải pháp hiện tại, c. Đánh giá nó.
2. Biến đổi c để tạo ra một biến cố m, sau đó đánh giá m.
3. Nếu f(m) là tốt hơn hơn hoặc tương đương f(c), vậy thì cần thay thế c với m. (Ví
dụ c bây giờ là một bản sao của m).
4. Lặp lại bước 2, cho đến khi nào đạt tới một tiêu chí kết thúc.
Ý tưởng của hillclimbing nên được trình bày rõ ràng theo thuật toán nêu trên. Ở
bất kỳ bước nào, chúng ta có một giải pháp hiện tại, và khi chúng ta nhìn vào một ân
cận của giải pháp này – có vài điểm khác nhau. Nếu giải pháp lân cận là một bộ lọc
(fitter) (hoặc tương đương), vậy thì có vẻ như là đây một ý tưởng tốt để chuyển sang
lân cận đó; do đó, cần bắt đầu lại với lân cận giống như là với một giải pháp hiện tại
mới. Ý tưởng căn bản đằng sau điều này, và đằng sau phương pháp tìm kiếm cục bộ
nói chung, đó là sự hội tụ của các giải pháp tốt. Bạn có thể không thực sự mong đợi
một cấu trúc liên kết đáng tin cậy xuất hiện, ví dụ, thêm một liên kết đơn vào một cấu
trúc liên kết không đáng tin cậy. Tuy nhiên, bạn có thể mong đợi rằng một sự thay đổi
như vậy có thể biến một cấu trúc liên kết đáng tin cậy thành một cấu trúc liên kết đáng
tin cậy hơn.
Trong tìm kiếm cục bộ, chúng ta khai thác ý tưởng này bằng cách liên tục tìm
kiếm trong vùng lân cận của giải pháp hiện tại. Sau đó chúng ta sẽ chuyển đến một
5
Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
giải pháp phù hợp, và tái thực thi quá trình này. Sự nguy hiểm ở đây là chúng ta có thể
gặp khó khăn trong với cái gọi là ‘tối ưu cục bộ’, tức là giải pháp hiện tại là không đủ

tốt cho mục đích của chúng ta, nhưng tất cả các phương án lân cận của nó thậm chí
còn tồi hơn. Đây là điểm không tốt đối với thuật toán leo đồi (hillclimbing), vì đơn
giản là nó sẽ bị mắc kẹt ở đó. Các phương pháp tìm kiếm cục bộ khác ngoài
hillclimbing, có cách để giải quyết chính xác tình huống này.
Các phương pháp tìm kiếm cục bộ khác được phân biệt chúng với hillclimbing,
tuy nhiên, có một số cách để giải quyết tình trạng này một cách chính xác. Chúng ta sẽ
xem xét lại 2 phương pháp ở đây, đây là những phương pháp được sử dụng phổ biến
và được sử dụng ở phần sau trong cuốn sách này. Dưới đây là mô phỏng luyện kim
(simulated annealing) và tìm kiếm tabu (tabu search).
Simulated annealing
Simulated anneling giống với hillclimbing. Sự khác biệt duy nhất là việc thêm vào
của 1 cặp tham số, một bước phụ mà một số cuốn sách thực hiện với những tham số
này, và đây là điểm chính, bước 3 được thay đổi để sử dụng các tham số này:
1. Bắt đầu: Tạo và đánh giá giải pháp ứng cử ban đầu (một cách ngẫu nhiên); gọi
đây là giải pháp hiện tại c. Khởi tạo tham số nhiệt độ T và độ làm mát r
(0<r<1).
2. Biến đổi c tạo ra m, kết quả của việc biến đổi c, và đánh giá m.
3. Nếu đánh giá test(f(m), f(c), T) là đúng, thì thay thế c bằng m (c bây giờ là bản
sao của m).
4. Cập nhật tham số nhiệt độ (T thành rT).
5. Lặp lại bước 2, cho tới khi đạt được tiêu chí kết thúc.
Vấn đề xảy ra trong mô phỏng luyện kim đó là đôi khi chúng ta chấp nhận kết quả
của việc biến đổi ngay cả khi nó kém hơn cả giải pháp hiện tại. Tuy nhiên, chúng
không xảy ra thường xuyên và khả năng kết quả của việc biến đổi kém hơn là rất thấp.
Ngoài ra, chúng ta có ít khả năng làm như vậy trong thời gian tới. Kết quả tổng thể là
thuật toán có cơ hội tốt để thoát khỏi optima cục bộ, do đó có thể tìm kiếm các miền
tốt hơn của không gian sau này. Tuy nhiên, hướng cơ bản của sự dịch chuyển về các
miền tốt hơn được duy trì. Tất cả những điều này được thực hiện trong chức năng test
của bước 3. Một ví dụ về loại sử dụng test là đầu tiên thực hiện:
6

Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
( ( ) ( ))/f m f c T
e

Giả thiết rằng chúng ta thực hiện tối ưu hóa cost (nếu không chúng ta chỉ cần
chuyển dổi f(m) và f(c)). Nếu kết quả của việc biến đổi tốt hơn hoặc tương đương giải
pháp hiện tại, thì biểu thức trên sẽ lớn hơn hoặc bằng 1. Nếu kết quả của việc biến đổi
kém hơn, thì kết quả sẽ nhỏ hơn 1 và kém hơn kết quả biến đổi là gần bằng 0. Do đó,
kết quả của biểu thức được sử dụng như một xác suất. Tạo ngẫu nhiên 1 số rand, với
0<rand<1 và thực hiện test trong bước 3 chỉ đơn giản là kiểm tra có hay không biểu
thức nhỏ hơn rand. Nếu vậy (luôn luôn được như vậy nếu kết quả biến đổi tốt hơn
hoặc tương đương), chúng ta chấp nhận kết quả biến đổi. T là tham số nhiệt độ. Với
bắt đầu lớn và giảm dần (xem bước 4) theo thời gian. Điều bạn có thể nói từ biểu thức
trên, là xác suất của kết quả biến đổi kém chấp nhận được cũng sẽ giảm dần theo thời
gian.
Mô phỏng luyện kim tạo ra một phương pháp mạnh, mặc dù nó khá khó khăn để
đạt được những tham số đúng. Tham khảo A good modern account, Dowsland (1995).
Tabu Search
Một cách khác để thoát khỏi optima cục bộ được cung cấp bởi tìm kiếm tabu
(Glover 1989; 1989a; Glover and Laguna, 1997). Có nhiều khía cạnh tinh vi để tìm
kiếm tabu, ở đây chúng ta chỉ tìm hiểu về bản chất của kỹ thuật. Giới thiệu một cách rõ
ràng và đầy đủ được cung cấp trong Glover and Laguna (1995; 1997).
Phương pháp tìm kiểm Tabu, như nhiều phương pháp tìm kiếm cục bộ khác không
bàn và xem xét về các láng giềng của giải pháp hiện tại và thậm chí chọn một trong
láng giềng để chuyển đến. Đặc tính có tính phân biệt này của phương pháp tìm kiếm
Tabu là về vấn đề đưa ra sự lựa chọn như thế nào. Đây không đơn giản là việc lựa
chọn láng giềng nào phù hợp nhất trong số những láng giềng đã được kiểm tra.
Phương pháp tìm kiếm Tabu tính đến cả sự biến đổi (mutation) mà cho chúng ta kết
quả. Ví dụ, nếu láng giềng tốt nhất trong giải pháp của bạn là láng giềng mà kết nối
bằng việc thay đổi liên kết từ nút k, nhưng chúng ta đã thực hiện việc kết nối đó trong

lần lặp trước thì có thể một láng giềng khác sẽ được lựa chọn thay thế, thậm chí nếu sự
di chuyển tốt nhất hiện tại là di chuyển gần đây nhất cũng có thể không được chấp
nhận. Tìm kiếm tabu cung cấp một cơ chế dựa trên chỉ tiêu nguyện vọng cho phép ta
7
Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
hợp chứ không phải là một đột biến. Tái tổ hợp cung cấp một cách có nguyên tắc
tưởng đối để giải thích sự dịch chuyển của một vùng lân cận lớn. Một trong những khó
khăn của tìm kiếm cục bộ là ngay cả các kỹ thuật tiên tiến như mô phỏng và tìm kiếm
cũng khó khăn để tối ưu cục bộ, nó chỉ “thoát” trừ khi nó có thể là một đột biến khá
quyết liệt. Đó là thuật toán có thể thử tất cả các chuyển động cục bộ có thể, và do đó
phải bắt đầu thử với các di chuyển phi cục bộ nếu nó có bất kỳ cơ hội nào để đạt được
bất kỳ nơi nào. Vấn đề thực tế ở đây là có rất nhiều khả năng di chuyển phi cục bộ.
Thật vậy các hàng xóm ”phi cục bộ” là toàn bộ không gian khả năng!
Tái tổ hợp là một phương pháp cung cấp một cách lựa chọn di chuyển phi cục bộ
tốt từ một không gian lớn các khả năng. Ví dụ, nếu 2 nghiệm cha là mỗi vécto của k
phần tử, một toán tử tái tổ hợp được gọi là giao đơn điệu (uniform crossover), sẽ tạo ra
một nghiệm con từ 2 nghiệm cha này bằng cách, với mỗi phần tử được trả ra lấy ngẫu
nhiên giá trị của nó tử một trong 2 điểm. Mỗi nghiệm con có thể khác biệt tới 50% cha
mẹ của nó, và lớn hơn rất nhiều so với sự khác biệt điển hình giữa một nghiệm cha
đơn với một vài hàng xóm cục bộ của nó.
Dưới đây là những bước cho một thuật toán dựa trên tổ hợp chung:
1. Bắt đầu: sinh ra một tập ban đâu các giải pháp có khả năng nhất (candidate).
Đánh giá chúng.
2. Lựa chọn một vài tập làm cha.
3. Áp dụng toán tử tái tổ hợp và đột biến để từ các bộ cha mẹ tạo ra các bộ con.
4. Kết hợp các bộ con được sinh ra vào tập hợp.
5. Cho đến khi đạt được tiêu chí kết thúc, thì quay trở lại bước 2.
Có rất nhiều cách để thực hiện ở mỗi bước, nhưng có những điểm quan trọng như
sau. Bước 2 thường sử dụng chiến lược chọn lọc tự nhiên (survival of the fittest), đây
là nơi mà các tải chia sẻ (load sharing) được thảo luận ở trên sẽ được áp dụng. Các

nghiệm ứng viên được tạo thành, càng nhiều cơ hội nó trở thành cha, và do đó có
nhiều cơ hội hơn để thuật toán tìm ra các vùng lân cận của nó. Có những kỹ thuật chọn
lựa khác nhau, hầu hết đều được tham số hóa để thay đổi mức độ để các tổ hợp cha
được tạo ra ưa thích hơn (các áp lực chọn lọc). Bước 3 áp dụng các toán tử tái tổ hợp
hoặc đột biến, hoặc cả hai. Đây có tất cả các toán tử tái tổ hợp và đột biến, nhưng như
chung tôi gợi ý trên, những lợi ích thực sự đến khi một vài suy nghĩ đã được đưa vào
thiết kế cụ thể các loại toán tử sử dụng miền tri thức. Trong bước 4, nhớ rằng chúng ta
11
Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
luôn duy trì một kích thước tổ hợp cố định. Vì vậy, nếu chúng ta có một tổ hợp 100,
nhưng 20 phần tử con được thêm vào, thì 20 của 120 phần tử phải được loại bỏ. Một
cách tiếp cận phổ biến nhất là chỉ đơn giản loại bò 20 phần tử ít phù hợp nhất với các
nhóm kết hợp, nhưng có một vài phương pháp khác; chúng ta có thể sử dụng công
nghệ được gọi là “dồn nén” (crowding), eg. De Jonh (1975), trong đó đa dạng đóng vai
trò quyết đinh về những giải pháp ứng viên để loại bỏ. Ví dụ, chúng ta chắc chắn sẽ
thích để loại bỏ giải pháp S có lợi và một giải pháp t ít phù hợp, nếu điều đó xảy ra là
trường hợp đó là một bản sao trong dân số, nhưng t là “mới”.
Ví dụ, chúng tôi chắc chắn sẽ thích để loại bỏ giải pháp tội ủng hộ một giải pháp t
ít phù hợp, nếu điều đó xảy ra là trường hợp đó salready có một bản sao trong dân số ,
nhưng tis 'mới'. Cuối cùng, chúng ta phải chỉ ra một số vấn đề thuật ngữ. Có rất nhiều
thuật toán dựa trên dân số , và trong thực tế, họ thường được gọi là thuật toán tiến hóa
( địa bàn ). Một thuật ngữ phổ biến được sử dụng là thuật toán di truyền , mà đúng đề
cập đến một gia đình của các phương pháp như vậy mà luôn luôn sử dụng một nhà
điều hành tái tổ hợp (Hà Lan , 1965; Goldberg , 1989) , trong khi các gia đình khác
của thuật toán như vậy, gọi là lập trình tiến hóa ( Fogel , 1995) và tiến hóa chiến lược (
trở lại, 1996), xu hướng sử dụng đột biến một mình, nhưng khá thông minh về cách họ
sử dụng nó. Trong mọi trường hợp , một giải pháp ứng cử viên có xu hướng được gọi
là một phần tử của nó chromosomeand được gọi là gen.
1.4 Kỹ thuật tính toán thích nghi
Để giải quyết nhu cầu tối ưu trong môi trường viễn thông luôn luôn thay đổi, sử

dụng trực tiếp các kỹ thuật tối ưu cục bộ (local optimization) hoặc tối ưu quần thể cho
kết quả không phù hợp. Lý do là nó mất nhiều thời gian để hội tụ về một solution tốt,
vì thế thời điểm mà nó đưa ra solution thì bài toán đã thay đổi.
Cái chúng ta cần là một cách đưa ra các decision nhanh và tốt. VD, để xác định
xem “bước kế tiếp”(next hop) cho một gói tin từ node a (đích đến là node d ), chúng ta
có thể chạy mô phỏng mô hình giao thông mạng (network traffic model) ở thời điểm
hiện tại và ước lượng gần đúng thời điểm đến node d với các “bước kế tiếp” hiện tại
của node a. Tuy nhiên, vì thời gian để có thể dựng mô phỏng với phần cứng của bộ
12
Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
chuyển mạch mạng (network switch) lên đến nhiều giờ nên ý tưởng chạy mô hình mô
phỏng không phù hợp.
Thay vào đó, chúng ta cần một cách khác. Lý tưởng nhất, chúng ta đang tìm một
“hộp đen” (black box), đầu vào là question và các điều kiện hiện tại còn đầu ra là
answer hợp lý và ngay lập tức. VD về “hộp đen”: Bảng định tuyến (Routing table).
Question được hỏi bởi gói tin là: “Tôi muốn đi đến node d, vậy bước tiếp theo tôi nên
đi như thế nào?”. Routing table đưa ra một cách nhanh chóng câu trả lời nhanh chóng
và gửi gói tin đi. Cách làm này về cơ bản là không linh hoạt (non-adaptive). Nếu một
số giao thức quản lý mạng tiên tiến (advanced network management protocols) không
hoạt động, routing table luôn đưa ra cùng 1 answer, thậm chí ngay cả khi đường đi đến
d mà nó suggest đang bị tắc nghẽn ở thời điểm hiện tại. Vì thế, hộp đen của chúng ta
phải có khả năng thay đổi để thích hợp với điều kiện hiện tại. Chương 8 và chương 9
sẽ thảo luận về cách để thực thi vấn đề này liên quan đến routing table trong mạng
chuyển mạch gói.
Đây là sự ước lượng về thần kinh, logic mờ và lý thuyết trò chơi. Vai trò của
ước lượng thần kinh trong hoàn cảnh này là phát triển một mô hình ẩn, mô hình đó
nghiên cứu ( từ ví dụ) để làm thế nào có quyết định đúng đắn trong tập các trường hợp
khác nhau. Kết quả tạo ra sẽ như một mạng lưới thần kinh, sau đó để làm việc trực
tuyến như thế nào thì nhà sản xuất sẽ quyết định. Vai trò của logic mờ là đưa ra cách
để tạo ra các quy định vững chắc, đây là những quy định để ra quyết định. Điều này về

cơ bản là tạo ra cách giải quyết của hộp đen, giống như một mạng lưới thần kinh
nhưng với hoạt động bên trong khác nhau. Cuối cùng lý thuyết trò chơi sẽ đưa ra một
cách nhìn khác, đó là một kịch bản mạng năng động. Về cơ bản, nếu chúng ta xem một số
khía cạnh của quản lý mạng như là một 'trò chơi', một tập hợp các phương trình và các mô
hình được biết đến bắt đầu hoạt động, nó sẽ lần lượt cung cấp những phép tính gần
đúng của mạng năng động thực sự.
1.4.1 Tính toán hệ thần kinh
Viễn thông là một lĩnh vực quan trọng và đang phát triển. Không chỉ vậy, nó còn
cung cấp các dịch vụ cho những lĩnh vực khác nhau của đời sống con người. Hơn nữa
hiện nay tồn tại nhu cầu đối với tập các dịch vụ viễn thông ngày càng mở rộng cùng
13
Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
với băng thông ngày càng gia tăng. Một công nghệ cụ thể có khả năng cung cấp băng
thông lớn nếu các dịch vụ viễn thông băng thông rộng như trên được áp dụng rộng rãi
đó là các mạng truyền dẫn quang đa bước sóng (Mukherjee, 1977). Tuy nhiên, sự phát
triển của mạng như vậy mang đến cho các nhà khoa học và các kỹ sư hàng loạt những
khó khăn trong bài toán thiết kế và tối ưu.
1.4.2 Logic mờ
Trong một số trường hợp chúng ta có thể nghĩ về các quy tắc hợp lệ cho miền giá
trị của vấn đề. Ví dụ, “nếu lưu lượng đông đúc, sử dụng node a’ và ‘nếu lưu lượng rất
đông đúc, sử dụng node b’. Tuy nhiên, những quy luật như vậy không thực sự hữu ích
nếu không có một cách tốt để quyết định rằng “đông đúc” hay “rất đông đúc” thực sự
có ý nghĩa gì. Trong cách tiếp cận hệ thống chuyên gia cổ điển, chúng ta sẽ áp dụng
ngưỡng được xác định trước cho những cái gọi là “biến ngôn ngữ”, và quyết định, ví
dụ, “lưu lượng đông đúc” có nghĩa là việc sử dụng liên kết trong câu hỏi là giữa 70%
và 85%. Điều này có vẻ tốt, nhưng không khó để thấy rằng việc sử dụng 69.5% có thể
là nguyên nhân gây ra các vấn đề; trong một kịch bản như vậy, quy luật có điều kiện là
“lưu lượng trung bình” (có thể là từ 55% đến 70%) sẽ được sử dụng, nhưng nó có thể
thích hợp hơn, và mang lại một kết quả tốt hơn là sử dụng “lưu lượng đông đúc”
Logic mờ cung cấp một cách để sử dụng các biến ngôn ngữ để giải quyết vấn đề

ngưỡng một cách rất tự nhiên và mạnh mẽ. Thực tế, nó gần như loại bỏ nhu cầu
ngưỡng, thay vì giới thiệu những thứ gọi là “các chức năng thành viên”. Chúng ta
không còn có lưu lượng đông đúc hay trung bình. Thay vào đó, một giá trị lưu lượng
nhất định cho lưu lượng ở mức đông đúc và một giá trị cho mức độ trung bình. Các
mức độ phụ thuộc vào các giá trị số thực tế bằng cách các chức năng thành phần,
thường đơn giản là “chức năng hình tam giác”. Ví dụ, mức độ lưu lượng nặng có thể là
0 giữa 0% và 35% sử dụng, sau đó nó có thể tăng lên 1 giữa 35% và 75%, và sau đó
lại giảm xuống 0 giữa 75% và 90%. Chức năng thành phần (membership function) cho
biến ngôn ngữ “rất nặng” sẽ chồng chéo nhau với điều này, bởi vậy một giá trị lưu
lượng 82.5% có thể là ‘nặng’ đến mức 0.5 và ‘rất nặng’ đến mức 0.7.
Với mỗi điều kiện môi trường nhất định, các quy tắc khác nhau sẽ áp dụng những
mức độ khác nhau. Đặc biệt, logic mờ cung cấp nhiều cách để xác định mức độ mà các
14
Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
quy luật khác nhau được áp dụng khi các thành phần điều kiện trong quy luật liên quan
đến nhiều biến ngôn ngữ. Chương 8 sử dụng logic mờ, sẽ thảo luận chi tiết hơn về vấn
đề này.
Sức mạnh chính của logic mờ là chúng ta chỉ cần đảm bảo rằng các chức năng
thành phần là hợp lý. Hệ thống kết quả, với các quyết định phù hợp, hướng tới các
biến thể trong các chức năng thành phần, trong giới hạn hợp lý. Tuy nhiên chúng ta có
thể phải làm một số việc, là xây dựng các nguyên tắc hoạt động. Đây là nơi việc học
‘offline’ đưa ra trong khi chúng ta đang sử dụng logic mờ trong một môi trường thích
nghi. Đôi khi, các thuật toán di truyền có thể được sử dụng cho nhiệm vụ xây dựng
một tập các quy luật tốt.
1.4.3 Lý thuyết trò chơi
Cuối cùng, lý thuyết trò chơi cung cấp một cách khác để nhìn vào các vấn đề phức
tạp, dynamic và liên quan đến giao tiếp, đặc biệt là liên quan đến quản lý mạng và
cung cấp dịch vụ. Xem xét các quá trình ra quyết định phức tạp liên quan trong việc
quyết định những gì để thiết lập cho lời gọi kết nối hoặc cung cấp dịch vụ dữ liệu
trong một môi trường mạng động, liên quan đến cạnh tranh với nhiều nhà cung cấp

dịch vụ khác.
1.5 Tổng kết
Phương pháp Heuristic và các kĩ thuật thích hợp được ứng dụng trong rất nhiều
trong viễn thông liên quan tới việc tối ưu. Nó được chia làm 3 phần chính , tương
đương với 3 vấn đề thường gặp. Thứ nhất, đó là vấn đề thiết kế và tổ chức mạng.
Trong thực tế, có rất nhiều hoạt động sử dụng kĩ thuật Heuristic hiện đại, việc thiết kế
mạng sẽ đơn giản với các vấn đề tối ưu do các vấn đề này đã được xác định rõ
rang.Điều đó có nghĩa là Chúng ta có thể tiết kiệm nhiều thời gian và công sức để phát
triển 1 kĩ thuật tối ưu tốt nhờ sử dụng các thuật toán và cơ chế đặc tả. Khi một giải
pháp được thiết kế, nó có thể được thực hiện cài đặt trong vài tuần hoặc vài tháng
Ngược lại, với vấn đề định tuyến và sử dụng giao thức được nói đến trong phần 2,
bao gồm các kĩ thuật tối ưu động gồm 2 vấn đề liên quan đến tối ưu thời gian tiêu
thụ.vấn đề chính ở phần này là tập trung vào các phương thức để thực thi và tích hợp
15
Các kỹ thuật tính toán thích ứng và Heuristic trong viễn thông
mô hình “hộp đen”. Trong một trường hợp , hộp đen là mạng tự nhiên , trường hợp
khác, nó là tập luật logic mờ hay 1 form được đặc tả trong bảng định tuyến.
Phần 3 xem xét phạm vi vấn đề, bao gồm phần mềm, chiến thuật, phương thức
quản lý lưu lượng. Phát triển phần mềm cũng có nhiều vấn đề trong lĩnh vực viễn
thông tuy nhiên nó cũng cung cấp nhiều giải pháp hợp lý trong việc cung cấp dịch vụ.
Các vấn đề cung cấp dịch vụ, trang bị trong mạng, đều cần tới những ưu điểm và tính
linh động của các phần mềm. Tuy nhiên các phần mềm cần nhiều thời gian để phát
triển. Phần 3 cũng chỉ ra tầm quan trọng của “chiến lược” bang cách xem xét các vấn
đề của việc quản lý 1 mạng động phức tạp. Các vấn đề bao gồm cấp phát dịch vụ ,
quản trị luồng dữ liệu. Trong mỗi trường hợp , một cách tiếp cận dựa vào lý thuyết
game được tích hợp. Cuối cùng, ở phần 3 cũng chỉ ra vẫn đề quản lý băng thông trong
cả mạng cố định và mạng di động.
Chính vì vậy, chúng tôi đã bao quát một phạm vi rộng của các vấn đề tối ưu mạng
viễn thông trong quyển sách này. Chúng tôi đã trình bày một tập các vấn đề cần được
hoàn thiện. Các vấn đề tương tự trong việc kết nối các kĩ thuật lại cũng được nhắc đến.

Việc phát triển các kĩ thuật tính toán đã được tích hợp và cài đặt nhanh chóng trong
lĩnh vực viễn thông.
16
Lập trình di truyền mã hóa cặp nút cho thiết kế mạng mắt lưới quang
CHƯƠNG 6: LẬP TRÌNH DI TRUYỀN MÃ HÓA CẶP
NÚT CHO THIẾT KẾ MẠNG MẮT LƯỚI QUANG
6.1 Giới thiệu
Viễn thông là một lĩnh vực quan trọng và đang phát triển. Không chỉ vậy, nó còn
cung cấp các dịch vụ cho những lĩnh vực khác nhau của đời sống con người. Hơn nữa
hiện nay tồn tại nhu cầu đối với tập các dịch vụ viễn thông ngày càng mở rộng cùng
với băng thông ngày càng gia tăng. Một công nghệ cụ thể có khả năng cung cấp băng
thông lớn nếu các dịch vụ viễn thông băng thông rộng như trên được áp dụng rộng rãi
đó là các mạng truyền dẫn quang đa bước sóng (Mukherjee, 1977). Tuy nhiên, sự phát
triển của mạng như vậy mang đến cho các nhà khoa học và các kỹ sư hàng loạt những
khó khăn trong bài toán thiết kế và tối ưu.
Một trong những khó khăn đó là việc thiết kế topo mạng mắt lưới. Trong trường
hợp tổng quát, công việc này bắt đầu bằng một tập các vị trí các nút, ma trận lưu thông
và xác định các cặp nút nào được kết nối trực tiếp với nhau bởi một liên kết. Việc thiết
kế được thực hiện nhờ có hàm mục tiêu dựa trên chi phí cho phép đánh giá một mạng
ứng cử phù hợp nhất. Vấn đề cụ thể hơn khi thiết kế topo cho mạng truyền tải toàn
quang đa bước sóng là các nút có thể kết nối chéo được với nhau sử dụng các sợi
quang liên kết và truyền dẫn tĩnh. Các thuật toán định chiều và định tuyến phải được
lựa chọn, với chi phí tổn thất đầy đủ cho các đường khôi phục để đảm bảo cho mạng
vẫn tồn tại trong trường hợp một phần tử của mạng (một nút hoặc một liên kết) gặp
lỗi.
Trong một công trình của mình, Sinclair (1995, 1997) đã áp dụng thuật toán di
truyền chuỗi bit ở dạng đơn giản, thuật toán lai di truyền, cùng với 3 cách tiếp cận
khác nhau về lập trình di truyền của Aiyarak và Saket (1997) cho vấn đề này. Trong
chương này một cách tiếp cận mới sử dụng lập trình di truyền lấy ý tưởng từ mã hóa
cạnh (Luke và Spector, 1996) được miêu tả (một bản ngắn gọn của chương này đã

được công bố tại GECCO’99 (Sinclair,1999)). Người ta hy vọng rằng cách tiếp cận
này sẽ cung cấp những kết quả tốt hơn cách tiếp cận trước đó về lập trình di truyền và
có thể có tính cạnh tranh hơn so với thuật toán di truyền tốt nhất trước đó. Nghiên cứu
17
Lập trình di truyền mã hóa cặp nút cho thiết kế mạng mắt lưới quang
hiện nay của tác giả về lược đồ mã hóa lập trình di truyền cho topo mạng mắt lưới là
về vấn đề cung cấp một cách tiếp cận có tính mở rộng hơn cách tiếp cận không có tính
mở rộng ở thuật toán di truyền.
Chương được trình bày như sau: Phần 6.2 trình bày một vài công trình nghiên cứu
từ trước về vấn đề tính toán tiến hóa trong thiết kế topo mạng; phần 6.3 cung cấp mô
tả đầy đủ về các vấn đề đã giải quyết bao gồm mô hình chi phí mạng; phần 6.4 tồng
kết lại giải pháp ở hai phần trên. Trong phần 6.5 miêu tả cách tiếp lập trình di truyền
mã hóa cặp nút; phần 6.6 phác họa các kết quả thực nghiệm; cuối cùng, phần 6.7 trình
bày kết luận và những gợi ý cho nghiên cứu trong tương lai.
6.2 Tính toán tiến hóa cho thiết kế topo mạng
Trong nhiều năm, có ít nhất 30 bài báo đã được xuất bản về vấn đề tính toán tiến
hóa trong thiết kế topo mạng. Hai trong số những bài báo sớm nhất về vấn đề này là
của Michalewicz (1991), của Kumar và các đồng nghiệp (1992). Michalewicz sử dụng
biểu diễn ma trận kề nhị phân 2 chiều và các phiên bản cụ thể về biến đổi và liên kết
chéo để tạo lên topo dạng cây cho mạng máy tính. Kumar và các đồng nghiệp đã giải
quyết ba vấn đề ràng buộc về topo mạng máy tính nhằm tối đa tính tin cậy, tối thiểu
đường kính mạng hoặc tối thiểu số bước nhảy trung bình. Thuật toán di truyền của họ
là một chuỗi bit, sử dụng liên kết chéo cũng như bộ chữa lỗi cho các dư thừa trong đại
diện mạng của họ.
Để thiết kế topo mạng quang, ngoài các bài báo của Sinclair đề cập ở trên còn có
các công trình của Paul và các đồng nghiệp (1996) và Brittain cùng các đồng nghiệp
(1997). Các tác giả của nhóm này đã giải quyết được ràng buộc về thiết kế topo mạng
quang thụ động với chi phí tối thiểu cho truy cập cục bộ. Tuy nhiên, trong các cách
trình bày vấn đề ở cả hai công trình trên cùng với việc sử dụng toán tử di truyền bởi
Paul cùng và đồng nghiệp, chỉ có Brittain cùng các đồng nghiệp đưa ra chi tiết thuật

toán của họ. Thuật toán này sử dụng một nhiễm sắc thể gồm một chuỗi bit và một
hoán vị, mỗi phần được tính toán với các toán tử tiêu chuẩn phù hợp.
Các công trình khác gần đây về vấn đề này gồm có công trình của Dengiz cùng
các đồng nghiệp. (1997; chương I bộ này) trình bày về thuật toán lai di truyền để tối đa
tính tinh cậy cho mạng các thiết bị đầu cuối. Ko cùng các đồng nghiệp (1997) sử dụng
18
Lập trình di truyền mã hóa cặp nút cho thiết kế mạng mắt lưới quang
thuật toán di truyền ba giai đoạn cho thiết kế topo mạng máy tính, định tuyến và gán
dung lượng. Công trình của Pierre và Legault (1998) sử dụng thuật toán di truyền
chuỗi bit cho thiết kế mạng máy tính mắt lưới.
6.3 Mô tả bài toán
Cho trước vị trí của n nút (kết nối chéo quang học) và các yêu cầu truyền dẫn tĩnh
t
ij
giữa các nút, vấn đề cần giải quyết là xác định ra n(n-1)/2 liên kết (sử dụng sợi
quang) nào trong số liên kết hai chiều có thể có cần được sử dụng để xây dựng mạng.
Theo trên, số lượng topo mạng có thể có là 2
n(n-1)/2
. Để minh họa, hình 6.1 đưa ra bài
toán thiết kế mạng với 15 nút theo đó một ví dụ về thiết kế topo mạng mắt lưới được
đưa ra ở hình 6.2.
Hình 6.2 Ví dụ bài toán thiết kế mạng
Mô hình chi phí dùng làm căn cứ thiết kế được xây dựng bởi Sinclair (1995) để
thiết kế topo mạng với chi phí tối thiểu cho mạng quang châu âu EON như là một phần
của mô hình ban đầu COST 239 (O’Mahony cùng các đồng nghiệp., 1993). Mô hình
19
Lập trình di truyền mã hóa cặp nút cho thiết kế mạng mắt lưới quang
này giả định sử dụng định tuyến tĩnh ngắn nhất giữa các cặp nút (Chen, 1990) với ràng
buộc tính tin cậy. Nó đảm bảo rằng có hai tuyến đường (được cung cấp tài nguyên đầy
đủ) giữa các cặp nút không kết nối, do vậy mạng sẽ vẫn hoạt động khi một nút đơn bất

kỳ gặp lỗi.
Để xác định chi phí cho topo mạng đã đưa ra, cần có các mô hình tách biệt cho các
liên kết và các nút. Mục đích là xác định chi phí tương đối về cài đặt và bảo dưỡng cho
các phần tử mạng và để đảm bảo mô hình này không quá phụ thuộc vào chi tiết thiết
kế các phần tử hoặc không quá phức tạp trong sử dụng trong các vòng lặp trong của
các thủ tục thiết kế.
Hình 6.3 Ví dụ về topo mạng mắt lưới
Đầu tiên, các tuyến gần nhất giữa hai nút không kết nối được xác định cho tất cả
các cặp nút. Độ dài của mỗi đường được tính toán bằng tổng các trọng số liên kết.
Trọng số của liên kết hai chiều giữa nút i và j được tính như sau:
W
ij
= 0.5Ni + L
ij
+ 0.5N
j
(6.1)
20
Lập trình di truyền mã hóa cặp nút cho thiết kế mạng mắt lưới quang
Trong đó N
i
và N
j
là khoảng cách có ích tương ứng giữa nút i và nút j và L
ij
là độ
dài liên kết (i,j) tính bằng km. Sau bước trên, xác định lưu lượng thông hành cho mỗi
liên kết bằng cách tính tổng trọng số của tất cả các tuyến chính và tuyến khôi phục sử
dụng liên kết đó. Lưu lượng thông hành của tuyến khôi phục được đánh trọng số là K
R

,
nó thường được cấp phát đầy đủ tài nguyên (ví dụ K
R
= 1.0) và được giả định rằng có
cùng lưu lượng thông hành như tuyến chính, được sử dụng trong trường hợp tuyến
chính gặp phải lỗi. Khả năng thông qua của liên kết (i,j) được tính theo công thức:
V
ij
= ceil
KG
(K
T
T
ij
) (6.2)
Trong đó T
ij
là lưu lượng thông hành tính bằng Gbit/s, hàm ceil
x
() làm tròn tham
số của nó lên đến gần x. Tốc độ truyền dẫn giả định của liên kết K
G
(ví dụ 2.5 Gbit/s),
hệ số K
T
là để chấp nhận cho các hiệu ứng ngẫu nhiên trong thông hành. Chi phí của
liên kết (i,j) được chỉ ra theo công thức:
ij ij ij
C V L
α

=
(6.3)
Trong đó
α
là hằng số (ở đây được gán giá trị là 1.0). Khả năng thông qua càng
tăng thì chi phí gia tăng, lấy ví dụ, để mở rộng băng thông thì cần thu hẹp sự phân tách
bước sóng hoặc là tăng số lượng và tốc độ của các bộ thu, phát. Với
α
=1, một hàm
phụ thuộc tuyến tính giữa chi phí và khả năng thông qua được giả định, nhưng với
α
<1, chi phí có thể được điều chỉnh tăng chậm hơn so với độ tăng của khả năng thông
qua của liên kết. Sự phụ thuộc tuyến tính về độ dài liên kết mô tả gần đúng về chi phí
tăng về lắp đặt đường dẫn, số lượng bộ khuếch đại quang học với khoảng cách đang
gia tăng.
Khoảng cách có ích của các nút được sử dụng như một cách biểu diễn chi phí của
các nút trong mạng quang về mặt khoảng cách tương đương. Nó có thể được coi là
khoảng cách có ích được thêm vào một đường. Bằng cách thêm vào đường liên kết
trọng số (biểu thức 6.1) để tính các đường ngắn nhất, trọng số của đường phản ánh chi
phí của các nút đã đi qua (và một nửa các chi phí của các nút cuối). Kết quả là, một
đường địa lý dài hơn có thể có trọng số nhỏ hơn nếu nó đi qua ít nút hơn, do vậy phản
ánh chi phí tương đối của chuyển mạch quang. Khoảng cách có ích của nút i được tính
như sau:
0i i n
N K n K= +
(6.4)
21
Lập trình di truyền mã hóa cặp nút cho thiết kế mạng mắt lưới quang
Trong đó n
i

là bậc của nút i, là số lượng các liên kết hai chiều gắn với nó. Hai
hằng số K
0
và K
n
có giá trị tương ứng 200km và 100km là giá trị hợp lý cho đường
kính mạng 1400-3000km. Do vậy, khi chuyển mạch phức tạp thì khoảng cách có ích
của nút sẽ tăng. Khả năng thông qua của nút được tính bằng tổng các khả năng thông
qua của tất cả các liên kết gắn với nó,ví dụ:
iji
j
V V
=

(6.5)
Trong đó V
i
là khả năng thông qua của nút i được tính bằng Gbit/s. Chi phí được
tính bởi:
C
i
= 0.5N
i
V
i
(6.6)
Chi phí có được khi nút là các liên kết dạng sao, mỗi liên kết trong số chúng có
khoảng cách hữu ích bằng một nửa khoảng cách hữu ích của nút và có cùng khả năng
thông qua của nút. Hơn nữa, nếu tất cả các liên kết gắn với một nút nào đó có cùng khả
năng thông qua thì chi phí nút có thể tăng tương ứng xấp xỉ bẳng với bình phương của

bậc của nút ví dụ như việc tăng số lượng giao điểm trong một chuyển mạch quang đơn
giản. Nói chung, chi phí tương đối của các nút và các liên kết có thể được điều chỉnh
bằng cách thiết lập giá trị của K
0
và K
n
một cách phù hợp.
Sau đó chi phí mạng sẽ được tính toán bằng tổng tất cả các liên kết đơn lẻ và các
nút của mạng. Tuy nhiên, để đảm bảo tính tin cậy ta sử dụng hàm tính phạt. Hàm này
cộng số P
R
(ví dụ 250,000) vào chi phí mạng cho mỗi cặp nút mà không có đường thay
thế và số P
N
(ví dụ 500,000) cho mỗi cặp nút mà không có các tuyến nào giữa chúng.
Đối với topo mạng mà không có liên kết, chi phí của mỗi liên kết và các mô hình liên
kết bằng không thì việc làm này đảm bảo tránh được sai số tối thiểu. Giá trị được lựa
chọn cho P
R
và P
N
phải đủ lớn để đảm bảo rằng không mức phạt nào được đưa ra bởi
các topo mạng khi thuật toán chạy sau này. Tuy nhiên, về căn bản nên tránh những giá
trị lớn hơn hai giá trị trên do chúng có thể trội hơn hoàn toàn với các chi phí thực tế
tạo ra bởi bản thân của topo và do vậy hạn chế quá trình phát triển.
6.4 Các cách tiếp cận trước đây
Hai cách tiếp cận trước trong thiết kế topo mắt lưới quang sử dụng cùng một mô
hình chi phí được tóm tắt dưới đây. Một cách tiếp cận nữa với thuật toán lai di truyền
22
Lập trình di truyền mã hóa cặp nút cho thiết kế mạng mắt lưới quang

(Sinclair, 1997) đã không được tìm hiểu do bản chất phức tạp của việc mã hóa và của
các toán tử.
6.4.1 Các thuật toán lai
Vào năm 1995, Sinclair đã sử dụng thuật toán di truyền chuỗi bit để giải quyết hai
dạng của mạng quang châu âu (EON): một bài toán minh họa nhỏ chỉ gồm 9 nút và bài
toán mạng đầy đủ gồm khoảng 20 nút. Việc mã hóa đơn giản mỗi liên kết trong số
n(n-1)/2 liên kết có thể có biểu diễn bởi 1 bit. Rõ ràng cách trình bày này có tính mở
rộng kém khi kích thước của bài toán tăng, và khi chuỗi bit tăng đến O(n
2
) so với việc
sử dụng số lượng liên kết thực tế cần phải có m. Ví dụ
m n
O O≈
thể hiện bậc của nút
giữ ở mức xấp xỉ với kích thước của mạng. Toán tử di truyền giao cắt một điểm với
xác suất 0.6 và biến đổi với xác suất 0.001 và lựa chọn tỉ lệ phù hợp (sự mở rộng cửa
sổ, kích thước cửa sổ 5) được sử dụng. Đối với mạng quang châu âu (EON) đầy đủ với
10 lần chạy, 48.000 phép thử cho mỗi lần chạy trên 100 nút mạng, một thiết kế mạng
đạt được với chi phí 6.851x106 thấp hơn 5.1 % so với thiết kế thủ công trước đó
(O’Mahony cùng các đồng nghiệp., 1993). Ngoài ra, thiết kế mạng dựa vào thuật toán
di truyền có độ tin cậy cao.
6.4.2 Lập trình di truyền cho các cặp nút kết nối
Gần đây hơn, Aiyarak và các đồng nghiệp (1997) đã mô tả 3 cách tiếp cận khác
nhau để áp dụng lập trình di truyền vào bài toán thiết kế topo mạng. Thành công của
nhóm này là việc đưa ra các nút kết nối (Connected Node) mã hóa thiết kế dưới dạng
các chương trình mô tả cách thức mà mạng cần được kết nối. Chỉ cần một hằng số kết
thúc và một hàm. Hằng kết thúc là hằng số nguyên ngẫu nhiên

trong khoảng số
định danh của n nút. Hàm có tên là “con” gồm hai tham số thể hiện số định danh của

hai nút được kết nối trong topo mạng biểu diễn bởi chương trình (trong ghi chú của
Aiyarak và các đồng nghiệp, 1997). Mỗi hàm “con” cần phải trả về giá trị, đơn giản là
trả về tham số đầu tiên của nó. Tuy nhiên, nếu hai tham số định danh này là bằng nhau
thì hàm không làm gì cả ngoài việc trả về giá trị của chúng. Cây chương trình được
đánh giá theo chiều sâu (depth first), các nút con trước nút cha. Ví dụ, hình 6.3 thể
hiện một mạng đích nhỏ và hình 6.4 trình bày một cây sử dụng lập trình di truyền có
23

×