TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010 9 ỨNG DỤNG GIẢI THUẬT META-HEURISTIC TRONG BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT APPLICATION OF META-HEURISTIC ALGORITHM FOR A SEARCH OF SHORTEST PATH Đoàn Duy Bình Trường Đại học Sư phạm, Đại học Đà Nẵng TÓM TẮT Bài toán tìm kiếm được xem là bài toán được nhiều người quan tâm, đặc biệt là tìm kiếm tối ưu toàn cục. Một thuật toán được xem là lý thuyết vững chắc trong việc giải các bài toán tìm kiếm tối ưu toàn cục đã có nhiều ứng dụng thực tế như: tìm kiếm các trang web cần tìm trên mạng, kế hoạch sắp xếp thời khóa biểu cho các y tá trong bệnh viện, tìm kiếm đường đi tối ưu cho những ng ười lái xe hơi… đấy là thuật toán kiến (ACS – Ant Colony Search hoặc ACO - Ant Colony Optimization). Trong bài báo này chúng tôi giải thuật Meta-Heuristic và đặc biệt là thuật toán kiến để thực hiện bài toán tìm kiếm. Thuật toán kiến mô phỏng hành vi của đàn kiến trong tự nhiên nhằm tìm kiếm đường đi ngắn nhất giữa tổ kiến và nguồn thức ăn dựa trên mật độ mùi - Pheromone mà các con kiến để lại trên đường đi. ABSTRACT Search problem is a problem that concerns many people, especially in the field of global optimal search. An algorithm is considered to be a well-established theory in solving problems of globally optimal search and it has many practical applications such as searching for pages needed to be found on the web, planning a schedule for the nurses in hospitals, finding an optimal way for people to drive,etc That is an ant algorithm (ACS - Ant Colony Search or ACO - Ant Colony Optimization). In this paper, we introduce the Meta-Heuristic algorithm, especially ACO to make search problems. The Ant Algorithm describes the behaviour of natural ants to find the shortest way between food sources and density based on the pheromone that the ants left on the road. 1. Giới thiệu về ACO (ANT COLONY OPTIMIZATION) Các lnh vc nghiên cu thut toán kin ã thu c t nhng quan sát mô hình, hành vi thc t ca loài kin, và s dng các mô hình này nh là mt ngun cm hng cho vic thit k các thut toán cho các gii pháp ti u hóa và phân phi kim soát các vn . Các ý tng chính là vic t t chc phi hp gia các nguyên tc cho phép vi hành vi thc s ca loài kin có th c trin khai gii quyt vn v máy tính. Mt s khía cnh khác nhau các hành vi ng x ca các àn kin có cm hng cho các thut toán kin khác nhau. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010 10 2. Khám phá hành vi của đàn kiến và sự tối ưu hoá Nhng hình nh nhn thc c bit ca àn kin ch n gin là s phát trin và hoàn toàn mò mm. Trong thc t, mt iu quan trng trong nghiên cu v loài kin là hành vi liên lc gia các con kin, hoc gia các cá nhân vi môi trng, c da trên vic s dng các sn phm hóa cht ca các loài kin. Các hóa cht ó c gi là pheromones. a. Thí nghiệm chiếc cầu đôi S gi vt mùi pheromones và hành vi ca mt s loài kin ã c iu tra kim soát trong các th nghim ca mt s nhà nghiên cu. Mt trong nhng thí nghim ni bt nht là thí nghim c thit k và i vào hot ng ca Deneubourg và các ng nghip ca ông [1] , ngi mà ã s dng mt cây cu ni t ca àn kin vi ngun thc n. H chy các th nghim vi t l sl llr / = gia dài hai nhánh ca cây cu, l l là dài ca nhánh dài và s l là dài ca nhánh ngn hn. Trong th nghim u tiên vi cây cu có hai nhánh chiu dài bng nhau (r = 1; xem hình 1.1a). . Hình 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 Khi bt u, trên 2 nhánh ca cây cu u cha có pheromones. Do ó, các con kin có th chn mt trong các nhánh vi cùng mt xác sut. Tuy nhiên, do s la chn là ngu nhiên lên sau mt thi gian s lng kin i trên nhng chi nhánh s là khác nhau. Bi vì loài kin s gi pheromones trong khi di chuyn, dn dn s lng pheromones trên nhng nhánh cng s khác nhau, iu này càng kích thích thêm àn kin s la chn nhánh có lng mùi pheromones ln, và nh vy n mt thi gian nào ó tt c àn kin s hi t v cùng mt nhánh. ( a ) T kin Thc n 15c m 60 0 21 T kin Thc n ( b ) TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010 11 b. Một mô hình ngẫu nhiên Trong mô hình này, là mi giây àn kin bng qua cu trong mi hng mt tc hng s v (cm/s), mt trong nhng n v gi pheromones trên các nhánh. Cho d dài l l và s l (cm) trong các nhánh dài và ngn, mt con kin chn nhánh ngn s i ngang qua nó trong khong thi gian là t s = l s / v (giây), trong khi kin la chn Chi nhánh dài s s dng r.t s giây, vi r=l l /l s . Xác sut p ia (t) là xác xut ti im i (i {1,2}) (xem hình 1.1b) kin chn nhánh a (a {s,l}), trong ó s, l là các chi nhánh ngn và dài tng ng, ti thi im t tng s lng pheromones ia (t) c thit lp trên các chi nhánh, là tng lng pheromones mà các loài kin li trên các chi nhánh cho n thi gian t ó. Trong mô hình này àn kin gi li vt mùi pheromones ca h trên c hai ng i: t t n ngun thc n và quay tr li t. S di chuyn này là mt hành vi ng x cn thit có c s hi t ca àn kin hng v nhánh ngn. 2. Đàn kiến nhân tạo Qua th nghim chic cu ôi cho thy rõ ràng có kh nng xây dng c ti u hóa àn kin: Thông tin tìm ra con ng ngn nht gia 2 im có th da vào quy tc xác xut. Có 2 khía cnh bt ng quan trng: - Phm vi xem xét các hành vi ca h thng là trung bình, và không phi nhng hành vi ng x tuân theo bin thiên ngu nhiên ca àn kin là duy nht. - ây là thí nghim trên nhng thi gian không liên tc, trong khi trc ó mô hình xét trong mt thi gian liên tc. 3. Kiến nhân tạo và chi phí tối thiểu trên đường đi Nhng hành vi là: 1. Gii pháp xây dng theo hng xác xut bi vt mùi pheromones, vi s cp nht pheromones nhanh 2. Thuyt tin nh con ng quay tr li vi vic loi b vòng lp và s cp nht pheromones 3. ánh giá v cht lng ca các gii pháp to ra và s dng các gii pháp cht lng trong vic xác nh s lng pheromones ã gi li. Xác xuất chọn đỉnh tiếp theo của đàn kiến và giải pháp xây dựng. S-ACO àn kin có hai phng thc hot ng: chuyn tip và quay tr li. Thuyết tiền định về hành vi quay trở về tổ của đàn kiến và sự cập nhật pheromones. Vic s d ng mt b nh rõ ràng cho phép mt con kin có th tr li con ng mà nó ã i trong khi tìm kim n nh ích. Cơ sở giải pháp hiệu quả của sự cập nhập pheromones. Trong S-ACO àn kin nh các nh mà nó i qua trong quá trình tìm ngun thc n, cng nh các chi phí trên các cnh ã qua nu biu có trng s. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010 12 Sự bay hơi của Pheromones. Trong àn kin thc, lng pheromone gim theo thi gian vì có s bay hi. biu din mi cnh (i,j) ca th G =(N,A) chúng tôi dùng mt bin gi là τ ij gi là vt mùi nhân to, rút ngn lng mùi pheromones trong thi gian tip theo. Vt mùi pheromones c to và cp nhp bi àn kin. nhng phng thc tính s lng vt mùi pheromones trên các cnh ch c tính theo t l, c tính ca àn kin. Hành vi tìm kiếm đường đi của đàn kiến Mi kin, bt u t mt nh, mt gii pháp cho vn ng dng tng bc c gii quyt. Mt con kin k ti mt nh i bt kì s dng vt mùi pheromones ij τ tính xác sut chn nh j nh sau: Trong ó k I N là vùng lân cn ca kin k nh i trong S-ACO vùng lân cn ca nh i là tt c các nh kt ni trc tip n nh i trong th G =(N,A), ngoi tr tt c các nh trc (ví d, các nh trc khi di chuyn n nh i ca kin). Đường đi về tổ và sự cập nhập vết mùi. Khi t ti nh ích, kin thc hin quá trình quay v t trên cùng con ng n ngun thc phm. B sung tính nng này là, trc khi bt u quá trình quay v t, kin s loi b nhng ng i ri vào tình trng vòng lp mà nó ã gp phi trên ng i tìm n ngun thc n. Trong thi gian quay tr v t con kin th k s li mt lng ∆τ k pheromones trên các cnh mà nó i qua. Trong ó, nu kin th k quay tr v t trên cnh (i,j), thì giá tr ij τ pheromones s thay i nh sau: k ijij τττ ∆+← (1.9) Mt khía cnh quan trng vn là s la chn ca ∆τ k . Trong nhng trng hp n gin nht, giá tr ca ∆τ k là mt hng s cho tt c các loài kin. Sự bay hơi của vết mùi pheromones.Vt mùi pheromones bay hi có th c coi nh là mt k thut thm dò nhanh chóng ca àn kin tìm im cc thun tt trên ng i. Sau ó mi kin th k di chuyn n mt nh k tip nào ó tu theo hành vi tìm kim ca kin ã c mô t trên, lng bay hi ca pheromones c áp dng theo công thc sau ây vi tt c các cung: ij =(1- ) ij , □ (i,j) ∈ A , p ∈ (0,1) ( 1.10) ⎪ ⎩ ⎪ ⎨ ⎧ Ν ∉ Ν ∈ ∑ ∈ = k i j if ,0 k i j if , α τ τ α il N k i l ij k ij p (1.8) TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010 13 Trong ó tham s (0,1]. Sau khi s bay hi pheromones ã c áp dng cho tt c các cnh, s lng pheromones ∆τ k s c thêm vào các cnh. 2. Các ACO METAHEURISTIC 2.1. Trình bày vấn đề Chúng tôi xem xét các vn cc tiu hoá ( Ω ,, fS ). Trong ó S là ni tp hp các gii pháp c xét, f là mc tiêu ca chc nng quan trng, trong ó quy nh giá tr ca chc nng ó là mt hng s ),( tsf ca mi gii pháp Ss ∈ và )(tΩ là mt tp hp các khó khn (s bt ép, s è nén). 2.2. Hành vi của đàn kiến ó là gii pháp xây dng da vào di chuyn có th c trên th ),( LCG C = trong ó , C: Là các nút trên th, L là tp hp y các thành phn kt ni ca C. Các vn có iu kin (t) c àn kin tìm kim xây dng lên. Các thành phn Cc i ∈ và các kt ni Ll ij ∈ có th lên kt vi nhau vt mùi pheromones τ . 3. Phân tích giải thuật Tht s, mt thut toán ACO có th c hình dung nh s tác ng ca ba th tc [2] : ConstructAntsSolutions, UpdatePheromones, và DaemonActions. ConstructAntsSolutions (Giải pháp xây dựng các loài kiến) là qun lý mt àn kin xy ra ng thi và không ng b ca các vn cn xem xét ca àn kin, bng cách di chuyn qua các nh bên cnh ca th G C . UpdatePheromones (Cập nhật pheromones) là quá trình mà vt mùi pheromones c sa i. . DaemonActions (Những hành động) th tc c s dng thc hin nhng hành ng tp trung mà iu này không th thc hin bi nhng con kin riêng l. Procedure ACOMetaheuristic ScheduleActivities ConstructAntsSolutions UpdatePheromones DaemonActions % optionnal End-ScheduleActivities End-procedure. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010 14 S thut toán ACO cho bài toán TSP Hình 3. Sơ đồ thuật toán ACO cho bài toán TSP 4. Đề xuất ứng dụng Bài toán ngi du lch (TSP) là mt trong nhng bài toán kinh in và c u t nghiên cu trong mt thi gian dài. Nó góp phn quan trng vào vic nghiên cu gii thut ACO: Các gii thut ACO nguyên thy và nhng ci tin ca gii thut này v sau u c áp dng mô phng bi bài toán ngi du lch. 5. Triển khai ứng dụng Bài toán ngi di lch có th c biu din khái quát bng mt th có trng s G(N,A) vi N là tâp hp các nút mô t cho các thành ph, A là tp hp các cung mô t on ng gia hai thành ph. úng Sai úng Sai Bắt đầu nh v kin ngu nhiên trong nhng thành ph trên li và ct thành ph hin thi trong danh sách visited Xác nh xác sut có th nh là n thành ph nào tip theo Di chuyn ti thành ph tip theo và t thành ph này trong danh sách visited Tt c các thành ph ã c ghé thm Ghi li dài ca cuc hành trình và xoá danh sách visited Xác nh hành trình ngn nht t trc n nay và cp nht pheromone S vòng lp ti a ã c thc hin Kết thúc TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010 15 Mi cung (i,j) thuc A c gán mt giá tr d ij mô t chiu dài ca ng i gia hai nh i, j vi i, j thuc N. Mc ích cui cùng ca bài toán ngi di lch chính là tìm ra chu trình Hamilton ngn nht ca th G có n nh vi n là s thành ph mà ngi di lch phi i qua. Nh vy, kt qu tt nht ca bài toán chính là mt hoán v ca các nh {1, 2,…, n}, sao cho chiu dài f() là nh nht. f() c tính theo công thc sau: 5.1. Giải thuật ACO cho bài toán người di lịch Vic xây dng mt th G=(C, L) tng ng vi vic xây dng th G(N,A) trên vi C=N và L=A. Trong ó tp hp các ng i ca th tng ng vi tp hp các hành trình tng phn có th có và giá tr nhm ràng buc rng con kin ch tìm nhng ng i tng ng vi các hoán v ca các thành ph. ây bài toán tìm ng i ngn nht qua tt c các nh ca th mi nh mt ln có mi liên h mt thit vi bài toán tìm ng i ngn nht ca con kin. Hình 3. Một con kiến đang ở thành phố i muốn đến thành phố tiếp theo sẽ dựa trên giá trị dấu τ ij và giá trị Heuristic η ij trên cung nối thành phố i với thành phố j mà con kiến chưa đến. ACO Metaheuristic tĩnh procedure ACOMetaheuristicStatic set parameters, initialize pheromone trails while (termination condition not met) do ConstructAntsSolutions ApplyLocalSearch % tùychn UpdatePheromones end end 5.2. Hệ thông kiến (Ant System – AS) và những cải tiến Kh nng mà con kin k có th i t thành ph hin ti i n thành ph j c tính theo công thc nh sau [3] : nu j Ν k i ∈ TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010 16 vi ij =1/ d ij là giá tr Heuristic có th có, α và β là hai tham s quyt nh s nh hng ln nhau ca các pheromones trên các hành trình c xây dng và các thông tin Heuristic. N i k là nhng thành ph mà con kin k có th i n, t v trí hin ti là thành ph i ( ây là các thành ph mà con kin này cha ving thm bao gi). Vi tp lut nh trên, kh nng la chn mt cung (i,j) t l thun vi giá tr ca các pheromones có liên quan ij và ca giá tr heuristic ij . Sau khi tt cá các hành trình c xây dng, các pheromone bt u c cp nht. Vic cp nht c thc hin bng cách gim mt pheromone trên tt c các cung ca th, sau ó thêm pheromone trên các hành trình mà con kin ã i qua. Vic xóa các du c thc hin nh sau: τ ij ← (1-ρ)τ ij , □ (i,j) ∈ L (3.3) vi 0<≤1 là t l mt pheromone, dùng gii hn s tng lên ca pheromoe trên các hành trình. Sau khi pheromone mt i, tt c các con kin s ghi du trên các hành trình ca nó theo công thc nh sau: (3.4) vi ij k là s lng các du con kin k thc hin ghi du trên hành trình mà nó i qua. ij k c nh ngha nh sau: (3.5) Nu cng (i,j) thuc T k trng hp ngc li vi C k là dài ca hành trình T k c xây dng bi con kin th k, c tính bng tng chiu dài ca các cung thuc T k . TÀI LIỆU THAM KHẢO [1]. M. Dorigo and Thomas Stützle. Ant Colony Optimization, papes 17-20. McGraw Hill, London, UK, 2004 [2]. M. Dorigo and Thomas St ützle. Ant Colony Optimization, papes 70-90. McGraw Hill, London, UK, 2004 [3]. M. Dorigo and T. Stütxle. The ant colony optimization metaheuristic: Algorithms, applications and advances . Technical Report IRIDIA/2000-32, IRRIDIA, Université Libre de Bruxelles, Belgium, 2000. . TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010 9 ỨNG DỤNG GIẢI THUẬT META-HEURISTIC TRONG BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT APPLICATION OF META-HEURISTIC ALGORITHM. TẮT Bài toán tìm kiếm được xem là bài toán được nhiều người quan tâm, đặc biệt là tìm kiếm tối ưu toàn cục. Một thuật toán được xem là lý thuyết vững chắc trong việc giải các bài toán tìm kiếm. thuật toán kiến (ACS – Ant Colony Search hoặc ACO - Ant Colony Optimization). Trong bài báo này chúng tôi giải thuật Meta-Heuristic và đặc biệt là thuật toán kiến để thực hiện bài toán tìm kiếm.