BÀI tập NHÓM môn các hệ cơ sở TRI THỨC tên đề tài các TOÁN tử và kỹ THUẬT NÂNG CAOTRONG THUẬT GIẢI DI TRUYỀN

29 1.1K 1
BÀI tập NHÓM môn các hệ cơ sở TRI THỨC tên đề tài các TOÁN tử và kỹ THUẬT NÂNG CAOTRONG THUẬT GIẢI DI TRUYỀN

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN  BÀI TẬP NHÓM MÔN CÁC HỆ CƠ SỞ TRI THỨC TÊN ĐỀ TÀI CÁC TOÁN TỬ VÀ KỸ THUẬT NÂNG CAO TRONG THUẬT GIẢI DI TRUYỀN GVHD: TS. Lê Hoàng Thái Nhóm thực hiện: Nhóm 12 – Ngành Hệ thống Thông tin – Khóa 20 Nguyễn Văn Phúc MSHV: 10 12 030 Phan Thị Thanh Nga MSHV: 10 12 021 Nguyễn Tâm Duy MSHV: 10 12 006 Trương Anh Tuấn MSHV: 10 12 057 Tp. Hồ Chí Minh, tháng 11 năm 2010 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao MỤC LỤC LỜI MỞ ĐẦU LỜI MỞ ĐẦU Trong khoa học máy tính, việc tìm kiếm lời giải tối ưu cho nhiều bài toán với không gian tìm kiếm lớn được các nhà khoa đọc đặc biệt quan tâm. Việc đòi hỏi các thuật giải hiệu quả cao và sử dụng trí tuệ nhân tạo là rất cần thiết khi giải quyết các bài toán dạng này. Thuật giải di truyền là một trong các giải pháp để tìm kiếm lời giải tối ưu đã đáp ứng được yêu cầu của nhiều bài toán và ứng dụng. Thuật giải di truyền giải bài toán bằng cách mô phỏng lại và áp dụng các quy luật trong quá trình tiến hóa của tự nhiên. Phương pháp này không đảm bảo đưa ra lời giải tối ưu mà chỉ cố gắng tìm kiếm các lời giải tương đối tối ưu. Thuật giải di truyền được ứng dụng nhiều trong thực tế từ khoa học, kinh doanh đến các ngành công nghiệp, xây dựng và thậm chí là giải trí. Vì thế, nhóm chọn đề tài này với mong muốn tìm hiểu sâu hơn về các kỹ thuật mới, tiên tiến đã được phát triển để giải quyết những bài toán thực tế. Đồng thời, qua báo cáo, các thành viên sẽ củng cố được kiến thức quan trọng của môn học. Nội dung tìm hiểu chủ yếu được lấy từ chương 3 (trang 39 – 81) và chương 4 (trang 82 – 105) của cuốn sách Introduction to Genetic Algorithms (ấn bản 2008). Báo cáo được chia làm ba phần chính. Hai phần đầu giới thiệu một cách tổng quan về thuật giải di truyền, cách tiếp cận và các vấn đề liên quan cũng như các kỹ thuật cơ bản đã được áp dụng rộng rãi. Phần tiếp theo sẽ trình bày nội dung chính mà nhóm tìm hiểu. Đó là các toán tử và kỹ thuật nâng cao được áp dụng trong thuật giải di truyền. Phần cuối của báo cáo là ứng dụng các kết quả nghiên cứu để giải một số bài toán điển hình. Do mã nguồn khá dài nên nhóm không thể đưa vào báo cáo mà sẽ ghi vào một đĩa DVD chứa đầy đủ nội dung của báo cáo. Qua đây, nhóm chúng em cũng chân thành cảm ơn thầy Lê Hoàng Thái đã tận tình dạy dỗ và tạo điều kiện cho nhóm hoàn thành đề tài này. Nhóm thực hiện Nhóm 12 Trang 2 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao CÁC TOÁN TỬ VÀ KỸ THUẬT NÂNG CAO TRONG THUẬT GIẢI DI TRUYỀN 1 Tổng quan về thuật giải di truyền Thuật giải di truyền là một kỹ thuật của khoa học máy tính được dùng để tìm kiếm lời giải cho các bài toán tối ưu tổ hợp hay các bài toán chưa có thuật toán để tìm chính xác lời giải. Thuật giải di truyền sử dụng ngôn ngữ máy tính để mô phỏng lại quá trình tiến hóa tự nhiên của một tập các đối tượng trừu tượng (gọi là quần thể). Mỗi đối tượng trừu tượng (gọi là các nhiễm sắc thể) đại diện cho một giải pháp khả dĩ (gọi là cá thể) của bài toán tối ưu hóa. Ngoài ra, mỗi giải pháp thường liên quan đến nhiều yếu tố, gọi là các biến. Vì thế, các nhiễm sắc thể tương ứng cũng gồm nhiều phần tử, mỗi phần tử được gọi là một gen. Tập các giải pháp này sẽ tiến triển theo hướng chọn lọc những giải pháp tốt hơn. Việc xác định giải pháp nào tốt hơn được thực hiện bởi một hàm gọi là hàm mục tiêu hoặc hàm thích nghi. Các giải pháp tốt được kết hợp với nhau với hi vọng sẽ tạo ra các giải pháp tốt hơn. Quá trình tiến hóa bắt đầu từ một tập các cá thể ngẫu nhiên, và do đó, hầu hết chúng không phải là các lời giải tốt. Qua từng thế hệ, độ thích nghi của từng cá thể được xác định. Các cá thể được chọn lọc theo cách có định hướng (chọn cá thể tốt theo độ thích nghi) từ tập hiện thời. Sau đó, các cá thể này được biến đổi bằng cách lai ghép hay đột biến để tạo ra các cá thể mới. Việc này được thực hiện lặp đi lặp lại qua các thế hệ tiếp theo và cuối cùng, giải thuật cho ra lời giải tối ưu hoặc gần tối ưu. Một thuật giải di truyền có thể chia ra làm 5 bước, được mô tả qua thủ tục sau: procedure GeneticAlgorithms begin T = 0; // Thế hệ thứ T Khởi tạo quần thể P(T); Đánh giá độ thích nghi cho các cá thể trong P(T); while (not Điều_Kiện_Kết_Thúc) do begin T = T + 1; Chọn lọc P(T) từ P(T-1); Kết hợp các cá thể (bằng lai ghép & đột biến) trong P(T); Đánh giá độ thích nghi cho các cá thể trong P(T); end end Các toán tử và kỹ thuật được áp dụng trong thủ tục trên sẽ được mô tả chi tiết hơn trong các phần tiếp theo. Nhóm 12 Trang 3 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao 2 Các thao tác cơ bản Để giải một bài toán tối ưu bằng cách áp dụng thuật giải di truyền, ta thường phải giải quyết 5 vấn đề: • Biểu diễn di truyền hay chọn cách mã hóa các lời giải của bài toán • Phát sinh quần thể ban đầu P(0). • Chọn hàm đánh giá để xác định mức độ thích nghi của lời giải • Áp dụng các toán tử di truyền (lai ghép, đột biến) để tạo ra các cá thể mới • Xác định các tham số đầu vào của thuật giải. Chẳng hạn như kích thước quần thể, xác suất lai ghép, xác suất đột biến,… 2.1 Mã hóa Mã hóa là việc xác định cách thức biểu diễn di truyền đối với lời giải của bài toán. Việc mã hóa phụ thuộc nhiều vào từng bài toán cụ thể. Một số cách biểu diễn thông dụng: • Biểu diễn nhị phân: mỗi nhiễm sắc thể là một dãy số nhị phân. Mỗi gen có thể được mã hóa nhờ một số lượng bit nào đó. • Biểu diễn theo số tự nhiên: mỗi nhiễm sắc thể là một dãy các số tự nhiên. Phương pháp này được dùng nhiều trong các bài toán tối ưu tổ hợp hay hoán vị. • Biểu diễn số dấu chấm động: Mỗi gen trong nhiễm sắc thể được mã hóa bởi một số ở dạng dấu chấm động. Cách biểu diễn này giải quyết được một số nhược điểm của biểu diễn nhị phân và biểu diễn được miền giá trị lớn. • Một số cách khác: Biểu diễn số ở hệ Octal (hay Hexa), biểu diễn bởi chuỗi ký tự, hay kết hợp các dạng trên. Cách biểu diễn Nhị phân Số tự nhiên Số thực Cách khác Nhiễm sắc thể 100011011 010101010 123459876 679218345 5.5 2.3 7.1 4.0 3.1 1.9 2.5 5.6 2314506 (Octal) ABCDE (Hexa / chuỗi) Hình 1. Một số cách biểu diễn nhiễm sắc thể 2.2 Phát sinh quần thể ban đầu Thông thường, việc khởi tạo các cá thể trong quần thể ở thế hệ đầu tiên là phát sinh ngẫu nhiên và/hoặc có thêm một số ràng buộc (chẳng hạn sinh ra một hoán vị). Do đó, hầu hết chúng có độ thích nghi thấp hay không phải là lời giải tối ưu. Trong một số trường hợp, việc phát sinh ngẫu nhiên có thể làm quá trình tiến hóa chậm (chẳng hạn như với bài toán người du lịch). Một cách khởi tạo khác cũng hay được áp dụng, đó là sử dụng phương pháp tham lam (greedy). Tùy vào đặc trưng của từng bài toán cụ thể, ta có thể phát sinh ra các cá thể sao cho có khả năng gần với lời giải nhất có thể. Ví dụ, với bài toán người du lịch, tại gen thứ k, ta chọn đỉnh gần nhất với đỉnh trong gen thứ k-1 và chưa được chọn. 2.3 Hàm đánh giá và hàm thích nghi Trong hầu hết các bài toán áp dụng thuật giải di truyền, ta quy về việc tối ưu cực đại (hoặc cực tiểu) một hàm một hoặc nhiều biến. Khi đó, độ tốt của cá thể là giá trị hàm tương Nhóm 12 Trang 4 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao ứng của cá thể đó. Như vậy, nếu chọn một cá thể là nghiệm của bài toán thì cá thể càng tốt khi giá trị hàm càng gần với giá trị tối ưu (cực đại hoặc cực tiểu) càng tốt. Hàm để đánh giá độ tốt của cá thể hay lời giải gọi là hàm mục tiêu. Tuy nhiên, để chọn lọc các cá thể di truyền cho thế hệ tiếp theo, ta cần phải biến đổi hàm mục tiêu sang hàm thích nghi. Điều này cũng tương tự như trong tự nhiên, các cá thể thích nghi tốt với môi trường sống sẽ được bảo tồn cho thế hệ kế tiếp. Độ thích nghi của cá thể được định nghĩa là khả năng cá thể đó được chọn lọc vào thế hệ sau hoặc được chọn cho việc lai ghép, tạo ra cá thể mới. Hàm mục tiêu là cơ sở để đánh giá độ thích nghi của các cá thể. Việc ánh xạ từ hàm mục tiêu sang hàm thích nghi tùy thuộc vào mục đích của bài toán thực tế. 2.4 Các toán tử di truyền Chọn lọc là quá trình chọn một cách ngẫu nhiên các cặp cá thể trong quần thể để thực hiện việc lai tạo ra cá thể con cho thế hệ sau. Mục đích của chọn lọc là chú trọng vào các cá thể có độ thích nghi cao với hi vọng rằng, các con của chúng sẽ có độ thích nghi cao hơn nữa. Một số cơ chế chọn lọc thường được áp dụng: • Chọn lọc theo vòng Roulette (Roulette wheel selection) • Chọn lọc cạnh tranh (Tournament selection) • Chọn lọc thứ tự (Rank selection) • Elitism selection Lai ghép là quá trình lấy hai giải pháp bố - mẹ và sinh ra con của chúng. Sau quá trình chọn lọc (sinh sản), quần thể được làm giàu bởi các cá thể tốt hơn. Lai ghép tạo ra bản sao của các cá thể tốt chứ không tạo ra các cá thể mới vì lai ghép chỉ sao chép giá trị gen giữa cặp cá thể bố - mẹ để tạo ra cá thể con. Toán tử lai ghép được áp dụng vào tổ hợp sinh sản với hi vọng tạo ra được thế hệ con tốt hơn. a. Lai ghép đa điểm b. Lai ghép đồng nhất c. Lai ghép thứ tự Hình 2. Một số kiểu lai ghép Các kỹ thuật lai ghép thường được áp dụng: • Lai ghép một điểm (Single-point Crossover) • Lai ghép đa điểm (Multi-point Crossover) Nhóm 12 Trang 5 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao • Lai ghép đồng nhất (Uniform Crossover) • Lai ghép chu trình (CX – Cycle Crossover) • Lai ghép thứ tự (OX – Ordered Crossover) • Lai ghép so khớp từng phần (PMX – Partially Matched Crossover) Đột biến là thay đổi một cách ngẫu nhiên giá trị của một hoặc vài gen trong nhiễm sắc thể. Nếu lai ghép được xem là khám phá các giải pháp hiện thời để tìm ra các giải pháp tốt hơn thì đột biến được cho là để giúp thăm dò toàn bộ không gian tìm kiếm. Đột biến được xem như một toán tử nền tảng để duy trì tính đa dạng di truyền trong quần thể. Đột biến giúp thoát khỏi cái bẫy của cực tiểu cục bộ và duy trì tính đa dạng trong quần thể. Có nhiều dạng đột biến khác nhau tùy thuộc vào cách mã hóa hay biểu diễn của nhiễm sắc thể. Sau đây là một số kỹ thuật đột biến thường dùng: • Đột biến đảo bit (Flipping): Thay thế giá trị của gen bằng một giá trị khác • Đột biến đổi chổ (Interchanging): Hoán vị giá trị của hai gen • Đột biến đảo ngược (Reversing): Đảo ngược một đoạn gen trong nhiễm sắc thể. Flipping Interchanging Reversing Parent 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 Child 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 Hình 3. Một số dạng đột biến 2.5 Các tham số của thuật giải Kích thước quần thể (PopSize) là số lượng cá thể trong mỗi thế hệ tiến hóa. Giá trị của nó phụ thuộc vào sự phức tạp của từng bài toán cụ thể. Kích thước quần thể lớn có thể giúp khám phá nhanh toàn bộ không gian tìm kiếm. Tuy nhiên, nó yêu cầu chi phí cho việc tính toán, bộ nhớ và cả thời gian thực thi. Trong thực tế, giá trị này thường được chọn là 100. Xác suất lai ghép (p c ) là tham số mô tả mức độ thường xuyên mà phép lai ghép được thực hiện. Nếu p c = 100% thì mọi cá thể con đều được tạo ra từ việc lai ghép. Điều này đôi khi là không tốt vì chúng ta muốn lưu giữ một phần của quần thể trước nhằm duy trì tính đa dạng của quần thể. Nếu p c = 0% thì thế hệ sau chỉ là bản sao y nguyên của thế hệ trước, có nghĩa là không có sự tiến hóa. Số lượng cá thể tham gia vào quá trình lai ghép là: p c * PopSize. Xác suất đột biến (p m ) là tham số quyết định mức độ thường xuyên mà các phần tử của nhiễm sắc thể bị đột biến. Đột biến ngăn thuật giải di truyền rơi vào cực trị cục bộ. Giá trị này càng lớn thì càng nhiều cá thể bị biến đổi làm mất tính ổn định của quần thể. Số lượng gen bị đột biến trong toàn bộ quần thể sẽ là: p m * PopSize * kích thước nhiễm sắc thể. 3 Các toán tử và kỹ thuật di truyền nâng cao Phần trên hệ thống lại một cách khái quát các khái niệm và một số kỹ thuật di truyền cơ bản: sinh sản, lai ghép và đột biến. Chúng hoạt động tốt trong nhiều bài toán thực tế. Tuy nhiên, để cải thiện sức mạnh của thuật giải di truyền, chúng ta cần có các kỹ thuật và toán tử phức tạp hơn để biểu diễn được hầu hết các kiểu hình tự nhiên. Nhóm 12 Trang 6 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao Trong phần này, chúng tôi trình bày một số kỹ thuật biểu diễn mức thấp như thể trội, thể lưỡng bội và các toán tử đảo, sao chép, xóa bỏ, chia tách. Các toán tử cấp cao như sự thích nghi môi trường sống (niche), sự hình thành loài (speciation) và các kỹ thuật tối ưu nhiều mục tiêu cũng được khảo sát chi tiết. Đây cũng chính là phần chính của báo cáo. 3.1 Thể lưỡng bội (Diploidy), thể trội (Dominicance) và thể khuyết (Abeyance) Trong các phần trên, chúng ta chỉ xem xét các kiểu hình đơn giản nhất tồn tại trong tự nhiên, đó là nhiễm sắc thể đơn bội. Một nhiễm sắc thể đơn bội chỉ chứa một tập các gen nghĩa là một alen chiếm giữ một vị trí. Tự nhiên chứa đựng nhiều tổ chức đơn bội, nhưng hầu hết chúng có dạng sống không phức tạp. Khi tự nhiên muốn kiến tạo(xây dựng) một dạng sống phức tạp hơn hay dạng sống động vật, một cấu trúc nhiễm sắc thể phức tạp hơn là cần thiết, đó là nhiễm sắc thể lưỡng bội hoặc nhiễm sắc thể kép. Ở dạng lưỡng bội, một kiểu gen chứa một hoặc nhiều cặp nhiễm sắc thể, mỗi cặp chứa thông tin cho cùng một chức năng. Xét cấu trúc nhiễm sắc thể lưỡng bội sau, với các kí tự khác nhau đại diện cho các alen khác nhau (giá trị chức năng gen khác nhau): P q r s t P Q R S t Alen đại diện cho thuộc tính của một gen cụ thể. Mỗi vị trí của một kí tự đại diện cho một alen. Các kí tự viết hoa và viết thường được đưa ra ở trên đại diện cho các alen thay thế (alternative) tại mỗi vị trí. Trước tiên, trong tự nhiên mỗi alen biểu thị các thuộc tính kiểu hình khác nhau. Chẳng hạn, Q có thể biểu diễn cho gen tóc xám và q có thể là gen tóc đen. Như vậy, một cặp (Q, q) mô tả một chức năng, vì thế, cần phải có cách để quyết định xem giá trị nào được chọn bởi vì chẳng hạn, kiểu hình không thể cùng lúc tóc xám và tóc đen. Một cách tiếp cận để loại bỏ xung đột dư thừa này là thông qua một cơ chế gọi là gen trội. Tại một vị trí, một alen (gọi là gen trội) sẽ được ưu tiên hơn một alen thay thế khác (gọi là gen lặn). Có thể nói rằng, một alen là trội nếu nó được biểu hiện khi đi cặp với một vài alen khác. Biểu hiện nghĩa là nó xuất hiện trong các kiểu hình. Trong ví dụ trên, nếu giả sử tất cả các kí tự hoa là trội và tất cả các kí tự thường là lặn thì kiểu hình được biểu thị của nhiễm sắc thể ví dụ trên sẽ là: P q r S t → P Q R S t (gen được biểu hiện lên kiểu hình) p Q R S t Gen trội luôn luôn được biểu hiện và gen lặn chỉ biểu hiện khi nó đi cặp với cùng một gen lặn. Gen trội được biểu thị trong các phần tử dị hợp (Pp  P) hoặc đồng hợp (SS  S) và gen lặn được biểu thị chỉ khi là đồng hợp lặn (tt  t). Do đó trội là một toán tử di truyền được sử dụng để tính toán kiểu hình các giá trị alen có thể tại một vị trí gen. Nhiễm sắc thể lưỡng bội cung cấp sự thuận lợi cho các cá thể khi môi trường thay đổi qua một khoảng thời gian. Việc có 2 gene cho phép hai giải pháp khác nhau được nhớ (ghi Nhóm 12 Trang 7 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao lại) và chuyển qua cho con cháu. Một trong những gen này là trội (nghĩa là nó sẽ biểu hiện lên kiểu hình), trong khi những gen khác là lặn. Nếu điều kiện môi trường thay đổi, sự trội có thể hoán chuyển, do đó một gen khác sẽ là trội. Sự hoán chuyển này có thể xảy ra nhanh hơn mức có thể nếu cơ chế tiến hóa phải thay đổi gen. Cơ chế này là lý tưởng nếu môi trường chuyển giữa hai trạng thái (chẳng hạn kỷ băng hà và không phải kỷ băng hà). Thuận lợi chính của lưỡng bội là nó cho phép sự đa dạng rộng lớn hơn của các alen được giữ lại trong quần thể so với đơn bội. Hiện tại thì có hại nhưng tiềm năng là các alen hữu dụng có thể vẫn được duy trì, nhưng ở trạng thái lặn. Trong thuật giải di truyền, lưỡng bội có thể hữu ích trong các ứng dụng trực tuyến, các hệ thống có thể chuyển giữa các trạng thái khác nhau. Lưỡng bội chiếm một vị trí quan trọng trong thuật giải di truyền. Ngoài việc mang hai lần thông tin di truyền, nhiễm sắc thể phải mang thông tin trội. 3.2 Thể đa bội (Multiploid) Một thuật giải di truyền đa bội kết hợp một vài ứng viên (candidates) cho mỗi gen trong một kiểu gen duy nhất, và sử dụng một vài cơ chế dạng trội để quyết định gen nào sẽ được kích hoạt trong kiểu hình. Trong tự nhiên, chúng ta tìm thấy nhiều tổ hợp có kiểu gen đa bội, các tổ hợp này chứa nhiều bộ nhiễm sắc thể với một số cơ chế để xác định gen nào được biểu hiện, nghĩa là trội tại một vị trí gen nào đó. Cơ chế này chủ yếu là nâng cao tính đa dạng của quần thể, các gen hiện tại chưa được sử dụng vẫn còn là loại gen đa bội, chưa được biểu hiện, nhưng được bảo vệ khỏi sự tuyệt chủng cho đến khi chúng trở nên hữu ích trong các thế hệ sau. Một kiểu gen đa bội, thể hiện trong hình 4.a, một nhiễm sắc thể có p=3 thành phần, mỗi thành phần có chiều dài L và tương tự như một nhiễm sắc thể đơn bội. Để xác định gen nào được biểu hiện lên kiểu hình, ta dùng một mặt nạ, chỉ ra gen của thành phần nào trong p thành phần là trội tại một vị trí cụ thể trong nhiễm sắc thể. Thông tin này được giải mã thành kiểu hình như sau: Hình 4.a. Đa bội loại 1 (multiploid type 1) Nhóm 12 Trang 8 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao Hình 4.b. Đa bội loại 2 (multiploid type 2) Một giá trị alen a tại điểm i trong mặt nạ biểu thị rằng gen thứ i trong thành phần ứng với chỉ số a trở thành gen thứ i trong kiểu hình. Chiều dài của mặt nạ có thể ngắn hơn chiều dài của nhiễm sắc thể, như hình 4.b. Trong hình 4.b, nếu chiều dài của mặt nạ là m và nhiễm sắc thể có chiều dài L, một gen tại vị trí “i” trong mặt nạ với giá trị là “a” chỉ ra rằng tập L/m gen liên tục thứ i trong thành phần thứ a của nhiễm sắc thể là trội. 3.3 Một số toán tử vi mô tái thiết lập thứ tự 3.3.1 Toán tử đảo (inversion) Đảo là toán tử một ngôi, một trong các toán tử di truyền thực hiện việc tái sắp xếp thứ tự. Toán tử đảo ngược là cơ chế tự nhiên chủ yếu để tái mã hóa một vấn đề. Trong toán tử đảo ngược, hai điểm đánh dấu và chiều dài của nhiễm sắc thể được cho trước, đoạn nhiễm sắc thể giữa hai điểm đánh dấu bị cắt và đảo ngược. Để rõ ràng hơn, ta xét hai nhiễm sắc thể có chiều dài 8, hai điểm đánh dấu được chọn ngẫu nhiên (là 2 và 6) như sau: Sử dụng toán tử đảo, ta có kết quả: Toán tử đảo có thể sử dụng như một toán tử đột biến. Nó có một số biến thể sau: • Đảo tuyến tính • Đảo tuyến tính + cuối • Đảo liên tục • Đảo khối Đảo tuyến tính là phép đảo như đã thấy ở ví dụ trên. Đảo tuyến tính+ cuối là đảo tuyến tính với xác suất được chỉ ra là 0.75. Khi đảo tuyến tính không được thực hiện, đảo cuối có thể được thực hiện với xác suất 0.125 tại đầu trái hoặc đầu phải của chuỗi. Đảo tuyến tính + cuối khác đảo tuyến tính ở việc phá vỡ các alen gần trung tâm của chuỗi và các alen nằm ở cuối chuỗi một cách không cân đối. Trong chế độ đảo liên tục, phép đảo được áp dụng với một xác suất đảo cụ thể P i , đối với mỗi cá thể mới khi nó được tạo. Trong chế độ đảo khối một nửa quần thể mới được tạo được trải qua việc đảo đồng nhất. 3.3.2 Chia tách và dịch chuyển Xét quá trình hình thành giao tử khi có nhiều hơn một cặp nhiễm sắc thể trong kiểu gen. Khi nó hình thành một giao tử, ta chọn ngẫu nhiên một trong mỗi nhiễm sắc thể đơn bội. Quá trình chọn lọc ngẫu nhiên này được gọi là sự chia tách – phá vỡ mọi liên kết tồn tại giữa các gen trên các nhiễm sắc thể khác nhau. Nó cho thấy rằng, sự chia tách khai thác cách tổ chức phù hợp của các nhiễm sắc thể và quan trọng là chú ý vào cách mà nhiễm sắc thể được tổ Nhóm 12 Trang 9 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao chức theo một cách thích hợp. Toán tử dịch chuyển được sử dụng cho mục đích này. Toán tử dịch chuyển có thể được xem như một toán tử lai ghép liên nhiễm sắc thể. Toán tử này được thực thi bằng cách nối các alen với tên các gen của chúng, để có thể xác định ý nghĩa của chúng khi chúng được xáo trộn từ nhiễm sắc thể này sang nhiễm sắc thể khác bởi toán tử dịch chuyển. 3.3.3 Nhân bản và xóa Có một cặp toán tử mức thấp khác thực hiện việc tìm kiếm theo thuật giải di truyền. Sự sao chép trong nội bộ nhiễm sắc thể thực hiện bằng cách nhân bản một gen nào đó và đặt nó cùng với tổ tiên của nó lên nhiễm sắc thể. Việc xóa bằng cách loại bỏ một gen trùng khỏi nhiễm sắc thể. Tỷ lệ đột biến có thể được điều khiển một cách hiệu quả bởi các toán tử này. Khi tỷ lệ đột biến không đổi và nhân bản trong nhiễm sắc thể tạo ra k bản sao của một gen nào đó thì xác suất đột biến hiệu quả cho gen này được nhân với k. Mặt khác, khi việc xóa xảy ra, tỷ lệ đột biến hiệu quả cũng giảm. 3.3.4 Xác định giới tính (Sexual Determination) Ban đầu, trong sơ đồ kết cặp, ta được phép kết cặp bất kỳ hai cá thể nào và kết quả di truyền tạo ra được chia sao cho chúng bảo đảm một kiểu gen có khả năng sống được (viable genotype). Xác định giới tính được xử lý khác nhau trong các loài khác nhau. Tuy nhiên, chỉ cần xét ví dụ trên con người là đủ để hiểu về sự xác định giới tính. Giới tính được xác định trong một người bởi một trong 23 cặp nhiễm sắc thể của người. Nữ có hai nhiễm sắc thể đều là X và nam có hai nhiễm sắc thể khác nhau là X và Y. Trong quá trình hình thành giao tử (gametogenesis process), nam giới hình thành tinh trùng (mang nhiễm sắc thể X hoặc Y) và nữ giới sở hữu trứng (mang nhiễm sắc thể X). Lúc thụ tinh, nhiễm sắc thể X sinh bởi người nữ được kết hợp với nhiễm sắc thể X hoặc Y sinh ra bởi người nam. Vì thế, phương pháp xác định giới tính trên người rất đơn giản. Chiến lược tương tự cũng được áp dụng để xác định giới tính trong tìm kiếm theo thuật giải di truyền. Sự thiết lập giới tính khác nhau chia một loài thành 2 hay nhiều nhóm một cách có hiệu quả. Điều này cho phép chuyên biệt hóa nam và nữ, do đó, kèm theo một loạt các hành vi cần thiết cho sự sống một cách rộng rãi hơn với một quần thể cạnh tranh duy nhất. Các nghiên cứu theo sự xác định giới tính và sự khác nhau về tìm kiếm thuật giải di truyền nhân tạo vẫn còn đang tiếp diễn. Khi tổ hợp các toán tử lai và toán tử đảo, ta thiết lập được một số phép lai có thể tái thiết lập trật tự các gen. Ba phép lai theo dạng này được sử dụng nhiều trong các bài toán thực tế là: lai so khớp từng phần (PMX), lai thứ tự (OX) và lai chu trình (CX). 3.3.5 Phép lai so khớp từng phần (Partially Matched Crossover – PMX) Trong lai so khớp từng phần, hai chuỗi được sắp hàng, và hai điểm lai được chọn ngẫu nhiên giống nhau dọc theo chiều dài của chuỗi. Hai điểm lai cho một chọn lọc khớp được dùng để tác động thông qua toán tử trao đổi vị trí – vị trí. Xét 2 nhiễm sắc thể: Nhóm 12 Trang 10 [...]... nghi: f(x) = 1 / (1 + g(x)) Kết quả Nhóm 12 Trang 25 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Nhóm 12 Một số toán tử và kỹ thuật di truyền nâng cao Trang 26 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao 4.5 Bài toán 5 Sắp ba lô Có 1 túi có thể chứa các đồ vật với trọng lượng tối đa W Các vật thể được chọn để sắp vào túi này được chia thành M lớp (loại)... Trang 21 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao 4.3 Bài toán 3 N-hậu Bài toán N-hậu mở rộng từ bài toán 8-hậu khá quen thuộc Đây là bài toán minh họa cách sử dụng toán tử lai ghép đồng nhất và đột biến trên các nhiễm sắc thể được biểu di n bởi một hoán vị của N số Trong ví dụ này, nhóm sử dụng thuật giải di truyền để giải quyết bài toán đặt N quân hậu... nhất Đây là bài toán khá quen thuộc và có thể áp dụng nhiều thuật toán để giải Tuy nhiên, các thuật toán đó tốn nhiều chi phí về thời gian khi số lượng thành phố là lớn Trong báo cáo này, nhóm sử dụng thuật giải di truyền để khắc phục nhược điểm trên Nhóm 12 Trang 24 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao Ngoài ra, với bài toán này, nhóm sử dụng... đối với thuật giải di truyền Nhóm 12 Trang 12 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao Để giải quyết vấn đề này, người ta đề xuất hai khái niệm, đó là vùng thích nghi và loài Trong nhiều bài toán thực tế, hai khái niệm này giải quyết đáng kể các khó khăn đã được nêu ở trên 3.4.1 Vùng thích nghi và sự hình thành loài trong các bài toán đa phương thức. .. được khả năng mạnh mẽ của thuật giải di truyền cũng như cách biểu di n (mã hóa) đa dạng của nhiễm sắc thể Trong bài toán này, thuật giải di truyền cố gắng phát tri n (hay tiến hóa) đến một chuỗi nào đó, chẳng hạn “to be or not to be”, từ một chuỗi các ký tự được sinh ngẫu nhiên Nhóm 12 Trang 18 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao Vì bảng chữ cái... thường tồn tại một tập hợp các giải pháp cho trường hợp nhiều mục tiêu mà không thể so sánh một cách đơn giản Nhóm 12 Trang 17 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao với các giải pháp khác Với các giải pháp như vậy - được gọi là các giải pháp tối ưu Pareto hay các giải pháp không trội (non-dominated) – sự cải thiện là không thể trong các hàm mục tiêu... sửa đổi để bao gồm các yêu cầu phụ Các cá thể này sau đó cố gắng gia nhập vào vùng thích nghi thứ hai và nếu không hoàn thành việc này, các cá thể có liên quan sẽ bị chết sớm Nhóm 12 Trang 16 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao Việc sử dụng 2 vùng thích nghi duy trì một quần thể cân bằng và bảo đảm rằng các cá thể phù hợp với các yêu cầu sẽ được... dùng một phương pháp heuristic để xây dựng một giải pháp theo sự hoán vị và kết hợp đó • Các toán tử và kỹ thuật nâng cao đã được trình bày trên đây dẫn đến sự cải thiện đáng kể hiệu quả và năng lực của thuật giải di truyền Sau đây là chương trình minh họa cách giải một số bài toán dùng thuật giải di truyền và toán tử trên 4 Chương trình minh họa 4.1 Bài toán 1 So khớp chuỗi Đây là một ví dụ khá đơn... tại được Và như vậy, các bố mẹ từ các vùng thích nghi khác nhau không được khuyến khích cặp đôi Hai kỹ thuật sau có thể được dùng để giải quyết các khó khăn trên Hình 6 Việc kết cặp bố mẹ ở 2 vùng thích nghi khác nhau có thể dẫn đến việc tạo ra một con không tồn tại được (gọi là cá thể chết) Nhóm 12 Trang 13 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao... một tập ngưỡng khác – có thể nới lỏng nếu có sự khó khăn trong việc chọn bố mẹ Hình 7 Đồ thị của một hàm đơn phương thức Nhóm 12 Trang 15 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao Mã giả cho thuật toán chọn cặp bố mẹ SET THRESHOLD REPEAT FOR EACH INDIVIDUAL DO TEST INDIVIDUAL ENTER PARENT POPULATION IF NO-NEW-PARENTS THEN LOWER THRESHOLD FOR EACH INDIVIDUAL . kiện cho nhóm hoàn thành đề tài này. Nhóm thực hiện Nhóm 12 Trang 2 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao CÁC TOÁN TỬ VÀ KỸ THUẬT NÂNG CAO. CÔNG NGHỆ THÔNG TIN  BÀI TẬP NHÓM MÔN CÁC HỆ CƠ SỞ TRI THỨC TÊN ĐỀ TÀI CÁC TOÁN TỬ VÀ KỸ THUẬT NÂNG CAO TRONG THUẬT GIẢI DI TRUYỀN GVHD: TS. Lê Hoàng Thái Nhóm thực hiện: Nhóm 12 – Ngành Hệ thống. trong các phần tiếp theo. Nhóm 12 Trang 3 Báo cáo bài tập nhóm môn Các hệ cơ sở tri thức Một số toán tử và kỹ thuật di truyền nâng cao 2 Các thao tác cơ bản Để giải một bài toán tối ưu bằng cách

