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

Tiểu luận môn Thuật Toán và Phương Pháp Giải Quyết Vấn Đề GIẢI THUẬT TỐI ƯU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG TRONG BÀI TOÁN NGƯỜI DU LỊCH

27 775 1

Đ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 27
Dung lượng 390,29 KB

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

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINBÀI THU HOẠCH MÔN THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ ĐỀ TÀI GIẢI THUẬT TỐI ƯU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG TRONG BÀI TOÁN NGƯỜI DU LỊCH GVHD: PGS.T

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÀI THU HOẠCH MÔN THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN

ĐỀ

ĐỀ TÀI GIẢI THUẬT TỐI ƯU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG TRONG BÀI TOÁN NGƯỜI

DU LỊCH

GVHD: PGS.TS Đỗ Văn Nhơn HVTH: Võ Tấn Lực

MSSV: CH1301098

TP Hồ Chí Minh, ngày 10 tháng 10 năm 2014

Trang 3

LỜI MỞ ĐẦU

Bài toán Người du lịch, tìm đường đi ngắn nhất cho người dulịch xuất phát từ một thành phố, đi qua lần lượt tất cả các thành phốduy nhất một lần và quay về thành phố ban đầu với chi phí rẻ nhất,đượ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 giá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 giải tăng theo hàm số mũ (trong chuyên ngànhthuật giải người ta còn gọi chúng là những bài toán NP-khó) Các nhàkhoa học đã tìm rất nhiều thuật giải để cho ra kết quả của bài toánnhư thuật giải tham lam, thuật toán nhánh cận, thuật giải Heuristic,Meta-Heuristic,…

Trong nội dung đồ án này chỉ xin đề cập đến một thuật giảimetaheutistic – tối ưu hóa đàn kiến (Ant Colony System Algorithm)

và chương trình trực quan hóa các bước thực hiện của thuật giải

Tôi xin cảm ơn PGS.TS Đỗ Văn Nhơn, người đã tận tình truyềnđạt kiến thức và có những định hướng giúp tôi hoàn thành môn học

“Thuật toán & Phương pháp giải quyết vấn đề”

Mặc dù đã rất cố gắng nhưng bài thu hoạch của tôi khó tránhkhỏi thiếu sót, mong Thầy góp ý nhận xét để bài thu hoạch hoànthiện hơn

Trang 4

NỘI DUNG

I GIỚI THIỆU VỀ THUẬT GIẢI TỐI ƯU HÓA ĐÀN KIẾN 1

1.1 Giới thiệu 1

1.2 Hệ thống Ant Colony - Đàn kiến nhân tạo 3

1.3 Các sơ đồ thuật giải 7

1.3.1 Thuật giải Ant System (AS) 7

1.3.2 Thuật giải Ant Colony System (ACS) 9

1.3.3 Thuật giải Max-Min Ant System (MMAS) 11

1.3.4 Thuật giải Rank-Based Ant System (RBAS) 12

1.3.5 Thuật giải Best-Worst Ant System (BWAS) 13

II ỨNG DỤNG CỦA THUẬT GIẢI ĐÀN KIẾN TRONG GIẢI BÀI TOÁN NGƯỜI DU LỊCH 16

2.1 Nhắc lại bài toán Người du lịch 16

2.2 Mô hình hóa bài toán 16

2.3 Thiết kế thuật giải 16

III CHƯƠNG TRÌNH MINH HỌA THUẬT GIẢI TỐI ƯU HÓA ĐÀN KIẾN 18 IV TÀI LIỆU THAM KHẢO 19

Trang 5

I GIỚI THIỆU VỀ THUẬT GIẢI TỐI ƯU HÓA ĐÀN

KIẾN

1.1 Giới thiệu

Vào đầu thập niên 90, một thuật giải với tên gọi Tối ưu đànkiến (Ant Colony Optimization – ACO) được đề xuất như là mộtphương pháp mới trong việc tìm kiếm lời giải tối ưu cho những bàitoán tìm kiếm tối ưu ACO lần đầu tiên được ứng dụng để giải quyếtbài toán người du lịch (TSP) và gần đây nó đã được mở rộng và cảitiến để áp dụng cho nhiều bài toán khác nhau

Giải thuật ACO đã thu hút được rất nhiều sự chú ý nhờ vào khảnăng tối ưu của nó trong nhiều lĩnh vực khác nhau Thuật giải lấycảm hứng từ việc quan sát hành vi của đàn kiến trong quá trình tìmkiếm nguồn thức ăn Người ta đã khám phá ra rằng, đàn kiến luôntìm được đường đi ngắn nhất từ tổ của chúng đến nguồn thức ăn.Phương tiện truyền đạt tín hiệu được kiến sử dụng để thông báo đếncho những con khác trong việc tìm đường đi hiệu quả nhất chính làmùi của chúng (pheromone) Kiến để lại vệt mùi trên mặt đất khichúng di chuyển với mục đích đánh dấu đường đi cho các con theosau Vệt mùi này sẽ bay hơi dần và mất đi theo thời gian, nhưng nócũng có thể được củng cố nếu những con kiến khác tiếp tục đi trêncon đường đó lần nữa Dần dần, các con kiến theo sau sẽ lựa chọnđường đi với lượng mùi dày đặc hơn, và chúng sẽ làm gia tăng nồng

độ mùi hơn nữa trên những đường đi nhiều Các đường đi với nồng

độ mùi ít hơn sẽ bị loại bỏ và cuối cùng, tất cả đàn kiến sẽ cùng kéo

về một đường đi có khuynh hướng trở thành đường đi ngắn nhất từ

tổ đến nguồn thức ăn của chúng

Trang 6

Hình 1.1: Luồng đi của đàn kiến thực tế

a) Đường đi từ tổ đến nguồn thức ăn

b) Khi có vật cản kiến sẽ chọn 2 đường đi

c) Đường đi ngắn hơn thì sẽ có nhiều mùi hơn

Hình 1.2 bên dưới giải thích tình huống bầy kiến trong hình 1.1b) như sau

A

B

C D

10

t = 1

Hình 1.2: Sơ đồ giải thích tình huống bầy

Giả sử khoảng cách DF=BF=DB qua C và = 1, C là điểm nằmgiữa B và D(hình 1.2 a) Bây giờ chúng ta xem xét điều gì xảy ra tạinhững khoảng thời gian rời rạc: t=0, 1, 2… Giả định rằng 30 con kiếnmới đi từ A đến B, 30 con từ E đến D, mỗi kiến di chuyển với tốc độmột đơn vị thời gian và khi di chuyển kiến để tại thời điểm t một vệtpheromone với nồng độ là 1 Để đơn giản chúng ta xét lượng

Trang 7

pheromone bay hơi hoàn toàn và liên tục trong khoảng thời gian(t+1, t+2).

Tại thời điểm t=0, thì không có vệt mùi nào trên cạnh và có 30kiến ở B, 30 ở D Việc lựa chọn đường đi của chúng ta ngẫu nhiên do

đó, trung bình từ mỗi nút có 15 con kiến sẽ đi đến F và 15 con sẽ điđến C (hình 1.2 b)

Tại thời điểm t=1, 30 con kiến mới đi từ A đến B, lúc này nó sẽchọn hướng đến C hoặc hướng đến F Tại hướng đến F có vệt mùi 15

do 15 con kiến đi từ B đến F, tại hướng đến C có vệt mùi 30 do 15kiến đi từ B đến D và 15 con đi từ D đến B thông qua C (hình 1.2 c)

Do đó khả năng kiến hướng đến chọn đường đến C, do đó số kiếnmong muốn đi đến C sẽ gấp đôi số kiến đi đến F (20 con đến C và 10con đến F) Tương tự như vậy cho 30 con kiến mới đi từ D đến B

Quá trình sẽ liên tục cho đến khi tất cả kiến sẽ chọn đường đingắn nhất

Sơ đồ chung của thuật giải bầy kiến

Trong đó:

giải ở trạng thái kết thúc Với bài toán người du lịch thì ĐK dừng làđiều kiện đạt được khi số vòng lặp của thuật giải = số vòng lặp lớnnhất do người dùng tự định nghĩa hoặc là tất cả đàn kiến đều đi theomột đường (tức là đường đi ngắn nhất)

phương pháp siêu tìm kiếm(meta-heuristic), với bài toán người dulịch thì đó là hàm xây dựng chu trình cho mỗi kiến

Trang 8

Hình 1.3: Sơ đồ chung của thuật giải bầy kiến

1.2 Hệ thống Ant Colony - Đàn kiến nhân tạo

Để bắt chước hành vi của các con kiến thực, Dorigo xây dựngcác con kiến nhân tạo cũng có đặc trưng sản sinh ra vết mùi để lạitrên đường đi và khả năng lần vết theo nồng độ mùi để lựa chọn conđường có nồng độ mùi cao hơn để đi Gắn với mỗi cạnh (i,j) nồng độ

Ban đầu, nồng độ mùi trên mỗi cạnh (i,j) được khởi tạo bằngmột hằng số c, hoặc được xác định theo công thức:

τ ij=τ0= m

C nn , ∀ (i, j) (1)Trong đó:

