0
Tải bản đầy đủ (.pdf) (76 trang)

So sánh KMP và thuật toán KMP mờ

Một phần của tài liệu LUẬN VĂN:TÌM KIẾM MỜ VÀ ỨNG DỤNG TÌM KIẾM THÔNG TIN TRONG CÁC VĂN BẢN NÉN POTX (Trang 41 -42 )

Hình 2.1. Dịch chuyển con trỏ trên mẫu

Giả sử đã xuất hiện khúc đầu độ dài i-1 của P trên S, tính tới vị trí j, có nghĩa đã có P(i - 1) = sufi - 1(S(j - 1)) hay độ mờ tại vị trí j - 1 là j-i = i - 1. Xét ký tự Sj, có thể xảy ra hai khả năng:

+ Trường hợp 1: Sj = Pi (hay độ mờ tại vị trí j là j = i)

Tăng i, j lên 1. Với trường hợp này tốc độ thao tác của thuật toán KMP như trong tiếp cận mờ.

+ Trường hợp 2: Sj Pi (hay độ mờ tại vị trí j là j i)

Trong KMP, con trỏ j trên S giữ nguyên, chỉ dịch chuyển con trỏ trên mẫu (dùng lệnh i:= next[i] (Hình 2.1). Vì vậy phải mất thời gian dịch chuyển theo bảng next, thậm chí nhiều lần. Ví dụ như:

? next [i] P P S i i j-i = i - 1

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

33

Với P = aababaab, sử dụng bảng next (ví dụ 1.1, mục 1.5) để tìm sự xuất hiện của mẫu trong dòng ký tự S như sau:

S = a a c ... j = 3

P = a a b a b a a b i = 3

dịch lần thứ nhất a a b a b a a b i = next[i] = 2

dịch lần thứ 2 a a b a b a a b i = next[i] = 0

Ta thấy có 2 lần dùng i:= next[i] và 2 lần so sánh Sj và Pi (i khác nhau). Nói chung có thể xảy ra nhiều lần dùng next trong khi con trỏ trên S vẫn giữ nguyên. Điều này làm chậm đáng kể so với tiếp cận mờ: mỗi lần nhận một ký tự Sj là một lần điều chỉnh giá trị mờ theo otomat: j = TFuzz (j-1, Sj). Lệnh này thực hiện rất nhanh nếu TFuzz được biểu diễn dưới dạng một mảng và được tính toán cẩn thận trước theo thông tin trên mẫu P.

Kết quả sau so sánh tốc độ thực hiện việc tìm sự xuất hiện mẫu P trong tệp dữ liệu lớn S theo hai thuật toán KMP và tiếp cận mờ trên máy PC IBM tốc độ 233MHz.

Mẫu P Kích thước tệp S TKMP TFuzzy-KMP

1) aababcab 1400 KB 17% s 11% s

2) MDSVF6V 140.000 KB 35 s 30 s

3) bacabccaa 1200 KB 16% s 10% s

4) S068FAB50 140.000 KB 37 s 30 s

Một phần của tài liệu LUẬN VĂN:TÌM KIẾM MỜ VÀ ỨNG DỤNG TÌM KIẾM THÔNG TIN TRONG CÁC VĂN BẢN NÉN POTX (Trang 41 -42 )

×