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

Thuật toán Aco và ứng dụng

63 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 63
Dung lượng 890,69 KB

Nội dung

Các con kiến có thể ngửi mùi pheromones, chúng có xu hướng sẽ lựa chọn đường đi theo xác suất, đường đi này sẽ được đánh dấu dựa trên hướng đi nơi có nồng độ chất pheromones cao.. Bởi v

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGUYỄN QUANG THỌ

THUẬT TOÁN ACO VÀ ỨNG DỤNG

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

Thái Nguyên - 2013

Trang 2

MỤC LỤC

TRANG PHỤ BÌA

LỜI CẢM ƠN

MỤC LỤC i

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ii

PHẦN MỞ ĐẦU 1

Chương 1 - Giới thiệu hệ thống đàn kiến 2

1.1 Tìm hiểu hệ thống đàn kiến 2

1.2 Mô phỏng hành vi thực tế của đàn kiến trong tự nhiên 3

1.2.1 Mô tả hành vi đàn kiến trong tự nhiên 3

1.2.2 Thí nghiệm chiếc cầu đôi 4

1.2.3 Mô hình ngẫu nhiên 8

1.3 Phương pháp tìm đường đi theo mô phỏng hành vi đàn kiến 10

1.3.1 Đàn kiến nhân tạo 10

1.3.2 Kiến nhân tạo và chi phí tối thiểu trên đường đi 12

1.3.3 Sự bay hơi của phenomones 15

1.4 Một số ứng dụng của thuật toán ACO 15

1.4.1 Giải thuật ACO giải bài toán TSP 16

1.4.2 Bài toán lập lịch sản xuất trên một máy đơn (SMTWTP) 17

1.4.3 Bài toán lập lịch tổng quát (GAP) 18

1.4.4 Bài toán phủ tập hợp (SCP) 20

1.4.5 Bài toán định tuyến mạng 21

1.5 Tổng kết chương 1 23

Trang 3

Chương 2 - Một số thuật toán tối ưu đàn kiến 24

2.1 Thuật toán AS 24

2.2 Thuật toán MMAS 28

2.3 Thuật toán ACS 31

2.4 Tổng kết chương 2 35

Chương 3 - Ứng dụng thuật toán ACO giải bài toán TSP 36

3.1 Bài toán TSP 36

3.2 Thuật toán ACO giải bài toán TSP 37

3.2.1 Các bước của thuật toán ACO giải bài toán TSP 37

3.2.2 Thuật toán ACO giải bài toán TSP 38

3.3 Xây dựng chương trình Demo áp dụng thuật toán ACO giải bài TSP 43

3.3.1 Xây dựng cấu trúc dữ liệu 43

3.3.2 Một số thủ tục chính 45

3.3.3 Chương trình Demo 47

3.4 Tổng kết chương 3 50

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51

TÀI LIỆU THAM KHẢO 53

PHỤ LỤC 54

Trang 4

PHẦN MỞ ĐẦU

Thuật toán mô phỏng theo cách thức tìm đường của loài kiến dựa trên mật độ một loại chất hóa học (gọi là mùi) do kiến tạo ra trên đường đi đã được một số nhà khoa học nghiên cứu, thí nghiệm điển hình và cho kết quả vượt trội là thí nghiệm được xây dựng bởi Deneubourg và các đồng nghiệp của ông vào năm 1989

Trên cơ sở kết quả nghiên cứu này, nhiều nhà khoa học đã đi sâu nghiên cứu nhiều các hệ kiến khác nhau Năm 1996, nhà khoa học người Bỉ Marco Dorigo đã xây dựng thuật toán đàn kiến (Ant Algorithm) đầu tiên ứng dụng vào giải bài toán người du lịch trong luận án tiến sĩ của mình

Hiện nay, các thuật toán kiến đã được ứng dụng vào thực tế ở nhiều lĩnh vực khác nhau như: Áp dụng vào việc kinh doanh của một số hãng vận tài lớn tại Mỹ, ứng dụng trong ngành bưu chính tại Đan Mạch, tìm kiếm thông tin trên mạng internet, v.v

Trong khuôn khổ đề tài này, em sẽ tìm hiểu về thuật toán tối ưu hóa đàn kiến ACO (Ant Colony Optimization) với tên đề tài: “Thuật toán ACO và

ứng dụng”

Trang 5

CHƯƠNG 1 GIỚI THIỆU HỆ THỐNG ĐÀN KIẾN

1.1 Tìm hiểu hệ thống đàn kiến

Các công trình nghiên cứu về hệ thống đàn kiến (Ant System) đã thu được các kết quả thiết thực từ việc quan sát hành vi thực tế của loài kiến, quan sát các mô hình giả lập đàn kiến nhân tạo Các nhà khoa học đã sử dụng các

mô hình này như là một nguồn cảm hứng cho việc thiết kế các thuật toán, đưa

ra giải pháp tối ưu hóa và phân phối kiểm soát các vấn đề trong thực tế

Tối ưu hóa đàn kiến ACO (Ant Colony Optimization) lần đầu tiên được Marco Dorigo giới thiệu vào năm 1992, còn được gọi là Hệ thống đàn kiến

AS (Ant System) AS ban đầu được áp dụng cho bài toán người bán hàng (TSP) [4], [9], [10]

Kể từ năm 1995 Dorigo, Gambardella và Stützle đã phát triển các sơ đồ

AS khác nhau Dorigo và Gambardella đã đề xuất Hệ thống bầy kiến - Ant Colony System (ACS) trong khi Stützle và Hoos đề xuất Max-Min Ant System (MMAS) MMAS là một hệ thống cải tiến hệ thống AS ban đầu và được đánh giá là hệ thống tính toán trong tương lai [4], [8], [9] Tất cả đều áp dụng giải bài toán người bán hàng đối xứng hay không đối xứng và cho kết quả tối ưu

Năm 1996, trong bài báo công nghệ của mình M Dorigo và L.M Gambardella đã công bố hệ thống Ant Conoly System Đây là hệ thống đề cập đến cách học phối hợp áp dụng cho bài toán TSP [1], [4], [10]

Sau đó, vào năm 1997, G Di Caro và M Dorigo đã đề xuất hệ thống AntNet Đây là cách tiếp cận về định hướng sự thích nghi Và phiên bản cuối cùng của hệ thống AntNet về điều khiển mạng truyền thông đã được công bố vào năm 1998 [4]

Trang 6

Vào năm 2001, C Blum, A Roli, và M Dorigo đã cho công bố về hệ thống đàn kiến mới là Hyper Cube - ACO Phiên bản mở rộng tiếp đó đã được công bố vào năm 2004 [4], [6], [9]

Hầu hết các nghiên cứu gần đây về ACO tập trung vào việc phát triển các thuật toán biến thể để làm tăng hiệu năng tính toán của thuật toán Ant System ban đầu để ứng dụng ngày càng nhiều vào các lĩnh vực cụ thể

1.2 Mô phỏng hành vi thực tế của đàn kiến trong tự nhiên

1.2.1 Mô tả hành vi đàn kiến trong tự nhiên

Trong tự nhiên, từ sự cảm nhận một cách trực quan thì loài kiến được xem như là mù hoàn toàn và hành động của chúng mang tính chất mò mẫm Một kết quả nghiên cứu hết sức quan trọng sớm được công nhận là mọi hành

vi của đàn kiến như: quá trình trao đổi thông tin giữa các con kiến với nhau hoặc giữa các con kiến với môi trường bên ngoài đều dựa trên việc sử dụng một chất được chính mỗi con kiến tạo ra Hóa chất có mùi này được gọi là Pheromones [1], [4], [6]

