Chương trình cài đặt bộ lọc Bloom cơ bản

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 56 - 63)

Chương 5: CÀI ĐẶT CHƯƠNG TRÌNH

5.2Chương trình cài đặt bộ lọc Bloom cơ bản

Chức năng: cài đặt thử nghiệm bộ lọc với một tập số nguyên và thực hiện kiểm tra tính chính xác trong thực hiện của bộ lọc, so sánh thời gian thực hiện giữa tìm kiếm đơn thuần và tìm kiếm có kiểm tra qua bộ lọc để thấy được hiệu quả của bộ lọc.

 Menu “File”:

Gồm các lựa chọn:

 Tạo bộ lọc Bloom mới:

Khi tạo mới một bộ lọc Bloom mới thì phải thêm đủ các tham số:

• Số phần tử nạp vào bộ lọc

• Số hàm băm sử dụng

• Độ dài vectơ bit: trong đó độ dài vectơ bit có thể được tính nếu click vào nút .

 Mở bộ lọc Bloom đã tồn tại trên đĩa

 Lưu lại bộ lọc đang sử dụng

 Hiển thị số phần tử của bộ lọc và DataGridView hiển thị tập phần tử:

 Kiểm tra một phần tử:

Chúng ta có thể nhập giá trị phần tử trực tiếp vào ô TextBox hoặc click vào nút “Sinh ngẫu nhiên” thì chương trình tự động sinh ngẫu nhiên một số bất kỳ. Sau đó chúng ta click vào nút “Kiểm tra” thì xuất hiện hai kết quả trong hai ô TextBox là “Kết quả kiểm tra qua bộ lọc” và “Kết quả

tìm kiếm trực tiếp trong tập”. Chức năng cho chúng ta kiểm tra tính đúng đắn của bộ lọc Bloom. Vẫn có trường hợp xảy ra lỗi false positive có nghĩa là “Kết quả kiểm tra qua bộ lọc” là “có” nhưng “Kết quả tìm kiếm trực tiếp trong tập” là “không”. Nhưng không bao giờ xảy ra lỗi false negative tức là “Kết quả kiểm tra qua bộ lọc” là “không” nhưng “Kết quả tìm kiếm trực tiếp trong tập” là “Có”.

 So sánh với một tập phần tử

Trong chức năng này, chúng ta có thể chọn số phần tử để so sánh. Sau đó chúng ta click vào nút sinh ngẫu nhiên để chương trình sinh ngẫu nhiên ra tập phần tử. Chúng ta có thể xem tập ngẫu nhiên đó bằng cách click vào nút “Xem tập ngẫu nhiên”. Và chúng ta click vào nút “So sánh” để chương trình thực hiện vào cho chúng ta kết quả trong giây lát. Kết quả so sánh gồm có:

- Số phần tử lọc có kết quả là có: có nghĩa đây là số phần tử mà sau khi lọc qua bộ lọc Bloom cho kết quả là có và cần phải thực hiện việc tìm kiếm. Còn số phần tử còn lại là số phần tử mà chắc chắn là không có trong tập phần tử nên không cần phải thực hiện việc tìm kiếm.

- Số phần tử có mặt trong tập: đây là số phần tử là số phần tử thực sự có mặt trong tập.

Chúng ta sẽ thấy nếu lấy số phần tử lọc có kết quả là có trừ đi số phần tử có mặt trong tập sẽ ra được kết quả là số phần tử mà bộ lọc cho kết quả là có nhưng khi tìm kiếm là không.

- Tỉ lệ đúng: đây là tỉ số giữa số phần tử mà bộ lọc đã xác định đúng là có mà thực sự là có hoặc lọc là không mà thực sự là không.

- So sánh tốc độ: đây là tỉ số thời gian thực hiện giữa hai quá trình tìm kiếm có lọc qua bộ lọc Bloom và quá trình tìm kiếm trực tiếp không qua bộ lọc.

 Hiển thị kết quả so sánh giữa nhiều bộ lọc đã thực hiện

Bao gồm so sánh về: số phần tử, số hàm băm, độ dài vectơ bit, số phần tử của tập so sánh, số phần tử kiểm tra qua bộ lọc thấy có, số phần tử thực sự có mặt trong bộ lọc, tỉ lệ hoạt động đúng của bộ lọc, tỷ lệ so sánh thời gian so với chỉ tìm kiếm mà không lọc.

Có thể thêm mới kết quả của bộ lọc hiện đang thực hiện hoặc xoá đi kết quả không mong muốn.

5.3 Chương trình cài đặt thuật toán khớp tiền tố dài nhất

Chức năng: cài đặt minh hoạ bài toán khớp tiền tố dài nhất có sử dụng bộ lọc Bloom.

Trong chương trình này em thiết kế có 7 bảng băm với độ dài tiền tố tương ứng là 4, 8, 12, 16, 20, 24, 28. Khi chạy chương trình tự động nạp cơ sở dữ liệu vào từ file text.

Các bước thực hiện chương trình:

 Nhập vào một địa chỉ hoặc chúng ta có thể click vào nút “Sinh ngẫu nhiên” để chương trình có thể sinh ngẫu nhiên cho chúng ta một địa chỉ.

 Click vào nút “Kiểm tra”, dạng nhị phân của địa chỉ sẽ được hiển thị trong ô TextBox “Dạng nhị phân” và vectơ khớp gồm những độ dài tiền tố khớp sẽ được hiển thị trong ô TextBox “Vectơ khớp”.

dài nhất sẽ được chỉ ra trong ô TextBox “Độ dài tiền tố khớp dài nhất” và bước chuyển tiếp theo (next hop) tương ứng hiển thị trong ô TextBox “Bước chuyển tiếp theo”. (adsbygoogle = window.adsbygoogle || []).push({});

 Có thể xem các bảng băm bằng cách click vào nút “Xem các bảng băm” sẽ xuất hiện một cửa sổ như sau:

Chúng ta có thể chọn vào ô ComboBox để xem các bảng băm khác nhau.

5.4 Chương trình cài đặt bài toán phân loại gói tin

Chương trình cài đặt bài toán phân loại gói tin gồm 4 thuật toán: - Thuật toán tích chéo cổ điển

- Thuật toán tích chéo đa tập con

- Thuật toán tìm kiếm không gian NLT - Thuật toán tích chéo và trộn NLT

Mỗi thuật toán được biểu diễn trong một tabPage của TabControl chính. TabPage thứ 5 bao gồm chức năng so sánh thời gian thực hiện của các thuật toán và hiển thị kết quả so sánh đã thực hiện trước đó.

Phía trên giao diện chính gồm có:

 Chọn số phần tử của tập quy tắc và sinh ngẫu nhiên tập quy tắc trong đó các quy tắc không trùng nhau:

 Nhập quy tắc cần phân loại gồm 2 trường địa chỉ nguồn và địa chỉ đích dưới dạng số thập phân hoặc sinh ngẫu nhiên và dạng nhị phân được thể hiện trong TextBox phía dưới.

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 56 - 63)