với nhiễm sắc thể có chiều dài thay đổi
Trên nền tảng học thuyết tiến hóa. Một cách tiếp cận khác, giải thuật di truyền có chiều dài nhiễm sắc thể thay đổi (Variable Length Chromosome Genetic Algorithm - VLC-GA) [157] được phát triển và ứng dụng thể hiện các ưu điểm. Độ dài của nhiễm sắc thể có thể thay đổi rất linh hoạt nên tiết kiệm tài nguyên và thời gian, yêu cầu bộ
nhớ tối thiểu. Nhiễm sắc thể hoàn toàn được phát triển với độ dài cần thiết phù hợp với yêu cầu cụ thể trong quá trình giải bài toán tối ưu hóa [158].
Thực tế đã có các nghiên cứu và ứng dụng thuật toán di truyền có độ dài nhiễm sắc thể thay đổi mang lại kết quả khả quan như sử dụng trong bài toán điều phối giao thông hỗn hợp đa luồng [159], tối ưu hóa cho mạng cảm biến không dây với mục tiêu tối đa hóa vùng phủ sóng và tối thiểu hóa chi phí triển khai mạng [160], tối ưu hóa việc thu thập dữ liệu trong mạng cảm biến không dây [161]. Đây cũng là cơ sở để luận án lựa chọn và phát triển thuật toán di truyền có độ dài nhiễm sắc thể thay đổi cho bài toán tối ưu hóa lịch trình mạng cho lớp bài toán ứng dụng.
4.5.1. Mô hình hóa bài toán tối ưu hóa lịch trình mạng cảm biến sửdụng thuật toán di truyền với nhiễm sắc thể có chiều dài thay đổi dụng thuật toán di truyền với nhiễm sắc thể có chiều dài thay đổi
Đối với bài toán tối ưu hóa lịch trình mạng, cũng giống như trong thuật toán di truyền có nhiễm sắc thể chiều dài cố định, nhiễm sắc thể cần mã hóa lịch trình mạng
ˆ
S biểu diễn là và được định nghĩa như biểu thức 4.9.
C =s1 , m1 , t1 , m1 , t1 ,..., m1 , t1 , 1 12 2s1 s1 s 2 , m12 , t12 , m22 , t22 ,..., ms22 , ts22 , sn , mn , tn , mn , tn ,..., mn n , tn n
Số gen của nút là (2 si +1) và của toàn mạng là
nên độ dài của cũng thay đổi. Điều quan trọng cần lưu ý là trong VLC-GA, hàm mục tiêu không phải là một hàm toán học theo cách hiểu thông thường, mà là một hàm lập trình, lấy nhiễm sắc thể làm đầu vào và trả về giá trị hàm mục tiêu làm đầu ra sau một quá trình thực thi. Ngược lại với các nhiễm sắc thể có chiều dài cố định nơi các gen nằm ở vị trí cố định, trong nhiễm sắc thể có chiều dài thay đổi, chúng không như vậy. Vì lý do này, si được đưa vào để các chương trình máy tính có thể diễn giải các gen một cách chính xác, nếu không sẽ không thể biết thông tin lịch trình cho mỗi nút bắt đầu và kết thúc ở đâu.
Về cơ bản, vì khác nhau giữa các cá thể (ở đây một cá thể tương ứng với một cấu hình lịch trình mạng) và từ thế hệ này sang thế hệ khác, do đó để biểu thị sự phụ thuộc của nó vào cá thể, nên trong luận án dùng kí hiệu qC (k ) để biểu thị nhiễm sắc thể của cá thể trong thế hệ . Tương tự, tất cả các biến phụ thuộc cá thể khác cũng tuân theo quy ước ký hiệu này. Ví dụ,q m ij (k ) là trạng thái của nút của cá thể
trong thế hệ . Khi đó, nhiễm sắc thể của cá thể sẽ được biểu diễn như biểu thức 4.10.
= [ 1, 1, 1, 1, 1,…,
2,
Ngoài ra, biểu thị q Ci
được biểu diễn bằng biểu thức 4.11.
q C i
Trong đó, độ dài củaq Ci qC =
Để dễ hình dung, có thể được minh họa bằng đồ thị như trong Hình 4.8. Các sự kiện chuyển đổi chế độ được thực hiện bởi nút được điều chỉnh theo trục thời gian, trong đó các phân đoạn ở mức cao hơn tương ứng với các giai đoạn khi nút ở chế độ làm việc, và các phân đoạn mức thấp hơn biểu diễn khoảng thời gian nút ở chế độ ngủ.
q Ci
qti
1
Hình 4.8. Biểu đồ biểu diễn lịch trình của một nút cảm biến
Để triển khai thuật toán VLC-GA, bây giờ cần phải điều chỉnh các hoạt động tạo thế hệ mới. Rõ ràng, hoạt động “Lựa chọn” không cần bất kỳ sửa đổi nào để thích ứng, chỉ có hai thao tác còn lại là “Lai ghép” và “Đột biến” cần được thực hiện và thay đổi trong quá trình tiến hóa.
Hoạt động lai ghép: về nguyên tắc, mỗi nút cảm biến trong mạng có thể thực hiện một vai trò khác nhau, việc lai ghép hai nút khác nhau có rất ít sự liên quan nhưng sẽ làm tăng rất cao độ phức tạp của thuật toán. Do đó, trong nghiên cứu này, việc lai ghép được thực hiện trên nút cơ sở. Tức là, phép toán lai ghép được áp dụng cho các đoạn gen từ cùng một nút ở hai cá thể, chứ không phải các đoạn gen thuộc hai nút khác nhau.
Trong các ứng dụng khác, người ta có thể dễ dàng tiến xa hơn với lai ghép giữa các nút như phần mở rộng, nếu đặc biệt quan tâm. Tại thời điểm này, hoạt động lai ghép trên các cá thể được chia nhỏ thành hoạt động trên các nút tương ứng.
Nguyên tắc của phép toán “Lai ghép” được minh họa bằng ví dụ trong Hình 4.9, trong đóq1C i (k ) và q
2 Ci (k ) là đoạn gen của nhiễm sắc thể mẹ của cùng một nút i
nhưng từ hai cá thể q1 và q2 khác nhau trong thế hệ k , và q3 C i (k +1) là đoạn gen được sinh ra thuộc nhiễm sắc thể con, kết quả của cùng một nút trong thế hệ tiếp theo (k +1).
q 1 C i (k ) q 2 C i (k ) q3 C i (
Để thực hiện thao tác này, đầu tiên các thời điểm được sắp xếp theo thứ tự tăng dần và loại trừ các thời điểm thừa, để có thể chia nhỏ thời gian chạy 0,T thành các khoảng. Đối với ví dụ trên, kết quả các khoảng thời gian là
q1 ti ,q1 ti q1 ti
2 3
con được xác định bằng cách chọn ngẫu nhiên một chế độ tại cùng một khoảng thời gian từ một trong hai nút mẹ. Trong hình, các khoảng màu tím ởq3 C i (k +1) đại diện cho những khoảng được thừa hưởng từ q1C i (k ) , trong khi những khoảng màu xanh lá cây tương ứng với những khoảng được thừa hưởng từ q2 Ci (k ) . Để ưu tiên các gen từ bố mẹ ưu tú, xác suất cao hơn có thể được liên kết với các chế độ từ bố mẹ có giá trị hàm mục tiêu tốt hơn trong lựa chọn chế độ và ngược lại.
Cuối cùng, trong nhiễm sắc thể kết quả, nếu hai hoặc nhiều khoảng cách liên tiếp có cùng chế độ, chúng sẽ được kết hợp để đơn giản hóa. Đó là
q2 ti ,q1 titrong ví dụ này đều ở chế độ ngủ và được đơn giản hóa thành
4 4
Đối với hoạt động đột biến, nguyên tắc được minh họa bằng ví dụ biểu diễn trong Hình 4.10. Bắt đầu từ đoạn gen mẹ C i (k ), đối với mỗi khoảng, người ta chọn ngẫu nhiên một trong bốn phép toán sau được thực hiện để tạo ra đoạn gen mới ở thế hệ tiếp theoC i (k +1) như sau:
- Sao chép: khoảng con được sao chép khoảng mẹ, chẳng hạn giống như khoảng
t i
1
-Chèn: một khoảng mới với chế độ nghịch đảo được chèn theo cách mà thời gian bắt đầu và kết thúc của nó được tạo ngẫu nhiên nhưng nằm trong ranh giới của khoảng
i i
- Loại bỏ: một khoảng ở mẹ bị loại bỏ và không được kế thừa bởi nút con, như trường
i i
hợp của khoảng t 5 ,t6 trong ví dụ.
-Dịch chuyển: các ranh giới của khoảng con được thực hiện bằng cách di chuyển các khoảng thời gian của mẹ về phía sau hoặc về phía trước trong trục thời gian, như
trong trường hợp của khoảng
Các hoạt động sao chép (Copy), chèn (Insertion), loại bỏ (Removal), dịch chuyển (Shift) được thực hiện với xác suất cho trước tương ứng là MC , MI , MR , MS
và ở đâyMC + MI + MR + MS = 1.
C i (k )
C i (k +1)
ti
1
Hình 4.10. Hoạt động đột biến gen của nhiễm sắc thể
Cơ chế chọn lọc, trao đổi chéo và đột biến như đã trình bày ở trên giúp thuật toán khám phá bất kỳ khả năng nào của lịch trình mạng bằng cách đa dạng hóa thế hệ gen khi các cá thể tiến hóa, đồng thời ưu tiên các gen tốt tạo nên các cá thể tương ứng vượt trội. Hơn nữa, các phần tử si trong không phải chịu các phép toán lai ghép và đột biến, nhưng sau các phép toán này thì độ dài của Ci có thể thay đổi nên nó được cập nhật do việc áp dụng các phép toán này trên các phần tử C i tương ứng trong .