1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng thuật toán đàn kiến trong tìm kiếm đường đi tối ưu

62 102 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 1,43 MB

Nội dung

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 2

Vấ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 3

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/

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 4

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/

5

Trang 5

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/

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 6

Dướ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 7

khó 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 8

Khi 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 9

nố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 10

1.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 11

Cá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ễ

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 12

1.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 13

Cá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 14

Bà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 15

metaheuristic 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 16

Quy 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 17

Trong đó:

: 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 18

Ban đầ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 20

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/

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 21

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/

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 22

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/

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 23

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/

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 24

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/

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 25

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/

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 26

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/

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 27

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/

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 28

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/

Đỉ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 29

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/

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 30

dà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 31

phá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);

Ngày đăng: 14/02/2019, 07:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w