Makalah ini mengklaim bahwa analisis tradisional dari tingkat kesalahan dalam filter Bloom tidak benar, kemudian memberikan analisis yang panjang dan nontrivial dari tingkat kesalahan aktual. Makalah tertaut diterbitkan pada 2010, namun saya telah melihat analisis tradisional filter Bloom terus diajarkan dalam berbagai algoritma dan kursus struktur data.
Apakah analisis tradisional terhadap filter Bloom memang salah?
Analisis tradisional baik-baik saja. Analisis "tradisional" adalah, jika dijelaskan dengan benar, perkiraan; ini didasarkan pada penghitungan jumlah sel yang diharapkan yang 0/1 ketika Anda hash kunci ke filter, dan kemudian menganalisis seolah-olah itu adalah jumlah aktual. Intinya adalah bahwa jumlah sel yang 0 (atau 1) terkonsentrasi ketat di sekitar harapan mereka, jadi ini perkiraan yang baik. Ini sudah terkenal, dan saya kira bisa ditemukan di artikel survei saya bersama Andrei Broder.
Makalah ini mengatakan bahwa sesungguhnya kinerja filter Bloom adalah variabel acak (sesuai dengan fraksi aktual dari 0/1 entri), dan jika Anda ingin menghitung kinerja itu dengan alasan tertentu, Anda perlu melakukan kombinatorik. Untuk filter yang lebih kecil, Anda akan melihat perbedaan yang tidak sepele.
Saya sudah bicara dengan penulis makalah ini. Analisis mereka baik-baik saja dan baik (meskipun saya berpendapat bahwa itu tidak dalam atau baru); motivasi mereka bahwa "analisis tradisional salah", saya pikir, dilebih-lebihkan.
Ketertiban sekarang telah dipulihkan ke alam semesta :). Dan selamat datang di cerita sejarah, Michael.
Suresh Venkat
12
Izinkan saya menambah jawaban Michael bahwa untuk filter Bloom terpecah , di mana fungsi hash memiliki rentang terpisah, analisis tradisional memang benar tanpa perkiraan atau batas konsentrasi. Ini karena probabilitas kesalahan untuk fungsi hash yang berbeda menjadi independen daripada berkorelasi. Trade-off space / error untuk filter Bloom terpecah pada dasarnya sama dengan filter Bloom tradisional, jadi saya pikir ini adalah varian yang baik untuk pengajaran.
Izinkan saya menambah jawaban Michael bahwa untuk filter Bloom terpecah , di mana fungsi hash memiliki rentang terpisah, analisis tradisional memang benar tanpa perkiraan atau batas konsentrasi. Ini karena probabilitas kesalahan untuk fungsi hash yang berbeda menjadi independen daripada berkorelasi. Trade-off space / error untuk filter Bloom terpecah pada dasarnya sama dengan filter Bloom tradisional, jadi saya pikir ini adalah varian yang baik untuk pengajaran.
sumber