Theo phản xạ tự nhiên, trong quá trình di chuyển các con kiến đi đến đâu sẽ tự động xịt chất có mùi pheromones ra đến đó Tại mỗi vị trí di chuyển, một con kiến sẽ quyết định lựa chọn hướng đi dựa trên nồng độ chất pheromones của hướng đó, ưu tiên lựa chọn hướng có nồng độ chất pheromones cao hơn Trong trường hợp tại vị trí mà nống độ chất pheromones bằng nhau hoặc nồng độ chất pheromones là không có thì con kiến sẽ quyết định lựa chọn hướng đi một cách ngẫu nhiên Cứ như thế, các con kiến sẽ đi theo dấu chân của nhau và tạo nên một con đường đi của cả đàn kiến mà chúng ta thường quan sát thấy trong tự nhiên

Các lĩnh vực nghiên cứu về “Thuật toán đàn kiến” đều dựa trên việc quan sát hành vi thực tế của đàn kiến, sau đó sẽ sử dụng có mô hình như một nguồn cảm hứng, làm nền tảng để xây dựng nên các thuật toán mới để giải

Trang 7

quyết các vấn đề về tối ưu hóa cũng như các vấn đề về điểu khiển, xử lý phân

tán

1.2.2 Thí nghiệm chiếc cầu đôi

Hành vi đi kiếm ăn của đàn kiến được quan sát cụ thể trong thực tế; ví

dụ một số loài kiến thợ (nghiên cứu của Goss - năm 1989), kiến Linepithema

Argentina, kiến Lasius Germani (nghiên cứu của Bonabeau - năm 1990) đều

cho rằng quá trình giao tiếp, trao đổi thông tin của kiến đều dựa trên một yếu

tố trung gian đó là nồng độ pheromones [4], [6]

Trong quá trình di chuyển từ tổ đến nguồn thức ăn và ngược lại, chúng

đã lưu lại dấu tích của nồng độ pheromones trên đường đi, từ đó hình thành

nên một “vết mùi pheromones” Các con kiến có thể ngửi mùi pheromones,

chúng có xu hướng sẽ lựa chọn đường đi theo xác suất, đường đi này sẽ được

đánh dấu dựa trên hướng đi nơi có nồng độ chất pheromones cao

Sự gửi vết mùi pheromone mô phỏng hành vi của một số loài kiến đã

được kiểm tra trong các thử nghiệm của một số nhà nghiên cứu Một trong

những thí nghiệm nổi bật nhất là thí nghiệm chiếc cầu đôi được thiết kế bởi

Deneubourg và các đồng nghiệp [4] Họ tiến hành xây dựng một cây cầu kết

nối tổ của đàn kiến với nguồn thức ăn của chúng Các nhà khoa học đã thử

nghiệm với các tỉ lệ r = l l / l s giữa độ dài hai nhánh của cây cầu (trong đó l l

độ dài của nhánh dài và l s là độ dài của nhánh ngắn hơn)

Trong lần thử nghiệm thứ nhất, tỉ lệ độ dài hai nhánh của cây cầu là

r = 1 (l l = l s ) (Hình 1.1a) Ban đầu, thì các con kiến được lựa chọn đường đi từ

tổ đến nguồn thức ăn và ngược lại một cách ngẫu nhiên và với cùng một xác

suất Việc lựa chọn một trong hai nhánh của cây cầu được quan sát cẩn thận

theo thời gian Kết quả là: mặc dù khi khởi hành các con kiến lựa chọn đường

đi một cách ngẫu nhiên Sau đó theo thời gian, tất cả các con kiến đều sử dụng

chung một nhánh của cây cầu

Trang 8

Hình 1.1 Thí nghiệm chiếc cầu đôi (a) Hai nhánh có kích thước bằng nhau,

(b) Một nhánh có kích thước gấp đôi nhánh kia

Kết quả này được giải thích như sau:

Khi khởi hành, trên 2 nhánh của cây cầu đều chưa có pheromones Do

đó, các con kiến có thể chọn một trong các nhánh với cùng một xác suất Tuy nhiên, do sự lựa chọn là ngẫu nhiên lên sau một thời gian số lượng kiến đi trên những các nhánh sẽ khác nhau Bởi vì loài kiến sẽ gửi chất pheromones trong khi di chuyển, dần dần số lượng pheromones trên những nhánh cũng sẽ khác nhau theo thời gian, điều này càng kích thích thêm đàn kiến sẽ lựa chọn nhánh có nồng độ chất pheromones cao hơn, và như vậy đến một thời gian nào đó tất cả các con kiến sẽ hội tụ về cùng một nhánh

Quá trình này được gọi là “tự xúc tác” hay “phản hồi tích cực” Trong thực tế, một ví dụ về tính tự tổ chức hành vi của đàn kiến: mô hình vĩ mô (tương ứng với sự hội tụ về một nhánh) được xây dựng từ các tiến trình và sự tham gia tương tác ở nơi được gọi là mức độ “hiển vi” (theo định nghĩa của Camazine, Deneubourg và các đồng nghiệp) Trong trường hợp của chúng ta, các con kiến cùng hội tụ về một nhánh thể hiện ở mức hành vi mang tính tập thể của bầy đàn, điều đó có thể được giải thích bởi hoạt động mang tính hiển

vi của loài kiến, hoặc bởi quá trình tương tác cục bộ giữa các cá thể trong một đàn kiến Đó cũng là một ví dụ về quá trình truyền thông tin một cách gián

Trang 9

tiếp thông qua sự tương tác với môi trường (stigmergy communication), các

con kiến phối hợp các hoạt động của chúng, khai thác thông tin liên lạc một cách gián tiếp qua trung gian bằng những thay đổi của môi trường mà chúng

di chuyển trong đó

Trong thí nghiệm thứ hai, tỷ lệ về độ dài giữa hai nhánh của cây cầu được thiết lập là r = 2, do đó chiều đường đi của nhánh dài sẽ gấp 2 lần so với

nhánh ngắn (Hình 1.1b) Trong trường hợp này, ở hầu hết các thử nghiệm thì

sau một khoảng thời gian thì tất cả các con kiến chỉ lựa chọn đường đi ở nhánh ngắn hơn Trong thí nghiệm thứ hai, các các kiến rời khỏi tổ để khám phá môi trường xung quanh và đến một điểm quyết định, tại đó chúng phải lựa chọn một trong hai nhánh Vì lý do ban đầu hai nhánh của cây cầu đều xuất hiện như nhau trước lũ kiến nên chúng sẽ lựa chọn một cách ngẫu nhiên

Vì thế, có thế dự kiến rằng, trung bình thì một nửa số kiến sẽ chọn nhánh ngắn và nửa còn lại sẽ chọn nhánh dài, mặc dù các dao động ngẫu nhiên đôi khi có thể ưu tiên chọn một nhánh này hoặc nhánh khác

Tuy nhiên, thí nghiệm này được thiết lập để trình bày một sự khác biệt đáng chú ý đối với thí nghiệm trước đó: bởi vì với một nhánh có chiều dài ngắn hơn nhánh còn lại thì các con kiến sẽ chọn nhánh ngắn đầu tiên để có thể đạt đến nguồn thức ăn và cũng là nhánh để bắt đầu quá trình quay ngược về

tổ Nhưng sau đó, khi chúng phải đưa ra quyết định lựa chọn giữa nhánh ngắn

