Chương 1 GIẢI THUẬT DI TRUYỂN Chương này sẽ giới thiệu về giải thuật di truyền và giải thuật di truyền mã hóa số thực: Các khái niệm, toán tử, mô hình tiễn hóa và so sánh giải thuật ải tra với một số giải thuật truyền thông khác. Các khái niệm và kết quả trong chương này được tham khảo trong [2], [3], [5], [12]. Tổng quan giải thuật di truyền (GA) Trong sinh học, tiến hóa là sự thay đổi đặc tính đi truyễn của một quần thể sinh học qua những thế hệ nói tiếp nhau. Các quá trình tiến hóa làm nay sinh sự đa đạng ở mọi mức độ tô chức sinh học bao gồm loài, các cá thể sinh.
vật và cả các phân tử như ADN hay Đrotein "Hình 1. Quá trình tiến hóa từ tỉnh tỉnh thành người GA trong Tin học được hình thành dựa trên quan niệm: Quá trình tiến 'hoá tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất, và tự nó đã mang tính tối ưu. Quan niệm này được xem như một tiên đề đúng, không chứng minh được, nhưng phù hợp với thực tế khách quan. Quá trình tiền hoá thể hiện tính tối ưu.
ở chỗ, thế hệ sau bao giờ cũng tốt hơn thế hệ trước (phát triển hơn, hoàn thiện hơn). Xuyên suốt quá trình tiền hoá tự nhiên, các thế hệ mới luôn được sinh ra. để bổ sung thay thế thế hệ cũ. Cá thể nào phát triển hơn, thích ứng hơn với môi trường sẽ tôn tại, cá thể nào không thích ứng với môi trường sẽ bị đào thải.
Sự thay đối môi trường là động lực thúc đẩy quá trình tiến hoá. Ngược lại, tiến hoá cũng tác động trở lại góp phin làm thay đổi môi trường. [5] GA thực chất là một gi thuật tìm kiếm, chọn lựa các giải pháp tối tu để giai quyét cac bai todn thyc té khac nhau, da trén co ct ‘hon loc cia ty nhiền: từ tập lời giải ban đầu, thông qua nhiều bước tién hoá, hình thành tập lời giải mới phù hợp hơn, và cuối cùng dẫn đến lời giải tối ưu toàn cục. GA sử đụng các thuật ngữ vay mượn từ đi truyền học như: Cá thể, quần thể, lai ghép, đột biến,.
Các GA khác nhau tuy có nhiều điểm khác biệt, song đều mô phông 4 quả trình cơ bản: Lai ghép, đột biến, sinh sản và chọn lọc tự nhiên. "Thông thường, thuật giải đi truyền có thê mô tả v: Procedure GA; Begin t=0: Khởi tạo ngẫu nhiên quần thê P(); Tính độ thích nghỉ cho các cá thể thuộc P(); Repeat trt+i; Chọn các cá thể từ P(t-1); Lai tạo các cá thê 44 chon 8 tao ra P(t); Đột biến các cá thê trong P(t) theo xác sudt pr: Đánh giá độ phụ hợp của các cá thể trong tập P()) Until (théa diéu kién dimg) End. 'Giải thích: Tại lần lặp thứ t, GA xác định một tập hợp các lời giải có thể gọi là quan thé P(t) = {x‡,x‡,. Mỗi lời giải xƒ được đánh giá nhằm xác.
định độ phù hợp của nó. Sau đồ một tập hợp các lời giải được hình thành nhờ sự lựa chọn các lời giải phù hợp hơn. Một số phin tử của tập hợp này được tái sản xuất thông qua lai ghép và đột biến. Từ đó hình thành quân thê mới P(t+1) vớihy vọng chứa các cá thê phù hợp hơn quản thê trước đó.
Các vấn đê cơ ban trong GA [3] 1. Mã hóa ca thé Mỗi cá thể tương ứng với một lời giải của bài toán đã cho. Những cá thể này còn được gọi là chuỗi hay các nhiễm sắc thể (NST). Các NST này được chia nhỏ thành các gen và sắp xếp theo một đãy tuyến tính.
Mã hóa là vấn đề cần giải quyết trước khi giải bài toán với GA. Tuy thuộc vào nội đung của mỗi bài toán mà ta có cách mã hoá khác nhau. Các phương pháp mã hoá hay được sử đụng: + Mã hoá đạng chuỗi nhị phân: Day là phương mã hóa truyền thống hay cô điển. Trong phương pháp này, mỗi NST là một chuỗi các bit 0 và 1 ‘Vi dy: Chudi 1101110101111101110 là một lời giải đã được mã hóa nhị phân.
+ Mã hoá thứ tự Được sit dung trong bài toán có có liên quan đến thứ tự như bài toán du lich hay bai toán lập lịch. Ở đây mỗi NST là một chuỗi các số nguyên thể hiện thứ tự phânbổ lời giãi của bài toán. Vĩ dụ: NST 342165879 Đối với những bài toán có liên quan đến thứ tự này, việc thao tác trên các NST chính là hoán đổi vị trí các số trong chuỗi đã cho nhằm làm thay đôi trình tự của nó, + Mã hoá theo giá trị Được sử dụng trong các bài toán mà mỗi lời giải là tập các giá trị (ví đụ tập số thực). Trong phương pháp này, mỗi NST là một chuỗi các giá trị có mối quan hệ tương ứng với bài toán.
+ Mã hoá đạng cây Được sử đụng chủ yếu trong các biểu thức toán học. Trong phương pháp. mã hoá này, mỗi NST là một cây của một nhóm đối tượng nào đó. + Mã hoá số thực Trong phương pháp này, mỗi NST được mã hóa là một véc tơ thực trong.
không gian R", chẳng hạnx = (x,,1;. Cách mã ‘hoa nay rit ty nhién déi với các bài toán tối ưu số và được phát triển rất mạnh. trong thời gian gin đây 1. Khởi tạo quần thể Tập hợp các cá thể là lời giải của một bài toán tạo thành một quân thẻ.
Tập lời giải ban đầu thường được khối tạo ngẫu nhiên từ miền xác định của các lời giải. Cách tạo lập quân thê ban đầu phụ thuộc vào cách nã hóa cá thé, chẳng hạn với cách Mã hóa số thực thì quân thể ban đầu được tạo bằng cách. tạo ngẫu nhiênm véc tơ thực trong không gian R" 1. Ham thich nghi Ham thích nghỉ là một hàm đánh giá độ tốt/xáu của cá thễ, được đùng để so sánh giữa các cá thê xem cá thể nào tốt hơn.
Sau mỗi thế hệ tiến hóa, GA. dang hàm này để quyết định giữ lại hay loại bỏ cá thể nào, cũng như trong quả trình lai ghép hay chọn lọc, cá thể nào có giá trị hàm thích nghỉ tốt hơn sẽ được ưu tiên chọn lựa 1. Các toán tử di truyền a. Toán tử chọn lọc Trong tự nhiên, quá trình chọn lọc và đấu tranh sinh tồn đã làm thay đổi các cá thể trong quân thê.
Những cá thể tốt, thích nghỉ với điều kiện sống thì có khả năng sống sốt cao hơn và ngược lại, những có thể không thích nghỉ với điều kiện sống thì đần bị đào thải. Dựa vào nguyên lý của quá trình chọn lọc và đấu tranh trong tự nhiên, chọn loc trong GA chinh 14 quá trình chọn các cá thể cô độ thích nghỉ (cụ thể là giá trị hàm thích nghị) tốt hơn để đưa vào thế tệ tiếp theo hoặc cho lai ghép, với mục đích là sinh ra cá thê mới tốt hơn. "Toán tử chọn lọc thường giữ lại 50% các cá thể phù hợp nhất. người ta cũng phát triển nhiều sơ đồ chọn khác nhau nhằm tăng tính đa dạng.
của quân thể, tránh sự hội tụ sớm. Toán từ lại ghép Là quá trình hình thành nhiễm sắc thê mới trên cơ sỡ các NST cha — mẹ. Tương tự như trong sinh học, việc lai ghép giữa hai NST sẽ cho ra các NST con thừa hưởng một phân từ cá thê cha và một phần từ cá thê mẹ. Toán tử lai ghép là toán tử di truyền cơ bản trong GA.
Mỗi toán tử lai ghép sẽ cô xác suất xây ra tương ứng của nó. Các nghiên cứu trong sinh học đã chỉ ra rằng, trong tự nhiên xác suất lai ghép thường xây ra rất cao, khoảng. 99,97%, Tuy nhiên trên thực tế, khi áp dung vào các bài toán tin học thì xác suất này thường không cao đến mức đó. Việc xác định xác suất lai ghép hoàn.
toàn phụ thuộc vào vấn đề cần giải quyết. Toán tử đột biến 'Đột biến là sự biến đôi tại một (hoặc một số) gen cia NST đễ tạo ra một 'NST mới. Đột biến có xác suất xây ra thấp hơn lai ghép rất nhiều nhưng đóng vai trò rất lớn đến sự tối ưu của cá thể. Thông thường, toán tử đột biển đông.
vai tò như là người mỡ đường, nghĩa là khi các toán tử lai ghép được đùng nhiều đần đến sự lặp đi lặp lại các cá thê có độ thích nghỉ gần gần nhau, toán. tử đột biến có nhiệm vụ phá vỡ sự cân bằng đó, thúc đây quần thê phát triển. và các cá thê sẽ phong phú, đa đạng hơn. Tuy nhiên, đột biến có thể tạo ra cá 'thể mới tốt hơn hoặc xấu hơn cá thể mẹ ban đầu, song ta luôn mong muốn tạo ra những phép đột biến cho phép cãi thiện lời giải qua từng thể hệ tiền hóa.
4 Tạo sinh Chọn các cá thể trong quân thê hiện thời làm quần thể mới cho lần lặp kế tiếp 1. Các tham số của GA a. Kích thước quần thể Kích thước quân thể cho biết có bao nhiêu cá thể trong quân thể ở mỗi thế hệ. Các nghiên cứu và thử nghiệm cho thấy, kích thước quần thê không.
riên quá bé hoặc quá lớn. Bởi nếu có ít cá thể thì sẽ đẫn đến việc làm giảm. không gian tìm kiếm, khi đó đễ rơi vào cục bộ địa phương, vô tình bỏ qua các lời giải tốt. Ngược lại, nếu kích thước quần thể quá lớn sẽ đẫn đến việc chỉ phí về thời gian sẽ lớn hơn, ảnh hưởng đến hiệu quả tính toán của giải thuật.
Xác suất lai ghép Xác suất lai ghép cho biết tính thường xuyên của việc lai ghép tạo ra thế hệ mới được thực hiện như thế nào. Xác suất lai ghép là p, cho biết khả năng. để một cá thé trong quan thể tham gia lai ghép. Khi áp đụng lai ghép thì cá.
con sinh ra sẽ có một phần giống bồ và một phần giống mẹ. Xác suất đột biến Đây là xác suất cho biết tính thường xuyên của việc các gen trong NST thay đổi như thế nào. Nếu xác suất đột biết là pạ, khi đó khả năng để mỗi gen. của một NST bất kỳ bị đột biến là p„.
Tác dụng của toán tử đột biến là ngăn. ngừa giải thuật đi truyền rơi vào tình trạng cực trị địa phương. Tuy nhiên, ta cũng không nên thực hiện giải thuật với xác suất đột biến quá cao vì sẽ biến giải thuật đi truyền thành giải thuật tìm kiếm mù. d Điều kiện dừng trong GA Trong GA, điều kiện đừng của thuật toán có thễ đo người lập trình lựa chọn.
Thông thường có các điều kiện đừng sau: + Dừng đựa vào kết quả: Khi tôn tại cá thê đạt đến xấp xi ngưỡng yêu cầu. thì đừng thuật toán.