Phương phỏp tối ưu đàn kiến

Một phần của tài liệu (LUẬN án TIẾN sĩ) một số thuật toán dóng hàng các mạng protein luận án TS máy tính 94801 (Trang 37 - 46)

Chương 1 DểNG HÀNG CÁC MẠNG PROTEIN VÀ TỐI ƯU MỀM

1.2. Tối ưu mềm

1.2.2. Phương phỏp tối ưu đàn kiến

Phương phỏp tối ưu đàn kiến là thuật toỏn mụ phỏng cỏch tỡm đường đi tới tổ của kiến tự nhiờn để giải cỏc bài toỏn tối ưu tổ hợp khú. Phương phỏp này được Dorigo giới thiệu vào năm 1991 [M. Dorigo, 1991] dưới dạng hệ kiến ngày nay đó được phỏt triển dưới nhiều biến thể và được ứng dụng rộng rói

Về bản chất, ACO là phương phỏp tỡm kiếm ngẫu nhiờn dựa trờn quần thể nhờ kết hợp thụng tin heuristic và thụng tin học tăng cường thể hiện qua vết mựi để tỡm lời giải gần đỳng tối ưu toàn cục. Để hiểu rừ cỏc thuật toỏn, trước hết cần nắm được ý tưởng mụ phỏng của thuật toỏn

1.2.2.1.Kiến tự nhiờn và kiến nhõn tạo Kiến tự nhiờn.

Trờn đường đi đến nguồn thức ăn và trở về tổ, mỗi con kiến thực để lại một vết hoỏ 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. Đường cú nồng độ vết mựi càng cao thỡ càng cú nhiều khả năng được cỏc con kiến chọn. Nhờ cỏch giao tiếp giỏn tiếp này đàn kiến tỡm được đường đi ngắn nhất từ tổ tới nguồn thức ăn (xem minh họa trong hỡnh 1.3).

Hỡnh 1.3. Cỏch cỏc con kiến thực chọn đường đi ngắn nhất để tha mồi về tổ

Việc tỡm đường đi của cỏc con kiến tự nhiờn dựa trờn nồng độ vết mựi làm ta liờn tưởng tới cỏch học tăng cường cho bài toỏn chọn tỏc động tối ưu, gợi mở một mụ hỡnh mụ phỏng cho cỏc con kiến thực để tỡm đường đi ngắn nhất giữa hai nỳt (tương ứng là tổ và nguồn thức ăn) trờn đồ thị. Trờn cơ sở đú, mở rộng thành phương phỏp ACO để giải cỏc bài toỏn tối ưu tổ hợp khú

Kiến nhõn tạo.

Khi mụ phỏng hành vi của đàn kiến để giải cỏc bài toỏn thực, người ta dựng đa tỏc tử làm đàn kiến nhõn tạo, trong đú mỗi con kiến nhõn tạo là một tỏc tử, cú nhiều khả năng hơn kiến tự nhiờn. Kiến nhõn tạo (về sau sẽ gọi là kiến) cú bộ nhớ riờng, cú khả năng mở rộng, chẳng hạn, ghi nhớ cỏc đỉnh đó thăm trong hành trỡnh và tớnh được độ dài đường đi nú chọn. Ngoài ra cỏc con kiến cú thể trao đổi thụng tin cú được với nhau, thực hiện tớnh toỏn cần thiết, cập nhật mựi.

Nhờ cỏc khả năng mở rộng mà mỗi đàn kiến cú thể thực hiện lặp quỏ trỡnh tỡm lời giải nhờ thủ tục bước tuần tự trờn đồ thị cấu trỳc tương ứng của mỗi bài toỏn và cập nhật mựi theo phương thức học tăng cường để tỡm lời giải chấp nhận được và xỏc định lời giải đủ tốt toàn cục.

1.2.2.2.Lược đồ chung của phương phỏp ACO

Để giải bài toỏn TƯTH tổng quỏt được cho bởi bộ ba (S,f, Ω), ta cần xõy dựng một đồ thị cấu trỳc G(V,E) trong đú V là tập đỉnh sao cho cú cỏc tập con

C0 C của V để cú thể xõy dựng cỏc lời giải chấp nhận được trong tập trạng thỏi S nhờ xuất phỏt từ thành phần ban đầu trong C0 và phỏt triển tuần tự bởi