Trang 9

τ ij: nồng độ vết mùi trên cạnh i,j

Trong đó:

con kiến khi quyết định đi từ đỉnh i đến j; được xác định theocông thức:

Quy luật này mô phỏng hoạt động của một vòng quay xổ sốnên được gọi là kỹ thuật bánh xe xổ số

ngẫu nhiên Con kiến k ở đỉnh i sẽ lựa chọn đỉnh j kế tiếp để đi theomột quy tắc lựa chọn được mô tả bởi công thức sau:

không thay đổi trong khoảng [0,1]

0 ' ' q0' ' 1: là một hằng số cho trước

xác suất cho bởi quy luật phân bố xác suất theo công thức (2)Sau khi cũng như trong quá trình các con kiến tìm đường đi,

đổi do quá trình bay hơi cũng như quá trình tích lũy mùi khi các conkiến đi trên cạnh đó

Sau mỗi vòng lập, vết mùi trên mỗi cạnh được cập nhật lạitheo công thức sau:

Trang 10

0<q ' ' 1: Tỷ lệ bay hơi của vệt mùi

o f (k ): giá trị mục tiêu trong mỗi vòng lặp

Qua thực nghiệm trên cho thấy rõ ràng có khả năng xây dựngđược tối ưu hóa đàn kiến: Thông tin để tìm ra con đường ngắn nhấtgiữa 2 điểm có thể dữa vào quy tắc xác xuất Có 2 khía cạnh bấtđồng quan trọng sau:

không phải những hành vi ứng xử tuân theo biến thiên ngẫu nhiêncủa đàn kiến là duy nhất

trước đó mô hình xét trong một thời gian liên tục

Mã giả cho thuật giải Ant Colony

Đối với thuật giải ACO, sự hội tụ được đảm bảo tuy nhiên tốc

độ và thời gian thì không biết trước, thường sử dụng để giải quyếtcác vấn đề tối thiểu về giá thành

Thường các bài toán trước khi được giải bằng thuật toán ACOphải được biến đổi đưa về dạng đồ thị đầy đủ có trọng số Bao gồmcác nút và các cung không định hướng Sau khi đi biến đổi bài toán

về dạng phù hợp mới áp dụng thuật toán ACO để giải Trên đồ thịnày các con kiến sẽ đi xây dựng các lời giải cho bài toán

Procedure AntColonyAlgorithm

Khởi tạo các thông tin Pheromone cho các đường đi

Do while (Chưa thỏa mãn điều kiện dừng)

Do until (Mỗi Ant hoàn thành một đường đi)

Cập nhật thông tin pheromone cục bộ (Local trail update)

End Do

Phân tích các lời giải thu được (Analyze solution)

Cập nhật thông tin pheromone toàn cục (Global trail update)

End Do

End Procedure

Trang 11

Sau đây là mô hình cụ thể hơn về thuật giải ACO Mô tả vềthuật giải ACO với việc thực hiện song song hoạt động của các conkiến.

Procedure ACO_Metaheuristic

parameter_initialization

while (termination_criterion_not_satisfied) schedule_activities

ants_generation_and_activity ()

pheromone_evaporation ( ) daemon_actions ( ){optional}

end schedule_activities end while

end Procedure

Procedure ants_generation_and_activity ( )

repeat in parallel for k=1 to m

(number_of_ants) new_ant (k)

end repeat in parallel

Trang 12

chính, cơ bản của giải thuật Thủ tục này công việc chính gồm: Tạo

và khởi tạo các thông số cho đàn kiến Với mỗi con kiến trong đàn sẽtiến hành xây dựng một lời giải cho bài toán khi chưa thỏa mãn điềukiện dừng

Ngoài ra có hai thủ tục phụ thêm vào là:

Pheromone_evaporation(): Là tác động của môi trường để

làm giảm thông tin pheromone theo thời gian Thủ tục này để tránh

bế tắc trong tìm kiếm và cho phép đàn kiến mở rộng không gian tìmkiếm

Daemon_action(): Là thủ tục hỗ trợ thêm và không gặp trong

thực tế (không có ở đàn kiến tự nhiên) Là một thủ tục để điều chỉnhcác thông số khi cần thiết làm tăng tính hiệu quả của thuật giải Vídụ: Thủ tục tìm kiếm cục bộ, thủ tục khởi tạo lại các thông tinpheromone khi gặp bế tắc trong tìm kiếm

1.3 Các sơ đồ thuật giải

Nhiều thuật giải đã được đưa ra dựa trên mô hình thuật giảimetaheuristic ACO Trong các mô hình đưa ra để giải quyết các bài

Trang 13

