Thuật toán Max-Min trơn

Một phần của tài liệu Khám phá tương tác trội nhờ phương pháp tối ưu đàn kiến (Trang 27)

Thuật toán Max-Min trơn kí hiệu là SMMAS được Đỗ Đức Đông đề xuất năm 2012[1]. 𝜏𝑖𝑗 ← 1 − 𝜌 𝜏𝑖𝑗 + 𝜌∆𝑖𝑗 Với: ∆𝑖𝑗= 𝜌𝜏𝑚𝑖𝑛 𝑛ế𝑢 (𝑖, 𝑗) ∉ 𝑤(𝑡) 𝜌𝜏𝑚𝑎𝑥 𝑛ế𝑢 (𝑖, 𝑗) ∈ 𝑤(𝑡) (2.11)

Chọn 𝜏0 = 𝜏𝑚𝑎𝑥. Trong đó kí hiệu 𝑤(𝑡) là lời giải tốt nhất các kiến tìm được cho tới lần lặp thứ t. Nếu kí hiệu 𝑤𝑖(𝑡) hiểu là lời giải tốt nhất trong bước lặp thứ t. Nếu

𝑤𝑖(𝑡) không tốt hơn 𝑤(𝑡 − 1) ta có 𝑤 𝑡 = 𝑤(𝑡 − 1), lúc này sẽ quan tâm tới lời giải

gần đúng 𝑤(𝑡).

2.3 Ứng dụng thuật toán ACO trong việc giải quyết bài toán Ngƣời chào hàng Sale Man

2.3.1 Bài toán ngƣời chào hàng trong thực tế

Bài toán người chào hàng hay còn gọi là bài toán TSP là một bài toán khá nổi tiếng trong lĩnh vực tối ưu tổ hợp. Bài toán có nội dung như sau: “ Một người đi chào hàng tại n thành phố. Người chào hàng muốn tìm một hành trình ngắn nhất, bắt đầu xuất phát từ một thành phố và đi sang các thành phố khác để chào hàng, sau đó lại quay trở lại thành phố xuất phát sao cho mỗi thành phố chỉ đi qua đúng một lần và khoảng cách giữa các thành phố đã được biết trước”.

Input: Tập C gồm n thành phố : 𝐶 = {𝑐𝑖}𝑖=1𝑛 và độ dài nối hai thành phố 𝑑𝑖𝑗(thành phố 𝑐𝑖 nối với thành phố 𝑐𝑗 ).

Output: min ∑𝑛𝑖,𝑗 =1𝑑𝑖𝑗 𝑖≠𝑗

(với điều kiện mỗi đỉnh đi qua đúng một lần).

2.3.2 Phát biểu bài toán ngƣời đƣa hàng trên mô hình hóa đồ thị

𝑑𝑖𝑗

Bài toán TSP có thể được mô hình hóa như một đồ thị đầy đủ có trọng số 𝐺 = (𝑉, 𝐸), trong đó 𝑉 là các tập đỉnh của đồ thị, với mỗi đỉnh tương ứng là một thành phố trong 𝐶. Kí hiệu 𝐸 là các cạnh nối các thành phố tương ứng, khoảng cách giữa hai thành phố là độ dài cạnh 𝑑𝑖𝑗. Đây là vấn đề cực tiểu hóa với điểm đầu và điểm cuối là cùng một đỉnh sau khi đi qua hết tất cả các thành phố đúng một lần. Bài toán TSP chính là bài toán tìm chu trình Hamilton có độ dài ngắn nhất trên đồ thị đầy đủ có trọng số.

2.3.3 Áp dụng thuật toán ACO giải quyết bài toán ngƣời chào hàng

