Tải bản đầy đủ (.pdf) (63 trang)

Thuật toán Aco và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (890.69 KB, 63 trang )

1

Số hóa bởi Trung tâm Học liệu


ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG







NGUYỄN QUANG THỌ








THUẬT TOÁN ACO VÀ ỨNG DỤNG












LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH









Thái Nguyên - 2013

2

Số hóa bởi Trung tâm Học liệu

MỤC LỤC
TRANG PHỤ BÌA
LỜI CẢM ƠN
MỤC LỤC i
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ii
PHẦN MỞ ĐẦU 1
Chƣơng 1 - Giới thiệu hệ thống đàn kiến 2
1.1 Tìm hiểu hệ thống đàn kiến 2
1.2 Mô phỏng hành vi thực tế của đàn kiến trong tự nhiên 3
1.2.1 Mô tả hành vi đàn kiến trong tự nhiên 3

1.2.2 Thí nghiệm chiếc cầu đôi 4
1.2.3 Mô hình ngẫu nhiên 8
1.3 Phƣơng pháp tìm đƣờng đi theo mô phỏng hành vi đàn kiến 10
1.3.1 Đàn kiến nhân tạo 10
1.3.2 Kiến nhân tạo và chi phí tối thiểu trên đƣờng đi 12
1.3.3 Sự bay hơi của phenomones 15
1.4 Một số ứng dụng của thuật toán ACO 15
1.4.1 Giải thuật ACO giải bài toán TSP 16
1.4.2 Bài toán lập lịch sản xuất trên một máy đơn (SMTWTP) 17
1.4.3 Bài toán lập lịch tổng quát (GAP) 18
1.4.4 Bài toán phủ tập hợp (SCP) 20
1.4.5 Bài toán định tuyến mạng 21
1.5 Tổng kết chƣơng 1 23
3

Số hóa bởi Trung tâm Học liệu


Chƣơng 2 - Một số thuật toán tối ƣu đàn kiến 24
2.1 Thuật toán AS 24
2.2 Thuật toán MMAS 28
2.3 Thuật toán ACS 31
2.4 Tổng kết chƣơng 2 35
Chƣơng 3 - Ứng dụng thuật toán ACO giải bài toán TSP 36
3.1 Bài toán TSP 36
3.2 Thuật toán ACO giải bài toán TSP 37
3.2.1 Các bƣớc của thuật toán ACO giải bài toán TSP 37
3.2.2 Thuật toán ACO giải bài toán TSP 38
3.3. Xây dựng chƣơng trình Demo áp dụng thuật toán ACO
giải bài TSP 43

3.3.1 Xây dựng cấu trúc dữ liệu 43
3.3.2 Một số thủ tục chính 45
3.3.3 Chƣơng trình Demo 47
3.4 Tổng kết chƣơng 3 50
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 51
TÀI LIỆU THAM KHẢO 53
PHỤ LỤC 54



4

Số hóa bởi Trung tâm Học liệu



PHẦN MỞ ĐẦU

Thuật toán mô phỏng theo cách thức tìm đƣờng của loài kiến dựa trên
mật độ một loại chất hóa học (gọi là mùi) do kiến tạo ra trên đƣờng đi đã đƣợc
một số nhà khoa học nghiên cứu, thí nghiệm điển hình và cho kết quả vƣợt
trội là thí nghiệm đƣợc xây dựng bởi Deneubourg và các đồng nghiệp của ông
vào năm 1989.
Trên cơ sở kết quả nghiên cứu này, nhiều nhà khoa học đã đi sâu
nghiên cứu nhiều các hệ kiến khác nhau. Năm 1996, nhà khoa học ngƣời Bỉ
Marco Dorigo đã xây dựng thuật toán đàn kiến (Ant Algorithm) đầu tiên ứng
dụng vào giải bài toán ngƣời du lịch trong luận án tiến sĩ của mình.
Hiện nay, các thuật toán kiến đã đƣợc ứng dụng vào thực tế ở nhiều
lĩnh vực khác nhau nhƣ: Áp dụng vào việc kinh doanh của một số hãng vận
tài lớn tại Mỹ, ứng dụng trong ngành bƣu chính tại Đan Mạch, tìm kiếm thông

tin trên mạng internet, v.v
Trong khuôn khổ đề tài này, em sẽ tìm hiểu về thuật toán tối ƣu hóa
đàn kiến ACO (Ant Colony Optimization) với tên đề tài: “Thuật toán ACO và
ứng dụng”.
5

Số hóa bởi Trung tâm Học liệu

CHƢƠNG 1
GIỚI THIỆU HỆ THỐNG ĐÀN KIẾN

1.1 Tìm hiểu hệ thống đàn kiến
Các công trình nghiên cứu về hệ thống đàn kiến (Ant System) đã thu
đƣợc các kết quả thiết thực từ việc quan sát hành vi thực tế của loài kiến, quan
sát các mô hình giả lập đàn kiến nhân tạo. Các nhà khoa học đã 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 toán, đƣa
ra giải pháp tối ƣu hóa và phân phối kiểm soát các vấn đề trong thực tế.
Tối ƣu hóa đàn kiến ACO (Ant Colony Optimization) lần đầu tiên đƣợc
Marco Dorigo giới thiệu vào năm 1992, còn đƣợc gọi là Hệ thống đàn kiến
AS (Ant System). AS ban đầu đƣợc áp dụng cho bài toán ngƣời bán hàng
(TSP) [4], [9], [10].
Kể từ năm 1995 Dorigo, Gambardella và Stützle đã phát triển các sơ đồ
AS khác nhau. Dorigo và Gambardella đã đề xuất Hệ thống bầy kiến - Ant
Colony System (ACS) trong khi Stützle và Hoos đề xuất Max-Min Ant
System (MMAS). MMAS là một hệ thống cải tiến hệ thống AS ban đầu và
đƣợc đánh giá là hệ thống tính toán trong tƣơng lai [4], [8], [9]. Tất cả đều áp
dụng giải bài toán ngƣời bán hàng đối xứng hay không đối xứng và cho kết
quả tối ƣu.
Năm 1996, trong bài báo công nghệ của mình M. Dorigo và L.M.
Gambardella đã công bố hệ thống Ant Conoly System. Đây là hệ thống đề cập