mô hình thuật giải ACO cụ thể được trình bày bên trên Theo cácnghiên cứu cho thấy khi sử dụng thuật giải bầy kiến nói chung cácthông tin pheromone và heuristic có thể áp dụng cho các nút hoặccạnh nối Trong các thuật giải đưa ra sau đây thì thông tinpheromone và heuristic chỉ gắn với các cạnh mà thôi Phần này chỉđưa ra 5 mô hình thuật giải ACO phát triển từ hệ thống Ant System.Nhưng đó chỉ là một số các dạng tiêu biểu của thuật giải ACO, còntồn tại rất nhiều các biến thể khác.

1.3.1 Thuật giải Ant System (AS)

Được phát triển bởi Dorigo, Maniezzo và Colorni năm 1991, làthuật giải ACO đầu tiên Ban đầu có 3 biến thể khác nhau là: AS-Density, AS-Quantity và AS-Cycle khác nhau bởi cách thức cập nhậtthông tin Pheromone

Trong đó:

trình xây dựng lời giải (online step-by-step pheromone update),lượng pheromone để cập nhật là một hằng số

trình xây dựng lời giải (online step-by-step pheromone update),lượng pheromone để cập nhật là phụ thuộc vào độ mong muốn(thông tin heuristic) với đoạn đường đi qua ηij.ij

đã hoàn thành (online delayed pheromone update) Đây là mô hìnhcho kết quả tốt nhất và được coi như là thuật giải AS

Như vậy theo mô hình của AS-cycle thì pheromone sẽ cập nhậtkhi tất cả con kiến hoàn thành lời giải của mình.Việc cập nhậtpheromone được tiến hành như sau:

bởi một hằng số (pheromone evaporation)

τ ij ←(1− p)τ rs

thông tin pheromone, lượng pheromone này là hàm của chất lượnglời giải mà con kiến xây dựng

Trang 14

chất lượng của lời giải Còn phương trình để xác định nút tiếp theotrong quá trình xây dựng lời giải của con kiến như sau:

Thuật giải này được tóm tắt như sau:

Procedure new_ant (ant_id)

the pheromone_evaporation ( ) proceduretriggers and

evaporates pheromone in every edge

1.3.2 Thuật giải Ant Colony System (ACS)

Phát triển từ thuật giải AS với một số cải thiện như sau:

Trang 15

Sử dụng một luật khác cho việc di chuyển, gọi là

là trong khoảng (0,1) Nút s tiếp theo được chọn để di chuyển kiến ktới được chọn như sau:

τ rs ←(1−p ) τ rs ∀ a rs ∈ S global−best

τ rs ← τ rs+p f (C(S global−best))∀ a rs ∈ S global−best

τ rs ←(1−φ) τ rs+φ τ0

pheromone)

Thuật giải được tóm tắt như sau:

Procedure new_ant (ant_id)

while (current-state target_state)

for each s ∈ N k(r) do compute b rsrs μ rs β

q = generate_random_value_in_[0, 1]

If (q ≤ q0)

else

Trang 16

for each S k do local_search (S k) {optional}

S current −best=¿ best_solution (S k)

if (better (S current −best , S global−best))

S global−best=S current −best

end if for each edge a rs ∈ S global−best do