và nhánh dài, khi đó thì nồng độ chất pheromones ở nhánh nào cao hơn sẽ được ưu tiên lựa chọn làm quyết định của chúng Vì thế, nồng độ chất pheromones sẽ được tích lũy ngày càng cao ở nhánh ngắn, và điều này sẽ được rút kinh nghiệm đối với các con kiến đi sau do quá trình “tự xúc tác” đã được mô tả phía trên

Quá trình trao đổi thông tin gián tiếp qua sự biến đổi của môi trường, quá trình “tự xúc tác” và độ dài của con đường chính là nhân tố chính của việc lựa chọn đường Điều thú vị có thể quan sát được như sau: ngay cả khi

Trang 10

nhánh dài gấp đôi nhánh ngắn thì không phải tất cả các con kiến đều chọn nhánh ngắn, mà một tỷ lệ nhỏ con kiến trong số chúng vẫn lựa chọn đường đi

ở nhánh dài hơn Trường hợp này có thể được diễn giải như là một loại “con đường khám phá” [4]

Khi đàn kiến hội tụ về một nhánh và xây dựng được một kết nối giữa tổ kiến và nguồn thức ăn Chúng ta quan sát hiện tượng thú vị trong một thí nghiệm mở rộng: khi khởi đầu chỉ có nhánh dài được đưa vào phạm vi đàn

kiến di chuyển qua; sau 30 phút thì một nhánh ngắn hơn được thêm vào (Hình 1.2) Trong trường hợp này thì nhánh ngắn không được lựa chọn thường

xuyên và đàn kiến hiện đang mắc trên nhánh dài Điều này có thể được giải thích bởi nồng độ chất pheromones ở nhánh dài cao và làm chậm tốc độ bay hơi của chất pheromones Thực tế, đa số các con kiến đều chọn nhánh dài vì tại nhánh này nồng độ pheromones cao, và hành vi “tự xúc tác” của chúng tiếp tục được củng cố trên nhánh dài, ngay cả khi có sự xuất hiện của nhánh ngắn

Quá trình bốc hơi của pheromones rất có lợi cho quá trình thăm dò, khám phá ra những con đường mới, tuy nhiên quá trình bốc hơi này diễn ra khá chậm: thời gian tồn tại của pheromones được so sánh với thời gian tiến hành cuộc thử nghiệm, có nghĩa là chất pheromones bốc hơi quá chậm để cho các con kiến có thể “quên” đi con đường không tối ưu mà chúng đã hội tụ để

có thể khám phá ra con đường mới ngắn hơn và có thể “học được”

Trang 11

(a) (b)

Hình 1.2 Thí nghiệm chiếc cầu đôi mở rộng

Khi khởi tạo thí nghiệm, chiếc cầu chỉ có 1 nhành dài (a)

Sau 30 phút, một tình huống mới xuất hiện, một nhánh ngắn hơn được nối vào

trên chiếc cầu (b)

1.2.3 Mô hình ngẫu nhiên

Deneubourg và các cộng sự của ông (Deneubourg et al, 1990; Goss et

al, 1989) đã đề xuất một mô hình ngẫu nhiên đơn giản và hết sức đầy đủ mô

tả sự năng động của đàn kiến như đã quan sát được trong thí nghiệm chiếc cầu đôi [1] [4], [6] Điều này thể hiện được vấn đề là đàn kiến luôn tìm cách tối

ưu hành vi của chúng trong quá trình di chuyển từ tổ đến nguồn thức ăn và ngược lại

Trong mô hình này, cần xác định:

+ là số lượng kiến bò qua chiếc cầu tại mỗi hướng với một tốc

độ không đổi là v (cm/s), và chúng gửi lại một lượng chất

pheromones trên nhánh đó

+ Chiều dài của nhánh ngắn là l s (cm)

+ Chiều dài nhánh dài là l l (cm)

ăn

ăn Sau 30 phút

Trang 12

Khi đó, nếu một con kiến chọn nhánh ngắn hơn để đi qua thì sẽ tốn thời

gian t s = l s /v (giây - s); trong khi nếu chọn nhánh dài sẽ tốn thời gian r*t s (giây), với r = l l /l s

p ia (t) là xác suất một con kiến đến tại điểm quyết định i {1,2} lựa chọn nhánh a {s, l}, với s và l là biểu thị tương ứng cho nhánh ngắn và nhánh dài, tại thời điểm t ta xây dựng một hàm biểu diễn tổng số nồng độ

pheromone là ia (t) trên một nhánh, hàm này tỷ lệ thuận với tổng số lượng kiến sử dụng các nhánh cho đến thời điểm t

Ví dụ: xác suất p is (t) của việc lựa chọn nhánh ngắn như sau:

is is

Mô hình này giả định rằng, nồng độ pheromones trên một nhánh tỷ lệ thuận với số kiến đã sử dụng nhánh đó Hay nói cách khác, mô hình này được xem như là không có sự bốc hơi của pheromones Và giả thiết này chỉ phù hợp ở thí nghiệm quan sát trong thời gian cần thiết để đàn kiến hội tụ về đường đi ngắn nhất có theo thứ tự độ lớn là thời gian tồn tại của pheromones (Goss et al.,1989; Beckers, Deneubourg, & Goss, 1993)

Trong mô hình này đàn kiến gửi lại vết mùi pheromones của chúng trên

cả hai đường đi: từ tổ đến nguồn thức ăn và quay trở lại tổ Sự di chuyển này

là một hành vi ứng xử cần thiết để có được sự hội tụ của đàn kiến hướng về nhánh ngắn Trong thực tế, nếu chúng ta xem mô hình mà trong đó các con kiến chỉ gửi nồng độ pheromones trong suốt quá trình tiến tới nguồn thức ăn hoặc chỉ riêng suốt quá trình quay trở về tổ, sau đó kết quả là đàn kiến không thể lựa chọn nhánh ngắn Quá trình quan sát đàn kiến thực tế đã xác nhận rằng

Trang 13

đàn kiến đã gửi nồng độ pheromones chỉ khi chúng quay trở về tổ và không thể tìm thấy đường đi ngắn nhất giữa tổ của chúng và nguồn thức ăn

1.3 Phương pháp tìm đường đi theo mô phỏng hành vi đàn kiến

1.3.1 Đàn kiến nhân tạo

Qua thí nghiệm chiếc cầu đôi cho thấy rõ ràng có khả năng xây dựng được quá trình tối ưu hóa hành vi đàn kiến: Thông tin để tìm ra con đường ngắn nhất giữa 2 điểm trong môi trường có thể dựa vào quy tắc xác suất

Dựa trên ý tưởng từ thí nghiệm chiếc cầu đôi, có thể thiết kế đàn kiến nhân tạo bằng cách cho chúng di chuyển trên đồ thị chiếc cầu đôi, để tìm ra đường đi ngắn nhất giữa hai nút tương ứng biểu diễn tổ và nguồn thức ăn

Bước đầu tiên để hướng đến việc định nghĩa đàn kiến nhân tạo, chúng

ta xem xét đồ thị trong Hình 1.3 a, nó là mô hình của thí nghiệm thiết lập

được thể hiện trong Hình 1.3 b Đồ thị này bao gồm 2 nút (1 tương ứng là Tổ

và 2 tương ứng là Nguồn thức ăn của kiến), chúng được kết nối bởi một cung

ngắn và một cung dài (độ dài của cung dài gấp r lần độ dài cung ngắn – với r

là một số nguyên) Giả sử thời gian xét là không liên tục (t = 1, 2,…); tại mỗi