đến cách học phối hợp áp dụng cho bài toán TSP [1], [4], [10].
Sau đó, vào năm 1997, G. Di Caro và M. Dorigo đã đề xuất hệ thống
AntNet. Đây là cách tiếp cận về định hƣớng sự thích nghi. Và phiên bản cuối
cùng của hệ thống AntNet về điều khiển mạng truyền thông đã đƣợc công bố
vào năm 1998 [4].
6

Số hóa bởi Trung tâm Học liệu

Vào năm 2001, C. Blum, A. Roli, và M. Dorigo đã cho công bố về hệ
thống đàn kiến mới là Hyper Cube - ACO. Phiên bản mở rộng tiếp đó đã đƣợc
công bố vào năm 2004 [4], [6], [9].
Hầu hết các nghiên cứu gần đây về ACO tập trung vào việc phát triển
các thuật toán biến thể để làm tăng hiệu năng tính toán của thuật toán Ant
System ban đầu để ứng dụng ngày càng nhiều vào các lĩnh vực cụ thể.
1.2 Mô phỏng hành vi thực tế của đàn kiến trong tự nhiên
1.2.1 Mô tả hành vi đàn kiến trong tự nhiên
Trong tự nhiên, từ sự cảm nhận một cách trực quan thì loài kiến đƣợc
xem nhƣ là mù hoàn toàn và hành động của chúng mang tính chất mò mẫm.
Một kết quả nghiên cứu hết sức quan trọng sớm đƣợc công nhận là mọi hành
vi của đàn kiến nhƣ: quá trình trao đổi thông tin giữa các con kiến với nhau
hoặc giữa các con kiến với môi trƣờng bên ngoài đều dựa trên việc sử dụng
một chất đƣợc chính mỗi con kiến tạo ra. Hóa chất có mùi này đƣợc gọi là
Pheromones [1], [4], [6].
Theo phản xạ tự nhiên, trong quá trình di chuyển các con kiến đi đến
đâu sẽ tự động xịt chất có mùi pheromones ra đến đó. Tại mỗi vị trí di
chuyển, một con kiến sẽ quyết định lựa chọn hƣớng đi dựa trên nồng độ chất
pheromones của hƣớng đó, ƣu tiên lựa chọn hƣớng có nồng độ chất
pheromones cao hơn. Trong trƣờng hợp tại vị trí mà nống độ chất
pheromones bằng nhau hoặc nồng độ chất pheromones là không có thì con

kiến sẽ quyết định lựa chọn hƣớng đi một cách ngẫu nhiên. Cứ nhƣ thế, các
con kiến sẽ đi theo dấu chân của nhau và tạo nên một con đƣờng đi của cả đàn
kiến mà chúng ta thƣờng quan sát thấy trong tự nhiên.
Các lĩnh vực nghiên cứu về “Thuật toán đàn kiến” đều dựa trên việc
quan sát hành vi thực tế của đàn kiến, sau đó sẽ sử dụng có mô hình nhƣ một
nguồn cảm hứng, làm nền tảng để xây dựng nên các thuật toán mới để giải
7

Số hóa bởi Trung tâm Học liệu

quyết các vấn đề về tối ƣu hóa cũng nhƣ các vấn đề về điểu khiển, xử lý phân
tán.
1.2.2 Thí nghiệm chiếc cầu đôi
Hành vi đi kiếm ăn của đàn kiến đƣợc quan sát cụ thể trong thực tế; ví
dụ một số loài kiến thợ (nghiên cứu của Goss - năm 1989), kiến Linepithema
Argentina, kiến Lasius Germani (nghiên cứu của Bonabeau - năm 1990) đều
cho rằng quá trình giao tiếp, trao đổi thông tin của kiến đều dựa trên một yếu
tố trung gian đó là nồng độ pheromones [4], [6].
Trong quá trình di chuyển từ tổ đến nguồn thức ăn và ngƣợc lại, chúng
đã lƣu lại dấu tích của nồng độ pheromones trên đƣờng đi, từ đó hình thành
nên một “vết mùi pheromones”. Các con kiến có thể ngửi mùi pheromones,
chúng có xu hƣớng sẽ lựa chọn đƣờng đi theo xác suất, đƣờng đi này sẽ đƣợc
đánh dấu dựa trên hƣớng đi nơi có nồng độ chất pheromones cao.
Sự gửi vết mùi pheromone mô phỏng hành vi của một số loài kiến đã
đƣợc kiểm tra 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 chiếc cầu đôi đƣợc thiết kế bởi
Deneubourg và các đồng nghiệp [4]. Họ tiến hành xây dựng một cây cầu kết
nối tổ của đàn kiến với nguồn thức ăn của chúng. Các nhà khoa học đã thử
nghiệm với các tỉ lệ r = l
l

/ l
s
giữa độ dài hai nhánh của cây cầu (trong đó l
l

độ dài của nhánh dài và l
s
là độ dài của nhánh ngắn hơn).
Trong lần thử nghiệm thứ nhất, tỉ lệ độ dài hai nhánh của cây cầu là
r = 1 (l
l
= l
s
) (Hình 1.1a). Ban đầu, thì các con kiến đƣợc lựa chọn đƣờng đi từ
tổ đến nguồn thức ăn và ngƣợc lại một cách ngẫu nhiên và với cùng một xác
suất. Việc lựa chọn một trong hai nhánh của cây cầu đƣợc quan sát cẩn thận
theo thời gian. Kết quả là: mặc dù khi khởi hành các con kiến lựa chọn đƣờng
đi một cách ngẫu nhiên. Sau đó theo thời gian, tất cả các con kiến đều sử dụng
chung một nhánh của cây cầu.

8

Số hóa bởi Trung tâm Học liệu


Hình 1.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
Kết quả này được giải thích như sau:
Khi khởi hành, 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 các nhánh sẽ khác nhau. Bởi vì loài kiến sẽ gửi chất 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 theo thời gian, điều này càng kích thích thêm đàn kiến sẽ lựa chọn
nhánh có nồng độ chất pheromones cao hơn, và nhƣ vậy đến một thời gian
nào đó tất cả các con kiến sẽ hội tụ về cùng một nhánh.
Quá trình này đƣợc gọi là “tự xúc tác” hay “phản hồi tích cực”. Trong
thực tế, một ví dụ về tính tự tổ chức hành vi của đàn kiến: mô hình vĩ mô
(tƣơng ứng với sự hội tụ về một nhánh) đƣợc xây dựng từ các tiến trình và sự
tham gia tƣơng tác ở nơi đƣợc gọi là mức độ “hiển vi” (theo định nghĩa của
Camazine, Deneubourg và các đồng nghiệp). Trong trƣờng hợp của chúng ta,
các con kiến cùng hội tụ về một nhánh thể hiện ở mức hành vi mang tính tập
thể của bầy đàn, điều đó có thể đƣợc giải thích bởi hoạt động mang tính hiển
vi của loài kiến, hoặc bởi quá trình tƣơng tác cục bộ giữa các cá thể trong một
đàn kiến. Đó cũng là một ví dụ về quá trình truyền thông tin một cách gián
Tổ
Thức
ăn
Tổ
Thức
ăn
(a)
(b)
9