Bài toán TSP được nêu ra trong thế kỉ thứ XIX bởi nhà toán học Ireland William Roman Hamilton và nhà toán học Anh Thomas Kirkman. Bài toán TSP là một trong những bài toán nghiên cứu sâu nhất trong tối ưu hóa. Bài toán thường được dùng làm thước đo cho nhiều phương pháp tối ưu hóa. Mặc dù bài toán rất khó giải trong trường hợp tổng quát, có nhiều phương pháp đã được tìm ra để giải quyết cho những trường hợp dữ liệu lớn. Bảng 2.1 đưa ra một vài thuật toán ACO có khả năng trong việc giải quyết bài toán TSP và một số bài toán khác. Các thuật toán được sắp xếp theo thứ tự thời gian phát triển.

Bảng 2.1 Một số thuật toán ACO

Năm Thuật toán ACO Tác giả

1991 Ant System (AS) Dorigo, Maniezzo,&Colorni 1992 Elitist AS Dorigo, Maniezzo,& Colorni 1995 Ant-Q Gambardella&Dorigo

1996 Ant Colony System Dorigo & Gambardella 1996 Max-Min Ant System Stützle & Hoos

1997 Rank-based Ant System Bullnheimer, Hartl & Strauss

1999 ANTS Maniezzo

2000 Best-Worst Ant System Cordon, Viana, Herrera & Moreno 2001 Hyper-cube Ant System Blum, Roli & Dorigo

2010 AntEpiSeeker Wang, Liu, Robbins & Rekaya

Thuật toán ACO có thể áp dụng trực tiếp cho bài toán TSP với đồ thị cấu trúc 𝐺 = (𝑉, 𝐸, 𝐻, 𝜏), trong đó:

 V: Tập các đỉnh tương ứng với tập các thành phố.  E: Tập các cạnh nối các thành phố tương ứng.

 H: Thông tin heuristic trên cạnh (𝑖, 𝑗), kí hiệu là 𝜂𝑖𝑗 và là độ dài của nghịch đảo cạnh: 𝜂𝑖𝑗 = 1

𝑑𝑖𝑗 ∀(𝑖, 𝑗).

 τ: Vết mùi được gán trên các cạnh, là vectơ biểu thị các thông tin học tăng

cường, 𝜏𝑖,𝑗 dùng để chỉ thông tin học tăng cường phục vụ mở rộng tuần tự lời giải từ 𝑖 đến 𝑗.

Trong trường hợp này tập 𝑆 là các chu trình Hamilton trên 𝐺, 𝑓 là độ dài của chu trình, Ω là ràng buộc đòi hỏi chu trình là chu trình Hamilton (qua tất cả các đỉnh, mỗi đỉnh đúng một lần).

Giải quyết bài toán

Thuật toán ACO phân biệt bởi quy tắc cập nhật mùi như đã nêu ở mục 2.2.3 về các quy tắc cập nhật mùi khác nhau sẽ cho ra các phương pháp giải quyết khác nhau. Ban đầu tiến hành xây dựng lời giải cho mỗi con kiến. Đối với thuật toán AS và MMAS trong giải quyết bài toán TSP xây dựng lời giải cho việc lựa chọn đỉnh đi tiếp theo được xác định theo công thức (2.1) mục 2.2.2. 𝐽(𝑥𝑘) trong công thức (2.1) là các đỉnh lân cận 𝑗 mà kiến có thể đi đến từ đỉnh 𝑖. Đối với thuật toán ACS, kiến sẽ lựa chọn di chuyển đến đỉnh tiếp theo, theo quy tắc:

𝑗 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑙∈𝐽 (𝑥𝑘) 𝜏𝑖𝑙 𝜂𝑖𝑙 𝛽 , 𝑛ế𝑢 𝑞 ≤ 𝑞0 𝐽 𝑛𝑔ượ𝑐 𝑙ạ𝑖

(2.12)

Trong đó 𝑞 là một biến ngẫu nhiên, phân bố đều trong [0,1], 𝑞0 ∈ [0.1] là một tham số cho trước và J là một biến ngẫu nhiên lựa chọn theo công thức (2.1).

Sau khi xây dựng xong lời giải cho mỗi thuật toán, tiến hành cập nhật mùi được trình bày trong phần mục 2.2.3. Cuối cùng đưa ra lời giải tốt nhất.