cỏc thành phần trong C theo định hướng trong E như đó nờu trong mục 1.2.1.1. Để đơn giản, ta xột thuật toỏn ACO cú vết mựi 𝜏𝑖𝑗và thụng tin heuristic 𝜂𝑖𝑗 định hướng tỡm kiếm để ở cỏc cạnh (𝑖, 𝑗) trong E. Bõy giờ ta cú thể thực hiện thuật toỏn ACO trờn đồ thị cấu trỳc mở rộng G(V, E, 𝜏, 𝜂) trong đú𝜏, 𝜂 tương ứng là ma trận mựi và ma trận thụng tin heuristic.

Lược đồ thụng dụng nhất hiện nay của phương phỏp ACO khụng ỏp dụng tỡm kiếm địa phương như sau:

Khi đó cú thụng tin heuristic (thụng tin này như nhau nếu khụng tỡm được) 𝜂𝑖𝑗 cho mỗi cạnh (𝑖, 𝑗) ∈ 𝐸 định hướng ưu tiờn phỏt triển tuần tự từ đỉnh

𝑖 tới 𝑗 trong V, ta khởi tạo vết mựi ban đầu 𝜏𝑖𝑗 bởi cựng giỏ trị 𝜏0, khởi tạo m

kiến để thực hiện việc lặp tỡm lời giải tuần tự nhờ thủ tục bước ngẫu nhiờn (được mụ tả ở mục 1.2.2.3) và trao đổi để cập nhật mựi (học tăng cường, được

Thuật toỏn 1.1. Thuật toỏn ACO Begin

Initialize: Khởi tạo vết mựi, n_ants;

while Khi điều kiện dừng chưa thỏa món do

for i=1 to n_ants do Xõy dựng lời giải;

Cập nhật lời giải tốt; end for;

Cập nhật mựi;

end while; End

mụ tả ở mục 1.2.2.4). Lược đồ của một thuật toỏn ACO khụng ỏp dụng tỡm kiếm địa phương được đặc tả trong thuật toỏn 1.1.

Lời giải tốt nhất tỡm được sau số vũng lặp định trước sẽ được dựng làm xấp xỉ tối ưu toàn cục.

1.2.2.3.Thủ tục bước ngẫu nhiờn xõy dựng lời giải

Ban đầu mỗi kiến k sẽ chọn ngẫu nhiờn một đỉnh ở tập C0, nhờ tập ràng buộc , kiến sẽ xỏc định được tập phỏt triển trong C để phỏt triển tuần tự một cỏch tổng quỏt như sau.

Giả sử kiến đó phỏt triển được xõu 〈𝑢0, … , 𝑢𝑚〉 trong đú 𝑢𝑚 = 𝑖 nhưng chưa cho lời giải chấp nhận được và nhờ Ω ta xỏc định được tập đỉnh 𝐽𝑘(𝑖) cú thể phỏt triển thỡ thành phần … 𝑢𝑖+1 = 𝑗 tiếp theo được chọn với xỏc suất