{ the pheromone_evaporation ( ) proceduretriggers and

Trang 17

1.3.3 Thuật giải Max-Min Ant System (MMAS)

Được phát triển bởi Stutzle và Hooss vào năm 1996, được mởrộng lên từ hệ thống AS Một số đặc điểm được mở rộng từ hệ thống

AS như sau

update, tức là sau khi toàn bộ kiến trong đàn hoàn thành lời giải thìviệc cập nhật được tiến hành cho lời giải tối ưu Đầu tiên thực hiệnbay hơi bớt thông tin pheromone (pheromone evaporation) trên tất

thông số Pheromone giá trị cận trên để ưu tiên việc khai phá không

Pheromone có thể đạt được ở vòng lặp cuối cùng

τ max=1 /¿

Trong đó S là lời giải tối ưu, bởi vì lời giải tối ưu không biết

bởi vì khi đó xác suất để chọn đường đi có mức độ Pheromone thấp

là quá nhỏ Mặt khác nếu chọn tỉ lệ này quá lớn thì xác suất chọnđường đi co Pheromone cao là gần với xác suất chọn đường đi cómức độ Pheromone thấp

cường việc khai phá không gian tìm kiếm Một chú ý trong hệ thốngMMAS là khi xảy ra hội tụ cục bộ thì có cơ chế khởi tạo lại thông tin

Hàm cập nhật Daemon action của thuật giải MMAS như sau:

Trang 18

Procedure daemon_actions

for each S k do local_search (S k)

S current −best best_solution (S k)

if (best (S current −best,S global−best))

S global−best =S current −best

end if

S best = decision (S global−best,S current −best)

for each edge τ rs ∈ S best do

τ rsrs+f(C(S best) )

if (τ rs<τ min)

τ rsmin

end for end for

if (stagnation_condition)

for each edge a rs do rs max

end if

end Procedure

1.3.4 Thuật giải Rank-Based Ant System (RBAS)

Đây cũng là một thuật giải được mở rộng phát triển từ hệthống AS đưa ra bởi Bullnheimer, Hartl và Strauss vào năm 1997.Thuật giải này đưa vào ý tưởng xếp hạng cho các lời giải khi thựchiện cập nhật pheromone Cụ thể như sau:

kiến có lời giải tốt nhất Lượng pheromone cũng phụ thuộc trực tiếpvào thứ hạng sắp xếp của con kiến

lượng pheromone phụ thuộc vào chất lượng lời giải

Các công thức như sau:

τ rs ← τ rs+σ ∆ τ rs gb+∆ τ rs rank

Trang 19

for each S k do local_search (S k) {optional}

into S '1, … , S ' m

if (best (S '1, S global−best))

S global−best = S '1

end if for μ=1 to σ −1 do

for each edge τ rs ∈ S ' μ do

τ rsrs+(σ −μ) f(C(S ' μ) )

end for end for

for each edge τ rs ∈ S global−best do

τ rsrs+σf (C(S global−best))

end for

end Procedure

1.3.5 Thuật giải Best-Worst Ant System (BWAS)

Thuật giải được đưa ra bởi Cordon vào năm 1999 Thuật giảinày bao gồm một thuật giải mở rộng khác của AS là MMAS (về luật

di chuyển và việc bay hơi của pheromone) Bên cạnh đó trong thuậtgiải này còn quan tâm tới của việc tối ưu cục bộ một cách hệ thống

để nâng cao chất lượng lời giải của con kiến Trong thuật giải BWAS

có 3 daemon action thêm vào gồm có:

update để tăng cường pheromone trên các đoạn đường đi qua bởi lời

Ngày đăng: 23/05/2015, 21:04

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Luồng đi của đàn kiến thực tế - Tiểu luận môn Thuật Toán và Phương Pháp Giải Quyết Vấn Đề GIẢI THUẬT TỐI ƯU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG TRONG BÀI TOÁN NGƯỜI DU LỊCH
Hình 1.1 Luồng đi của đàn kiến thực tế (Trang 6)
Hình 1.2 bên dưới giải thích tình huống bầy kiến trong hình 1.1 b) như sau - Tiểu luận môn Thuật Toán và Phương Pháp Giải Quyết Vấn Đề GIẢI THUẬT TỐI ƯU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG TRONG BÀI TOÁN NGƯỜI DU LỊCH
Hình 1.2 bên dưới giải thích tình huống bầy kiến trong hình 1.1 b) như sau (Trang 6)
Hình 1.3: Sơ đồ chung của thuật giải bầy kiến - Tiểu luận môn Thuật Toán và Phương Pháp Giải Quyết Vấn Đề GIẢI THUẬT TỐI ƯU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG TRONG BÀI TOÁN NGƯỜI DU LỊCH
Hình 1.3 Sơ đồ chung của thuật giải bầy kiến (Trang 8)
Hình 2.2: Sơ đồ thuật giải ACO cho bài toán TSP - Tiểu luận môn Thuật Toán và Phương Pháp Giải Quyết Vấn Đề GIẢI THUẬT TỐI ƯU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG TRONG BÀI TOÁN NGƯỜI DU LỊCH
Hình 2.2 Sơ đồ thuật giải ACO cho bài toán TSP (Trang 23)
Hình 3.1. Thử nghiệm chương trình với thành phố Qatar có 20 điểm - Tiểu luận môn Thuật Toán và Phương Pháp Giải Quyết Vấn Đề GIẢI THUẬT TỐI ƯU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG TRONG BÀI TOÁN NGƯỜI DU LỊCH
Hình 3.1. Thử nghiệm chương trình với thành phố Qatar có 20 điểm (Trang 26)
Hình 3.2. Thử nghiệm chương trình với đất nước Uruguay với 734 - Tiểu luận môn Thuật Toán và Phương Pháp Giải Quyết Vấn Đề GIẢI THUẬT TỐI ƯU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG TRONG BÀI TOÁN NGƯỜI DU LỊCH
Hình 3.2. Thử nghiệm chương trình với đất nước Uruguay với 734 (Trang 26)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w