NHIỆM VỤ VÀ NỘI DUNG: Nhiệm vụ của đề tài là nghiên cứu phối hợp kỹ thuật luyện kim Simulated Annealing với giải thuật di truyền Genetic Algorithm, từ đó song song hoá giải thuật để g
Trang 1Đại học Quốc gia TP Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA
––––––––––––––––
NGUYỄN NGỌC TÚ
MỘT SỐ VẤN ĐỀ VỀ VIỆC SO SÁNH VÀ TÌM KIẾM CÁC ĐA PHÂN TỬ SINH HỌC NHƯ DNA, PROTEIN
Chuyên ngành: Công Nghệ Thông Tin
Mã số ngành: 01.02.10
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, THÁNG 01 NĂM 2005
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỌI CHỦ NGHĨA VIỆT NAM
Tp HCM, ngày 31 tháng 01 năm 2005
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên: NGUYỄN NGỌC TÚ Phái: Nam
Ngày tháng năm sinh: 03- 12 - 1979 Nơi sinh: Hà Tây
I TÊN ĐỀ TÀI: Một số vấn đề về việc so sánh và tìm kiếm các đa phân tử sinh học
như DNA và Protein
II NHIỆM VỤ VÀ NỘI DUNG:
Nhiệm vụ của đề tài là nghiên cứu phối hợp kỹ thuật luyện kim (Simulated
Annealing) với giải thuật di truyền (Genetic Algorithm), từ đó song song hoá giải
thuật để giải quyết bài toán so sánh các trình tự sinh học
III NGÀY GIAO NHIỆM VỤ (Ngày bảo vệ đề cương) : 09-02-2004
IV NGÀY HOÀN THÀNH NHIỆM VỤ(Ngày bảo vệ luận án tốt nghiệp):20-01-2005
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Tiến sĩ Trần Văn Lăng
CÁN BỘ HƯỚNG DẪN CN BỘ MÔN QL CHUYÊN NGÀNH
Trang 3TÓM TẮT
Luận án này có nhiệm vụ giải quyết bài toán so sánh tương đồng đa trình tự sinh học như các chuỗi trình tự DNA và protein Bài toán so sánh tương đồng là bài toán nền tảng cho mọi hoạt động phân tích dữ liệu trong sinh học và là bài toán có độ phức tạp lớn tương tự như bài toán người bán hàng - TSP Luận án đề xuất hướng tiếp cận mới giải quyết bài toán bằng cách kết hợp chính giữa kỹ thuật luyện kim và giải thuật di truyền Giải pháp được thực hiện qua hai giai đoạn: (i) so sánh từng cặp trình tự để xác định mối quan hệ tìm một số trường hợp tốt nhất có thể để làm các giải pháp ban đầu và ghi nhận một số thông tin nhằm làm cơ sở cho quá trình tìm kiếm giải pháp tốt hơn trong giai đoạn sau; (ii) sử dụng giải thuật lai giữa kỹ thuật luyện kim và giải thuật di truyền nhằm tận dụng các đặc tính tốt của hai giải thuật để tìm kiếm giải pháp gần tối ưu từ giải pháp ban đầu
Trang 4ABSTRACT
This thesis mainly focuses on multi-alignment for solving the problems of DNA and protein Multi-alignment is a base of many complex dada analyzing activities in biology that has the same complex level as TSP problem Thesis present a new hybrid algorithm that combines the strengths of a genetic algorithm and simulated annealing That method
is divided into two phases: (i) using heuristics and pairwise alignment to gain some initial solutions; (ii) using genetic and simulated annealing algorithm to improve the quality of solution that find out better results We perform experiments on real data sets and obtains high quality solution within a short time
Trang 5LỜI CẢM ƠN
Trước tiên em xin gởi lời cảm ơn chân thành đến Thầy TS Trần Văn Lăng, không chỉ là một người Thầy tận tuỵ mà còn là một "đồng nghiệp" đã cố gắng vun đắp và nâng đỡ các thế hệ đi sau
Em xin cảm ơn các Thầy cô trong khoa đã góp công vun đắp nên nền móng tri thức cho các thế
hệ học viên chúng em Em xin cảm ơn Thầy TS Dương Tuấn Anh, Thầy TS Cao Hoàng Trụ đã
để lại trong em những dấu ấn khó phai về lòng nhiệt huyết và phong cách làm việc của mình
Con xin được ghi lên đây lời biết ơn với bố mẹ, với biết bao khó nhọc chỉ mong mỏi và kỳ vọng
để con được nên người
Xin cảm ơn các anh chị cùng lớp CHCNTTK13 với tinh thần thi đua và những tấm gương cố gắng học tập đã cổ vũ và khích lệ cho em rất nhiều trong bước đường khám phá tri thức và tự khẳng định mình và cũng là để thấy được lối đi tới trở thành nhà khoa học chân chính
Không thể thiếu lời cảm ơn tới các đồng nghiệp Phân Viện CNTT, nhất là các thành viên dự án Sinh tin học đã trao đổi, động viên và giành thời gian cho tôi hoàn tất luận án này
Trang 6MỤC LỤC
TÓM TẮT i
ABSTRACT ii
LỜI CẢM ƠN iii
MỤC LỤC iv
DANH MỤC CÁC HÌNH VÀ GIẢI THUẬT vii
Chương 1 GIỚI THIỆU 1
1.1 Đặt vấn đề: 1
1.2 Bài toán so sánh trình tự 2
1.1.1 Ý nghĩa sinh học hiên quan bài toán : 2
1.1.2 Cơ sở sinh học và mô hình toán học: 3
Chương 2 TỔNG QUAN VỀ SO SÁNH TRÌNH TỰ 11
2.1 Phương pháp so sánh trình tự 11
2.1.1 So sánh cặp trình tự: 11
2.1.2 So sánh đa trình tự: 13
2.2 Các nghiên cứu liên quan chính: 14
2.2.1 Giải thuật gióng cột toàn cục Needleman-Wunsch 14
2.2.2 Giải thuật gióng cột cục bộ Smith-Waterman: 15
2.2.3 Giải thuật ClustalW: 15
2.2.4 Giải thuật SAGA: 16
2.2.5 Giải thuật T-Coffee: 18
Chương 3 KỸ THUẬT MÔ PHỎNG LUYỆN KIM 20
3.1 Tổng quan về kỹ thuật luyện kim: 20
3.2 Vấn đề liên quan tới kỹ thuật luyện kim: 22
3.2.1 Nhiệt độ ban đầu 22
3.2.2 Nhiệt độ cuối 22
3.2.3 Thời biểu nhiệt độ 23
3.2.4 Số bước lặp 23
3.2.5 Mối quan hệ tương quan: 23
Chương 4 GIẢI THUẬT DI TRUYỀN 25
4.1 Tổng quan về giải thuật di truyền: 25
4.2 Các phép toán trong thuật giải di truyền: 26
4.2.1 Chọn lọc 26
4.2.2 Lai ghép 27
4.2.3 Đột biến 27
4.3 Giải thuật di truyền song song: 28
4.3.1 Các mô hình song song: 28
Trang 74.3.2 Song song dạng chủ/tớ: 29
4.3.2.1 Quần thể con có di trú: 30
4.3.2.2 Các quần thể con có sự chồng lấp, không có di trú: 31
4.3.2.3 Giải thuật di truyền song song khối lớn: 32
4.3.2.4 Các quần thể con động: 32
4.3.3 Các phương pháp lai: 32
Chương 5 GIẢI THUẬT KẾT HỢP 34
5.1 Tổng quát 34
5.2 Ý tưởng giải thuật 34
5.3 Phương pháp 34
5.3.1 Tìm bộ m ký tự (m-tuple) 36
5.3.2 Gióng cặp trình tự 36
5.3.3 Thông tin phân mảnh 38
5.3.4 Tạo cây phân loài 39
5.3.5 Tạo quần thể ban đầu 40
5.3.5.1 Cá thể kỳ vọng 40
5.3.5.2 Các cá thể tiềm năng 41
5.3.6 Các phép toán thực hiện cho giải thuật lai 42
5.3.6.1 Hàm thích nghi và chọn lọc 44
5.3.6.2 Lai ghép 44
5.3.6.2.1 Lai ghép một điểm: 45
5.3.6.2.2 Lai ghép đồng nhất: 45
5.3.6.2.3 Gom cột so trùng: 45
5.3.6.2.4 Lai ghép trên đoạn tốt nhất: 46
5.3.6.3 Đột biến 46
5.3.6.3.1 Dịch khối ký tự: 46
5.3.6.3.2 Gom cột ký tự trùng: 47
5.3.6.3.3 Gom khoảng trắng: 47
5.3.6.3.4 Dịch khối: 47
5.3.6.3.5 Chia khối: 47
5.3.6.3.6 Chèn khối: 48
5.3.6.3.7 Loại bỏ khối: 48
5.4 Giải thuật song song cho bài toán 48
Chương 6 HIỆN THỰC CHƯƠNG TRÌNH 54
6.1 Các vấn đề hiện thực 54
6.1.1 Cấu trúc thông tin nhiễm sắc thể: 54
6.1.2 Cấu trúc dữ liệu phân mảnh: 54
6.1.3 Hàm Delta đánh giá thay đổi điểm tương đồng: 55
6.2 Đánh giá kết quả 55
6.2.1 Phương pháp đánh giá: 55
6.2.2 Đánh giá các kết quả thực hiện: 56
Trang 86.2.3 Nhận xét: 58
Chương 7 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59
7.1 Các kết luận từ luận án 59
7.2 Hướng phát triển 59
Phụ lục A: SINH TIN HỌC 61
A.1 Quá trình phát triển 61
A.2 Các hệ cơ sở dữ liệu sinh học lớn trên thế giới 63
GenBank 63
EMBL 64
DDBJ 65
PDB 66
A.3 Phát triển sinh tin học tại Việt Nam 67
Phụ lục B: MINH HỌA CHƯƠNG TRÌNH 70
B.1 Cấu trúc chương trình 70
B.2 Cấu trúc các dạng tập tin dữ liệu 70
B.2.1 Dạng FastA: 70
B.2.2 Dạng MSF và ALN: 71
B.3 Môi trường hiện thực song song LAM-MPI 72
B.3.1 Các hàm, phương thức của Lam-MPI: 72
B.3.2 Thiết lập môi trường song song cho Lam-MPI thực thi: 73
B.3.3 Dịch và thực thi chương trình: 74
B.4 Chương trình ClustalW 75
TÀI LIỆU THAM KHẢO 76
BẢNG CÁC THUẬT NGỮ VÀ KÝ HIỆU VIẾT TẮT 78
Trang 9DANH MỤC CÁC HÌNH VÀ GIẢI THUẬT
Hình 1 Hình dạng của phân tử DNA 3
Hình 2 Dạng chuỗi trình tự DNA 3
Hình 3 Bảng mã hoá protein từ bộ ba ký tự DNA 4
Hình 4 Tên đầy đủ và tên viết tắt tương ứng của 20 Amino Acid 4
Hình 5 Các chuỗi trình tự protein 4
Hình 6 So sánh tương đồng cặp trình tự 6
Hình 7 So sánh tương đồng đa trình tự 6
Hình 8 Các trường hợp biến đổi chuỗi trình tự sinh học 8
Hình 9 Ma trận khoảng cách PAM 250 9
Hình 10 Ma trận BLOSUM 50 9
Hình 11 Cách hiện hình theo kiểu điểm dạng Dotplot 11
Hình 12 Sơ đồ giải thuật ClustalW 16
Hình 13 Sơ đồ phép lai ghép trong SAGA 17
Hình 14 Chèn khỏang trắng “-“ vào từng nhóm trình tư trong SAGA 17
Hình 15 Chuyển và xoá khoảng trắng trong SAGA 18
Hình 16 Mô hình giải thuật T-Coffee 19
Hình 17 Giải thuật kỹ thuật luyện kim 21
Hình 18 Sơ đồ thực hiện giải thuật di truyền 26
Hình 19 Vòng quay rolette cho việc chọn lọc 26
Hình 20 Sơ đồ lai ghép trong giải thuật di truyền 27
Hình 21 Sơ đồ minh họa phép đột biến 28
Hình 22 Phân loại giải thuật di truyền song song 29
Hình 23 Song song dạng chủ tớ 30
Hình 24 Mô hình giải thuật di truyền song song kết thô 31
Hình 25 Hình thức kết hợp cho giải thuật di truyền song song 33
Hình 26 Sơ đồ tổng quan giải thuật kết hợp GASA 35
Hình 27 Giải thuật lập bảng băm m ký tự 36
Hình 28 Sơ đồ mô tả bảng băm cho bộ m ký tự 36
Hình 29 Đường chéo gióng cột 37
Hình 30 Giải thuật xác định biên giới hạn gióng cột 37
Hình 31 Gióng cột giới hạn biên 38
Hình 32 Sơ đồ phân mảnh trình tự 39
Hình 33 Sơ đồ gom nhóm của giải thuật UPGMA 40
Hình 34 Giải thuật gióng cột gom nhóm 41
Hình 35 Sơ đồ gióng cột hai nhóm 41
Hình 36 Gióng cột dựa trên trình tự cơ sở 42
Hình 37 Giải thuật lai di truyền và luyện kim 44
Hình 38 Lai ghép tại một điểm 45
Hình 39 Lai ghép đồng nhất 45
Hình 40 Gom cột so trùng 46
Hình 41 Lai ghép trên đoạn tốt nhất 46
Hình 42 Đột biến nhờ dịch khối ký tự 46
Hình 43 Gom cột trùng ký tự 47
Hình 44 Gom khoảng trắng 47
Hình 45 Dịch khối khoảng trắng 47
Hình 46 Chia khối khoảng trắng 47
Hình 47 Chèn khối trắng 48
Hình 48 Loại bỏ khối khoảng trắng 48
Hình 49 Song song giải thuật kết hợp 49
Hình 50 Sơ đồ tổng quát cho giải thuật kết hợp song song 50
Hình 51 Cấu trúc lưu nhiễm sắc thể 54
Hình 52 Cấu trúc phân mảnh 55
Hình 53 Hàm Delta tính mức độ thay đổi giá trị tương đồng 55
Hình 54 Tương quan giữa tiến hóa tự nhiên và mô hình protein 62
Hình 55 Trang chủ của Genbank 64
Hình 56 Trang chủ của EMBL 65
Hình 57 Trang chủ của DDBJ 66
Trang 10Hình 58 Trang chủ của PDB 67 Hình 59 Chương trình HiBio-HCMC 68 Hình 60 Trang web sinh tin học của Phân viện CNTT 69
Trang 11Chương 1 GIỚI THIỆU 1.1 Đặt vấn đề:
Từ những năm cuối thế kỷ 20, di truyền học và kỹ thuật gen đã phát triển nhanh chóng
và đạt được nhiều thành tựu to lớn Sự phát triển này giúp cho con người ngày càng hiểu
rõ hơn cơ sở khoa học về sự sống Và ngược lại, chính sự hiểu biết đó đóng góp vai trò rất lớn đối với lĩnh vực sức khoẻ con người như chẩn đoán, dự phòng, trị liệu Bên cạnh
đó, sự phát triển các ngành này còn đóng góp cho việc nâng cao chất lượng cuộc sống
và bảo vệ môi trường thiên nhiên
Đi kèm với sự phát triển của lĩnh vực sinh học là những vấn đề đặt ra mà cần có sự tham gia của các ngành khoa học khác, đặc biệt là ngành khoa học máy tính Với sự thành công của các dự án nghiên cứu về gen, cùng với sự hỗ trợ của các công cụ tin học, đã dẫn đến một sự thay đổi lớn trong việc nghiên cứu các vấn đề liên quan đến sinh học Người ta chuyển dịch dần từ sự quan tâm cấu trúc của các đa phân tử sinh học sang sự
phân tích các trình tự sinh học (sequence analysis) Sau đó tìm cách hợp lý hoá một khối
lượng lớn thông tin thu được qua sự phân tích Việc hợp lý hoá bằng các phương tiện tin học không phải chỉ dừng lại ở việc tạo ra các cơ sở dữ liệu lớn, mà còn tạo ra các công
cụ hữu hiệu để phân tích và tìm hiểu nội dung bên trong các đa phân tử sinh học
Chính vì vậy, trong quá trình nghiên cứu của các nhà sinh học, bước đầu tiên và cũng là bước quan trọng là quá trình phân tích trình tự Để đảm bảo cho sự thành công và cho ra kết quả nhanh chóng thì công cụ tin học đóng vai trò khá đắc lực Tuy nhiên với tốc độ gia tăng rất lớn về số lượng các trình tự sinh học được nghiên cứu, cùng với nó là sự phức tạp trong quá trình so sánh và tìm kiếm, dẫn tới những đòi hỏi ngày càng cao về các phương pháp, giải thuật tham gia Đặc biệt là việc cần phải đảm bảo chất lượng của quá trình so sánh sao cho chấp nhận được và thời gian đáp ứng cũng cần phải nhanh chóng Trên thế giới đã có rất nhiều nghiên cứu và đã có phương pháp được đưa ra, nhưng mỗi cách đều có những mặt mạnh và mặt yếu của nó khi giải quyết các yêu cầu này
Mục đích của luận văn là nghiên cứu một số vấn đề liên quan, qua đó tìm để có thể cải thiện được hiệu quả xử lý Luận văn tập trung vào việc dựa trên đánh giá của các nghiên cứu trên thế giới, kết hợp mặt mạnh của một số giải thuật đã có cùng sự tăng cường một
hướng thích hợp trong trí tuệ nhân tạo, cụ thể là áp dụng tìm kiếm có heuristic (kết hợp
hai giải thuật chính là giải thuật di truyền và giải thuật Simulated Annealing) để đưa ra
một giải thuật thích hợp hơn Thêm vào đó luận văn sẽ tìm hướng chuyển sang song song hoá giải thuật để tăng hiệu quả xử lý
Trang 121.2 Bài toán so sánh trình tự
1.1.1 Ý nghĩa sinh học hiên quan bài toán :
Đến nay, trong ngành sinh học có bốn dạng bài toán được đặt ra để nhằm đáp ứng các nhu cầu phân tích trình tự như sau:
(1) Cho một trình tự hay một đoạn trình tự, tìm kiếm trình tự nào giống với nó
(2) Cho một hay một đoạn cấu trúc protein, tìm kiếm cấu trúc nào giống với nó (3) Cho trình tự của một protein không biết cấu trúc, đi tìm các cấu trúc protein có trình tự gần tương tự
(4) Cho cấu trúc protein, đi tìm các trình tự mà có cấu trúc tương tự
Trong đó, bài toán (1) tìm sự giống nhau của trình tự muốn xác định với các trình tự đã biết là bài toán quan trọng và là trọng tâm chính của ngành khoa học sinh tin
học(Bioinformatics)
Mọi bài toán kể trên đều đặt nặng vấn đề so sánh tương đồng giữa các trình tự Bài toán
về so sánh trình tự sinh học được đặt ra trong quá trình nghiên cứu của các nhà sinh học
Xác định quan hệ tiến hoá giữa các sinh vật khác nhau, bài toán này được gọi là
phân tích cây phân loài (phylogenetic) hoặc phân tích quá trình tiến hoá (evolutionary analysis) Chẳng hạn khi cần xác định xem sinh vật đang nghiên
cứu có thuộc vào các loài sinh vật đã biết hay chưa hay là một sinh vật mới được phát hiện, khi phát hiện ra loài mới thì cần xếp nó có họ hàng gần với các sinh vật nào nhất Bởi vì khi xác định được quan hệ tiến hoá của nó với các loài sinh vật khác thì sinh vật đang cần xem xét có thể được hiểu rõ từ các loài quan hệ họ hàng với nó
Xác định các đoạn nhỏ trình tự lặp lại trong chuỗi trình tự dài (motif) và các miền bảo tồn (conserved domain) đặc trưng cho họ sinh vật
Xác định protein mới, xem xét protein mới này thuộc nhóm nào trong các nhóm
đã tồn tại Dựa vào sự giống nhau các thành phần của trình tự liên quan tới cấu
Trang 13trúc và chức năng đặc trưng cho nhóm protein để dự đoán cấu trúc bậc hai, ba và bốn của protein và RNA, chức năng của protein, biểu hiện tính trạng của gen
(gene expression)
Vì các thiết bị sinh học hiện nay còn giới hạn việc đọc các trình tự trong các đoạn ngắn nên cần so các phần trùng lấp của các chuỗi để kết hợp các đoạn trình tự
(fragment assembly) thành một hệ gen đầy đủ
1.1.2 Cơ sở sinh học và mô hình toán học:
Khi đề cập tới bài toán so sánh các trình tự cần phải hiểu các khái niệm và quan điểm của các nhà sinh học khi đưa ra bài toán để có thể giải quyết đúng yêu cầu của họ đặt ra: Trong sinh học có 3 loại trình tự như sau: DNA, RNA và protein Trình tự DNA có thể
mô hình như là một chuỗi liên tiếp của 4 loại ký tự đại diện cho bốn nucleotide cấu tạo lên DNA RNA cũng được mô tả tương tự RNA với chỉ có 4 ký tự Còn protein thì được tạo nên bởi 20 phần tử
DNA (DeoxyriboNucleic Acid) và RNA (RiboNucleic Acid) là hai đại phân tử hay đa
phân tử sinh học Chúng là Nucleic acid, vật chất mang thông tin di truyền từ các hệ thống sống Ở đây, quá trình so sánh và tìm kiếm chỉ quan tâm nhiều tới DNA, nói đúng
ra là một mạch đơn của chuỗi xoắn kép DNA Mỗi mạch đơn DNA là một chuỗi các
nucleotide sắp sếp kế tiếp nhau, nucleotide có 4 loại được ký hiệu như sau: A (Adenine),
G (Guanine), C (Cytosine), T (Thymine) So với DNA thì RNA có một ký tự khác là U (Uracile) thay thế cho ký tự T của DNA
Hình 1. Hình dạng của phân tử DNA
Sau đây là một mô tả về biểu diễn dạng chuỗi trình tự DNA:
Hình 2. Dạng chuỗi trình tự DNA
Protein là biểu biện của vật chất sống, nó tham gia vào hầu hết các quá trình sinh học và
là cơ sở của sự đa dạng về cấu trúc và chức năng của tất cả các sinh vật Trong sự sống,
Trang 14protein được tạo ra qua quá trình dịch mã từ đoạn gen biểu hiện chứa thông tin di truyền trong DNA Protein là một chuỗi trình tự các amino acid nối kết với nhau bằng các liên
kết tạo nên cấu trúc (được chia ra làm nhiều dạng cấu trúc như bậc 1, bậc 2 và cấu trúc
không gian bậc 3, bậc 4, bậc 5) Amino acid gồm có 20 loại được ký hiệu tắt bởi các
chữ cái Mỗi Amino acid được mã hoá từ bộ 3 nucleotide, tuy có 64 bộ mã hoá nhưng chỉ có 20 loại amino acid và một số mã làm tín hiệu cho việc dịch mã từ DNA:
T C A G
TTT TCT TAT TGT T
ATT ACT AAT AGT T
Tên tắt Ký tự
đại diện
Hình 4. Tên đầy đủ và tên viết tắt tương ứng của 20 Amino Acid
Sau đây là mô tả dạng chuỗi trình tự protein:
Hình 5. Các chuỗi trình tự protein
Trang 15Khi nói tới trình tự DNA hay protein tức là nói tới một chuỗi tuần tự các nucleotide hay amino acid liên kết kế tiếp nhau
Sự tương đồng (homology) nói tới các trình tự có cùng nguồn gốc tổ tiên Nghĩa là từ
một nguồn gốc trình tự từ sinh vật ban đầu trong quá trình tiến hoá có thể có những biến đổi khác nhau trong trình tự gây ra việc phân nhiều nhánh phát triển khác nhau của các sinh vật
Sự tương tự (analogy) đề cập đến trường hợp cấu trúc các protein có dạng giống nhau
nhưng trình tự lại khác nhau
Tới đây, bài toán so sánh trình tự được gọi chính xác là bài toán so sánh tương đồng các trình tự hay cũng có một cách gọi khác là bài toán gióng cột các trình tự Bài toán này có thể mô tả đơn giản như sau: sắp xếp các chuỗi vào mỗi hàng và làm sao để gióng các phần tử trong các trình tự thành các cột mà khi đó thể hiện được các vùng nào giống nhau giữa các trình tự và vùng nào có sự khác biệt
Với mô hình toán học ta có cách biểu diễn bài toán như sau:
Bài toán: Cho S ={S1,S2, ,S n} là tập hợp n trình tự với các phần tử trong bảng ký tự
A, mỗi trình tự S i có l i ký tự liên tiếp được sắp thứ tự:
i
l i i i
i = ,1 ,2 ,3 , ,∀ =1, ,
“-“ để mô tả một quãng cách Từ đây, kết quả so sánh tương đồng là tập
} , ,
n
i l l l
1 ( ) 'max
cách “-“
Từ đây, có thể coi kết quả so sánh tương đồng như một dãy với n dòng mà mỗi dòng sẽ chứa một trình tự tương ứng Dựa trên số trình tự phân ra hai loại so sánh tương đồng là
Hai hình bên dưới mô tả về các trình tự đem so sánh và kết quả quả gióng cột các trình
tự này:
Trang 16Hình 6. So sánh tương đồng cặp trình tự
Hình 7. So sánh tương đồng đa trình tự
Để giải quyết bài toán so sánh tương đồng thì cần có một đánh giá để xác định được kết quả nào là tốt Dựa vào cách đánh giá mới có thể xác định các trình tự hay các phần nào trong các trình tự giống nhau nhất và cũng là để xác định sự tương đồng Hiện có hai
loại đánhgiá khi so sánh giữa các trình tự là hàm đánh giá mức độ giống nhau (similarity
measure), hay đánh giá khoảng cách (distance measure) giữa các trình tự Ở mức độ
đơn giản, việc xác định chỉ dựa trên số phần tử giống nhau hoặc là số phần tử khác nhau giữa các kết quả gióng cột
Khi xem xét đánh giá theo khoảng cách giữa các trình tự thì có thể xem như làquá trình tìm kết quả gióng cột có tối thiểu tổng chi phí cần thiết cho việc chuyển đổi từ trình tự này sang trình tự khác
Giả sử có hàm tính khoảng cách d(S i′,S′j) cho hai trình tự được gióng cột S ′ i và S ′ j thì bài toán so sánh cặp trình tự được mô tả như sau:
gióng cột S'={S1′,S2′} trên cơ sở xác định trường hợp có giá trị khoảng cách d(S1,S2)
đạt cựu tiểu
Việc tính trị khoảng cách cho so sánh đa trình tự có độ phức tạp lớn hơn gấp nhiều lần
so với việc đánh giá khoảng cách của cặp trình tự Cách thường sử dụng nhất được xác định bởi tổng khoảng cách từng cặp gióng cột trong kết quả gióng cột đa trình tự, bài
Trang 17Với S = {S1,S2, ,S n} là tập bao gồm n chuỗi ký tự cùng thuộc bảng ký hiệu A Tìm kết
quả gióng cột S' = {S1′ ,S2′ , ,S n′ } trên cơ sở xác định trường hợp có giá trị tổng tất cả các
khoảng cách d(S i′ ,S′j) của từng cặp S i′,S′j đạt cựu tiểu:
= +
) , ( min 1
1 1 ' i j
n
i
n
i j
Các định nghĩa trên đều dựa vào việc xác định khoảng cách khác biệt giữa các trình tự,
ngược lại một số phương pháp khác tiếp cận vấn đề theo việc đánh giá mức độ giống
nhau và đi tìm trường hợp gióng cột có số điểm đánh giá cao nhất, tức là đi tìm trị cực
đại mức độ tương đồng các trình tự Cho dù là khoảng cách hay tương đồng thì chúng
đều liên quan mật thiết với nhau và đều vì mục đích xác định cho được kết quả gióng cột
nào tốt nhất, nghĩa là trường hợp gióng cột mà các trình tự có nhiều vùng giống nhau
nhất hay các trình tự được sắp sao cho sự khác biệt là thấp nhất
Tuy nhiên, khi dựa trên cơ sở đánh giá tương tự, luôn cần có sự đánh giá hàm phạt cho
các trường hợp có quãng cách vì với trường hợp này nó làm giảm sự tương đồng và
cũng là làm gia tăng sự khác biệt giữa hai trình tự Bởi trong quá trình tiến hoá, các trình
tự có thể thêm hoặc bớt đi một số phần tử (thường ký hiệu là InDel -
insertions/deletions) trong trình tự, cho nên các sinh vật có họ hàng gần nhau có thể các
trình tự khác nhau ở phần thêm vào chen giữa trình tự Bởi vậy khi chuyển sang việc so
sánh trong mô hình toán học cần phải cho phép có quãng cách (gap - được ký hiệu bằng
dấu “-”) để có thể tìm được các phần trình tự giống nhau nhất Tuy nhiên, khả năng
thêm hay bớt trong các trình tự là quá trình tiến hoá lâu dài vì vậy khi đánh giá các sinh
vật nào gần nhau thì cũng có ít quãng cách hơn Do đó trong mô hình toán học có đưa
vào điểm phạt cho quãng cách (gap penalties) sao cho đáp ứng giống bài toán thực tế
Nhưng các loài gần sau sẽ có trình tự giống nhau ở các đoạn liên tục và dài cho nên các
mô hình toán học còn thêm điểm phạt cho mỗi một đoạn quãng cách (open gap
penalties)
Một vấn đề khác đặt ra cho bài toán so sánh các trình tự protein là cần có các công thức
đánh giá tốt hơn để phản ánh đúng các ý nghĩa sinh học liên quan protein Bởi protein có
những đặc tính sinh hóa mà nó làm ảnh hưởng tới những khả năng hoán đổi trong quá
trình tiến hóa Do đó cần có một cơ sở tính điểm đánh giá mà phản ánh được những khả
năng này một cách tốt nhất có thể được Với một số đặc tính như vậy, trong quá trình
tiến hoá xảy ra các trường hợp bị đột biến tại một số phần tử trong trình tự (có thể hiểu
đơn giản là nucleotide hay amino acid này được thay thế bằng phần tử khác) Hình bên
Trang 18dưới mô tả bốn kiểu biến đổi chủ yếu trong quá trình tiến hoá các sinh vật trong tự nhiên:
Hình 8. Các trường hợp biến đổi chuỗi trình tự sinh học
Qua quá trình thực nghiệm và nghiên cứu, các nhà nghiên cứu đã đưa ra một số các
bảng thống kê đánh giá mức độ đột biến từ phần tử này sang phần tử khác (chẳng hạn
như PAM - Point-Accepted-Mutation do Dayhoff đưa ra, BOSUM - BLOcks Substitution Matrix do Henikoff và Henikoff đưa ra, …) để có thể phản ánh đúng ý nghĩa sinh học
tương ứng Các ma trận đánh giá tương đồng này chứa các điểm đánh giá cho tất cả
các trường hợp so trùng và lỗi so trùng (thay thế ký tự) của các ký hiệu amio acid dựa
trên tần xuất xảy ra những thay đổi trong việc thống kê trên cơ sở dữ liệu về các protein đã biết được Có thể hiểu theo nghĩa là điểm tính được gán cho nó dựa trên các tính chất sinh học trong các khả năng xảy ra như việc thay thế hay được bảo tồn Hai hình sau mô tả các điểm đánh giá cho các chuyển đổi ký tự trong trình tự:
Trang 19i S M s s S
SS
1 , ,
)','()
','
Trang 20Một số quan điểm cho rằng các trình tự có quan hệ tiến hoá khác nhau nên khi tính điểm
tương đồng cho các protein, với mỗi trình tự cần có một trọng số đánh giá tương xứng
với mức thông tin độc lập mà nó chứa Những trọng số này xem như là cách đánh giá để
làm giảm mức độ dư thừa thông tin trong các trình tự có mối quan hệ họ hàng và nó
được tính được qua quá trình xác định cây phân loài
Giả sử rằng W là ma trận trọng số cho các trình tự đã được gióng cột Cách tính điểm
j
i S W M s s S
WSS
1
, , , ( ' , ' ))
','
Việc chèn và xoá làm giảm bớt sự tương đồng và được tính dựa trên điểm phạt cho mỗi
quãng cách Nếu định nghĩa một quãng cách là khối liên tục các khoảng trắng "-" thì
một quãng cách có độ dài l theo cách tính điểm phạt quãng cách tuyến tính sẽ có một
điểm phạt là:
Theo cách tính khác, có thêm điểm phạt cho mỗi đoạn quãng cách hay có thể nói đó là
khoảng trắng "-" nhưng nếu có nhiều quãng cách thì điểm phạt cũng bị nhiều hơn và
như thế phản ánh đúng khía cạnh sinh học như đã phân tích phía trên Cách tính này
được gọi là điểm phạt quãng cách phi tuyến:
Từ trên, để xác định kết quả gióng cột từ cách tính điểm tương đồng có trọng số đối với
}', ,
i n
i
n
i j
S WSS S S AGPS S
1
1
1 1 ' ( ' , ' ) ( ' )
Như những mô tả trên, bài toán so sánh trình tự được xác định là bài toán NP-complete
(Wang, Jiang [31]) Với n chuỗi có độ dài l, khi áp dụng quy hoạch động thì độ phức tạp
vẫn rất lớn: ( ) ( )n
l
lớn của sinh học hiện tại và tương lai sẽ gặp càng nhiều khó khăn nếu không có chiến
lược tốt Thêm nữa là hiện nay các nhà nghiên cứu di truyền có xu hướng so sánh toàn
bộ hệ gen (lên tới cả triệu, tỷ ký tự) chứ không chỉ là một đoạn trình tự (thường chỉ vài
trăm đến vài ngàn ký tự)
Trang 21Chương 2 TỔNG QUAN VỀ SO SÁNH TRÌNH TỰ 2.1 Phương pháp so sánh trình tự
Phần này sẽ điểm qua các nghiên cứu và thành tựu liên quan tới bài toán vài năm gần đây trên thế giới Các xu hướng nghiên cứu được một số tác giả sau phân loại như Yongqing Zhang [30]; Yong Yang [29]; Cédric Notredame [5]
Trong việc so sánh trình tự, có hai dạng so sánh là so sánh cặp trình tự (PSA - Pairwise
Sequence Alignment) và so sánh đa trình tự (MSA - Multiple Sequence Alignment) So
sánh cặp trình tự thường được dùng trong quá trình tìm kiếm các trình tự giống với nó nhất mà đã được biết đến và cũng là cơ sở cho việc giải quyết bài toán đa trình tự So sánh đa trình tự thường dùng để xác định đặc trưng hoặc phân định tiến hoá của loài đo
và là bước thực hiện cơ bản cho các quá trình phân tích trình tự sinh học Các phần sau đây sẽ lược qua các nghiên cứu dựa trên phân loại xu hướng trong hai dạng so sánh
2.1.1 So sánh cặp trình tự:
So sánh cặp trình tự được phân thành ba dạng:
1 Các phương pháp phân đoạn (segment methods): so sánh có trùng lặp tất cả các phân
đoạn của một chuỗi với tất cả các phân đoạn của chuỗi khác Đây là cách tiếp cận trong việc biểu diễn sự so sánh với sự mô tả trực quan cho người nghiên cứu dễ phán đoán
(được gọi là Dotplot), nó chỉ hiển thị những nơi nào giống nhau của hai trình tự trên mặt
phẳng toạ độ 2 chiều, với hai trục là hai chuỗi trình tự
Hình 11. Cách hiện hình theo kiểu điểm dạng Dotplot
Trang 222 Gióng cột tối ưu toàn cục (Optimal global alignment methods): cho phép xác định kết
quả so sánh trên toàn bộ chuỗi mà có đánh giá tốt nhất
3 Gióng cột tối ưu cục bộ (Optimal local alignment methods): cố gắng tìm kiếm sự
giống nhau nhất một vùng trình tự nào đó giữa hai chuỗi
Về phương diện giải thuật thì so sánh cặp trình tự được phân chia thành các dạng sau:
1 Các kỹ thuật dựa trên quy hoạch động (Dynamic programming): đại diện cho các giải thuật dựa trên nền tảng quy hoạch động là giải thuật gióng cột toàn cục (global
alignment) Needleman-Wunsch [17] và giải thuật cục bộ (local alignment)
Smith-Waterman [25] Trong các phương pháp dựa trên kỹ thuật này lại phân nhỏ ra các dạng sau:
Giảm không gian nhớ (Space reduction): đại diện cho nó là giải thuật gióng cột tối ưu
với không gian tuyến tính của Hirschberg [13] Bởi một trong những khuyết điểm của phương pháp quy hoạch động là độ phức tạp của việc sử dụng không gian nhớ lên tới
(m∗n)
và được dùng nhiều từ năm 1988
Giảm thời gian thực thi (Time reduction): đại diện là các phương pháp K-difference Cách tiếp cận này chia làm hai loại, một cách gọi là K-difference gióng cột toàn cục (K-
difference global alignment), ý tưởng chính là tìm gióng cột toàn cục tối ưu với giới hạn
chỉ trong k lỗi so trùng (mismatch) kể cả quãng cách Một cách khác gọi là bài toán difference so trùng không chính xác (k-difference inexact matching problem), điểm cốt
K-lõi của cách này là tìm tất cả các cách nếu được, so trùng hai trình tự với giới hạn nhiều nhất số lượng ký tự thêm hay bớt là k
Lai các phương pháp quy hoạch động (Hybrid Dynamic Programming): phương pháp
này dựa trên nền tảng cách tiếp cận K-difference với việc thực thi trong k bước lặp và
gian là Ο(k∗m)và không gian là Ο(m+n)
Một số phương pháp khác dựa trên nền tảng quy hoạch động: vài phương pháp được nghĩ ra cho việc giải quyết bài toán với việc so trùng gần đúng nhằm có thể thực thi
số giải thuật được biết qua như: các phương pháp của Bae-Yates và Perleberg (BYP) [3], Chang và Lawler (CL) [6], Myer , Wu-Manber [29], …
Trang 232 Tìm kiếm trình tự có heuristic: đại diện cho xu hướng này có hai giải thuật là FASTA
và BLAST Chúng được thiết kế nhằm mục đích tìm kiếm các trình tự nào gần giống với trình tự cần tìm nhất trong số lượng rất lớn các trình tự có trong cơ sở dữ liệu Ban đầu khi tìm kiếm chỉ thực hiện các bước đánh giá sơ bộ qua các trình tự, sau khi tìm kiếm xong mới thực hiện giải thuật dựa trên nền tảng quy hoạch động FASTA được đưa ra bởi Lipman và Pearson vào năm 1985 [22] BLAST được phát triển bởi Altschul vào năm 1990 [1],[2]
3 Các phương pháp dựa trên thống kê (Statistic based methods): đại diện cho xu hướng
này là việc dùng mô hình Markov ẩn (Hidden Markov Model) vào việc so sánh
4 Gióng cột siêu cặp trình tự (SPA-Super Pairwise Alignmen)[24]: thay vì việc gióng
cột thực hiện với từng ký hiệu, ở đây giải thuật đề cập tới khái niệm mới là việc gióng cột theo từng phân đoạn với nhau, cách thức này cũng được thực hiện tốt trên MSA Ý
tưởng của nó là dùng giải thuật tham (greedy algorithm) để xác định đoạn chèn thêm ít
nhất từ đó giảm thiểu việc đánh giá Giải thuật này làm giảm đáng kể độ phức tạp về
5 Gióng cột gần tối ưu (Suboptimal alignment): bài toán so trùng trình tự được biểu diễn dưới dạng đồ thị lưới (grid graph) Naor và Brutlag vào năm 1993 [16] đã đề xuất
có độ phức tạp thời gian tuyến tính và không gian gần tuyến tính
2.1.2 So sánh đa trình tự:
Được chia thành hai hệ chính:
1 Các mô hình trên cơ sở quy hoạch động (Dynamic based model):
Các giải thuật “luỹ tiến” (progressive algorithms): Là một trong những phương pháp
thực hiện gióng cột đa trình tự đơn giản và hiệu quả với thời gian thực thi nhanh mà tốn
ít bộ nhớ Xu hướng này khởi đầu được Hogeweg đề xuất, sau đó được phát triển bởi Feng-Dolittle [9] Dựa trên nền tảng này phát triển có các phương pháp sau: Pileup, GCG, Clustal [28], T-Coffee [21],
Các giải thuật chính xác (exact algorithms): được biết tới như là cách thức dùng
heuristic có chất lượng cao thể có được kết quả gần tối ưu Đại diện ở đây là giải thuật Carrillo-Lipman [4], và giải thuật chia để trị DCA của Stoye [27]
Các giải thuật lặp (iterative algorithms): dựa trên ý tưởng là giải quyết bài toán dựa trên
các kết quả của việc giải quyết đã có trước đó Xu hướng là dùng giải thuật di truyền
Trang 24(GA) và giải thuật Monte-Carlo Simulated Annealing (SA).Điển hình là giải thuật SAGA
của Notredame và Higgins [20]
2 Các mô hình Markov ẩn (Hidden Markov Models): các giải thuật bày dựa trên mô
hình Markov ẩn, ở đó các trình tự được ánh xạ sang các trạng thái và xác suất chuyển đổi Các áp dụng dựa trên nền tảng này là HMMER, SAM
2.2 Các nghiên cứu liên quan chính:
Các mục kế tiếp mộ tả những giải thuật nền tảng và những giải thuật liên quan chính tới hướng giải quyết của luận văn
2.2.1 Giải thuật gióng cột toàn cục Needleman-Wunsch
Là giải thuật đơn giản nhưng chính xác nhất cho việc so sánh toàn bộ các trình tự được Needleman và Wunsch đề xuất vào năm 1970
Giải thuật khi áp dụng cho so sánh cặp trình tự:
- Xây dựng ma trận F với các chỉ số i,j chỉ tới vị trí ký tự trong mỗi chuỗi (với n trình tự,
F phải là ma trận n chiều tương ứng)
j
S
S2,1 2,
- Xây dựng F(i,j) theo cách đệ quy dựa trên đoạn trước đó đã được so sánh
Khi so sánh hai chuỗi tại vị trí i và j có 3 trường hợp cần xét (trong trường hợp so sánh n trình tự cần xét tới 2n−1
trường hợp):
• S 1,i gióng cùng cột với S1,j
hợp chèn xoá ký tự
trường hợp chèn xoá ký tự
F(i-1, j-1) F(i-1, j) F(i, j-1) F(i,j)
Như vậy trường hợp gióng cột tốt hơn cho vị trí i,j được xác định bởi công thức sau:
Trang 25i F
G j i F
y x M j
i F j
i F
j i
)1,(
),1(
),()1,1(max)
,
Với G là điểm phạt khi có khoảng cách Giải thuật còn bước quay lui để xác định kết quả gióng cột tốt nhất nên quá trình thực hiện giải thuật phải lưu nhớ các đường đi qua các trị tối ưu.Với giải thuật này, ta tìm được gióng cột tối ưu Tuy nhiên, như đã mô tả
l
2
là Ο( )l n
2.2.2 Giải thuật gióng cột cục bộ Smith-Waterman:
Tương tự như giải thuật gióng cột toàn cục Needleman-Wunsch để xác định sự tương đồng nhưng có sự thay đổi cho mục đích xác định những vùng chung gữa các trình tự
Ở đây, các vị trí luôn có khả năng là điểm bắt đầu hay kết thúc của một đoạn tương đồng giữa hai trình tự Do đó công thức có chỗ khác biệt sau:
i F
G j i F
y x M j
i F j
i
)1,(
),1(
),()1,1(
0 max
),
2.2.3 Giải thuật ClustalW :
Giải thuật ClustalW thuộc phân lớp giải thuật luỹ tiến được đề xuất bởi ba tác giả chính
là Thomson, Higgins và Gibson [28] vào năm 1994 Ý tưởng chính của giải thuật dựa trên các thông tin có được từ việc so trùng từng cặp trình tự với nhau và xây dựng cây phân loài từ những thông tin ban đầu để từ đó thực hiện gióng cột lần lượt các trình tự liên quan tới nhau nhất hình thành lên kết quả gióng cột đa trình tự cuối cùng Các bước của giải thuật ClustalW thực hiện như sau:
1 Thực hiện
2
)1(n−
N
lần so sánh cặp trình tự của N trình tự cần xác định giống cột tối ưu
2 Tạo ma trận khoảng cách giữa các trình tự và từ thông tin này xây dựng cây phân loài
Trang 263 Thực hiện gióng cột từ các trình tự đơn lẻ theo nhóm các trình tự có sự tương đồng nhất
4 Kết quả cuối cùng của quá trình gom giống cột theo nhóm là gióng cột đa trình
tự
Sơ đồ sau mô tả quá trình thực hiện của giải thuật ClustalW:
Hình 12. Sơ đồ giải thuật ClustalW
Giải thuật ClustalW thực hiện có thời gian thực thi ngắn với kết quả chấp nhận được và được sử dụng nhiều nhưng các kết quả này không được tối ưu như nhiều giải thuật khác
2.2.4 Giải thuật SAGA:
Giải thuật dùng nền tảng chính là giải thuật di truyền, với phần tạo quần thể ban đầu dựa trên việc so sánh từng cặp trình tự và với hướng dẫn của cây phân loài SAGA được đề xuất bởi Cédric Notredame và Desmond G.Higgins vào năm 1996 Giải thuật cung cấp
22 phép toán lai tạo và đột biến khác nhau để gia tăng khả năng tìm kiếm giải pháp tối ưu:
1 Lai ghép: nhiều phương xác xác định điểm lai ghép giữa các cá thể cha:
Trang 27Hình 13. Sơ đồ phép lai ghép trong SAGA
2 Đột biến: tạo ra các cá thể mới bằng cách chèn, dịch chuyển, xoá các khoảng trắng
với thông tin ưu tiên dựa trên mối quan hệ phân loài giữa các trình tự
Hình 14. Chèn khỏang trắng “-“ vào từng nhóm trình tư trong SAGA
Trang 28Hình 15. Chuyển và xoá khoảng trắng trong SAGA
Giải thuật SAGA luôn có được các kết quả gióng cột tốt nhưng thời gian để thực hiện tìm được kết quả này rất lâu
2.2.5 Giải thuật T-Coffee:
Được đề xuất bởi Notredame, Higgins và Heringa vào năm 2000, giải thuật này có một
số cải tiến so với các giải thuật trong phân lớp giải thuật luỹ tiến Quá trình thực hiện gần tương tự như ClustalW nhưng có sự khác biệt ở điểm chính là giải thuật này dựa vào thông tin của cả kết quả gióng cột toàn cục và cục bộ để giúp cho việc so sánh đa trình tự chính xác hơn Quá trình thực thi giải thuật mô tả như sau:
Trang 29Hình 16. Mô hình giải thuật T-Coffee
Đến đây, với những giải thuật cơ sở và áp dụng phổ biến trong thực tế so sánh trình tự,
có thể thấy rằng các giải thuật luôn tìm các thông tin có ích và cải tiến các heuristic nhằm tìm được kết quả gióng cột tốt nhất có thể
Trang 30Chương 3 KỸ THUẬT MÔ PHỎNG LUYỆN KIM
3.1 Tổng quan về kỹ thuật luyện kim:
Kỹ thuật mô phỏng luyện kim được công bố bởi Metropolis và các cộng sự vào năm
1953 [15,] bắt nguồn từ ý tưởng mô phỏng tương tự quá trình tôi luyện kim loại Giải
thuật mô phỏng theo quá trình làm nguội vật liệu trong bồn nung của quá trình tôi luyện
Quá trình tôi luyện diễn ra đơn giản như sau: kim loại được nung cho đến khi nóng chảy
rồi sau đó được làm nguội và quá trình làm nguội này ảnh hưởng rất lớn đến đặc tính
cấu trúc kiến tạo lên kim loại Chẳng hạn, quá trình làm nguội đủ chậm thì toàn bộ cấu
trúc tinh thể của kim loại sẽ được định hình ổn định Nhưng khi quá trình làm nguội
nhanh chóng chấm dứt thì cấu trúc của kim loại tạo thành có những điểm bất ổn Giải
thuật Metropolis xem khối kim loại như là một hệ các phân tử, quá trình làm nguội được
thực hiện bằng cách giảm nhiệt độ dần dần cho tới khi các phân tử liên kết tạo một cấu
trúc vững chắc, trạng thái này được gọi là trạng thái ổn định Năm 1982, Kirkpatrick
nắm bắt ý tưởng của giải thuật đem áp dụng vào bài toán tối ưu [14] Ý tưởng chính là
sử dụng việc mô phỏng luyện kim để tìm kiếm giải pháp khả thi và các giải pháp tìm
được qua các bước có thể hội tụ dần tới giải pháp tối ưu
So với kỹ thuật cũ trong việc tim tối ưu như giải thuật leo đồi kỹ thuật luyện kim giải
quyết trường hợp kẹt vào trường hợp tối ưu cục bộ bằng cách cho phép các bước chuyển
sang các trạng thái có chất lượng thấp hơn trong một vài trường hợp để có thể tránh
được các giới hạn tối ưu cục bộ Không chỉ chọn giải pháp tốt nhất trong các lân cận như
giải thuật leo đồi mà kỹ thuật luyện kim sẽ chọn bước chuyển ngẫu nhiên từ các lân cận
của trạng thái hiện hành Nguyên tắc chính là các bước chuyển tốt hơn trạng thái hiện tại
luôn được chọn, còn những bước chuyển xấu hơn sẽ được chấp nhận trên cơ sở xem xét
xác suất chuyển đổi
Theo luật của trạng thái nhiệt động lực học thì tại nhiệt độ t xác suất của sự gia tăng
E e E P
Tương tự, trong giải thuật cần thực hiện việc tính toán mức năng lượng mới của hệ
thống Khi năng lượng này giảm thì hệ thống sẽ dịch chuyển sang trạng thái này Còn
nếu năng lượng gia tăng thì hệ thống sẽ chuyển sang trạng thái mới với xác suất chuyển
đổi tính bằng công thức trên Một số bước lặp được thực hiện ở mỗi mức nhiệt độ trước
khi thực hiện việc giảm nhiệt độ Quá trình lặp được thực hiện cho đến khi hệ được làm
nguội đi dần tới trạng thái ổn định
Trang 31Công thức trên được sử dụng trong kỹ thuật luyện kim nhưng thường bỏ qua hằng
Boltzmann và có một số chuyển đổi cho thích hợp với các bài toán tối ưu, xác suất chấp
nhận chuyển sang trạng thái xấu hơn được cho bởi công thức sau:
Như vậy, xác suất chấp nhận bước chuyển xấu hơn là một hàm số phụ thuộc vào nhiệt
độ hệ thống và mức thay đổi hàm chi phí Điều đó cho thấy rằng nhiệt độ của hệ thống
giảm thì xác suất chấp nhận bước chuyển xấu hơn sẽ giảm và do đó nó tương tự như quá
trình chuyển dần hệ thống tới trạng thái ổn định như trong việc tôi luyện kim loại thực
tế Và do đó, khi mà nhiệt độ chuyển tới 0 thì lúc này chỉ những trạng thái có bước
chuyển tốt hơn mới được chấp nhận và khiến cho các bước chuyển lúc này tương tự
như giải thuật leo đồi
Giải thuật được mô tả như sau:
Function SIMULATED-ANNEALING(Problem, Schedule)
Đầu vào :
Problem, bài toán cần giải quyết
Schedule, một bảng hoặc hàm ánh xạ từ thời gian sang nhiệt độ
Kết quả trả về : Giải php tìm được
Biến cục bộ :
Current, “trạng thái” hiện tại
Next, “trạng thái” kế tiếp
T, Nhiệt độ ảnh hưởng tới xác suất của các bước làm nguội
Current = MAKE-NODE(INITIAL-STATE[Problem])
For t = 1 to ∞ do
T = Schedule[t]
If T = 0 then return Current
Next = chọn ngẫu nhiên trạng thái kế tiếp từ Current
ΛE = VALUE[Next] – VALUE[Current]
else Current = chọn Next với xác suất exp(-ΛE/T)
Hình 17. Giải thuật kỹ thuật luyện kim
Trang 323.2 Vấn đề liên quan tới kỹ thuật luyện kim:
3.2.1 Nhiệt độ ban đầu
Nhiệt độ ban đầu phải đủ nóng để cho phép mọi bước chuyển có thể tới bất kỳ trạng thái lân cận nào Bởi nếu không như vậy thì giải pháp cuối cùng sẽ gần giống hay rất gần với giải pháp ban đầu và kết quả cũng có thể nói là tương tự như sử dụng giải thuật leo đôi( Tuy nhiên, khi chọn nhiệt độ bắt đầu quá cao thì bất kỳ giải pháp nào cũng có thể chuyển đổi qua lại và lúc này việc tìm giải pháp chuyển sang dạng tìm ngẫu nhiên Kết quả là việc tìm kiếm sẽ thực hiện ngẫu nhiên cho đến khi nhiệt độ hạ đến mức đủ lạnh
để có thể bắt đầu hoạt động thực sự như nguyên lý của kỹ thuật luyện kim Bài toán đặt
ra là làm sao có thể tìm kiếm được một nhiệt độ ban đầu thích hợp Cho đến nay, chưa
có phương pháp nào tìm kiếm nhiệt độ ban đầu thích hợp cho toàn bộ các miền bài toán Hiện tại, có một số cách xác định nhiệt độ ban đầu được đề xuất để có thể chọn được một mức cho nhiệt độ hoạt động ban đầu Thông thường, khi có thể xác định được khoảng cách cựa đại tức là mức khác biệt về chi phí giữa các lân cận trạng thái thì có thể
sử dụng thông tin này để tính toán nhiệt độ khởi đầu
Phương pháp được đề xuất bởi Rayward-Smith vào năm 1996 thực hiện bằng cách khổi đầu bằng nhiệt độ rất cao rồi sau đó làm nguội một cách nhanh chóng cho đến 60% các giải pháp xấu hơn được chấp nhận, ở thời điểm này nhiệt độ được coi như là thực sự khởi đầu cho quá trình làm nguội dần dần
Ý tưởng cũng tương tự như vậy, Dowsland đề xuất ra giải pháp vào năm 1995 được thực hiện như sau: nhanh chóng làm "nóng" hệ thống cho đến khi có sự cân đối trong việc chấp nhận giải pháp tồi hơn và bắt đầu lúc này, nhiệt độ được làm nguội dần Phương pháp này rất gần với phương pháp tôi luyện kim loại thực tế: kim loại được nung đến khi nóng chảy và sau đó được đổ khuôn rồi làm nguội dần
3.2.2 Nhiệt độ cuối
Thông thường quá trình làm nguội được thực hiện cho đến khi nhiệt độ bằng 0 Tuy nhiên, để làm nguội đến nhiệt độ này thì phải thực hiện rất lâu, nhất là với lịch biểu làm nguội bằng phương pháp hình học
Trong thực tế, nhiệt độ làm nguội không cần thiết phải giảm về 0 vì tới mức này hầu như mọi sự chuyển đổi trạng thái sang trạng thái xấu hơn là không có bởi xác suất chuyển đổi là 0 Do đó, tiêu chuẩn dừng có thể là ở một nhiệt độ thấp thích hợp hoặc khi
hệ thống đạt tới trạng thái ổn định ở nhiệt độ hiện hành, không có trường hợp nào được chấp nhận
Trang 333.2.3 Thời biểu nhiệt độ
Một khi đã xác định được nhiệt độ khởi đầu và kết thúc thì giai đoạn quan trọng cần
thực hiện kế tiếp là phải xác định cần phải thu giảm nhiệt độ như thế nào Cách thu giảm
nhiệt độ là tiêu chuẩn để quyết định thành công của giải thuật Lý thuyết đã xác định cần
thực hiện lặp tại mỗi nhiệt độ đủ số lần lặp sao cho ở tại thời điểm đó hệ thống tương đối
ổn định Tuy nhiên, số bước lặp ở mỗi nhiệt độ để đạt được độ ổn định lại biến thiên
theo hàm mũ của kích cỡ bài toán Tuy nhiên, để có được điều này thì ta lại gặp phải quá
trình ban đầu là đi giải quyết bài toán khó dạng NP Vì vậy, để có thể giải quyết vấn đề
này, cần có sự cân bằng giữ hai vấn đề là thực thi một lượng lớn các bước lặp ở một vài
các bước lặp hoặc là thực hiện ít bước lặp trong nhiều mức nhiệt độ
Cách đơn giản nhất để thu giảm nhiệt độ là thu giảm tuyến tính Một cách khác được gọi
là hàm thu giảm hình học có công thức sau:
Theo các thực nghiệm trước cho thấy nên có giá trị trong khoảng 0.8 tới 0.99, các kết
quả tốt thường được tìm thấy khi chọn giá trị cuối của khoảng trên (0.99) nhưng đi kèm
với nó là thời gian thực thi lâu hơn để thu giảm nhiệt độ
3.2.4 Số bước lặp
Thông số cuối cùng phải xác định là số bước lặp phải thực hiện trong mỗi mức nhiệt độ
Thông thường số bước lặp là như nhau tại mỗi nhiệt độ Phương pháp được đề xuất bởi
Lundy vào năm 1986 chỉ thực hiện một lần lặp tại mỗi nhiệt độ nhưng việc thu giảm
nhiệt độ xảy ra rất chậm với công thức sau:
10
, ,
β+
Một xu hướng khác là số bước lặp thay đổi động theo tiến trình của giải thuật Khi ở
nhiệt độ thấp thì cần phải có số lượng bước lặp lớn để có thể khảo sát đầy đủ các lân cận
tối ưu cục bộ Ngược lại, khi nhiệt độ cao thì số bước lặp có thể ít đi
3.2.5 Mối quan hệ tương quan:
Để có thể sử dụng được kỹ thuật luyện kim cần phải xác định được mối tương quan giữa
bài toán cần giải quyết và quá trình tôi luyện thực tế, mối tương quan này được thể hiện
như sau:
Mô phỏng nhiệt động lực học Bài toán tối ưu
Trang 34Năng lượng Chi phí
Trạng thái ổn định Giải pháp tìm được
Dựa trên mối tương quan này các bài toán tối ưu có thể chuyển đổi để sử dụng kỹ thuật luyện kim cho việc giải quyết bài toán
Trang 35Chương 4 GIẢI THUẬT DI TRUYỀN 4.1 Tổng quan về giải thuật di truyền:
Giải thuật di truyền là một kỹ thuật cho việc giải quyết bài toán tối ưu được đề ra bởi John Henry Holland [11,33]với ý tưởng mô tả gần giống với quá trình tiến hoá tự nhiên của sinh vật theo thuyết tiến hoá của Darwin Giải thuật mô phỏng theo sự phát triển của một quần thể từ đời này qua đời khác với các quá trình chọn lọc cá thể thích nghi môi trường sống còn những cá thể nào không thích nghi với môi trường sẽ dần dần mất đi, quá trình lai tạo để sinh ra các thế hệ sau với những đặc tính di truyền từ đời này qua đời khác hoặc bị đột biến ở một cá thể nào đó Điều quan trọng là những đặc tính của mỗi cá thể đều quy định bởi các gene di truyền trong các nhiễm sắc thể của mỗi cá thể Trong quá trình tiến hoá, những đặc tính nào phù hợp với môi trường sẽ dần được chọn lọc và
do đó các thế hệ sau có khả năng thích nghi cao với môi trường sống do được kế thừa các đặc tính tốt có được do hình thành dần nên từ các thế hệ đi trước
Để áp dụng giải thuật di truyền vào các bài toán cần phải định rõ các yếu tố tương tự như mô hình tiến hoá như sau:
Mô hình giải pháp của bài toán dưới dạng gene Thông thường gene được mô tả dươi dạng dãy số hoặc chữ để mô tả giải pháp
Cách tạo một quần thể ban đầu tương ứng với các giải pháp ban đầu cho trước để tìm kiếm giải pháp tối ưu hơn
Cách đánh giá như thế nào để xác định giải pháp nào thích hợp tương ứng khả năng thích nghi của cá thể với môi trường
Cách thức thực hiện để đi tìm giải pháp mới tạo cá thể con cho thế hệ sau
Các yếu tố tác động: số lượng cá thể trong quần thể, xác suất xảy ra cho các trường hợp tạo giải pháp mới
Về tổng quát, giải thuật di truyền thực hiện như sau:
2) Đánh giá quần thể Nếu quần thể ở trạng thái ổn định thì kết thúc Ngược lại, tiếp tục thực hiện việc chọn lựa các cá thể để thay thế Đánh giá thế hệ con được kỳ vọng
Trang 363) Chọn lựa các cá thể cha từ quần thểG i Chọn một phép tiến hoá để phát sinh
kiện kết thúc
Sơ đồ sau mô tả quá trình thực hiện giải thuật di truyền:
Hình 18. Sơ đồ thực hiện giải thuật di truyền
4.2 Các phép toán trong thuật giải di truyền:
4.2.1 Chọn lọc
Quá trình chọn các cá thể để thực hiện tạo các cá thể mới cho thế hệ kế tiếp được thực
hiện ngẫu nhiên trên nguyên tắc chính là cá thể nào có mức độ thích nghi cao nhất cũng
tương ứng có khả năng chọn lựa cao nhất
nó có xác suất để được tồn tại là:
f
f P
1
(9)
Việc chọn lọc được thực hiện ngẫu nhiên theo vòng quay roulette với từng vùng chiếm
trên vòng tròn tương ứng với xác suất tồn tại của mỗi cá thể:
Hình 19. Vòng quay rolette cho việc chọn lọc
Trang 374.2.2 Lai ghép
Phép chọn lọc chỉ thực hiện việc chọn những cá thể nào thích nghi nhất, cũng có thể nói
là những cá thể mang những đặc tính tốt và tồn tại Tương tự như trong tự nhiên các cá thể kết hợp để tạo ra các cá thể con và những cá thể con này thừa hưởng được các đặc tính di truyền từ thế hệ trước nó Quá trình lai ghép sẽ thực hiện tương tự để tạo ra các
cá thể mới Cũng tương tự như trong tự nhiên, không phải mọi cá thể đều có thể kết hợp với nhau mà với khả năng nào đó thì có một lượng cá thể kết hợp với nhau và cá thể này
ghép thực hiện như sau:
1 Tương ứng với mỗi cá thể phát sinh cho nó một xác suất ngẫu nhiên, nếu xác
ghép
2 Chọn lựa ngẫu nhiên từng cặp và vị trí lai ghép để thực hiện lai ghép tạo hai
cá thể con thay thế
Cách lai ghép tạo hai cá thể con được thể hiện như sau:
Hình 20. Sơ đồ lai ghép trong giải thuật di truyền
4.2.3 Đột biến
Ngoài các biến đổi trên, trong tự nhiên có trường hợp xảy ra đột biến tạo ra các tính trạng khác biệt so với thế hệ trước đó, đôi khi các trường hợp đột biến tạo ra những đặc tính thích nghi đặc biệt với môi trường Sự biến đổi này do sự đột biến trong gene của cá
trường hợp xảy ra đột biến thì có sự thay đổi trong gene mà không kế thừa từ cá thể nào Quá trình đột biến trong quần thể bằng cách chọn ngẫu nhiên một vị cá thể và vị trí gene
đổi ngẫu nhiên tại điểm này Sơ đồ sau minh họa cách biến đổi gene:
Trang 38Hình 21. Sơ đồ minh họa phép đột biến
4.3 Giải thuật di truyền song song:
Bên cạnh những ưu điểm tốt so với các giải thuật cổ điển và những thành công khi áp dụng vào nhiều lĩnh vực , giải thuật di truyền có những vấn đề cần quan tâm sau:
Để có được kết quả tốt cần có một yếu tố là khi thực hiện chương trình cần phải cho giải thuật lặp qua nhiều thế hệ
Khi áp dụng giải thuật di truyền vào các bài toán phức tạp thường thời gian để dành cho
việc đánh giá (các bước tính toán để đưa tới giá trị thích nghi cho các cá thể trong quần
thể) chiếm tỉ lệ rất lớn
Do đó muốn giải quyết bài toán nhanh hơn, trong thời gian ngắn hơn để có thể quan sát, đánh giá và nhanh chóng tìm kiếm hướng mới hiệu quả, linh hoạt cần thiết phải có sự
hỗ trợ từ hệ thống song song
Giải thuật di truyền song song (PGA) không chỉ là một mở rộng của giải thuật di truyền
tuần tự truyền thống mà là biểu hiện của một lớp giải thuật mới trong đó mang thêm những đặc tính mà GA tuần tự không có chẳng hạn như: thực hiện nhiều cách tìm kiếm khác nhau cùng lúc, phân bố không gian tìm kiếm Do đó không chỉ hy vọng hiệu quả hơn mà thêm khả năng có số lượng nhỏ nhất bước tiến hoá Đã có rất nhiều cách tiếp cận giải thuật di truyền song song khác nhau ở nhiều mặt nhưng với mọi cách phân loại thường thấy và áp dụng là hai mô hình: kết mịn và kết thô
4.3.1 Các mô hình song song:
Để phân biệt các dạng giải thuật di truyền song song thường quan tâm tới các khía cạnh sau:
Mô hình song song
Sự phân bố của quần thể: đơn hay đa quần thể
Cách hiện thực
Cách đánh giá độ thích nghi và cách áp dụng phép đột biến
Cơ chế di trú các cá thể
Chọn lọc các cá thể trên toàn cục hay quần thể cục bộ
Các dạng của giải thuật song song có thể phân loại theo sơ đồ sau:
Trang 39Các phương thức “lai”
GA Kết mịn
GA Kết thô
Song song dạng chủ tớ Quần thể con có di trú Quần thể con chồng lấp không di trú
Song song “khối lớn”
Quần thể con động Song song “ổn định”
Song song trạng thái “bất ổn”
Hình 22. Phân loại giải thuật di truyền song song
Việc truyền thơng thực hiện khi tiến trình tớ nhận thơng tin của một cá thể hay một tập con các cá thể để đánh giá; sau đĩ truyền trả lại cho tiến trình chủ kết quả đánh giá được, quá trình này lặp cho đến khi kết thúc chương trình:
Đồng bộ: Tiến trình chủ dừng và chờ đến khi nhận được giá trị độ thích nghi của tồn bộ quần thể trước khi tiến hành với thế hệ kế tiếp Dạng này tương tự như là tiến trình của giải thuật di truyền đơn giản
Bất đồng bộ:Trong trường hợp này giải thuật khơng ngừng để chờ bất kỳ bộ xử lý chậm chạp nào Trường hợp này phải dùng cơ chế động và rất khĩ phân tích để hiện thực
Trang 40Hình 23. Song song dạng chủ tớ
4.3.2.1 Quần thể con có di trú:
Đây là một giải thuật được dùng phổ biến nhất và được biết dưới các tên sau: quần thể con tĩnh, di truyền đa quần thể, di truyền kết thô, đôi khi coi nó như là đại diện của giải thuật di truyền song song
Đặc tính quan trọng nhất của mô hình này là việc dùng đa quần thể con và trong đó có
sự di trú Phương thức song song này yêu cầu phân chia toàn bộ quần thể vào các quần thể con Mỗi quần thể con được tách rời so với các quần thể con khác, còn gọi là cô lập
về mặt địa lý và các cá thể chỉ ở bên trong quần thể con đó Một tác vụ là di trú được thực hiện qua thời gian: nếu một vài cá thể di chuyển từ quần thể con này tới bất kỳ
quần thể con nào khác được gọi là mô hình đảo (island model) còn nếu các cá thể chỉ di trú tới các lân cận (neighbours) gọi là mô hình từng bước (stepping stone model)
Sự di trú của các cá thể được quy định qua các thông số:
Topology xác định sự kết nối các quần thể con chẳng hạn như: dạng vòng, sao, lưới, khối, …
Tỷ lệ quy định số cá thể di trú
Sơ đồ, tổ chức di trú: phân loại các cá thể cho phép loại nào di trú và di trú tới đâu, và sẽ thay thế các cá thể loại nào ở đích tới
Tần xuất của việc di trú
• Giải thuật kết thô: thường liên quan tới số lượng nhỏ các quần thể mà các quần thể
này có số lượng lớn các cá thể và mỗi tiến trình thực hiện trong nó giải thuật di truyền