Báo cáo khoa học: " ỨNG DỤNG GIẢI THUẬT META-HEURISTIC TRONG BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT" pot

8 981 8
Báo cáo khoa học: " ỨNG DỤNG GIẢI THUẬT META-HEURISTIC TRONG BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT" pot

Đang tải... (xem toàn văn)

Thông tin tài liệu

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 lnh vc nghiên cu thut toán kin ã thu c t nhng quan sát mô hình, hành vi thc t ca loài kin, và 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 cho các gii pháp ti u hóa và phân phi kim soát các vn . Các ý tng chính là vic t t chc phi hp gia các nguyên tc cho phép vi hành vi thc s ca loài kin có th c trin khai  gii quyt vn  v máy tính. Mt s khía cnh khác nhau  các hành vi ng x ca các àn kin có cm hng cho các thut toán kin 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á Nhng hình nh nhn thc c bit ca àn kin ch n gin là s phát trin và hoàn toàn mò mm. Trong thc t, mt iu quan trng trong nghiên cu v loài kin là hành vi liên lc gia các con kin, hoc gia các cá nhân vi môi trng, c da trên vic s dng các sn phm hóa cht ca các loài kin. Các hóa cht ó c gi là pheromones. a. Thí nghiệm chiếc cầu đôi S gi vt mùi pheromones và hành vi ca mt s loài kin ã c iu tra kim soát 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 c thit k và i vào hot ng ca Deneubourg và các ng nghip ca ông [1] , ngi mà ã s dng mt cây cu ni t ca àn kin vi ngun thc n. H chy các th nghim vi t l sl llr / = gia  dài hai nhánh ca cây cu, l l là  dài ca nhánh dài và s l là  dài ca nhánh ngn hn. Trong th nghim u tiên vi cây cu có hai nhánh chiu dài bng 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 bt u, 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 chi nhánh s là khác nhau. Bi vì loài kin s gi 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, iu này càng kích thích thêm àn kin s la chn nhánh có lng mùi pheromones ln, và nh vy n mt thi gian nào ó tt c àn kin s hi t v cùng mt nhánh. ( a ) T kin Thc n 15c m 60 0 21 T kin Thc 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à mi giây àn kin bng qua cu trong mi hng  mt tc  hng s v (cm/s), mt trong nhng n v gi 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à ngn, mt con kin chn nhánh ngn s i ngang qua nó trong khong thi gian là t s = l s / v (giây), trong khi kin la chn Chi nhánh dài s s dng r.t s giây, vi r=l l /l s . Xác sut p ia (t) là xác xut ti im i (i  {1,2}) (xem hình 1.1b) kin chn nhánh a (a  {s,l}), trong ó s, l là các chi nhánh ngn và dài tng ng, ti thi im t tng s lng pheromones  ia (t) c thit lp trên các chi nhánh, là tng lng pheromones mà các loài kin  li trên các chi nhánh cho n thi gian t ó. Trong mô hình này àn kin gi li vt mùi pheromones ca h 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. 2. Đà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 ti u hóa àn kin: Thông tin  tìm ra con ng ngn nht gi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: - 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. 3. Kiến nhân tạo và chi phí tối thiểu trên đường đi Nhng hành vi là: 1. Gii pháp xây dng theo hng xác xut bi vt mùi pheromones, vi s cp nht pheromones nhanh 2. Thuyt tin nh con ng quay tr li vi vic loi b vòng lp và s cp nht pheromones 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 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 kin có hai phng thc hot ng: chuyn tip và quay tr li. 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. 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. 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 kin thc, lng pheromone gim theo thi gian vì có s bay hi.  biu din mi cnh (i,j) ca  th G =(N,A) chúng tôi dùng mt bin gi là τ ij gi là vt mùi nhân to,  rút ngn lng mùi pheromones trong thi gian tip theo. Vt mùi pheromones c to và cp nhp bi àn kin.  nhng phng thc tính s lng vt mùi pheromones trên các cnh ch c tính theo t l, c tính ca àn kin. Hành vi tìm kiếm đường đi của đàn kiến Mi kin, bt u t mt nh, mt gii pháp cho vn  ng dng tng bc c gii quyt. Mt con kin k ti mt nh i bt kì s dng vt mùi pheromones ij τ  tính xác sut chn nh j nh sau: Trong ó k I N là vùng lân cn ca kin k  nh i trong S-ACO vùng lân cn ca nh i là tt c các nh kt ni trc tip n nh i trong  th G =(N,A), ngoi tr tt c các nh trc (ví d, các nh trc khi di chuyn n nh i ca kin). Đường đi về tổ và sự cập nhập vết mùi. Khi t ti nh ích, kin thc hin quá trình quay v t trên cùng con ng n ngun thc phm. B sung tính nng này là, trc khi bt u quá trình quay v t, kin s loi b nhng ng i ri vào tình trng vòng lp mà nó ã gp phi trên ng i tìm n ngun thc n. Trong thi gian quay tr v t con kin th k s  li mt lng ∆τ k pheromones trên các cnh mà nó i qua. Trong ó, nu kin th k quay tr v t trên cnh (i,j), thì giá tr ij τ pheromones s thay i nh sau: k ijij τττ ∆+← (1.9) Mt khía cnh quan trng vn là s la chn ca ∆τ k . Trong nhng trng hp n gin nht, giá tr ca ∆τ k là mt hng s cho tt c các loài kin. Sự bay hơi của vết mùi pheromones.Vt mùi pheromones bay hi có th c coi nh là mt k thut thm dò nhanh chóng ca àn kin tìm im cc thun tt trên ng i. Sau ó mi kin th k di chuyn n mt nh k tip nào ó tu theo hành vi tìm kim ca kin ã c mô t  trên, lng bay hi ca pheromones c áp dng theo công thc sau ây vi tt 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 hi pheromones ã c áp dng cho tt c các cnh, s lng pheromones ∆τ k s c thêm vào các cnh. 2. Các ACO METAHEURISTIC 2.1. Trình bày vấn đề Chúng tôi xem xét các vn  cc tiu hoá ( Ω ,, fS ). Trong ó S là ni tp hp các gii pháp c xét, f là mc tiêu ca chc nng quan trng, trong ó quy nh giá tr ca chc nng ó là mt hng s ),( tsf ca mi gii pháp Ss ∈ và )(tΩ là mt tp hp các khó khn (s bt ép, s è nén). 2.2. Hành vi của đàn kiến ó là gii pháp xây dng da vào di chuyn có th c trên  th ),( LCG C = trong ó , C: Là các nút trên  th, L là tp hp y  các thành phn kt ni ca C. Các vn  có iu kin (t) c àn kin tìm kim xây dng lên. Các thành phn Cc i ∈ và các kt ni Ll ij ∈ có th lên kt vi nhau  vt mùi pheromones τ . 3. Phân tích giải thuật Tht s, mt thut toán ACO có th c hình dung nh s tác ng ca ba th tc [2] : ConstructAntsSolutions, UpdatePheromones, và DaemonActions. ConstructAntsSolutions (Giải pháp xây dựng các loài kiến) là qun lý mt àn kin xy ra ng thi và không ng b ca các vn  cn xem xét ca àn kin, bng cách di chuyn qua các nh bên cnh ca  th G C . UpdatePheromones (Cập nhật pheromones) là quá trình mà vt mùi pheromones c sa i. . DaemonActions (Những hành động) th tc c s dng  thc hin nhng hành ng tp trung mà iu này không th thc hin bi nhng con kin 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  thut 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 ngi du lch (TSP) là mt trong nhng bài toán kinh in và c u t nghiên cu trong mt thi gian dài. Nó góp phn quan trng vào vic nghiên cu gii thut ACO: Các gii thut ACO nguyên thy và nhng ci tin ca gii thut này v sau u c áp dng mô phng bi bài toán ngi du lch. 5. Triển khai ứng dụng Bài toán ngi di lch có th c biu din khái quát bng mt  th có trng s G(N,A) vi N là tâp hp các nút mô t cho các thành ph, A là tp hp các cung mô t on ng gia hai thành ph. úng Sai úng Sai Bắt đầu nh v kin ngu nhiên trong nhng thành ph trên li và ct thành ph hin thi trong danh sách visited Xác nh xác sut có th nh là n thành ph nào tip theo Di chuyn ti thành ph tip theo và t thành ph này trong danh sách visited Tt c các thành ph ã c ghé thm Ghi li  dài ca cuc hành trình và xoá danh sách visited Xác nh hành trình ngn nht t trc n nay và cp nht pheromone S vòng lp ti a ã c thc hin Kết thúc TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010 15 Mi cung (i,j) thuc A c gán mt giá tr d ij mô t chiu dài ca ng i gia hai nh i, j vi i, j thuc N. Mc ích cui cùng ca bài toán ngi di lch chính là tìm ra chu trình Hamilton ngn nht ca  th G có n nh vi n là s thành ph mà ngi di lch phi i qua. Nh vy, kt qu tt nht ca bài toán chính là mt hoán v  ca các nh {1, 2,…, n}, sao cho chiu dài f() là nh nht. f() c tính theo công thc sau: 5.1. Giải thuật ACO cho bài toán người di lịch Vic xây dng mt  th G=(C, L) tng ng vi vic xây dng  th G(N,A)  trên vi C=N và L=A. Trong ó tp hp các ng i ca  th tng ng vi tp hp các hành trình tng phn có th có và giá tr  nhm ràng buc rng con kin ch tìm nhng ng i tng ng vi các hoán v ca các thành ph.  ây bài toán tìm ng i ngn nht qua tt c các nh ca  th mi nh mt ln có mi liên h mt thit vi bài toán tìm ng i ngn nht ca con kin. 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ùychn UpdatePheromones end end 5.2. Hệ thông kiến (Ant System – AS) và những cải tiến Kh nng mà con kin k có th i t thành ph hin ti i n thành ph j c tính theo công thc nh sau [3] : nu j Ν k i ∈ TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(40).2010 16 vi  ij =1/ d ij là giá tr Heuristic có th có, α và β là hai tham s quyt nh s nh hng ln nhau ca các pheromones trên các hành trình c xây dng và các thông tin Heuristic. N i k là nhng thành ph mà con kin k có th i n, t v trí hin ti là thành ph i ( ây là các thành ph mà con kin này cha ving thm bao gi). Vi tp lut nh trên, kh nng la chn mt cung (i,j) t l thun vi giá tr ca các pheromones có liên quan  ij và ca giá tr heuristic  ij . Sau khi tt cá các hành trình c xây dng, các pheromone bt u c cp nht. Vic cp nht c thc hin bng cách gim mt  pheromone trên tt c các cung ca  th, sau ó thêm pheromone trên các hành trình mà con kin ã i qua. Vic xóa các du c thc hin nh sau: τ ij ← (1-ρ)τ ij , □ (i,j) ∈ L (3.3) vi 0<≤1 là t l mt pheromone, dùng  gii hn s tng lên ca pheromoe trên các hành trình. Sau khi pheromone mt i, tt c các con kin s ghi du trên các hành trình ca nó theo công thc nh sau: (3.4) vi   ij k là s lng các du con kin k thc hin ghi du trên hành trình mà nó i qua.   ij k c nh ngha nh sau: (3.5) Nu cng (i,j) thuc T k trng hp ngc li vi C k là  dài ca hành trình T k c xây dng bi con kin th k, c tính bng tng chiu dài ca các cung thuc 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.

Ngày đăng: 22/07/2014, 20:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan