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

Tiểu luận môn LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG Tìm hiểu Ant Colony Optimization

39 1,1K 2

Đ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 39
Dung lượng 844,76 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Thuật toán tìm kiếm cục bộ Local search  Thuật toán mô phỏng luyện kim Simulated annealing  Thuật toán GRASPGreedy Randomized Adaptive Search Procedure  Thuật toán bầy đàn Swarm int

Trang 1

LẬP TRÌNH SYMBOLIC

VÀ ỨNG DỤNG

Tìm hiểu Ant Colony Optimization

và hiện thực với Maple

Giảng viên hướng dẫn PGS.TS Đỗ Văn Nhơn

01 – 2013

Trang 2

LẬP TRÌNH SYMBOLIC

VÀ ỨNG DỤNG

Tìm hiểu Ant Colony Optimization

và hiện thực với Maple

Giảng viên hướng dẫn PGS.TS Đỗ Văn Nhơn

02 – 2013

Trang 3

MỞ ĐẦU 3

I PHƯƠNG PHÁP ANT COLONY OPTIMIZATION 4

1 Giới thiệu 4

1.1 Bài toán tối ưu hóa tổ hợp 4

1.2 Tối Ưu Hóa Đàn Kiến (ACO) 5

1.3 Thí Nghiệm Cầu Đôi 8

2 Bài Toán TSP và Thuật Toán áp dụng 10

2.1 Bài toán TSP 11

2.2 Thuật toán Ant System 12

2.3 Thuật toán Max-Min Ant System 15

3 Các chú ý khi áp dụng 17

3.1 Số lượng kiến 18

3.2 Xác định các vệt mùi 18

3.3 Điều chính giữa sự học tăng cường và khám phá 19

3.4 Giới hạn danh sách láng giềng 20

Trang 4

II CÀI ĐẶT VỚI MAPLE 21

1 Tại sao là Maple 21

2 Cài Đặt Thuật Toán 22

2.1 Xây dựng các thành phố và đường đi 22

2.2 Thủ tục tìm tất cả đường đi cho bài toán TSP 22

2.3 Thủ tục tìm một đường đi cho một con kiến 25

2.4 Thủ tục thuật toán Ant System 29

2.5 Thủ tục thuật toán Max-MinAntSystem 30

2.6 Các thủ tục khác 31

3 Thử nghiệm chương trình 31

III TỔNG KẾT 35

TÀI LIỆU THAM KHẢO 36

Trang 5

MỞ ĐẦU

Bài toán tối ưu hóa tổ hợp là bài toán hấp dẫn và thú vị bởi vì phần lớn chúng đều dễ để hình dung nhưng khó mà tìm ra lời giải cho chúng Nhiều bài toán tối ưu tổ hợp là các bài toán NP-khó và chúng không thể giải được trong thời gian đa thức Trên thực tế người ta thường giải quyết các bài toán này bằng các phương pháp xấp xỉ, chúng có nghiệm gần tối ưu và thời gian chạy khá ngắn Các thuật toán thuộc loại này tạm gọi là các thuật toán heuristic, chúng được sử dụng để giải quyết các bài toán cụ thể Mở rộng của chúng là các thuật toán metaheuristic có thể giải quyết được cả một lớp các bài toán rộng lớn ACO (Ant Colony Optimization) là một phương pháp theo hướng tiếp cận như thế Bài thu hoạch này sẽ trình bày về phương pháp ACO, cụ thể

là hai thuật toán Ant System và Max-Min Ant System cho bài toán Traveling Salesman Problem Cài đặt các thuật toán này thường thao tác trên các đối tượng toán học như tập hợp, danh sách, hình học, đồ thị, yêu cầu cần phải đáp ứng việc tính toán nhanh với khối lượng lớn, với thời gian nhanh và độ chính xác cao Thường thì các ngôn ngữ lập trình cấp thấp mới đáp ứng những yêu cầu này, nhưng lập trình với chúng đòi hỏi mất rất nhiều thời gian Và Maple đã giải quyết được việc này Maple rất “mạnh” (mạnh, ở đây có thể hiểutheo hai nghĩa là tốc độ xử lý nhanh, chính xác và thời gian lập trình phải bỏ ra

là ít) trong việc tính toán symbolic, numeric, … và các đối tượng toán học khác Bài thu hoạch này sẽ sử dụng Maple để cài đặt các thuật toán tìm tất cả đường đi, đường đi ngắn nhất, Ant System và Max-Min Ant System cho bài toán Traveling Salesman Problem

Lời cảm ơn, em chân thành xin dành cho thầy Nhơn vì những kiến thức củaThầy mang lại để giúp em có được cũng như hoàn thành tốt bài thu hoạch này

Trang 6

I PHƯƠNG PHÁP ANT COLONY OPTIMIZATION

1 Giới thiệu

Phương pháp tối ưu hóa đàn kiến (Ant Colony Optimization - ACO) là một

mô hình để thiết kế các thuật toán metaheuristic cho việc giải quyết bài toán tối

ưu hóa tổ hợp (Combinatorial optimization problems)

1.1. Bài toán tối ưu hóa tổ hợp

Bài toán tối ưu hóa tổ hợp được định nghĩa như sau:

Một bài toán tối ưu hóa tổ hợp hoặc thuộc loại tìm giá trị nhỏ nhất hoặc là thuộc loại bài toán tìm giá trị lớn nhất Các phương pháp giải loại bài toán này phần lớn là các phương pháp tìm kiếm heuristic (các thuật toán metaheuristic) Sau đây là các thuật toán đã được sử dụng:

Trang 7

 Thuật toán tìm kiếm cục bộ (Local search)

 Thuật toán mô phỏng luyện kim (Simulated annealing)

 Thuật toán GRASP(Greedy Randomized Adaptive Search Procedure)

 Thuật toán bầy đàn (Swarm intelligence)

 Thuật toán tìm kiếm theo bảng(Tabu search)

 Thuật toán di truyền (Genetic algorithms)

 Thuật toán tối ưu hóa đàn kiến (Ant colony optimization)

Metaheuristic là một tập các lý thuyết thuật toán được dùng để xác định cácphương pháp heuristic sao cho nó phù hợp với một lớp bài toán rộng lớn Nói cách khác metaheuristic có thể được xem như là một phương pháp heuristic có tính tổng quát, nó được thiết kế để hướng dẫn các heuristic trong các bài toán

cơ bản hướng về những miền hứa hẹn trong không gian tìm kiếm các phương

án tối ưu Một metaheuristic là khung thuật toán tổng quát có thể áp dụng cho nhiều loại bài toán tối ưu khác nhau tất nhiên là cùng với những điều chỉnh nhonhỏ để làm cho chúng trở nên phù hợp với các bài toán cụ thể

1.2 Tối Ưu Hóa Đàn Kiến (ACO)

ACO là một metaheuristic có thể áp dụng để giải quyết rất nhiều bài toán tối ưu tổ hợp, thuật toán đầu tiên đã được phân loại trong lớp các thuật toán ACO được đưa ra năm 1991 và kể từ đó nguyên tắc căn bản đã có nhiều thay đổi khác nhau Đặc điểm cơ bản của các thuật toán ACO là sự kết hợp giữa thông tin heuristic dựa vào đặc điểm của phương án có nhiều hứa hẹn và thông tin nhận được qua các phương án tốt đã tìm được ở bước trước Các thuật toán metaheuristic là các thuật toán để tránh hiện tượng tối ưu cục bộ, nó điều chỉnhcác heuristic: hoặc là heuristic tạo ra bắt đầu từ một phương án trống sau đó thêm các thành phần để nó trở thành phương án hoàn chỉnh và tốt, hoặc là

Trang 8

heuristic tìm kiếm cục bộ bắt đầu từ một phương án hoàn chỉnh sau đó thay đổilại một số thành phần để đạt được một phương án tốt hơn.

ACO bao gồm một lớp các thuật toán trong đó thuật toán đầu tiên là Ant System (AS) được đề xuất bởi Colorni, Dorigo và Maniezzo Ý tưởng chính làm cơ sở của thuật toán là lấy cảm hứng từ hành vi của đàn kiến trong tự nhiên, đó là quá trình tìm kiếm các lời giải song song dựa vào các dữ liệu cục

bộ và dựa vào cấu trúc động chứa các thông tin thu được qua các bược giải trước Sự tổng hợp các hành vi nổi trội từ quá trình giao tiếp giữa các phần tử trong quá trình tìm kiếm của chúng thực sự là có hiệu quả trong việc giải quyếtcác bài toán tối ưu hóa tổ hợp Các con kiến đã giao tiếp với nhau như thế nào

và làm sao để chúng lựa chọn được con đường tốt hơn để đi Qua các nghiên cứu người ta biết được rằng các con kiến trong tự nhiên để lại một vết hóa chất (pheromone trail), chúng có khả năng ứ đọng, bay hơi và có thể nhận biết bởi các con kiến khác, các vệt mùi chính là phương tiện giao tiếp báo cho các con kiến khác thông tin về đường đi đó một cách gián tiếp Các con kiến sẽ lựa chọn đường đi nào có cường độ mùi lớn nhất tại thời điểm lựa chọn để đi, nhờ cách giao tiếp mang tính gián tiếp và cộng đồng này mà đàn kiến trong tự nhiên tìm được đường đi ngắn nhất

Dựa vào ý tưởng trên, các thuật toán ACO sử dụng thông tin heuristic (chính là thông tin có được do các dữ liệu đầu vào của bài toán) kết hợp thông tin từ các vết mùi của các con kiến nhân tạo (artificial ant) để giải các bài toán tối ưu tổ hợp khó bằng cách đưa về bài toán tìm đường đi tối ưu trên đồ thị cấu trúc tương ứng được xây dựng từ đặc điểm của từng bài toán Mỗi con kiến nhân tạo xây dựng lời giải của chúng dựa vào luật phân phối xác suất của các vết mùi nhân tạo và các thông tin heuristic Lược đồ thuật toán ACO tổng quát

áp dụng cho bài toán tối ưu tổ hợp:

Trang 9

Procedure ACOMetaheuristic

Set parameters, initialize pheromone trails while (termination condition not met) do

ConstructAntsSolutionsApplyLocalSearch (optional)UpdatePheromones

end-while end-procedure

Như đã nhận định ở trên ACO thực chất là tìm kiếm ngẫu nhiên dựa vào thông tin heuristic kết hợp với thông tin học tăng cường So với các thuật toán heuristic cổ điển ACO mở rộng thêm quá trình học tăng cường, các con kiến tỏ

ra thích nghi hơn với môi trường dựa vào các vệt mùi tích lũy trên các cạnh đồ thị

Thuật toán Ant System (AS) là thuật toán đầu tiên trong lớp các thuật toán ACO được đề xuất bởi Dorigo trong luận án tiến sỹ của ông năm 1991 Thuật toán AS hướng đến giải quyết bài toán tìm đường đi tối ưu trong đồ thị Mặc

