Báo cáo màu đề tài nghiên cứu bộ lọc bloom và ứng dụng

47 1.1K 0
Báo cáo màu đề tài nghiên cứu bộ lọc bloom và ứng dụng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 Nghiên cứu bộ lọc Bloom ứng dụng Giáo viên hướng dẫn: ĐỒ ÁN TỐT NGHIỆP GVHD: TS Nguyễn Mạnh Hùng HVTH: Trương Thị Thu Hằng2 Giới thiệu bộ lọc Bloom • Được Burton H.Bloom đưa ra năm 1970 • Bộ lọc Bloom là một cấu trúc dữ liệu rất hiệu quả về không gian cho việc truy vấn thành viên nhóm, cho phép bỏ qua các trường hợp không cần thiết phải tìm kiếm. • Các ứng dụng của Bloom: – Được sử dụng rộng rãi trong các ứng dụng phân loại gói tin trên mạng theo dữ liệu của header/nội dung gói tin. – Gần đây bộ lọc Bloom còn được sử dụng trong các ứng dụng mạng: web caching, IP traceback,… GVHD: TS Nguyễn Mạnh Hùng HVTH: Trương Thị Thu Hằng3 Nội dung Lý thuyết về bộ lọc Bloom 1 Các ứng dụng của bộ lọc Bloom: 2 Một số ứng dụng khác 3 2.1 2.2 Bài toán khớp tiền tố dài nhất Bài toán phân loại gói tin 2.3 Bài toán khai phá phần tử phổ biến GVHD: TS Nguyễn Mạnh Hùng HVTH: Trương Thị Thu Hằng4 1. Lý thuyết về bộ lọc Bloom Cấu trúc bộ lọc Bloom cơ bản Cơ chế hoạt động của bộ lọc Bloom Ước lượng sai số Chương trình demo GVHD: TS Nguyễn Mạnh Hùng HVTH: Trương Thị Thu Hằng5 1 Một vectơ Bit V có kích thước là m, ban đầu mỗi bit đều có giá trị là 0. 2 k hàm băm (h1 hk), hi: U → [1 m] 3 Tập X gồm n phần tử xi. Cấu trúc bộ lọc Bloom cơ bản GVHD: TS Nguyễn Mạnh Hùng HVTH: Trương Thị Thu Hằng6 Cơ chế hoạt động của bộ lọc Bloom • Chèn một phần tử vào bộ lọc: Mỗi phần tử x thuộc tập X được nạp vào trong bộ lọc Bloom theo phương pháp như sau: – Tính toán x qua k hàm băm ta có k giá trị: h 1 (x),…,h k (x). – K bit có vị trí tương ứng với h 1 (x),…,h k (x) trong vectơ bit V sẽ được gán là 1. x h 1 (x) h 2 (x) h k (x)h 3 (x) V m-1 V 0 01000 10100 00010 0 0 0 0 GVHD: TS Nguyễn Mạnh Hùng HVTH: Trương Thị Thu Hằng7 Cơ chế hoạt động của bộ lọc Bloom • Kiểm tra một phần tử y: – Nếu V[h 1 (y)]=1,… V[h k (y)]=1 thì y có thể thuộc X. – Nếu chỉ một bit V[h i (y)] =0 thì y chắc chắn không thuộc X. => Kết quả kiểm tra qua bộ lọc: phần tử đó không thuộc hoặc có khả năng thuộc bộ lọc. GVHD: TS Nguyễn Mạnh Hùng HVTH: Trương Thị Thu Hằng8 Ước lượng sai số • False Negative: kiểm tra qua bộ lọc là không có nhưng tìm kiếm thực thì lại có. • False Positive: kiểm tra qua bộ lọc là có nhưng tìm kiếm thực thì không có. • Bộ lọc Bloom: không bao giờ xảy ra lỗi false negative. Chỉ xảy ra lỗi false positive với xác suất rất nhỏ. GVHD: TS Nguyễn Mạnh Hùng HVTH: Trương Thị Thu Hằng9 Ước lượng sai số - False positive • Xác suất để một bit được gán là 0 bởi tất cả các hàm băm là: • Đặt p=e -kn/m , xác suất của một false positive là: • Giả sử cho trước m và n thì giá trị k tối ưu là: ( ) m nk eem mkn kn ==≈− −− γ,/11 γ/ ( ) ( ) k k mkn k kn pe m f −=−≈               −−= − 11 1 11 / 2ln n m k = GVHD: TS Nguyễn Mạnh Hùng HVTH: Trương Thị Thu Hằng10 Kết quả sử dụng bộ lọc trong bài toán tìm kiếm Số phần tử Số hàm băm Độ dài vectơ bit Số phần tử so sánh Số PT lọc qua là có Số PT BF KT sai Tỉ lệ đúng (%) Tỉ lệ sai -FP(% ) So sánh TG 10000 5 72463 2500 334 82 96.76 3.24 1/7.81 50000 5 370000 12500 1532 266 97.87 2.13 1/13.7 100000 5 730000 25000 3197 712 97.15 2.95 1/11.9 [...]... » 0 ≤ φ (0) ≤ 1 với mọi t ≥ 0 GVHD: TS Nguyễn Mạnh Hùng 35 HVTH: Trương Thị Thu Hằng d Bộ lọc ESBF Extensible and scalable bloom Filter • Bộ lọc ESBF bao gồm một chuỗi EBF số bộ lọc EBF trong ESBF có thể thay đổi • Kích thước của EBF mới là M1si, trong đó M1 là kích thước của bộ lọc đầu tiên i là số bộ lọc hiện có của ESBF Trong bài này ta chọn s=2 GVHD: TS Nguyễn Mạnh Hùng 36 HVTH: Trương... trong các bảng theo thứ tự: từ 3 đến 2 đến 1 – Bảng HT(3): không có 101 – Bảng HT(2): có 10 ứng với nexthop là 100.5.3.0, tìm kiếm dừng 100.5.6.0 GVHD: TS Nguyễn Mạnh Hùng 16 HVTH: Trương Thị Thu Hằng c Khớp tiền tố dài nhất sử dụng bộ lọc Bloom – Địa chỉ IP đầu vào được kiểm tra song song qua W bộ lọc Bloom – Mỗi bộ lọc chỉ đơn giản đưa ra kết quả là khớp hay không khớp – Vector khớp... Bloom và kết quả nào đúng thì sử dụng để truy vấn các bảng quy tắc GVHD: TS Nguyễn Mạnh Hùng 28 HVTH: Trương Thị Thu Hằng e Thuật toán tích chéo trộn NLT • Số tập quy tắc con nhiều thì tiêu tốn nhiều tài nguyên khi sử dụng bộ lọc Bloom Nhưng nếu số tập con ít thì lại có khả năng sinh nhiều quy tắc chéo • Phương pháp gom nhóm không chồng nhau thì không sinh ra quy tắc tích chéo nào nhưng... HVTH: Trương Thị Thu Hằng e Thuật toán tích chéo trộn NLT • Sau khi trộn NLT thì các tập con chứa quy tắc có thể thuộc nhiều NLT khác nhau do đó không thể dùng bản đồ bit NLT bản đồ bit PL/NL • Lúc này thuật toán tương tự với thuật toán tích chéo đa tập con • Với thuật toán này số quy tắc tích chéo đã giảm bớt rất nhiều trong khi số bộ lọc Bloom sử dụng không quá nhiều GVHD: TS Nguyễn Mạnh Hùng...2 Các ứng dụng của bộ lọc Bloom 2.1 Bài toán khớp tiền tố dài nhất 2.2 Bài toán phân loại gói tin 2.3 Bài toán khai phá phần tử phổ biến GVHD: TS Nguyễn Mạnh Hùng 11 HVTH: Trương Thị Thu Hằng 2.1 Bài toán khớp tiền tố dài nhất a Bảng định tuyến trong router b Thuật toán khớp tiền tố cổ điển c Khớp tiền tố dài nhất sử dụng bộ lọc Bloom d Chương trình demo GVHD:... con TT4 31 Số QTTC TT4 HVTH: Trương Thị Thu Hằng 2.3 Bài toán khai phá phần tử phổ biến a Luồng dữ liệu phần tử phổ biến b Mô hình Damped c Bộ đếm phân rã theo thời gian d Bộ lọc ESBF e Thuật toán MIBFD f Chương trình demo GVHD: TS Nguyễn Mạnh Hùng 32 HVTH: Trương Thị Thu Hằng a Luồng dữ liệu phần tử phổ biến • Một luồng dữ liệu là một chuỗi không giới hạn của các phần tử dữ liệu được truyền... Mỗi trường được xây dựng thành một cây bộ mức xếp chồng ta tính được số bộ mức xếp chồng (NLT) của một tập quy tắc • Trong một NLT thì không có tiền tố chồng nhau nên tập quy tắc sẽ được chia thành các tập con mà mỗi tập con chứa toàn bộ quy tắc thuộc một NLT Gọi là tập quy tắc con NLT • Với việc dùng NLT để thực hiện được với mỗi tiền tố lưu một bản đồ bit NLT một bản đồ PL/NL GVHD: TS Nguyễn Mạnh... c Khớp tiền tố dài nhất sử dụng bộ lọc Bloom • Chia bảng định tuyến thành các bảng nhỏ theo độ dài tiền tố gọi là các bảng băm Mỗi bảng băm chỉ chứa các tiền tố có cùng độ dài • Giả sử địa chỉ IP có W bit Cấu trúc bao gồm: – W bộ lọc Bloom: B(1),…, B(W) – W bộ đếm tương ứng với W bộ lọc Bloom: C(1),…, C(W) • Cặp được nạp vào bảng băm HT(i) GVHD: TS Nguyễn Mạnh Hùng 15... 15 HVTH: Trương Thị Thu Hằng c Khớp tiền tố dài nhất sử dụng bộ lọc Bloom Prefix 1* Prefix Next hop 100.5.2.0 Next hop 00* 100.5.2.0 01* 100.5.1.0 10* 100.5.3.0 11* 100.5.5.0 Prefix Next hop 001* 100.5.2.0 010* 100.5.1.0 100* 100.5.5.0 111* • Giả sử một gói tin đến với địa chỉ đích là 1011 • Lọc qua các bộ lọc giả sử ta có vectơ khớp (1, 2, 3) • Tìm kiếm trực tiếp trong các bảng theo... Thị Thu Hằng 2.2 Bài toán phân loại gói tin a Khái niệm phân loại gói tin b Thuật toán tích chéo cổ điển c Thuật toán tích chéo đa tập con d TT tìm kiếm không gian bộ mức xếp chồng e TT tích chéo trộn bộ mức xếp chồng f Chương trình demo GVHD: TS Nguyễn Mạnh Hùng 18 HVTH: Trương Thị Thu Hằng a Phân loại gói tin • Phân loại gói tin là một hoạt động của router nhằm phân loại . 1 Nghiên cứu bộ lọc Bloom và ứng dụng Giáo viên hướng dẫn: ĐỒ ÁN TỐT NGHIỆP GVHD: TS Nguyễn Mạnh Hùng HVTH: Trương Thị Thu Hằng2 Giới thiệu bộ lọc Bloom • Được Burton H .Bloom đưa. Nguyễn Mạnh Hùng HVTH: Trương Thị Thu Hằng3 Nội dung Lý thuyết về bộ lọc Bloom 1 Các ứng dụng của bộ lọc Bloom: 2 Một số ứng dụng khác 3 2.1 2.2 Bài toán khớp tiền tố dài nhất Bài. Bloom: – Được sử dụng rộng rãi trong các ứng dụng phân loại gói tin trên mạng theo dữ liệu của header/nội dung gói tin. – Gần đây bộ lọc Bloom còn được sử dụng trong các ứng dụng mạng: web caching,

Ngày đăng: 19/06/2014, 20:42

Từ khóa liên quan

Mục lục

  • Nghiên cứu bộ lọc Bloom và ứng dụng

  • Giới thiệu bộ lọc Bloom

  • Nội dung

  • PowerPoint Presentation

  • Cấu trúc bộ lọc Bloom cơ bản

  • Cơ chế hoạt động của bộ lọc Bloom

  • Slide 7

  • Ước lượng sai số

  • Ước lượng sai số - False positive

  • Kết quả sử dụng bộ lọc trong bài toán tìm kiếm

  • 2. Các ứng dụng của bộ lọc Bloom

  • 2.1 Bài toán khớp tiền tố dài nhất

  • a. Bảng định tuyến router

  • b. Thuật toán khớp tiền tố cổ điển

  • c. Khớp tiền tố dài nhất sử dụng bộ lọc Bloom

  • Slide 16

  • Slide 17

  • 2.2. Bài toán phân loại gói tin

  • a. Phân loại gói tin

  • b. Thuật toán tích chéo cổ điển

Tài liệu cùng người dùng

Tài liệu liên quan