Bài giảng Tính toán tiến hóa - Bài 7: Ant Colony Optimization - Huỳnh Thị Thanh Bình
Giải thuật tối ưu hóa bầy kiến
2
Xuất phát từ ý tưởng đàn kiến đi tìm
thức ăn
3
Giải thuật tối ưu hóa bầy kiến
Giải thuật tối ưu hóa bầy ong
4
Dựa trên phương thức đàn ong đi tìm hoa
lấy mật
Giải thuật tối ưu hóa bầy đàn
5
Lịch sử:
Được đề xuất năm 1995 bởi giáo sư Russell
Eberhart và nhà tâm lý học James Kenedy
James Kenedy
Russell
Eberhart
Giải thuật tối ưu hóa bầy đàn
6
Lấy ý tưởng từ việc đàn chim tìm kiếm
thức ăn
Ví dụ đơn giản minh họa:
Tổng quan
7
Ant Colony Optimization:
Được giới thiệu bởi Marco Dorigo ở đầu những
năm 1990s.
Thuộc lớp các thuật toán tối ưu sử dụng Trí thông
minh bầy đàn.
Lấy cảm hứng từ tập tính xã hội trong việc tìm
kiếm thức ăn của đàn kiến trong tự nhiên.
Thuật toán dựa trên quần thể.
Đối tượng áp dụng: các bài toán tối ưu rời rạc (bài
toán tìm đường đi).
Quá trì nh tì m kiếm thức ăn của đàn kiến
8
Ban đầu, các cá thể kiến đi theo các hướng ngẫu nhiên để tìm
kiếm thức ăn.
Nếu tìm thấy thức ăn, các cá thể kiến mang thức ăn về tổ và
để lại một chất hóa học (được gọi là pheromone) trên đường
quay lại của nó.
Pheromone trên mỗi đường đi giảm dần theo thời gian
Đường có pheromone càng cao thì khả năng lựa chọn đi theo
đường đi đó của các cá thể kiến khác càng lớn.
Càng nhiều cá thể kiến tìm thấy thức ăn trên một đường đi ,
thì pheromone của đường đi đó càng cao.
Quá trì nh tì m kiếm thức ăn của đàn kiến
9
Đàn kiến có thể tìm được đường đi ngắn nhất giữa tổ và thức ăn bằng
cách nào?
Đầu tiên: Các cá thể kiến đi ngẫu nhiên theo mọi hướng
Nếu đường đi có khả năng dẫn tới nguồn thức ăn => Pheromone
được rải trên đường quay trở lại
Đường đi càng ngắn, các cá thể kiến càng quay lại tổ nhanh => Nồng
độ pheromone của đường đi đó được tăng cường sớm.
Đường đi càng dài=> Các cá thể kiến quay lại tổ lâu hơn => Nồng độ
pheromone được cập nhật chậm và giảm dần do sự bay hơi
Sau một thời gian => Các cá thể kiến chỉ đi theo một đường đi duy
nhất
Giải thuật tối ưu hó a đàn kiến
10
Giải thuật tối ưu hó a đàn kiến
Quá trì nh xâ y dựng đường đi cho cá thể kiến
11
Xét cá thể kiến 푘. Quá trình xây dựng đường đi cho kiến 푘
như sau:
Giả sử kiến 푘 đang ở nút 푢
Xác xuất 푘 đi từ 푢 đến nút 푣 ∈ 푎푑푗푘(푢) là
휏푢훼푣 ∗ 휂푢훽푣
푝푘 푢, 푣 =
훽
훼
σ푤∈ 푎푑푗 (푢)
휏푢푤 ∗ 휂푢푤
푘
Với
휏푖푗 là pheromone trên cạnh (i,j)
휂푖푗 là mức độ thu hút của cạnh (i,j)
푎푑푗푘 푢 là tập các nút hàng xóm của 푢 mà 푘 chưa đi qua
훼 và 훽 là tham số thuật toán
Giải thuật tối ưu hó a đàn kiến
Quá trì nh xâ y dựng đường đi cho cá thể kiến
12
Nút 푣 ∈ 푎푑푗푘 푢 , mà kiến 푘 di chuyển đến, sẽ được chọn
theo bánh xe Roulete
Quá trình tiếp tục cho đến khi kiến 푘 có thể đến được 푡 (lời
giải hợp lệ) hoặc không thể tiếp tục (lời giải không hợp lệ)
Giải thuật tối ưu hó a đàn kiến
Quá trì nh cập nhật pheromone
13
Pheromone trên mỗi cạnh (i,j) được cập nhật như sau:
푡푖푗 = 1 − 휌 ∗ 푡푖푗 + 훿푖푗
Với 휌 là tốc độ bay hơi của các pheromone trước đó trên
dường đi
훿푖푗 là tổng các pheromone mới mà các cá thể kiến để lại trên
đường đi của chúng:
훿푖푗 = 훿푖푘푗
푘=1,…푁
Giải thuật tối ưu hó a đàn kiến
Quá trì nh cập nhật pheromone
14
Giá trị pheromone để lại bởi kiến 푘 trên đường đi của nó
được tính như sau:
푄
푛ế푢 푖, 푗 ∈ 푇푘
훿푘 = ൞
퐿푘
푖푗
0 푛ế푢 푖, 푗 ∉ 푇푘
Với
푇푘 là hành trình của kiến 푘
퐿푘 là chiều dài của hành trình T푘
Q là hằng số kinh nghiệm
Giải thuật tối ưu hó a đàn kiến
Ý nghĩa của cá c tham số, thuộc tí nh
15
휂푖푗 là mức độ thu hút hay kinh nghiệm của việc lựa chọn
cạnh (i,j)
휏푖푗 chỉ ra mức độ xuất hiện của cạnh (i,j) trên đường đi của
các cá thể kiến
Nếu 훼 = 0: Các cạnh trên đường đi được lựa chọn tham lam
theo kinh nghiệm
Nếu 훽 = 0: Ưu tiên sử dụng các cạnh có xu hướng được xuất
hiện nhiều nhất trước đó
ACO for TSP problem
16
1
휂푖푗=
: Mong muốn đi theo các cạnh có chi phí
푤(푖,푗)
nhỏ nhất
Thêm thành phần “kiến tinh hoa”: Đánh trọng số cho
pheromone của cạnh nằm trên đường đi tốt nhất
푡푖푗 = 1 − 휌 ∗ 푡푖푗 + 훿푖푗 + b ∗ 훿푖푏푗푒푠푡
Với
푄
푛ế푢 푖, 푗 ∈ 푏푒푠푡
푏푒푠푡
훿
= ൞퐿푏푒푠푡
푖푗
0 푛ế푢 푖, 푗 ∉ 푏푒푠푡
Tham số thuật toán: 훼 = 1, 훽 = 5, 휌 = 0.5, 푄 =
100, 푏 = 5.
Giải quyết một bài toá n bằng ACO
17
Phải chuyển bài toán về dạng đồ thị có trọng số
G(V,E,w)
Định nghĩa được pheromone 휏푖푗 trên cạnh
Xác định biểu thức 휂푖푗
Lựa chọn các toán tử cụ thể ( xây dựng đường đi
cho kiến, cập nhật pheromone) cho bài toán cần
giải quyết
Hiệu chỉnh các tham số thuật toán
Thực nghiệm
18
Antsim v1.1
Thanks for your attention
Bạn đang xem tài liệu "Bài giảng Tính toán tiến hóa - Bài 7: Ant Colony Optimization - Huỳnh Thị Thanh Bình", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_tinh_toan_tien_hoa_bai_7_ant_colony_optimization_h.ppt
7. ACO.pdf