dù thuật toán AS vẫn còn thua kém các thuật toán tốt nhất trong việc giải quyếtbài toán trên, tuy nhiên ý tưởng của nó thực sự là mới mẻ và tỏ ra có triển vọng Về sau đã có rất nhiều cải tiến của thuật toán này do chính Dorigo đề xuất, cũng như rất nhiều các thuật toán ACO khác đều dựa trên ý tưởng của thuật toán AS song đã khắc phục được một số nhược điểm của thuật toán này

 Ant System - Dorigo Maniezzo, & Colorni (1991)

 Elitist AS - Dorigo (1992); Dorigo, Maniezzo & Colorni (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 - Bullnheimer, Hartl, & Strauss (1997, 1999)

Trang 10

 ANTS - Maniezzo (1999)

 Hyper-cube AS - Blum, Roli, & Dorigo (2001); Blum & Dorigo (2004)

1.3 Thí Nghiệm Cầu Đôi

Hành vi tìm thức ăn của các con kiến là dựa trên giao tiếp gián tiếp qua các vết mùi (chất pheromone) Khi di chuyển từ nguồn thức ăn trở về tổ các con kiến để lại mùi trên mặt đất, các con kiến có thể cảm nhận được mùi và chúng

có khuynh hướng chọn theo xác suất các con đường mà được đánh dấu tập trung nhiều mùi nhất Một số nghiên cứu để tìm hiểu hành vi của loài kiến đã được tiến hành mà một trong những thí nghiệm nổi tiếng nhất là thí nghiệm của Deneubourg và các cộng sự của ông năm 1989, thí nghiệm này là cơ sở lý thuyết đầu tiên và cũng tạo ra ý tưởng cho thuật toán ACO mà Dorigo đưa ra sau này Ông sử dụng một cầu đôi nối giữa một cái tổ của loài kiến Argentine

là I humilis với nguồn thức ăn Ông đã thực hiện thí nghiệm nhiều lần và thay đổi tỉ số r giữa độ dài của 2 nhánh cầu

Trang 11

Trong thí nghiệm đầu tiên hai nhánh cầu có chiều dài bằng nhau Khi bắt đầu các con kiến di chuyển tự dâo giữa tổ và nguồn thức ăn, người ta quan sát

tỉ lệ phần trăm các con kiến chọn các nhánh trong 2 nhánh qua thời gian Kết quả thu được như sau, cho dù giai đoạn khởi đầu các lựa chọn ngẫu nhiên xảy

ra, song cuối cùng thì các con kiến đều hầu như chỉ đi qua một nhánh Kết quảnày có thể được giải thích như sau Khi bắt đầu một lần thử không có vệt mùi nào trên cả 2 nhánh cầu, sau đó các con kiến sẽ không có cái gì đề làm căn cứ lựa chọn và chúng sẽ chọn ngẫu nhiên với cùng một xác suất bất kì nhánh nào trong 2 nhánh Còn nữa, vì các con kiến để lại mùi khi di chuyển, nên nhánh nào có số lượng lớn hơn các con kiến thì sẽ có lượng mùi để lại lớn hơn Đồng thời với lượng mùi lớn hơn thì nhánh đó cũng thu hút nhiều hơn các con kiến chọn nó Và cuối cùng các con kiến sẽ gần như chỉ kéo về một nhánh duy nhất.Quá trình trên là một quá trình nội bộ, tự vận động là một ví dụ của hành vi

tự tổ chức (self-organizing) của loài kiến Quá trình lựa chọn một đường đi duy nhất của loài kiến thể hiện hành vi mang tính tập thể của chúng dựa trên cơ

sở các tương tác cục bộ giữa các con kiến đơn lẻ trong đàn Đây cũng là một ví

dụ của loại giao tiếp stigmergy: các con kiến thay đổi hành động của chúng sử dụng giao tiếp gián tiếp bằng cách thay đổi môi trường trong khi di chuyển Thuật ngữ stigmergy được đưa ra bởi Grasse để mô tả hình thức giao tiếp gián

Trang 12

tiếp bằng cách thay đổi môi trường cái mà ông đã quan sát được trong khi nghiên cứu sự phân cấp trong xã hội của 2 loài mối.

Trong thí nghiệm thứ 2 tỉ số giữa độ dài của 2 nhánh được thay đổi, một nhánh dài gấp đôi nhánh kia Trong trường hợp này, ở phần lớn các lần thử thì sau 1 thời gian tất cả các con kiến chỉ chọn nhánh ngắn hơn Cũng như trong thí nghiệm đầu các con kiến sẽ phải lựa chọn một trong 2 nhánh để đi Khi bắt đầu thì cả 2 nhánh đối với các con kiến là như nhau và chúng sẽ chọn ngẫu nhiên Vì thế xét trung bình thì một nửa số kiến sẽ chọn nhánh ngắn và nửa cònlại chọn nhánh dài Ở thí nghiệm này ta sẽ thấy một sự khác biệt lớn so với thí nghiệm trước Vì một nhánh ngắn hơn nhánh kia do đó các con kiến chọn nhánh ngắn hơn sẽ đến nguồn thức ăn trước và chúng sẽ bắt đầu trở về tổ Tuynhiên chúng sẽ phải chọn giữa nhánh ngắn và nhánh dài, mức nồng độ mùi caohơn ở nhánh ngắn sẽ làm cho quyết định của kiến lệch về phía chúng Vì thế mùi sẽ bắt đầu tích lũy nhanh hơn trên nhánh ngắn, cuối cùng hầu hết các con kiến sẽ chọn nhánh này theo như sự tương tác giữa các con kiến được mô tả ở thí nghiệm trước

Điều thú vị quan sát được là thậm chí khi một nhánh dài gấp đôi nhánh kia thì không phải tất cả các con kiến sử dụng nhánh ngắn hơn mà có một lượng nhỏ kiến chọn nhánh dài hơn Đây là cách để kiến có thể khám phá được những con đường mới

2 Bài Toán TSP và Thuật Toán áp dụng

Bài toán Travelling Salesman Problem (TSP) là bài toán tối ưu tổ hợp kinh điển và nổi tiếng Bài toán này đóng một vai trò quan trọng trong nghiên cứu các thuật toán ACO TSP được chọn làm bài toán tối ưu tổ hợp điển hình và để

áp dụng các thuật toán ACO bởi vì nó là một bài toán NP-khó và thường nảy sinh nhiều trong các ứng dụng, dễ dàng áp dụng các thuật toán ACO Nó cũng

là một bài toán rất trực quan, dễ hiểu không như nhiều bài toán NP-khó khác

Trang 13

Các bước thực thi của thuật toán ACO trên bài toán TSP là dễ hình dung, không có nhiều khó khăn về mặt kỹ thuật Phần này ta sẽ tìm hiểu chi tiết về các thuật toán AS, MMAS thông qua việc ứng dụng nó vào giải quyết bài toán TSP và để phục vụ cho việc cài đặt trên Maple.

2.1 Bài toán TSP

Nội dung bài toán như sau: Một người chào hàng xuất phát từ thành phố của anh ta, anh ta muốn tìm một đường đi ngắn nhất đi qua tất cả các thành phốcủa khách hàng mỗi thành phố đúng một lần sau đó trở về thành phố ban đầu TSP được phát biểu vào thế kỷ 17 bởi hai nhà toán học vương quốc Anh là Sir William Rowan Hamilton và Thomas Penyngton Kirkman, và được ghi trong cuốn gsiáo trình Lý thuyết đồ thị nổi tiếng của Oxford Nó nhanh chóng trở thành bài toán khó thách thức toàn thế giới bởi độ phức tạp thuật toán tăng theohàm số mũ (trong chuyên ngành thuật toán người ta còn gọi chúng là những bài toán NP-khó) Người ta bắt đầu thử và công bố các kết quả giải bài toán này trên máy tính từ năm 1954 (49 đỉnh), cho đến năm 2004 bài toán giải được với số đỉnh lên tới 24.978, và dự báo sẽ còn tiếp tục tăng cao nữa

Bài toán TSP có thể phát biểu dưới dạng đồ thị như sau: Cho G = (N, A) là

đồ thị có hướng đầy đủ có trọng số, trong đó N là tập hợp của n = |N| nút (thành phố), A = {(i, j)| (i, j) ∈ V x V} là tập tất cả các cung của đồ thị Mỗi cung (i, j) được gán một trọng số d ij để biểu diễn khoảng cách giữa 2 thành phố i và

j Bài toán TSP trở thành bài toán tìm chu trình Hamilton có độ dài ngắn nhất

trên đồ thị G Ta cần phân biệt hai loại TSP, symmetric TSP có khoảng cách

giữa các thành phố không phụ thuộc vào hướng d ij = d ji với mọi thành phố i, j

và asymmetric TSP tồn tại ít nhất một cặp cạnh sao cho dij ≠ dji Đối với đồ thị

không đối xứng có (n-1)! đường đi chấp nhận được còn đối với đồ thị đối xứng

có (n-1)!/2 đường đi có khả năng Khi n lớn ta không thể tìm được lời giải tối

Trang 14

ưu bằng các thuật toán vét cạn, hướng đi giải quyết bài toán là tìm các lời giải xấp xỉ tối ưu bằng các thuật toán heuristic, hoặc các thuật toán tiến hóa.

Hình sau đây đưa ra 2 ví dụ về bài toán TSP, được lấy từ TSPLIB website

2.2 Thuật toán Ant System

Thuật toán Ant System (AS) như đã giới thiệu là thuật toán đầu tiên trong lớp các thuật toán ACO được đề xuất bởi Dorigo trong luận án tiến sỹ của ông năm 1991 AS và cũng như nhiều thuật toán ACO cải tiến từ AS đều chọn TSPlàm bài toán thực nghiệm đầu tiên

Phương pháp giải TSP bằng AS

Đầu tiên là xây dựng đồ thị, n đỉnh biểu diễn cho n thành phố Vệt mùi: mỗi

cạnh được (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) η ij = 1/ d ij.Trong phần lớn các thuật toán ACO cho bài toán TSP người ta đều sử dụng thông tin heuristic như trên

Có hai quá trình chính trong thuật toán AS là quá trình xây dựng lời giải và quá trình cập nhật các vệt mùi

Trang 15

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:

trong đó cường độ vệt mùi τ ij (t) và thông tin heuristic η ij ta đã giới thiệu ở trên

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

đễ rơi vào trường hợp cực tiểu địa phương

N i k là các láng giềng có thể đi của con kiến k khi nó ở đỉnh i, đó là tập các đỉnh chưa được con kiến thứ k đi qua (xác suất chọn một đỉnh nằm ngoài N i k là 0) Với luật xác suất này, thì xác suất để chọn một cạnh (i, j) tăng lên khi mà mùi τ ij và thông tin heuristic η ij tương ứng của cạnh đó tăng

Mỗi con kiến có một bộ nhớ M k chứa danh sách các thành phố mà chúng đãđến thăm theo thứ tự Nó được dùng để tính toán tập các láng giềng chưa thăm

N i ktrong công thức xác suất ở trên M kcũng cho phép các con kiến tính toán

Trang 16

quãng đường mà nó đã đi được và giúp kiến xác định được cạnh nó đi qua để cập nhật mùi.

Công thức thức bay hơi mùi:

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 tồi ở 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:

C k là độ dài của tuyến đường T k được xây dựng bởi con kiến k 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ởicác con kiến trong các vòng lặp tiếp theo của thuật toán

Trang 17

Ư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éptì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

Nhược điểm của AS

Hiệu suất của nó giảm đột ngộ 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ả Vì thế, thực tế là các nghiên cứu về ACO ngày nay tập trung vàoviệc làm thế nào để cải tiến AS

2.3 Thuật toán Max-Min Ant System

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ữ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 AS

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ì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

Trang 18

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 [τ min , τ max] 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ớ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ế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 ứ đọng, hoặc không thể cải thiện được tuyến đường đã tạo ra sau một số lượng các 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ời giả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

Sau đó cường độ mùi trên mỗi cạnh có con kiến tốt nhất đi qua được cập nhật một lượng theo công thức :

với C best hoặc là độ dài của tuyến đường tốt nhất tạ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ật toá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

Trang 19

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

Các kết quả thực nghiệm cho thấy rằng, với những bài toán TSP nhỏ thì tốt nhất là chỉ sử dụng update iteration-best Trong khi đó với những bài toán TSPlớn khoảng vài trăm đỉnh thì hiệu suất tốt nhất đạt được với việc sử dụng chú trọng đến update best-so-far

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 độ mỗi mùi 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 pij 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 τ minchọn bé Ngoài ra khi chọn τ minbé thì gần như các thông tin heuristic được tậ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 mấy Còn nếu chọn τ minlớn thì thuật toán sẽ gần với tìm kiếm ngẫu nhiên và ít phụ thuộc vào các thông tin heuristic đồng thời khả năng học tăng cường cũng giảm theo

3 Các chú ý khi áp dụng

Các chú ý sau đây làm tăng khả năng cho thuật toán ACO khi áp dụng vào các bài toán khác nhau Có nhiều vấn đề cần quan tâm khi ta áp dụng các thuật toán ACO để giải quyết một bài toán, chẳng hạn lựa chọn số lượng kiến, lựa chọn các tham số khác, xác định các vết mùi, xác định các thông tin heuristic

và sử dụng tìm kết hợp kiếm địa phương …

Ngày đăng: 10/04/2015, 01:31

HÌNH ẢNH LIÊN QUAN

Hình sau đây đưa ra 2 ví dụ về bài toán TSP, được lấy từ TSPLIB website - Tiểu luận môn LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG Tìm hiểu Ant Colony Optimization
Hình sau đây đưa ra 2 ví dụ về bài toán TSP, được lấy từ TSPLIB website (Trang 14)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w