TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
ỨNG DỤNG GIẢI THUẬT META-HEURISTIC
TRONG BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT
APPLICATION OF META-HEURISTIC ALGORITHM
FOR A SEARCH OF SHORTEST PATH
Đồn Duy Bình
Trường Đại học Sư phạm, Đại học Đà Nẵng
TĨM TẮT
Bài tốn tìm kiếm được xem là bài toán được nhiều người quan tâm, đặc biệt là tìm
kiếm tối ưu tồn cục. Một thuật tốn được xem là lý thuyết vững chắc trong việc giải các bài
toán tìm kiếm tối ưu tồn cục đã có nhiều ứng dụng thực tế như: tìm kiếm các trang web cần
tìm trên mạng, kế hoạch sắp xếp thời khóa biểu cho các y tá trong bệnh viện, tìm kiếm đường
đi tối ưu cho những người lái xe hơi… đấy là thuật toán kiến (ACS – Ant Colony Search hoặc
ACO - Ant Colony Optimization). Trong bài báo này chúng tôi giải thuật Meta-Heuristic và đặc
biệt là thuật toán kiến để thực hiện bài tốn tìm kiếm. Thuật tốn kiến mơ phỏng hành vi của
đàn kiến trong tự nhiên nhằm tìm kiếm đường đi ngắn nhất giữa tổ kiến và nguồn thức ăn dựa
trên mật độ mùi - Pheromone mà các con kiến để lại trên đường đi.
ABSTRACT
Search problem is a problem that concerns many people, especially in the field of
global optimal search. An algorithm is considered to be a well-established theory in solving
problems of globally optimal search and it has many practical applications such as searching for
pages needed to be found on the web, planning a schedule for the nurses in hospitals, finding
an optimal way for people to drive,etc... That is an ant algorithm (ACS - Ant Colony Search or
ACO - Ant Colony Optimization). In this paper, we introduce the Meta-Heuristic algorithm,
especially ACO to make search problems. The Ant Algorithm describes the behaviour of natural
ants to find the shortest way between food sources and density based on the pheromone that
the ants left on the road.
1. Giới thiệu về ACO (ANT COLONY OPTIMIZATION)
Các lĩnh vực nghiên cứu thuật toán kiến đã thu được từ những quan sát mơ hình,
hành vi thực tế của lồi kiến, và sử dụng các mơ hình này như là một nguồn cảm hứng
cho việc thiết kế các thuật tốn cho các giải pháp tối ưu hóa và phân phối kiểm sốt các
vấn đề.
Các ý tưởng chính là việc tự tổ chức phối hợp giữa các nguyên tắc cho phép với
hành vi thực sự của lồi kiến có thể được triển khai để giải quyết vấn đề về máy tính.
Một số khía cạnh khác nhau ở các hành vi ứng xử của các đàn kiến có cảm hứng cho
các thuật toán kiến khác nhau.
9
CHIA SẼ KIẾN THỨC
TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
2. Khám phá hành vi của đàn kiến và sự tối ưu hố
Những hình ảnh nhận thức đặc biệt của đàn kiến chỉ đơn giản là sự phát triển và
hồn tồn mị mẫm. Trong thực tế, một điều quan trọng trong nghiên cứu về loài kiến là
hành vi liên lạc giữa các con kiến, hoặc giữa các cá nhân với môi trường, được dựa trên
việc sử dụng các sản phẩm hóa chất của các lồi kiến. Các hóa chất đó được gọi là
pheromones.
a. Thí nghiệm chiếc cầu đôi
Sự gửi vết mùi pheromones và hành vi của một số lồi kiến đã được điều tra
kiểm sốt trong các thử nghiệm của một số nhà nghiên cứu. Một trong những thí
nghiệm nổi bật nhất là thí nghiệm được thiết kế và đi vào hoạt động của Deneubourg và
các đồng nghiệp của ông [1], người mà đã sử dụng một cây cầu nối tổ của đàn kiến với
nguồn thức ăn. Họ chạy các thử nghiệm với tỉ lệ r = l l / l s giữa độ dài hai nhánh của
cây cầu, ll là độ dài của nhánh dài và l s là độ dài của nhánh ngắn hơn. Trong thử
nghiệm đầu tiên với cây cầu có hai nhánh chiều dài bằng nhau (r = 1; xem hình 1.1a).
15cm
600
Tổ kiến
Thức ăn
(a)
Tổ kiến
1
2
Thức ăn
.
(b)
Hình 1. Thí nghiệm chiếc cầu đơi. (a) Hai nhánh có kích thước bằng nhau,
(b) Một nhánh có kích thước gấp đơi nhánh kia
Khi bắt đầu, trên 2 nhánh của cây cầu đều chưa có pheromones. Do đó, các con
kiến có thể chọn một trong các nhánh với cùng một xác suất. Tuy nhiên, do sự lựa chọn
là ngẫu nhiên lên sau một thời gian số lượng kiến đi trên những chi nhánh sẽ là khác
nhau. Bởi vì loài kiến sẽ gửi pheromones trong khi di chuyển, dần dần số lượng
pheromones trên những nhánh cũng sẽ khác nhau, điều này càng kích thích thêm đàn
kiến sẽ lựa chọn nhánh có lượng mùi pheromones lớn, và như vậy đến một thời gian nào
đó tất cả đàn kiến sẽ hội tụ về cùng một nhánh.
10
CHIA SẼ KIẾN THỨC
TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
b. Một mơ hình ngẫu nhiên
Trong mơ hình này, ψ là mỗi giây đàn kiến băng qua cầu trong mỗi hướng ở một
tốc độ hằng số v (cm/s), một trong những đơn vị gửi pheromones trên các nhánh. Cho
dộ dài ll và l s (cm) trong các nhánh dài và ngắn, một con kiến chọn nhánh ngắn sẽ đi
ngang qua nó trong khoảng thời gian là ts = ls / v (giây), trong khi kiến lựa chọn Chi
nhánh dài sẽ sử dụng r.ts giây, với r=ll /ls .
Xác suất pia(t) là xác xuất tại điểm i (i Є {1,2}) (xem hình 1.1b) kiến chọn nhánh
a (a Є {s,l}), trong đó s, l là các chi nhánh ngắn và dài tương ứng, tại thời điểm t tổng số
lượng pheromones φia(t) được thiết lập trên các chi nhánh, là tổng lượng pheromones
mà các loài kiến để lại trên các chi nhánh cho đến thời gian t đó.
Trong mơ hình này đàn kiến gửi lại vết mùi pheromones của họ trên cả hai
đường đi: từ tổ đến nguồn thức ăn và quay trở lại tổ. Sự di chuyển này là một hành vi
ứng xử cần thiết để có được sự hội tụ của đàn kiến hướng về nhánh ngắn.
2. Đàn kiến nhân tạo
Qua thử nghiệm chiếc cầu đôi cho thấy rõ ràng có khả năng xây dựng được tối
ưu hóa đàn kiến: Thơng tin để tìm ra con đường ngắn nhất giữa 2 điểm có thể dựa vào
quy tắc xác xuất.
Có 2 khía cạnh bất đồng quan trọng:
- Phạm vi xem xét các hành vi của hệ thống là trung bình, và khơng phải những
hành vi ứng xử tn theo biến thiên ngẫu nhiên của đàn kiến là duy nhất.
- Đây là thí nghiệm trên những thời gian khơng liên tục, trong khi trước đó mơ
hình xét trong một thời gian liên tục.
3. Kiến nhân tạo và chi phí tối thiểu trên đường đi
Những hành vi là:
1. Giải pháp xây dựng theo hướng xác xuất bởi vết mùi pheromones, với sự cập
nhật pheromones nhanh
2. Thuyết tiền định con đường quay trở lại với việc loại bỏ vòng lặp và sự cập
nhật pheromones
3. Đánh giá về chất lượng của các giải pháp tạo ra và sử dụng các giải pháp chất
lượng trong việc xác định số lượng pheromones đã gửi lại.
Xác xuất chọn đỉnh tiếp theo của đàn kiến và giải pháp xây dựng. S-ACO đàn
kiến có hai phương thức hoạt động: chuyển tiếp và quay trở lại.
Thuyết tiền định về hành vi quay trở về tổ của đàn kiến và sự cập nhật
pheromones. Việc sử dụng một bộ nhớ rõ ràng cho phép một con kiến có thể trở lại con
đường mà nó đã đi trong khi tìm kiếm đến đỉnh đích.
Cơ sở giải pháp hiệu quả của sự cập nhập pheromones. Trong S-ACO đàn
kiến nhớ các đỉnh mà nó đi qua trong quá trình tìm nguồn thức ăn, cũng như các chi phí
trên các cạnh đã qua nếu biểu đồ có trọng số.
11
CHIA SẼ KIẾN THỨC
TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
Sự bay hơi của Pheromones. Trong đàn kiến thực, lượng pheromone giảm theo
thời gian vì có sự bay hơi.
Để biểu diễn mỗi cạnh (i,j) của đồ thị G =(N,A) chúng tôi dùng một biến gọi là
τij gọi là vết mùi nhân tạo, để rút ngắn lượng mùi pheromones trong thời gian tiếp theo.
Vết mùi pheromones được tạo và cập nhập bởi đàn kiến. Ở những phương thức tính số
lượng vết mùi pheromones trên các cạnh chỉ được tính theo tỷ lệ, ước tính của đàn kiến.
Hành vi tìm kiếm đường đi của đàn kiến
Mỗi kiến, bắt đầu từ một đỉnh, một giải pháp cho vấn đề ứng dụng từng bước
được giải quyết. Một con kiến k tại một đỉnh i bất kì sử dụng vết mùi pheromones τ ij để
tính xác suất chọn đỉnh j như sau:
τα
ij
⎧
⎪
τ ilα
p ijk = ⎨ ∑
k
l∈ N i
⎪⎩ 0 ,
, if j∈ Ν k
i
(1.8)
if j∉ Ν k
i
Trong đó N Ik là vùng lân cận của kiến k ở đỉnh i trong S-ACO vùng lân cận của
đỉnh i là tất cả các đỉnh kết nối trực tiếp đến đỉnh i trong đồ thị G =(N,A), ngoại trừ tất
cả các đỉnh trước (ví dụ, các đỉnh trước khi di chuyển đến đỉnh i của kiến).
Đường đi về tổ và sự cập nhập vết mùi. Khi đạt tới đỉnh đích, kiến thực hiện q
trình quay về tổ trên cùng con đường đến nguồn thực phẩm. Bổ sung tính năng này là,
trước khi bắt đầu quá trình quay về tổ, kiến sẽ loại bỏ những đường đi rơi vào tình trạng
vịng lặp mà nó đã gặp phải trên đường đi tìm đến nguồn thức ăn.
Trong thời gian quay trở về tổ con kiến thứ k sẽ để lại một lượng ∆τk pheromones
trên các cạnh mà nó đi qua. Trong đó, nếu kiến thứ k quay trở về tổ trên cạnh (i,j), thì
giá trị τ ij pheromones sẽ thay đổi như sau:
τ ij ← τ ij + ∆τ k
(1.9)
Một khía cạnh quan trọng vẫn là sự lựa chọn của ∆τk . Trong những trường hợp
đơn giản nhất, giá trị của ∆τk là một hằng số cho tất cả các loài kiến.
Sự bay hơi của vết mùi pheromones.Vết mùi pheromones bay hơi có thể được
coi như là một kỹ thuật thăm dị nhanh chóng của đàn kiến tìm điểm cực thuận tốt trên
đường đi. Sau đó mỗi kiến thứ k di chuyển đến một đỉnh kế tiếp nào đó tuỳ theo hành vi
tìm kiếm của kiến đã được mô tả ở trên, lượng bay hơi của pheromones được áp dụng
theo công thức sau đây với tất cả các cung:
τij =(1- ρ)τij , □ (i,j) ∈ A , p ∈ (0,1)
( 1.10)
12
CHIA SẼ KIẾN THỨC
TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
Trong đó tham số ρ(0,1]. Sau khi sự bay hơi pheromones đã được áp dụng cho
tất cả các cạnh, số lượng pheromones ∆τk sẽ được thêm vào các cạnh.
2. Các ACO METAHEURISTIC
2.1. Trình bày vấn đề
Chúng tơi xem xét các vấn đề cực tiểu hoá ( S , f , Ω ). Trong đó S là nơi tập hợp
các giải pháp được xét, f là mục tiêu của chức năng quan trọng, trong đó quy định giá trị
của chức năng đó là một hằng số f ( s, t ) của mỗi giải pháp s ∈ S và Ω(t ) là một tập
hợp các khó khăn (sự bắt ép, sự đè nén).
2.2. Hành vi của đàn kiến
Đó là giải pháp xây dựng dựa vào di chuyển có thể được trên đồ thị GC = (C , L)
trong đó , C: Là các nút trên đồ thị, L là tập hợp đầy đủ các thành phần kết nối của C.
Các vấn đề có điều kiện Ω(t) được đàn kiến tìm kiếm xây dựng lên. Các thành phần
ci ∈ C và các kết nối lij ∈ L có thể lên kết với nhau ở vết mùi pheromones τ .
3. Phân tích giải thuật
Thật sự, một thuật tốn ACO có thể được hình dung như sự tác động của ba thủ
[2]
tục :
ConstructAntsSolutions, UpdatePheromones, và DaemonActions.
ConstructAntsSolutions (Giải pháp xây dựng các loài kiến) là quản lý một đàn
kiến xảy ra đồng thời và không đồng bộ của các vấn đề cần xem xét của đàn kiến, bằng
cách di chuyển qua các đỉnh bên cạnh của đồ thị GC.
UpdatePheromones (Cập nhật pheromones) là quá trình mà vết mùi pheromones
được sửa đổi. .
DaemonActions (Những hành động) thủ tục được sử dụng để thực hiện những
hành động tập trung mà điều này không thể thực hiện bởi những con kiến riêng lẻ.
Procedure ACOMetaheuristic
ScheduleActivities
ConstructAntsSolutions
UpdatePheromones
DaemonActions
% optionnal
End-ScheduleActivities
End-procedure.
13
CHIA SẼ KIẾN THỨC
TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
Sơ đồ thuật toán ACO cho bài toán TSP
Bắt đầu
Định vị kiến ngẫu nhiên
trong những thành phố
trên lưới và cất thành
phố hiện thời trong danh
sách visited
Xác định xác suất có
thể như là đến thành
phố nào tiếp theo
Sai
Số vòng lặp tối
đa đã được thực
hiện
Di chuyển tới thành
phố tiếp theo và đặt
thành phố này trong
danh sách visited
Tất cả các thành
phố đã được
ghé thăm
Đúng
Kết thúc
Sai
Đúng
Ghi lại độ dài của cuộc hành
trình và xố danh sách
visited
Xác định hành trình ngắn
nhất từ trước đến nay và
cập nhật pheromone
Hình 3. Sơ đồ thuật toán ACO cho bài toán TSP
4. Đề xuất ứng dụng
Bài toán người du lịch (TSP) là một trong những bài toán kinh điển và được đầu
tư nghiên cứu trong một thời gian dài. Nó góp phần quan trọng vào việc nghiên cứu giải
thuật ACO: Các giải thuật ACO nguyên thủy và những cải tiến của giải thuật này về sau
đều được áp dụng mơ phỏng bởi bài tốn người du lịch.
5. Triển khai ứng dụng
Bài tốn người di lịch có thể được biểu diễn khái quát bằng một đồ thị có trọng
số G(N,A) với N là tâp hợp các nút mô tả cho các thành phố, A là tập hợp các cung mô
tả đoạn đường giữa hai thành phố.
14
CHIA SẼ KIẾN THỨC
TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
Mỗi cung (i,j) thuộc A được gán một giá trị dij mô tả chiều dài của đường đi giữa
hai đỉnh i, j với i, j thuộc N. Mục đích cuối cùng của bài tốn người di lịch chính là tìm
ra chu trình Hamilton ngắn nhất của đồ thị G có n đỉnh với n là số thành phố mà người
di lịch phải đi qua. Như vậy, kết quả tốt nhất của bài tốn chính là một hốn vị π của các
đỉnh {1, 2,…, n}, sao cho chiều dài f(π) là nhỏ nhất. f(π) được tính theo cơng thức sau:
5.1. Giải thuật ACO cho bài toán người di lịch
Việc xây dựng một đồ thị G=(C, L) tương ứng với việc xây dựng đồ thị G(N,A)
ở trên với C=N và L=A. Trong đó tập hợp các đường đi của đồ thị tương ứng với tập
hợp các hành trình từng phần có thể có và giá trị Ω nhằm ràng buộc rằng con kiến chỉ
tìm những đường đi tương ứng với các hoán vị của các thành phố. Ở đây bài tốn tìm
đường đi ngắn nhất qua tất cả các đỉnh của đồ thị mỗi đỉnh một lần có mối liên hệ mật
thiết với bài tốn tìm đường đi ngắn nhất của con kiến.
Hình 3. Một con kiến đang ở thành phố i muốn đến thành phố tiếp theo sẽ dựa trên giá trị dấu τij và giá
trị Heuristic ηij trên cung nối thành phố i với thành phố j mà con kiến chưa đến.
ACO Metaheuristic tĩnh
procedure ACOMetaheuristicStatic
set parameters, initialize pheromone trails
while (termination condition not met) do
ConstructAntsSolutions
ApplyLocalSearch % tùychọn
UpdatePheromones
end
end
5.2. Hệ thông kiến (Ant System – AS) và những cải tiến
Khả năng mà con kiến k có thể đi từ thành phố hiện tại i đến thành phố j được
tính theo công thức như sau[3]:
k
nếu j ∈ Ν i
15
CHIA SẼ KIẾN THỨC
TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
với ηij=1/ d ij là giá trị Heuristic có thể có, α và β là hai tham số quyết định sự ảnh hưởng
lẫn nhau của các pheromones trên các hành trình được xây dựng và các thơng tin
Heuristic. Nik là những thành phố mà con kiến k có thể đi đến, từ vị trí hiện tại là thành
phố i ( Đây là các thành phố mà con kiến này chưa viếng thăm bao giờ). Với tập luật
như trên, khả năng lựa chọn một cung (i,j) tỉ lệ thuận với giá trị của các pheromones có
liên quan τij và của giá trị heuristic ηij.
Sau khi tất cá các hành trình được xây dựng, các pheromone bắt đầu được cập
nhật. Việc cập nhật được thực hiện bằng cách giảm mật độ pheromone trên tất cả các
cung của đồ thị, sau đó thêm pheromone trên các hành trình mà con kiến đã đi qua. Việc
xóa các dấu được thực hiện như sau:
τij ← (1-ρ)τij, □(i,j) ∈ L
(3.3)
với 0<ρ≤1 là tỉ lệ mất pheromone, dùng để giới hạn sự tăng lên của pheromoe trên các
hành trình. Sau khi pheromone mất đi, tất cả các con kiến sẽ ghi dấu trên các hành trình
của nó theo cơng thức như sau:
(3.4)
với ∆ τijk là số lượng các dấu con kiến k thực hiện ghi dấu trên hành trình mà nó đi qua.
∆ τijk được định nghĩa như sau:
(3.5)
Nếu cũng (i,j) thuộc Tk
trường hợp ngược lại
với Ck là độ dài của hành trình Tk được xây dựng bởi con kiến thứ k, được tính bằng
tổng chiều dài của các cung thuộc Tk.
TÀI LIỆU THAM KHẢO
[1]. M. Dorigo and Thomas Stützle. Ant Colony Optimization, papes 17-20. McGraw
Hill, London, UK, 2004
[2]. M. Dorigo and Thomas Stützle. Ant Colony Optimization, papes 70-90. McGraw
Hill, London, UK, 2004
[3]. M. Dorigo and T. Stütxle. The ant colony optimization metaheuristic: Algorithms,
applications and advances. Technical Report IRIDIA/2000-32, IRRIDIA,
Université Libre de Bruxelles, Belgium, 2000.
16
CHIA SẼ KIẾN THỨC