Làm thế nào để thực hiện các chi tiết của leo đồi shotgun để làm cho nó hiệu quả?


7

Tôi hiện đang làm việc trên một giải pháp cho một vấn đề mà (sau một chút về nghiên cứu) việc sử dụng một leo đồi, và specificly hơn một shotgun (hoặc ngẫu nhiên khởi động lại ) đồi leo ý tưởng thuật toán có vẻ là phù hợp nhất, như tôi không biết làm thế nào giá trị bắt đầu tốt nhất có thể được tìm thấy.

Nhưng không có nhiều thông tin về loại thuật toán này ngoại trừ ý tưởng thô sơ đằng sau nó:

[Shotgun] leo đồi là một thuật toán meta được xây dựng dựa trên thuật toán leo đồi. Nó lặp đi lặp lại leo đồi, mỗi lần với điều kiện ban đầu ngẫu nhiên . tốt nhất được giữ: nếu một lần leo đồi mới tạo ra tốt hơn trạng thái được lưu trữ, thì nó sẽ thay thế trạng thái được lưu trữ.x0xmxm

Nếu tôi hiểu điều này một cách chính xác, điều này có nghĩa là một cái gì đó như thế này (giả sử tối đa hóa):

x = -infinity;
for ( i = 1 .. N ) {
  x = max(x, hill_climbing(random_solution()));
}
return x;

Nhưng làm thế nào bạn có thể làm điều này thực sự hiệu quả, đó là tốt hơn so với leo đồi bình thường? Thật khó để tin rằng việc sử dụng các giá trị bắt đầu ngẫu nhiên giúp ích rất nhiều, đặc biệt là đối với các không gian tìm kiếm khổng lồ. Chính xác hơn, tôi tự hỏi:

  • Có một chiến lược tốt để chọn (đang triển khai ), đặc biệt là kết quả biết (trung gian) của các lần lặp trước không?x0random_solution
  • Làm thế nào để chọn , đó là cần bao nhiêu lần lặp lại để khá chắc chắn rằng giải pháp hoàn hảo không bị bỏ sót (nhiều)?N

Câu trả lời:


8

Ý tưởng chung đằng sau việc thực hiện nhiều lần leo núi là cố gắng tránh tối ưu cục bộ. Đây là lý do leo shotgun có thể hoạt động tốt hơn so với phương pháp leo đồi thông thường.

Thông thường người ta bắt đầu với một giá trị ngẫu nhiên. Mặt khác, nếu người ta có thể đoán điều gì đó tốt hơn, thì cũng có thể được sử dụng làm giá trị ban đầu. Nếu không có kiến ​​thức về giá trị khởi đầu tốt là gì, thì nên sử dụng ngẫu nhiên.

Giá trị phù hợp cho khác nhau. Thông thường người ta phải xác định một tiêu chí dừng lại. Một tiêu chí phù hợp có thể phụ thuộc vào tên miền cụ thể của bạn. Ví dụ: nếu đối với một số lượng nhỏ di chuyển mà bạn không cải thiện giải pháp của mình, bạn dừng lại. Nói chung, bạn không biết - bạn đang sử dụng phương pháp phỏng đoán và họ không bảo đảm cho bạn. Bạn thậm chí có thể muốn xác định một phù hợp bằng thực nghiệm.NN

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.