Thuật toán quy hoạch động

Một phần của tài liệu Phân tích trình tự trong tin sinh học và ứng dụng trên cơ sở dữ liệu genome tôm sú (Trang 36 - 39)

Bài toán sắp hàng đa trình tự là bài toán tổng quát của bài toán sắp hàng hai trình tự. Chúng ta có thể tổng quát hóa thuật toán quy hoạch động [4] cho bài toán sắp hàng hai trình tự để tìm lời giải tối ƣu cho bài toán sắp hàng đa trình tự.

Để hiểu một cách dễ dàng cách tổng quát hóa thuật toán quy hoạch động cho bài toán sắp hàng đa trình tự, chúng ta sẽ giải quyết bài toán sắp hàng 3 trình tự

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

1,..., p

X x x , Y y1,...,yq , Z z1,...,zt . Nhắc lại, Xi x1,...,xi là trình tự tiền tố chứa i kí tự đầu tiên của trình tự X.

Thuật toán quy hoạch động để sắp hàng ba trình tự X, Y, Z đƣợc mô tả chi tiết bao gồm những bƣớc chính sau:

Bước 1: Tìm bài toán cơ sở mà nghiệm tối ƣu của bài toán đó có thể dễ dàng tìm đƣợc. Trong trƣờng hợp bài toán sắp hàng ba trình tự thì bài toán cơ sở là sắp hàng ba trình tự có độ dài bằng 0. Nghiệm tối ƣu của bài toán cơ sở là 0.

Bước 2: Xây dựng công thức truy hồi để tìm nghiệm tối ƣu của bài có kích thƣớc lớn dựa trên nghiệm của các bài toán có kích thƣớc nhỏ hơn. Trong trƣờng hợp bài toán sắp hàng ba trình tự, nghiệm tối ƣu của bài toán với ba trình tự tiền tố p, q, t

X Y Z đƣợc xây dựng trên nghiệm tối ƣu của bảy bài toán có kích thƣớc nhỏ hơn là:

Nghiệm của bài toán với ba trình tự tiền tố 1 1 1

, ,

p q t

X Y Z

Nghiệm của bài toán với ba trình tự tiền tố 1 1

, ,

p q t

X Y Z

Nghiệm của bài toán với ba trình tự tiền tố 1 1

, ,

p q t

X Y Z

Nghiệm của bài toán với ba trình tự tiền tố 1

, ,

p q t

X Y Z

Nghiệm của bài toán với ba trình tự tiền tố 1 1

, ,

p q t

X Y Z

Nghiệm của bài toán với ba trình tự tiền tố 1

, ,

p q t

X Y Z

Nghiệm của bài toán với ba trình tự tiền tố 1 , ,

p q t

X Y Z

Bước 3: Từ bảng lƣu nghiệm của các bài toán với kích thƣớc khác nhau, xây dựng nghiệm của bài toán với dữ liệu đầu vào.

Thuật toán quy hoạch động sắp hàng ba trình tự ADN

Dữ liệu vào: Ba trình tự ADN: X x1,...,xp , Y y1,...,yq , Z z1,...,zt . Ma trận điểm C thể hiện mức độ giống nhau giữa các ký tự thuộc tập ký tự

, , , ,

A C G T

A .

Yêu cầu: Sắp hàng ba trình tự X, Y và Z để tổng điểm giống nhau là lớn nhất. Đầu ra: Ba trình tự X, Y và Z là kết quả của việc sắp hàng.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Ý tưởng. Gọi:

1,...,

i

i

X x x : Trình tự tiền tố gồm i nucleôtít đầu tiên của X;

1,...,

j

j

Y y y : Trình tự tiền tố gồm i nucleôtít đầu tiên của Y;

1,...,

v

v

Z z z : Trình tự tiền tố gồm i nucleôtít đầu tiên của Z;

, , i, j, v

F i j v f X Y Z : Tổng điểm lớn nhất (nghiệm tốt nhất) khi sắp hàng ba trình tự tiền tố X Yi, j,Zv

Dễ thấy F 0,0,0 0 là nghiệm tối ƣu của bài toán cơ sở sắp hàng ba trình tự rỗng

0 0 0 , ,

X Y Z .

Ta nhận thấy có bảy khả năng xảy ra khi so sánh ba nuclêôtít x y zi, j, v , , i j v x y z cùng một cột , , i j x y cùng một cột , , i v x z cùng một cột , , i x cùng một cột ,y zj, v cùng một cột ,yj, cùng một cột , ,zv cùng một cột

Tức là, chúng ta có thể tính F i j v, , bằng công thức truy hồi nhƣ sau:

1, 1, 1 , , 1, 1, , , 1, , 1 , , 1, , , , , , , 1, 1 , , , 1, , , , , 1 , , i j v i j i v i j v j v F i j v f x y z F i j v f x y F i j v f x z F i j v f x F i j v Max F i j v f y z F i j v f y F i j v f z (2.7)

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Trong đó, F x y z, , C x y, C x z, C y z, là điểm giống nhau khi sắp ba ký tự

x, y, z vào cùng một cột trên ba trình tự sắp hàng.

Thuật toán:

Bước 1: Khởi tạo giá trị F 0, 0, 0 0cho bài toán cơ sở 0 0 0 , ,

X Y Z

Bước 2: Với mọi cặp giá trị i j v i, , , 1.. ,p j 1.. ,q v 1..t, tính giá trị

, ,

F i j v cho cặp tiền tố X Yi, j,Zv theo công thức 2.6.

Bước 3 : Gọi F p q t, , là nghiệm tốt nhất của bài toán sắp hàng cho ba trình tự X, Y và Z. Sử dụng bảng F để thực hiện chèn các kí tự ' ' vào ba trình tự X,Y Z để thu đƣợc ba trình tự sắp hàng X, Y và Z tƣơng ứng.

Ví dụ với ba trình tự X = „TGACGT‟, Y = „TGACTT‟ và Z = „CGACT‟, ta xây dựng đƣợc bảng F với giá trị lớn nhất F(6, 6, 5) = 19 tƣơng ứng với sắp hàng ở Bảng 2.13. Bảng 2.13. Sắp hàng tối ứu ba trình tự X, Y, Z 1 2 3 4 5 6 7 8 9 10 Trình tự X A C T A C G G T T Trình tự Y A G T G A C G G G T , f X Y 2 -1 2 -2 2 2 2 2 -1 2

Độ phức tạp của thuật toán quy hoạch động cho bài toán sắp hàng ba trình tự là 3

2

O p q t .

Trong trƣờng hợp tổng quát, độ phức tạp của thuật toán quy hoạch động cho bài toán sắp hàng n trình tự là O 2n kn với k là độ dài của đa sắp hàng. Chúng ta dễ dàng nhận thấy thuật toán này chỉ khả thi với số lƣợng trình tự là nhỏ. Với các sắp hàng có lƣợng trình tự lớn chúng ta phải áp dụng các phƣơng pháp gần đúng để giải quyết.

Một phần của tài liệu Phân tích trình tự trong tin sinh học và ứng dụng trên cơ sở dữ liệu genome tôm sú (Trang 36 - 39)