21/01/2021
MỘT SỐ KỸ THUẬT THƯỜNG DÙNG TRONG GIẢI THUẬT TÌM KIẾM
Hiện nay, các giải thuật tìm kiếm dùng trong tối ưu hóa tham số rất đa dạng về số lượng và hình thức.
Nhìn chung, đối với các thuật toán tìm kiếm theo mô hình quần thể (population-based algorithms), ta sẽ duy trì N cá thể và thực hiện tìm kiếm qua M vòng. Qua mỗi vòng, các cá thể (tức là các bộ nghiệm khả dĩ cho bài toán) sẽ được cập nhật sao cho giá trị hàm mục tiêu sẽ có xu hướng giảm dần (đối với bài toán tối thiểu hóa – hoặc ngược lại, đối với bài toán tối đa hóa thì giá trị hàm mục tiêu có xu hướng tăng dần). Có hai tác vụ chính: tìm kiếm cục bộ (local search) và tìm kiếm toàn cục (global search). Hai tác vụ này cần được thực hiện nhịp nhàng. Tìm kiếm cục bộ tốt sẽ giúp nhanh chóng tiến gần đến cực trị. Tìm kiếm toàn cục tốt sẽ giúp thuật toán nâng cao khả năng tránh được trường hợp rơi vào cực trị địa phương.
Bài viết này không nhằm đi sâu vào một giải thuật cụ thể nào mà chỉ giới thiệu một số kỹ thuật thường được dùng trong các giải thuật tìm kiếm.
1. Khai thác lời giải tốt nhất đang có
Rất nhiều giải thuật sử dụng kỹ thuật này như Particle Swarm Algorithm (PSO) [1], Gravitational Search Algorithm (GSA) [2], Black Hole Algorithm (BHO) [3], Jaya Algorithm (JA) [4], Grey Wolf Optimization (GWO) [5], Salp Swarm Algorithm (SSA) [6], Jellyfish Search (JS) [7], v.v… Việc cập nhật các cá thể dựa trên lời giải tốt nhất đang có cho phép nhanh chóng tiến tới cực trị. Tuy nhiên điều này đồng thời làm giảm sự đa dạng trong quần thể. Việc tụ lại quanh một khu vực hẹp trong không gian tìm kiếm cũng có nghĩa là dễ rơi vào cực trị địa phương. Do đó khi sử dụng kỹ thuật này, thường sẽ phải kèm thêm một xác suất cho phép cá thể thay vì tiến tới một vị trí xung quanh lời giải tốt nhất thì sẽ chọn đi ra xa để tiếp cận khu vực khác trong không gian tìm kiếm.
2. Elitism
Chỉ những cá thể tốt nhất mới được giữ lại qua thế hệ (vòng) tiếp theo. Việc này nhằm đảm bảo rằng quần thể ở vòng sau nói chung sẽ “tốt” hơn quần thể ở vòng trước. Kỹ thuật này đã được giới thiệu trong thuật toán di truyền cổ điển (Genetic Algorithm – GA) [8] và vẫn tiếp tục được sử dụng để cải thiện khả năng tìm kiếm của các giải thuật mới hiện nay.
3. Opposition-based learning
Đây là một kỹ thuật trong machine learning và được mượn vào các giải thuật tìm kiếm. Có thể hình dung đơn giản trên không gian một chiều (đoạn thẳng) như sau: nếu điểm X đang xét ở xa vị trí cần tìm thì điểm X’ đối xứng của X qua trung điểm của đoạn thẳng sẽ nằm gần vị trí cần tìm hơn. Phát triển ý tưởng từ không gian môt chiều sang không gian đa chiều sẽ phức tạp hơn rất nhiều. Bạn có thể tìm đọc thêm ở các tài liệu [9, 10].
Trên đây là một số kỹ thuật thường thấy trong các giải thuật tìm kiếm. Trong các tài liệu có thể trình bày thêm những kỹ thuật khác. Một giải thuật tìm kiếm có thể sử dụng một kiểu biến thể của một/một vài kỹ thuật, không nhất thiết sử dụng tất cả các kỹ thuật.
Tài liệu tham khảo
[1] J. Kennedy, R. Eberhart (1995). Particle Swarm Optimization. IEEE conferences. DOI: 10.1109/ICNN.1995.488968
[2] E. Rashedi, H. Nezamabadi-pour, S. Saryazdi (2009). GSA: A Gravitational Search Algorithm. Information Sciences 179 (13): 2232-2248.
[3] A. Hatamlou (2013). Black hole: a new heuristic optimization approach for data clustering. Information Sciences 222: 175-184.
[4] R. V. Rao (2016). Jaya: A simple and new optimization algorithm for solving constrained and unconstrained optimization problems. International Journal of Industrial Engineering Computations 7 (1):19-34.
[5] S. Mirjalili, S. M. Mirjalili, A. Lewis (2014). Grey Wolf Optimizer. Advances in Engineering Software 69: 46-61.
[6] S. Mirjalili, A. H. Gandomi, S. Z. Mirjalili, S. Saremi, H. Farris, S. M. Mirjalili (2017). Salp Swarm Algorithm: A bio-inspired optimizer for engineering design problems. Advances in Engineering Software 114: 163-191
[7] J.-S. Chou, D.-N. Truong (2021). A novel metaheuristic optimizer inspired by behavior of jellyfish in ocean. Applied Mathematics and Computation 389: 125535
[8] M. Mitchell (1996). An Introduction to Genetic Algorithms. Cambridge, MA: MIT Press. ISBN 9780585030944.
[9] S. Mahdavi, S. Rahnamayan, K. Deb (2018). Opposition based learning: A literature review. Swarm and Evolutionary Computation 39: 1-23.
[10] S. Dhargupta, M. Ghosh, S. Mirjalili, R. Sarkar (2020). Selective Opposition based Grey Wolf Optimization 151: 113389