Những nghiên cứu đầu tiên

Một phần của tài liệu Công nghệ nén tệp thực thi Binary Delta và các ứng dụng trong mạng và truyền dữ liệu máy tính (Trang 27)

Trước khi trình bày về giải pháp, chúng ta sẽ nói về các nghiên ban đầụ Hướng nghiên cứu đầu tiên là sử dụng LCS. Như chúng ta đã biết, một LCS có thuộc tính không cần thiết tạo ra một tập phủ của các khối di chuyển. Ví dụ, 2 cặp xâu sau đây đều chứa LCS abc nhưng không chứa xâu chung (được di chuyển) de hoặc xâu chung (được lặp lại) abc. LCS phù hợp được chỉ ra ở bên trái, S(T) ở bên phảị

S = a b c d e S = a b c d e

T = d e a b c T = d e a b c

S= a b c S= a b c

T= a b c a b c T= a b c a b c

Heckel chỉ ra các vấn đề tương tự như vậy với thuật toán LCS và đề xuất một thuật toán (theo thời gian) để dò khối di chuyển [7]. Thuật toán sẽ thực hiện thoả đáng trong trường hợp có các ký tự lặp lại trong xâụ Tuy nhiên, trong các trường hợp khác, thuật toán cho kết quả không tốt. Ví dụ, với hai xâu aabb và bbaa, thuật toán

của Heckel sẽ thất bại trong việc tìm ra xâu chung.

Một sự cải tiến của hướng nghiên cứu LCS là áp dụng việc tách LCS một cách lặp đi lặp lạị Ví dụ, sau khi tìm ra LCS đầu tiên trong ví dụ trên, ta sẽ loại bỏ nó từ xâu đích

T và tính lại LCS. Quá trình này được lặp lại cho tới khi chỉ còn lại một LCS có độ dài 0. Chiến lược phân tách LCS thành công trong việc tìm ra một tập phủ, nhưng không tối thiểụ Ví dụ sau đây minh hoạ:

S = a b c d e a S = a b c d e a T = c d a b T = c d a b

Giả sử rằng S là xâu nguồn, T là xâu đích, biểu đồ bên trái chỉ ra sự phù hợp đạt được qua một thuật toán phân tách LCS. LCS đầu tiên là cda, LCS thứ hai là b. Vì cda

không phải là một xâu con của S, chúng ta sẽ đạt được 3 khối di chuyển. Tập phủ tối thiểu, được chỉ ra ở bên phải, bao gồm 2 khối di chuyển.

Một chiến thuật khác là tìm xâu chung dài nhất hơn là chuỗi chung dài nhất (chuỗi bao gồm các khoảng trắng, xâu thì không có khoảng trắng). Việc tính xâu chung dài nhất một cách lặp lại đã có kết quả trong 1 tập phủ, nhưng không cần thiết tạo tính tối thiểụ Hãy xem ví dụ sau:

S = a b c d e f d e a b S = a b c d e f d e a b

T = c d e a b c T = c d e a b c

Sơ đồ bên trái chỉ ra khối di chuyển đạt được bằng cách tìm kiếm lặp đi lặp lại xâu chung dài nhất của S và T. Kết quả là, ta có một tập của 3 khối di chuyển, mặc dù chỉ 2 khối là tối thiểụ Việc tìm kiếm xâu chung dài nhất là một phương pháp tham lam, vì nó có thể che giấu sự phù hợp tốt hơn.

Một phần của tài liệu Công nghệ nén tệp thực thi Binary Delta và các ứng dụng trong mạng và truyền dữ liệu máy tính (Trang 27)