Từ thuật toán ACO tổng quát ta có thuật toán ACO cho bài toán TSP được mô tả trong hình 2.5:

Procedure Thuật toán ACOTSP; Dữ liệu vào:

 Đồ thị 𝐺 = (𝑉, 𝐸)

 Ma trận trọng số 𝐷 = 𝑑𝑖𝑗 với 𝑖, 𝑗 ∈ 𝑉  Số lượng kiến m

Kết quả ra: Là một chu trình với tổng độ dài ngắn nhất. Begin

Khởi tạo các tham số, ma trận mùi, m con kiến;

Repeat

For 𝑚′ = 1 to m do

Kiến 𝑚′xây dựng lời giải (lựa chọn đỉnh đi tiếp theo); Cập nhật mùi (cập nhật mùi trên mỗi cạnh);

Cập nhật lời giải tốt nhất (cập nhật những chu trình với tổng độ dài ngắn

nhất và thỏa mãn điều kiện của bài toán);

Until (điều kiện kết thúc);

Đưa ra lời giải tốt nhất (chu trình với tổng độ dài ngắn nhất);

End

CHƢƠNG III

GIẢI BÀI TOÁN TƢƠNG TÁC GEN BẰNG PHƢƠNG PHÁP ACO

3.1 Các phƣơng pháp tiếp cận, và ƣu nhƣợc điểm 3.1.1 Thuật toán BEAM

Thuật toán BEAM (Bayesian Epistasis Association Mapping) được Yu Zhang và Jun S. Liu đề xuất năm 2007 [24]. Trong BEAM việc phát hiện ra các tương tác gen sử dụng mô hình phân vùng Bayesian để phân vùng các SNP và thông qua chuỗi Markov Chain Monte Carlob (MCMC) chiến lược lấy mẫu hiệu quả, tính xác suất cho mỗi bộ để đưa ra những bộ liên quan đến bệnh.

3.1.2 Thuật toán SNPHarvester

Thuật toán SNPharvester do Can Yang và cộng sự đề xuất vào năm 2009[23] với tư tưởng tìm kiếm các nhóm SNPs từ bộ dữ liệu ban đầu để từ đó đưa ra các vị trí SNP tương tác có liên quan đến bệnh. Tại mỗi một lần lặp thực hiện lựa chọn ra tập hợp các nhóm gồm có 𝑘 𝑣ị 𝑡𝑟í (mỗi vị trí là một SNP) thỏa mãn điều kiện thống kê (kí hiệu: M) và tối ưu địa phương (E), có nghĩa tối ưu lại những SNP, chỉ xét những SNP có liên quan đến bệnh và loại bỏ những SNP không liên quan. Sau k=1….[ln3Nd-1] lần lặp thu được tập hợp các nhóm gồm có 𝑘 𝑣ị 𝑡𝑟í (kí hiệu: S). Từ tập S, tiến hành xác định được số lượng q vị trí tương tác có liên quan tới bệnh. Với mỗi một nhóm trong tập S sẽ có 𝐶𝑘𝑞 vị trí tương tác với nhau liên quan đến bệnh (2≤q≤k). Thuật toán được đặc tả trong hình 3.1:

Dữ liệu vào:

D: Tập hợp các mẫu kiểu gen của Nd cá thể bị bệnh và Nu cá thể không bị bệnh ở L SNP makers.

SuccessiveRun: Điều kiện dừng- số lượng nhóm liên quan tới bệnh.

T: Ngưỡng ý nghĩa thống kê

Kết quả ra:

S: Tập hợp các nhóm k-SNP thỏa mãn điều kiện thống kê. k= 1,...[ln3Nd−1].

for k=1 to ln3Nd−1do

if k==1 then

tìm kiếm L SNP markers, đưa những SNPs có ý nghĩa vào trong S, và xóa những SNPs khác.

NumRandomRun←0

while NumRandomRun<SuccessiveRun do (M,E) = PathSeeker(D,k,T)

