1. Giảng viên: TS. Đỗ Phan Thuận
Sinh viên:
Nguyễn Việt Hà
Lê Ngọc Minh
1
2. Cây tiến hóa
Bài toán Hà tiện nhỏ
◦ Phương pháp giải của Fitch và Sankoff
◦ Cài đặt Sankoff
Bài toán Hà tiện lớn
◦ Bài toán Hà tiện lớn là NP-đầy đủ
◦ Thuật toán nhánh cận
◦ Các thuật toán tìm kiếm cục bộ
2
3. Cây tiến hóa được dùng để mô hình hóa cơ chế tiến
hóa giữa các loài.
Giúp giải thích được quan hệ họ hàng, tổ tiên giữa các
loài.
Cây tiến hóa thường là cây nhị phân
3
5. Cây có gốc
◦ Gốc = Loài tổ tiên xa nhất
◦ Lá = Loài hiện tại
◦ Nút trong = Loài tổ tiên giả thuyết
◦ Đường đi gốc lá = Đường tiến hoá
Cây không gốc
◦ Không quan tâm đến vị trí của loài tổ tiên chung trong cây
5
6. Cây nhị phân có trọng số
Cạnh có trọng số dương (cũng gọi là độ dài)
Trọng số trên cạnh (v, w) thể hiện:
Số lượng biến dị từ v đến w
Khoảng cách ước lượng về thời gian tiến hoá
6
7. Có nhiều phương pháp xây dựng cây tiến hóa
Một trong các phương pháp xây dựng cây là dựa vào
ma trận đặc tính loài.
◦ Đầu vào là một ma trận đặc tính loài m x n.
◦ Đầu ra: cây có số lá tương ứng với n loài hiện có và có đỉnh
tương ứng với loài tổ tiên
◦ Mục tiêu: Tìm chuỗi ký tự ở các nút bên trong cây sao cho
chuỗi ký tự này giải thích tốt nhất cho n loài quan sát.
Khác biệt được tính bằng khoảng cách Hamming
Giải quyết bằng bài toán Hà tiện
7
8. Bài toán Hà tiện là các bài toán xây dựng cây sao cho
tối thiểu hóa điểm hà tiện.
Điểm hà tiện của cây T là tổng độ dài các cạnh của nó.
Bài toán Hà tiện nhỏ
Bài toán Hà tiện lớn
8
9. Mục tiêu: Tìm cách gán nhãn tối thiểu cho các đỉnh
trong của một cây tiến hóa.
Đầu vào: Cây T với mỗi lá đã được gán nhãn bởi xâu
m ký tự.
Đầu ra: Phép gán nhãn các đỉnh trong của cây T sao
cho tối thiểu hóa điểm hà tiện.
Hai phương pháp giải bài toán Hà tiện nhỏ đã giới
thiệu là của Fitch và Sankoff đều có thời gian chạy
O(nm).
9
10. Khởi tạo: gán st(v) theo luật sau:
◦ st(v) = 0 nếu v được gán nhãn t
◦ st(v) = ∞ nếu ngược lại
Tính st(v) – điểm hà tiện nhỏ nhất của đỉnh v với ký tự
t:
Với u,w là đỉnh con của v; 1≤i,j ≤ k là các ký tự.
Sau khi tính được st(v) của các đỉnh, ta thực hiện gán
nhãn bằng phương pháp quay lui.
10
11. Phương pháp này gán tập ký tự Sv cho mỗi đỉnh theo
cách sau:
◦ Nếu v là lá, Sv chứa 1 ký tự là nhãn của lá đó.
◦ Nếu v là cạnh trong với đỉnh con u,w, Sv được tạo thành như
sau:
Sv được gán theo thứ tự duyệt sau từ lá đến gốc.
11
12. Sau khi có các tập Sv ta chọn một ký tự đế gán nhãn
cho mỗi đỉnh bằng cách:
Gán ký tự bất kz thuộc Sr cho gốc.
Duyệt cây theo thứ tự trước từ gốc đến lá.
Cho mỗi đỉnh trong v,
◦ gán nhãn giống của cha cho đỉnh đó nếu nhãn của cha thuộc
Sv.
◦ Nếu không thì gán nhãn bất kì từ tập Sv.
12
13. VD: Với ma trận k x k (δi,j):
δ A T G C
A 0 3 4 9
T 3 0 2 4
G 4 2 0 4
C 9 4 4 0
13
19. Bài toán Hà tiện lớn sẽ giải quyết vấn đề xây dựng
cấu trúc cây mà bài toán Hà tiện nhỏ chưa giải quyết.
19
20. Đầu vào: Ma trận M(n × m) biểu diễn n loài, mỗi loài
bằng một chuỗi m ký tự.
Đầu ra: Một cây T có n lá được gán nhãn bằng n hàng
của ma trận M và một cách gán nhãn các đỉnh trong của
cây đó sao cho điểm hà tiện là nhỏ nhất.
20
21. Nếu định duyệt qua tất cả các cấu trúc cây, ta cần xem
xét số lượng cấu trúc cần duyệt.
Theo Cayley số cây không gốc có gán nhãn khác nhau
với n đỉnh: nn-2
Nếu như coi cây tiến hóa là cây nhị phân đầy đủ:
(2n-3)!!
Trường hợp coi cây tiến hóa là cây có gốc thông
thường với N đỉnh trong đó có n lá:
21
22. Thực tế bài toán Hà tiện lớn là NP-đầy đủ
22
23. Đầu vào:
Cho n nút lá, mỗi nút biểu diễn một chuỗi đặc tính hoặc thứ
tự DNA.
Xây dựng một cây có gốc T bằng cách gán nhãn cho các nút lá
của nó các chuỗi đầu vào và gán nhãn cho các đỉnh trong các
xâu tương ứng sao cho có cây với điểm hà tiện tối thiểu.
Gọi S(T) là điểm hà tiện của cây T.
Đầu ra:
Cho một hằng số BϵR+, có cây T nào mà
. S(T) = | {j : v j u j} | B?
(u,v) E(T)
23
24. Thực hiện với một trường hợp cụ thể của LPP.
◦ Giả sử tổng số đỉnh của cây là đã biết, đặt là N, trong đó số
lượng nút lá là n.
◦ Ví dụ với trường hợp cụ thể là cây nhị phân đầy đủ có gốc, N
= (2n-1).
Gọi trường hợp cụ thể của LPP là S-LPP
24
25. Chứng minh S-LPP là NP-đầy đủ bằng cách quy dẫn từ
bài toán Minimum Energy Broadcast tree (MEB).
MEB đã được chứng minh là NP-đầy đủ qua phép quy
dẫn từ bài toán Phủ tập (Set Cover Problem).
25
26. Đầu vào:
Xem xét tập đỉnh V gồm N đỉnh
s ϵ V: đỉnh nguồn,
Tập trọng số các cạnh:
Px là năng lượng cần thiết cho một nút x:
Đầu ra:
Cho một hằng số BϵR+, có cây có gốc tại S nào mà
.
26
30. Xem xét bài toán Minimum Energy n-lá-xác-định
Broadcast tree (MEnB):
o Có 1 đỉnh nguồn đã biết,
o n nút lá đã biết trong N-1 đỉnh đích.
o Đầu ra cần xác định của bài toán là một cây có gốc là đỉnh
nguồn truyền tới N-1 đỉnh trong đó có đúng n nút lá đã được
xác định sao cho tối thiểu hóa tổng năng lượng cần dùng.
30
31. MEnB là bài toán thuộc lớp NP do có Bằng chứng ngắn
gọn dễ kiểm tra.
Giả sử ta tìm được cây MEnB với năng lượng tối
thiểu.
◦ Loại bỏ n nút lá đã định nghĩa cùng các cạnh tương ứng trên
cây MEnB.
Một cây có (N-n) đỉnh gọi là rMEnB. Tính được năng lượng
cần cho cây này đặt là Wr.
31
34. MEnB đã trở thành bài toán MEB: có thể xây dựng cây
MEB cho (N-n) đỉnh với mức năng lượng Wr hay
không?
MEnB ít nhất cũng khó như việc tìm cây MEB trong (N-
n) đỉnh còn lại trong đó có 1 đỉnh nguồn và (N-n-1)
đỉnh đích. Vậy MEnB cũng là NP-đầy đủ.
34
35. S-LPP là bài toán thuộc lớp NP:
◦ Cho một cấu trúc cây nhị phân có gốc có N đỉnh trong đó có n
nút lá đã được gán nhãn.
◦ Có thể kiểm tra điểm hà tiện của cây này có nhỏ hơn hằng số
B hay không bằng giải thuật của Fitch hoặc Sankoff, chạy
trong thời gian đa thức.
35
36. Tồn tại phép quy dẫn độ phức tạp đa thức từ MEnB
sang S-LPP:
◦ Với một đầu vào của MEnB, mục tiêu là xây dựng một cây nhị
phân có gốc tại đỉnh nguồn tới N-1 đỉnh đích trong đó có
đúng n nút lá sao cho năng lượng cần dùng là tối thiểu.
◦ Đầu vào S-LPP tương đương với đầu vào MEnB này có thể
được xây dựng như sau:
36
37. Ánh xạ n lá của MEnB sang n lá của S-LPP tương ứng
một-một.
Dựa trên liên hệ giữa khoảng cách Euclidean giữa các
đỉnh của MEnB và khoảng cách Hamming của các
chuỗi đầu đầu vào trong S-LPP.
Phép ánh xạ 2 m
R { A, T , G, C}
Trong đó khoảng cách A,T,G,C được xác định theo
khoảng cách Hamming
38
38. Phép ánh xạ:
◦ Từ mỗi cấu trúc cây từ đầu vào MEnB, cho một giá trị năng
lượng cần dùng duy nhất. Cũng cấu trúc cây đó, từ giải thuật
của Fitch hoặc Sankoff, ta có thể tính được duy nhất 1 giá trị
điểm hà tiện của cây bằng cách gán lại nhãn cho cách đỉnh
trong.
◦ Năng lượng cần cho một đỉnh để có thể truyền tin có thể
được ánh xạ sang số đột biến xảy ra trên một đỉnh của S-LPP.
◦ Về cơ bản khi tìm ra cây MEnB thì có thể xác định được là có
thể dựng được một cây N đỉnh có chính xác n nút lá được
gán nhãn mà điểm hà tiện nhỏ hơn một số B (BϵR+) hay
không.
39
39. Do giải thuật của Fitch hay Sankoff có độ phức tạp
O(nm).
Do đó, tồn tại phép quy dẫn ra đầu vào cho S-LPP từ
đầu vào của MEnB trong thời gian đa thức.
MEnB là NP-đầy đủ S-LPP là NP-đầy đủ.
S-LPP chỉ là một trường hợp riêng của LPP LPP
cũng là NP-đầy đủ.
41
40. LPP đã được chứng minh là NP-đầy đủ qua phép quy
dẫn từ bài toán MEB:
MEnB(MEB)S-LPP(LPP)
Việc mong tìm một giải thuật giải được bài toán Hà
tiện lớn một cách vừa nhanh chóng vừa chính xác là
vô vọng.
42. Xét mảng [i3][i5][i7]...[i2n-5], với mỗi ik nhận giá trị
1...k
Ban đầu cây có 3 chuỗi x1, x2, x3
Thêm chuỗi x4 vào cạnh có chỉ số lưu trong [i3]: có
3+2=5 cạnh
Thêm chuỗi x5 vào cạnh có chỉ số lưu trong [i5]: có
5+2=7 cạnh
...
Thêm chuỗi xn để được cây hoàn chỉnh.
44
44. Tưởng tượng mảng [i3][i5][i7]...[i2n-
5] là một chiếc công-tơ-mét
Công-tơ-mét chạy cho ta một
phép duyệt tất cả cây n lá
46
45. Để duyệt các cây ít hơn n lá,
ta cho phép bộ đếm nhận giá
trị 0
Ý nghĩa: xâu thứ k không
được đưa vào cây
Không có giá trị khác không
bên phải 0
Nếu có một dãy số 0 về bên
phải, ta tăng cả dãy
47
46. Thêm nút lá mới chỉ làm tăng
điểm hà tiện của cây
Nếu cây đang xây dựng có
điểm lớn hơn điểm tốt nhất
hiện biết cắt nhánh
Tăng bộ đếm khác không bên
phải nhất lên một
48
51. Di chuyển trong không gian tất cả các cây bằng
các phép biến đổi
Tại mỗi bước cố gắng làm giảm giá trị hàm mục
tiêu
Không đảm bảo tìm được giá trị tối ưu toàn cục
Các phép biến đổi khác nhau cho hiệu quả khác
nhau
53
52. NNI (Nearest Neighbour Interchange)
D. F. Robinson năm 1969
Đổi chỗ hai cây con ở hai phía của một cạnh trong
Một cây n lá có (2n-6) cách biến đổi
54
53. SPR (Subtree Pruning Regrating)
Cắt một cạnh và ghép vào chỗ khác
Một cây n lá có 2(n-3)(2n-7) cách biến đổi
55
54. TBR (Tree-Bisection-Reconnection)
Cắt đôi thành hai cây con và thêm cạnh nối ở vị trí
khác
56
55. NNI ⊆ SPR ⊆ TBR
Phép biến đổi nhỏ:
◦ Dễ bị kẹt ở cực trị cục bộ
Phép biến đổi lớn:
◦ Khối lượng tính toán lớn
◦ Cấu trúc cây thay đổi nhiều nên khó tận dụng thông tin để
tính điểm hà tiện
57
56. Parametric Progressive Neighborhood
Adrien Goeffon et al. 2008
Cắt một cạnh và ghép lại ở vị trí cách nó không quá d
58
57. Với d=1, PPN trở thành NNI
Với d=∞, PPN trở thành SPR
59
58. Ban đầu d nhận giá trị lớn, sau giảm dần về 1
Giả sử số bước lặp là M, d giảm tuyến tính
d= .
60
59. Nhiều bộ dữ liệu gồm cả ngẫu nhiên và thực tế
Cho phép bước di chuyển không làm thay đổi giá trị
hàm mục tiêu
Chọn bước di chuyển đầu tiên cải thiện kết quả
Lời giải đầu được sinh bằng thuật toán ngẫu nhiên (R)
hoặc tham lam (G)
61
60. Φ0: điểm của cây ban đầu
Φb : điểm của cây tốt nhất sau khi tìm kiếm kết thúc
f: tần suất của nó
Φa: điểm trung bình của các cây
σ: độ lệch chuẩn của Φa và
time: thời gian trung bình cho các lần lặp (s)
62
64. TBR không hiệu quả về thời gian
Nói chung SPR tốt hơn NNI
PPN cho kết quả tốt nhất trong hầu hết trường
hợp
66
65. Với ngành Sinh học ngày càng phát triển phát hiện
thêm nhiều loài mới, phát hiện thêm nhiều đặc
điểm, bằng chứng tiến hóa mới.
Việc xây dựng cây tiến hóa từ các chuỗi đặc tính là
quan trọng.
Trên đây ta đã xem xét một phương pháp xây dựng
cây tiến hóa là bài toán Hà tiện ở mức cơ bản nhất.
67
Tính WE: với di,j^λ là trọng số trên cạnh <i,j> và di,j là khoảng cách giữa 2 đỉnh i và j, λ là một hằng số có thể nằm trong đoạn [2,4]Tính Px: với Cx là tập nút con của x.
n là số chuỗi đặc tính cần so sánh, m là độ dài chuỗi.