thời điểm, mỗi bước di chuyển của mỗi con kiến đến nút lân cận của nó với một tốc độ không đổi (có thể hiểu như là vận tốc di chuyển là một hằng số) Bằng cách đó, các con kiến sẽ để lại trên đường di chuyển của chúng một lượng mùi pheromone

Các con kiến di chuyển trên đồ thị bằng cách lựa chon đường đi theo quy tắc xác suất:

+ p is (t) là xác suất mà một con kiến xác định vị trí tại nút i ở thời điểm

t lựa chọn con đường ngắn

+ p il (t) là xác suất mà một con kiến xác định vị trí tại nút i ở thời điểm t

lựa chọn con đường dài

Trang 14

Các giá trị xác suất này là một hàm của vết mùi pheromone ia của các

con kiến tại nút i (i {1, 2}) gặp phải nhánh a (a {s, l})

Hình 1.3 Đồ thị tương ứng với mô hình trong thí nghiệm chiếc cầu đôi

Trong cả hai trường hợp các con kiến di chuyển từ tổ đến nguồn thức

ăn và quay trở lại thông qua nhánh ngắn hoặc nhánh dài

Trong mô hình này thì nhánh dài gấp r lần chiều dài nhành ngắn Một con kiến sẽ cập nhật pheromone trên nhánh đó r đơn vị mùi

Trong mô hình này, mỗi cung của đồ thị có chiều dài tương tự, và một nhánh dài hơn đại diện bằng một chuỗi các vòng cung Ở đây, ví dụ, nhánh dài hơn gấp hai lần nhánh ngắn, thì việc cập nhật pheromone được thực hiện trễ hơn một đơn vị thời gian trên mỗi cung

is is

( ( ))( )

( ( ))( )

Trang 15

(i = 1, j = 2 ; i = 2, j = 1) (1.4)

Tại m i (t), số con kiến tại nút i tại thời điểm t, được cho bởi công thức:

m i (t) = p js (t-1)m j (t-1) + p jl (t-r)m j (t-r),

(i = 1, j = 2 ; i = 2, j = 1) (1.5)

Có hai khía cạnh bất đồng cần lưu ý:

+ Phạm vi xem xét các hành vi của hệ thống là trung bình, và không phải những hành vi ứng xử tuân theo biến thiên ngẫu nhiên của đàn kiến là duy nhất

+ Đây là thí nghiệm trên những thời gian không liên tục, trong khi trước đó mô hình xét trong một thời gian liên tục

1.3.2 Kiến nhân tạo và chi phí tối thiểu trên đường đi

Trong phần trước, chúng ta thấy rằng tập hợp các công thức khác nhau

có thể tái tạo chính xác hành vi kiến trong mô hình liên tục của Deneubourg Tuy nhiên, mục tiêu của chúng ta là xác định một thuật toán có thể giải quyết vấn đề chi phí tối thiểu trên các đồ thị phức tạp hơn so với những vấn đề liên

quan trong thí nghiệm chiếc cầu đôi (Hình 1.4).

Với mục tiêu chủ yếu, chúng ta xem xét trong một trạng thái tĩnh, đồ

thì kết nối G = (N, A), với N là tập hợp các nút n = |N| và A là tập hợp các

cung vô hướng kết nối chúng Hai điểm được kết nối nhau, mà giữa hai điểm

đó chúng ta muốn hình thành một con đường với chi phí tối thiểu được gọi là nút nguồn và nút đích

Vấn đề ở đây là: nếu chúng ta cố gắng giải quyết vấn đề tìm đường đi với chi phí tối thiểu trên đồ thị G bằng cách sử dụng đàn kiến nhân tạo Nếu hành vi của chúng được mở rộng một cách đơn giản hơn hành vi của kiến được mô tả trong phần trước sẽ phát sinh một số vấn đề sau đây: Những con kiến, trong khi xây dựng giải pháp, có thể sẽ tạo ra các vòng lặp Hệ quả của

việc chuyển tiếp đến cơ chế cập nhật vết mùi pheromone, các vòng lặp có xu

Trang 16

hướng trở nên thu hút và các con kiến có thể bị mắc kẹt trong các vòng lặp

đó Ngay cả khi một con kiến nào đó có thể thoát ra khỏi vòng lặp như vậy,

vết mùi pheromone phân phối tổng thể cũng sẽ trở thành con đường ngắn và

được ưa chuộng hơn Cơ chế này nó đơn giản hơn trong thí nghiệm chiếc cầu đôi; trong thí nghiệm chiếc cầu đôi các con kiến sẽ lựa chọn đường đi ngắn nhất với xác suất cao hơn Vì thế vấn đề này chính là nguyên nhân chuyển tiếp quá trình cập nhật vết mùi pheromone; có thể giải pháp đơn giản nhất cho vấn đề này là loại bỏ cơ chế cập nhật chuyển tiếp: bằng cách này thì các con kiến chỉ gửi lại vết mùi pheromone trong quá trình cập nhật quay lui

Vì vậy, chúng ta cần phải mở rộng những khả năng của đàn kiến nhân tạo theo cách trên trong khi đó vẫn giữ lại các đặc điểm quan trọng của con kiến trong thực tế, cho phép chúng giải quyết bài toán tìm đường đi với chi phí tối thiểu trên đồ thị thông thường Đặc biệt, kiến nhân tạo có thể bị giới hạn bộ nhớ, trong đó cho phép lưu trữ một phần đường đi, và chi phí kết nối trên những nơi mà chúng đã đi qua

Thông qua việc sử dụng bộ nhớ, những con kiến có thể thực hiện một

số hành vi hữu ích cho phép chúng xây dựng một giải pháp để giải quyết vấn

đề tìm đường đi với chi phí tối thiểu Những hành vi này được xây dựng dựa

trên quy tắc xác suất thông qua vết mùi pheromone mà không cần đến cơ chế

cập nhật chuyển tiếp; xác định được con đường quay trở lại bằng cách loại bỏ vòng lặp và cập nhật pheromone; đánh giá chất lượng của giải pháp được tạo

ra và sử dụng một giải pháp có chất lượng trong việc xác định số lượng (nồng độ) pheromone được gửi lại

Trang 17

Hình 1.4 Các con kiến xây dựng các giải pháp để tìm đường đi từ tổ (nút

nguồn) đến nguồn thức ăn (nút đích) trên một đồ thị

Có thể giải thích hành vi nêu trên của kiến và sự bay hơi của

pheromone trong một thuật toán được gọi là Simple-ACO (gọi tắt là S-ACO)

S-ACO đại diện cho một bước tiến bộ hết sức quan trọng trong việc tìm ra một giải pháp hiệu quả tìm đường đi với chi phí tối thiểu trên đồ thị S-ACO là một công cụ để giải thích các cơ chế cơ bản trong thuật toán ACO

1 Giải pháp xây dựng theo hướng xác suất bởi vết mùi pheromones, với sự cập nhật pheromones nhanh

2 Mô tả con đường quay trở lại tổ với việc loại bỏ vòng lặp và sự cập nhật pheromones chuyển tiếp

3 Đánh giá về chất lượng của các giải pháp tạo ra và sử dụng các giải pháp chất lượng trong việc xác định số lượng pheromones đã gửi lại

Xác suất chọn đỉnh tiếp theo của đàn kiến và giải pháp xây dựng

S-ACO có hai phương thức hoạt động: tiến về phía trước và quay lui

1 Phương thức tiến về phía trước được sử dụng khi chúng di chuyển từ

