Báo cáo tốt nghiệp nghiên cứu bộ lọc bloom và ứng dụng

76 975 0
Báo cáo tốt nghiệp  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ố Bộ lọc Bloom đếm Lựa chọn hàm băm Chương trình demo GVHD: TS Nguyễn Mạnh Hùng HVTH: Trương Thị Thu Hằng5 Cấu trúc bộ lọc Bloom cơ bản Bao gồm: – Một vectơ Bit V có kích thước là m, ban đầu mỗi bit đều có giá trị là 0. – k hàm băm (h 1 h k ), h i : U → [1 m] – Tập X gồm n phần tử x i . 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 Bộ lọc Bloom đếm • Một đặc điểm của bộ lọc Bloom cơ bản là không thể xoá một phần tử khỏi bộ lọc vì như vậy sẽ làm xáo trộn những phần tử khác. • Người ta đã cải tiến đưa ra bộ lọc Bloom đếm trong đó thêm vào một vectơ đếm có độ dài bằng vectơ bit. • Khi thêm vào hoặc xoá một phần tử chỉ cần tăng hoặc giảm bộ đếm tương ứng, nếu khi bộ đếm bằng 0 thì vectơ bit tương ứng bằng 0, nếu bộ đếm khác 0 thì bit tương ứng bằng 1. [...]... sử dụng bộ lọc trong bài toán tìm kiếm Số Độ dài Số hàm vectơ phần tử băm bit Số phần tử so sánh Số PT Số PT lọc BF KT qua sai là có 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 GVHD: TS Nguyễn Mạnh Hùng 13 HVTH: Trương Thị Thu Hằng 2 Các ứng dụng của bộ lọc Bloom. .. Hùng 22 HVTH: Trương Thị Thu Hằng c Khớp tiền tố dài nhất sử dụng bộ lọc Bloom • Quá trình tìm kiếm diễn ra như sau: – Địa chỉ IP đầu vào được kiểm tra song song qua W bộ lọc Bloom Tiền tố 1-bit của địa chỉ được đưa qua bộ lọc B(1) mà được khởi tạo bởi các tiền tố của bảng băm HT(1), tiền tố 2-bit được đưa qua bộ lọc B(2) mà được khởi tạo bởi các tiền tố 2-bit của bảng băm HT(2)… – Mỗi bộ lọc... Trương Thị Thu Hằng c Khớp tiền tố dài nhất sử dụng bộ lọc Bloom Bộ lọc Bloom được sử dụng trong bài toán này nhằm giúp tăng hiệu quả quá trình tìm kiếm • Bảng định tuyến được chia 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 tiền tố có cùng độ dài • Mỗi bảng băm được khởi tạo với một bộ lọc Bloom để hỗ trợ trước khi tìm kiếm • Nếu địa chỉ IP có W bit thì... 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 24 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... 23 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... 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 22... tiền tố dài nhất để tìm ra nexthop với bảng định tuyến có 2 trường: prefix Nexthop GVHD: TS Nguyễn Mạnh Hùng 16 HVTH: Trương Thị Thu Hằng b Thuật toán khớp tiền tố cổ điển • Trên Router dùng định tuyến phân lớp giữa các miền CIDR chia các địa chỉ IP thành các khối tiền tố, để đăng ký sử dụng Internet giữa các vùng • CIDR sử dụng kỹ thuật mặt nạ mạng có chiều dài thay đổi (VLSM-Variable Length Subnet... 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 26 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... bít cuối cùng của octet thứ 3 có giá trị khác nhau từ 000 đến 111 • Do vậy đầu vào trong bảng định tuyến trở thành 220.78.168.0/21 hay 11011100.01001110.10101* Trong đó 21 là chiều dài tiền tố GVHD: TS Nguyễn Mạnh Hùng 18 HVTH: Trương Thị Thu Hằng b Thuật toán khớp tiền tố cổ điển • Mỗi địa chỉ IP là một phần của tiền tố, một địa chỉ IP có thể khớp với nhiều tiền tố có chiều dài khác nhau • Tìm...Bộ lọc Bloom đếm xk xi xj V0 Vm-1 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 C0 h1(x) h2(x) h3(x) 0 1 0 2 0 0 0 2 0 1 3 0 0 0 0 0 1 1 GVHD: TS Nguyễn Mạnh Hùng 11 0 1 0 1 0 0 1 0 0 0 0 0 hk(x) Cm-1 0 0 0 1 1 0 . 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. lọc Bloom đếm • Một đặc điểm của bộ lọc Bloom cơ bản là không thể xoá một phần tử khỏi bộ lọc vì như vậy sẽ làm xáo trộn những phần tử khác. • Người ta đã cải tiến và đưa ra bộ lọc Bloom

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

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

  • Bộ lọc Bloom đếm

  • Slide 11

  • Lựa chọn hàm băm

  • 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

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

  • Slide 18

  • Slide 19

  • Slide 20

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

Tài liệu liên quan