Những hạn chế của thuật toán leo đồi và làm thế nào để vượt qua chúng?


Câu trả lời:


6

Như @nbro đã nói rằng Hill Leo là một nhóm các thuật toán tìm kiếm địa phương . Vì vậy, khi bạn nói Hill Leo trong câu hỏi tôi đã giả sử bạn đang nói về việc leo đồi tiêu chuẩn. Phiên bản tiêu chuẩn của leo đồi có một số hạn chế và thường bị kẹt trong kịch bản sau:

  • Maxima cục bộ: Thuật toán leo đồi đạt đến vùng lân cận một giá trị tối đa cục bộ, bị kéo về phía đỉnh và bị mắc kẹt ở đó, không có nơi nào khác để đi .
  • Ridges: Đây là các chuỗi cực đại cục bộ , gây khó khăn cho thuật toán điều hướng.
  • Plateaux: Đây là một khu vực không gian nhà nước phẳng . Vì không có khó khăn để đi, thuật toán thường bị lạc trong cao nguyên.

Để giải quyết những vấn đề này, nhiều biến thể của thuật toán leo đồi đã được phát triển. Chúng thường được sử dụng nhất:

  • Stochastic Hill Leo chọn ngẫu nhiên từ các di chuyển lên dốc. Xác suất lựa chọn thay đổi theo độ dốc của di chuyển lên dốc.
  • Leo núi lựa chọn đầu tiên thực hiện một trong những điều trên bằng cách tạo ngẫu nhiên người kế vị cho đến khi tìm thấy một người tốt hơn.
  • Tìm kiếm lại leo đồi ngẫu nhiên từ các bước di chuyển ban đầu được tạo ngẫu nhiên cho đến khi đạt được trạng thái mục tiêu.

Sự thành công của thuật toán leo đồi phụ thuộc vào kiến ​​trúc của cảnh quan không gian nhà nước. Bất cứ khi nào có một vài cực đại và cao nguyên, các biến thể của thuật toán tìm kiếm leo đồi hoạt động rất tốt. Nhưng trong các vấn đề trong thế giới thực, có một cảnh quan trông giống như một gia đình nhím bị phân tán rộng rãi trên sàn phẳng, với những con nhím nhỏ sống trên đầu của mỗi chiếc kim nhím (như được mô tả trong Chương 4 của cuốn sách Trí tuệ nhân tạo: A Cách tiếp cận hiện đại). Các bài toán NP-Hard thường có số cực đại cục bộ theo cấp số nhân bị mắc kẹt.
Các thuật toán đã được phát triển để khắc phục các loại vấn đề này:

  • Kích thích ủ
  • Tìm kiếm chùm tia cục bộ
  • Thuật toán di truyền

Sách tham khảo - Trí tuệ nhân tạo: Cách tiếp cận hiện đại


Có nhiều lựa chọn thay thế có sẵn để khắc phục các vấn đề leo đồi; cụ thể là các nhóm hoán vị, cơ sở dữ liệu mẫu và tìm kiếm dựa trên ngữ pháp. Họ đang sử dụng kiến ​​thức về miền cụ thể để tìm kiếm nhanh hơn trong không gian nhà nước.
Manuel Rodriguez

Có @ManuelRodriguez. Các thuật toán phụ thuộc vào kiến ​​thức về miền cụ thể cho kết quả tuyệt vời. Nhưng tôi đã cố gắng giữ câu trả lời cho các vấn đề chung chung, đề cập đến một vài cách có thể khắc phục những hạn chế của Hill Climb Search.
Ugnes

5

Leo đồi không phải là một thuật toán, mà là một nhóm các thuật toán "tìm kiếm địa phương". Các thuật toán cụ thể thuộc danh mục thuật toán "leo đồi" là 2-opt, 3-opt, 2.5-opt, 4-opt, hoặc, nói chung, bất kỳ N-opt nào. Xem chương 3 của bài báo " Vấn đề nhân viên bán hàng du lịch: Nghiên cứu tình huống về tối ưu hóa cục bộ " (của David S. Johnson và Lyle A. McGeoch) để biết thêm chi tiết về một số thuật toán tìm kiếm địa phương này (áp dụng cho TSP).

