Thuật tốn WM sử dụng bảng tiền tố

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 38 - 39)

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

2.4. Thuật tốn WM sử dụng bảng tiền tố

Đồng thời với thuật tốn HCWM, Baojun Zhang và cộng sự, 2009 [ZCP09] đã đề xuất thêm một phiên bản cải tiến thuật tốn WM dựa trên cơ chế

sử dụng bảng lọc mẫu tiền tốđể tăng tốc độ hoạt động của thuật tốn; phiên bản này được gọi là thuật tốn WM sử dụng bảng tiền tố (Address Filtering Based WM: AFWM).

2.4.1. Ci tiến ca thut tốn

Trong WM, khi danh sách liên kết được tìm thấy qua bảng HASH, các con trỏ địa chỉ của mẫu trong danh sách liên kết phải thỏa mãn

HASH[hash(sbc)] p<HASH[hash(sbc) +1].

Cải tiến trong thuật tốn AFWM là ở chỗ sử dụng giá trị hash của tiền tố

và một danh sách liên kết tiền tốđể tra tìm trong bảng PREFIX của WM. Trong danh sách liên kết tiền tố, tất cả các mẫu cĩ cùng tiền tố sẽ được sắp xếp tăng dần theo con trỏđịa chỉ của mẫu. Vì vậy, chỉ cần so sánh những mẫu cĩ con trỏ địa chỉ xác định trong phạm vi [HASH[hash(sbc), HASH[hash(sbc)+1]. Khi các

mẫu trong danh sách liên kết tiền tốđược sắp xếp tăng dần theo địa chỉ con trỏ, thì khi địa chỉ con trỏ ≥ HASH[hash(sbc) +1], quá trình tìm kiếm được hồn thành ngay lập tức.

Cải tiến này cĩ hai lợi thế. Đầu tiên, khơng cần phải tính tốn giá trị băm của các tiền tố cho các mẫu trong danh sách liên kết hậu tố. Thứ hai, khơng cần phải xem xét tồn bộ danh sách liên kết tiền tố.

2.4.2. Giai đon tin x lý và tìm mu trong AFWM

AFWM cĩ hai giai đoạn, tiền xử lý và tìm kiếm mẫu.

a) Quá trình tin x

Giai đoạn tiền xử lý bao gồm các cơng đoạn sau. (1) Thiết lập bảng HASH.

(2) Thiết lập bảng SHIFT.

(3) Thiết lập bảng PREFIX. Các mẫu trong danh sách liên kết được sắp xếp tăng dần theo con trỏđịa chỉ .

b) Quá trình tìm mu

Giả sử kích thước của cửa sổđối sánh là "m", độ dài của khối ký tự là "B = 2".

(1) Xác định vị trí cửa sổ so sánh ở đầu văn bản "T". Trỏ con trỏ "Tp" vào hậu tố của cửa sổđối sánh.

(3) Tính tốn giá trị băm "sh" các hậu tố của các ký tự văn bản bên trong cửa sổđối sánh và tra bảng "SHIFT", nếu "SHIFT[sh]>0", Tp= Tp + SHIFT[sh],

quay trở lại bước (2). Nếu khơng, chuyển tới bước (4) .

(4) Tra bảng “HASH” với giá trị băm “sh”, tìm danh sách liên kết các mẫu cĩ cùng hậu tố lại với nhau. Các con trỏ địa chỉ của những mẫu này thỏa mãn

điều kiện HASH[sh] p< HASH[sh+1].

(5) Tính tốn giá trị băm“ph” các tiền tố của các ký tự văn bản bên trong cửa sổ so sánh và tra bảng “PREFIX”, tìm danh sách liên kết tiền tố, bắt đầu xem xét từ đầu danh sách, nếu con trỏ địa chỉ của mẫu đặt trong phạm vi

([HASH[sh],HASH[sh+1]), thì dừng lại, hoặc nếu khơng, chuyển đến con trỏ kế

tiếp, tiếp tục như vậy cho đến khi con trỏ ≥ HASH[sh +1]. Trong quá trình sánh mẫu, nếu xuất hiện các mẫu phù hợp, ghi lại kết quả. Tp=Tp+1, chuyển tới bước (2).

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 38 - 39)

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

(55 trang)