Số hóa bởi Trung tâm Học liệu

tiếp thông qua sự tƣơng tác với môi trƣờng (stigmergy communication), các
con kiến phối hợp các hoạt động của chúng, khai thác thông tin liên lạc một
cách gián tiếp qua trung gian bằng những thay đổi của môi trƣờng mà chúng

di chuyển trong đó.
Trong thí nghiệm thứ hai, tỷ lệ về độ dài giữa hai nhánh của cây cầu
đƣợc thiết lập là r = 2, do đó chiều đƣờng đi của nhánh dài sẽ gấp 2 lần so với
nhánh ngắn (Hình 1.1b). Trong trƣờng hợp này, ở hầu hết các thử nghiệm thì
sau một khoảng thời gian thì tất cả các con kiến chỉ lựa chọn đƣờng đi ở
nhánh ngắn hơn. Trong thí nghiệm thứ hai, các các kiến rời khỏi tổ để khám
phá môi trƣờng xung quanh và đến một điểm quyết định, tại đó chúng phải
lựa chọn một trong hai nhánh. Vì lý do ban đầu hai nhánh của cây cầu đều
xuất hiện nhƣ nhau trƣớc lũ kiến nên chúng sẽ lựa chọn một cách ngẫu nhiên.
Vì thế, có thế dự kiến rằng, trung bình thì một nửa số kiến sẽ chọn nhánh
ngắn và nửa còn lại sẽ chọn nhánh dài, mặc dù các dao động ngẫu nhiên đôi
khi có thể ƣu tiên chọn một nhánh này hoặc nhánh khác.
Tuy nhiên, thí nghiệm này đƣợc thiết lập để trình bày một sự khác biệt
đáng chú ý đối với thí nghiệm trƣớc đó: bởi vì với một nhánh có chiều dài
ngắn hơn nhánh còn lại thì các con kiến sẽ chọn nhánh ngắn đầu tiên để có thể
đạt đến nguồn thức ăn và cũng là nhánh để bắt đầu quá trình quay ngƣợc về
tổ. Nhƣng sau đó, khi chúng phải đƣa ra quyết định lựa chọn giữa nhánh ngắn
và nhánh dài, khi đó thì nồng độ chất pheromones ở nhánh nào cao hơn sẽ
đƣợc ƣu tiên lựa chọn làm quyết định của chúng. Vì thế, nồng độ chất
pheromones sẽ đƣợc tích lũy ngày càng cao ở nhánh ngắn, và điều này sẽ
đƣợc rút kinh nghiệm đối với các con kiến đi sau do quá trình “tự xúc tác” đã
đƣợc mô tả phía trên.
Quá trình trao đổi thông tin gián tiếp qua sự biến đổi của môi trƣờng,
quá trình “tự xúc tác” và độ dài của con đƣờng chính là nhân tố chính của
việc lựa chọn đƣờng. Điều thú vị có thể quan sát đƣợc nhƣ sau: ngay cả khi
10

Số hóa bởi Trung tâm Học liệu

nhánh dài gấp đôi nhánh ngắn thì không phải tất cả các con kiến đều chọn

nhánh ngắn, mà một tỷ lệ nhỏ con kiến trong số chúng vẫn lựa chọn đƣờng đi
ở nhánh dài hơn. Trƣờng hợp này có thể đƣợc diễn giải nhƣ là một loại “con
đƣờng khám phá” [4].
Khi đàn kiến hội tụ về một nhánh và xây dựng đƣợc một kết nối giữa tổ
kiến và nguồn thức ăn. Chúng ta quan sát hiện tƣợng thú vị trong một thí
nghiệm mở rộng: khi khởi đầu chỉ có nhánh dài đƣợc đƣa vào phạm vi đàn
kiến di chuyển qua; sau 30 phút thì một nhánh ngắn hơn đƣợc thêm vào (Hình
1.2). Trong trƣờng hợp này thì nhánh ngắn không đƣợc lựa chọn thƣờng
xuyên và đàn kiến hiện đang mắc trên nhánh dài. Điều này có thể đƣợc giải
thích bởi nồng độ chất pheromones ở nhánh dài cao và làm chậm tốc độ bay
hơi của chất pheromones. Thực tế, đa số các con kiến đều chọn nhánh dài vì
tại nhánh này nồng độ pheromones cao, và hành vi “tự xúc tác” của chúng
tiếp tục đƣợc củng cố trên nhánh dài, ngay cả khi có sự xuất hiện của nhánh
ngắn.
Quá trình bốc hơi của pheromones rất có lợi cho quá trình thăm dò,
khám phá ra những con đƣờng mới, tuy nhiên quá trình bốc hơi này diễn ra
khá chậm: thời gian tồn tại của pheromones đƣợc so sánh với thời gian tiến
hành cuộc thử nghiệm, có nghĩa là chất pheromones bốc hơi quá chậm để cho
các con kiến có thể “quên” đi con đƣờng không tối ƣu mà chúng đã hội tụ để
có thể khám phá ra con đƣờng mới ngắn hơn và có thể “học đƣợc”.




11

Số hóa bởi Trung tâm Học liệu


(a) (b)

Hình 1.2 Thí nghiệm chiếc cầu đôi mở rộng.
Khi khởi tạo thí nghiệm, chiếc cầu chỉ có 1 nhành dài (a).
Sau 30 phút, một tình huống mới xuất hiện, một nhánh ngắn hơn được nối vào
trên chiếc cầu (b)
1.2.3 Mô hình ngẫu nhiên
Deneubourg và các cộng sự của ông (Deneubourg et al, 1990; Goss et
al, 1989) đã đề xuất một mô hình ngẫu nhiên đơn giản và hết sức đầy đủ mô
tả sự năng động của đàn kiến nhƣ đã quan sát đƣợc trong thí nghiệm chiếc cầu
đôi [1] [4], [6]. Điều này thể hiện đƣợc vấn đề là đàn kiến luôn tìm cách tối
ƣu hành vi của chúng trong quá trình di chuyển từ tổ đến nguồn thức ăn và
ngƣợc lại.
Trong mô hình này, cần xác định:
+ là số lƣợng kiến bò qua chiếc cầu tại mỗi hƣớng với một tốc
độ không đổi là v (cm/s), và chúng gửi lại một lƣợng chất
pheromones trên nhánh đó.
+ Chiều dài của nhánh ngắn là l
s
(cm).
+ Chiều dài nhánh dài là l
l
(cm).
Tổ
Thức
ăn