Điều khác biệt một thuật toán trong thể loại này với thuật toán khác là "hàm lân cận" mà chúng sử dụng (nói một cách đơn giản, cách chúng tìm các giải pháp lân cận cho một giải pháp nhất định). Lưu ý rằng, trong thực tế, điều này không phải lúc nào cũng đúng: thường các thuật toán này có một số cách triển khai khác nhau.

Hạn chế rõ ràng nhất của các thuật toán leo đồi là do bản chất của chúng, đó là, chúng là các thuật toán tìm kiếm cục bộ. Do đó họ thường chỉ tìm cực đại cục bộ (hoặc cực tiểu). Vì vậy, nếu bất kỳ thuật toán nào trong số các thuật toán này đã hội tụ đến mức tối thiểu cục bộ (hoặc tối đa) và, trong giải pháp hoặc không gian tìm kiếm, gần với giải pháp tìm thấy này, một giải pháp tốt hơn, không có thuật toán nào trong số các thuật toán này có thể tìm thấy giải pháp tốt hơn. Về cơ bản chúng sẽ bị mắc kẹt.

Các thuật toán tìm kiếm địa phương thường không được sử dụng một mình. Chúng được sử dụng như các thường trình con của các thuật toán siêu kinh nghiệm khác, như mô phỏng ủ, tìm kiếm lặp cục bộ hoặc trong bất kỳ thuật toán chống thuộc địa nào. Vì vậy, để khắc phục những hạn chế của chúng, chúng tôi thường không sử dụng chúng một mình, mà chúng tôi sử dụng chúng cùng với các thuật toán khác, có tính chất xác suất và có thể tìm thấy cực tiểu hoặc cực đại toàn cầu (ví dụ: bất kỳ thuật toán chống thuộc địa nào).


Câu trả lời hay (+1)! Bạn có thể giới thiệu một tài nguyên (YouTube, bài đăng trên blog, giấy arxive, sách) để tìm hiểu về các thuật toán chống thuộc địa? Tôi chưa bao giờ nghe về điều đó và muốn có một ý tưởng sơ bộ về họ.
Martin Thoma

1
@MartinThoma Tôi e rằng tôi thực sự không biết về một hướng dẫn rất hay về ACS. Có lẽ bạn có thể bắt đầu với hướng dẫn ngắn gọn sau đây và cách triển khai tương ứng: smartalacticms.com/nature-inspired/swarm/ . Nếu bạn cũng quan tâm đến việc triển khai nghiêm túc hơn, áp dụng cho TSP, thì hãy xem cái này: aco-metaheuristic.org/aco-code , được thực hiện bởi Stützle (và những người khác), một trong những người đóng góp cho sự phát triển của những kỹ thuật này.
nbro

Người hỏi biết, định nghĩa chính thức của leo đồi là gì bởi vì anh ta đã đọc bài viết trên Wikipedia. Câu hỏi đi sâu hơn vào hướng sử dụng nó cho Trí tuệ nhân tạo. Được biết, leo đồi chỉ có thể tìm kiếm trong không gian địa phương, điều này gây khó khăn cho các vấn đề liên quan đến AI. Thông thường, việc tìm kiếm bị kẹt trong một tối ưu cục bộ, điều đó có nghĩa là không thể tìm thấy con đường ngắn nhất trong vấn đề nhân viên bán hàng du lịch.
Manuel Rodriguez

1
@MartinThoma Dù sao, bạn cũng có thể xem qua các tài liệu nghiên cứu. Tôi chỉ có thể nói với bạn một vài nhà nghiên cứu quan trọng: Dorigo (người đầu tiên giới thiệu các kỹ thuật này, AFAIK), Gambardella và Stützle. Nhìn vào giấy tờ của họ. Tôi không chắc chắn cái nào để đề nghị. Ngoài ra, có một cuốn sách dành riêng cho trí thông minh bầy đàn (của Bonabeau), nếu bạn thực sự muốn đi sâu vào chi tiết.
nbro
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.