Trang Chủ Tài chính Cá nhân Các thuật toán giải phóng và lọc Bloom - núm vú

Các thuật toán giải phóng và lọc Bloom - núm vú

Video: Lớp học phép thuật tập 1: Những học sinh mới. 2025

Video: Lớp học phép thuật tập 1: Những học sinh mới. 2025
Anonim

Tâm điểm của nhiều thuật toán phát trực tuyến là các bộ lọc Bloom. Được tạo ra gần 50 năm trước bởi Burton H. Bloom, vào thời điểm khoa học máy tính vẫn còn khá trẻ, ý định ban đầu của người sáng tạo thuật toán này là thương mại không gian (bộ nhớ) và / hoặc thời gian (phức tạp) so với cái mà ông gọi là lỗi cho phép. Tài liệu gốc của ông có tiêu đề Không gian / thời gian bị đánh đổi trong mã hoá Hash với lỗi cho phép.

Bạn có thể tự hỏi về không gian và thời gian mà Bloom xem xét động lực cho các thuật toán của mình. Hãy tưởng tượng rằng bạn cần phải xác định liệu một phần tử đã xuất hiện trong một luồng sử dụng một số cấu trúc dữ liệu được thảo luận trước đó. Tìm một cái gì đó trong một dòng có nghĩa là ghi âm và tìm kiếm là nhanh, do đó một bảng băm có vẻ như là một sự lựa chọn lý tưởng. bảng Hash đơn giản chỉ cần thêm các phần tử mà bạn muốn ghi lại và lưu trữ chúng. Việc phục hồi một phần tử từ một bảng băm là nhanh bởi vì bảng băm sử dụng các giá trị thao tác dễ dàng để đại diện cho phần tử, chứ không phải là phần tử (có thể khá phức tạp). Tuy nhiên, lưu trữ cả hai yếu tố và một chỉ số cho các yếu tố đó có những hạn chế. Nếu một bảng băm phải đối mặt với nhiều yếu tố hơn nó có thể xử lý, chẳng hạn như các phần tử trong một dòng liên tục và có tiềm năng vô hạn, bạn sẽ kết thúc vấn đề bộ nhớ phát sinh ở một số điểm.

Một sự xem xét thiết yếu cho các bộ lọc Bloom là sai tích cực có thể xảy ra, nhưng âm tính giả không thể. Ví dụ: luồng dữ liệu có thể chứa dữ liệu theo dõi thời gian thực cho một nhà máy điện. Khi sử dụng bộ lọc Bloom, việc phân tích luồng dữ liệu sẽ chỉ ra rằng các lần đọc dự kiến ​​có thể là một phần của tập các phép đọc cho phép, với một số lỗi cho phép. Tuy nhiên, khi một lỗi xảy ra trong hệ thống, phân tích tương tự cho thấy rằng các giá trị không phải là một phần của tập các phép đọc cho phép. Các kết quả sai sẽ không gây ra vấn đề gì, nhưng sự vắng bóng của những âm bản phủ định có nghĩa là mọi người vẫn an toàn. Do có khả năng dương tính giả, các bộ lọc như bộ lọc Bloom là các cấu trúc dữ liệu có tính xác suất - chúng không cung cấp một câu trả lời nhất định nhưng có thể xảy ra.

Hashes, các mục riêng lẻ trong bảng băm, nhanh vì chúng hoạt động giống như chỉ mục của một cuốn sách. Bạn sử dụng một hàm băm để tạo ra băm; đầu vào là một phần tử chứa dữ liệu phức tạp, và đầu ra là một số đơn giản hoạt động như một chỉ mục cho phần tử đó. Một hàm băm là xác định bởi vì nó tạo ra cùng một con số mỗi khi bạn nạp nó vào một đầu vào dữ liệu cụ thể.Bạn sử dụng bảng băm để xác định thông tin phức tạp mà bạn cần. Bộ lọc Bloom rất hữu ích vì chúng là một cách tiết kiệm để ghi lại dấu vết của nhiều phần tử mà không cần phải cất chúng đi như một bảng băm. Chúng hoạt động đơn giản và sử dụng các thành phần chính sau:

  • Một vector bit: Một danh sách các phần tử bit, trong đó mỗi bit trong phần tử có thể có giá trị là 0 hoặc 1. Danh sách dài số bit được gọi là m. Các m lớn hơn là, tốt hơn, mặc dù có những cách để tối ưu xác định kích thước của nó.
  • Một loạt các hàm băm: Mỗi hàm băm tượng trưng cho một giá trị khác. Các hàm băm có thể nhanh chóng crunch dữ liệu và tạo ra các kết quả thống nhất phân bố, đó là kết quả bằng nhau từ tối thiểu đến giá trị đầu ra tối đa của băm.
Các thuật toán giải phóng và lọc Bloom - núm vú

Lựa chọn của người biên tập

Cách chuyển đổi điện áp Hiện tại Bật và Tắt - núm vú

Cách chuyển đổi điện áp Hiện tại Bật và Tắt - núm vú