Ngày đăng: 26/01/2015, 17:29

Từ khóa liên quan

Mục lục

  • 1 Tổng quan về thuật giải di truyền

  • 2 Các thao tác cơ bản

    • 2.1 Mã hóa

    • 2.2 Phát sinh quần thể ban đầu

    • 2.3 Hàm đánh giá và hàm thích nghi

    • 2.4 Các toán tử di truyền

    • 2.5 Các tham số của thuật giải

    • 3 Các toán tử và kỹ thuật di truyền nâng cao

      • 3.1 Thể lưỡng bội (Diploidy), thể trội (Dominicance) và thể khuyết (Abeyance)

      • 3.2 Thể đa bội (Multiploid)

      • 3.3 Một số toán tử vi mô tái thiết lập thứ tự

        • 3.3.1 Toán tử đảo (inversion)

        • 3.3.2 Chia tách và dịch chuyển

        • 3.3.3 Nhân bản và xóa

        • 3.3.4 Xác định giới tính (Sexual Determination)

        • 3.3.5 Phép lai so khớp từng phần (Partially Matched Crossover – PMX)

        • 3.3.6 Lai ghép thứ tự (Ordered crossover – OX)

        • 3.3.7 Lai chu trình (Cycle crossover - CX)

        • 3.4 Vùng thích nghi (Niche) và sự hình thành loài (Speciation)

          • 3.4.1 Vùng thích nghi và sự hình thành loài trong các bài toán đa phương thức

          • 3.4.2 Vùng thích nghi và sự hình thành loài trong bài toán đơn phương thức

          • 3.5 Tối ưu hóa đa mục tiêu

          • 3.6 Tối ưu tổ hợp

          • 4 Chương trình minh họa

            • 4.1 Bài toán 1. So khớp chuỗi

Tài liệu cùng người dùng

Tài liệu liên quan