tổ đến nguồn thức ăn

2 Phương thức quay lui được sử dụng khi chúng di chuyển từ nguồn thức ăn quay trở về tổ

Trang 18

Hành vi quay trở về tổ của đàn kiến và sự cập nhật pheromones Việc

sử dụng một bộ nhớ rõ ràng cho phép một con kiến có thể trở lại con đường

mà nó đã đi trong khi tìm kiếm đến đỉnh đích

Cơ sở giải pháp hiệu quả của sự cập nhập pheromones Trong

S-ACO đàn kiến nhớ các đỉnh mà nó đi qua trong quá trình tìm nguồn thức ăn, cũng như các chi phí trên các cạnh đã qua nếu biểu đồ có trọng số

1.3.3 Sự bay hơi của phenomones

Với đàn kiến trong thực tế, nồng độ pheromones giảm theo thời gian vì

có sự bay hơi

Trong S-ACO thì sự bay hơi được mô phỏng bằng cách áp dụng một quy tắc bay hơi pheromone thích hợp Ví dụ, nồng độ của pheromone nhân tạo có thể được thiết lập bởi một hằng số tốc độ Quá trình bay hơi pheromone làm giảm dần mức độ ảnh hưởng của nồng độ chất pheromone đã tích lũy trước đó (trong giai đoạn đầu của quá trình tìm kiếm), lúc đó các con kiến nhân tạo có thể xây dựng một giải pháp kém chất lượng hơn Mặc dù trong thí nghiệm của Deneubourg và các cộng sự (Deneubourg et al., 1990; Goss et al., 1989) [4] thì vai trò của quá trình bay hơi không được chú ý xem xét, tuy nhiên nó rất hữu ích cho đàn kiến nhân tạo

1.4 Một số ứng dụng của thuật toán ACO

Tính linh hoạt và thực tế ứng dụng của các siêu tri thức trong thuật toán ACO trong việc tìm kiếm lời giải cho các bài toán tối ưu tổ hợp được mô tả thông qua một vài ứng dụng trong một số bài toán khác nhau [5]

Ở đây, ta xem xét một số ứng dụng của thuật toán ACO là áp dụng giải các bài toán tối ưu tổ hợp dạng NP-khó: TSP, SMTWTP, GAP, SCP Ta sẽ sử dụng các bài toán này để xem xét các cách thức khác nhau trong việc mô tả lời giải Trong khi bài toán TSP và SMTWTP là một dạng bài toán hoán vị, trong đó lời giải được mô tả như là các hoán vị của các thành phần lời giải, lời

Trang 19

giải trong bài toán GAP thiết lập các nhiệm vụ cho các con kiến, còn trong bài toán SCP lời giải được mô tả như là một tập con của các lời giải thành phần

có triển vọng

Một trong các ứng dụng khác của ACO là trong các bài toán động mà tiêu biểu là bài toán định tuyến dữ liệu trên mạng Thuật toán AntNet áp dụng cho bài toán này là một thuật toán rất thành công trong việc đóng gói, chuyển mạch dữ liệu trên mạng

1.4.1 Thuật toán ACO giải bài toán TSP

Bài toán TSP là một bài toán tối ưu tổ hợp thuộc dạng NP-khó Đây là một bài toán điển hình cho việc áp dụng thuật toán ACO để giải

Trong hệ thống AS, mỗi con kiến sẽ được khởi động từ một thành phố được chọn ngẫu nhiên và có một ký ức nhớ để lưu các thành phần lời giải mà

nó sẽ cấu trúc sau này Từ thành phố đầu tiên, mỗi con kiến sẽ di chuyển qua

các thành phố khác Khi đang ở một thành phố i, con kiến k sẽ lựa chọn thành phố tiếp theo j để đến thăm theo xác suất được đưa ra như sau:

ij k

ij = 1/d ij là thông tin về tri thức ưu tiên;

, là hai tham số do người dùng định nghĩa, xác định mức độ ảnh

hưởng của nồng độ vết mùi pheromone và thông tin về tri thức;

k

i

N là láng giềng khả thi của con kiến thứ k, có nghĩa là tập các thành phố mà con kiến thứ k có thể đến thăm

Trang 20

Lời giải cuối cùng sau khi mỗi con kiến hoàn thành hành trình của

mình kết thúc sau khi mỗi con kiến đƣợc cấu trúc có độ dài n Tiếp theo các

nồng độ vết mùi pheromone sẽ đƣợc cập nhật theo công thức:

1

m k ij k

k

ij( )t xác định số lƣợng các mật độ pheromone của con kiến k trên

cung, đƣợc định nghĩa nhƣ sau:

k

ij

1/ ( )( )

0

k

L t

với L t k( ) là độ dài hành trình của con kiến thứ k

1.4.2 Bài toán lập lịch sản xuất trên một máy đơn (SMTWTP)

Trong bài toán SMTWTP (Single Machine Total Weighted Tardiness Scheduling Problem), n công việc đƣợc xử lý một cách tuần tự mà không bị ngắt trên một máy Mỗi công việc có thời gian xử lý p j, trọng số j và thời

gian tới hạn d j và mọi công việc có thể đƣợc xử lý từ thời điểm t=0 Độ trễ của công việc j đƣợc định nghĩa j = max{0, C j - d j } với C j là thời gian hoàn thành chuỗi công việc tại thời điểm hiện tại Mục tiêu là tìm kiếm công việc sao cho tối thiểu hoá trọng số độ trễ đƣợc đƣa ra bởi công thức: n i 1 i i T

Ứng dụng thuật toán ACO giải bài toán SMTWTP, tập các thành phần

C là tập tất cả các công việc Giống nhƣ trong bài toán TSP, trạng thái của bài

toán là tất cả các phần công việc nối tiếp có thể có Trong bài toán TMTWTP,

ta không xem xét chi phí ứng với các kết nối do hàm mục tiêu phụ thuộc vào các phần lời giải chƣa đƣợc cấu trúc

Thuật toán Ant dùng giải bài toán SMTWTP hoạt động nhƣ sau: Mỗi con kiến bắt đầu với một chuỗi rỗng, và sau đó lặp lại việc gắn một công việc chƣa có lịch vào phần chuỗi đƣợc cấu trúc Mỗi con kiến sẽ lựa chọn công

nếu cung (i,j) đƣợc dùng

trái lại

Trang 21

việc kế tiếp sử dụng luật lựa chọn tỷ lệ thức giả ngẫu nhiên Các nồng độ vết mùi được định nghĩa như sau: ij là lịch mong muốn công việc j tại vị trí i

Các thông tin về tri thức được định nghĩa theo 1 trong 3 cách:

(i) Luật thời gian tới hạn sớm nhất: sẽ đưa công việc có thời gian tới

hạn không tăng được xác định bởi d j

(ii) Luật sửa đổi thời gian tới hạn: đưa vào công việc có thời gian tới

hạn không tăng được xác định bởi mdd j = max{C + p j , d j } với C là tổng thời

gian xử lý các công việc đã sắp xếp

(iii) Luật khẩn cấp rõ ràng: đưa vào các công việc khẩn cấp được xác

định theo công thức au j = ( j / p j ) * exp(-(max{d j - C j , 0}) / k * p) với k là

tham số luật ưu tiên

Trong mỗi trường hợp, thông tin tri thức được xác định theo công thức

j = 1/h j với h j là một trong các số d j , mdd j , au j được định nghĩa ở trên

Các mật độ pheromone tổng quát và địa phương sẽ được cập nhật theo công thức mô tả ở trên

