Phương pháp gom nhóm không chồng nhau (Overlap free)

Một phần của tài liệu Đồ án tốt nghiệp đại học nghiên cứu bộ lọc bloom và ứng dụng (Trang 33 - 35)

5. if (t i.u[j] == NULL) bỏ qua tập con j

3.5.1Phương pháp gom nhóm không chồng nhau (Overlap free)

free)

Chúng ta nghiên cứu một kỹ thuật đơn giản dựa trên khái niệm về bộ mức xếp chồng (Nested Level Tuple - NLT), đưa ra một cách chia tập quy tắc thành các tập con sao cho không có tập con nào sinh ra quy tắc tích chéo. Trước hết với mỗi trường chúng ta xây dựng một cây tiền tố nhị phân (prefix–trie) trong đó số tiền tố của mỗi trường trong tập quy tắc đã biết. Chúng ta sẽ sử dụng các định nghĩa dưới đây:

Hình 3.6: Minh hoạ cây nhị phân (trái) và cây mức xếp chồng (phải)

Mức xếp chồng (Nested Level): mức xếp chồng của một nút được đánh dấu trong một cây nhị phân là số nút ông bà (ancestor) đã được đánh dấu của nút đó. Nút gốc luôn được xem là đã được đánh dấu. Ví dụ, mức xếp chồng của nút m2 và m3 là 1 và mức xếp chồng của nút m4 là 2.

Cây mức xếp chồng (Nested Level Tree): cho biết một cây nhị phân với các nút đã được đánh dấu, chúng ta xây dựng một cây mức xếp

chồng bằng cách bỏ đi các nút không đánh dấu và liên kết mỗi nút được đánh dấu tới nút ancestor gần nhất của nó.

Bộ mức xếp chồng (Nested Level Tuple – NLT): với mỗi trường có trong tập quy tắc, chúng ta tạo ra một cây mức xếp chồng (xem hình 3.6). Bộ mức xếp chồng của quy tắc r là tập hợp mức xếp chồng của mỗi trường tiền tố của quy tắc đó. Ví dụ, trong hình 3.7, NLT của r6 là [1,0] và của r4 là

[2,1].

Hình 3.7: Gom nhóm quy tắc không tạo ra tích chéo sử dụng bộ mức xếp chồng (NLT)

Trong hình 3.7 trên chúng ta thấy trường 1 có 2 mức xếp chồng có tiền tố là 1 và 2. Trường 2 có 2 mức xếp chồng có tiền tố là 0 và 1. Như vậy có các bộ mức xếp chồng là [1,0], [1,1], [2,0] và [2,1]. Tuy nhiên mức xếp chồng [2,0] không có quy tắc nào nên chúng ta không cần xét.

Từ định nghĩa mức xếp chồng chúng ta thấy rất rõ rằng giữa các nút có cùng mức xếp chồng, không nút nào là ancestor của nút khác. Do đó, trong một cây các tiền tố được biểu diễn bởi các nút có cùng mức xếp chồng thì không chồng chéo lẫn nhau. Vì vậy tập quy tắc chứa trong cùng một bộ mức xếp chồng thì không sinh một quy tắc tích chéo nào cả. Điều này được minh hoạ trong hình 3.7. Ví dụ trong NLT [1,0] có 2 quy tắc r1 và

r6. Các tiền tố của chúng ở trường 1 là 1* và 00*, không tiền tố nào trong đó chi tiết hơn tiền tố khác (do đó không chồng chéo nhau). Tương tự như vậy, chúng dùng chung cùng tiền tố, đó là * ở trường 2. Do đó không cần đến tích chéo nào.

Như vậy với phương pháp xây dựng cây mức xếp chồng và phân chia tập quy tắc tương ứng với bộ mức xếp chồng thì không có tập con nào sinh thêm một quy tắc tích chéo nào cả. Chúng ta gọi các tập quy tắc con như vậy là tập quy tắc con NLT. Sau đây chúng ta sẽ tìm hiểu tiếp phương pháp cải tiến bảng LPM để có thể giảm chi phí lưu trữ dữ liệu cho bảng LPM này.

Một phần của tài liệu Đồ án tốt nghiệp đại học nghiên cứu bộ lọc bloom và ứng dụng (Trang 33 - 35)