Pertimbangkan masalah berikut.
Ada nilai yang tidak diketahui . Tugasnya adalah menemukan indeks yang terbesar hanya menggunakan kueri dari formulir berikut. Kueri ditentukan oleh himpunan dan jawaban yang sesuai adalah . Tujuannya adalah menggunakan pertanyaan sesedikit mungkin.
Masalah ini mudah: Kita dapat menggunakan pencarian biner untuk menemukan argmax dengan kueri . yaitu Membangun pohon biner lengkap dengan daun sesuai dengan indeks. Mulai dari akar dan berjalan ke daun sebagai berikut. Di setiap node, kueri nilai maksimum di subtree kanan dan kiri dan kemudian pindah ke anak di samping dengan jawaban yang lebih besar. Setelah mencapai daun, output indeksnya.
Versi berisik berikut dari masalah ini telah muncul dalam penelitian saya.
Ada nilai yang tidak diketahui . Ini dapat diakses dengan kueri di mana set ditentukan dan sampel dari dikembalikan. Tujuannya adalah untuk mengidentifikasi i ∗ ∈ { 1 , ⋯ , n } sedemikian rupa sehingga E [ v i ∗ ] ≥ max i v i - 1 menggunakan pertanyaan sesedikit mungkin. (Harapannya lebih dari pilihan i ∗ v 1 , ⋯ , v n S ⊆ { 1 , ⋯ , n } N ( maks i ∈ S v i , 1 ), yang bergantung pada koin algoritme dan jawaban kueri berisik.)
Misalkan kita mencoba menyelesaikan ini menggunakan strategi pencarian biner yang sama seperti sebelumnya (tetapi dengan jawaban yang berisik). Cukup mudah untuk menunjukkan bahwa ini mencapai dan ini ketat dalam kasus terburuk. Kita dapat mengurangi kesalahan ke 1 yang diinginkan dengan mengulangi setiap permintaan O ( log 2 n ) kali dan menggunakan rata-rata (yang menurunkan varians). Ini memberikan algoritma menggunakan kueri O ( log 3 n ) .
Apakah ada algoritma yang lebih baik? Saya menduga bahwa query sudah cukup. Dan saya percaya saya bisa membuktikan batas bawah Ω ( log 2 n ) . Juga, masalahnya menjadi mudah - yaitu ˜ O ( log n ) permintaan melalui pencarian biner - dengan janji bahwa ada Ω ( 1 ) kesenjangan antara nilai terbesar dan nilai terbesar kedua. Jika ini membantu, Anda dapat mengasumsikan semua nilai berada di antara 0 dan O ( log n ) .
sumber
Jawaban:
Komentar yang diperluas dari satu atau dua ide menuju batas bawah. Misalkan , katakan (meskipun pilihan terbaik mungkin berbeda), dan biarkan { v 1 , ... , v n } = { 1B = Θ ( logn ) . Pertimbangkan untuk menggambar input dengan memilih permutasi nilai-nilai ini secara seragam secara acak.{ v1, ... , vn} = { 1nB , … , n - 1nB , B }
Idenya adalah bahwa jika kita memperbaiki indeks semua nilai kecuali untuk nilai dan n - 1B , maka kita harus dapat menunjukkan perbedaan dalam probabilitas algoritma untuk memilih satu dibandingkan yang lain sangat kecil: Jarak variasi antara hasil permintaan algoritma sangat kecil mengingat distribusi 50-50 pada penugasan ini nilai ke dua indeks yang tersedia dan hasil dari setiap urutan kueri.n - 1nB
Argumen ini berlaku untuk setiap pasangan nilai yang berdekatan, jadi kami mendapatkan rantai kendala pada probabilitas algoritma memilih nilai tertinggi, tertinggi kedua, ... Ini memberikan batas atas pada nilai yang diharapkan dari algoritma, jadi kami menetapkan batas atas ke dan melihat berapa jumlah kueri yang harus.B - 1
Maaf ini setengah matang, tapi semoga bermanfaat!
sumber