1.4.3 Bài toán lập lịch tổng quát (GAP)

Trong bài toán GAP (Generalized Assignment Problem), đưa ra một tập các nhiệm vụ I = {1 n} được thiết lập cho một tập các agents J = {1 j} Mỗi agent j chỉ có một dung lượng giới hạn a j và mỗi nhiệm vụ i khi thiết lập tới agent j dùng hế một lượng b ij của agent j, đồng thời chịu một chi phí thiết lập

là d ij Mục tiêu là tìm một nhiệm vụ khả thi được thiết lập với chi phí nhỏ nhất

Đặt ij 1

0

y

Khi đó bài toán có thể được mô tả như sau:

nếu nhiệm vụ i được thiết lập cho agent j

trái lại

Trang 22

Bài toán GAP có thể được vài dặt dễ dàng sử dụng thuật toán ACO Bài toán có thể đựơc mô tả bởi một đồ thi trong đó tập các thành phần chính là tập

các nhiệm vụ và các agents Có nghĩa là C= I J và tập các kết nối trên đồ thị Mỗi thiết lập, bao gồm n cặp (i,j) các nhiệm vụ và agents, theo di chuyển

của con kiến trên đồ thị Mỗi di chuyển thòa mãn (1.10) và (1.11) sẽ được thiết lập

Tại mỗi bước lặp, một con kiến sẽ thực hiện hai quyết định cơ bản sau: (i) nó sẽ quyết định nhiệm vụ nào được thiết lập tiếp theo và (ii) nó sẽ quyết định agent nào sẽ được thiết lập tới nhiệm vụ đó Các nồng độ vết mùi

và thông tin về tri thức có thể được thiết lập theo hai cách trên

Để đơn giản, đầu tiên một nhiệm vụ sẽ được thiết lập một cách ngẫu nhiên Sau đó, tại mỗi bước tiếp theo, một nhiệm vụ sẽ được thiết lập cho một agent đảm bảo chi phí thiết lập là nhỏ và mỗi agent chỉ cần một số lượng nhỏ tương đối tài nguyên để thực hiện nhiệm vụ Do đó thông tin về tri thức có thể

Trang 23

ij = a j /d ij b ij và xác suất lựa chọn thiết lập có thể giống luật xác suất trong

hệ thống AS Sự rắc rối trong quá trình cấu trúc lời giải là GAP phân tích các ràng buộc dung lượng tài nguyên, thực tế là với GAP không có gì đảm bảo đưa ra một con kiến sẽ cấu trúc được lời giải khả thi đáp ứng các ràng buộc Thực tế là để đưa ra một lời giải khả thi, các ràng buộc tài nguyên cần được

tính toán trên tập N i k , tập các láng giềng khả thi của con kiến thứ k Trong GAP, ta định nghĩa N i k bao gồm tất cả các agents mà nhiệm vụ i có thể được

thiết lập mà không lo về dung lượng tài nguyên của agents Nếu không có yêu cầu về tài nguyên, ta bắt buộc phải xây dựng một lời giải không khả thi và

trong trường hợp này ta đơn giản lựa chọn N i k

là tập tất cả các agents

1.4.4 Bài toán phủ tập hợp (SCP)

Trong bài toán SCP (Set Covering Problem), ta đưa ra một ma trận kích thước m*n: A = (a ij ) Thêm vào nữa, mỗi cột được đặc trưng bởi một hàm chi phí b j Ta nói rằng cột j chứa hàng i nếu a ij = 1 Mục tiêu trong bài toán này là

lựa chọn một tập con các cột với trọng số tối thiểu mà chứa được tấp cả các

hàng Gọi J là một tập con các hàng và y j là một biến nhị phân:

10

1

n ij j

Trang 24

Thuật toán ACO được thiết lập theo cách khá dễ hiểu cho bài toán Các cột được chọn như các thành phần lời giải và được kết hợp với một hàm chi phí và tham số mật độ mùi Tập ràng buộc nói rằng một cột có thể được thăm bởi 1 con kiến một và chỉ một lần và đảm bảo lời giải cuối cùng sẽ chứa tất cả các hàng Đường đi của con kiến trên đồ thị mô tả theo các cột thêm vào lời giải bộ phận Mỗi con kiến bắt đầu với một lời giải rỗng và thêm dần các cột cho đến khi hoàn hành Mật độ mùi i và thông tin tri thức j được kết hợp

vào mỗi cột i Một cột được chọn nếu xác suất P i k

(t) được thỏa mãn:

( ) ( )

với N k là tập các láng giềng khả thi của con kiến thứ k, bao gồm tất cả

các cột có chứa ít nhất một hàng Thông tin tri thức có thể được chọn theo nhiều cách khác nhau Chẳng hạn, một thông tin tĩnh có thể được sử dụng: i

= 1/b i Một số cách xác định phức tạp hơn cũng được đề xuất: gọi d i là tổng

số hàng nằm ở cột i thì i = d i /b i Các thông tin này có thể phụ thuộc vào lời

giải bộ phận y k của con kiến thứ k Trong trường hợp đó có thể định nghĩa i

= e i /b i , với e i được gọi là giá trị chứa đựng, là số lượng các hàng thêm vào khi

thêm cột i vào lời giải bộ phận hiện tại

Một con kiến sẽ kết thúc việc tạo lời giải khi mọi hàng được chứa Trong một bước tiền tối ưu, một con kiến có thể loại bỏ các dư thừa, là các cột chỉ chứa các hàng nằm trong một tập con của các hàng khác, trong lời giải cuối cùng Việc cập nhật một độ pheromone giống như trong các phần trước

Khi thiết lập thuật toán ACO giải bài toán SCP, ta có hai khác biệt chính với các bài toán được mô tả trước là: (i) các nồng độ vết mùi pheromone chỉ được kết hợp tới các thành phần và (ii) độ dài hành trình của một con kiến có thể phụ thuộc vào số lượng kiến, có nghĩa là việc tạo lời giải chỉ kết thúc khi tất cả các con kiên kết thúc hành trình của chúng

Trang 25

1.4.5 Bài toán định tuyến mạng

Cho một đồ thị mô tả một mạng truyền thông Bài toán đặt ra là tìm kiếm một đường dẫn giữa các cặp đỉnh của đồ thị sao cho tổng chi phí là tối thiểu Một chú ý quan trọng là mặc dù việc tìm đường dẫn trên đồ thị là một bài toán đơn giản (có thể sử dụng nhiều thuật toán giải bài toán với độ phức tạp là đa thức), nhưng điều này lại đặc biệt khó khi chi phí trên các cạnh lại thay đổi liên tục theo thời gian Đây chính là trường hợp bài toán định tuyến các gói chuyển mạch trên mạng, một ứng dụng của bài toán đặt ra

Sau đây, ta sẽ đưa ra mô tả của bài toán Như ta đã biết, trong bài toán, mỗi con kiến sẽ tìm kiếm một đường dẫn với chi phí nhỏ nhất Để đạt mục tiêu này, mỗi con kiến sẽ di chuyển ngẫu nhiên từ một đỉnh trong mạng tới

một đỉnh khác Giả sử mỗi con kiến đi từ đỉnh nguồn s đến đỉnh đích d, và di chuyển từ s tới d phải đi qua một số đỉnh trung gian Khi con kiến thứ k nằm ở đỉnh i lựa chọn đỉnh j tiếp theo để chuyển đến theo một luật xác suất là hàm

