HỒ CHÍ MINH TIẾU LUẬN MÔN HỌC THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ: THUẬT TOÁN TỐI ƯU HÓA ĐÀN KIẾN VÀ BÀI TOÁN NGƯỜI ĐƯA THƯ Gi ng viên hảng viên hướng dẫn: ướng dẫn:ng d n:ẫn: PG
Trang 1Đ I H C QU C GIA TP H CHÍ MINH ẠI HỌC QUỐC GIA TP HỒ CHÍ MINH ỌC QUỐC GIA TP HỒ CHÍ MINH ỐC GIA TP HỒ CHÍ MINH Ồ CHÍ MINH
TR ƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN NG Đ I H C CÔNG NGH THÔNG TIN ẠI HỌC QUỐC GIA TP HỒ CHÍ MINH ỌC QUỐC GIA TP HỒ CHÍ MINH Ệ THÔNG TIN
KHOA KHOA H C MÁY TÍNH ỌC QUỐC GIA TP HỒ CHÍ MINH
TIẾU LUẬN MÔN HỌC THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ:
THUẬT TOÁN TỐI ƯU HÓA ĐÀN KIẾN VÀ
BÀI TOÁN NGƯỜI ĐƯA THƯ
Gi ng viên hảng viên hướng dẫn: ướng dẫn:ng d n:ẫn: PGS TS Đ VĂN NH NỖ VĂN NHƠN ƠN
H c viên th c hi n:ọc viên thực hiện: ực hiện: ện: LÊ DUY Đ C NHÂNẮC NHÂN
MSHV: CH1301045
Trang 2TP H Chí Minh, tháng 01 năm 2014 ồ Chí Minh, tháng 01 năm 2014
Trang 3L I C M N ỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ẢM ƠN ƠN
Em xin bày t lòng bi t n sâu s c đ n PGS TS ỏ lòng biết ơn sâu sắc đến PGS TS ến và Người Đưa Thư ơn ắc Nhân ến và Người Đưa Thư Đ Văn Nh n, trỗ Văn Nhơn ơn ười Đưa Thư ng Đ i h cại học ọc viên thực hiện:Công Ngh Thông Tin, ĐHQG TP.HCM đã t n tình hện: ướng dẫn:ng d n, cung c p ki n th c,ẫn: ấp kiến thức, ến và Người Đưa Thư ức,truy n đ t nh ng kinh nghi m quí báu giúp em hoàn thành t t bài thu ho ch này.ại học ện: ối Ưu Hóa Đàn Kiến và Người Đưa Thư ại họcXin cám n cha, m , các anh, ch em trong gia đình đã h tr , lo l ng và đ ng viên.ơn ị em trong gia đình đã hỗ trợ, lo lắng và động viên ỗ Văn Nhơn ợ, lo lắng và động viên ắc Nhân ộng viên
Đ ng th i, xin cám n t t c các b n l p cao h c khóa 08 đã ng h , giúp đ tôiồ Chí Minh, tháng 01 năm 2014 ời Đưa Thư ơn ấp kiến thức, ảng viên hướng dẫn: ại học ớng dẫn: ọc viên thực hiện: ủng hộ, giúp đỡ tôi ộng viên ỡ tôitrong quá trình th c hi n bài ti u lu n này.ực hiện: ện:
Dù đã có nhi u c g ng nh ng ch c ch n sẽ không tránh kh i nh ng thi u sót,ối Ưu Hóa Đàn Kiến và Người Đưa Thư ắc Nhân ư ắc Nhân ắc Nhân ỏ lòng biết ơn sâu sắc đến PGS TS ến và Người Đưa Thư
em r t mong nh n đấp kiến thức, ượ, lo lắng và động viên ực hiện:c s đóng góp ý ki n c a các Th y giáo, Cô giáo và các b n đến và Người Đưa Thư ủng hộ, giúp đỡ tôi ầy giáo, Cô giáo và các bạn để ại học
đ tài này đượ, lo lắng và động viên.c hoàn thi n h n.ện: ơn
Em xin chân thành c m n!ảng viên hướng dẫn: ơn
Tp H Chí Minh, tháng 01 năm 2014ồ Chí Minh, tháng 01 năm 2014
H c viênọc viên thực hiện:
Trang 4NH N XÉT ẬN XÉT
(C a gi ng viên h ủng hộ, giúp đỡ tôi ảng viên hướng dẫn: ướng dẫn: ng d n) ẫn:
Trang 5
M C L C ỤC LỤC ỤC LỤC
L I C M N ỜI CẢM ƠN ẢM ƠN ƠN 3
CH Ưu Hóa Đàn Kiến và Người Đưa Thư ƠN NG 1: T NG QUAN ỔNG QUAN 6
1.1 Đặt vấn đề 6
1.2 Ý nghĩa 6
1.3 Nội dung thực hiện 6
CH Ưu Hóa Đàn Kiến và Người Đưa Thư ƠN NG 2: T NG QUAN V BÀI TOÁN NG ỔNG QUAN Ề BÀI TOÁN NGƯỜI ĐƯA THƯ Ưu Hóa Đàn Kiến và Người Đưa Thư ỜI CẢM ƠN I Đ A TH Ưu Hóa Đàn Kiến và Người Đưa Thư Ưu Hóa Đàn Kiến và Người Đưa Thư 8
2.1 Giới thiệu bài toán Người đưa thư 8
2.2 Bài toán Người đưa thư 8
2.2.1 Giới thiệu bài toán 8
2.2.2 Dữ liệu bài toán 9
2.2.3 Ràng buộc của bài toán 9
CH Ưu Hóa Đàn Kiến và Người Đưa Thư ƠN NG 3: GI I THU T ĐÀN KI N ẢM ƠN ẬT ĐÀN KIẾN ẾN 10
3.1Tổng quan về thuật giải đàn kiến 10
3.1.1 Nguồn gốc 10
3.1.2 Giới thiệu về thuật toán 11
3.1.3 Sơ đồ chung thuật toán đàn kiế 13
3.1.4 Nội dung thuật toán 14
3.2 Các sơ đồ thuật toán phát triển dựa trên ACO 17
3.2.1 Thuật toán Ant System (AS) 17
3.2.2 Thuật toán Ant Colony System(ACS) 19
3.2.3 Thuật toán Max–Min Ant System(MMAS) 20
3.2.4 Thuật toán Rank-Based Ant System(RBAS) 22
3.2.5 Thuật toán Best-Worst Ant System(BWAS) 23
CH Ưu Hóa Đàn Kiến và Người Đưa Thư ƠN NG 4: NG D NG THU T GI I ĐÀN KI N VÀO BÀI TOÁN ỨNG DỤNG THUẬT GIẢI ĐÀN KIẾN VÀO BÀI TOÁN ỤNG THUẬT GIẢI ĐÀN KIẾN VÀO BÀI TOÁN ẬT ĐÀN KIẾN ẢM ƠN ẾN NG Ưu Hóa Đàn Kiến và Người Đưa Thư ỜI CẢM ƠN I Đ A TH Ưu Hóa Đàn Kiến và Người Đưa Thư Ưu Hóa Đàn Kiến và Người Đưa Thư 25
4.1 Phát biểu bài toán 25
4.2 Các ràng buộc của bài toán 25
Trang 6TÀI LI U THAM KH O ỆU THAM KHẢO ẢM ƠN 30
1.1 Đ t v n đ ặt vấn đề ấn đề ề
Hi n nay có r t nhi u bài báo, lu n văn, cũng nh các công trình nghiên c u đện: ấp kiến thức, ư ức,
c p đ n v n đ t i u t h p Nhi u phến và Người Đưa Thư ấp kiến thức, ối Ưu Hóa Đàn Kiến và Người Đưa Thư ư ổ hợp Nhiều phương pháp mới mẻ đã được đưa ra và đạt ợ, lo lắng và động viên ươnng pháp m i m đã đớng dẫn: ẻ đã được đưa ra và đạt ượ, lo lắng và động viên.c đ a ra và đ tư ại học
hi u qu cao Tuy nhiên ph n l n các bài toán t i u t h p đện: ảng viên hướng dẫn: ầy giáo, Cô giáo và các bạn để ớng dẫn: ối Ưu Hóa Đàn Kiến và Người Đưa Thư ư ổ hợp Nhiều phương pháp mới mẻ đã được đưa ra và đạt ợ, lo lắng và động viên ượ, lo lắng và động viên.c gi i t trảng viên hướng dẫn: ừ trước tới ướng dẫn: ớng dẫn:c t inay đ u là các bài toán tĩnh So v i bài toán tĩnh thì bài toán đ ng ph c t p h n vàớng dẫn: ộng viên ức, ại học ơn
ng d ng c a nó trong th c t là nhi u h n Ch ng h n các ng d ng trong đ nh
ức, ủng hộ, giúp đỡ tôi ực hiện: ến và Người Đưa Thư ơn ẳng hạn các ứng dụng trong định ại học ức, ị em trong gia đình đã hỗ trợ, lo lắng và động viên.tuy n các gói tin trên m ng internet, trong các t ng đài đi n tho i M t trong nh ngến và Người Đưa Thư ại học ổ hợp Nhiều phương pháp mới mẻ đã được đưa ra và đạt ện: ại học ộng viên.cách ti p c n có hi u qu đ i v i bài toán t i u t h p tĩnh đó là phến và Người Đưa Thư ện: ảng viên hướng dẫn: ối Ưu Hóa Đàn Kiến và Người Đưa Thư ớng dẫn: ối Ưu Hóa Đàn Kiến và Người Đưa Thư ư ổ hợp Nhiều phương pháp mới mẻ đã được đưa ra và đạt ợ, lo lắng và động viên ươnng pháp t iối Ưu Hóa Đàn Kiến và Người Đưa Thư
metaheuristic m i và đang đớng dẫn: ượ, lo lắng và động viên.c nhi u người Đưa Thư i quan tâm Thu t toán ACO đ u tiênầy giáo, Cô giáo và các bạn để(1991) đã mang l i nhi u ý tại học ưởng và cảm hứng với mục đích cải tiến các thuật toánng và c m h ng v i m c đích c i ti n các thu t toánảng viên hướng dẫn: ức, ớng dẫn: ảng viên hướng dẫn: ến và Người Đưa Thư
m t phộng viên ươnng pháp áp d ng ACO vi c gi i quy t bài toán ng ện: ảng viên hướng dẫn: ến và Người Đưa Thư ười Đưa Thư ưi đ a th m t d ng bàiư ộng viên ại họctoán t i u t h p đ ng Bài toán Ngối Ưu Hóa Đàn Kiến và Người Đưa Thư ư ổ hợp Nhiều phương pháp mới mẻ đã được đưa ra và đạt ợ, lo lắng và động viên ộng viên ười Đưa Thư i Đ a Th th c ch t là tên g i khác c a bàiư ư ực hiện: ấp kiến thức, ọc viên thực hiện: ủng hộ, giúp đỡ tôitoán người Đưa Thư i chào hàng (Travelling Salesman Problem - TSP) n i ti ng ổ hợp Nhiều phương pháp mới mẻ đã được đưa ra và đạt ến và Người Đưa Thư
1.2 Ý nghĩa
Qua vi c th c hi n bài ti u lu n, giúp cho tác gi hi u rõ h n v ện: ực hiện: ện: ảng viên hướng dẫn: ơn v bài toán
“Người Đưa Thư ưi đ a th ” và các phư ươnng pháp ti p c n gi i bài toán “Ngến và Người Đưa Thư ảng viên hướng dẫn: ười Đưa Thư ưi đ a th ”, qua đóư
có s so sánh đánh giá các thu t toán.ực hiện:
Tìm hi u sâu v thu t toán đàn ki n và các bi n th , ng d ng vào gi i bài toánến và Người Đưa Thư ến và Người Đưa Thư ức, ảng viên hướng dẫn:
“Người Đưa Thư ưi đ a th ” nh8a2m có nh ng c i ti n trong các bu c c a thu t gi i đàn ki nư ảng viên hướng dẫn: ến và Người Đưa Thư ối Ưu Hóa Đàn Kiến và Người Đưa Thư ủng hộ, giúp đỡ tôi ảng viên hướng dẫn: ến và Người Đưa Thư
v i bài toán c th nh bi u di n tìm đớng dẫn: ư ễn tìm đường đi, các xây dựng các hàm đánh giá ười Đưa Thư ng đi, các xây d ng các hàm đánh giáực hiện:
TSP có một vài ứng dụng thậm chí trong dạng thức nguyên thuỷ của nó như lập kếhoạch , logistic , và sản xuất các microchip Thay đổi đi chút ít nó xuất hiện như một bàitoán con trong rất nhiều lĩnh vực như việc phân tích gen trong sinh học Trong những ứngdụng này, khái niệm thành phố có thể thay đổi thành khách hàng, các điểm hàn trên bảngmạch, các mảnh DNA trong gen, và khái niệm khoảng cách có thể biểu diễn bởi thời gian
du lịch hay giá thành , hay giống như sự so sánh giữa các mảnh DNA với nhau Trongnhiều ứng dụng, các hạn chế truyền thống như giới hạn tài nguyên hay giới hạn thời gianthậm chí còn làm cho bài toán trở nên khó hơn
Trang 71.3 N i dung th c hi n ội dung thực hiện ực hiện ện
Bài ti u lu n sẽ tìm hi u và trình bày v các v n đ chính sau:ấp kiến thức,
a) Tìm hi u v m t s đ nh nghĩa trong ộng viên ối Ưu Hóa Đàn Kiến và Người Đưa Thư ị em trong gia đình đã hỗ trợ, lo lắng và động viên lý thuy t m t mã ến và Người Đưa Thư nh :ư
khoá công khai
Lý thuy t chung v các phến và Người Đưa Thư ươnng pháp mã hoá: phươnng pháp mã hoá khóa bí
m t và phươnng pháp mã hoá khóa công khai, nêu đượ, lo lắng và động viên.c các u đi m vàư
nhượ, lo lắng và động viên.c đi m c a hai phủng hộ, giúp đỡ tôi ươnng pháp này Trình bày chi ti t h m t mã khóaến và Người Đưa Thư ện:công khai RSA…
b) C s lý thuy t toán h c c a lý thuy t m t mãơn ởng và cảm hứng với mục đích cải tiến các thuật toán ến và Người Đưa Thư ọc viên thực hiện: ủng hộ, giúp đỡ tôi ến và Người Đưa Thư :
S nguyên t và phân tích ra th a s nguyên tối Ưu Hóa Đàn Kiến và Người Đưa Thư ối Ưu Hóa Đàn Kiến và Người Đưa Thư ừ trước tới ối Ưu Hóa Đàn Kiến và Người Đưa Thư ối Ưu Hóa Đàn Kiến và Người Đưa Thư
Tính toán đ ng d và tính logarit r i r c.ồ Chí Minh, tháng 01 năm 2014 ư ời Đưa Thư ại học
Ưu Hóa Đàn Kiến và Người Đưa Thư ớng dẫn:c chung c a hai s và nh ng v n đ liên quanủng hộ, giúp đỡ tôi ối Ưu Hóa Đàn Kiến và Người Đưa Thư ấp kiến thức,
o Ưu Hóa Đàn Kiến và Người Đưa Thư u khuy t đi m ến và Người Đưa Thư
o Đ an toàn khi mã hóa d li u b ng phộng viên ện: ằng phương pháp RSA ươnng pháp RSA
Trang 8
-CH ƯƠN NG 2: T NG QUAN V BÀI TOÁN NG ỔNG QUAN Ề BÀI TOÁN NGƯỜI ĐƯA THƯ ƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN I Đ A TH Ư Ư
2.1 Gi i thi u bài toán Ng ới thiệu bài toán Người đưa thư ện ười đưa thư ư i đ a th ư
M t ngộng viên ười Đưa Thư ưi đ a th xu t phát t b u đi n là n i làm vi c c a anh ta, anh taư ấp kiến thức, ừ trước tới ư ện: ơn ện: ủng hộ, giúp đỡ tôi
mu n tìm m t đối Ưu Hóa Đàn Kiến và Người Đưa Thư ộng viên ười Đưa Thư ng đi ng n nh t đi qua t t c các đ a ch c a khách hang đắc Nhân ấp kiến thức, ấp kiến thức, ảng viên hướng dẫn: ị em trong gia đình đã hỗ trợ, lo lắng và động viên ỉ của khách hang để ủng hộ, giúp đỡ tôigiao th m i đ a đi m đúng m t l n sau đó tr v đ a đi m ban đ u là b u đi nư ỗ Văn Nhơn ị em trong gia đình đã hỗ trợ, lo lắng và động viên ộng viên ầy giáo, Cô giáo và các bạn để ởng và cảm hứng với mục đích cải tiến các thuật toán ị em trong gia đình đã hỗ trợ, lo lắng và động viên ầy giáo, Cô giáo và các bạn để ư ện:
kh i đ u Bài toán Ngởng và cảm hứng với mục đích cải tiến các thuật toán ầy giáo, Cô giáo và các bạn để ười Đưa Thư ưi đ a th hay còn g i là TSP đư ọc viên thực hiện: ượ, lo lắng và động viên.c phát bi u vào th kến và Người Đưa Thư ỷ
17 b i hai nhà toán h c vởng và cảm hứng với mục đích cải tiến các thuật toán ọc viên thực hiện: ươnng qu c Anh là Sir William Rowan Hamilton vàối Ưu Hóa Đàn Kiến và Người Đưa Thư Thomas Penyngton Kirkman, và đượ, lo lắng và động viên.c ghi trong cu n gsiáo trình Lý thuy t đ thối Ưu Hóa Đàn Kiến và Người Đưa Thư ến và Người Đưa Thư ồ Chí Minh, tháng 01 năm 2014 ị em trong gia đình đã hỗ trợ, lo lắng và động viên
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ổ hợp Nhiều phương pháp mới mẻ đã được đưa ra và đạt ến và Người Đưa Thư ủng hộ, giúp đỡ tôi ởng và cảm hứng với mục đích cải tiến các thuật toán ức, ến và Người Đưa Thư
gi i b i đ ph c t p thu t toán tăng theo hàm s mũ (trong chuyên ngành thu tớng dẫn: ởng và cảm hứng với mục đích cải tiến các thuật toán ộng viên ức, ại học ối Ưu Hóa Đàn Kiến và Người Đưa Thư toán người Đưa Thư i ta còn g i chúng là nh ng bài toán NP-khó) Ngọc viên thực hiện: ười Đưa Thư i ta b t đ u th vàắc Nhân ầy giáo, Cô giáo và các bạn để ử 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ối Ưu Hóa Đàn Kiến và Người Đưa Thư ến và Người Đưa Thư ảng viên hướng dẫn: ảng viên hướng dẫn: ừ trước tới ỉ của khách hang để
đ n năm 2004 bài toán gi i đến và Người Đưa Thư ảng viên hướng dẫn: ượ, lo lắng và động viên.c v i s đ nh lên t i 24.978, và d báo sẽ cònớng dẫn: ối Ưu Hóa Đàn Kiến và Người Đưa Thư ỉ của khách hang để ớng dẫn: ực hiện:
ti p t c tăng cao n a.ến và Người Đưa Thư
2.2.1 Gi i thi u bài toán ới thiệu bài toán Người đưa thư ện
3
TSP có thể được mô hình như một đồ thị , các đỉnh của đồ thị tương ứng với các thành phố và các cạnh thì tương ứng với đường nối giữa các thành phố, chiều dài của một cạnh tương ứng với khoang cách giữa 2 thành phố Một đường đi trong bài toán TSP làmột chu trình Hamilton trên đồ thị và một lời giải tối ưu của bài toán là chu trình Hamilton ngắn nhất
Thường thì đồ thị là đồ thị đầy đủ , vì vậy mọi cặp cạnh đều được nối bởi các cạnh Đây là bước đơn giản hóa bài toán vì việc tìm chu trình Hamilton trong một đồ thị đầy
đủ là dễ Các bài toán mà không phải 2 thành phố nào cũng được nối với nhau có thể được chuyển đổi thành đồ thị đầy đủ bằng cách thêm những cạnh có độ dài lớn giữa cách thành phố này , những cạnh sẽ không xuất hiện trong chu trình tối ưu
Bài toán TSP có th phát bi u dướng dẫn: ại họci d ng đ th nh sau: Cho G = (N, A,) là đ thồ Chí Minh, tháng 01 năm 2014 ị em trong gia đình đã hỗ trợ, lo lắng và động viên ư ồ Chí Minh, tháng 01 năm 2014 ị em trong gia đình đã hỗ trợ, lo lắng và động viên
có hướng dẫn:ng đ y đ có tr ng s , trong đó N là t p h p c a n = |N| nút (thành ph ) ,ầy giáo, Cô giáo và các bạn để ủng hộ, giúp đỡ tôi ọc viên thực hiện: ối Ưu Hóa Đàn Kiến và Người Đưa Thư ợ, lo lắng và động viên ủng hộ, giúp đỡ tôi ối Ưu Hóa Đàn Kiến và Người Đưa Thư
A = {(i,j)| (i,j) VxV} là t p t t c các cung c a đ th M i cung (i, j) đ6 ấp kiến thức, ảng viên hướng dẫn: ủng hộ, giúp đỡ tôi ồ Chí Minh, tháng 01 năm 2014 ị em trong gia đình đã hỗ trợ, lo lắng và động viên ỗ Văn Nhơn ượ, lo lắng và động viên.c gán
m t tr ng s dij đ bi u di n kho ng cách gi a 2 thành ph i và j Bài toán TSPộng viên ọc viên thực hiện: ối Ưu Hóa Đàn Kiến và Người Đưa Thư ễn tìm đường đi, các xây dựng các hàm đánh giá ảng viên hướng dẫn: ối Ưu Hóa Đàn Kiến và Người Đưa Thư
Trang 9tr thành bài toán tìm chu trình Hamilton có đ dài ng n nh t trên đ th G Taởng và cảm hứng với mục đích cải tiến các thuật toán ộng viên ắc Nhân ấp kiến thức, ồ Chí Minh, tháng 01 năm 2014 ị em trong gia đình đã hỗ trợ, lo lắng và động viên.
c n phân bi t hai lo i TSP, symmetric TSP có kho ng cách gi a các thành phầy giáo, Cô giáo và các bạn để ện: ại học ảng viên hướng dẫn: ối Ưu Hóa Đàn Kiến và Người Đưa Thư không ph thu c vào h ộng viên ướng dẫn:ng dij = dji v i m i thành ph i, j và asymmetric TSP –ớng dẫn: ọc viên thực hiện: ối Ưu Hóa Đàn Kiến và Người Đưa Thư ATSP 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ồ Chí Minh, tháng 01 năm 2014 ại học ấp kiến thức, ộng viên ặp cạnh sao cho dij ≠ dji Đối với đồ thị không đối xứng ại học ối Ưu Hóa Đàn Kiến và Người Đưa Thư ớng dẫn: ồ Chí Minh, tháng 01 năm 2014 ị em trong gia đình đã hỗ trợ, lo lắng và động viên ối Ưu Hóa Đàn Kiến và Người Đưa Thư ức,
có (n-1)! đười Đưa Thư ng đi ch p nh n đấp kiến thức, ượ, lo lắng và động viên.c còn đ i v i đ th đ i x ng có (n-1)!/2ối Ưu Hóa Đàn Kiến và Người Đưa Thư ớng dẫn: ồ Chí Minh, tháng 01 năm 2014 ị em trong gia đình đã hỗ trợ, lo lắng và động viên ối Ưu Hóa Đàn Kiến và Người Đưa Thư ức,
đười Đưa Thư ng đi có kh năng Khi n l n ta không th tìm đảng viên hướng dẫn: ớng dẫn: ượ, lo lắng và động viên ời Đưa Thư c l i gi i t i u b ng cácảng viên hướng dẫn: ối Ưu Hóa Đàn Kiến và Người Đưa Thư ư ằng phương pháp RSAthu t toán vét c n, hại học ướng dẫn: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ảng viên hướng dẫn: ến và Người Đưa Thư ời Đưa Thư ảng viên hướng dẫn: ấp kiến thức, ỉ của khách hang để ối Ưu Hóa Đàn Kiến và Người Đưa Thư ư
b ng các thu t toán heuristic, ho c các thu t toán ti n hóa.ằng phương pháp RSA ặp cạnh sao cho dij ≠ dji Đối với đồ thị không đối xứng ến và Người Đưa Thư
Hình 2.a – Th hi n các đ nh trong th vi n TSP att532, tện: ỉ của khách hang để ư ện: ươnng ng v i 532 ức, ớng dẫn:thành ph c a Mỹ Hình 2.b – Th hi n các đ nh trong TSPLIB pcb1173 bi u di nối Ưu Hóa Đàn Kiến và Người Đưa Thư ủng hộ, giúp đỡ tôi ện: ỉ của khách hang để ễn tìm đường đi, các xây dựng các hàm đánh giá
1173 l trên m t b ng m ch in.ỗ Văn Nhơn ộng viên ảng viên hướng dẫn: ại học
2.2.2 D li u bài toán ữ liệu bài toán ện
Ph n này tìm hi u kh o sát các thành ph n, đ i tầy giáo, Cô giáo và các bạn để ảng viên hướng dẫn: ầy giáo, Cô giáo và các bạn để ối Ưu Hóa Đàn Kiến và Người Đưa Thư ượ, lo lắng và động viên.ng thông tin có tác đ ng ộng viên
tr c ti p ho c gián ti p đ n bài toán ngực hiện: ến và Người Đưa Thư ặp cạnh sao cho dij ≠ dji Đối với đồ thị không đối xứng ến và Người Đưa Thư ến và Người Đưa Thư ười Đưa Thư ưi đ a th : Đ a ch giao th , Kho ng ư ị em trong gia đình đã hỗ trợ, lo lắng và động viên ỉ của khách hang để ư ảng viên hướng dẫn:cách gi a các đ a đi m giao thị em trong gia đình đã hỗ trợ, lo lắng và động viên ư
2.2.3 Ràng bu c c a bài toán ội dung thực hiện ủa bài toán
- Hai đ a đi m giao th ch có 1 đị em trong gia đình đã hỗ trợ, lo lắng và động viên ư ỉ của khách hang để ười Đưa Thư ng đi duy nh tấp kiến thức,
- Tr ng s gi a hai đ a đi m giao th ph i là tr ng s dọc viên thực hiện: ối Ưu Hóa Đàn Kiến và Người Đưa Thư ị em trong gia đình đã hỗ trợ, lo lắng và động viên ư ảng viên hướng dẫn: ọc viên thực hiện: ối Ưu Hóa Đàn Kiến và Người Đưa Thư ươnng
Trang 10CH ƯƠN NG 3: GI I THU T ĐÀN KI N ẢM ƠN ẬN XÉT ẾN 3.1T ng quan v thu t gi i đàn ki n ổng quan về thuật giải đàn kiến ề ật giải đàn kiến ải đàn kiến ến
3.1.1 Ngu n g c ồn gốc ốc
Loài kiến là loài sâu bọ có tính chất xã hội, chúng sống thành từng đàn, bởi vậy có
sự tác động lẫn nhau, chúng thành thạo tìm kiếm thức ăn và hoàn thành nhiệm vụ từkiến chỉ huy Một điều thú vị torng tìm kiềm thức ăn của vài con kiến đặc biệt là khảnăng của chúng để tìm kiếm đường đi ngắn nhất giữa tổ kiến và nguồn thức ăn Trênthực tế, điề dễ nhận thấy có trong suy nghĩ nhưng nhiều con kiến hầu hết không nhận
ra vì chúng không dùng thị giác để tìm kiếm những đầu mối thức ăn
Tất cả mọi con kiến hầu như là mù, chúng chỉ có thể tương tác với nhau và với môitrường bằng cách sử dụng pheromone: đi đền đâu chúng xịt pheromone ra đến đấy.Mỗi một con kiến tại mỗi vị trí quyết định hướng đi tiếp theo dựa vào nồng độphernomone của các hướng Tại vị trí mà nồng độ pheromone xung quanh đều bằngnhau hoặc không có pheromone thì chúng sẽ quyết định hướng đi một cách ngẫunhiên Cứ như vậy thì các con kiến cứ đi theo bước chân của nhau và tạo thành mộtđường đi
Giả sử tại thời điếm ban đầu có 2 con kiến ra đi tìm thức ăn Vì ban đầu chưa cópheromone nên chung chọn 2 hướng đi khác nhau một cách ngẫu nhiên Một hướng cóđường đi đến nguồn thức ăn dài hơn hướng kia Trong giai đoạn đầu các con kiến đisau sẽ cảm nhận thấy nồng độ pheromone của cả 2 hướng là như nhau nên cũng chọn
đi theo một trong 2 hướng một cách ngẫu nhiên Tuy nhiên đương đi ngắn hơn làm chokhoảng cách di chuyển từ tổ đến nguồn thức ăn rồi quay trở lại của mỗi con kiến theođường đo cũng ngắn hơn và do đó mật độ di chuyển qua lại của đàn kiến tại mỗi vị trícủa con đường ngắn sẽ cao hơn con đường dài Do mật độ qua lại lớn hơn dẫn đến kếtquả là nồng độ pheromone trên con đường ngắn càng ngày càng cao hơn con đườngdài Kết quả là đàn kiến ngày càng từ bỏ con đường dài và đi theo con đường ngắn.Đến một lúc nào đó sẽ không còn con kiến nào đi theo con đường dài nữa mà tất cảđều đi theo con đường ngắn
Trang 11Thuật toán ACO lấy ý tưởng từ việc kiếm thức ăn của đàn kiến ngoài thực tế đểgiải quyết các bài toán tố ưu tổ hợp Chúng dựa trên cơ sở một đàn kiến nhân tạo,chúng được tính toán tìm kiếm thức ăn nhờ mùi lạ nhân tạo
Các thuật toán kiến lần đầu tiên được giới thiệu bởi Dorigo và các cộng sự như làcách tiếp cận đa tác tử tới các vấn đề về tối ưu tổ hợp khó, như bài toán người du lịch(TSP), bài toán người đưa thư Hiện nay số lượng các ứng dụng càng ngày càng tăng
và các nhà khoa học đã ứng dụng nó vào rất nhiều các vấn đề tối ưu rời rạc Các ứngdụng gần đây có thể kể đến như các bài toán lập lịch, tô màu đồ thị, định hướng trongmạng truyền thông, v.v…
3.1.2 Gi i thi u v thu t toán ới thiệu bài toán Người đưa thư ện ề ật giải đàn kiến
Sau đây là ví dụ về luồng đi của đàn kiến thực tế
a Kiến đi theo đường thẳng giữa A và E
b Khi có chướng ngại vật kiến sẽ chọn hướng đi, có hai hướng với khả năng kiến sẽchọn là như nhau
c Trên đường ngắn hơn thì nhiều mùi (pheromone) hơn
Hình 1
Trang 12Hình 2
Xem hình 2a là giải thích rõ tình huống trong hình trênGiả sử khoảng cách DH=BH=DB qua C và =1, C là điểm nằm giữa B và D(hình2a) Bây giờ chúng ta xem xét điều gì xảy ra tại những khoảng thời gian rời rạc: t=0, 1,2… Giả định rằng 30 con kiến mới đi từ A đến B, 30 con từ E đến D, mỗi kiến dichuyể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 pheromone bay hơi hoàntoà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ó 30 kiế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ó 15con kiến sẽ đi đến H và 15 con sẽ đi đến C (hình 2b)
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 Choặc hướng đến H Tại hướng đến H có vệt mùi 15 do 15 con kiến đi từ B đến H, tạihướng đến C có vệt mùi 30 do 15 kiến đi từ B đến D và 15 con đi từ D đến B thôngqua C (hình 2c) 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 H (20 con đến C và 10 con đến H).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 đi ngắn nhất
Trên đây chúng ta mô tả hành vi tìm kiếm của bầy kiến thực.Sau đây , chúng ta sẽtìm hiểu sâu hơn về các thuật toán kiến
Thuật toán tối ưu bầy kiến (ACO) nghiên cứu các hệ thống nhân tạo dựa vào hành
vi tìm kiếm của bầy kiến thực và được sử dụng để giải quyết các vấn đề về tối ưu rời
Trang 13rạc.Thuật toán bầy kiến siêu tìm kiếm(ACO meta_heuristic) lần đầu tiên được Dorigo,
Di Caro và Gambardella đề xuất vào năm 1999
Metaheuristic là một tập các khái niệm về thuật toán được sử dụng để xác định cácphương thức tìm kiếm thích hợp cho một tập các vấn đề khác nhau Hay nói cáchkhá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 đanăng
ACO là một meta-heuristic, trong đó một tập các con kiến nhân tạo phối hợp tìmkiếm các giải pháp tốt cho các vấn đề về tối ưu rời rạc Sự phối hợp là yếu tố cối lõicủa các thuật toán ACO Các con kiến nhân tạo liên lạc với nhau thông qua trung gian
mà ta thường gọi là mùi
Các thuật toán ACO được sử dụng để giải quyết các vấn đề về tối ưu tổ hợp tĩnh và động Các vấn đề tĩnh là các vấn đề mà ở đó các đặc tính của vấn đề là không thay đổi trong suốt quá trình giải quyết vấn đề Còn các vấn đề động thì ngược lại là một hàm các tham số mà giá trị của nó là động hay thay đổi trong quá trình giải quyết vấn đề, ví
dụ bài toán người đưa thư là một vấn đề dynamic problem
3.1.3 S đ chung thu t toán đàn ki ơ đồ chung thuật toán đàn kiế ồn gốc ật giải đàn kiến ến
ConstrucSolutions() là hàm xây dựng một giải pháp có thể theo phương pháp siêu
Trang 14Hình 3 Sơ đồ chung của thuật toán bầy kiến
Đó là sơ đồ chung của thuật toán bầy kiến, mục tiếp theo sẽ đi sâu vào mô tả thuật toán bầy kiến đơn giản cho bài toán người đưa thư Trung Hoa trên đồ thị hỗn hợp
3.1.4 N i dung thu t toán ội dung thực hiện ật giải đàn kiến
Trước khi nói về nội dung thuật toán bầy kiến ta đi tìm hiểu về đàn kiến trong tựnhiên, xem các đặc điểm và cách hoạt động của đàn kiến tự nhiên Từ đó có thể đưa racác đặc điểm cần thiết, tác động tới thuật toán bầy kiến
Đàn kiến tự nhiên: Là một loài có tổ chức cao, mỗi con kiến khi di chuyển sẽ để
lại một lượng thông tin pheromone trên mặt đất Đây là phương tiện để đánh dấu và đểđàn kiến trao đổi thông tin khi tìm kiếm thức ăn Khi đi tìm kiếm thức ăn: Sau khi tìmthấy nguồn thức ăn, thì mỗi con kiến sẽ tìm ra đường đi của nó để đi từ tổ tới nguồnthức ăn Chúng sẽ giao tiếp trao đổi thông tin với nhau, sau một thời gian cả đàn kiếngần như tìm ra và đi theo con đường ngắn nhất từ tổ tới nguồn thức ăn
Trang 15Sau khi nghiên cứu cho thấy cơ chế hoạt động của đàn kiến tự nhiên trong quá trìnhtìm đuờng đi ngắn nhất từ tổ tới nguồn thức ăn dựa trên các nguyên tắc sau:
một loại hóa chất mà các con kiến dùng để trao đổi thông tin với nhau
mà nó đã đi qua
các thông tin pheromone đã được để lại trên đường đi
Mỗi con kiến di chuyển một cách ngẫu nhiên khi không có thông tin vềpheromone trên đoạn đường đi
lại các đoạn đường có lượng pheromone thấp thì xác suất được chọn là bé
Từ việc nghiên cứu cơ chế hoạt động của đàn kiến tự nhiên đã cho ra đời thuật toánbầy kiến Một cách không chính thức có thể nói thuật toán bầy kiến là một bầy kiếnnhân tạo để giải bài toán đưa ra
Hệ thống Ant Colony – Thuật toán bầy kiến: Là một đàn kiến nhân tạo
(Artificial Ants) mô phỏng các hoạt động của đàn kiến tự nhiên Tất nhiên là có một sốthay đổi, điều chỉnh so với đàn kiến tự nhiên để tăng tính hiệu quả của thuật toán.Trong đó hoạt động chính của các con kiến nhân tạo là tìm đường đi dựa vào lượngthông tin Pheromone đã để lại trên mỗi đoạn đường Chi tiết về hoạt động của đàn kiếnnhân tạo:
Bài toán cần giải sẽ được đưa về dạng một đồ thị đầy đủ với các ràng buộc của bàitoán được thể hiện bằng các công thức toán học Việc giải bài toán đặt ta có sẽ đưa về
là tìm một đường đi (hoặc tập các đỉnh) thỏa mãn các ràng buộc của bài toán Cácnguyên tắc sau được đưa ra:
của các đoạn tiếp theo được chọn vào làm đường đi của con kiến
hơn Và các đường đi có lượng thông tin pheromone bé sẽ có xác suất đượcchọn thấp hơn