Tổ

Thức
ăn
Sau 30 phút

12

Số hóa bởi Trung tâm Học liệu

Khi đó, nếu một con kiến chọn nhánh ngắn hơn để đi qua thì sẽ tốn thời
gian t
s
= l
s
/v (giây - s); trong khi nếu chọn nhánh dài sẽ tốn thời gian r*t
s

(giây), với r = l
l
/l
s
.
p
ia
(t) là xác suất một con kiến đến tại điểm quyết định i {1,2} lựa
chọn nhánh a {s, l}, với s và l là biểu thị tƣơng ứng cho nhánh ngắn và
nhánh dài, tại thời điểm t ta xây dựng một hàm biểu diễn tổng số nồng độ
pheromone là
ia
(t) trên một nhánh, hàm này tỷ lệ thuận với tổng số lƣợng
kiến sử dụng các nhánh cho đến thời điểm t.
Ví dụ: xác suất p
is
(t) của việc lựa chọn nhánh ngắn như sau:


is
is
is il
( ( ))
()
( ( )) ( ( ))
s
ss
tt
pt
t t t t
(1.1)
Hàm xác định xác suất tại công thức (1.1) cũng nhƣ giá trị = 2 đều
bắt nguồn từ thí nghiệm vết mùi pheromones [1], [4], [6]. Trong đó, p
il
(t) cũng
đƣợc tính tƣơng tự, với p
is
(t) + p
il
(t) = 1.
Mô hình này giả định rằng, nồng độ pheromones trên một nhánh tỷ lệ
thuận với số kiến đã sử dụng nhánh đó. Hay nói cách khác, mô hình này đƣợc
xem nhƣ là không có sự bốc hơi của pheromones. Và giả thiết này chỉ phù
hợp ở thí nghiệm quan sát trong thời gian cần thiết để đàn kiến hội tụ về
đƣờng đi ngắn nhất có theo thứ tự độ lớn là thời gian tồn tại của pheromones
(Goss et al.,1989; Beckers, Deneubourg, & Goss, 1993).

Trong mô hình này đàn kiến gửi lại vết mùi pheromones của chúng 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. Trong thực tế, nếu chúng ta xem mô hình mà trong đó các con
kiến chỉ gửi nồng độ pheromones trong suốt quá trình tiến tới nguồn thức ăn
hoặc chỉ riêng suốt quá trình quay trở về tổ, sau đó kết quả là đàn kiến không
thể lựa chọn nhánh ngắn. Quá trình quan sát đàn kiến thực tế đã xác nhận rằng
13

Số hóa bởi Trung tâm Học liệu

đàn kiến đã gửi nồng độ pheromones chỉ khi chúng quay trở về tổ và không
thể tìm thấy đƣờng đi ngắn nhất giữa tổ của chúng và nguồn thức ăn.
1.3 Phƣơng pháp tìm đƣờng đi theo mô phỏng hành vi đàn kiến
1.3.1 Đà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 quá trình tối ƣu hóa hành vi đàn kiến: Thông tin để tìm ra con đƣờng
ngắn nhất giữa 2 điểm trong môi trƣờng có thể dựa vào quy tắc xác suất.
Dựa trên ý tƣởng từ thí nghiệm chiếc cầu đôi, có thể thiết kế đàn kiến
nhân tạo bằng cách cho chúng di chuyển trên đồ thị chiếc cầu đôi, để tìm ra
đƣờng đi ngắn nhất giữa hai nút tƣơng ứng biểu diễn tổ và nguồn thức ăn.
Bƣớc đầu tiên để hƣớng đến việc định nghĩa đàn kiến nhân tạo, chúng
ta xem xét đồ thị trong Hình 1.3 a, nó là mô hình của thí nghiệm thiết lập
đƣợc thể hiện trong Hình 1.3 b. Đồ thị này bao gồm 2 nút (1 tƣơng ứng là Tổ
và 2 tƣơng ứng là Nguồn thức ăn của kiến), chúng đƣợc kết nối bởi một cung
ngắn và một cung dài (độ dài của cung dài gấp r lần độ dài cung ngắn – với r
là một số nguyên). Giả sử thời gian xét là không liên tục (t = 1, 2,…); tại mỗi
thời điểm, mỗi bƣớc di chuyển của mỗi con kiến đến nút lân cận của nó với
một tốc độ không đổi (có thể hiểu nhƣ là vận tốc di chuyển là một hằng số).
Bằng cách đó, các con kiến sẽ để lại trên đƣờng di chuyển của chúng một
lƣợng mùi pheromone.
Các con kiến di chuyển trên đồ thị bằng cách lựa chon đƣờng đi theo

quy tắc xác suất:
+ p
is
(t) là xác suất mà một con kiến xác định vị trí tại nút i ở thời điểm
t lựa chọn con đƣờng ngắn.
+ p
il
(t) là xác suất mà một con kiến xác định vị trí tại nút i ở thời điểm t
lựa chọn con đƣờng dài.
14

Số hóa bởi Trung tâm Học liệu

Các giá trị xác suất này là một hàm của vết mùi pheromone
ia
của các
con kiến tại nút i (i {1, 2}) gặp phải nhánh a (a {s, l}).






Hình 1.3 Đồ thị tƣơng ứng với mô hình trong thí nghiệm chiếc cầu đôi
Trong cả hai trƣờng hợp các con kiến di chuyển từ tổ đến nguồn thức
ăn và quay trở lại thông qua nhánh ngắn hoặc nhánh dài.
Trong mô hình này thì nhánh dài gấp r lần chiều dài nhành ngắn. Một
con kiến sẽ cập nhật pheromone trên nhánh đó r đơn vị mùi.
Trong mô hình này, mỗi cung của đồ thị có chiều dài tƣơng tự, và một
nhánh dài hơn đại diện bằng một chuỗi các vòng cung. Ở đây, ví dụ, nhánh

