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.. Bởi v
Trang 1ĐẠ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
Trang 2MỤ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
Trang 3Chươ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
Trang 4PHẦ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”
Trang 5CHƯƠ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]
Trang 6Và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
Trang 7quyế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 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
Trang 8Hì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
Trang 9tiế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
Trang 10nhá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”
Trang 11(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)
ăn
ăn Sau 30 phút
Trang 12Khi đó, 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
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
Trang 13đà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
Trang 14Cá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
( ( ))( )
( ( ))( )
Trang 15(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
Trang 16hướ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
Trang 17Hì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ổ
Trang 18Hà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
Trang 19giả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 = 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
Trang 20Lờ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:
1
m k ij k
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
L t
với L t k( ) 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: n i 1 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
Trang 21việ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
Trang 22Bà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ể
Trang 23là 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:
10
1
n ij j
Trang 24Thuậ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:
( ) ( )
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
Trang 251.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 q ij i N q ij 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 và 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:
Trang 26Bảng 1.1: Một số ứng dụng của thuật toán ACO
Tên thuật toán
ACO
Tên bài toán
ACO-VWP ONRP Navarro Varela & Sinclair 1999
ACS-SMTWTP JSP DenBesten, Stützle & Dorigo 1999
AS-QAP QAP Maniezzo, Colorni & Dorigo 1994
MMAS-GAP GAP Ramalhinho Lourenc & Serra 1998
1.5 Tổng kết chương 1
Trong chương này mô tả chi tiết về việc nghiên cứu hành vi của đàn kiến trong thực tế, từ đó thiết lập các thí nghiệm để mô phỏng lại hành vi của đàn kiến thông qua thí nghiệm “chiếc cầu đôi” và xây dựng đàn kiến nhân tạo Chương này cũng trình bày khái quát nội dung về hành vi tìm kiếm đường đi của đàn kiến để hướng đến xây dựng thuật toán tối ưu hành vi đàn kiến nhằm tìm kiếm đường đi trên đồ thị với chi phí tối thiểu Đồng thời chương này cũng giới thiệu một số ứng dụng của thuật toán ACO trong thực tế
Trang 27CHƯƠNG II MỘT SỐ THUẬT TOÁN TỐI ƯU ĐÀN KIẾN
Thuật toán tối ưu hóa đàn kiến (ACO) là một mô hình thuật toán thiết
kế cho các siêu tri thức để giải các bài toán tối ưu tổ hợp, thuật toán sử dụng phương pháp tính xác suất để tìm đường đi ngắn nhất trên đồ thị
* Các bước thuật toán AS:
Bước 1: Khởi tạo các tham số
+ Xây dựng đồ thị gồm n đỉnh, số lượng kiến m, các tham số: α, β, + Mỗi cạnh (i, j) được gắn một vết mùi τ ij
+ Thông tin heuristic: η ij là nghịch đảo khoảng cách giữa hai thành
phố (i, j); với η ij = 1/ d ij.
Bước 2: Xây dựng lời giải
Có m con kiến nhân tạo được đặt khởi tạo ngẫu nhiên tại các đỉnh, và
tại mỗi bước lặp của thuật toán, mỗi con kiến sẽ xây dựng lời giải riêng của
nó bằng cách chọn một đỉnh mà chúng chưa thăm để đi
Ban đầu các vết mùi được khởi tạo bởi giá trị τ 0, mỗi con kiến được đặt ngẫu nhiên tại một đỉnh xuất phát và lần lượt đi thăm các đỉnh còn lại để xây
dựng đường đi với theo quy tắc như sau (gọi là quy tắc random proportional), con kiến thứ k đang ở đỉnh i sẽ chọn đỉnh j tiếp theo với xác suất:
Trang 28ij ij k
- τ ij (t) là nồng độ mùi pheromone ở thời điểm t
- η ij là thông tin heuristic
- Hai tham số α và β là hai tham số xác định sự ảnh hưởng của vết mùi
và thông tin heuristic: nếu α = 0 các thành phố gần nhất có nhiều khả năng
được chọn, thuật toán trở nên giống với thuật toán heuristic thông thường, nếu
β = 0 chỉ có thông tin về cường độ vết mùi được sử dụng mà không hề có bất
kỳ một thông tin heuristic nào làm cho kết quả tìm kiếm được nghèo nàn và
bài toán dễ rơi vào trường hợp cực tiểu địa phương
Sau khi tất cả các con kiến xây dựng xong các lời giải của chúng, các
vết mùi sẽ được cập nhật Đây là hình thức cập nhật offline Đầu tiên tất cả
các cạnh sẽ bị mất đi một lượng mùi (do bị bay hơi), sau đó những cạnh mà
có các con kiến đi qua sẽ được tăng cường thêm một lượng mùi
Công thức bay hơi mùi:
nếu j N i k
ngược lại
Trang 29ij(t + 1) = (1 - )* ij(t) (i,j) L (2.2)
Trong đó 0 < ≤ 1 là tỉ lệ bay hơi mùi, tham số được dùng để tránh
sự tích lũy không có giới hạn của các vết mùi và nó làm cho thuật toán “quên đi” những quyết định không tốt ở bước trước Nếu một cạnh không được
chọn bởi bất kì con kiến nào thì cường độ mùi của nó sẽ bị giảm theo hàm mũ của số vòng lặp
Sau khi bay hơi mùi tất cả các con kiến sẽ tăng cường mùi cho những cạnh mà chúng đã đi qua theo công thức:
k
1( 1)
m
k
trong đó k
ij là số lượng pheromone mà con kiến k gửi lại trên cạnh
mà nó đi qua, được xác định như sau:
k
ij
10
k
C k là độ dài của tuyến đường T k được xây dựng bởi con kiến k Với
công thức (2.4), tuyến đường của những con kiến nào mà càng tốt hơn thì nó càng được tăng cường thêm nhiều mùi Nói tóm lại thì những cạnh mà được nhiều con kiến lựa chọn thì sẽ nhận được nhiều mùi hơn và có nhiều khả năng hơn sẽ được lựa chọn bởi các con kiến trong các vòng lặp tiếp theo của thuật toán
* Thuật toán AS:
Trang 30τij = τ0; //Nồng độ vết mùi trên cạnh (i,j)
S* = ; //Lời giải tối ưu, ban đầu rỗng
While (!Điều kiện dừng) do
//Giải pháp xây dựng đàn kiến
For (Duyệt qua toàn bộ đàn kiến) do
// Xây dựng lời giải cho kiến thứ i
Đặt mỗi con kiến ngẫu nhiên vào một đỉnh;
While (Duyệt danh sách đỉnh láng giềng) do
Chọn đỉnh kế tiếp theo công thức (2.1);
Bổ sung đỉnh được chọn vào tập đường đi của kiến;
So sánh phương án để cập nhật lời giải tối ưu S*;
Tăng cường mùi trên các cạnh kiến đi qua theo công thức (2.3);
End; //While
End;
Ưu điểm của AS:
+ Việc tìm kiếm ngẫu nhiên dựa vào trên các thông tin heuristic làm cho phép tìm kiếm linh hoạt và mềm dẻo trên không gian rộng hơn phương pháp heuristic sẵn có, do đó cho ta lời giải tốt hơn và có thể tìm được lời giải tối ưu
+ Sự kết hợp với học tăng cường (reinforcement learning) trong đó
những lời giải tốt hơn sẽ được sự tăng cường hơn thông qua thông tin về cường độ vết mùi cho phép ta từng bước thu hẹp không gian tìm kiếm và vẫn không loại bỏ các lời giải tốt, do đó nâng cao chất lượng thuật toán
Trang 31Nhược điểm của AS:
Hiệu suất của nó giảm đột ngột so với nhiều thuật toán metaheuristic khác khi mà kích thước của bài toán tăng lên Bởi vì khi số đỉnh của đồ thị lớn thì cường độ vết mùi trên những cạnh không thuộc lời giải tốt (hoặc ít được con kiến lựa chọn) sẽ nhanh chóng giảm dần về 0, làm cho cơ hội khám phá hay tìm kiếm ngẫu nhiên của thuật toán sẽ giảm mà đây là một trong những điểm mạnh của các thuật toán mô phỏng tiến hóa tự nhiên nên thuật toán hệ
kiến AS kém hiệu quả
2.2 Thuật toán MMAS
MMAS (Max-Min Ant System) và một số thuật toán khác như Elitist
AS, Rank-Based AS là các thuật toán có được hiệu suất cao hơn nhiều so với thuật toán AS nhờ vào những thay đổi nhỏ trong thuật toán AS, đây được coi
là các thuật toán kế thừa trực tiếp từ thuật toán AS vì chúng về cơ bản là không khác gì nhiều so với thuật toán AS
MMAS đưa ra bốn thay đổi chính đối với AS
1 Trước tiên, nó chú trọng nhiều vào những tuyến đường tốt nhất được tìm thấy: MMAS, chỉ cho phép con kiến tốt nhất hoặc là tại vòng lặp hiện tại
iteration-best , hoặc tính từ thời điểm bắt đầu best-so-far được phép cập nhật mùi Tuy nhiên việc này sẽ dẫn đến hiện tượng ứ đọng, tập trung (stagnation)
quá nhiều khi mà tất cả các con kiến đều cùng chọn một tuyến đường đi, do
sự tăng lên quá thừa của cường độ các vết mùi trên các cạnh tốt
2 Để tránh hiện tượng trên một cải tiến thứ hai là MMAS giới hạn
cường độ mùi trong một khoảng cố định [τ max , τ min ] Tất cả vết mùi trên các
cạnh đều nằm trong khoảng này
3 Các vết mùi được khởi tạo là cận trên của vết mùi τ max , cùng với việc một tỉ lệ bay hơi mùi nhỏ sẽ làm tăng khả năng khám phá cho các con kiến ngay từ khi bắt đầu