Chuyển mạch là chức năng quan trọng nhất trong thiết bị điện tử. Hãy nghĩ đến bộ TV của bạn: Bạn bật và tắt nguồn, chọn nguồn tín hiệu từ các lựa chọn đầu vào khác nhau (như đầu DVD, hộp cáp hoặc hệ thống chơi game) và thay đổi kênh truyền hình. Màn hình TV của bạn bao gồm hàng triệu điểm ảnh nhỏ (hình ảnh ...

Làm thế nào để Solder một Solid Joint trong Dự án Điện tử của bạn - núm vú

Làm thế nào để Solder một Solid Joint trong Dự án Điện tử của bạn - núm vú

Làm thế nào để Solder một Solid Joint trong dự án Điện tử của bạn < hình thức hàn phổ biến nhất khi tạo ra các dự án điện tử là thành phần hàn dẫn đến miếng đồng ở mặt sau của một bảng mạch in. Nếu bạn có thể làm điều đó, bạn sẽ không có vấn đề với các loại hàn khác, chẳng hạn như hàn hai dây với nhau hoặc hàn một dây vào một thiết bị đầu cuối chuyển đổi. Sau đây ...

ÁNh sáng-O-Rama Sequences được sử dụng trong chiếu sáng - đầu

ÁNh sáng-O-Rama Sequences được sử dụng trong chiếu sáng - đầu

Ở Light-O-Rama , một dãy được biểu diễn dưới dạng một lưới tương tự như lưới trong một chương trình bảng tính. Ví dụ, hình ảnh cho thấy một phần của một chuỗi rất đơn giản, trong đó đèn trên các kênh 1, 3 và 5 luân phiên bật và tắt mỗi nửa giây. Mỗi hàng trong lưới đại diện cho một ...

Lựa chọn của người biên tập

Làm thế nào để Tạo một trang Blog trong SharePoint - núm vú

Làm thế nào để Tạo một trang Blog trong SharePoint - núm vú

Để Tạo một blog trong SharePoint, bạn tạo ra một trang web mới hoặc địa điểm phụ. Dành thời gian để xem xét nơi blog này sẽ nằm trong thứ bậc trang web của bạn. Mặc dù bạn có thể thay đổi quyền ở bất kỳ mức nào, bạn vẫn có thể có blog tổng thống của bạn trên trang chính của SharePoint Intranet của bạn (và ...

Làm thế nào để tạo một ứng dụng tùy chỉnh trong SharePoint 2013 - núm vú

Làm thế nào để tạo một ứng dụng tùy chỉnh trong SharePoint 2013 - núm vú

Bạn tạo một ứng dụng tùy chỉnh sử dụng Custom Liệt kê ứng dụng. Ứng dụng Danh sách tùy chỉnh tạo ra một ứng dụng danh sách rất cơ bản mà sau đó bạn có thể tuỳ chỉnh cho kịch bản cụ thể của mình. Thực hiện theo các bước sau để tạo một ứng dụng tùy chỉnh: Nhấp vào biểu tượng bánh răng Cài đặt và chọn Thêm một ứng dụng. Trang Ứng dụng của bạn được hiển thị. Nhấp vào ...

Làm thế nào để Tạo một Thảo luận Ban App trong SharePoint - núm vú

Làm thế nào để Tạo một Thảo luận Ban App trong SharePoint - núm vú

Thêm một ứng dụng thảo luận trên SharePoint một quá trình rất đơn giản. Bạn chỉ cần chọn ứng dụng Thảo luận từ trang Apps You Can Add. Bạn có thể thêm nhiều bảng thảo luận vào trang web của mình như bạn muốn. Bạn có thể thấy nó mang lại lợi ích cho việc tạo ra một bảng thảo luận cho mỗi khu chức năng để giữ ...

Lựa chọn của người biên tập

Máy tính giả mạo dành cho Android hoặc Điều gì đặc biệt về Số 5554? - núm vú

Máy tính giả mạo dành cho Android hoặc Điều gì đặc biệt về Số 5554? - núm vú

Khi bạn khởi động trình mô phỏng thiết bị Android, tên của trình mô phỏng mới là cái gì đó giống như trình mô phỏng-5554 hoặc trình mô phỏng-5556. Tên bắt nguồn từ thực tế là mỗi lần chạy của trình mô phỏng Android sử dụng hai số cổng (hai kênh để giao tiếp với máy tính phát triển). Như bạn đã biết, trình duyệt web của bạn thường sử dụng số cổng 80 ...

Kích hoạt Chế độ xem trên Ứng dụng iOS của bạn - núm vú

Kích hoạt Chế độ xem trên Ứng dụng iOS của bạn - núm vú

Bất cứ khi nào bạn chỉ định một giá trị mới cho chế độ xem nhất định tài sản (như khung và thuộc tính của trung tâm), chế độ xem sẽ được vẽ lại ngay lập tức và thay đổi hiển thị ngay lập tức trên màn hình. Ngoài ra, thay đổi đối với một số thuộc tính xem (chẳng hạn như các thuộc tính được đề cập) có thể được hoạt hình. Điều này có nghĩa là việc thay đổi thuộc tính sẽ tạo ra hình ảnh động ...

Android: Sử dụng IDE Eclipse cho Phát triển Java - núm vú

Android: Sử dụng IDE Eclipse cho Phát triển Java - núm vú

Ngày nay, sử dụng một môi trường phát triển tích hợp (IDE) để phát triển Java dễ dàng hơn. IDE được chấp nhận rộng rãi nhất trong số các nhà phát triển Java là Eclipse. Bảng này cung cấp cho bạn các mẹo nhanh để sử dụng IDE Eclipse để phát triển các ứng dụng Android. Nhiệm vụ Làm thế nào để hoàn thành Bắt đầu một dự án mới của Android Từ màn hình Dự án mới, dưới Android ...