Khi tìm kiếm trên văn bản nén hoặc mã hoá, bài toán bơ bản đặt ra như sau: Cho mẫu P là một xâu độ dài m (P = P1,P2,...Pm) trên bảng chữ A. Xâu vào S được nén hoặc mã hoá thành xâu Y = Y1Y2...Yn trên bảng chữ B bằng một phương pháp nén (hoặc mã hoá) đã biết trước. Tìm tất cả các xuất hiện của mẫu P trên Y.
Đối với những văn bản nén, mặc dù đem lại hiệu quả rõ rệt về mặt lưu trữ, quản lý, tổ chức và chuyển tải, song lại làm mất đi phần lớn cấu trúc của dữ liệu, dẫn đến khó khăn cho việc tìm kiếm và trích rút thông tin. Cách đơn giản nhất rất tốn thời gian (và khó khả thi với những văn bản quá lớn) là giải nén toàn bộ rồi tiến hành tìm kiếm bằng một thuật toán so mẫu kinh điển. Hiện nay đã có nhiều giải pháp tốt hơn cho phép tìm kiếm trực tiếp trên dữ liệu nén mà không cần giải nén hoặc chỉ giải nén một phần. Tìm kiếm không giải nén được gọi là so mẫu nén (full- compressed pattern matching hay còn gọi là compressed pattern matching), trong đó mẫu được nén rồi đem so với văn bản nén. Tuy nhiên phương pháp này nhiều khi không khả thi, đặc biệt là với những thuật toán nén có sử dụng các biểu diễn khác nhau cho cùng một xâu con, tuỳ thuộc vào ngữ cảnh của xâu con đó. Một kỹ thuật khác là so mẫu trên miền nén (compressed-domain pattern matching), trong đó sử dụng biện pháp giải nén bộ phận trên văn bản, nhờ đó mà tránh được một số hạn chế của phương pháp so mẫu nén mà vẫn đảm bảo không phải giải nén toàn bộ.
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
48
Hình 3.1. Phương pháp so mẫu trên miền nén có sử dụng otomat mờ Cải tiến từ thuật toán so mẫu KMP - BM mờ được giới thiệu ở Chương 1, một thuật toán theo kiểu so mẫu trên miền nén được đưa ra. Giải pháp này phù hợp với những văn bản đã được nén bằng bất kỳ phương pháp nén nào mà có giải nén là một khối kí tự. Ưu điểm quan trọng của việc sử dụng thuật toán KMP-BM mờ trên dữ liệu giải nén cục bộ so với các thuật toán kinh điển (như KMP, BM,...) là không cần lưu lại bất kỳ kí tự nào mà đã duyệt qua, đồng thời có tốc độ nhanh nhờ những bước dịch chuyển xa trên khối dữ liệu tìm kiếm, song việc cài đặt lại đơn giản. Ý tưởng chung của các thuật toán so mẫu trên miền nén có sử dụng tiếp cận otomat mờ được mô tả trong Hình 3.1.
Văn bản nén Vùng đệm Otomat so mẫu Mẫu P Tiền xử lý
Độ mờ xuất hiện mẫu P Giải nén cục bộ
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
49
Hình 3.2. Phương pháp so mẫu không giải mã
Nén dữ liệu text thực chất là một quá trình mã hóa, vì vậy thuật toán tìm kiếm trên văn bản nén có thể áp dụng đối với văn bản mã hóa dạng khối kí tự. Tuy nhiên, đối với các văn bản mã hóa, yêu cầu về tính bảo mật là rất quan trọng. Mặc dù dữ liệu giải nén cục bộ chỉ được lưu giữ một thời gian ngắn trên bộ nhớ trong, song không thể chắc chắn đây không là một sơ hở để lộ thông tin. Để nâng cao tính bảo mật, tránh rò rỉ thông tin ngay trong quá trình tìm kiếm, ý tưởng tìm kiếm xâu mẫu trong văn bản mã hóa mà không cần giải mã cục bộ được đưa ra. Phương pháp này được gọi là so mẫu không giải mã. Khả năng này có được chính là nhờ sử dụng tiếp cận otomat cho quá trình tìm kiếm. Hình 3.2 mô tả ý tưởng chung của các phương pháp so mẫu không giải mã. Trong Mục
Tiền xử lý Mẫu P Nếu được 1 từ mã Đọc một ký tự thuộc bản mã Văn bản mã hoá Otomat đoán nhận một từ mã Otomat so mẫu Đọc một ký tự thuộc bản mã
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
50
3.2.3.3 sẽ trình bày một ứng dụng cụ thể kiểu so mẫu không giải mã, áp dụng trên văn bản mã hóa bởi mã đàn hồi (đây là một dạng mã dựa trên tích đàn hồi được giới thiệu trong [HN]).
Với tiếp cận otomat mờ, các thuật toán tìm kiếm chính xác trên văn bản nén và mã hóa được trình bày ở đây có thể dễ dàng chuyển đổi sang tìm kiếm gần đúng bằng cách sử dụng những otomat so mẫu xấp xỉ đã giới thiệu ở trên.