𝑝𝑖𝑗𝑘 = {

[𝜏𝑖𝑗(𝑡)]𝛼.[𝜂𝑖𝑗(𝑡)]𝛽

∑𝑙∈𝐽𝑘(𝑖)[𝜏𝑖𝑙(𝑡)]𝛼.[𝜂𝑖𝑙(𝑡)]𝛽 𝑛ế𝑢 𝑗𝐽𝑘(𝑖) 0 𝑛ế𝑢 𝑗 ∉ 𝐽𝑘(𝑖)

, (1.1)

trong đú 𝛼, 𝛽 là cỏc hằng số dương chọn trước. Thủ tục này tiếp tục cho đến khi xõu 〈𝑢0, … , 𝑢𝑡〉 tương ứng với một lời giải s trong S. Bằng cỏch này mỗi kiến xõy dựng được lời giải trong mỗi vũng lặp và cựng thực hiện đỏnh giỏ lời giải để cõp nhật mựi theo một quy tắc được chọn.

1.2.2.4.Cỏc quy tắc cập nhật mựi

Việc cập nhật mựi, phản ỏnh cơ chế học tăng cường và ảnh hưởng quyết định chất lượng thuật toỏn nờn thường dựng để làm tờn gọi cho lớp thuật toỏn dựng nú. Để đảm bảo vết mựi hội tụ, người ta sử dụng hằng số bay hơi vết mựi 0<≤1 hay hệ số chiết khấu trong học tăng cường, khi một cạnh được cập nhật mựi thỡ vết mựi biến đổi theo cụng thức:

1 . Δ ij

ij ij

Điểm then chốt là cạnh nào được cập nhật và lượng thờm vào thế nào là tựy theo quy tắc được chọn. Cú nhiều quy tắc cập nhật mựi đó được đề xuất, trong đú điển hỡnh là cỏc quy tắc hệ kiến, hệ đàn kiến, hệ kiến Max-Min và hệ kiến Max-min trơn.

Ký hiệu 𝑤𝑘(𝑡) là lời giải kiến k tỡm được ở bước lặp t, 𝑤(𝑡) và 𝑤∗(𝑡)

tương ứng là lời giải tốt nhất tỡm được ở bước lặp t và lời giải tốt nhất tỡm được tới bước đú.

Quy tắc cập nhật AS

Hệ kiến AS ỏp dụng quy tắc cập nhật mựi địa phương, và là quy tắc đầu tiờn được ỏp dụng trong số cỏc thuật toỏn ACO. Theo quy tắc này, ở bước lặp

t, mỗi kiến k ỏp dụng cập nhật mựi cho tất cả cỏc cạnh (𝑢𝑖, 𝑢𝑖+1) thuộc lời giải

𝑤𝑘(𝑡) theo cụng thức (1.3)

Δ𝜏𝑖𝑗 = {𝜌. 1

𝐿𝑘, 𝑛ế𝑢 (𝑖, 𝑗) ∈ 𝑤𝑘(𝑡)

0 𝑛ế𝑢 (𝑖, 𝑗) ∉ 𝑤𝑘(𝑡) , (1.3)

trong đú 𝐿𝑘 là giỏ trị hàm mục tiờu 𝑓(𝑤𝑘(𝑡)) (khụng giảm tổng quỏt,được giả thiết là dương).

Nhược điểm của quy tắc là vết mựi ở cỏc cạnh khụng được cập nhật sẽ nhanh chúng dần về khụng nờn hạn chế khụng gian tỡm kiếm và thuật toỏn kộm hiệu quả.

Quy tắc ACS

Quy tắc này do Dorigo đề xuất năm 1997 [Dorigo & Gambardella, 1997]. Trong thuật toỏn ACS, việc cập nhật mựi bao gồm cả hai hỡnh thức địa phương

toàn cục. Cập nhật mựi địa phương ỏp dụng cho mọi cạnh cú kiến 𝑘 sử dụng

a)Cập nhật mựi toàn cục ỏp dụng cho cỏc cạnh thuộc lời giải tốt nhất của bước lặp (𝑤(𝑡)hay toàn cục 𝑤∗(𝑡) và gọi tương ứng là i-best hay G-best. Theo cỏch i-besst, Δ𝜏𝑖𝑗 được xỏc định theo cụng thức:

Δ𝜏𝑖𝑗 = 𝜌. 𝑓(𝑤(𝑡)). (1.4)

Nếu trong cụng thức (1.4) thay 𝑤(𝑡) bởi 𝑤∗(𝑡) thỡ ta núi là G-best

b) Cập nhật mựi toàn cục ỏp dụng cho tất cả cỏc cạnh và cũng cỏc hai cỏch i-

best hay G-best, với G-best thỡ Δ𝜏𝑖𝑗xỏc định theo cụng thức:

Δ𝜏𝑖𝑗 = {𝜌. 1

𝑓( 𝑤∗(𝑡)), 𝑛ế𝑢 (𝑖, 𝑗) ∈ 𝑤∗(𝑡)

0 𝑛ế𝑢 (𝑖, 𝑗) ∉ 𝑤∗(𝑡) . . (1.5)

Khi thay 𝑤∗(𝑡) bởi 𝑤(𝑡) thỡ ta cú i-best.

Cỏc quy tắc này tăng chất lượng thuật toỏn so với AS nhưng khụng trỏnh được nhược điểm của nú

Quy tắc MMAS

Để khắc phục nhược điểm nờu trờn của AS và ACS, Stutzle & Hoos đề xuất MMAS năm 2000 [Stỹtzle & Hoos, 2000] gồm 2 bước:

 Bước thứ nhất, cập mựi toàn cục cho tất cả cỏc cạnh theo phương thức i-best hoặc G-best.

 Bước thứ hai, so sỏnh cỏc 𝜏𝑖𝑗với hai đại lượng

𝜏𝑚𝑎𝑥và 𝜏𝑚𝑖𝑛 (𝜏𝑚𝑎𝑥 > 𝜏min > 0) để giới hạn vết mựi trong đoạn

[𝜏𝑚𝑖𝑛, 𝜏𝑚𝑎𝑥], cụ thể như sau: 𝜏𝑖𝑗 = { 𝜏𝑚𝑎𝑥 𝑛ế𝑢 𝜏𝑖𝑗 > 𝜏𝑚𝑎𝑥 𝜏𝑖𝑗 𝑛ế𝑢 𝜏𝑖𝑗 ∈ [𝜏𝑚𝑖𝑛, 𝜏𝑚𝑎𝑥] 𝜏𝑚𝑖𝑛 𝑛ế𝑢 𝜏𝑖𝑗 < 𝜏𝑚𝑖𝑛 . (1.6)

Núi chung, MMAS dựng i-best tốt hơn G-best nhưng cũng cú thể dựng luõn phiờn cho cỏc bước lặp. Khi bắt đầu thuật toỏn, vết mựi thường được thiết đặt bằng ước lượng cận trờn của vết mựi 𝜏𝑚𝑎𝑥. Cỏch khởi tạo như vậy kết hợp với tham số bay hơi nhỏ làm chậm sự khỏc biệt vết mựi của cỏc cạnh, do đú giai đoạn đầu của MMAS mang tớnh khỏm phỏ. Nhờ giới hạn vết mựi trong đoạn [𝜏𝑚𝑖𝑛, 𝜏𝑚𝑎𝑥], MMAS hạn chế được tỡnh trạng vết mựi dần về khụng, khắc phục được nhược điểm của AS và ACS nờn là thuật toỏn được nghiờn cứu nhiều nhất trong cỏc thuật toỏn ACO và nú cú rất nhiều phỏt triển. Một phỏt triển hiệu quả là SMMAS

Quy tắc SMMAS

Quy tắc SMMAS lần đầu tiờn được Đỗ Đức Đụng và cộng sự dựng cho bài toỏn lập lịch sản xuất [Do Duc, Dinh, & Hoang Xuan, 2008] và được trỡnh bày chặt chẽ cho bài toỏn TSP trong [Hoang Xuan Huan, Linh-Trung, Huynh, & others, 2013].

SMMAS được đề xuất dựa trờn nhận xột hai nhược điểm của MMAS:

 Thứ nhất, nếu chọn 𝜏𝑚𝑖𝑛, 𝜏𝑚𝑎𝑥 lệch nhau ớt thỡ làm triệt tiờu hiệu quả học tăng cường, cũn nếu chọn lệch nhau nhiều thỡ vết mựi ở cỏc cạnh ớt được cập nhật sẽ nhanh chúng về 𝜏𝑚𝑖𝑛 làm hạn chế khụng gian tỡm kiếm mặc dự cú nhẹ hơn AS và ACS.

 Thứ hai là đại lượng ∆𝜏𝑖𝑗 phụ thuộc giỏ trị hàm mục tiờu làm cho thuật toỏn phải tớnh toỏn phức tạp, tuy nhiờn trong học tăng cường thỡ khụng cần thiết.

Một trong cỏc cải tiến là khi khởi tạo lại vết mựi, việc cập nhật mựi thường xuyờn bằng lời giải tốt nhất tỡm được mới nhất thay vỡ cố định.

Với nhận xột trờn, SMMAS khụng giảm vết mựi ở cỏc cạnh khụng thuộc lời giải tốt quỏ nhanh như quy tắc MMAS mà dựng quy tắc Max-Min trơn bằng cỏch cập nhật 𝜏𝑖𝑗 toàn cục cho mọi cạnh với Δ𝜏𝑖𝑗 xỏc định bởi:

Δ𝜏𝑖𝑗 = {𝜌. 𝜏𝑚𝑖𝑛 𝑛ế𝑢 (𝑖, 𝑗) ∉ 𝑤(𝑡)

𝜌. 𝜏𝑚𝑎𝑥 𝑛ế𝑢 (𝑖, 𝑗) ∈ 𝑤(𝑡). (1.7)

Quy tắc này cũng khởi tạo 0 = max. Đõy là một phương phỏp cập nhật

mựi dễ cài đặt và cú độ phức tạp tớnh toỏn cũng thấp hơn so với cỏc phương phỏp trước nú. Thực nghiệm và phõn tớch toỏn học cho thấy nú tốt hơn MMAS.

1.2.2.5. Tỡm kiếm địa phương

Lược đồ ACO ở trờn thực hiện tỡm kiếm ngẫu nhiờn để tỡm lời giải gần đỳng nờn khụng gian tỡm kiếm rộng. Thụng thường thỡ cỏc kỹ thuật tỡm kiếm địa phương hội tụ đến cực trị địa phương nhanh hơn. Vỡ vậy người ta thường ỏp dụng kỹ thuật tỡm kiếm địa phương để tăng cường chất lượng lời giải cho lời giải tốt nhất hoặc cho mọi lời giải trong mỗi bước lặp trước khi cập nhật mựi. Cỏc kỹ thuật tỡm kiếm cú thể ỏp dụng linh hoạt theo lược đồ memetic được nờu trong mục 1.2.3.2.

1.2.2.6. Vớ dụ

Như vậy, để xõy dựng thuật toỏn ACO cho bài toỏn cụ thể theo lược đồ nờu trờn, cú 4 yếu tố quyết định:

1) Đồ thị cấu trỳc. Trước hết ta cần xỏc định được đồ thị cấu trỳc G(V, E)

và cỏc tập C0, C phự hợp với bài toỏn sao cho thủ tục bước ngẫu nhiờn dễ ỏp dụng với cỏc ràng buộc Ω đó cho và khụng gian tỡm kiếm càng nhỏ càng tốt.

2) Thụng tin heuristic. Sau khi cho đồ thị cấu trỳc, cần chọn thụng tin heuristic để tăng hiệu quả tỡm kiếm khi học tăng cường. Tuy nhiờn, khi

khụng cú thụng tin này thỡ cú thể xem chỳng như nhau và cựng bằng đơn vị.

3) Quy tắc cập nhật mựi. Trong luận ỏn này chỳng tụi chọn quy tắc cập nhật

mựi SMMAS vỡ nú đơn giản, dễ dựng và hiệu quả hơn cỏc thuật toỏn khỏc.

4) Cỏc kỹ thuật tỡm kiếm địa phương và cỏc ỏp dụng. Tựy theo bài toỏn mà

