Tìm một argmax gần đúng chỉ sử dụng các truy vấn tối đa gần đúng


10

Hãy xem xét vấn đề sau.

giá trị chưa biết v 1 , , v nR . Nhiệm vụ là tìm chỉ mục của cái lớn nhất chỉ sử dụng các truy vấn có dạng sau. Một truy vấn được chỉ định bởi một tập hợp S { 1 , , n } và câu trả lời tương ứng là max i S v i . Mục tiêu là sử dụng càng ít truy vấn càng tốt.nv1,,vnRS{1,,n}maxiSvi

Vấn đề này rất dễ: Chúng ta có thể sử dụng tìm kiếm nhị phân để tìm argmax với các truy vấn . tức là Xây dựng một cây nhị phân hoàn chỉnh với n lá tương ứng với các chỉ số. Bắt đầu từ gốc và đi xuống một chiếc lá như sau. Tại mỗi nút, truy vấn giá trị tối đa ở các cây con bên phải và bên trái và sau đó di chuyển đến con ở bên với câu trả lời lớn hơn. Khi đạt đến một chiếc lá, xuất chỉ số của nó.O(logn)n

Phiên bản ồn ào sau đây của vấn đề này đã xuất hiện trong nghiên cứu của tôi.

giá trị chưa biết v 1 , , v n . Đây có thể được truy cập với các truy vấn trong đó một tập S { 1 , , n } được chỉ định và một mẫu từ N ( max i S v i , 1 ) được trả về. Mục tiêu là xác định i { 1 , , n } sao cho E [ v i ]nv1,,vnS{1,,n}N(maxiSvi,1)i{1,,n} sử dụng càng ít truy vấn càng tốt. (Hi vọng là qua sự lựa chọn của tôi * , mà phụ thuộc vào cả tiền xu của thuật toán và truy vấn câu trả lời ồn ào.)E[vi]maxivi1i

E[vi]maxiviO(logn)1O(log2n)O(log3n)

O(log2n)Ω(log2n)O~(logn)Ω(1)0O(logn)


11/nc20

@daniello Điều đó hoạt động khi có một khoảng cách giữa các giá trị lớn nhất và lớn thứ hai. Các trường hợp chung dường như là khó khăn hơn mặc dù.
Thomas

lưu ý đến bản thân: đọc toàn bộ câu hỏi trước khi bình luận
daniello

Câu trả lời:


1

B=Θ(logn){v1,,vn}={1nB,,n1nB,B}

Bn1nB

B1

logn(logn)2

Bn

Xin lỗi, đây là một nửa nướng, nhưng hy vọng nó có thể hữu ích!


Ω(logn)Ω(log2n)

Ω(log2n)
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.