dài hơn gấp hai lần nhánh ngắn, thì việc cập nhật pheromone đƣợc thực hiện
trễ hơn một đơn vị thời gian trên mỗi cung.

is
is
is il
( ( ))
()
( ( )) ( ( ))
t
pt
tt


il
il
is il
( ( ))
()
( ( )) ( ( ))
t
pt
tt
(1.2)
Quá trình cập nhật trên hai nhánh đƣợc thực hiện nhƣ sau:

is
(t) =
is
(t-1) + p

is
(t-1)m
i
(t-1) + p
js
(t-1)m
j
(t-1);
(i = 1, j = 2 ; i = 2, j = 1) (1.3)

il
(t) =
il
(t-1) + p
il
(t-1)m
i
(t-1) + p
jl
(t-1)m
j
(t-r);
1
2
(a)
1
2
3
(b)
15


Số hóa bởi Trung tâm Học liệu

(i = 1, j = 2 ; i = 2, j = 1) (1.4)
Tại m
i
(t), số con kiến tại nút i tại thời điểm t, đƣợc cho bởi công thức:
m
i
(t) = p
js
(t-1)m
j
(t-1) + p
jl
(t-r)m
j
(t-r),
(i = 1, j = 2 ; i = 2, j = 1) (1.5)
Có hai khía cạnh bất đồng cần lƣu ý:
+ 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ử tuân 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.
1.3.2 Kiến nhân tạo và chi phí tối thiểu trên đƣờng đi
Trong phần trƣớc, chúng ta thấy rằng tập hợp các công thức khác nhau
có thể tái tạo chính xác hành vi kiến trong mô hình liên tục của Deneubourg.
Tuy nhiên, mục tiêu của chúng ta là xác định một thuật toán có thể giải quyết
vấn đề chi phí tối thiểu trên các đồ thị phức tạp hơn so với những vấn đề liên

quan trong thí nghiệm chiếc cầu đôi (Hình 1.4).
Với mục tiêu chủ yếu, chúng ta xem xét trong một trạng thái tĩnh, đồ
thì kết nối G = (N, A), với N là tập hợp các nút n = |N| và A là tập hợp các
cung vô hƣớng kết nối chúng. Hai điểm đƣợc kết nối nhau, mà giữa hai điểm
đó chúng ta muốn hình thành một con đƣờng với chi phí tối thiểu đƣợc gọi là
nút nguồn và nút đích.
Vấn đề ở đây là: nếu chúng ta cố gắng giải quyết vấn đề tìm đƣờng đi
với chi phí tối thiểu trên đồ thị G bằng cách sử dụng đàn kiến nhân tạo. Nếu
hành vi của chúng đƣợc mở rộng một cách đơn giản hơn hành vi của kiến
đƣợc mô tả trong phần trƣớc sẽ phát sinh một số vấn đề sau đây: Những con
kiến, trong khi xây dựng giải pháp, có thể sẽ tạo ra các vòng lặp. Hệ quả của
việc chuyển tiếp đến cơ chế cập nhật vết mùi pheromone, các vòng lặp có xu
16

Số hóa bởi Trung tâm Học liệu

hƣớng trở nên thu hút và các con kiến có thể bị mắc kẹt trong các vòng lặp
đó. Ngay cả khi một con kiến nào đó có thể thoát ra khỏi vòng lặp nhƣ vậy,
vết mùi pheromone phân phối tổng thể cũng sẽ trở thành con đƣờng ngắn và
đƣợc ƣa chuộng hơn. Cơ chế này nó đơn giản hơn trong thí nghiệm chiếc cầu
đôi; trong thí nghiệm chiếc cầu đôi các con kiến sẽ lựa chọn đƣờng đi ngắn
nhất với xác suất cao hơn. Vì thế vấn đề này chính là nguyên nhân chuyển
tiếp quá trình cập nhật vết mùi pheromone; có thể giải pháp đơn giản nhất cho
vấn đề này là loại bỏ cơ chế cập nhật chuyển tiếp: bằng cách này thì các con
kiến chỉ gửi lại vết mùi pheromone trong quá trình cập nhật quay lui.
Vì vậy, chúng ta cần phải mở rộng những khả năng của đàn kiến nhân
tạo theo cách trên trong khi đó vẫn giữ lại các đặc điểm quan trọng của con
kiến trong thực tế, cho phép chúng giải quyết bài toán tìm đƣờng đi với chi
phí tối thiểu trên đồ thị thông thƣờng. Đặc biệt, kiến nhân tạo có thể bị giới
hạn bộ nhớ, trong đó cho phép lƣu trữ một phần đƣờng đi, và chi phí kết nối

trên những nơi mà chúng đã đi qua.
Thông qua việc sử dụng bộ nhớ, những con kiến có thể thực hiện một
số hành vi hữu ích cho phép chúng xây dựng một giải pháp để giải quyết vấn
đề tìm đƣờng đi với chi phí tối thiểu. Những hành vi này đƣợc xây dựng dựa
trên quy tắc xác suất thông qua vết mùi pheromone mà không cần đến cơ chế
cập nhật chuyển tiếp; xác định đƣợc con đƣờng quay trở lại bằng cách loại bỏ
vòng lặp và cập nhật pheromone; đánh giá chất lƣợng của giải pháp đƣợc tạo
ra và sử dụng một giải pháp có chất lƣợng trong việc xác định số lƣợng (nồng
độ) pheromone đƣợc gửi lại.

17

Số hóa bởi Trung tâm Học liệu



Hình 1.4 Các con kiến xây dựng các giải pháp để tìm đƣờng đi từ tổ (nút
nguồn) đến nguồn thức ăn (nút đích) trên một đồ thị.
Có thể giải thích hành vi nêu trên của kiến và sự bay hơi của
pheromone trong một thuật toán đƣợc gọi là Simple-ACO (gọi tắt là S-ACO).
S-ACO đại diện cho một bƣớc tiến bộ hết sức quan trọng trong việc tìm ra
một giải pháp hiệu quả tìm đƣờng đi với chi phí tối thiểu trên đồ thị. S-
ACO là một công cụ để giải thích các cơ chế cơ bản trong thuật toán ACO.
1. Giải pháp xây dựng theo hướng xác suất bởi vết mùi pheromones,
với sự cập nhật pheromones nhanh.
2. Mô tả con đường quay trở lại tổ với việc loại bỏ vòng lặp và sự cập
nhật pheromones chuyển tiếp.
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 suất chọn đỉnh tiếp theo của đàn kiến và giải pháp xây dựng. S-

