Phân tích thuật tốn

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một họ thuật toán sánh mẫu Wu-Manber và thực nghiệm (Trang 26 - 29)

CHƯƠNG 1 : BÀI TỐN VÀ THUẬT TỐN SÁNH MẪU

2.1.3. Phân tích thuật tốn

Khi chiều dài của mẫu là ngắn, thời gian tìm kiếm dài. Độ dài của các mẫu ngày càng tăng, thời gian tìm kiếm rút ngắn rõ ràng. Điều đĩ cho thấy rằng thời gian tìm kiếm các ký tự đơi ít hơn một chút so với ký tự đơn. Đĩ là bởi vì hai loại mẫu này đều cĩ cùng khoảng cách dịch chuyển là "1". Khi khoảng cách thay đổi, thời gian kết hợp của ký tựđơi dài hơn so với ký tựđơn.

Khi độ dài của mẫu là dài, thời gian tìm kiếm ngắn. Khi một mẫu ngắn

Khi tỷ lệ của mẫu ngắn tăng, thời gian tìm kiếm sẽ giảm dần. Rõ ràng là mẫu ngắn cĩ ảnh hưởng lớn đến hiệu suất của WM. Điều đĩ là do những lý do sau:

(1) Cơng nghệ dịch chuyển ký tự xấu là vơ nghĩa đối với các mẫu ngắn. Cơng nghệ dịch chuyển ký tự xấu được sử dụng trong WM đểđảm bảo hiệu suất làm việc. Tuy nhiên, khi cửa sổđối sánh nhỏ, cơng nghệ dịch chuyển ký tự xấu sẽ mất lợi thế của nĩ. Kích thước của cửa sổ đối sánh được xác định bởi độ dài của mẫu ngắn nhất. Một khi cĩ tồn tại mẫu ký tự đơn hoặc ký tự đơi, khoảng cách dịch chuyển sẽ luơn là "1", và hiệu suất sẽ giảm rất nhiều.

(2) Cơ chế lọc dựa trên cơng nghệ băm ít ảnh hưởng lên các mẫu ngắn. Cơng nghệ băm được sử dụng để lọc các khối ký tự trong văn bản, thơng qua các hậu tố và tiền tố hai lớp lọc, tốc độ của sánh mẫu được nâng cao. Tuy nhiên, với các mẫu ngắn, cơ chế bộ lọc mất đi chức năng của mình. Ngồi ra, đối với một số mẫu dài cĩ chứa các mẫu ngắn, đối sánh một phần thường xảy ra. Nĩ ảnh hưởng đến hiệu suất của WM.

Ta ước tính thời gian chạy của thuật tốn này với giảđịnh rằng cả văn bản và các mẫu ngẫu nhiên được phân bố đồng đều. Trong thực tế, văn bản và mẫu khơng phải là ngẫu nhiên, nhưng đây là một ước tính thơ về hiệu suất của thuật tốn. Ta thấy rằng thời gian tuyến tính dự kiến ít hơn (nhưng khơng nhiều) so với kích thước của văn bản.

Giả sử N là kích thước của văn bản, P là số lượng mẫu, m là kích thước của một mẫu, M =mP là tổng kích thước của tất cả các mẫu, và giả định rằng

N M. Gi c là kích thước của bảng chữ cái. Ta xác định kích thước của khối

được sử dụng để làm địa chỉ của bảng SHIFT là B = logC2M. Bng SHIFT chứa tất cả các chuỗi cĩ thể cĩ của b, vì vy cb =c[logc2M] 2Mc mục trong bảng

SHIFT. Bng SHIFT được xây dựng trong thời gian O(M) bởi vì mỗi chuỗi con của B được xem xét một lần và phải mất thời gian để kiểm tra nĩ. Chúng ta phân chia thời gian quét vào hai trường hợp. Trường hợp đầu tiên nếu giá trị

SHIFT≠0, trong trường hợp này dịch chuyển được áp dụng và khơng cĩ nhiều cơng việc cần được thực hiện tại vị trí đĩ trong văn bản. Thứ hai là trường hợp phức tạp hơn khi giá trị SHIFT=0, trong trường hợp này chúng ta cần phải đọc nhiều hơn các mẫu, văn bản và tham khảo ý kiến của bảng HASH.

Bổ đề 1: Xác suất mà một chuỗi ngẫu nhiên của B dẫn đến một sự dịch chuyển giá trị của i, 0 im- B +1, là 1/2m.

Chng minh: Với hầu hết các chuỗi P = M / m dẫn đến một giá trị SHIFT của i dịch chuyển trong khoảng 0 im-B+1. Nhưng số lượng của tất cả các

