Sử dụng Mô hình Markov ẩn(Hidden Markov Model-HMM)

Một phần của tài liệu Các kỹ thuật toán học cho bài toán so sánh đa trình tự (Trang 32 - 35)

4- NGÀY HOÀN THÀNH NHI ỆM VỤ :

2.3.5.Sử dụng Mô hình Markov ẩn(Hidden Markov Model-HMM)

Áp dụng mô hình Markov ẩn để mô hình hóa bài toán so sánh nhiều trình tự. Ý tưởng của phương pháp này là sử dụng mô hình Markov ẩn để biểu diễn MSA(được giới thiệu bởi Eddy(1995) [8]), sau đó tối ưu khả năng mà một mô hình HMM có thể biểu diễn cho các sequence đã được align. Trong mô hình này các nucleotide(A,C,T,G) hoặc 23 amino acid sẽ là tập các ký tự. Các trạng thái của mô hình sẽ thuộc 3 loại trạng thái: match, insert, delete. Mỗi ký tự sẽ có 1 xác suất xuất hiện nhất định tại mỗi trạng thái. Giữa các trạng thái sẽ có xác suất chuyển đổi từ trạng thái này sang trạng thái khác. Dựa trên mô hình này mỗi chuỗi trình tự bất kỳ trong

sinh học sẽ được sinh ra bằng một con đường tập các trạng thái. Tập hợp các trạng thái của các chuỗi trình tự trong mô hình HMM sẽ là 1 kết quả của bài toán so sánh nhiều trình tự. Và như vậy bài toán so sánh nhiều trình tự sẽ trở thành bài toán tìm xác suất điều kiện cực đại của các chuỗi trình tự khi biết mô hình.

Hình 2.12 Mô hình Markov cho bài toán MSA.

Hình trên minh họa quá trình sinh ra một kết quả của phép so sánh giữa 2 trình tự từ mô hình Markov. Trạng thái match được biểu diễn bằng các hình chữ nhật, trạng thái insert được biểu diễn bởi các hình thoi, trạng thái delete được biểu diễn bởi các hình tròn.

Bài toán tìm xác suất cực đại của các chuỗi trình tự trong mô hình có thể được giải quyết bằng nhiều kỹ thuật: giải thuật Viterbi, Forward-Backward Algorithm, Baum-Welch Algorithm…

Khác với các phương pháp ở trên phụ thuộc vào cơ chế đánh giá(hàm đánh giá). Mô hình HMM sẽ xây dựng bài toán so sánh nhiều trình tự dựa trên chính bản thân thông tin của các trình tự, sự biến đổi của các thông số đánh giá sẽ do chính bản thân các trình tự quyết định. Phần mềm hiện thực theo phương pháp này: HMMT.

Ngoài các phương pháp được trình bày ở trên, vẫn còn một số phương pháp tiếp cận khác để giải quyết bài toán như mạng Neuron …

Tựu trung lại các phương pháp đều có điểm mạnh và điểm khuyết của chúng trong việc giải bài toán so sánh nhiều trình tự. Tuy nhiên như tôi đã trình bày không một phương pháp nào có thể gọi là hoàn hảo và chiếm ưu thế tuyệt đối, tất cả các phương pháp đều hướng đến việc tìm ra một lời giải gần tốt nhất với khoảng thời gian

A1 A2 A3 A4 A5

hợp lý, thay vì hướng đến việc tìm ra lời giải tốt nhất với một khoảng thời gian của một bài toán NP. Trong các phương pháp trên phương pháp dynamic programming là phương pháp ra đời sớm nhất, rất hiệu quả với bài toán so sánh 2 trình tự(PSA), tuy nhiên lại không thật sự tốt với bài toán MSA có dữ liệu lớn, điều này có thể được khắc phục nếu tiếp cận thuật giải theo hướng Progressive Algorithm, xây dựng một sự cải tiến bằng cách kết hợp các kỹ thuật heuristic trong quá trình xử lý, giảm thiểu không gian tìm kiếm, loại bỏ cách tiếp cận dynamic programming truyền thống(xây dựng ma trận đánh giá k chiều), đưa về bài toán xử lý dựa trên việc đánh giá tất cả các bài toán so sánh 2 trình tự được sinh ra từ các trình tự của bài toán MSA. Phương pháp dựa trên Progressive Algorithm này sẽ cho phép giảm độ phức tạp của giải thuật, tăng tốc độ tính toán, giúp tìm kiếm lời giải trong khoảng thời gian ngắn, mà vẫn đáp ứng được lời giải gần tốt nhất trong hầu hết các trường hợp. Trong phạm vi nghiên cứu của mình tôi xin đề xuất phương pháp thực hiện này cho việc giải quyết bài toán MSA. Gii pháp

Chương 3. CƠ S LÝ THUYT VÀ PHƯƠNG PHÁP THC HIN

Chương này xin được giới thiệu về phương pháp quy hoạch động, phương pháp Progressive Algorithm sử dụng heuristic dựa trên quy hoạch động để giải bài toán.

Một phần của tài liệu Các kỹ thuật toán học cho bài toán so sánh đa trình tự (Trang 32 - 35)