Ý nghĩa của phương pháp tìm kiếm và phương pháp tối ưu hóa


9

Tôi đã tự hỏi sự khác biệt và mối quan hệ giữa "phương pháp tìm kiếm" và "phương pháp tối ưu hóa" là gì?

Đặc biệt là khi giải quyết một vấn đề tối ưu hóa? Tôi nhấn mạnh bối cảnh giải quyết các vấn đề tối ưu hóa, bởi vì tôi đoán các phương pháp tìm kiếm không chỉ để giải quyết các vấn đề tối ưu hóa, mà còn là các vấn đề không tối ưu hóa?

Sự nhầm lẫn của tôi đến từ các sự kiện sau:

  1. Có một số phương pháp tối ưu hóa, được đặt tên là "tìm kiếm xxx", chẳng hạn như tìm kiếm cục bộ , tìm kiếm ngẫu nhiên , .... "Tìm kiếm" thực sự có nghĩa là gì? Tôi tự hỏi nếu có các phương pháp tối ưu hóa không phải là "tìm kiếm"?
  2. Cũng trong cuốn sách này Giới thiệu về Tìm kiếm và Tối ưu hóa ngẫu nhiên của Spall , tôi hoàn toàn không hiểu sự khác biệt giữa "Tìm kiếm" và "Tối ưu hóa" trong tiêu đề cũng như trong nội dung của nó. Tại sao cần phân biệt giữa "Tìm kiếm" và "Tối ưu hóa", nếu chúng có nghĩa giống nhau? Hoặc "Tối ưu hóa" có nghĩa là các nhiệm vụ / vấn đề tối ưu hóa ngẫu nhiên thay vì các phương pháp tối ưu hóa, trái với "tìm kiếm" có nghĩa là các phương pháp để giải quyết các nhiệm vụ / vấn đề tối ưu hóa?
  3. Ngoài ra Không có bữa ăn trưa miễn phí trong tìm kiếm và tối ưu hóa phân biệt tìm kiếm và tối ưu hóa một lần nữa.

Cảm ơn và trân trọng!

Câu trả lời:


11

search = cố gắng tìm một điểm khả thi thỏa mãn tất cả các ràng buộc (và để tối ưu hóa một điểm tốt hơn so với tìm thấy cho đến nay), thường chỉ sử dụng các giá trị hàm.

tìm kiếm địa phương: cải thiện một điểm khả thi (hoặc khoảng cách đến thước đo khả thi) bằng cách tìm kiếm giữa các điểm lân cận.

tìm kiếm ngẫu nhiên: tìm kiếm bằng cách sử dụng một tiêu chí không xác định để chọn điểm thử nghiệm.

Điều này là độc lập cho dù một tiêu chí tối ưu hóa được đưa ra. Cụ thể, trong '' Không có bữa ăn trưa miễn phí trong tìm kiếm và tối ưu hóa '' đề cập đến tìm kiếm tính khả thi, trong khi tối ưu hóa đề cập đến tìm kiếm sự tối ưu.

Nói chung, đối với vấn đề tối ưu hóa, tìm kiếm và tối ưu hóa là tương đương. Tuy nhiên, chúng có ý nghĩa tạo ra sự khác biệt trong cách sử dụng thuật ngữ này.

phương pháp tối ưu hóa = một phương pháp để giải quyết vấn đề tối ưu hóa, thường (nhưng không nhất thiết) sử dụng thông tin độ dốc (hoặc cấp dưới hoặc thậm chí Hessian).

Có thể sử dụng gradient mạnh mẽ làm tăng hiệu quả của các phương pháp tối ưu hóa. Người ta sử dụng trong ngữ cảnh này (nghĩa là với độ dốc đã biết) cho cụm từ tìm kiếm chỉ trong kết hợp '' tìm kiếm dòng '' có nghĩa là tìm kiếm một điểm tốt hơn theo hướng đã chọn.


Cảm ơn! Vì vậy, đối với các vấn đề tối ưu hóa, (1) Theo nghĩa rộng hơn, tìm kiếm là tương đương với các phương pháp tối ưu hóa. (2) Theo nghĩa hẹp hơn, tìm kiếm "thường chỉ sử dụng các giá trị hàm" có nghĩa là "{phương thức tìm kiếm} = {phương thức tối ưu hóa chỉ sử dụng giá trị hàm} {phương pháp tìm kiếm dòng}"? Có phải "tìm kiếm dòng" là "phương pháp tìm kiếm" duy nhất sử dụng những thứ nằm ngoài các giá trị hàm? Nếu tôi thêm một số nhiễu loạn vào gradient trong phương thức dựa trên độ dốc, phương thức đó có trở thành phương pháp "tìm kiếm ngẫu nhiên" không? Có phải tìm kiếm cục bộ và tìm kiếm ngẫu nhiên đều chỉ sử dụng các giá trị hàm?
Tim

(3) Các phương pháp tìm kiếm theo nghĩa hẹp của nó có phải là siêu hình không?
Tim

@Tim: Một tìm kiếm dòng có thể hoặc không thể sử dụng độ dốc trong tìm kiếm của nó (ví dụ: tìm kiếm dòng Wolfe cần chúng). Bạn không nên gắn với những từ này một ý nghĩa quá chính xác; chúng gợi ý về một cái gì đó, không phải là các khái niệm toán học với ý nghĩa chính xác. - Phương pháp của Newton sử dụng độ dốc và Hessian. - Một phương thức là ngẫu nhiên một khi tìm kiếm liên quan đến một trình tạo số ngẫu nhiên. - tìm kiếm cục bộ có thể được sử dụng theo nghĩa chung của một phương pháp không đảm bảo hội tụ đến mức tối ưu toàn cầu, hoặc có nghĩa là tìm kiếm trực tiếp chỉ dựa trên việc kiểm tra các vùng lân cận địa phương của điểm tốt nhất hiện tại.
Arnold Neumaier

Một siêu hình phải chứa các nguyên tắc cụ thể hơn là "tìm kiếm địa phương" để xứng đáng với danh hiệu của nó; Tôi chưa bao giờ nghe nó áp dụng điều này nói chung. Nhưng thuật ngữ này không chính xác lắm
Arnold Neumaier

4

Sự khác biệt về thuật ngữ giữa "tìm kiếm" và "tối ưu hóa" xuất phát từ thực tế là tìm kiếm đề cập đến quá trình tìm sao cho với một chúng ta có , tức là chúng tôi tìm kiếm một root. Để tối ưu hóa, chúng tôi muốn tìm một sao cho . Ít nhất nếu trơn tru, thì việc tìm tối thiểu này thường được chuyển đổi thành vấn đề tìm root cho . Nói cách khác, thuật ngữ "tìm kiếm" xuất phát từ một vấn đề chung hơn, nhưng đối với các vấn đề tối ưu hóa, những thứ liên quan đến tối ưu hóa thường được giảm xuống thành những thứ liên quan đến tìm kiếm.xg(x)g(x)=0xf(x)min!fg(x)=f(x)


Tìm kiếm thường được áp dụng cho các hệ phương trình và bất đẳng thức. Cụ thể, trong trường hợp tối ưu hóa, người ta tìm kiếm một giải pháp . Nhưng các phương pháp tìm kiếm trực tiếp trong tối ưu hóa không có quyền truy cập vào do đó không thể đơn giản áp dụng thuật toán tìm kiếm cho tập các ràng buộc này. g(x)=0,f(x)fbestg(x)
Arnold Neumaier
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.