chuỗi cĩ thể cĩ của B ít nht là 2M. Vì vậy, xác suất của một chuỗi ngẫu nhiên

để dẫn đến một giá trị SHIFT của i là 1/2m. Điều này là đúng khi giá trị

SHIFT=0.

Bổ đề 1 cĩ nghĩa là giá trị kỳ vọng của một sự dịch chuyển là M/2. Để

tính tốn hàm băm ta mất O(B), như vậy tổng thời gian làm việc trong các trường hợp khác khơng cĩ sự dịch chuyển là O(BN/m). Lọc thêm bởi các tiền tố

làm cho xác suất của sai số là vơ cùng nhỏ. Chính xác hơn, chúng ta hãy giả sử

rằng B’= B. Xác suất một mẫu nào đĩ cĩ tiền tố và hậu tố như mẫu khác là <1/M, xác suất đĩ là khơng đáng kể. Vì vậy, khối lượng cơng việc đối với trường hợp giá trị SHIFT là 0 cũng là O(B), trừ khi thực sự cĩ một đối sánh (trong trường hợp ta cần phải kiểm tra tồn bộ mẫu với khoảng thời gian O(M)). Kể từ khi giá trị SHIFT 0 xy ra < 1/2m của thời gian (bổ đề 1), tổng thời gian dự kiến cho bước này là O(BN/m).

Thuật tốn này nhanh hơn so với các thuật tốn trước đĩ và cĩ thể hỗ trợ

một số lượng rất lớn - hàng chục ngàn các mẫu. Ngồi ứng dụng là tìm kiếm mẫu, kết hợp nhiều mẫu thay cho dữ liệu lập chỉ mục hoặc sắp xếp trong một số ứng dụng liên quan đến bộ dữ liệu kích thước trung bình và nhỏ.

Trong một dự án khác, để tìm tất cả các file tương tự trong một hệ thống tập tin lớn [Ma94], chúng ta cần một cấu trúc dữ liệu để xử lý các loại tìm kiếm. Các cấu trúc dữ liệu cần thiết được lưu trữ trên đĩa, và hoạt động trên đã được kích hoạt bởi người sử dụng. Tìm kiếm từ khố duy nhất là một trong những vấn

đề cấu trúc dữ liệu cơ bản nhất và cĩ nhiều tùy chọn để xử lý nĩ, kỹ thuật phổ

biến nhất là sử dụng băm hoặc cấu trúc cây. Nhưng khi chúng ta phải tìm kiếm nhiều từ khĩa cùng một lúc, ngay cả với các băm hiệu quả, hầu hết các trang sẽ được lấy vào. Và nếu dữ liệu được lấy từ đĩa theo bất kỳ một cách nào, kết hợp nhiều mẫu sẽ cung cấp một giải pháp đơn giản mà hiệu quả. Ta khơng cần sắp xếp hoặc cung cấp bất kỳ cấu trúc khác, chỉ cần đặt một bản ghi cùng với nhận dạng của nĩ trên mỗi dịng. Sau đĩ, ta sử dụng agrep với khả năng đa mẫu. Những lợi ích của phương pháp này là:

1) khơng cần bất kỳ khơng gian bổ sung cho các cấu trúc dữ liệu. 2) khơng cần tiền xử lý hoặc tổ chức cấu trúc dữ liệu (ví dụ, phân loại) 3) tìm kiếm linh hoạt hơn, ví dụ: các từ khĩa cĩ thể được tìm thấy trong bất kỳ chuỗi nào.

Tất nhiên, nếu tổng số trang vượt xa số lượng của các từ khĩa cần phải

kích thước trung bình và nhỏ, đây là một giải pháp tốt. Ta tin rằng nĩ cĩ thể được sử dụng trong một loạt các tình huống tương tự. Một ví dụ khác là vấn đề

giao nhau. Phương pháp phổ biến cho việc tìm kiếm tất cả các bản ghi chung của hai tập tin là sắp xếp hai tập tin và hợp nhất. Với phương pháp này, khơng cần phải sắp xếp, và tiền xử lý chỉ thực hiện trên các tập tin nhỏ.

Ứng dụng khác là “so sánh và thay thế”, được gọi là mar. Mỗi mẫu kết hợp với một mẫu thay thế. Khi một mẫu phát hiện ra, nĩ được thay thế ở đầu ra bằng “thay thế” của nĩ. Một chi tiết tinh tế trong thuật tốn là chúng ta phải thay

đổi chiều dài của các mẫu cho phù hợp sau khi nĩ được phát hiện để tránh thay thế chồng chéo.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một họ thuật toán sánh mẫu Wu-Manber và thực nghiệm (Trang 26 - 29)

Tải bản đầy đủ (PDF)

(55 trang)