cú thể ỏp dụng đơn giải một kỹ thuật tỡm kiếm địa phương hoặc theo lược đồ memetic được núi ở mục 1.2.3.2.

Cỏc tham số cho thuật toỏn ACO được chọn dựa trờn kết quả thực nghiệm. Để hiểu rừ hơn, ta xột vớ dụ giải bài toỏn cho bài toỏn TSP.

Với bài toỏn TSP cho bởi G(V, E) và độ dài 𝑑𝑖𝑗 của cỏc cạnh (i,j) đó biết như trong mục 1.2.1.1, ta cú thể dựng luụn đồ thị này làm đồ thị cấu trỳc với

C0=C=V. Với mỗi kiến k ở đỉnh i khi tỡm kiếm, tậ𝑝 𝐽𝑘(𝑖) là cỏc đỉnh mà kiến chưa đi qua.

Thụng tin heuristic là nghịch đảo khoảng cỏch 𝜂𝑖𝑗 = 1 𝑑𝑖𝑗.

Việc tỡm kiếm địa phương cho một chu trỡnh Hamilton được ỏp dụng cho cỏc chu trỡnh cú p đỉnh liền nhau trong chu trỡnh này được hoỏn vị (p-lỏng giềng), trong đú p chọn trước. Chiến lược tỡm kiếm cú thể là tốt hơn (better) hoặc tốt nhất (the best). Trong chiến lược tốt hơn, việc tỡm kiếm cho mỗi lời giải ở mỗi lần lặp sẽ dừng khi tỡm được một lời giải tốt hơn nú, cũn chiến lược tốt nhất sẽ tỡm kiếm lời giải tốt nhất trong p-lỏng giềng. Một cỏch ỏp dụng memetics là chỉ ỏp dụng tỡm kiếm địa phương cho một số lời giải tốt trong một số lần lặp sau thay vỡ ở những vũng lặp đầu, khi lời giải chưa đủ tốt cú cải tiến thỡ cũng chưa tốt bao nhiờu mà tốn thời gian.

1.2.2.7. Nhận xột về phương phỏp ACO

So với GA, ở mỗi bước lặp, ACO khụng dựng lại nhiều lời giải của bước lặp trước như GA, hơn nữa việc kết hợp học tăng cường và thụng tin heuristic sẽ tăng hiệu quả tỡm kiếm.

Việc tỡm kiếm ngẫu nhiờn cho phộp tỡm kiếm linh hoạt, mềm dẻo trờn miền rộng hơn phương phỏp heuristic sẵn cú. Để tăng cường khả năng khỏm phỏ, ACO cú thể ỏp dụng khởi tạo lại vết mựi sau một số bước lặp mà khụng tỡm được lời giải tốt hơn.

Thuật toỏn ACO dễ song song húa để giảm thời gian chạy trờn mỏy song song do mỗi con kiến tỡm lời giải một cỏch độc lập trong mỗi vũng lặp.

Với những lý do trờn, luận ỏn tập trung vào phỏt triển cỏc thuật toỏn dựa trờn đàn kiến.

Một phần của tài liệu (LUẬN án TIẾN sĩ) một số thuật toán dóng hàng các mạng protein luận án TS máy tính 94801 (Trang 37 - 46)

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

(132 trang)