Loại bỏ tối ưu địa phương E if M rỗng then

NumRandomRun++ else

Đưa M vào trong S, và NumRandomRun←0 end if

end while

end if end for return S

Hình 3.1 Đặc tả thuật toán SNPHarvester 3.1.3 Ƣu, nhƣợc điểm

3.1.3.1 Ƣu điểm

Thuật toán BEAM

Thuật toán BEAM gồm có hai thành phần chính: Công cụ tìm kiếm tương tác gen thông qua MCMC và một đánh giá ý nghĩa thống kê. Trong thuật toán BEAM, phương pháp tiếp cận Bayes có một lợi thế, khả năng đưa ra thông tin về mỗi maker (ví dụ maker là vùng đã được mã hóa hay quản lý), định lượng tất cả các thông tin và những vùng không chắc chắn để cho phân loại lần sau.

Thuật toán SNPHarvester

Thuật toán SNPHarvester cải tiến hơn thuật toán BEAM là từ bộ dataSNPs ban đầu, thuật toán thực hiện gom nhóm các SNP vào với nhau và kiểm tra điều kiện thống kê, sau đó chỉ xét các SNP thỏa mãn điều kiện thống kê. Vì vậy làm giảm đáng kể số lượng SNP. Ngoài ra cũng đem lại thời gian chạy nhanh hơn trong cả trường hợp mô phỏng và thực tế.

3.1.3.2 Nhƣợc điểm

Hai thuật toán BEAM và SNPHarvester được chứng minh là có khả năng thực hiện xử lý dữ liệu trên quy mô lớn. Nhưng các nhà nghiên cứu muốn tìm ra những thuật toán có khả năng tốt hơn và có độ chính xác cao cũng như khả năng phát hiện các tương tác nhanh. Thuật toán AntEpiSeeker trình bày trong mục 3.3.1.2.

3.2 Tƣơng quan giữa bài toán tƣơng tác gen với bài toán ngƣời chào hàng

Bài toán người chào hàng là một bài toán điển hình được các nhà nghiên cứu áp dụng đưa các thuật toán ACO vào giải quyết như: Thuật toán AS, thuật toán ACS, thuật toán Max-Min (MMAS), gần đây có thêm thuật toán Max-Min trơn (SMMAS). Bài toán người chào hàng là một bài toán đồ thị cấu trúc đầy đủ, có thông tin về độ dài khoảng cách giữa các thành phố. Thông tin heuristic được xác định bằng độ dài nghịch đảo của cạnh.

Bài toán tương tác gen là một bài toán đồ thị cấu trúc đầy đủ, thông tin về khoảng cách giữa các vị trí là như nhau. Thông tin heuristic được xác định bằng 1.

Bảng 3.1 Minh họa tƣơng quan đồ thị

Đồ thị cấu trúc 𝐺 = (𝑉, 𝐸)

Bài toán tương tác gen Bài toán người chào hàng

- V: Tập các đỉnh tương ứng với tập các vị trí, mỗi vị trí tương ứng một 𝑆𝑁𝑃 . - E: Tập các cạnh nối các vị trí - V: Tập các đỉnh tương ứng với tập các thành phố. - E: Tập các cạnh nối các thành phố tương ứng.

3.3 Thuật toán ACO để giải quyết bài toán tƣơng tác gen 3.3.1 Trình bày thuật toán

3.3.1.1 Thuật toán Generic ACO

Mô tả thuật toán:

Theo định nghĩa của Dorigio và Gambardella [10], thuật toán ACO mô phỏng cách tìm đường đi của các con kiến thực. Trên đường đi các con kiến thực để lại một vết hóa chất gọi là vết mùi và theo vết mùi của các con kiến khác để tìm đường đi. Dựa trên hành vi của kiến thực, các thuật toán ACO được xây dựng trên mô hình kiến nhân tạo, ngoài những đặc điểm của kiến thực, kiến nhân tạo có bộ nhớ riêng và có khả năng ghi nhớ các đỉnh mà kiến đi qua. Các con kiến giao tiếp với nhau thông qua một hàm mật độ xác suất (Probability Density Function: PDF), hàm PDF được cập nhật bởi một vết hóa chất gọi là vết mùi mà mỗi con kiến để lại trên đường đi.

