Qua phần giới thiệu về thuật toán gen bên trên chúng ta có thể h nh dung được các quy tr nh để giải bài toán bằng cách sử d ng thuật toán gen. Ở bài toán RWA này,một quần thể ban đầu được xây dựng với một tập các cá thể. Mỗi cá thể được biểu diễn bằng một nhiễm sắc thể (chromosome). Mỗi nhiễm sắc thể sẽ được đ nh nghĩa là một vector các số thực trong khoảng (0, 1) được tạo ra ngẫu nhiên, các số thực này chính là các gen.
Một nhiễm sắc thể có dạng như sau:
0
0..1155 00..224455 00..776622 00..442255 00..882288 00..117711 00..006655 00..996633
Tại mỗi thế hệ quần thể được sắp xếp theo thứ tự giảm dần c a độ thích nghi (fitness) và được phân chia thành hai nhóm: TOP và REST Do đó k ch thước c a quần thể là |TOP| + |REST|. TOP là tập hợp các nhiễm sắc thể được đánh giá tốt, tức là có độ thích nghi tốt, REST là phần còn lại. Các phép toán gen được thực hiện qua mỗi thế hệ như sau:
Phép lai: một cá thể con được tạo ra t ph p lai như sau: chọn ngẫu nhiên một các thể trong TOP và ngẫu nhiên một cá thể trong REST làm bố - m . Một số ngẫu nhiên k được sinh ra trong khoảng 1 đến m-1 để làm điểm lai. Điểm lai sẽ chia nhiễm sắc thể bố - m thành 2 nhóm gen con Hai con lai được tạo ra bằng cách lấy nửa nhóm gen đầu c a bố ghép với nửa nhóm gen sau c a m và nửa nhóm gen đầu c a m sẽ được ghép với nửa nhóm gen sau c a bố. Ph p lai được minh họa như sau:
Giả sử ta có hai nhiễm sắc thể bố - m : Bố:
39 0 0..1155 00..2244 00..7766 00..4422 00..8822 00..1177 0.77 00..9966 M : 0 0..4488 00..7744 00..3366 00..5566 00..9922 00..7722 0.05 00..1111
Giả sử điểm cắt ở giữa ta sẽ được hai nhiễm sắc thể con như sau: Con lai 1: 0 0..1155 00..2244 00..7766 00..4422 00..9922 00..7722 0.05 00..1111 Con lai 2: 0 0..4488 00..7744 00..3366 00..5566 00..8822 00..1177 0.77 00..9966
Nếu điểm cắt trong ví d này là tại điểm thứ 3 ta cũng có 2 nhiễm sắc thể con lai như sau:
Con lai 1: 0 0..1155 00..2244 00..7766 00..5566 00..9922 00..7722 0.05 00..1111 Con lai 2: 0 0..4488 00..7744 00..3366 00..4422 00..8822 00..1177 0.77 00..9966
Tương tự với các trường hợp điểm cắt khác.
Ph p đột biến: có nhiều phương pháp để tạo ra nhiễm sắc thể đột biến trong thuật toán gen trên máy tính, có thể là thay đ i giá tr c a một ho c nhiều gen
40
c a một nhiễm sắc thể, ho c thay đ i thứ tự sắp xếp gen c a nhiễm nhiễm sắc thể ban đầu, ho c tạo ra các nhiễm sắc thể mới giống với cách tạo ra các nhiễm sắc thể c a quần thể ban đầu Phương pháp được sử d ng ở đây là phương pháp thứ 3 tức là tạo ra các nhiễm sắc thể đột biến giống với cách tạo ra các nhiễm sắc thể c a quần thể ban đầu. Tập các nhiễm sắc thể đột bến gọi là BOT.
Phép tái sinh và chọn lọc: sau khi ph p lai được thực hiện các nhiễm sắc thể thuộc TOP sẽ được sao chép sang thế hệ sau, các nhiễm sắc thể còn lại trong trong quần thể sẽ b loại bỏ để nhường chỗ cho những cá thể con lai và những cá thể đột biến.
Số cá thể trong quần thể ở đây được quy đ nh không thay đ i qua các thế hệ, do đó khi một thế hệ mới được hình thành sẽ bao bồm các cá thể TOP c a thế hệ trước, các cá thể đột biến BOT, số còn lại được tạo ra t phép lai giữa các cá thể c a thế hệ trước đó Các quá trình c a thuật toán gen trong mỗi thế hệ sẽ được mô tả như h nh sau:
Hình 4.2 Sơ đồ các phép toán di truyền.
Thuật toán gen sẽ được áp d ng cho bài toán R A như sau:số gen trong một nhiễm sắc thể sẽ bằng với số lightpath yêu cầu. T quần thể ban đầu, sẽ có một vòng l p duyệt
41
qua t ng nhiễm sắc thể. Tại mỗi vòng l p, mỗi gen sẽ được cộng với giá tr min-length c a mỗi lightpath Sau đó các lightpath sẽ được sắp xếp theo giá tr giảm dần c a giá tr sau khi được cộng trên. Thứ tự sắp xếp này sẽ được đưa vào thuật toán BFD. Kết quả thu được sẽ là một tập các lightpath được đ nh tuyến và bước sóng sử d ng tương ứng. Do m c tiêu c a bài toán R A là đ nh tuyến cho các lightpath được yêu cầu sao cho số bước sóng sử d ng là thấp nhất nên số bước sóng sử d ng ở đầu ra c a thuật toán RWA sẽ được gán cho giá tri độ thích nghi c a nhiễm sắc thể. Sau khi duyệt qua quần thể ban đầu, mỗi nhiễm sắc thể sẽ có một giá tr độ th ch nghi tương ứng với số bước sóng sử d ng. Khi đó các nhiễm sắc thể sẽ được xắp xếp giảm dần c a độ thích nghi, tức là xắp xếp theo thứ tự t ng dần c a số bước sóng sử d ng tương đương do m c tiêu c a chúng ta là số bước sóng càng ít càng tốt). T đó quần thể sẽ được phân chia thành 2 phần TOP và REST Sau đó các phép toán di truyền: lai đột biến, tái sinh và chọn lọc được thực hiện tạo ra thế hệ mới. Thế hệ này sẽ lại được đưa vào để t m độ thích nghi và sinh ra các thế hệ tiếp theo. Thuật toán sẽ d ng lại khi một thời gian cho phép trôi qua hay một giải pháp tốt như m c tiêu được tìm thấy.
4.5.3. Chứng minh thuật toán
Như đã giới thiệu, thuật toán gen được xem là một tiên đề đúng không chứng minh được như ph hợp với thực tế khách quan. Tính tối ưu c a thuật toán được thể hiện ở chỗ, thế hệ sau bao giờ cũng tốt hơn hoàn thiện hơn thế hệ trước. Trong thuật toán GA cho bài toán RWA, những cá thể có độ thích nghi tốt trong TOP được sao chép sang thế hệ sau. Do đó khi nếu những nhiễm sắc thể lai ghép và những nhiễm sắc thể đột biết được tạo ra ở thế hệ sau có độ thích nghi không tốt hơn những nhiễm sắc thể trong TOP thì sẽ b loại bỏ Ngược lại nếu trong các nhiễm sắc thể lai ghép và những nhiễm s c thể đột bến này có những nhiễm sắc thể tốt hơn một hay nhiều nhiễm sắc thể trong TOP thì nó sẽ được thay thế những nhiễm sắc thể trong TOP đó để sao chép và lai ghép ra thế hệ sau. Và nếu có nhiễm sắc thể tốt hơn nhiễm sắc thể đang có độ thích nghi tốt nhất trong TOP thì ta sẽ được một lời giải tối ưu hơn tức là số bước sóng sử d ng t hơn.
42
Chương : Thực hiện ô ph ng