Là phân tích truyền thống của bộ lọc Bloom sai?


17

Bài viết này tuyên bố rằng phân tích truyền thống về tỷ lệ lỗi trong các bộ lọc Bloom là không chính xác, sau đó cung cấp một phân tích dài và không cần thiết về tỷ lệ lỗi thực tế. Bài viết được liên kết đã được xuất bản năm 2010, nhưng tôi đã thấy phân tích truyền thống về các bộ lọc Bloom tiếp tục được dạy trong các khóa học về thuật toán và cấu trúc dữ liệu khác nhau.

Là phân tích truyền thống của bộ lọc Bloom thực sự không chính xác?

Cảm ơn!

Câu trả lời:


36

Các phân tích truyền thống là tốt. Phân tích "truyền thống" là, nếu nó được giải thích chính xác, là một xấp xỉ; dựa trên việc tính toán số lượng ô dự kiến ​​là 0/1 khi bạn băm các khóa vào bộ lọc và sau đó phân tích như thể đó là số thực tế. Vấn đề là số lượng ô là 0 (hoặc 1) tập trung chặt chẽ xung quanh kỳ vọng của chúng, vì vậy đó là một xấp xỉ tốt. Điều này đã được biết đến, và tôi có thể tìm thấy, thậm chí trở lại trong bài viết khảo sát của tôi với Andrei Broder.

Bài viết này nói rằng hiệu suất thực sự của bộ lọc Bloom là một biến ngẫu nhiên (tương ứng với tỷ lệ thực tế của các mục nhập 0/1) và nếu bạn muốn tính chính xác hiệu suất đó vì một số lý do, bạn cần phải thực hiện kết hợp. Đối với các bộ lọc nhỏ hơn, bạn sẽ thấy một sự khác biệt không đáng kể.

Tôi đã nói chuyện với các tác giả của bài viết này. Phân tích của họ là tốt và tốt (mặc dù tôi cho rằng nó không sâu hoặc mới); động lực của họ rằng "phân tích truyền thống là sai", tôi nghĩ, đã phóng đại.


15
Trật tự hiện đã được khôi phục vào vũ trụ :). Và chào mừng đến với cstheory, Michael.
Suresh Venkat

12

Hãy để tôi thêm vào câu trả lời của Michael rằng đối với các bộ lọc Bloom phân tách , trong đó các hàm băm có các phạm vi khác nhau, phân tích truyền thống thực sự chính xác mà không cần xấp xỉ hoặc bất kỳ giới hạn tập trung nào. Điều này là do xác suất lỗi cho các hàm băm khác nhau trở nên độc lập thay vì tương quan. Sự đánh đổi không gian / lỗi cho các bộ lọc Bloom bị phân tách về cơ bản giống như các bộ lọc Bloom truyền thống, vì vậy tôi nghĩ rằng đây là một biến thể tốt cho việc giảng dạy.


2
Điều đó có vẻ giống như ý tưởng giống như bản phác thảo đếm ngược, ngoại trừ với các bộ lọc Bloom.
templatetypedef
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.