✨Bộ lọc Bloom

Bộ lọc Bloom

Bộ lọc Bloom, phát minh bởi Burton Howard Bloom năm 1970, là một cấu trúc dữ liệu xác suất để kiểm tra xem một phần tử có nằm trong một tập hợp hay không. Có thể có lỗi dương tính sai, nhưng không bao giờ có âm tính sai; nghĩa là kết quả thu được luôn là "nằm trong tập hợp (có thể sai)" hoặc "không nằm trong tập hợp". Có thể chèn thêm phần tử nhưng không thể xóa (nhược điểm này có thể được khắc phục bằng một bộ lọc đếm). Càng chèn nhiều phần tử thì xác suất dương tính sai càng cao.

Mô tả thuật toán

Một ví dụ của bộ lọc Bloom cho tập hợp {x, y, z}. Các mũi tên màu chỉ ra các vị trí mỗi phần tử ánh xạ đến. Phần tử w không nằm trong tập hợp {x, y, z}, bởi một trong các vị trí nó ánh xạ đến có giá trị 0. Trong ví dụ này, m=18 và k=3. Một bộ lọc Bloom rỗng là một mảng m bit, tất cả đều bằng 0. Giả sử có k hàm băm khác nhau, mỗi hàm ánh xạ từ không gian các phần tử tới m vị trí trong bảng với xác suất như nhau. Thông thường k là một hằng số và nhỏ hơn nhiều so với m

Để chèn một phần tử, áp dụng k hàm băm để tính ra mảng k vị trí và gán cho các bit này giá trị 1.

Để kiểm tra một phần tử có nằm trong tập hợp hay không, áp dụng k hàm băm để tính ra k vị trí trong mảng và kiểm tra xem tất cả các bit đó có giá trị 1 hay không. Nếu có một bit nào đó bằng 0 thì phần tử cần kiểm tra chắc chắn không nằm trong mảng. Nếu tất cả chúng đều bằng 1 thì phần tử đó có thể nằm trong mảng.

Xác suất dương tính sai

Xác suất dương tính sai p dưới dạng hàm số của số phần tử n và kích thước m của bộ lọc. Giả sử sử dụng k= (m/n) \ln 2 hàm băm

Giả sử các hàm băm lựa chọn các vị trí trong bảng với xác suất như nhau và hoàn toàn ngẫu nhiên và độc lập. Nếu m là số bit trong mảng thì xác suất một bit không được gán giá trị 1 khi ta băm một phần tử bằng một hàm băm là

:1-\frac{1}{m}.

Xác suất nó không được gán giá trị 1 bởi bất kì hàm băm nào là

:\left(1-\frac{1}{m}\right)^k.

Nếu chèn n phần tử, thì xác suất bit đó vẫn bằng 0 là

:\left(1-\frac{1}{m}\right)^{kn};

nên xác suất nó bằng 1 là

:1-\left(1-\frac{1}{m}\right)^{kn}.

Ta xét quá trình kiểm tra liệu một phần tử có nằm trong tập hay không. Thuật toán kiểm tra k vị trí trong mảng xem chúng có bằng 1 hay không. Xác suất tất cả chúng đều bằng 1 là

:\left(1-\left[1-\frac{1}{m}\right]^{kn}\right)^k \approx \left(1-e^{-kn/m} \right)^k.

Chứng minh này không toàn toàn đúng do nó giả sử xác suất mỗi bit trong mảng được gán giá trị 1 là độc lập với nhau. Tuy nhiên, giả sử đây là một xấp xỉ tốt, thì giá trị k tối ưu để xác suất trên là nhỏ nhất là

:\frac{m}{n}\ln 2 \approx 0.7\frac{m}{n},

cho giá trị xác suất dương tính sai là

:2^{-k} \approx {0.6185}^{m/n}.

Có thể tính kích thước m của mảng theo số phần tử n và xác suất dương tính sai p bằng cách thay giá trị tối ưu của k vào biểu thức trên: :p = \left(1-e^{-(m/n\ln 2) n/m} \right)^{(m/n\ln 2)} Đơn giản hóa biểu thức trên, ta thu được: :\ln p = -\frac{m}{n} \left(\ln 2\right)^2. từ đó thu được: :m=-\frac{n\ln p}{(\ln 2)^2}.

Nghĩa là để xác suất sai là hằng số cố định, kích thước của mảng là tuyến tính với số phần tử của tập hợp.