ACO có hai phƣơng thức hoạt động: tiến về phía trƣớc và quay lui.
1. Phƣơng thức tiến về phía trƣớc đƣợc sử dụng khi chúng di chuyển từ
tổ đến nguồn thức ăn.
2. Phƣơng thức quay lui đƣợc sử dụng khi chúng di chuyển từ nguồn
thức ăn quay trở về tổ.
18

Số hóa bởi Trung tâm Học liệu

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ố.
1.3.3 Sự bay hơi của phenomones
Với đàn kiến trong thực tế, nồng độ pheromones giảm theo thời gian vì
có sự bay hơi.
Trong S-ACO thì sự bay hơi đƣợc mô phỏng bằng cách áp dụng một
quy tắc bay hơi pheromone thích hợp. Ví dụ, nồng độ của pheromone nhân
tạo có thể đƣợc thiết lập bởi một hằng số tốc độ. Quá trình bay hơi pheromone
làm giảm dần mức độ ảnh hƣởng của nồng độ chất pheromone đã tích lũy
trƣớc đó (trong giai đoạn đầu của quá trình tìm kiếm), lúc đó các con kiến
nhân tạo có thể xây dựng một giải pháp kém chất lƣợng hơn. Mặc dù trong thí
nghiệm của Deneubourg và các cộng sự (Deneubourg et al., 1990; Goss et al.,
1989) [4] thì vai trò của quá trình bay hơi không đƣợc chú ý xem xét, tuy
nhiên nó rất hữu ích cho đàn kiến nhân tạo.
1.4 Một số ứng dụng của thuật toán ACO
Tính linh hoạt và thực tế ứng dụng của các siêu tri thức trong thuật toán
ACO trong việc tìm kiếm lời giải cho các bài toán tối ƣu tổ hợp đƣợc mô tả

thông qua một vài ứng dụng trong một số bài toán khác nhau [5].
Ở đây, ta xem xét một số ứng dụng của thuật toán ACO là áp dụng giải
các bài toán tối ƣu tổ hợp dạng NP-khó: TSP, SMTWTP, GAP, SCP. Ta sẽ sử
dụng các bài toán này để xem xét các cách thức khác nhau trong việc mô tả
lời giải. Trong khi bài toán TSP và SMTWTP là một dạng bài toán hoán vị,
trong đó lời giải đƣợc mô tả nhƣ là các hoán vị của các thành phần lời giải, lời
19

Số hóa bởi Trung tâm Học liệu

giải trong bài toán GAP thiết lập các nhiệm vụ cho các con kiến, còn trong bài
toán SCP lời giải đƣợc mô tả nhƣ là một tập con của các lời giải thành phần
có triển vọng.
Một trong các ứng dụng khác của ACO là trong các bài toán động mà
tiêu biểu là bài toán định tuyến dữ liệu trên mạng. Thuật toán AntNet áp dụng
cho bài toán này là một thuật toán rất thành công trong việc đóng gói, chuyển
mạch dữ liệu trên mạng.
1.4.1 Thuật toán ACO giải bài toán TSP
Bài toán TSP là một bài toán tối ƣu tổ hợp thuộc dạng NP-khó. Đây là
một bài toán điển hình cho việc áp dụng thuật toán ACO để giải.
Trong hệ thống AS, mỗi con kiến sẽ đƣợc khởi động từ một thành phố
đƣợc chọn ngẫu nhiên và có một ký ức nhớ để lƣu các thành phần lời giải mà
nó sẽ cấu trúc sau này. Từ thành phố đầu tiên, mỗi con kiến sẽ di chuyển qua
các thành phố khác. Khi đang ở một thành phố i, con kiến k sẽ lựa chọn thành
phố tiếp theo j để đến thăm theo xác suất đƣợc đƣa ra nhƣ sau:

ij
k
ij
( ) .

( ) .
()
k
i
ij ij
ij
lN
t
t
Pt
nếu
k
i
jN
(1.6)
với

ij
= 1/d
ij
là thông tin về tri thức ƣu tiên;
, là hai tham số do ngƣời dùng định nghĩa, xác định mức độ ảnh
hƣởng của nồng độ vết mùi pheromone và thông tin về tri thức;

k
i
N
là láng giềng khả thi của con kiến thứ k, có nghĩa là tập các thành
phố mà con kiến thứ k có thể đến thăm.
20


Số hóa bởi Trung tâm Học liệu

Lời giải cuối cùng sau khi mỗi con kiến hoàn thành hành trình của
mình kết thúc sau khi mỗi con kiến đƣợc cấu trúc có độ dài n. Tiếp theo các
nồng độ vết mùi pheromone sẽ đƣợc cập nhật theo công thức:

ij ij
1
( 1) (1 ) ( ) ( )
m
k
ij
k
t t t
với mọi (i,j) (1.7)
k
ij
()t
xác định số lƣợng các mật độ pheromone của con kiến k trên
cung, đƣợc định nghĩa nhƣ sau:
k
ij
1/ ( )
()
0
k
Lt
t
(1.8)

với
()
k
Lt
là độ dài hành trình của con kiến thứ k.
1.4.2 Bài toán lập lịch sản xuất trên một máy đơn (SMTWTP)
Trong bài toán SMTWTP (Single Machine Total Weighted Tardiness
Scheduling Problem), n công việc đƣợc xử lý một cách tuần tự mà không bị
ngắt trên một máy. Mỗi công việc có thời gian xử lý p
j
, trọng số
j
và thời
gian tới hạn d
j
và mọi công việc có thể đƣợc xử lý từ thời điểm t=0. Độ trễ
của công việc j đƣợc định nghĩa
j
= max{0, C
j
- d
j
} với C
j
là thời gian hoàn
thành chuỗi công việc tại thời điểm hiện tại. Mục tiêu là tìm kiếm công việc
sao cho tối thiểu hoá trọng số độ trễ đƣợc đƣa ra bởi công thức:
1
n
i i i