Dữ liệu vào gồm có N cá thể (bị bệnh và không bị bệnh) và dataSNPs. Kết quả ra là bộ gồm 𝑘 𝑣ị 𝑡𝑟í tương tác với nhau có liên quan đến bệnh.

Trong trường hợp này ACO là một hàm thủ tục lặp, dừng lại khi xác định được số lượng tương tác. Tư tưởng tổng quát cho thuật toán Generic ACO gồm các bước thực hiện như sau:

- Bước thứ nhất: Từ bộ dữ liệu N cá thể (bị bệnh và không bị bệnh) và dataSNPs

ban đầu, khởi tạo vết mùi cho mỗi một vị trí. Mỗi vị trí tương ứng với một SNP.

- Bước thứ hai: Tại mỗi một bước lặp, kiến m chọn ra một bộ 𝑆𝑚 gồm có 𝑘 𝑣ị 𝑡𝑟í từ dataSNPs.

- Bước thứ ba: Tính 𝑋2 cho mỗi bộ 𝑆𝑚 được chọn và đồng thời cập nhập mùi cho mỗi vị trí. Sau đó chọn ra những bộ 𝑆𝑚 thỏa mãn điều kiện 𝑃 𝑣𝑎𝑙𝑢𝑒 < 𝑃 −

𝑉𝑎𝑙𝑢𝑒. Trong đó 𝑃 𝑣𝑎𝑙𝑢𝑒 là giá trị của các bộ 𝑆𝑚 và 𝑃 − 𝑉𝑎𝑙𝑢𝑒 là mức ý nghĩa

thống kê ban đầu. Hàm kiểm định thống kê X2 và mức ý nghĩa thống kê sẽ được trình bày chi tiết trong phần 3.3.3.

Procedure Generic ACO Dữ liệu vào:

N cá thể (bị bệnh và không bị bệnh) L SNPs (L-vị trí)

P-Value

Kết quả ra: Tập 𝑉 các bộ, mỗi bộ gồm k-vị trí tương tác với nhau Begin

Khởi tạo các tham số, ma trận mùi, m con kiến

Repeat

For 𝑚′=1 to m do

Kiến 𝑚′ xây dựng lời giải

Tính 𝑋2 cho mỗi bộ mà kiến xây dựng Cập nhật mùi;

Until (điều kiện kết thúc)

Đưa vào tập 𝑉 những bộ thỏa mãn 𝑃 − 𝑉𝑎𝑙𝑢𝑒 (giá trị mang ý nghĩa thống kê)

End

Xây dựng lời giải:

Khởi tạo m con kiến và thực hiện 𝑛 lần lặp. Tại mỗi một lần lặp các con kiến thực hiện đồng thời và độc lập. Mỗi con kiến phải xây dựng cho mình một lời giải, lựa chọn cho mình một tập 𝑇 các đỉnh, mỗi đỉnh là một SNP tương ứng với một vị trí.

Trong quá trình đi xây dựng lời giải, kiến phải lựa chọn cho mình một bộ SNPs để cho vào tập lời giải. Việc lựa chọn bộ SNPs phụ thuộc vào 𝑘 𝑣ị 𝑡𝑟í trong mỗi bộ, mỗi con kiến dựa vào mùi của các vị trí trong mỗi bộ.

Tại lần lặp 𝑖, kiến m lựa chọn cho mình một bộ 𝑆𝑚 gồm 𝑘 𝑣ị 𝑡𝑟í . Hoạt động của kiến 𝑚 là thực hiện gom nhóm, chọn ra 𝑘 𝑣ị 𝑡𝑟í (các vị trí không trùng nhau) để cho vào bộ 𝑆𝑚. Mỗi một vị trí được kí hiệu bởi: 1,2 … , 𝑚. Giả sử đầu vào có m vị trí hay gồm có 𝑚 SNPs (k< 𝑚) (xem hình 3.3).

