Hay như bài toán tháp Rùa – HồGươm cũng có thể quy ra bài toán tìm kiếm – từ tập hợp tất cả các cáchchuyển tháp từ A đến C ta chọn ra tập hợp các bước chuyển ít nhất, … Ngày nay, với sự
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 TRUNG CHIẾN
ỨNG DỤNG THUẬT TOÁN ĐÀN KIẾN
TRONG TÌM KIẾM ĐƯỜNG ĐI TỐI ƯU
LUẬN VĂN THẠC SĨ: CÔNG NGHỆ THÔNG TIN
Thái Nguyên – 2014
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
Trang 2Vấn đề tìm kiếm có thể hiểu là tìm ra một kết quả thỏa mãn điều kiệnđược đặt ra trước đó trong một tập hợp lớn các đối tượng Có rất nhiều vấn đề
có thể quy ra bài toán tìm kiếm, ví dụ như trò chơi: cờ vua, cờ caro có thể xemnhư bài toán tìm kiếm – từ tập hợp các nước có thể đi ta chọn ra tập hợp cácnước đi ngắn nhất để trở thành người thắng Hay như bài toán tháp Rùa – HồGươm cũng có thể quy ra bài toán tìm kiếm – từ tập hợp tất cả các cáchchuyển tháp từ A đến C ta chọn ra tập hợp các bước chuyển ít nhất, …
Ngày nay, với sự đòi hỏi cao về khoa học và công nghệ, các kỹ thuật tìmkiếm cổ điển đã không còn phù hợp mà thay vào đó là cách tìm kiếm không rõđối tượng (tìm kiếm mù), các kỹ thuật tìm kiếm kinh nghiệm (heuristic), các kỹthuật tìm kiếm tối ưu, …
Một trong số những thuật toán tìm kiếm dựa trên kinh nghiệm khá hiệuquả hiện nay là thuật toán tối ưu đường đi của loài kiến (do nhà khoa họcngười Bỉ Marco Dorigo giới thiệu trong luận án tiến sĩ của mình năm 1996).Thuật toán này sử dụng giải pháp Meta-heuristic, là một tập các khái niệm vềthuật toán được sử dụng để xác định các phương thức tìm kiếm thích hợp chomột tập các vấn đề khác nhau, có thể coi là một phương thức tìm kiếm đanăng Nó giúp tối ưu hóa phương pháp giải các bài toán NP-Khó 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 nhaunhư: Áp dụng vào việc kinh doanh của nhiều hãng vận tài lớn tại Mỹ, ứng
Trang 3Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
4
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,
Trong giới hạn về đề tài này, dưới sự hướng dẫn của PSG, TS Đoàn Văn
Ban, em mạnh dạn chọn đề tài: “ỨNG DỤNG THUẬT TOÁN ĐÀN KIẾN
TRONG TÌM KIẾM ĐƯỜNG ĐI TỐI ƯU” để tìm hiểu và thực hiện.
Cấu trúc của luận văn được chia làm ba chương, với nội dung chính củamỗi chương như sau:
Chương 1: Giới thiệu về hệ thông đàn kiến, phương pháp giải
heuristic, một số thí nghiệm liên quan và một số thuật toán đàn kiến
Chương 2: Tìm hiểu một số vấn đề liên quan đến các kỹ thuật tìm
kiếm tối ưu như : thuật toán A*, thuật toán nhánh và cận, thuật toánleo đồi và một số bài toán tìm kiếm dựa trên kinh nghiệm
Chương 3: Phát biểu và mô tả bài toán tìm đường D-TSP Xây dựng
hướng giải quyết bài toán và demo
Ngoài ra, trong luận văn còn có phần “Mở đầu” và phần “Kết luận”
Trang 4Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
5
Trang 5Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
Dựa trên các yếu tố về mặt tự nhiên, các nhà khoa học mô phỏng lại, cảibiến, hoàn thiện và đưa nó thành những sản phẩm nhằm phục vụ mục đích của
họ Ngoài những thiết bị vật lý mà chúng ta nhìn thấy từ sản phẩm thì nằm sâutrong chúng là những bài toán nhằm giải quyết hay mô phỏng sao cho gần với tựnhiên nhất
Ngày nay, trí tuệ nhân tạo được sử dụng nhiều trong các ngành khoahọc kỹ thuật Phương pháp tìm kiếm bày đàn được áp dụng khá rộng rãi, cụthể một trong những thuận toán đó là thuật toán đàn kiến (do Marco Dorigogiới thiệu vào năm 1992) Kể từ đó tới nay, thuật toán đàn kiến đã có rấtnhiều cải tiến và được ứng dụng vào nhiều lĩnh vực nhưs: trí tuệ nhân tạo,trong bộ máy tìm kiếm, tin sinh, … [12]
Trang 6Dưới đây là một số thuật toán ACO theo trình tự về thời gian xuất hiện:
Ant System Dorigo, Maniezzo & Colomi (1991)
Elitist AS Dorigo (1992); Dorigo, Maniezzo & Colomi (1996)Ant-Q Gambardella & Dorigo (1995); Dorigo & Gambardella
(1996)Ant Colony System Dorigo & Gambardella (1996)
Max-Min AS Stutzle & Hoos (1996,2000); Stutzle (1999)
Rank-based AS Bullnheiner, Hartl & Strauss (1997,1999)
Hyper-cube AS Blum, Roli & Dorigo (2001); Blum & Dorigo(2004)
Bảng 1.1 Một số thuật toán ACO
1.2 Hành vi của đàn kiến trong tự nhiên
Trong thế giới tự nhiên, cách tìm mồi của đàn kiến bắt đầu bằng việc đilang thang ngẫu nhiên và trong quá trình tìm kiếm đó chúng lưu lại trên conđường mà chúng đi qua một lượng Pheromone Hành vi đi ngẫu nhiên này có thể
sẽ không được lập lại với các con kiến đi sau mà thay vào đó là sự chọn lựa cácvết pheromone do các con kiến đi trước tạo ra để quay trở lại tổ hoặc củng cố lạicon đường đó nếu nguồn thức ăn được tìm thấy
Tuy nhiên, theo thời gian các vết pheromone sẽ bay hơi và làm giảm sựhấp dẫn với các con kiến khác Thời gian tiêu hao của một con kiến đi từ tổ của
nó đến nguồn thức ăn và quay lại sẽ tương ứng với lượng pheromone bị bay hơi
Từ đó đường đi tối ưu được hình thành nhờ mật độ kiến đi qua nhiều nhất vàlượng pheromone để lại là đậm nhất
Sự bay hơi của pheromone là lợi thế để tránh sự hội tụ dẫn đến mộtgiải pháp tối ưu hóa cục bộ Nếu không có sự bay hơi của pheromone, các conđường đã được lựa chọn bởi những con kiến đi đầu sẽ không quá khác biệt và
Trang 7khó xảy ra hội tụ Trong trường hợp đó các giải pháp thăm dò sẽ hết sức hạnchế.
Vì vậy, khi một con kiến tìm thấy đường đi tốt từ tổ của chúng đếnnguồn thức ăn, những con kiến khác có nhiều khả năng cũng theo con đường
đó và có những phản hồi tích cực dẫn đến việc cả đàn kiến sẽ theo một conđường duy nhất Ý tưởng của thuật toán đàn kiến là mô phỏng lại quả trìnhtìm đường của đàn kiến ngoài tự nhiên để duyệt đồ thị đại diện cho các bàitoán cần giải quyết
1.2.1 Thí nghiệm chiếc cầu đôi
Một thí nghiệm được nhắc đến trong nhiều tài liệu về đường đi của đànkiến là thí nghiệm trên một chiếc cầu đôi của Deneubourg và các đồng sự [5].Ông đã sử dụng một cây cầu có 2 nhánh nối tổ kiến tới chỗ thức ăn Hai nhánhcủa cây cầu gọi là nhánh ngắn và nhánh dài, tỉ lệ trong đó là độ dàicủa nhánh dài và là độ dài nhánh ngắn Tỉ lệ được thay đổi nhiều lần trongcác thí nghiệm nhằm quan sát sự thay đổi trong hành vi của các con kiến
Đầu tiên đàn kiến được thử nghiệm trên chiếc cầu với r =1 Kết quả saumột thời gian quan sát : đàn kiến vẫn chọn chung một con đường mặc dù có suấtphát là ngẫu nhiên
Hình 1.1 Thí nghiệm chiếc cầu đôi với 2 nhánh có kích thước bằng nhau
Trang 8Khi thí nghiệm được bắt đầu, trên chiếc cầu hoàn toàn không hề có vếtpheromone, hai nhánh cầu bằng nhau nhưng đàn kiến vẫn chọn một con đường.Điều này được lý giải là do sự ngẫu nhiên của xác suất (xấp xỉ 50% trên 1 nhánhcầu) dẫn đến lượng pheromone ở nhánh này nhiều hơn nhánh kia Tức là xác suất
mà con kiến sau chọn đi vào đường có nồng độ pheromone cao hơn là lớn hơn
Để minh chứng rõ hơn, trong lần thí nghiệm sau đó, cây cầu được thiết kếvới r = 2 tương đương với
Hình 1.2 Thí nghiệm chiếc cầu đôi với 2 nhánh có kích thước không bằng nhau
Sau nhiều lần thử nghiệm, đàn kiến vẫn chọn nhánh cầu ngắn hơn Mộtcon kiến xuất phát từ tổ đến mồi và khi tha mồi về tổ nó vẫn phải chọn conđường có pheromone cao hơn Chính lý do này n ồng độ pheromone trên conđường ngắn hơn ngày càng cao hơn và những con kiến sau sẽ có xác suất chọnvào đường đó cao hơn Tuy nhiên, cũng không hẳn toàn bộ đàn kiến đều đi vàođường ngắn mà vẫn có những con kiến đi vào đường khác, các nhà khoa học chorằng đó có thể là một dạng khám phá đường đi mới
Khi đàn kiến hội tụ vào một đường, tức là chúng đã tạo ra một kết nốigiữa tổ và mồi thông qua vệt pheromone Một thí nghiệm mở rộng được đưa
ra để kiểm nghiệm việc tạo ra vệt pherome và sự bay hơi của chúng: Người tađưa một cây cầu chỉ có nhánh dài và nhánh ngắn được tháo ra, cây câu được
Trang 9nối từ tổ kiến đến mồi Sau khi đàn kiến đã di chuyển qua một khoảng thờigian, người ta lắp thêm nhánh cầu ngắn nhưng việc chọn lựa con đường nàycủa kiến là rất thấp.
Hình 1.3 Thí nghiệm chiếu 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, 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.
Điều này có thể được giải thích bởi nồng độ chất pheromones ở nhánhdài cao và làm chậm tốc độ bay hơi của chất pheromones Thực tế, đa số cáccon 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 rakhá chậm: thời gian tồn tại của pheromones được so sánh với thời gian tiếnhành cuộc thử nghiệm, có nghĩa là chất pheromones bốc hơi quá chậm để chocá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 101.2.2 Mô hình ngẫu nhiên
Denebourg và các đồng nghiệp (Deneubourg et al., 1990, Goss et al.,1989) đã đưa ra một mô hình xác suất thống kê mô tả chức năng của bầy kiến
mà họ đã quan sát được qua thí nghiệm chiếc cầu đôi [1][5][7] Trong môhình này, cứ 1 giây sẽ có con kiến băng qua cầu (mỗi hướng có con kiến)
với tốc độ không đổi là cm/s và mỗi con sẽ tiết ra một lượng mùi
(pheromone) là 1 đơn vị Cho biết trước độ dài của nhánh dài và nhánhngắn (đơn vị là cm) của cây cầu một con kiến chọn nhánh ngắn sẽ dichuyển trên nhánh này với thời gian (giây) trong đó một con kiến đinhánh dài sẽ tốn lượng thời gian là , với
Ta định nghĩa xác suất là xác suất khi con kiến tới điểm cần phảiđưa ra quyết định nó sẽ chọn nhánh , trong đó và làchỉ nhánh ngắn và nhánh dài trên cầu, tại thời điểm Xác suất này là hàm của
của tổng lượng mùi (pheromone) , mà hàm này lại tỉ lệ với số kiến từng
đi qua nhánh này cho tới thời điểm
Ví dụ, ta có thể xây dựng 1 hàm như sau:
(1.1)
Hàm này cùng với giá trị được rút ra từ thí nghiệm lần dấu (Deneubourg
et al., 1990), tương tự với , ta có
Mô hình này dựa trên giả thiết rằng lượng mùi (pheromone) trên một
nhánh tỉ lệ với số lượng kiến đã từng đi qua nhánh đó trong quá khứ Nói một
cách khác, ở đây không có sự xảy ra sự bay hơi mùi (điều này tương ứng với các
quan sát từ thí nghiệm rằng thời gian để cho các con kiến hội tụ về đường đi
ngắn nhất cũng tương đương với thời gian bay hơi của mùi (Goss et al., 1989;
Beckers, Deneubourg, & Goss, 1993) ) [15]
Trang 11Các phương trình vi phân mô tả quá trình phát triển của mô hình xác suấtthống kê này là như sau:
(1.2)
(1.3)
Phương trình (1 2) có thể được giải thích như sau: tại thời điểm , sự thay đổilượng mùi (pheromone) trên nhánh tại điểm quyết định được tính bởi lượngkiến đi qua (giả sử là hằng số), nhân với xác suất chọn nhánh ngắn hơn tạiđiểm quyết định tại thời điểm và cộng với nhân với xác suất lựa chọnnhánh ngắn hơn tại điểm quyết định tại thời điểm Hằng số thể hiện khoảngthời gian trễ cần thiết để một con kiến đi qua nhánh ngắn
Phương trình (1.3) diễn giải điều tương tự với nhánh dài, ngoại trừ thời gian trễ
là
Hệ động xác định nhờ vào các phương trình trên được mô phỏng nhờphương pháp Monte Carlo (Liu, 2001) [16] Trong hình 8 là kết quả của 2 thínghiệm với 1000 lần thử cho mỗi thí nghiệm và trong đó tỉ lệ độ dài giữa 2nhánh được đặt bằng và Chúng ta có thể thấy khi 2 nhánh có cùng
độ dài ( ) các con kiến sẽ hội tụ về việc chỉ sử dụng một trong 2 nhánh vớixác suất là tương đương nhau qua cả 1000 thí nghiệm Ngược lại, khi một nhánh
có độ dài gấp 2 lần nhánh còn lại thì trong hầu hết thí nghiệm, tất cả các con kiến
sẽ chọn nhánh ngắn hơn (Goss et al., 1989)
Trong mô hình này các con kiến tiết ra mùi cả trong lúc đi tìm đường lẫnlúc quay về tổ Điều này đã cho thấy đây là một hành vi cần thiết để đàn kiến cóthể hội tụ về đường đi ngắn hơn Trên thực tế, nếu ta xem xét mô hình mà trong
đó kiến chỉ tiết mùi lúc tìm đường hoặc trên đường quay về tổ thì kết quả sẽ làđàn kiến không thể chọn được ra được đường đi ngắn nhất
Trang 121.4 Kết quả 1000 lần thử sử dụng Monte Carlo
Hình 1.4 mô tả kết quả thí nghiệm với 1000 lần thử Monte Carlo của mô hìnhxác định bởi phương trình (1.1), (1.2) và (1.3) = 0.5 và chỉ tính từ con kiếnthứ 501 tới con kiến thứ 1000 Hình (a) là tỉ số và hình b là kết quả với
Người ta tiến hành quan sát trên kiến thật và đã khẳng định được rằng nếukiến chỉ tiết mùi trên đường về tổ thì chúng sẽ không thể nào tìm được đường đingắn nhất giữa tổ của chúng và nguồn thức ăn (Deneubourg, 2002)
1.3 Phương pháp giải Meta-heuristic
1.3.1 Tối ưu tổ hợp
Bài toán tối ưu hóa tổ hợp liên quan tới việc tìm giá trị cho các biến số rời
rạc như lời giải tối ưu mà có lưu ý tới hàm mục tiêu (objective function) cho
trước Bài toán có thể là bài toán tìm cực đại hoặc tìm cực tiểu
Thông thường, một bài toán tối ưu hoá tổ hợp được mô tả dưới dạng bộ 3
(S, f, Ω) Trong đó:
o S là tập các lời giải ứng cử viên.
o f là hàm mục tiêu (hàm này gán giá trị f(s) cho mỗi lời giải ứng cử viên
s S).
o Ω là tập hợp các ràng buộc của bài toán.
Trang 13Các lời giải thuộc tập S* S thỏa mãn tập các ràng buộc Ω gọi là lời giảikhả thi.
Mục tiêu bài toán là tìm ra một lời giải khả thi tối ưu toàn cục s* Với cácbài toán tối ưu hóa cực tiểu là tìm lời giải s* với giá nhỏ nhất, nghĩa là f(s*) ≤ f(s)
với mọi lời giải s S Ngược lại bài toán tối ưu hóa cực đại là tìm lời giải s* với
giá lớn nhất, nghĩa là f(s*) ≥ f(s) với mọi lời giải s S.
Trang 14Bài toán tối ưu hóa tổ hợp có thể chia 2 loại: Bài toán tĩnh và bài toán
- Bài toán tối ưu hóa tổ hợp tĩnh
Là bài toán tối ưu hóa tổ hợp trong đó cấu trúc bài toán cũng như giá trịkhông thay đổi khi bài toán đang được giải quyết Ví dụ như: bài toán người bánhàng Khi thực hiện thuật toán để giải bài toán thì vị trí các thành phố, khoảngcách giữa các thành phố là không thay đổi
- Bài toán tối ưu hóa tổ hợp động
Là bài toán tối ưu hóa tổ hợp trong đó cấu trúc bài toán và giá trị có thểthay đổi khi bài toán đang được giải quyết Ví dụ là bài toán định hướng trongmạng viễn thông, trong đó mô hình mạng và dung lượng yêu cầu trong mạngluôn thay đổi
1.3.2 Meta-heuristic
Meta-heuristic là một cách gọi chung cho các giải thuật heuristic trongviệc giải quyết các bài toán tổ hợp khó Meta-heuristic bao gồm những chiếnlược khác nhau trong việc khám phá không gian tìm kiếm bằng cách sử dụngnhững phương thức khác nhau và phải đạt được sự cân bằng giữa tính đa dạng
và chuyên sâu của không gian tìm kiếm Một cài đặt thành công của
Trang 15metaheuristic trong một bài toán tổ hợp phải cân bằng giữa sự khai thác đượckinh nghiệm thu thập được trong quá trình tìm kiếm để xác định được nhữngvùng với những lời giải có chất lượng cao gần tối ưu.
Hay nói cách khác: Meta-heuristic là một tập các khái niệm về thuậttoán được sử dụng để xác định các phương thức tìm kiếm thích hợp cho mộttập các vấn đề khác nhau Nói cách khác, một siêu tìm kiếm ( meta-heuristic)
có thể coi là một phương thức tìm kiếm đa năng
Những ví dụ của metaheuristic bao gồm giải thuật luyện kim SA Simulated Annealing (Cerny, 1985; Kirk-patrick, Gelatt, & Vecchi, 1983), tìmkiếm Tabu (Glover, 1989, 1990; Glover & Laguna, 1997), Tìm kiếm địaphương (Lourenςo, Martin, & Stützle, 2002), giải thuật đàn kiến (ACO -Dorigo & Di Caro, 1999b; Stu¨tzle, 2002), giải thuật di truyền GA – GeneticAlgorithms (Lourenςo & Serre, 1989, 2002) [5],… Trong đó, giải thuật đànkiến là meta-heuristic dùng chiến lược tìm kiếm đường đi của kiến trong thếgiới thực để giải bài toán tối ưu Giải thuật SA xuất phát từ phương thức xácsuất và kỹ thuật luyện kim : bao gồm việc nung và điều khiển nhiệt độ làmnguội các kim loại để đạt được trạng thái năng lượng nhỏ nhất Trong khi đó,giải thuật di truyền dựa trên ý tưởng từ cơ chế di truyền trong sinh học và tiếntrình tiến hóa trong cộng đồng các cá thể của một loài
-1.4 Một số thuật toán đàn kiến
1.4.1 Ant System (AS)
Thuật toán Ant System (AS) là thuật toán đầu tiên trong lớp các thuật toánACO được đề xuất bởi Dorigo trong luận án tiến sỹ của ông năm 1991 [2][3]
Trang 16Quy tắc di chuyển
Kiến xây dựng đường đi bắt đầu từ một đỉnh được chọn lựa ngẫu nhiên.Tại một đỉnh i bất kỳ, một con kiên k sẽ chọn đỉnh j chưa được đi qua trong tậpláng giềng của i theo công thức sau:
(1.4)
Trang 17Trong đó:
: xác suất con kiến k lựa chọn cạnh (i,j): nồng độ vết mùi trên cạnh (i,j)
α : hệ số điều chỉnh ảnh hưởng của
: thông tin heuristic giúp đánh giá chính xác sự chọn lựa của conkiến khi quyết định đi từ đỉnh i qua đỉnh j và được tính theo công thức:
(1.5): khoảng cách giữa đỉnh i và đỉnh j
β : hệ số điều chỉnh ảnh hưởng của: tập các đỉnh láng giềng của i mà con kiến k chưa đi qua
Quy tắc cập nhật pheromone
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ệtmùi sẽ được cập nhật Ứng với mỗi cạnh (i,j) nồng độ vệt mùi là thông sốheuristic trên cạnh đó
Trang 18Ban đầu nồng độ mùi trên mỗi cạnh (i,j) được gán bằng một hằng số c,hoặc xác định theo công thức :
(1.6)Việc cập nhật pheromone được tiến hành như sau:
Trang 19- Đầu tiên là sự bay hơi của pheromone theo công thức:
- 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:
(1.8)
trong đó 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:
(1.9)
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 (1.8), 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à đượcnhiều con kiến lựa chọn thì sẽ nhận được nhiều mùi hơn và có nhiều khả
Trang 20Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
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
Ư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 chophé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ápheuristic 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ếtmù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
Nhượ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áckhi 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 conkiế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ìmkiế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ạnhcủ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émhiệu quả
1.4.2 Max-Min Ant System (MMAS)
MMAS 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ữngthay đổ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 AS [11]
Trang 21Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
MMAS đưa ra bốn thay đổi chính đối với AS:
Thứ nhất, nó chú trọng nhiều vào những tuyến đường tốt nhất được tìmthấ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
Để 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
Thứ ba, 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ớiviệ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ếnngay từ khi bắt đầu
Cuối cùng, trong thuật toán MMAS các vệt mùi sẽ được khởi tạo lại nếu
như hệ thống rơi vào trạng thái stagnation, hoặc không thể cải thiện được tuyến
đường đã tạo ra sau một số vòng lặp liên tiếp
Cập nhật mùi
Cũng như thuật toán AS, sau khi tất cả các con kiến xây dựng xong lờigiải của chúng tất cả các vết mùi đều bay hơi một lượng phụ thuộc vào tham sốbay hơi mùi (xem công thức 1.7)
Sau đó cường độ mùi trên mỗi cạnh có con kiến tốt nhất đi qua được cậpnhật một lượng theo công thức :
(1.10)
Trang 22Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
Với , với hoặc là độ dài của tuyến đường tốt nhấttại vòng lặp hiện tại, hoặc là độ dài của tuyến đường tốt nhất từ khi bắt đầu thuậttoán
Khi ta sử dụng luật update best-so-far thì quá trình tìm kiếm sẽ tập trung
nhanh chóng vào tuyến đường tốt nhất từ đầu đến hiện tại Còn khi sử dụng
update iteration-best thì số lượng các cạnh được tăng cường mùi là nhiều hơn và
sự tìm kiếm cũng phân tán hơn
Giới hạn vết mùi
MMAS sử dụng hai cận trên (τ max ) và cận dưới (τ min ) để khống chế nồng độ
pheromone trên mỗi cạnh với mục đích tránh cho thuật toán khỏi hiện tượng tắc
nghẽn tìm kiếm Cụ thể hơn, giới hạn của vệt mùi sẽ làm cho xác suất p ij của việc
chọn thành phố j khi kiến ở thành phố i bị giới hạn trong khoảng [p min , p max ].
Nhược điểm của thuật toán này là sẽ tập trung tìm kiếm vào các cạnh
thuộc lời giải tốt nhất tìm được, vì vậy hạn chế khả năng khám phá nếu τ min chọn bé Ngoài ra khi chọn τ min bé thì gần như các thông tin heuristic đượctận dụng triệt để, còn các cường độ mùi sẽ bị giảm nhanh và không có tác
dụng nhiều Còn nếu chọn τ min lớn thì thuật toán sẽ gần với tìm kiếm ngẫunhiên và ít phụ thuộc vào các thông tin heuristic đồng thời khả năng học tăngcường cũng giảm theo
1.4.3 Ant Colony System (ACS)
Thuật toán ACS là thuật toán mở rộng của AS, nó đạt được hiệu suất caohơn bằng cách đưa ra các kỹ thuật hoàn toàn mới mà ý tưởng của nó không có
trong thuật toán AS cơ bản.
Trang 23Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
Thuật toán ACS khác với AS ở ba điểm chính.
1 ACS lợi dụng kinh nghiệm tích lũy được từ những con kiến hơn nhiều so với thuật toán AS thông qua việc dùng một luật lựa chọn đỉnh linh hoạt
- Cho q 0 là một hằng số cho trước
- q là giá trị ngẫu nhiên phân phối đều trong đoạn [0,1].
- Nếu q kiến k chọn đỉnh j di chuyển tiếp theo dựa trên giá trị lớn
nhất của thông tin mùi và thông tin heuristic có trên cạnh theo công thức:
(1.11)
- Nếu q kiến k sẽ chọn đỉnh j chưa được đi qua trong tập láng giếng
của i theo quy luật phân bổ xác xuất được xác định theo công thức 1.4
Như vậy với xác suất q 0 các con kiến sẽ chọn đường đi tốt nhất có thể theochỉ dẫn của các thông tin heuristic và sự tích lũy pheromone, trong khi với xác
suất 1-q 0 các con kiến sẽ thiên về hướng khám phá bằng công thức phân phối xác
suất Sự điều chỉnh tham số q 0 cho phép điều chỉnh mức độ khám phá và lựa
Trang 24Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
chọn hoặc tập trung tìm kiếm xung quanh tuyến đường tốt nhất tính từ đầu
(best-so-far solution) hoặc khám phá các tuyến đường khác.
o là lượng pheromone đặt lên cạnh (i,j) mà kiến đi qua
o là độ dài đường đi tốt nhất của con kiến thứ k sau khi hoànthành đường đi, tức là bằng tổng các cung thuộc đường đi tốt nhất màkiến đã đi qua
Trang 25Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
1.5 Tổng kết chương 1
Thuật toán đàn kiến là dạng thuật toán tối ưu bày đàn, nó được nghiêncứu, ứng dụng trong rất nhiều lĩnh vực hiện nay Ứng dụng của thuật toán nàyphổ biến được chia thành hai lớp: Lớp tối ưu tổ hợp cho các bài toán NP-Khócho công nghệ cũ thường ít đích đến Lớp ứng dụng thứ hai là tìm đường đingắn nhất, ở đó khoảng cách được thay đổi ở thời gian thực thi bài toán
Nội dung trong chương này, chủ yếu trình bày một số vấn đề liên quanđến lịch sử phát triển của thuật toán, mô tả một cách chi tiết các thí nghiệm vàkết quả đạt được của thuật toán ACO Ngoài ra, nội dung còn thể hiện một sốthuật toán đàn kiến điển hình: cách di chuyển của kiến trong thuật toán và cậpnhật pherome, bay hơi phernomone, Trong chương sau chúng ta sẽ tìmhiểu về thuật toán tìm kiếm tối ưu để có cách nhìn toàn diện hơn về cách màđàn kiến tối ưu đường đi của chúng
Trang 26Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
CHƯƠNG 2 : MỘT SỐ CHIẾN LƯỢC TÌM KIẾM TỐI ƯU
2.1 Giới thiệu chung
Vấn đề tìm kiếm tối ưu, có thể phát biểu như sau Mỗi đối tượng x trongkhông gian tìm kiếm được gắn với một số đo giá trị của đối tượng đó f(x), mụctiêu của ta là tìm đối tượng có giá trị f(x) lớn nhất (hoặc nhỏ nhất) trong khônggian tìm kiếm Hàm f(x) được gọi là hàm mục tiêu Trong chương này chúng ta
sẽ nghiên cứu các thuật toán tìm kiếm sau:
Các kỹ thuật tìm đường đi ngắn nhất trong không gian trạng thái: Thuậttoán A*, thuật toán nhánh và cận
Các kỹ thuật tìm kiếm đối tượng tốt nhất: Tìm kiếm leo đồi, tìm kiếm gradient
Tìm kiếm tối ưu bầy đàn: giải thuật di truyền, giải thuật đàn kiến.
2.2 Chiến lược tìm đường đi ngắn nhất
2.2.1 Thuật toán A*
Thuật toán A* là thuật toán sử dụng kỹ thuật tìm kiếm tốt nhất đầu tiênvới hàm đánh giá f(u) Thuật toán này là phương pháp mở rộng của thuật toánAKT(Algorithm for Knowlegeable Tree search) áp dụng đối với đồ thị A* làmột giải thuật linh động, tổng quát, trong đó bao gồm cả tìm kiếm chiều rộng,chiều sâu và nhiều hàm đánh giá heuristic khác [4]
Người ta đánh giá nó như một thuật toán tiêu biểu trong heuristic, song nóvẫn mắc phải một khuyết điểm, giống như các thuật toán tìm kiếm theo chiềurộng đó là bộ nhớ để lưu lại những trạng thái đã đi qua Đối với những khônggian trạng thái nhỏ thì không phải quan tâm nhưng đối với những không gian tìmkiếm lớn thì là cả vấn đề nan giải
Trang 27Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
Xét đồ thị không gian trạng thái sau :
Hình 2.1 Đồ thị không gian trạng thái
Trong đó đỉnh A là trạng thái ban đầu, đỉnh H là trạng thái kết thúc, các sốghi cạnh các cung là độ đo đường đi với giá trị của hàm h là: h(A) = 14; h(B) =15; h(C) = 7; h(D) = 8; h(E) = 9; h(F) = 2; h(G) = 5; h(H) = 1
Đầu tiên, ta xét đỉnh A có các con là B, C, D, giá trị hàm f tại các đỉnh nàylà
Trang 28Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
Đỉnh D là đỉnh tiếp theo có f nhỏ nhất và được chọn để phát triển theo haicon của nó là F, G Tiếp tục như vậy cho đến khi tìm được điểm kết thúc là Hvới độ đo đường đi ngắn nhất với g(H) = 19
Tư tưởng giải thuật của thuật toán
- Input: đồ thị G liên thông, có hướng.
- Output : đường đi ngắn nhất
{thông báo thất bại; stop};
2.2 Loại trạng thái u ở đầu danh sách L;
Trang 29Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên ht t p : / / w w w.lr c -tnu e d u.vn/
end;
2.3 if u là trạng thái kết thúc then
if g(u) y then {y g(y); Quay lại 2.1};
2.4 if f(u) > y then Quay lại 2.1;
2.5 for mọi trạng thái v kề u do
{g(v) g(u) + k(u,v);
f(v) g(v) + h(v);
Chúng ta đưa ra một số nhận xét về thuật toán A* [4]:
Người ta chứng minh được rằng, nếu hàm đánh giá h(u) là đánh giá thấpnhất (trường hợp đặc biệt, h(u) = 0 với mọi trạng thái u) thì thuật toán A* làthuật toán tối ưu, tức là nghiệm mà nó tìm ra là nghiệm tối ưu Ngoài ra, nếu độ
Trang 30dài của các cung không nhỏ hơn một số dương nào đó thì thuật toán A* là thuậttoán đầy đủ theo nghĩa rằng, nó luôn dừng và tìm ra nghiệm.
Trong trường hợp hàm đánh giá h(u) = 0 với mọi u, thuật toán A*chính là thuật toán tìm kiếm tốt nhất đầu tiên với hàm đánh giá g(u)
mà ta nói đến
Thuật toán A* được chứng tỏ là thuật toán hiệu quả nhất trong sốcác thuật toán đầy đủ và tối ưu cho vấn đề tìm kiếm đường đi ngắnnhất
Ví dụ: Xét lại không gian trạng thái trong ví dụ trên Đỉnh A có 3 con là B,
C, D, f(B) = 23, f(C) = 12, f(D) = 20 Đỉnh C là trạng thái tốt nhất, phát triển C,
ta nhận được 2 con là D, E với f(D) = 18, f(E) = 22 Đi xuống phát triển D, sinh
ra các đỉnh F và G, f(F) = 16, f(G) = 18 Đi theo đỉnh F xuống H, vì gặp H làđích nên ta tìm được đường đi tối ưu tạm thời là H với độ dài 19 Từ H quay lên
F rồi quay lên D, đi xuống G f(G) = 18 nhỏ hơn độ dài đường đi tối ưu tạm thời,
Trang 31phát triển G ta được B với độ dài đường đi là 19 Độ dài đường đi này không nhỏhơn độ dài đường đi tối ưu trước đó nên tạm thời độ dài đường đi tối ưu khôngđổi.Từ D lại quay lên C, xuống E f(E) = 22 lớn hơn đường đi tối ưu tạm thời từ
E quay lên C, quay lên A, xuống B với f(B) = 23, loại đỉnh B Tiếp tục quay lên
A, xuống D = 12 + 8 = 20 lớn hơn đường đi tối ưu tạm thời, loại đỉnh D Vậykhông còn đỉnh nào để xét nữa nên đường đi tối ưu có độ dài là 19
Thuật toán nhánh và cận sẽ được biểu diễn bởi thủ tục Branch andBound Trong thủ tục này, biến cost được dùng để lưu độ dài đường đi ngắnnhất Giá trị ban đầu của cost là số đủ lớn, hoặc độ dài của một đường đi đầy
đủ mà ta đã biết [4] Tư tưởng thuật toán như sau:
Input : Đồ thị G liên thông, có hướng.
Output : Đường đi ngắn nhất
procedure Branch_and_Bound;
begin
1 Khởi tạo danh sách L chỉ chứa trạng thái ban đầu;
Gán giá trị ban đầu cho cost;
2 lặp
2.1 if L rỗng then stop;
2.2 Loại trạng thái u ở đầu danh sách L;
2.3 if u là trạng thái kết thúc then
if g(u) ≤ y then {y ← g(y); Quay lại 2.1};
2.4 if f(u) > y then Quay lại 2.1;
2.5 for mỗi trạng thái v kề u do
{g(v) ← g(u) + k(u,v);
f(v) ← g(v) + h(v);