T
.
Ứng dụng thuật toán ACO giải bài toán SMTWTP, tập các thành phần
C là tập tất cả các công việc. Giống nhƣ trong bài toán TSP, trạng thái của bài
toán là tất cả các phần công việc nối tiếp có thể có. Trong bài toán TMTWTP,
ta không xem xét chi phí ứng với các kết nối do hàm mục tiêu phụ thuộc vào
các phần lời giải chƣa đƣợc cấu trúc.
Thuật toán Ant dùng giải bài toán SMTWTP hoạt động nhƣ sau: Mỗi
con kiến bắt đầu với một chuỗi rỗng, và sau đó lặp lại việc gắn một công việc
chƣa có lịch vào phần chuỗi đƣợc cấu trúc. Mỗi con kiến sẽ lựa chọn công
nếu cung (i,j) đƣợc dùng
trái lại
21

Số hóa bởi Trung tâm Học liệu

việc kế tiếp sử dụng luật lựa chọn tỷ lệ thức giả ngẫu nhiên. Các nồng độ vết
mùi đƣợc định nghĩa nhƣ sau:
ij
là lịch mong muốn công việc j tại vị trí i.
Các thông tin về tri thức đƣợc định nghĩa theo 1 trong 3 cách:
(i) Luật thời gian tới hạn sớm nhất: sẽ đƣa công việc có thời gian tới
hạn không tăng đƣợc xác định bởi d
j
.
(ii) Luật sửa đổi thời gian tới hạn: đƣa vào công việc có thời gian tới
hạn không tăng đƣợc xác định bởi mdd
j
= max{C + p
j

, d
j
} với C là tổng thời
gian xử lý các công việc đã sắp xếp.
(iii) Luật khẩn cấp rõ ràng: đƣa vào các công việc khẩn cấp đƣợc xác
định theo công thức au
j
= (
j
/ p
j
) * exp(-(max{d
j
- C
j
, 0}) / k * p) với k là
tham số luật ƣu tiên.
Trong mỗi trƣờng hợp, thông tin tri thức đƣợc xác định theo công thức
j
= 1/h
j
với h
j
là một trong các số d
j
, mdd
j
, au
j
đƣợc định nghĩa ở trên.

Các mật độ pheromone tổng quát và địa phƣơng sẽ đƣợc cập nhật theo
công thức mô tả ở trên.
1.4.3 Bài toán lập lịch tổng quát (GAP)
Trong bài toán GAP (Generalized Assignment Problem), đƣa ra một tập
các nhiệm vụ I = {1 n} đƣợc thiết lập cho một tập các agents J = {1 j}. Mỗi
agent j chỉ có một dung lƣợng giới hạn a
j
và mỗi nhiệm vụ i khi thiết lập tới
agent j dùng hế một lƣợng b
ij
của agent j, đồng thời chịu một chi phí thiết lập
là d
ij
. Mục tiêu là tìm một nhiệm vụ khả thi đƣợc thiết lập với chi phí nhỏ
nhất.
Đặt
ij
1
0
y

Khi đó bài toán có thể đƣợc mô tả nhƣ sau:
nếu nhiệm vụ i đƣợc thiết lập cho agent j
trái lại
22

Số hóa bởi Trung tâm Học liệu

11
( ) min

mn
ii
ji
f y b y

với:

ij
1
n
ij j
j
b y a
, j = 1 m (1.9)

ij
1
1
n
j
y
, i = 1 n (1.10)
y
ij
{0 , 1} (1.11)
Ràng buộc (1.9) đảm bảo giới hạn dung lƣợng tài nguyên của các
agents, trong khi các ràng buộc (1.10) và (1.11) đảm bảo rằng mỗi nhiệm vụ
chỉ đƣơc thiết lập chính xác cho 1 agent và một nhiệm vụ không thể phân chia
cho một vài agents.
Bài toán GAP có thể đƣợc vài dặt dễ dàng sử dụng thuật toán ACO. Bài

toán có thể đựơc mô tả bởi một đồ thi trong đó tập các thành phần chính là tập
các nhiệm vụ và các agents. Có nghĩa là C= I J và tập các kết nối trên đồ
thị. Mỗi thiết lập, bao gồm n cặp (i,j) các nhiệm vụ và agents, theo di chuyển
của con kiến trên đồ thị. Mỗi di chuyển thòa mãn (1.10) và (1.11) sẽ đƣợc
thiết lập.
Tại mỗi bƣớc lặp, một con kiến sẽ thực hiện hai quyết định cơ bản sau:
(i) nó sẽ quyết định nhiệm vụ nào đƣợc thiết lập tiếp theo và (ii) nó sẽ
quyết định agent nào sẽ đƣợc thiết lập tới nhiệm vụ đó. Các nồng độ vết mùi
và thông tin về tri thức có thể đƣợc thiết lập theo hai cách trên.
Để đơn giản, đầu tiên một nhiệm vụ sẽ đƣợc thiết lập một cách ngẫu
nhiên. Sau đó, tại mỗi bƣớc tiếp theo, một nhiệm vụ sẽ đƣợc thiết lập cho một
agent đảm bảo chi phí thiết lập là nhỏ và mỗi agent chỉ cần một số lƣợng nhỏ
tƣơng đối tài nguyên để thực hiện nhiệm vụ. Do đó thông tin về tri thức có thể
23

Số hóa bởi Trung tâm Học liệu


ij
= a
j
/d
ij
b
ij
và xác suất lựa chọn thiết lập có thể giống luật xác suất trong
hệ thống AS. Sự rắc rối trong quá trình cấu trúc lời giải là GAP phân tích các
ràng buộc dung lƣợng tài nguyên, thực tế là với GAP không có gì đảm bảo
đƣa ra một con kiến sẽ cấu trúc đƣợc lời giải khả thi đáp ứng các ràng buộc.
Thực tế là để đƣa ra một lời giải khả thi, các ràng buộc tài nguyên cần đƣợc

tính toán trên tập N
i
k
, tập các láng giềng khả thi của con kiến thứ k. Trong
GAP, ta định nghĩa N
i
k
bao gồm tất cả các agents mà nhiệm vụ i có thể đƣợc
thiết lập mà không lo về dung lƣợng tài nguyên của agents. Nếu không có yêu
cầu về tài nguyên, ta bắt buộc phải xây dựng một lời giải không khả thi và
trong trƣờng hợp này ta đơn giản lựa chọn N
i
k
là tập tất cả các agents.
1.4.4 Bài toán phủ tập hợp (SCP)
Trong bài toán SCP (Set Covering Problem), ta đƣa ra một ma trận kích
thƣớc m*n: A = (a
ij
). Thêm vào nữa, mỗi cột đƣợc đặc trƣng bởi một hàm chi
phí b
j
. Ta nói rằng cột j chứa hàng i nếu a
ij
= 1. Mục tiêu trong bài toán này là
lựa chọn một tập con các cột với trọng số tối thiểu mà chứa đƣợc tấp cả các
hàng. Gọi J là một tập con các hàng và y
j
là một biến nhị phân:

1

0
j
y

Bài toán SCP khi đó có thể đƣợc định nghĩa nhƣ sau:
1
( ) min
m
jj
j
f y b y
, (1.12)
với:

j
1
1
n
ij
j
ay
(1.13)
y
j
{0, 1} j = 1, n (1.14)
Ràng buộc (1.13) đảm bảo mỗi hàng đƣợc chứa trong ít nhất 1 cột.
nếu j J
trái lại
24


Số hóa bởi Trung tâm Học liệu

Thuật toán ACO đƣợc thiết lập theo cách khá dễ hiểu cho bài toán. Các
cột đƣợc chọn nhƣ các thành phần lời giải và đƣợc kết hợp với một hàm chi
phí và tham số mật độ mùi. Tập ràng buộc nói rằng một cột có thể đƣợc
thăm bởi 1 con kiến một và chỉ một lần và đảm bảo lời giải cuối cùng sẽ chứa
tất cả các hàng. Đƣờng đi của con kiến trên đồ thị mô tả theo các cột thêm vào
lời giải bộ phận. Mỗi con kiến bắt đầu với một lời giải rỗng và thêm dần các
cột cho đến khi hoàn hành. Mật độ mùi
i
và thông tin tri thức
j
đƣợc kết hợp
vào mỗi cột i. Một cột đƣợc chọn nếu xác suất P
i
k
(t) đƣợc thỏa mãn:
( ) .
()
()
k
k i i
i
ii
iN
t
Pt
t
nếu i N
k

(1.15)
với N
k
là tập các láng giềng khả thi của con kiến thứ k, bao gồm tất cả
các cột có chứa ít nhất một hàng. Thông tin tri thức có thể đƣợc chọn theo
nhiều cách khác nhau. Chẳng hạn, một thông tin tĩnh có thể đƣợc sử dụng:
i
= 1/b
i
. Một số cách xác định phức tạp hơn cũng đƣợc đề xuất: gọi d
i
là tổng
số hàng nằm ở cột i thì
i
= d
i
/b
i
. Các thông tin này có thể phụ thuộc vào lời
giải bộ phận y
k
của con kiến thứ k. Trong trƣờng hợp đó có thể định nghĩa
i

= e
i
/b
i
, với e
i

đƣợc gọi là giá trị chứa đựng, là số lƣợng các hàng thêm vào khi
thêm cột i vào lời giải bộ phận hiện tại.
Một con kiến sẽ kết thúc việc tạo lời giải khi mọi hàng đƣợc chứa.
Trong một bƣớc tiền tối ƣu, một con kiến có thể loại bỏ các dƣ thừa, là các
cột chỉ chứa các hàng nằm trong một tập con của các hàng khác, trong lời giải
cuối cùng. Việc cập nhật một độ pheromone giống nhƣ trong các phần trƣớc.
Khi thiết lập thuật toán ACO giải bài toán SCP, ta có hai khác biệt
chính với các bài toán đƣợc mô tả trƣớc là: (i) các nồng độ vết mùi
pheromone chỉ đƣợc kết hợp tới các thành phần và (ii) độ dài hành trình của
một con kiến có thể phụ thuộc vào số lƣợng kiến, có nghĩa là việc tạo lời giải
chỉ kết thúc khi tất cả các con kiên kết thúc hành trình của chúng.
25

Số hóa bởi Trung tâm Học liệu

1.4.5 Bài toán định tuyến mạng
Cho một đồ thị mô tả một mạng truyền thông. Bài toán đặt ra là tìm
kiếm một đƣờng dẫn giữa các cặp đỉnh của đồ thị sao cho tổng chi phí là tối
thiểu. Một chú ý quan trọng là mặc dù việc tìm đƣờng dẫn trên đồ thị là một
bài toán đơn giản (có thể sử dụng nhiều thuật toán giải bài toán với độ phức
tạp là đa thức), nhƣng điều này lại đặc biệt khó khi chi phí trên các cạnh lại
thay đổi liên tục theo thời gian. Đây chính là trƣờng hợp bài toán định tuyến
các gói chuyển mạch trên mạng, một ứng dụng của bài toán đặt ra.
Sau đây, ta sẽ đƣa ra mô tả của bài toán. Nhƣ ta đã biết, trong bài toán,
mỗi con kiến sẽ tìm kiếm một đƣờng dẫn với chi phí nhỏ nhất. Để đạt mục
tiêu này, mỗi con kiến sẽ di chuyển ngẫu nhiên từ một đỉnh trong mạng tới
một đỉnh khác. Giả sử mỗi con kiến đi từ đỉnh nguồn s đến đỉnh đích d, và di
chuyển từ s tới d phải đi qua một số đỉnh trung gian. Khi con kiến thứ k nằm ở
đỉnh i lựa chọn đỉnh j tiếp theo để chuyển đến theo một luật xác suất là hàm
của bộ nhớ đàn kiến, mật độ mùi cục bộ và thông tin tri thức.

Trong hệ thống AS, một độ mùi đƣợc xác định trên các cạnh. Tuy
nhiên, đối với bài toán này, mật độ mùi đƣợc xác định trên các cặp (cung -
điểm đến). Có nghĩa là một cung (i,j) có n - 1 giá trị vết
ijd
[0 , 1], với n là
số lƣợng đỉnh trên đồ thị, nhìn chung
ijd

jid
. Mỗi cung có thể đƣợc kết hợp
một giá trị thông tin về tri thức
1
i
ij ij ij
iN
qq
với q
ij
là độ dài của hàng
đợi các kết nối từ đỉnh i đến các đỉnh láng giềng j. Hàng đợi càng ngắn thì giá
trị thông tin tri thức càng cao. Đàn kiến sẽ lựa chọn đƣờng đi theo xác suất là
hàm của
ijd

ij
. Trong quá trình xây dựng đƣờng đi tới điểm đích, các con
kiến di chuyển sử dụng cùng một hàng đợi giống nhƣ hàng đợi các gói dữ liệu
trễ.
* Một số ứng dụng của thuật toán ACO giải các bài toán tối ƣu tiêu
biểu:

×