TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
9
Ứ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
Đoàn Duy Bình
Trường Đại học Sư phạm, Đại học Đà Nẵng
TÓM TẮT
Bài toá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 toàn cục. Một thuật toá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 toà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 toán tìm kiếm. Thuật toá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 lnh vc nghiên cu thut toán kin ã thu c t nhng quan sát mô hình,
hành vi thc t ca loài kin, và s dng các mô hình này nh là mt ngun cm hng
cho vic thit k các thut toán cho các gii pháp ti u hóa và phân phi kim soát các
vn .
Các ý tng chính là vic t t chc phi hp gia các nguyên tc cho phép vi
hành vi thc s ca loài kin có th c trin khai gii quyt vn v máy tính.
Mt s khía cnh khác nhau các hành vi ng x ca các àn kin có cm hng cho
các thut toán kin khác nhau.
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
10
2. Khám phá hành vi của đàn kiến và sự tối ưu hoá
Nhng hình nh nhn thc c bit ca àn kin ch n gin là s phát trin và
hoàn toàn mò mm. Trong thc t, mt iu quan trng trong nghiên cu v loài kin là
hành vi liên lc gia các con kin, hoc gia các cá nhân vi môi trng, c da trên
vic s dng các sn phm hóa cht ca các loài kin. Các hóa cht ó c gi là
pheromones.
a. Thí nghiệm chiếc cầu đôi
S gi vt mùi pheromones và hành vi ca mt s loài kin ã c iu tra
kim soát trong các th nghim ca mt s nhà nghiên cu. Mt trong nhng thí
nghim ni bt nht là thí nghim c thit k và i vào hot ng ca Deneubourg và
các ng nghip ca ông
[1]
, ngi mà ã s dng mt cây cu ni t ca àn kin vi
ngun thc n. H chy các th nghim vi t l
sl
llr /
=
gia dài hai nhánh ca
cây cu,
l
l là dài ca nhánh dài và
s
l là dài ca nhánh ngn hn. Trong th
nghim u tiên vi cây cu có hai nhánh chiu dài bng nhau (r = 1; xem hình 1.1a).
.
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 bt u, trên 2 nhánh ca cây cu u cha có pheromones. Do ó, các con
kin có th chn mt trong các nhánh vi cùng mt xác sut. Tuy nhiên, do s la chn
là ngu nhiên lên sau mt thi gian s lng kin i trên nhng chi nhánh s là khác
nhau. Bi vì loài kin s gi pheromones trong khi di chuyn, dn dn s lng
pheromones trên nhng nhánh cng s khác nhau, iu này càng kích thích thêm àn
kin s la chn nhánh có lng mùi pheromones ln, và nh vy n mt thi gian nào
ó tt c àn kin s hi t v cùng mt nhánh.
(
a
)
T kin Thc n
15c
m
60
0
21
T kin Thc n
(
b
)
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
11
b. Một mô hình ngẫu nhiên
Trong mô hình này, là mi giây àn kin bng qua cu trong mi hng mt
tc hng s v (cm/s), mt trong nhng n v gi pheromones trên các nhánh. Cho
d dài
l
l và
s
l (cm) trong các nhánh dài và ngn, mt con kin chn nhánh ngn s i
ngang qua nó trong khong thi gian là t
s
= l
s
/ v (giây), trong khi kin la chn Chi
nhánh dài s s dng r.t
s
giây, vi r=l
l
/l
s
.
Xác sut p
ia
(t) là xác xut ti im i (i {1,2}) (xem hình 1.1b) kin chn nhánh
a (a {s,l}), trong ó s, l là các chi nhánh ngn và dài tng ng, ti thi im t tng s
lng pheromones
ia
(t) c thit lp trên các chi nhánh, là tng lng pheromones
mà các loài kin li trên các chi nhánh cho n thi gian t ó.
Trong mô hình này àn kin gi li vt mùi pheromones ca h trên c hai
ng i: t t n ngun thc n và quay tr li t. S di chuyn này là mt hành vi
ng x cn thit có c s hi t ca àn kin hng v nhánh ngn.
2. Đàn kiến nhân tạo
Qua th nghim chic cu ôi cho thy rõ ràng có kh nng xây dng c ti
u hóa àn kin: Thông tin tìm ra con ng ngn nht gia 2 im có th da vào
quy tc xác xut.
Có 2 khía cnh bt ng quan trng:
- Phm vi xem xét các hành vi ca h thng là trung bình, và không phi nhng
hành vi ng x tuân theo bin thiên ngu nhiên ca àn kin là duy nht.
- ây là thí nghim trên nhng thi gian không liên tc, trong khi trc ó mô
hình xét trong mt thi gian liên tc.
3. Kiến nhân tạo và chi phí tối thiểu trên đường đi
Nhng hành vi là:
1. Gii pháp xây dng theo hng xác xut bi vt mùi pheromones, vi s cp
nht pheromones nhanh
2. Thuyt tin nh con ng quay tr li vi vic loi b vòng lp và s cp
nht pheromones
3. ánh giá v cht lng ca các gii pháp to ra và s
dng các gii pháp cht
lng trong vic xác nh s lng pheromones ã gi li.
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
kin có hai phng thc hot ng: chuyn tip và quay tr li.
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. Vic s d
ng mt b nh rõ ràng cho phép mt con kin có th tr li con
ng mà nó ã i trong khi tìm kim n nh ích.
Cơ sở giải pháp hiệu quả của sự cập nhập pheromones. Trong S-ACO àn
kin nh các nh mà nó i qua trong quá trình tìm ngun thc n, cng nh các chi phí
trên các cnh ã qua nu biu có trng s.
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
12
Sự bay hơi của Pheromones. Trong àn kin thc, lng pheromone gim theo
thi gian vì có s bay hi.
biu din mi cnh (i,j) ca th G =(N,A) chúng tôi dùng mt bin gi là
τ
ij
gi là vt mùi nhân to, rút ngn lng mùi pheromones trong thi gian tip theo.
Vt mùi pheromones c to và cp nhp bi àn kin. nhng phng thc tính s
lng vt mùi pheromones trên các cnh ch c tính theo t l, c tính ca àn kin.
Hành vi tìm kiếm đường đi của đàn kiến
Mi kin, bt u t mt nh, mt gii pháp cho vn ng dng tng bc
c gii quyt. Mt con kin k ti mt nh i bt kì s dng vt mùi pheromones
ij
τ
tính xác sut chn nh j nh sau:
Trong ó
k
I
N là vùng lân cn ca kin k nh i trong S-ACO vùng lân cn ca
nh i là tt c các nh kt ni trc tip n nh i trong th G =(N,A), ngoi tr tt
c các nh trc (ví d, các nh trc khi di chuyn n nh i ca kin).
Đường đi về tổ và sự cập nhập vết mùi. Khi t ti nh ích, kin thc hin quá
trình quay v t trên cùng con ng n ngun thc phm. B sung tính nng này là,
trc khi bt u quá trình quay v t, kin s loi b nhng ng i ri vào tình trng
vòng lp mà nó ã gp phi trên ng i tìm n ngun thc n.
Trong thi gian quay tr v t con kin th k s li mt lng ∆τ
k
pheromones
trên các cnh mà nó i qua. Trong ó, nu kin th k quay tr v t trên cnh (i,j), thì
giá tr
ij
τ
pheromones s thay i nh sau:
k
ijij
τττ
∆+← (1.9)
Mt khía cnh quan trng vn là s la chn ca ∆τ
k
. Trong nhng trng hp
n gin nht, giá tr ca ∆τ
k
là mt hng s cho tt c các loài kin.
Sự bay hơi của vết mùi pheromones.Vt mùi pheromones bay hi có th c
coi nh là mt k thut thm dò nhanh chóng ca àn kin tìm im cc thun tt trên
ng i. Sau ó mi kin th k di chuyn n mt nh k tip nào ó tu theo hành vi
tìm kim ca kin ã c mô t trên, lng bay hi ca pheromones c áp dng
theo công thc sau ây vi tt c các cung:
ij
=(1- )
ij
, □ (i,j) ∈ A , p ∈ (0,1) ( 1.10)
⎪
⎩
⎪
⎨
⎧
Ν
∉
Ν
∈
∑
∈
=
k
i
j if ,0
k
i
j if ,
α
τ
τ
α
il
N
k
i
l
ij
k
ij
p
(1.8)
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
13
Trong ó tham s (0,1]. Sau khi s bay hi pheromones ã c áp dng cho
tt c các cnh, s lng pheromones ∆τ
k
s c thêm vào các cnh.
2. Các ACO METAHEURISTIC
2.1. Trình bày vấn đề
Chúng tôi xem xét các vn cc tiu hoá (
Ω
,, fS ). Trong ó S là ni tp hp
các gii pháp c xét, f là mc tiêu ca chc nng quan trng, trong ó quy nh giá tr
ca chc nng ó là mt hng s ),( tsf ca mi gii pháp
Ss
∈
và )(tΩ là mt tp
hp các khó khn (s bt ép, s è nén).
2.2. Hành vi của đàn kiến
ó là gii pháp xây dng da vào di chuyn có th c trên th ),( LCG
C
=
trong ó , C: Là các nút trên th, L là tp hp y các thành phn kt ni ca C.
Các vn có iu kin (t) c àn kin tìm kim xây dng lên. Các thành phn
Cc
i
∈ và các kt ni Ll
ij
∈ có th lên kt vi nhau vt mùi pheromones
τ
.
3. Phân tích giải thuật
Tht s, mt thut toán ACO có th c hình dung nh s tác ng ca ba th
tc
[2]
:
ConstructAntsSolutions, UpdatePheromones, và DaemonActions.
ConstructAntsSolutions (Giải pháp xây dựng các loài kiến) là qun lý mt àn
kin xy ra ng thi và không ng b ca các vn cn xem xét ca àn kin, bng
cách di chuyn qua các nh bên cnh ca th G
C
.
UpdatePheromones (Cập nhật pheromones) là quá trình mà vt mùi pheromones
c sa i. .
DaemonActions (Những hành động) th tc c s dng thc hin nhng
hành ng tp trung mà iu này không th thc hin bi nhng con kin riêng l.
Procedure ACOMetaheuristic
ScheduleActivities
ConstructAntsSolutions
UpdatePheromones
DaemonActions % optionnal
End-ScheduleActivities
End-procedure.
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
14
S thut toán ACO cho bài toán TSP
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 ngi du lch (TSP) là mt trong nhng bài toán kinh in và c u
t nghiên cu trong mt thi gian dài. Nó góp phn quan trng vào vic nghiên cu gii
thut ACO: Các gii thut ACO nguyên thy và nhng ci tin ca gii thut này v sau
u c áp dng mô phng bi bài toán ngi du lch.
5. Triển khai ứng dụng
Bài toán ngi di lch có th c biu din khái quát bng mt th có trng
s G(N,A) vi N là tâp hp các nút mô t cho các thành ph, A là tp hp các cung mô
t on ng gia hai thành ph.
úng
Sai
úng
Sai
Bắt đầu
nh v kin ngu nhiên
trong nhng thành ph
trên li và ct thành
ph hin thi trong danh
sách visited
Xác nh xác sut có
th nh là n thành
ph nào tip theo
Di chuyn ti thành
ph tip theo và t
thành ph này trong
danh sách visited
Tt c các thành
ph ã c
ghé thm
Ghi li dài ca cuc hành
trình và xoá danh sách
visited
Xác nh hành trình ngn
nht t trc n nay và
cp nht pheromone
S vòng lp ti
a ã c thc
hin
Kết thúc
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
15
Mi cung (i,j) thuc A c gán mt giá tr d
ij
mô t chiu dài ca ng i gia
hai nh i, j vi i, j thuc N. Mc ích cui cùng ca bài toán ngi di lch chính là tìm
ra chu trình Hamilton ngn nht ca th G có n nh vi n là s thành ph mà ngi
di lch phi i qua. Nh vy, kt qu tt nht ca bài toán chính là mt hoán v ca các
nh {1, 2,…, n}, sao cho chiu dài f() là nh nht. f() c tính theo công thc sau:
5.1. Giải thuật ACO cho bài toán người di lịch
Vic xây dng mt th G=(C, L) tng ng vi vic xây dng th G(N,A)
trên vi C=N và L=A. Trong ó tp hp các ng i ca th tng ng vi tp
hp các hành trình tng phn có th có và giá tr nhm ràng buc rng con kin ch
tìm nhng ng i tng ng vi các hoán v ca các thành ph. ây bài toán tìm
ng
i ngn nht qua tt c các nh ca th mi nh mt ln có mi liên h mt
thit vi bài toán tìm ng i ngn nht ca con kin.
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ùychn
UpdatePheromones
end
end
5.2. Hệ thông kiến (Ant System – AS) và những cải tiến
Kh nng mà con kin k có th i t thành ph hin ti i n thành ph j c
tính theo công thc nh sau
[3]
:
nu j
Ν
k
i
∈
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010
16
vi
ij
=1/ d
ij
là giá tr Heuristic có th có, α và β là hai tham s quyt nh s nh hng
ln nhau ca các pheromones trên các hành trình c xây dng và các thông tin
Heuristic. N
i
k
là nhng thành ph mà con kin k có th i n, t v trí hin ti là thành
ph i ( ây là các thành ph mà con kin này cha ving thm bao gi). Vi tp lut
nh trên, kh nng la chn mt cung (i,j) t l thun vi giá tr ca các pheromones có
liên quan
ij
và ca giá tr heuristic
ij
.
Sau khi tt cá các hành trình c xây dng, các pheromone bt u c cp
nht. Vic cp nht c thc hin bng cách gim mt pheromone trên tt c các
cung ca th, sau ó thêm pheromone trên các hành trình mà con kin ã i qua. Vic
xóa các du c thc hin nh sau:
τ
ij
← (1-ρ)τ
ij
,
□
(i,j)
∈
L (3.3)
vi 0<≤1 là t l mt pheromone, dùng gii hn s tng lên ca pheromoe trên các
hành trình. Sau khi pheromone mt i, tt c các con kin s ghi du trên các hành trình
ca nó theo công thc nh sau:
(3.4)
vi
ij
k
là s lng các du con kin k thc hin ghi du trên hành trình mà nó i qua.
ij
k
c nh ngha nh sau:
(3.5)
Nu cng (i,j) thuc T
k
trng hp ngc li
vi C
k
là dài ca hành trình T
k
c xây dng bi con kin th k, c tính bng
tng chiu dài ca các cung thuc T
k
.
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.