Giải thuật Smith – Waterman

Một phần của tài liệu Gióng hàng văn bản song ngữ anh việt (Trang 45 - 48)

Các bước cơ bản cho các thuật toán tương tự như thuật toán Needleman – Wunsch:

– Khởi tạo ma trận với số điểm ban đầu. – Điền ma trận.

– Quay lui tìm chuỗi gióng hàng thích hợp. Xét hai trình tự như sau:

CGTGAATTCAT (trình tự A) GACTTAC (trình tự B)

4.2.2.1. Khởi tạo ma trận

Hai trình tự được sắp xếp theo dạng ma trận với + 1 cột và + 1 hàng. Các giá trị trong hàng đầu tiên và cột đầu tiên được thiết lập bằng0 như trong Hình4.9.

Ký hiệu được sử dụng:

– , là hàng và cột của ma trận. – là ma trận giá trị.

– là số điểm của các ô ( , ) trên ma trận. – là điểm phạt cho khoảng cách sinh ra.

4.2.2.2. Bước điền đầy ma trận

Bước thứ hai và cũng là bước quan trọng của thuật toán,bước điền đầy toàn bộ ma trận, điều quan trọng là phải biết giá trị hàng xóm (đường chéo, phía trên và bên trái) của ô hiện tại để tính ra giá trị cần điền:

, = max[ , + , , , + , , + , 0] (4.2)

Theo các giả thiết đã nêu, lấp đầy toàn bộ ma trận bằng cách sử dụng công thứctính điểm và các giá trị khởi tạo ban đầu. Điền vào dòng 1 và cột 1 với ma trận điểm như sau.

Cặp thành phần đầu tiên trong cả hai trình tự là “C” và “G”, số điểm ứng với trường hợp phù hợp hoặc số điểm ứng với trường hợp không hợp sẽ được thêm vào giá trị láng giềng là đường chéo trên. Các giá trị ở phía trên và bên trái còn được bổ sung thêm số điểm phạt từ khoảng cách. Vì vậy, phương trình tính điểm được thể hiện như sau:

, = max , + , , , + , , + , 0

= max[0 + (−3), 0 + (−4), 0 + (−4), 0] = max[−3, −4, −4,0]

= 0

Từ phép tính trên ta thu được giá trị lớn nhất là 0. Tìm giá trị lớn nhất của , kết hợp với giá trị 0, có thể nhận thấy rằng không có khả năng để ma trận có thể nhận bất kỳ giá trị âm nào.

Hình 3.10: Ma trận sau khi được điền đầy

Mỗi ô được trỏ ngược lại bởi một hoặc nhiều con trỏ tới nơi số điểm cực đại đã được thu được.

4.2.2.3. Bước quay lui

Bước cuối cùng trong thuật toángióng hàng là lần ngược tìm bộ các thành phần đã được đánh dấu.Đầu tiên phải tìm ra số điểm cực đại đạt được trong toàn bộ ma trận. Giá trịcực đại đó có thể có mặt trong nhiều hơn một ô, tức là có thể có hai hoặc nhiều sự sắp xếp tốt nhất.

Trong ví dụ này, chúng ta có thể thấy giá trịcực đại trong ma trận là 18, tương ứng có hai vị trí trong ma trận điểm.

Quá trình quay lui bắt đầu từ vị trí có giá trị cao nhất, dựa vào con trỏ để tìm ra ô nào đã đi đến nó, sau đó di chuyển với ô đó và tiếp tục cho đến khi chúng ta đạt được giá trị 0 (Hình 4.11).

Có thể có hai con trỏ đi ra từ một ô, khi đó sẽ phải cân nhắc cả hai cách gióng hàng.

Hình 4.12: Bước quay lui bắt đầu từ một cực đại khác của ma trận điểm Kết quả của phương pháp gióng hàng địa phương được chỉ ra như trong Hình 4.13.

Hình 4.13: Kết quả của phương pháp gióng hàng địa phương

Hai sự sắp xếp có thể được đưa ra với cùng một cách cho điểm:trường hợp phù hợp là 5, không phù hợp là -3 và khoảng cách là -4. Dựa vào tổng tất cả các điểm thành phần và điểm tronggióng hàng để tính được độ tương tự của cặp gióng hàng tốt nhất đó.

Một phần của tài liệu Gióng hàng văn bản song ngữ anh việt (Trang 45 - 48)