1 1, Ý tưởng 2, Thực hiện BT Tin 3, Thuận lợi, khó khăn 4, Tổng kết 1, Ý tưởng 2 ng d ng sinh h c:Ứ ụ ọ So sánh chuỗi DNA của hai hay nhiều sinh vật với nhau Một chuỗi DNA bao gồm một chuỗi các phân tử (bases) Base: adenine(A), guanine(G), cytosine(C), và thymine(T) VD: Chuỗi DNA của: Sinh vật 1: S1 =ACCGGTCGAGTGCGCGAAGCCGGCCGAA Sinh vật 2: S2 = GTCGTTCGGAATGCCGTTGCTCTGTAAA ⇒ So sánh 2 chuỗi để chỉ ra được chúng “giống nhau” như thế nào??? 3 1, Ý tưởng ng d ng sinh h c:Ứ ụ ọ So sánh chuỗi DNA của hai hay nhiều sinh vật với nhau Phương pháp: Tìm ra một chuỗi S3 mà các bases của nó xuất hiện cả trong S1 và S2 (những bases này xuất hiện theo cùng thứ tự, không cần thiết liên tiếp nhau). S3 càng dài -> chuỗi S1 và S2 càng “giống nhau” S1 = ACCGGTCGAGTGCGCGAAGCCGGCCGAA S2 = GTCGTTCGGAATGCCGTTGCTCTGTAAA S3 = GTCGTCGGAAGCCGGCCGAA 2, Thực hiện 4 Bài toán dãy con chung dài nh t ấ - Longest Common Subsequence (LCS) Cho hai dãy X = <x1, x2 , …, xm > và Y = <y1,y2 , …, yn>. Tìm dãy con chung dài nh t c a 2 dãy X và Yấ ủ 2.1. Thuật giải: Dùng Quy hoạch động để xây dựng thuật toán: 2 dãy: X = <x1, x2 , …, xm > Y = <y1, y2 ,…, yn> Z = <z1, z2, …, zk> là bất kì LCS của X và Y Nếu xm = yn thì zk = xm = yn và Zk-1 sẽ là một LCS của Xm-1 và Yn-1 Nếu xm ≠ yn thì zk ≠ xm suy ra rằng Z là một LCS của Xm-1 và Y Nếu xm ≠ yn thì zk ≠ yn suy ra rằng Z là một LCS của X và Yn-1 5 2, Thực hiện 2.1. Thuật giải: 6 2, Thực hiện 2.1. Thuật giải: VD: X<A, B, C, B, D, A, B> và Y<B, D, C, A, B, A> Áp dụng giải thuật trên kẻ bảng ta được kết quả như hình: 7 Trong thủ tục trên ta sử dụng biến b[i, j] để ghi nhận tình huống tối ưu khi tính giá trị c[i, j]. Sử dụng biến này ta có thể đưa ra dãy con chung dài nhất của hai dãy X và Y nhơ thủ tục sau đây. 8 2.2. Sơ đồ khối: 2, Thực hiện 2.1. Thuật giải: Đ i 1 c[i,0] 0 i i+1 i >m S Đ j 1 c[0,j] 0 j j+1 j >n Nhập 2 chuỗi X, Y m length(X) n length(Y) S S xi =yj i>m S c[i -1,j] >= c[i, j -1] S c[i,j] c[i,j-1] b[i,j] “ ” j 1 i 1 i i+1 Đ c[i,j] c[i-1,j] b[i,j] “ ” c[i,j] c[i-1,j-1]+1 b[i,j] “ ” Đ Đ j j+1 j>n Dừng Đ S 3, Thuận lợi, khó khăn 9 3.1. Thuận lợi - Bài toán xây dựng có tính ứng dụng trong thực tế cao - Code bao gồm những câu lệnh không quá phức tạp - Nguồn tài liệu phong phú - Mỗi thành viên đều có thể phụ trách từng mảng của bài tập 3.2. Khó khăn - Code bài toán dài 200 dòng, trong quá trình làm khônng tránh khỏi những sai sót, khó tìm lỗi sai - SV chưa thành thạo turbo C, PowerPoint 10 4, Tổng kết: • Mặc dù gặp không ít những khó khăn nhưng nhóm đã cố gắng hoàn thành bài tập lớn • Bài toán trên không tránh khỏi những sai sót, nhóm rất mong nhận được sự góp ý của thầy và các bạn! Mọi ý kiến xin liên hệ: . 2, Thực hiện 4 Bài toán dãy con chung dài nh t ấ - Longest Common Subsequence (LCS) Cho hai dãy X = <x1, x2 , …, xm > và Y = <y1,y2 , …, yn>. Tìm dãy con chung dài nh t c a 2 dãy X. nhận tình huống tối ưu khi tính giá trị c[i, j]. Sử dụng biến này ta có thể đưa ra dãy con chung dài nhất của hai dãy X và Y nhơ thủ tục sau đây. 8 2.2. Sơ đồ khối: 2, Thực hiện 2.1. Thuật. khỏi những sai sót, khó tìm lỗi sai - SV chưa thành thạo turbo C, PowerPoint 10 4, Tổng kết: • Mặc dù gặp không ít những khó khăn nhưng nhóm đã cố gắng hoàn thành bài tập lớn • Bài toán trên