của bộ nhớ đàn kiến, mật độ mùi cục bộ và thông tin tri thức

Trong hệ thống AS, một độ mùi được xác định trên các cạnh Tuy nhiên, đối với bài toán này, mật độ mùi được xác định trên các cặp (cung -

điểm đến) Có nghĩa là một cung (i,j) có n - 1 giá trị vết ijd [0 , 1], với n là

số lượng đỉnh trên đồ thị, nhìn chung ijd ≠ jid Mỗi cung có thể được kết hợp một giá trị thông tin về tri thức 1

i

ij q ij i N q ij với q ij là độ dài của hàng

đợi các kết nối từ đỉnh i đến các đỉnh láng giềng j Hàng đợi càng ngắn thì giá

trị thông tin tri thức càng cao Đàn kiến sẽ lựa chọn đường đi theo xác suất là hàm của ijdij Trong quá trình xây dựng đường đi tới điểm đích, các con kiến di chuyển sử dụng cùng một hàng đợi giống như hàng đợi các gói dữ liệu trễ

* Một số ứng dụng của thuật toán ACO giải các bài toán tối ưu tiêu biểu:

Trang 26

Bảng 1.1: Một số ứng dụng của thuật toán ACO

Tên thuật toán

ACO

Tên bài toán

ACO-VWP ONRP Navarro Varela & Sinclair 1999

ACS-SMTWTP JSP DenBesten, Stützle & Dorigo 1999

AS-QAP QAP Maniezzo, Colorni & Dorigo 1994

MMAS-GAP GAP Ramalhinho Lourenc & Serra 1998

1.5 Tổng kết chương 1

Trong chương này mô tả chi tiết về việc nghiên cứu hành vi của đàn kiến trong thực tế, từ đó thiết lập các thí nghiệm để mô phỏng lại hành vi của đàn kiến thông qua thí nghiệm “chiếc cầu đôi” và xây dựng đàn kiến nhân tạo Chương này cũng trình bày khái quát nội dung về hành vi tìm kiếm đường đi của đàn kiến để hướng đến xây dựng thuật toán tối ưu hành vi đàn kiến nhằm tìm kiếm đường đi trên đồ thị với chi phí tối thiểu Đồng thời chương này cũng giới thiệu một số ứng dụng của thuật toán ACO trong thực tế

Trang 27

CHƯƠNG II MỘT SỐ THUẬT TOÁN TỐI ƯU ĐÀN KIẾN

Thuật toán tối ưu hóa đàn kiến (ACO) là một mô hình thuật toán thiết

kế cho các siêu tri thức để giải các bài toán tối ưu tổ hợp, thuật toán sử dụng phương pháp tính xác suất để tìm đường đi ngắn nhất trên đồ thị

* Các bước thuật toán AS:

Bước 1: Khởi tạo các tham số

+ Xây dựng đồ thị gồm n đỉnh, số lượng kiến m, các tham số: α, β, + Mỗi cạnh (i, j) được gắn một vết mùi τ ij

+ Thông tin heuristic: η ij là nghịch đảo khoảng cách giữa hai thành

phố (i, j); với η ij = 1/ d ij.

Bước 2: Xây dựng lời giải

Có m con kiến nhân tạo được đặt khởi tạo ngẫu nhiên tại các đỉnh, và

tại mỗi bước lặp của thuật toán, mỗi con kiến sẽ xây dựng lời giải riêng của

nó bằng cách chọn một đỉnh mà chúng chưa thăm để đi

Ban đầu các vết mùi được khởi tạo bởi giá trị τ 0, mỗi con kiến được đặt ngẫu nhiên tại một đỉnh xuất phát và lần lượt đi thăm các đỉnh còn lại để xây

dựng đường đi với theo quy tắc như sau (gọi là quy tắc random proportional), con kiến thứ k đang ở đỉnh i sẽ chọn đỉnh j tiếp theo với xác suất:

Trang 28

ij ij k

- τ ij (t) là nồng độ mùi pheromone ở thời điểm t

- η ij là thông tin heuristic

- Hai tham số α và β là hai tham số xác định sự ảnh hưởng của vết mùi

và thông tin heuristic: nếu α = 0 các thành phố gần nhất có nhiều khả năng

được chọn, thuật toán trở nên giống với thuật toán heuristic thông thường, nếu

β = 0 chỉ có thông tin về cường độ vết mùi được sử dụng mà không hề có bất

kỳ một thông tin heuristic nào làm cho kết quả tìm kiếm được nghèo nàn và

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

Sau khi tất cả các con kiến xây dựng xong các lời giải của chúng, các

vết mùi sẽ được cập nhật Đây là hình thức cập nhật offline Đầu tiên tất cả

các cạnh sẽ bị mất đi một lượng mùi (do bị bay hơi), sau đó những cạnh mà

có các con kiến đi qua sẽ được tăng cường thêm một lượng mùi

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

nếu j N i k

ngược lại

Trang 29

ij(t + 1) = (1 - )* ij(t) (i,j) L (2.2)

Trong đó 0 < ≤ 1 là tỉ lệ bay hơi mùi, tham số được dùng để tránh

sự tích lũy không có giới hạn của các vết mùi và nó làm cho thuật toán “quên đi” những quyết định không tốt ở bước trước Nếu một cạnh không được

chọn bởi bất kì con kiến nào thì cường độ mùi của nó sẽ bị giảm theo hàm mũ của số vòng lặp

Sau khi bay hơi mùi tất cả các con kiến sẽ tăng cường mùi cho những cạnh mà chúng đã đi qua theo công thức:

k

1( 1)

m

k

trong đó k

ij là số lượng pheromone mà con kiến k gửi lại trên cạnh

mà nó đi qua, được xác định như sau:

k

ij

10

k

C k là độ dài của tuyến đường T k được xây dựng bởi con kiến k Với

công thức (2.4), tuyến đường của những con kiến nào mà càng tốt hơn thì nó càng được tăng cường thêm nhiều mùi Nói tóm lại thì những cạnh mà được nhiều con kiến lựa chọn thì sẽ nhận được nhiều mùi hơn và có nhiều khả năng hơn sẽ được lựa chọn bởi các con kiến trong các vòng lặp tiếp theo của thuật toán

* Thuật toán AS:

Trang 30

τij = τ0; //Nồng độ vết mùi trên cạnh (i,j)

S* = ; //Lời giải tối ưu, ban đầu rỗng

While (!Điều kiện dừng) do

//Giải pháp xây dựng đàn kiến

For (Duyệt qua toàn bộ đàn kiến) do

// Xây dựng lời giải cho kiến thứ i

Đặt mỗi con kiến ngẫu nhiên vào một đỉnh;

While (Duyệt danh sách đỉnh láng giềng) do

Chọn đỉnh kế tiếp theo công thức (2.1);

Bổ sung đỉnh được chọn vào tập đường đi của kiến;

So sánh phương án để cập nhật lời giải tối ưu S*;

Tăng cường mùi trên các cạnh kiến đi qua theo công thức (2.3);

End; //While

End;

Ưu điểm của AS:

+ Việc tìm kiếm ngẫu nhiên dựa vào trên các thông tin heuristic làm cho phép tìm kiếm linh hoạt và mềm dẻo trên không gian rộng hơn phương pháp heuristic sẵn có, do đó cho ta lời giải tốt hơn và có thể tìm được lời giải tối ưu

+ Sự kết hợp với học tăng cường (reinforcement learning) trong đó