Hình 3.3 Mô tả hoạt động của kiến

Xác suất lựa chọn vị trí 𝑘 ở lần lặp thứ 𝑖 dựa vào công thức tính xác suất thể hiện trong công thức (3.1): 𝑝𝑘𝑖 = (𝜏𝑘 𝑖 )𝛼𝜂𝑘𝛽 ∑𝐿𝑗 =1(𝜏𝑗 𝑖 )𝛼𝜂𝑘𝛽 (3.1) Trong đó:  𝐿: Tập các vị trí.

 𝜂𝑘𝛽: Thông tin heuristic xét ở vị trí 𝑘 và bằng 1.

 𝜏𝑘 𝑖 : Thông tin học tăng cường, biểu thị vết mùi của vị trí 𝑘 tại lần lặp 𝑖.

Sau 𝑛 lần lặp, kiến 𝑚 xây dựng được 𝑛 lời giải cho mình (tại mỗi lần lặp, lời giải độc lập nhau và các đỉnh được xây dựng trong từng lời giải là không trùng nhau).

Tại lần lặp thứ i, các con kiến xây dựng lời giải và tính 𝑋2 cho lời giải mà mình xây dựng, sau đó tiến hành cập nhật vết mùi theo công thức (3.2). Tại mỗi một lần lặp, kiến m sẽ để lại vết mùi tại vị trí mà kiến đã đi qua:

𝜏𝑘 𝑖 + 1 = 1 − 𝜌 𝜏𝑘 𝑖 + ∆𝜏𝑘 𝑖 (3.2)

Trong đó:

0 < 𝜌 ≤ 1 là hệ số bay hơi. Tham số 𝜌 được sử dụng để tránh sự tích tụ vết mùi quá nhiều trên một đỉnh và giúp cho “kiến ” quên đi các quyết định sai lầm.

 ∆𝜏𝑘 𝑖 là lượng mùi do kiến m cập nhật trên vị trí 𝑘 mà kiến 𝑚 đi qua ở lần lặp 𝑖. Giá trị ∆𝜏𝑘 𝑖 tính trong công thức (3.3):

∆𝜏𝑘 𝑖 = 0,1. 𝑋2 𝑛ế𝑢 𝑘 ∈ 𝑆𝑚 0 𝑛𝑔ượ𝑐 𝑙ạ𝑖

(3.3)

Như vậy vị trí nào có nhiều kiến sử dụng sẽ càng được cập nhật mùi nhiều hơn. Do đó sẽ được kiến lựa chọn nhiều hơn trong các bước lặp sau. Các con kiến giao tiếp với nhau thông qua vết mùi tại mỗi vị trí.

Ưu nhược điểm:

Ưu điểm

Khi sử dụng các bộ dữ liệu lớn thì thuật toán ACO so với hai thuật toán BEAM và SNPHarvester khả năng phát hiện tương tác khả quan hơn.

Nhược điểm

Tuy nhiên thuật toán Generic ACO vẫn còn thực hiện theo kiểu tuần tự nên vẫn còn mất nhiều thời gian trong quá trình tính toán đối với những bộ dữ liệu lớn và khả năng phát hiện vẫn chưa được chính xác như mong muốn.

3.3.1.2 Thuật toán AntEpiSeeker

Thuật toán AntEpiSeeker cải tiến của thuật toán Generic ACO trong việc giải quyết bài toán tương tác gen. Thuật toán AntEpiSeeker được Yupeng Wang cùng cộng sự đề xuất năm 2010[22], với mục đích tăng khả năng phát hiện để tạo độ chính xác

Một phần của tài liệu Khám phá tương tác trội nhờ phương pháp tối ưu đàn kiến (Trang 27)

Tải bản đầy đủ (PDF)

(66 trang)