Saya ingin tahu (terkait dengan pertanyaan lain ini ) apakah batas bawah diketahui untuk masalah pengujian berikut: seseorang diberi akses permintaan ke urutan nomor non-negatif dan , dengan janji bahwa atau .
Berapa banyak query (pencarian) yang cukup dan diperlukan untuk (adaptif) algoritma acak untuk membedakan antara dua kasus, dengan probabilitas setidaknya ?
Saya telah menemukan posting sebelumnya yang memberikan batas atas logaritmik (dalam ) untuk masalah terkait perkiraan jumlah, dan kira-kira pencocokan batas bawah pada masalah itu untuk algoritma deterministik; tetapi tidak dapat menemukan hasil untuk masalah spesifik yang saya pertimbangkan (khususnya, algoritma acak).
Sunting: Mengikuti jawaban di bawah ini, saya kira saya seharusnya lebih jelas: di atas (dan khususnya dalam asimptotik untuk batas bawah), adalah kuantitas "utama" yang terlihat sebagai tak terhingga, sedangkan adalah (sewenang-wenang kecil) ) konstan.
Jawaban:
Inilah batas bawah yang bisa saya tunjukkan. Aku dugaan bahwa untuk tetap , hak batas bawah adalah Ω ( log n ) , tapi tentu saja aku mungkin salah.ϵ Ω(logn)
Saya akan menggunakan urutan menurun (hanya untuk kenyamanan). Mekanisme dasarnya adalah memecah urutan menjadi blok Dalam blok ke- i akan ada elemen n i (yaitu, β i n i = n ).L i ni ∑ini=n
Berikut ini, kami ingin algoritma berhasil dengan probabilitas , untuk beberapa parameter δ > 0 .≥1−δ δ>0
Batas bawah pertama: .Ω(1ϵlog1δ)
The blok th memiliki n i = 2 i - 1 elemen, sehingga L = lg n . Kami menetapkan nilai semua elemen di blok ke - i menjadi ( 1 + X i ) / ( 2 n i L ) , di mana X i adalah variabel yang bernilai 0 atau 1 . Jelas, jumlah total urutan ini adalah α = L Σ i = 1 1 + Xi ni=2i−1 L=lgn i (1+Xi)/(2niL) Xi 0 1
Bayangkan memilih setiapXidengan probabilitasβmenjadi1dan0sebaliknya. Untuk memperkirakanα, kita membutuhkan estimasiβ yangandal. Dalam partikulat, kami ingin dapat membedakan basisβ=1-4ϵdan, katakanlah,β=1.
Sekarang, bayangkan sampel dari variabel-variabel acak, dan biarkan Z 1 , ... , Z m menjadi variabel sampel. Pengaturan Y = ∑ m i = 1 ( 1 - X i ) (perhatikan, bahwa kami mengambil jumlah variabel komplemen ), kami memiliki μ = E [ Y ] = ( 1 - β ) m , dan ketidaksamaan Chernoff memberi tahu kami bahwa jika β = 1 - 4m Z1,…,Zm Y=∑mi=1(1−Xi) μ=E[Y]=(1−β)m , maka μ = 4 ε m , dan probabilitas kegagalan adalah
P [ Y ≤ 2 ε m ] = P [ Y ≤ ( 1 - 1 / 2 ) μ ] ≤ exp ( - μ ( 1 / 2 ) 2 / 2 ) = exp ( - ϵ m / 2 ) .
Untuk membuat jumlah ini lebih kecil dariβ=1−4ϵ μ=4ϵm
Pengamatan utama adalah bahwa ketimpangan Chernoff ketat (kita harus hati-hati, karena tidak benar untuk semua parameter, tetapi itu benar dalam hal ini), sehingga Anda tidak dapat melakukan lebih baik dari itu (hingga konstanta).
Batas bawah kedua: .Ω(logn/loglogn)
Mengatur th ukuran blok menjadi n i = L i , di mana L = Θ ( log n / log log n ) adalah jumlah blok. Elemen dalam blok ke- i memiliki nilai α i = ( 1 / L ) / n i . Jadi jumlah total nilai dalam urutan adalah 1 .i ni=Li L=Θ(logn/loglogn) i αi=(1/L)/ni 1
Sekarang, kita mungkin memutuskan untuk memilih blok arbitrer, katakan yang , dan set semua nilai dalam bloknya menjadi α j - 1 = L α j (bukan α j ). Ini meningkat kontribusi dari j th blok dari 1 / L untuk 1 , dan meningkatkan massa total urutan ke (hampir) 2 .j αj−1=Lαj αj j 1/L 1 2
Sekarang, secara informal, algoritma acak apa pun harus memeriksa nilai di masing-masing blok. Karena itu, ia harus membaca setidaknya nilai dari urutan.L
Untuk membuat argumen di atas lebih formal, dengan probabilitas , memberikan urutan asli dari massa 1 sebagai input (kita sebut ini sebagai masukan asli). Jika tidak, pilih secara acak blok yang memiliki nilai tambah (input yang dimodifikasi). Jelas, jika algoritma acak membaca kurang dari, katakanlah, L / 8 entri, ia memiliki probabilitas (kira-kira) 1 / 8 untuk mendeteksi input dimodifikasi. Dengan demikian, probabilitas algoritma ini gagal, jika membaca kurang dari entri L / 8 setidaknya ( 1 - p ) ( 7 /p=1/2 1 L/8 1/8 L/8
PS Saya pikir dengan lebih berhati-hati tentang parameter, batas bawah pertama dapat ditingkatkan menjadi .Ω(1/ϵ2)
sumber
Batas bawah
Sekarang buat urutan barua′1,…,a′n ϵ a′1=a1 a′2=a2 a′i=ai−ϵ a′1+⋯+a′n=1−ϵ
Batas atas
Sekarang, kami akan memperkirakan jumlah nilai di setiap rentang. Rentang pertama akan ditangani secara terpisah dari yang lainnya:
sumber