👁️ 0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Bộ lọc Bloom**, phát minh bởi Burton Howard Bloom năm 1970, là một cấu trúc dữ liệu xác suất để kiểm tra xem một phần tử có nằm trong một tập hợp hay không. Có
Trong khoa học máy tính, **tìm kiếm nhị phân** (), còn gọi là **tìm kiếm nửa khoảng** (_half-interval search_), **tìm kiếm logarit** (_logarithmic search_), hay **chặt nhị phân** (_binary chop_), là một thuật toán tìm
Son môi tự nhiên Living Nature Bloom tuyệt đẹp với màu hồng vintage. Mọi phụ nữ đều có quyền sống cuộc sống của mình trong thời thanh xuân tươi đẹp nhất với sắc hồng khỏe
Bài này nói về từ điển các chủ đề trong toán học. ## 0-9 * -0 * 0 * 6174 ## A * AES * ARCH * ARMA * Ada Lovelace * Adrien-Marie Legendre *
Đây là danh sách các cấu trúc dữ liệu. Bạn có thể xem danh sách thuật ngữ rộng hơn tại danh sách các thuật ngữ liên quan đến cấu trúc dữ liệu và giải thuật.
Bộ gồm: 1 khuôn gấu + khuôn khủng long+ ống bơm+ 100g bột gelatin 250 bloom Pháp Hoặc 1 khuôn cá + chim + ống bơm + gelatin Pháp Shop lấy ngẫu nhiên hình hoặc
Gelatine bột đóng gói bằng túi zip 500g bột gelatin Pháp 250 bloom vẫn là loại được ưa chuộng nhất trên thị trường bột gelatin hiện nay bởi chất lượng cao, bột mịn, không mùi,
**Louisa May Alcott** (, sinh ngày 29 tháng 11 năm 1832 tại Germantown, bang Pennsylvania – mất ngày 6 tháng 3 năm 1888 tại Boston, bang Massachusetts, Hoa Kỳ) là tác giả người Mỹ nổi
**Creepypasta** là những truyền thuyết kinh dị được chia sẻ trên khắp Internet. Creepypasta kể từ đó đã trở thành một thuật ngữ chung được dùng để chỉ về bất kỳ nội dung kinh dị
Tập tin:Winx Club Nickelodeon Logo.svg Dưới đây là danh sách các nhân vật trong series hoạt hình Winx Club của Ý. ## Nhân vật chính thumb|Đội hình của nhóm Winx (phần 3), theo chiều kim
**_Plants vs. Zombies_** là một trò chơi điện tử phòng thủ tháp do PopCap Games phát triển và phát hành. Trò chơi ban đầu được phát hành cho nền tảng Windows và Mac OS X,
**_Superstore_** là một bộ phim truyền hình sitcom máy ảnh đơn của Mỹ được công chiếu trên NBC vào ngày 30 tháng 11 năm 2015. Bộ phim được tạo bởi Justin Spitzer, người từng là
**Chi Xoài** (danh pháp khoa học: **_Mangifera_**) thuộc họ Đào lộn hột (Anacadiaceae), là những loài cây ăn quả vùng nhiệt đới. Người ta không biết chính xác nguồn gốc của xoài, nhưng nhiều người
**Công ty TNHH truyền thông Muse** (tiếng Anh: Muse Communication Co., Ltd., gọi đơn giản là **Muse**) là đơn vị phân phối và phát hành các nội dung anime, phim châu Á, châu Âu bản
nhỏ|Ông lão người do thái Ashkenazi **Người Do Thái Ashkenazi** ( ), hay còn gọi là **Ashkenazic Do Thái** trong tiếng Hebrew số nhiều có hậu tố _-im,_ **Ashkenazim** là một Cộng đồng người Do
**Charlize Theron** (phát âm theo tiếng Anh kiểu Mỹ: ; phát âm theo tiếng Afrikaans: [ʃɐrˈlis tron]; sinh ngày 7 tháng 8 năm 1975) là một nữ diễn viên kiêm nhà làm phim người Mỹ
thumb|right|[[Hunter Biden năm 2014]] Vào tháng 10 năm 2020, một cuộc tranh cãi nổ ra liên quan đến một chiếc máy tính xách tay được cho là thuộc về Hunter Biden. Chủ một cửa hàng
**_Người Hobbit: Đại chiến Năm cánh quân_** (tựa gốc: **_The Hobbit: The Battle of the Five Armies_**) là một bộ phim điện ảnh sử thi kỳ ảo của Mỹ công chiếu năm 2014 do Peter
300x300px|thumb ## Sự kiện **Tháng 1** * 1 tháng 1: ** Kurt Furgler trở thành tổng thống Thụy Sĩ ** Nhóm hoạt động vì quyền con người Charta 77 được thành lập trong Praha, Tiệp
Đây là một danh sách những người, thường là vào lúc dưới 15 tuổi, biểu hiện tài năng ở mức độ của người lớn và vượt trội ở một lĩnh vực nào đó và được
**_7_** là đĩa mở rộng (EP) đầu tay của nam rapper kiêm ca sĩ người Mỹ Lil Nas X, được Columbia Records phát hành vào ngày 21 tháng 6 năm 2019. EP được mở đường