Giải ô số sudoku kích thước lớn với giải thuật di truyền đa dạng hóa quần thể kết hợp backtracking

15 0 0
Giải ô số sudoku kích thước lớn với giải thuật di truyền đa dạng hóa quần thể kết hợp backtracking

Đ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

Hướng nghiên cứu củachúng tôinhằm cố gắng vượt qua những hạnchế vớigiải thuậtbacktrackingđốivới ô so sudoku kích thướclớn cũngnhư vấn đề bẫy tối ưu cục bộ với họ giải thuật Depth First S

Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH YSC5.F031 GIẢI Ô SỐ SUDOKU KÍCH THƯỚC LỚN VỚI GIẢI THUẶT DI TRUYẺN ĐA DẠNG HÓA QUẦN THẺ KẾT HỢP BACKTRACKING TRÂN MẠNH THÌN1, TRÂN THANH LƯỢNG1, ĐÕ HÀ PHƯƠNG1’ -Khoa Công nghệ Thông ỉin, TrườngĐại học Công nghiệp Thành Phổ Hồ Chi Minh, * dohaphuong@iuh.edu vn Tóm tắt Trong bài báo này, chúng tôi thực hiện áp dụng giải thuật di huyền đa dạng hóa quần thể kết hợp với kỹ thuật backtracking để giải ô so sudoku, một trong những game hong thi đấu siêu hí tuệ luôn là mối quan tâm giữa hí tuệ nhân tạo và hí tuệ con người Hướng nghiên cứu của chúng tôi nhằm cố gắng vượt qua những hạn chế với giải thuật backtracking đối với ô so sudoku kích thước lớn cũng như vấn đề bẫy tối ưu cục bộ với họ giải thuật Depth First Search Chúng tôi thực nghiệm đối chứng cải tiến giải thuật với giải thuật backtracking trên bộ so sudoku 9x9, 16x16, 25x25 các cấp độ (dễ, trung bình, khó) và cho kết quả khá khả quan Từ khóa AI, GA, giải thuật di truyền, Sudoku với GA LARGE SUDOKU SOLUTION WITH POPULATION DIVERSIFICATION GENETIC ALGORITHM COMBINED WITH BACKTRACKING Abstract In this paper, we apply a diverse population genetic algorithm combined with backtracking technique to solve Sudoku puzzles, one of the games in the realm of superintelligence that has always been of interest to both artificial intelligence and human intelligence Our research dữection aims to overcome die limitations of die backtracking algorithm for large-sized Sudoku puzzles as well as the local optimum hap issue with Depth First Search algorithms We experimentally compare die improved algorithm with die backtracking algorithm on 9x9, 16x16, 25x25 Sudoku puzzles at various difficulty levels (easy, medium, hard) and obtain quite promising results Keywords AI, GA genetic algorithm, Sudoku with GA 1 GIỚI THIỆU 1.1 Sudoku Các trò chơi gần đây đã trở thành một chủ đề nổi bật dong nghiên cứu và phát hiển lĩnh vực trí tuệ nhân tạo (AI) Các trò chơi được đề cập điển hình như cờ ca-rô, oẳn tù tì, N-Queens [1, 2, 3] được sử dụng để chứng minh độ hiệu quả cũng như khả năng giải quyết vấn đề của thuật toán AI Sudoku cũng là hò chơi giải đố mang tính logic cao, được biết rộng rãi và được yêu thích trên toàn thế giới, Sudoku có hẳn một giải đấu quốc tế gọi là "The World Sudoku Championship" (WSC), được to chức lần đầu tiên vào năm 2006 tại Lucca, Ý [4] Tại WSC, người chơi đối mặt với nhiều thách thức đáng kể hong việc giải các câu đố Sudoku với độ khó và phức tạp cao, đồng thời cạnh hanh và thể hiện sự sáng tạo của mình Một hong những thách thức lớn là việc giải các câu đố Sudoku kích thước lớn và có độ khó đa dạng Các bảng Sudoku có kích thước tăng lên đòi hỏi tư duy và suy luận sắc sảo hơn để tìm ra các giải pháp chính xác Ngoài ra, việc tạo ra các câu đố Sudoku độc đáo và hấp dẫn cũng là một thách thức đối với các nhà thiết kế Họ phải tạo cấu húc đối xứng và hài hòa, đồng thời đảm bảo rằng mỗi câu đố chỉ có duy nhất một lời giải [4] Điều này yêu cầu sự sáng tạo và cẩn thận trong từng chi tiết của câu đố, từ việc xác định vị hí các số đã điền sẵn cho đến cách phân loại độ khó của câu đố Gần đây Sudoku còn được lựa chọn để tham gia vào các game đấu siêu hí tuệ ở Việt Nam cũng như ở các nước luôn hấp dẫn và được quan tâm ở mọi lứa tuổi 354 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH Sudoku là một trò choi xuất phát điểm ban đầu ở Nhật B ản, trên một bảng hình vuông bao gồm 81 ô vuông nhỏ (Hình 1) Trên bảng này, mỗi ô vuông được điền số từ 1 đến 9, mục tiêu của trò chơi là các con số bị thiếu vào các ô vuông trống sao cho mỗi hàng, cột, rà các vùng khối vuông 3x3 chỉ chứa số từ 1 đến 9 mà không số nào được lặp lại (Hình 1) 1 2 5 58 1 ó24937 4379582 1 6 4 5 2 ó 29ó7 3 1 854 3248 7 5ó9 1 7 8 4 ó 1 5349782 8792 1 ó543 5 8 9 1 9524ó3 1 78 748 1 925ó 5 5 4 7 1 65587429 87 ó 3 9 2 5 7 8 9 5 ó 8 4 Hình 1: Câu đố tiêu chuẩn và giải pháp đúng của Sudoku Một số biến thể lớn khác của Sudoku ngoài dạng tiêu chuẩn 9x9, chẳng hạn 16x16 (Hình 2), 25x25 (Hình 3), Các biến thể này tạo nên tổng thể một đề bài phức tạp hơn rất nhiều lần so vói dạng đề tiêu chuẩn và mất rất nhiều thời gian để người chơi có thể giải được 1 234 12 6 7 8 7 3 9 10 6 11 12 10 1 13 11 14 3 15 2 14 9 12 13 8 10 12 2 1 15 11 7 6 16 15 5 13 10 5 15 4 8 11 16 5 9 12 1 8 2 13 12 5 8 3 13 15 3 14 8 16 58 1 2 13 9 15 12 4 6 16 13 7 5 3 12 6 4 11 16 7 16 5 14 1 2 11 1 15 9 13 2 14 14 11 2 13 3 5 12 Hình 2: Biến thể Sudoku 16x16 Hình 3: Biến thể Sudoku 25x25 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 355 Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH Nhìn chung, luật chơi của Sudoku khá đơn giản Các cấp độ dễ, trung bình và khó của Sudoku được xác định dựa trên số lượng số đã điền sẵn trong bảng Sudoku và độ khó trong việc giải câu đố • Cấp độ dễ: Các câu đố Sudoku cấp độ dễ thường có nhiều số điền sẵn, tạo điều kiện thuận lợi cho người chơi bắt đầu và suy luận Điều này giúp người chơi dễ dàng điền các số còn thiếu và hoàn thành câu đố một cách nhanh chóng, cấp độ dễ thích hợp cho người mới bắt đầu và là nơi tập trung vào các quỵ tắc Sudoku cơ bản • Cấp độ hung bình: Các câu đố Sudoku cấp độ trung bình có số lượng số điền sẵn trung bình, đòi hỏi người chơi phải áp dụng các quỵ tắc Sudoku cơ bản và mở rộng phạm vi suy luận Trong câu đố này, có một số xung đột nhỏ và các số còn thiếu có thể gây ra khó khăn trong việc giải, cấp độ hung bình thách thức hơn và là nơi người chơi có thể rèn luyện kỹ năng suy luận và giải quyết vấn đề • Cấp độ khó: Các câu đố Sudoku cấp độ khó có số lượng số điền sẵn ít, yêu cầu người chơi có kiên nhẫn và kỹ năng giải quyết vấn đề cao hơn để đối phó với sự phức tạp này Trong câu đố khó, có nhiều xung đột và các số còn thiếu rất ít thông tin dẫn dắt Giải các câu đố khó đòi hỏi sử dụng các kỹ thuật tiên tiến, suy luận sáng tạo và thậm chí thử nghiệm từng bước một để tìm ra lời giải chính xác cấp độ khó là nơi người chơi có thể thách thức và nâng cao kình độ Sudoku của mình Những cấp độ này cung cấp những trải nghiệm khác nhau và thích hợp cho mọi người từ người mới chơi đến những người chơi có kinh nghiệm và yêu thích những thách thức Sudoku đa dạng Trong AI, giải thuật phổ biến nhất được sử dụng để giải quyết các câu đố này là giải thuật tìm kiếm quay lui (Backtracking Algorithm) 1.2 Giải thuật quay lui Giải thuật quay lui (Backtracking) là một phương pháp giải quyết các vấn đề tìm kiếm và thử nghiệm trong lĩnh vực kí tuệ nhân tạo và thuật toán Backtracking là một biến thể khác của tìm kiếm theo chiều sâu (DFS) [5]; nó được sử dụng để tìm ra tất cả các giải pháp hoặc tìm ra một giải pháp duy nhất cho các vấn đề mà việc thử tất cả các khả năng bằng vét cạn là quá tốn kém Phương pháp backtracking hoạt động theo nguyên tắc "thử và lùi" (Trial and Error) Nó tìm kiếm qua tất cả các khả năng kong không gian tìm kiếm bằng cách thử từng giá trị cho các biến và tiếp tục đi sâu vào mỗi khả năng cho đến khi tìm ra giải pháp hoặc gặp ràng buộc không thỏa mãn Khi ràng buộc không thỏa mãn, thuật toán quay lại (lùi) và thử các khả năng khác Bảng 1: Ưu, nhược điểm của giải thuật quay lui [6] Ưu điếm Nhược điếm • Quay lui có bản chất đánh giá tất cả, thử • Khi so sánh với cách loại khác, nó khá là tất cả các tổ hợp để tìm ra một lời giải chậm • Các vấn đề của backtracking rất trực • Tùy thuộc vào dữ liệu của bạn, có thể sử quan khi viết mã dụng quay lui để thực hiện tìm kiếm kỹ lưỡng nhưng cuối cùng không mang lại kết • Cách trình bày từng bước của quay lui quả đáp ứng tiêu chí tìm kiếm rất dễ hiểu • Quay lui là một thuật toán đệ quỵ với chi phí • Có thể dễ dàng tìm thấy và khắc phục tính toán cao, sử dụng nhiều bộ nhớ và CPU lỗi mã quay lui • Do việc sử dụng đệ quỵ và lưu trữ ngăn xếp • Mã quay lui sử dụng ít dòng mã hơn cho thông tin chức năng nên có độ phức tạp về không gian cao 1.3 Giải thuật di truyền Giải thuật di truyền (GAs) thuộc họ của thuật toán tiến hóa (Evolutionary Algorithm) Họ thuật toán tiến hóa bao gồm nhiều phương pháp tối ưu hóa dựa trên các quỵ kình tương tự tiến hóa trong tự nhiên, bao gồm giải thuật di truyền, chiến lược tiến hóa, lập kình tiến hóa, và nhiều biến thể khác [7] GAs sử dụng ngôn ngữ máy tính để mô phỏng quá trình tiến hoá của một tập hợp những đại diện trùu tượng (gọi là những nhiễm sắc thể), của các giải pháp có thể (gọi là những cá thể) cho bài toán tối ưu hóa vấn đề 356 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH Tập hợp này sẽ tiến hiển theo hướng chọn lọc những giải pháp tốt hơn Các giải pháp được phát hiển theo thời gian bằng cách sử dụng các toán tử lai ghép, đột biến; quá hình này tạo ra một tập hợp khác của bộ gen được cải tiến Thuật toán sẽ dừng khi hoặc là tìm thấy giải pháp hoặc là điều kiện dừng kết khúc [8] Bảng 2: Ưu, nhược điểm của giải thuật di truyền [9] Ưu điếm Nhược điếm • GAs là một quỵ trình tối ưu hóa linh hoạt, có • Khó dự đoán thời gian hội tụ sẽ mất bao lâu - thể áp dụng rộng rãi tính ngẫu nhiên trong quá trình có nghĩa là điều này có thể rất khác nhau • Có thể tối ưu đồng thời nhiều biện pháp song song (đa mục tiêu) • Bởi vì nó yêu cầu biểu diễn và xử lý hên một quần thể kiểu gen khá lớn, nó có thể tốn kém • Toán tử có thể được tùy chỉnh để tận dụng các về bộ nhớ và tính toán - những vấn đề rất phức quỵ tắc hoặc ràng buộc trong một miền cụ thể tạp có thể không khả thi để cải thiện tốc độ hoặc chất lượng độ hội tụ 2 GIẢI QƯYÉT VẤN ĐÈ Có một số cuộc nghiên cứu đã thực hiện cho việc giải Sudoku sử dụng giải thuật tiến hóa Timo Mantere và Jane Koljionen đến từ Đại học Vassa đã tiếp cận GAs để giải quyết câu đố Sudoku[10]; họ sử dụng GAs với toán tử lai ghép và đột biến đơn giản, song thuật toán thiếu đi sự đa dạng để đạt được kết quả tối ưu Tiến sĩ JohnM Weiss cũng đã sử dụng GAs với biểu diễn n mảng 1-D cho câu đố n*n Ông ấy sử dụng Generational GAs để sản sinh quần thể giải pháp và dùng chiến lược “khởi động lại” trong hường hợp tìm thấy tối ưu cục bộ [ 11] GAs có khả năng giải quyết vấn đề Sudoku ở bộ số 9x9, và hở nên khó khăn hong cấp độ khó hở lên, độ phức tạp sẽ tăng dần theo số ô trống của trò chơi Do đó, hàm mục tiêu là yếu tố để có thể giữ lại cá thể tốt nhất Song, vấn đề Sudoku sẽ phụ thuộc đến giải thuật quay lui Trong bài nghiên cứu, GAs được thiết kế đặc biệt cho câu đố 9x9 do hiệu quả cao mà Backtracking có thể mang lại; mặc dù vậy, cách tiếp cận có thể áp dụng cho dạng Sudoku lớn hơn như 16x16 Mục tiêu chính của nó là có thể giải quyết hiệu quả các cấp độ khác nhau cũng như dạng đề lớn của câu đố Sudoku GAs được sử dụng ở đây là Steady State GA (SSGA) SSGA thực hiện sản sinh ra một cá thể và thay thế nó bằng một cá thể khác trong quần thể hiện tại Điểm nổi bậc trong GA này là sử dụng Backtracking để tạo mẫu thông qua đó có thể tối ưu được cá thể tìm kiếm mới Ngoài ra, một nỗ lực khác giúp đẩy nhanh quá hình tìm kiếm bằng thực hiện song song thông qua sử dụng mô hình quần thể đảo; mô tả chi tiết đã cho bên dưới: 2.1 Đại diện trùn tượng Trong GA, Sudoku được đại diện trừu tượng bằng một cá thể (individual); mỗi cá thể được biểu diễn dưới dạng một nhiễm sắc thể (NST) là một chuỗi gen bao gồm m số lượng gen (m=nA2, n là kích thước của Sudoku) Đối với bài toán nxn, một NST tượng tương cho một giải pháp Sudoku tương ứng; bao gồm n mảng kích thước là n Đại diện cho câu đố Sudoku được đưa ra như sau: © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 357 Hội nghị Khoa học trẻ lần 5 năm 2023(YSC2023)-ỈUH Bảng 3: Đại diện cho cá thể Sudoku 9x9 Mảng Phần tử 1 8 7 6 5 4 3 1 9 2 2 5 4 3 2 1 9 7 6 8 3 2 1 9 8 7 6 4 3 5 4 1 9 8 7 6 5 3 2 4 5 4 3 2 1 9 8 6 5 7 6 7 6 5 4 3 2 9 8 1 7 3 2 1 9 8 7 5 4 6 8 6 5 4 3 2 1 8 7 9 9 9 8 7 6 5 4 2 1 3 Bảng 4: Đại diện cho cá thể Sudoku 16x16 Mảng Phần tử 1 1 6 3 2 5 10 9 8 11 7 12 15 14 13 4 16 2 15 11 4 1 10 16 14 13 9 2 12 3 5 6 7 8 3 13 8 9 12 1 2 4 5 3 16 14 6 15 11 10 7 4 2 14 16 12 11 13 15 10 1 9 3 5 8 4 7 6 5 1 15 11 10 4 5 16 2 13 8 9 12 6 7 14 3 6 12 13 15 7 4 1 5 6 2 3 8 9 14 16 11 10 7 5 2 6 1 12 4 9 8 15 11 10 7 16 14 13 3 8 1 2 3 4 7 10 8 11 6 12 5 14 15 13 16 9 9 10 7 15 11 16 1 2 3 12 13 5 4 8 9 14 6 10 9 8 3 4 7 6 1 5 15 2 12 16 10 13 14 11 11 1 2 4 6 9 13 5 8 7 10 11 12 3 16 14 15 12 16 14 2 3 7 5 10 15 4 6 1 9 11 12 13 8 13 11 10 2 15 3 6 7 16 9 12 13 8 14 1 5 4 14 2 3 12 5 1 4 6 7 16 8 9 13 11 10 15 14 15 1 9 5 3 8 12 13 4 10 6 7 11 2 16 15 14 16 3 16 1 2 10 4 5 7 8 15 6 9 11 13 12 14 2.2 Hàm thích nghi Khi tạo ra một cá thể, cần xác định độ thích nghi cho từng cá thể; độ thích nghi ở đây được hiểu như độ sai sót, phạm lỗi của giải pháp đó đối với bài toán Sudoku Như đã được xác định từ trước, một giải pháp đúng khi và chỉ khi đáp ứng được 3 tiêu chí: • Mỗi cột chứa số từ 1 - n và không trùng lặp • Một hàng chứa so từ 1 - n và không trùng lặp • Mỗi khối À1 X G1 chứa số từ 1 - n và không trùng lặp Đối với riêng giải thuật GA, vì cá thể khi tạo ra với ràng buộc phải chứa số từ 1- n ở từng hàng, nên độ thích nghi cá thể được tính bằng cách duyệt qua 2 điều kiện còn lại: • Thêm số điểm phạm lỗi tương ứng với so lần lặp hơn 1 trong mỗi cột và cũng như thêm 1 điểm đối với so chưa từng xuất hiện trước đó trong cột • Thêm số điểm phạm lỗi tương ứng với số lần lặp hon 1 trong mỗi khối và cũng như thêm 1 điểm đối với số chưa từng xuất hiện trước đó trong khối •'/n X Nil Khi sử dụng Backtracking; giải thuật Backtracking tối ưu cao trong vấn đề xử lý Sudoku Backtracking ở đây được dùng để nhận câu do Sudoku và tạo ra một mẫu lý tưởng để từ đó có thể tính điểm vi phạm cho các cá thể được sinh ra - đẩy mạnh quá trình tìm kiếm cũng như giữ lại cá thể trội Độ thích nghi được tính như sau: • Backtracking thực hiện nhận câu đo và tiến hành giải mã cho ra mẫu đáp án hoàn chỉnh 358 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH • Tương ứng với mỗi giá trị ô trống trong cá thể, tăng lên 1 điểm đối với giá trị trong ô tương ứng không khớp với mẫu đã cho Một khi GA tìm thấy cá thể có độ thích nghi 0 - không có điểm vi phạm thì nhiệm vụ tìm kiếm giải pháp của giải thuật là kết thúc 2.3 Khỏi tạo Kích thước của quần thể cho giải thuật GA này là 1000 cá thể tại mỗi đảo Mỗi cá thể được khởi tạo bằng cách ngẫu nhiên sao cho tại mỗi đoạn gen đều chứa số từ 1 - n Ngoài ra, các số cố định trong bài toán (đề bài) bắt buộc giữ cố định và không thể di chuyển ra khỏi vị trí ban đầu; khởi tạo quần thể cũng quan tâm đến ràng buộc này vì đây là điều hiển nhiên 2.4 Lai ghép Toán tử lai ghép sử dụng 2 hoặc nhiều hơn số cha mẹ để thực hiện tạo ra một hay hai cá thể con, song trong nghiên cứu này, chúng tôi chỉ chọn ra 2 cá thể cha mẹ để tiến hành tạo ra 2 cá thể mới sau mỗi lần lai ghép Bên cạnh đó, sẽ giữ lại một cá thể con duy nhất để tham gia vào quá trình tiến hóa tiếp theo; cá thể con được chọn là cá thể có độ thích nghi cao hơn cá thể con còn lại sau quá trình lai ghép, bất kể cá thể đó có đột biến hay không Cá thể mới được tạo ra thông qua toán tử lai ghép, mỗi dòng được áp dụng một cách tách biệt Cá thể chỉ tổ hợp lại với cùng một hàng theo thứ tự ban đầu Toán tử lai ghép được sử dụng trong GA này là lai ghép PMC (Partial Mapped Crossover) [12] Quá trình này được thực hiện qua các bước sau: 1) Chọn ngẫu nhiên hai điểm cắt trên cá thể cha mẹ 2) Sao chép nội dung giữa hai điểm cắt từ cá thể cha sang cá thể con 1, và từ cá thể mẹ sang cá thể con 2 ’ 3) Đối với các vị trí còn lại, kiểm tra sự trùng lặp giữa các phần được sao chép Neu có thực hiện quá trình háo đổi để đảm bảo rằng không có sự hùng lặp xảy ra 4) Đưa ra hai cá thể con mới sau khi hoàn thành lai ghép 2.5 Đột biến Toán tử đột biến thay đổi hay hoán vị vị trí giá trị trong NST để hở thành một cá thể mới khác Trong GA này tổng cộng có 2 phương pháp đột biến thông dụng trong thuật toán di truyền Các phương pháp đột biến được đề cập bên dưới: • Đột biến hoán vị (Swap Mutation [13]): một số gen được chọn ngẫu nhiên hong cá thể và sau đó hoán đổi vị hí với nhau Điều này có nghĩa là các giá trị gen sẽ được đổi chỗ với nhau một cách ngẫu nhiên, ngoại trừ các giá trị cố định Đột biến này được áp dụng cho một cá thể, tất cả các hàng của cá thể có tỉ lệ áp dụng với loại đột biến này một cách riêng biệt • Đột biến xáo trộn (Scramble Mutation [14]): một đoạn gen liên tiếp hong cá thể được chọn ngẫu nhiên và sau đó xáo hộn vị trí của các giá trị gen một cách ngẫu nhiên, ngoại trừ các giá hị cố định Đột biến này được áp dụng cho một cá thể, tất cả các hàng của cá thể có tỉ lệ áp dụng với loại đột biến này một cách riêng biệt 2.6 Độ đa dạng của quần thể Vấn đề đa dạng - duy trì sự đa dạng quần thể khỏe mạnh, có liên quan chặt chẽ đến việc đạt được hạng thái cân bằng hợp lý giữa thăm dò và khai thác [15] Quần thể càng đa dạng giúp tăng không gian tìm kiếm giải pháp và giảm thiểu tình hạng rơi vào tối ưu hóa cục bộ Trong nghiên cứu này, độ đa dạng của quần thể được áp dụng cho quần thể riêng biệt Độ đa dạng của quần thể được xác định thông qua độ thích các cá thể trong quần thể ứng với trên 1/3 số lượng cá thể có cùng một điểm thích nghi, quần thể sẽ được gọi là kém đa dạng và cần tiến hành các toán tử đặc biệt cải thiện độ đa dạng của quần thể 2.7 Chọn lọc cha mẹ Chọn lọc cha mẹ - chọn hai cá thể trong quần thể để tham gia quá hình lai ghép và đột biến để tạo ra cá thể con thay thế cho một cá thể trong quần thể hiện tại Chọn lọc cha mẹ được thực hiện theo phương pháp dựa hên độ đa dạng của quần thể tại thời điểm đó; quá trình chọn lọc được đề cập bên dưới: © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 359 Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH • Chọn lọc xếp hạng định rõ (Tournament Selection - TS [16]): được sử dụng để chọn ra các cá thể tốt nhất trong một nhóm con nhỏ từ quần thể ban đầu Trong nghiên cứu này, TS được thực hiện khi quần thể đa dạng; trong quá trình thực hiện sẽ chọn ra 1 nhóm gồm 4 cá thể ngẫu nhiên từ quần thể hiện tại, từ 4 cá thể này tiếp tục chọn ra 2 cá thể có độ thích nghi cao hơn để làm cá thể cha mẹ • Chọn lọc ngẫu nhiên (Random Selection - RS [16]): là toán tử chọn lọc đơn giản nhất trong các phương pháp chọn lọc, tại đây mỗi cá thể đều có cùng một xác suất được lựa chọn là 1/n Trong nghiên cứu này, RS sẽ thực hiện chọn lọc ngẫu nhiên 2 cá thể từ quần thể ban đầu để làm cá thể cha mẹ, việc thực hiện RS dựa trên độ đa dạng của quần thể là kém đa dạng 2.8 Chọn lọc sinh tồn Lựa chọn sinh tồn thực hiện 2 phương pháp để thay thế cá thể trong quần thể cũ bằng cá thể mới được sinh ra Sự thay thế này phản ánh đến cách tiếp cận SSGA, cách tiếp cận bên dưới: • Thay thế cá thể xấu hơn mức hung bình: cá thể được lựa chọn để thay thế với cá thể con bằng cách lựa chọn ngẫu nhiên 1 cá thể trong quần thể cũ với điều kiện độ thích nghi của cá thể kém hơn mức trung bình độ thích nghi của quần thể Sau khi chọn được cá thể, thực hiện thay thế này bằng cá thể con được sinh ra Điều này giúp quần thể dần đẩy nhanh quá trình tối ưu giải pháp Phương pháp này thực hiện khi quần thể đa dạng cao • Thay thế cá thể ngẫu nhiên: khi độ đa dạng của quần thể kém, một phương pháp thay thế được thực thi; chọn ngẫu nhiên ra một cá thể trong quần thể [9], sau đó thay thế cá thể này bằng cá thể con được sinh ra 2.9 Xác suất lai ghép và đột biến Xác suất để thực hiện quá hình lai ghép và đột biến như sau: P(crossover) - Pc = 0.9; P(mutation) - Pm = 0.1, Pc 0.9 tức là trong quá trình lai ghép, 2 cá thể cha mẹ có tỉ lệ tạo ra 2 cá thể mới là 90% cơ hội; nếu rơi vào 10% còn lại, cá thể cha hoặc mẹ có độ thích nghi cao hơn sẽ được chọn làm cá thể con Trong khi đó Pm mặc định là 0.1, ứng với cá thể mới sau quá hình lai ghép có cơ hội 10% đột biến; ngoài ra, nếu độ đa dạng của quần thể đảo hiện tại kém đa dạng Pm sẽ được đẩy lên 90% tạo ra không gian tìm kiếm mới Tỉ lệ lựa chọn phương pháp đột biến trong 2 phương pháp là 50% 2.10 Mô hình đảo Quần thể lớn ban đầu được chia thành một số quần thể nhỏ nhất định, được gọi là “đảo”, được gọi một cách tổng thể là “mô hình đảo” trong GA [ 17] Mô hình đảo chuyển đổi GA thành một không gian có thể phân tách tuyến tính, làm giảm đáng kể thời gian tính toán Các tham số quan trọng nhất của các mô hình đảo là khoảng thời gian di chuyển và quỵ mô di cư Tại một khoảng thời gian đều đặn trong quá hình thực thi, các đảo trao đổi cá thể của chúng với nhau, đó là khoảng thời gian di chuyển; trong khi số lượng cá thể hao đổi được gọi là kích thước di chuyển Trong nghiên cứu này, khoảng cách di cư là 1/6 kích thước quần thể, tương ứng với 6 đảo hong mô hình Trên mỗi 2 lần chu kỳ nhỏ của đảo, các cá thể tại mỗi đảo sẽ hao đổi với nhau theo hình thức: lựa chọn cá thể kém nhất ở đảo A và thay thế nó bằng cá thể ngẫu nhiên của đảo B 360 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH Hình 4: Mô hình đảo, GA song song với mô hình đảo [18] Tại mỗi đảo, quá trình tiến hóa được thực hiện một cách độc lập với nhau Các đao chỉ trao đồi cá thể qua lại với nhau ở chu kỳ nhất định 2.11 Điều kiện dừng Trong thực nghiệm GA này, đỉều kiện để dựng quá trình tiến hóa khi và chỉ khi tim ra giải pháp đúng - tức cá thể có 0 điểm vi phạm hay độ thích nghi bằng 0 (điểm vi phạm càng nhỏ, độ thích nghi càng nhỏ, khả năng cho ra giải pháp đúng càng cao), hoặc kết thúc vòng lặp tiến hóa, vòng lặp mặc định là 50.000 thế hệ đối với cấp độ dễ và trung bình, 300000 thế hệ đối với cấp độ khó 3 THỰC NGHIỆM 3.1 Thực nghiệm với giải thuật GAs đa dạng hoá quần the Trong nghiên cứu này, chúng tôi đã sử dụng Giải thuật GAs đa dạng hóa quần thể và tiến hành 20 lần thực nghiệm trên các bộ đề Sudoku 9x9 với ba cấp độ khó khác nhau: dễ, trung bình và khó Kết quả cho thấy giải thuật GAs khá hiệu quả với các bộ đề cấp độ dễ, nhưng có hạn chế đối với các bộ đề cấp độ trung bình và đặc biệt là cấp độ khó © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 361 Hội nghị Khoa học trẻ lần 5 năm 2023(YSC2023)-IUH Hình 5: Sơ đồ triển khai giải thuật di truyền đa dạng hóa quần thể 362 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh Hội nghị Khoa học trẻ lân 5 năm 2023(YSC2023)-ỈUH Bảng 5: Minh họa cho 1 số ví dụ chạy ô số Sudoku 9x9 với giải thuật Gas đa dạng hóa quần thể Sudoku 9x9 câp độ dê (38/81) Giá trị thích nghi Vị tri cá Thời gian Sudoku 9x9 cấp độ trung bình (30/81) thề tốt thực hiện Lẩn Thể hệ Cá thế xấu Cá thệ tồt Đao xuất nhát Sudoku 9x9 cấp độ khó (25/81) Test nhẫt nhẩt hiên (giây) 1 4772 60 0 3 677 1000 5 95 59 0 2 5005 59 0 4 840; 1000 3.83 62 0 3 5223 84 0 > 315/1000 3.61 76 0 4 4944 50 0 4 431.1000 3.483 62 0 5 5224 59 0 2 260.1000 3.112 50 0 6 4944 57 0 4 920.1000 2.925 60 0 7 5779

Ngày đăng: 10/03/2024, 08:12

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

Tài liệu liên quan