những lời giải tốt hơn sẽ được sự tăng cường hơn thông qua thông tin về cường độ vết mùi cho phép ta từng bước thu hẹp không gian tìm kiếm và vẫn không loại bỏ các lời giải tốt, do đó nâng cao chất lượng thuật toán

Trang 31

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ác khi mà kích thước của bài toán tăng lên Bởi vì khi số đỉnh của đồ thị lớn thì cường độ vết mùi trên những cạnh không thuộc lời giải tốt (hoặc ít được con kiến lựa chọn) sẽ nhanh chóng giảm dần về 0, làm cho cơ hội khám phá hay tìm kiếm ngẫu nhiên của thuật toán sẽ giảm mà đây là một trong những điểm mạnh của các thuật toán mô phỏng tiến hóa tự nhiên nên thuật toán hệ

kiến AS kém hiệu quả

2.2 Thuật toán MMAS

MMAS (Max-Min Ant System) và một số thuật toán khác như Elitist

AS, Rank-Based AS là các thuật toán có được hiệu suất cao hơn nhiều so với thuật toán AS nhờ vào những thay đổi nhỏ trong thuật toán AS, đây được coi

là các thuật toán kế thừa trực tiếp từ thuật toán AS vì chúng về cơ bản là không khác gì nhiều so với thuật toán AS

MMAS đưa ra bốn thay đổi chính đối với AS

1 Trước tiên, nó chú trọng nhiều vào những tuyến đường tốt nhất được tìm thấy: MMAS, chỉ cho phép con kiến tốt nhất hoặc là tại vòng lặp hiện tại

iteration-best , hoặc tính từ thời điểm bắt đầu best-so-far được phép cập nhật mùi Tuy nhiên việc này sẽ dẫn đến hiện tượng ứ đọng, tập trung (stagnation)

quá nhiều khi mà tất cả các con kiến đều cùng chọn một tuyến đường đi, do

sự tăng lên quá thừa của cường độ các vết mùi trên các cạnh tốt

2 Để tránh hiện tượng trên một cải tiến thứ hai là MMAS giới hạn

cường độ mùi trong một khoảng cố định [τ max , τ min ] Tất cả vết mùi trên các

cạnh đều nằm trong khoảng này

3 Các vết mùi được khởi tạo là cận trên của vết mùi τ max , cùng với việc một tỉ lệ bay hơi mùi nhỏ sẽ làm tăng khả năng khám phá cho các con kiến ngay từ khi bắt đầu

Ngày đăng: 11/07/2014, 11:29

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đào Duy Bình, Ứng dụng giải thuật Meta-Heuristic trong bài toán tìm đường đi ngắn nhất,, Tạp chí Khoa học &amp; Công nghệ - ĐH Đà Nẵng - SỐ 5(40), 2010 Sách, tạp chí
Tiêu đề: Ứng dụng giải thuật Meta-Heuristic trong bài toán tìm đường đi ngắn nhất
[2] Châu Mạnh Quang, Phương pháp Q-Learning và ứng dụng của phương pháp này trong bài toán tìm đường, Tạp chí khoa học Giao Thông Vận Tải, Năm 2010 Sách, tạp chí
Tiêu đề: Phương pháp Q-Learning và ứng dụng của phương pháp này trong bài toán tìm đường
[3] Phạm Hồng Luân, Dương Thành Nhân, Nghiên cứu ứng dụng thuật toán ACO (Ant Colony Optimization) tối ưu thời gian và chi phí cho dự án xây dựng, Tạp chí phát triển KH&amp;CN, TẬP 13, SỐ Q1 - 2010.Tài liệu Tiếng Anh Sách, tạp chí
Tiêu đề: Nghiên cứu ứng dụng thuật toán ACO (Ant Colony Optimization) tối ưu thời gian và chi phí cho dự án xây dựng
[4] Marco Dorigo and Thomas Stützle, Ant Conoly Optimization, A Bradford Book, The MIT Press, Cambridge, Massachusetts, London, England, 2004 Sách, tạp chí
Tiêu đề: Ant Conoly Optimization
[5] Marco Dorigo and ThomasStützle, The Ant Colony Optimization Metaheuristic: Algorithms, applications and Advances, Technical Report IRIDIA/2000-32, IRRIDIA, Université Libre de Bruxelles, Belgium, 2000 Sách, tạp chí
Tiêu đề: The Ant Colony Optimization Metaheuristic: Algorithms, applications and Advances
[6] Marco Dorigo, Mauro Birattari, and Thomas Stützle, Ant Conoly Optimization, IEEE COMPUTATIONAL INTELLIGENCE MAGAZINE, 11/2006 Sách, tạp chí
Tiêu đề: Ant Conoly Optimization
[7] Dinh Quang Huy; Do Duc Dong; and Hoang Xuan Huan, Multi-level ant system - a new approach through the new pheromone update for ant colony optimization. The IEEE international conference on Research, Innovation and Vision for the Future (RIVF), 2006 Sách, tạp chí
Tiêu đề: Multi-level ant system - a new approach through the new pheromone update for ant colony optimization. The IEEE international conference on Research, Innovation and Vision for the Future (RIVF)
[8] Thomas Stützle and Holger H. Hoos, Max - Min Ant System, Technical Report IRIDIA/ Furure Generation Computer System 16, 2000, 889 - 914.Website từ Internet Sách, tạp chí
Tiêu đề: Max - Min Ant System

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Thí nghiệm chiếc cầu đôi. (a) Hai nhánh có kích thước bằng nhau, - Thuật toán Aco và ứng dụng
Hình 1.1 Thí nghiệm chiếc cầu đôi. (a) Hai nhánh có kích thước bằng nhau, (Trang 8)
Hình 1.2 Thí nghiệm chiếc cầu đôi mở rộng. - Thuật toán Aco và ứng dụng
Hình 1.2 Thí nghiệm chiếc cầu đôi mở rộng (Trang 11)
Hình 1.3 Đồ thị tương ứng với mô hình trong thí nghiệm chiếc cầu đôi - Thuật toán Aco và ứng dụng
Hình 1.3 Đồ thị tương ứng với mô hình trong thí nghiệm chiếc cầu đôi (Trang 14)
Hình 1.4  Các con kiến xây dựng các giải pháp để tìm đường đi từ tổ (nút - Thuật toán Aco và ứng dụng
Hình 1.4 Các con kiến xây dựng các giải pháp để tìm đường đi từ tổ (nút (Trang 17)
Bảng 1.1: Một số ứng dụng của thuật toán ACO - Thuật toán Aco và ứng dụng
Bảng 1.1 Một số ứng dụng của thuật toán ACO (Trang 26)
Bảng 2.1: Một số thuật toán ACO - Thuật toán Aco và ứng dụng
Bảng 2.1 Một số thuật toán ACO (Trang 37)
Hình 3.2.  Một con kiến lựa chọn đỉnh tiếp theo để di chuyển đến. - Thuật toán Aco và ứng dụng
Hình 3.2. Một con kiến lựa chọn đỉnh tiếp theo để di chuyển đến (Trang 42)
Hình 3.3. Thuật toán ACOMetaheuristic áp dụng giải bài toàn TSP - Thuật toán Aco và ứng dụng
Hình 3.3. Thuật toán ACOMetaheuristic áp dụng giải bài toàn TSP (Trang 43)
Sơ đồ thuật toán ACO giải bài toán TSP đƣợc xây dựng nhƣ sau: - Thuật toán Aco và ứng dụng
Sơ đồ thu ật toán ACO giải bài toán TSP đƣợc xây dựng nhƣ sau: (Trang 45)

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

w