Đặt là một hàm khá đẹp (ví dụ: liên tục, khác biệt, không quá nhiều cực đại cục bộ, có thể lõm, v.v.). Tôi muốn tìm một cực đại của : một giá trị làm cho càng lớn càng tốt.
Nếu tôi có một quy trình để đánh giá chính xác về bất kỳ đầu vào nào tôi chọn, tôi có thể sử dụng các kỹ thuật tối ưu hóa toán học tiêu chuẩn : leo đồi, giảm độ dốc (tốt, tăng độ dốc), v.v. Tuy nhiên, trong ứng dụng của tôi, tôi không có cách đánh giá chính xác. Thay vào đó, tôi có một cách để ước tính giá trị của .
Đặc biệt, đưa ra bất kỳ và bất kỳ ε , tôi có một lời sấm rằng ý chí sản lượng ước tính của f ( x ) , và có lỗi dự kiến là khoảng ε . Thời gian chạy của lời gọi tiên tri này tỷ lệ với 1 / ε 2 . (Nó được thực hiện bằng một loại mô phỏng; độ chính xác của mô phỏng tăng theo căn bậc hai của số lượng thử nghiệm và tôi có thể chọn số lượng thử nghiệm để chạy, vì vậy tôi có thể chọn độ chính xác mong muốn.) Vì vậy, điều này mang lại cho tôi cách để có được ước tính về bất kỳ độ chính xác nào tôi mong muốn, nhưng tôi muốn ước tính càng chính xác thì càng mất nhiều thời gian.
Với lời tiên tri ồn ào này cho , có kỹ thuật nào để tính toán cực đại của f hiệu quả nhất có thể không? (Hoặc, chính xác hơn là tìm một cực đại gần đúng.) Có các biến thể của leo đồi, hạ độ dốc, v.v., có hoạt động trong mô hình này không?
Tất nhiên, tôi có thể sửa chữa một giá trị rất nhỏ của và áp dụng đồi leo núi hoặc gradient descent với oracle này, giữ cùng ε trong suốt. Tuy nhiên, điều này có thể không hiệu quả một cách không cần thiết: chúng tôi có thể không cần một ước tính chính xác như vậy ở gần đầu, trong khi độ chính xác gần cuối khi bạn không tham gia vào giải pháp là quan trọng hơn. Vì vậy, có cách nào để tận dụng khả năng của tôi để kiểm soát tính chính xác của ước tính của tôi một cách linh hoạt, để làm cho quá trình tối ưu hóa hiệu quả hơn? Loại vấn đề này đã được nghiên cứu trước đây?