Tiểu luận 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Ư

30 861 2
Tiểu luận 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Ư

Đ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

Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN KHOA KHOA HỌC MÁY TÍNH TIẾU LUẬN MƠN HỌC THUẬT TỐN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ: THUẬT TỐN TỐI ƯU HĨA ĐÀN KIẾN VÀ BÀI TOÁN NGƯỜI ĐƯA THƯ Giảng viên hướng dẫn: PGS TS ĐỖ VĂN NHƠN Học viên thực hiện: LÊ DUY ĐẮC NHÂN MSHV: CH1301045 GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang TP Hồ Chí Minh, tháng 01 năm 2014 GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang LỜI CẢM ƠN Em xin bày tỏ lòng biết ơn sâu sắc đến PGS TS Đỗ Văn Nhơn, trường Đại học Công Nghệ Thông Tin, ĐHQG TP.HCM tận tình hướng dẫn, cung cấp kiến thức, truyền đạt kinh nghiệm q báu giúp em hồn thành tốt thu hoạch Xin cám ơn cha, mẹ, anh, chị em gia đình hỗ trợ, lo lắng động viên Đồng thời, xin cám ơn tất bạn lớp cao học khóa 08 ủng hộ, giúp đỡ tơi q trình thực tiểu luận Dù có nhiều cố gắng chắn khơng tránh khỏi thiếu sót, em mong nhận đóng góp ý kiến Thầy giáo, Cô giáo bạn để đề tài hoàn thiện Em xin chân thành cảm ơn! Tp Hồ Chí Minh, tháng 01 năm 2014 Học viên Lê Duy Đắc Nhân GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang NHẬN XÉT (Của giảng viên hướng dẫn) GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang MỤC LỤC CHƯƠNG 1: TỔNG QUAN 1.1 Đặt vấn đề Hiện có nhiều báo, luận văn, cơng trình nghiên cứu đề cập đến vấn đề tối ưu tổ hợp Nhiều phương pháp mẻ đưa đạt hiệu cao Tuy nhiên phần lớn toán tối ưu tổ hợp giải từ trước tới toán tĩnh So với tốn tĩnh tốn động phức tạp ứng dụng thực tế nhiều Chẳng hạn ứng dụng định tuyến gói tin mạng internet, tổng đài điện thoại Một cách tiếp cận có hiệu tốn tối ưu tổ hợp tĩnh phương pháp tối ưu hóa đàn kiến (Ant Colony Optimization- ACO) ACO phương pháp metaheuristic nhiều người quan tâm Thuật toán ACO (1991) mang lại nhiều ý tưởng cảm hứng với mục đích cải tiến thuật tốn ACO để áp dụng cho nhiều tốn khác Luận văn trình bày cách khái quát thuật toán ACO kiểm chứng phương pháp áp dụng ACO việc giải toán người đưa thư dạng toán tối ưu tổ hợp động Bài toán Người Đưa Thư thực chất tên gọi khác toán người chào hàng (Travelling Salesman Problem - TSP) tiếng 1.2 Ý nghĩa Qua việc thực tiểu luận, giúp cho tác giả hiểu rõ về toán “Người đưa thư” phương pháp tiếp cận giải tốn “Người đưa thư”, qua có so sánh đánh giá thuật tốn Tìm hiểu sâu thuật toán đàn kiến biến thể, ứng dụng vào giải tốn “Người đưa thư” nh8a2m có cải tiến buốc thuật giải đàn kiến với tốn cụ thể biểu diễn tìm đường đi, xây dựng hàm đánh giá TSP có vài ứng dụng chí dạng thức nguyên thuỷ lập kế hoạch , logistic , sản xuất microchip Thay đổi chút xuất tốn nhiều lĩnh vực việc phân tích gen sinh học Trong ứng dụng này, khái niệm thành phố thay đổi thành khách hàng, điểm hàn bảng mạch, mảnh DNA gen, khái niệm khoảng cách biểu diễn thời gian du lịch hay giá thành , hay giống so sánh mảnh DNA với Trong nhiều ứng dụng, hạn chế truyền thống giới hạn tài ngun hay giới hạn thời gian chí cịn làm cho tốn trở nên khó GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 1.3 Nội dung thực Bài tiểu luận tìm hiểu trình bày vấn đề sau: a) Tìm hiểu số định nghĩa lý thuyết mật mã như:  Khát quát mật mã, khái niệm hệ mật mã khố bí mật hệ mật mã khố cơng khai  Lý thuyết chung phương pháp mã hố: phương pháp mã hố khóa bí mật phương pháp mã hố khóa cơng khai, nêu ưu điểm nhược điểm hai phương pháp Trình bày chi tiết hệ mật mã khóa cơng khai RSA… b) Cơ sở lý thuyết tốn học lý thuyết mật mã:  Số nguyên tố phân tích thừa số ngun tố  Tính tốn đồng dư tính logarit rời rạc  Ước chung hai số vấn đề liên quan c) Hệ mật mã công khai RSA: o Phương pháp mã hóa RSA o Ưu khuyết điểm o Độ an tồn mã hóa liệu phương pháp RSA - GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang CHƯƠNG 2: TỔNG QUAN VỀ BÀI TOÁN NGƯỜI ĐƯA THƯ 2.1 Giới thiệu toán Người đưa thư Một người đưa thư xuất phát từ bưu điện nơi làm việc anh ta, muốn tìm đường ngắn qua tất địa khách hang để giao thư địa điểm lần sau trở địa điểm ban đầu bưu điện khởi đầu Bài toán Người đưa thư hay gọi TSP phát biểu vào kỷ 17 hai nhà toán học vương quốc Anh Sir William Rowan Hamilton Thomas Penyngton Kirkman, ghi gsiáo trình Lý thuyết đồ thị tiếng Oxford Nó nhanh chóng trở thành tốn khó thách thức tồn giới độ phức tạp thuật toán tăng theo hàm số mũ (trong chuyên ngành thuật tốn người ta cịn gọi chúng tốn NP-khó) Người ta bắt đầu thử cơng bố kết giải toán máy tính từ năm 1954 (49 đỉnh), năm 2004 toán giải với số đỉnh lên tới 24.978, dự báo tiếp tục tăng cao 2.2 Bài toán Người đưa thư 2.2.1 Giới thiệu tốn Hình TSP mơ đồ thị , đỉnh đồ thị tương ứng với thành phố cạnh tương ứng với đường nối thành phố, chiều dài cạnh tương ứng với khoang cách thành phố Một đường toán TSP chu trình Hamilton đồ thị lời giải tối ưu toán chu trình Hamilton ngắn Thường đồ thị đồ thị đầy đủ , cặp cạnh nối cạnh Đây bước đơn giản hóa tốn việc tìm chu trình Hamilton đồ thị đầy đủ dễ Các toán mà thành phố nối với chuyển đổi thành đồ thị đầy đủ cách thêm cạnh có độ dài lớn cách thành phố , cạnh khơng xuất chu trình tối ưu Bài tốn TSP phát biểu dạng đồ thị sau: Cho G = (N, A,) đồ thị có hướng đầy đủ có trọng số, N tập hợp n = |N| nút (thành phố) , A = {(i,j)| (i,j) є VxV} tập tất cung đồ thị Mỗi cung (i, j) gán trọng số dij để biểu diễn khoảng cách thành phố i j Bài toán TSP trở thành tốn tìm chu trình Hamilton có độ dài ngắn đồ thị G Ta cần phân biệt hai GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang loại TSP, symmetric TSP có khoảng cách thành phố không phụ thuộc vào hướng dij = dji với thành phố i, j asymmetric TSP – ATSP tồn cặp cạnh cho dij ≠ dji Đối với đồ thị không đối xứng có (n-1)! đường chấp nhận cịn đồ thị đối xứng có (n-1)!/2 đường có khả Khi n lớn ta khơng thể tìm lời giải tối ưu thuật toán vét cạn, hướng giải tốn tìm lời giải xấp xỉ tối ưu thuật toán heuristic, thuật tốn tiến hóa Hình 2.a – Thể đỉnh thư viện TSP att532, tương ứng với 532 thành phố Mỹ Hình 2.b – Thể đỉnh TSPLIB pcb1173 biểu diễn 1173 lỗ bảng mạch in 2.2.2 Dữ liệu toán Phần tìm hiểu khảo sát thành phần, đối tượng thơng tin có tác động trực tiếp gián tiếp đến toán người đưa thư: Địa giao thư, Khoảng cách địa điểm giao thư 2.2.3 Ràng buộc toán - Hai địa điểm giao thư có đường Trọng số hai địa điểm giao thư phải trọng số dương GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang CHƯƠNG 3: GIẢI THUẬT ĐÀN KIẾN 3.1Tổng quan thuật giải đàn kiến 3.1.1 Nguồn gốc Loài kiến lồi sâu bọ có tính chất xã hội, chúng sống thành đàn, có tác động lẫn nhau, chúng thành thạo tìm kiếm thức ăn hồn thành nhiệm vụ từ kiến huy Một điều thú vị torng tìm kiềm thức ăn vài kiến đặc biệt khả chúng để tìm kiếm đường ngắn tổ kiến nguồn thức ăn Trên thực tế, điề dễ nhận thấy có suy nghĩ nhiều kiến hầu hết không nhận chúng khơng dùng thị giác để tìm kiếm đầu mối thức ăn Tất kiến mù, chúng tương tác với với môi trường cách sử dụng pheromone: đền đâu chúng xịt pheromone đến Mỗi kiến vị trí định hướng dựa vào nồng độ phernomone hướng Tại vị trí mà nồng độ pheromone xung quanh khơng có pheromone chúng định hướng cách ngẫu nhiên Cứ kiến theo bước chân tạo thành đường Giả sử thời điếm ban đầu có kiến tìm thức ăn Vì ban đầu chưa có pheromone nên chung chọn hướng khác cách ngẫu nhiên Một hướng có đường đến nguồn thức ăn dài hướng Trong giai đoạn đầu kiến sau cảm nhận thấy nồng độ pheromone hướng nên chọn theo hướng cách ngẫu nhiên Tuy nhiên đương ngắn làm cho khoảng cách di chuyển từ tổ đến nguồn thức ăn quay trở lại kiến theo đường đo ngắn mật độ di chuyển qua lại đàn kiến vị trí đường ngắn cao đường dài Do mật độ qua lại lớn dẫn đến kết nồng độ pheromone đường ngắn ngày cao đường dài Kết đàn kiến ngày từ bỏ đường dài theo đường ngắn Đến lúc khơng cịn kiến theo đường dài mà tất theo đường ngắn GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 10 Thuật toán ACO lấy ý tưởng từ việc kiếm thức ăn đàn kiến thực tế để giải toán tố ưu tổ hợp Chúng dựa sở đàn kiến nhân tạo, chúng tính tố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 giới thiệu Dorigo cộng cách tiếp cận đa tác tử tới vấn đề tối ưu tổ hợp khó, tốn người du lịch (TSP), toán người đưa thư Hiện số lượng ứng dụng ngày tăng nhà khoa học ứng dụng vào nhiều vấn đề tối ưu rời rạc Các ứng dụng gần kể đến tốn lập lịch, tô màu đồ thị, định hướng mạng truyền thơng, v.v… 3.1.2 Giới thiệu thuật tốn Sau ví dụ luồng đàn kiến thực tế a Kiến theo đường thẳng A E b Khi có chướng ngại vật kiến chọn hướng đi, có hai hướng với khả kiến chọn c Trên đường ngắn nhiều mùi (pheromone) Hình GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 16 end repeat in parallel end Procedure Procedure new_ant (ant_id) initialize_ant (ant_id) L = update_ant_memory ( ) While (current_state 10 11 12 13 14 15 target_state) P = compute_transition_probabilities (A , L , ) next_state = apply_ant_decision_policy (P , ) move_to_next_state (next_state) If (on_line_step-by-step-pheromone_update) deposit_pheromone_on_the_visited_edge ( ) end if L = update-internal_state ( ) end while if (online_delayed_pheromone_update) for each visited edge deposit_pheromone_on_the_visited_edge ( ) end for end if release_ant_resources (ant_id) end Procedure Trong thủ tục ants_generation_and_activity() thủ tục chính, giải thuật Thủ tục cơng việc gồm: Tạo khởi tạo thông số cho đàn kiến Với kiến đàn tiến hành xây dựng lời giải cho toán chưa thỏa mãn điều kiện dừng Ngồi có hai thủ tục phụ thêm vào là: Pheromone_evaporation(): Là tác động môi trường để làm giảm thông tin pheromone theo thời gian Thủ tục để tránh bế tắc tìm kiếm cho phép đàn kiến mở rộng không gian tìm kiếm Daemon_action(): Là thủ tục hỗ trợ thêm khơng gặp thực tế (khơng có đàn kiến tự nhiên) Là thủ tục để điều chỉnh thơng số cần thiết làm tăng tính hiệu thuật tốn Ví dụ: Thủ tục tìm kiếm cục bộ, thủ tục khởi tạo lại thông tin pheromone gặp bế tắc tìm kiếm 3.2 Các sơ đồ thuật toán phát triển dựa ACO 3.2.1 Thuật toán Ant System (AS) Được phát triển Dorigo, Maniezzo Colorni năm 1991, thuật toán ACO Ban đầu có biến thể khác là: AS-Density, AS-Quantity AS-Cycle khác cách thức cập nhật thơng tin Pheromone Trong đó: GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 17  AS-Density: Thì đàn kiến đặt thêm pheromone trình xây dựng lời giải (online step-by-step pheromone update), lượng pheromone để cập nhật số  AS-Quantity: Thì đàn kiến đặt thêm pheromone trình xây dựng lời giải (online step-by-step pheromone update), lượng pheromone để cập nhật phụ thuộc vào độ mong muốn (thông tin heuristic) với đoạn đường qua ηij  AS-Cycle: Thông tin pheromone cập nhật lời giải hoàn thành (online delayed pheromone update) Đây mơ hình cho kết tốt coi thuật toán AS Như theo mơ hình AS-cycle pheromone cập nhật tất kiến hoàn thành lời giải mình.Việc cập nhật pheromone tiến hành sau:  Đầu tiên tất pheromone cung giảm số (pheromone evaporation) Với ρ khoảng (0,1) tốc độ bay pherromone  Tiếp theo kiến đàn đặt thêm lượng thông tin pheromone, lượng pheromone hàm chất lượng lời giải mà kiến xây dựng Trong đó: Ban đầu AS khơng sử dụng daemon action, nhiên tốt thêm vào thủ tục tìm kiếm cục để làm tăng chất lượng lời giải Còn phương trình để xác định nút trình xây dựng lời giải kiến sau: Tóm tắt thuật tốn sau: Procedure new_ant (ant_id) k = ant_id ; r = generate_initial_state ; while (current-state GVHD: PGS TS Đỗ Văn Nhơn target_state) Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư for each s next_state = apply_ant_decision_policy (P , Trang 18 r = next_state ; - 10 (r) ) end while { the pheromone_evaporation ( ) procedure triggers and evaporates pheromone in every edge 11 for each edge } 12 13 end for 14 release_ant_resources (ant_id) 15 end Procedure 3.2.2 Thuật toán Ant Colony System(ACS) Phát triển từ thuật toán AS với số cải thiện sau:  Sử dụng luật khác cho việc di chuyển, gọi pseudo-random proportional rule Gọi k kiến đứng nút r q0 tham số, giá trị ngẫu nhiên q Trong giá trị q q0 khoảng (0,1) Nút s chọn để di chuyển kiến k tới chọn sau: If else ( GVHD: PGS TS Đỗ Văn Nhơn : ): Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 19  Có Daemon action, thực việc cập nhật pheromone với lời giải Sglobal-best Cập nhật theo công thức sau:  Áp dụng online step-by-step pheromone update Trong φ tham số để giảm pheromone thứ hai sau ρ Còn tham số bé (như ngưỡng pheromone) chọn Tóm tắt thuật toán sau: Procedure new_ant (ant_id) k = ant_id ; r = generate_initial_state ; while (current-state target_state) for each compute q = generate_random_value_in_[0 , 1] If ( ) Next_state = max else for each ) next_state = apply_ant_decision_policy (P , end if ) r = next_state ; 10 11 12 end while release_ant_resources (ant_id) GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 20 13 end Procedure Và thủ tục cập nhật: Procedure daemon_actions for each local_search ( best_solution ( if (better ( , ) {optional} ) )) = end if for each edge { the pheromone_evaporation ( ) procedure triggers and evaporates pheromone in every edge } end for 10 end Procedure 3.2.3 Thuật toán Max–Min Ant System(MMAS) Được phát triển Stutzle Hooss vào năm 1996, mở rộng lên từ hệ thống AS Một số đặc điểm mở rộng từ hệ thống AS sau  Giống ACS, MMAS thực offline pheromone trail update, tức sau toàn kiến đàn hoàn thành lời giải việc cập nhật tiến hành cho lời giải tối ưu Đầu tiên thực bay bớt thông tin pheromone (pheromone evaporation) tất cạnh Sau có cạnh thuộc lời giải tốt cập nhật thông tin pheromone Thông thường MMAS lời giải tinh chỉnh cách tối ưu cục (local optimizer) trước cập nhật thông tin pheromone  Một cải tiến quan trọng hệ thống MMAS việc thêm vào giới hạn cận thông tin Pheromone ( ), điều giúp tránh hội tụ điểm tối ưu cục Khởi tạo tất thông số Pheromone giá trị cận để ưu tiên việc khai phá không gian tìm kiếm Cận thường chọn giá trị lớn mà Pheromone đạt vịng lặp cuối GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 21 Trong S lời giải tối ưu, lời giải tối ưu khơng biết trước nên thơng thường thay Sglobal-best tính tốn Cách chọn cận , thơng thường người ta chọn cận cận / để thỏa mãn theo tỷ lệ = 2n Do tính = / 2n Tỉ lệ phải chọn không nên cao, xác suất để chọn đường có mức độ Pheromone thấp nhỏ Mặt khác chọn tỉ lệ lớn xác suất chọn đường co Pheromone cao gần với xác suất chọn đường có mức độ Pheromone thấp  Khi khởi tạo thông tin pheromone cho thành phần tất nhận giá trị lớn Pheromone nhằm tăng cường việc khai phá khơng gian tìm kiếm Một ý hệ thống MMAS xảy hội tụ cục có chế khởi tạo lại thơng tin pheromone cho nút giá trị để khởi tạo lại Hàm cập nhật Daemon action thuật toán MMAS sau: Procedure daemon_actions for each local_search ( best_solution ( if (best ( ) end if )) = , ) = decision ( , for each edge ) 10 11 12 if ( end for if (stagnation_condition) 13 14 for each edge end if GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 22 15 end Procedure 3.2.4 Thuật toán Rank-Based Ant System(RBAS) Đây thuật toán mở rộng phát triển từ hệ thống AS đưa Bullnheimer, Hartl Strauss vào năm 1997 Thuật toán đưa vào ý tưởng xếp hạng cho lời giải thực cập nhật pheromone Cụ thể sau:  Đầu tiên, m kiến xếp hạng theo thứ tự giảm dần dựa theo chất lượng lời giải mà thu Ví dụ: (S 1, S2, … Sm-1, Sm) S1 phương án tốt  Pheromone đặt thêm cung б -1 kiến có lời giải tốt Lượng pheromone phụ thuộc trực tiếp vào thứ hạng xếp kiến  Các đoạn đường lời giải tốt nhận thêm lượng pheromone phụ thuộc vào chất lượng lời giải Các cơng thức sau: Trong Và Tóm tắt thủ tục cập nhật pheromone thuật toán này: Procedure daemon_actions for each local_search ( rank ) {optional} in decreasing order of solution quality into if (best ( end if for , )) = GVHD: PGS TS Đỗ Văn Nhơn to for each edge do Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư 10 11 end for end for 12 for each edge 13 14 Trang 23 end for 15 end Procedure 3.2.5 Thuật toán Best-Worst Ant System(BWAS) Thuật toán đưa Cordon vào năm 1999 Thuật toán bao gồm thuật toán mở rộng khác AS MMAS (về luật di chuyển việc bay pheromone) Bên cạnh thuật tốn cịn quan tâm tới việc tối ưu cục cách hệ thống để nâng cao chất lượng lời giải kiến Trong thuật tốn BWAS có daemon action thêm vào gồm có:  Đầu tiên, áp dụng luật có tên best-worst pheromone update để tăng cường pheromone đoạn đường qua lời giải tốt toàn cục (global best solution) Thêm vào luật phạt cạnh lời giải tồi lần lặp Scurrent-worst  Áp dụng Pheromone trail mutation để theo hướng khác trình tìm kiếm  BWAS có chế khởi tạo lại thơng tin pheromone thuật tốn bị đình trệ, cách thiết lập pheromone trail cho tất thành phần Mơ hình thủ tục Daemon action thuật tốn BWAS sau: Procedure daemon_actions for each local_search ( best_solution ( if (best ( , for each edge ) )) end if ) = 10 end for GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 24 11 12 13 for each edge 14 15 and end for 16 17 18 for each nút / component z = generate_random_value_in_[0,1] 19 20 21 if ( ) s = generate_random_value_in_[1,…, 1] a = generate_random_value_in_[0,1] 22 if 23 24 25 26 else end if end for if (stagnation_condition) 27 for each 28 end if 29 end Procedure Mục đưa mơ hình thuật tốn ACO phát triển từ hệ thống Ant System Nhưng số dạng tiêu biểu thuật tốn ACO, cịn tồn nhiều biến thể khác Và đồ án áp dụng thuật tốn theo mơ hình hệ thống MMAS để giải tốn CPMP Mơ hình thuật toán MMAS thuật toán hiệu thuật toán bầy kiến GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 25 CHƯƠNG 4: ỨNG DỤNG THUẬT GIẢI ĐÀN KIẾN VÀO BÀI TOÁN NGƯỜI ĐƯA THƯ 4.1 Phát biểu toán Một người đưa thư giao thư qua n địa điểm T Tn Xuất phát từ bưu điện, người đưa thư muốn giao thư qua tất địa điểm cần giao, địa điểm lần trở lại bưu điện xuất phát Gọi C ij chi phí từ T I đến Tj Tìm hành trình với tổng chi phí nhỏ Định nghĩa tốn: - Một tập địa điểm giao thư: V={V1, V2, ,Vn} Một tập giá trị chi phí từ địa điểm i đến j: V={V1, V2, ,Vn} 4.2 Các ràng buộc toán Bài toán người đưa thư giao thư qua địa điểm thành phố phải thỏa mãn điều kiện sau: - (C1): Không có đường cặp địa điểm giao thư (C2): Chi phí để di chuyển phải mang giá trị dương (C3): Tổng số địa điểm giao thư khơng q 100 4.3 Phát biểu tốn theo hướng tiếp cận thuật giải đàn kiến Kiến sau sử dụng vết mùi lạ (lớp Trail) kinh nghiệm (lớp Heuristics) kiến trước để tìm kiếm đường cho mình, sau đường tốt cập nhật lại Cứ cho ta kết đường ngắn cần tìm 4.4 Thuật toán đàn kiến giải toán người đưa thư m: số lượng kiến tij: nồng độ vết mùi cạnh (i, j) p: tham số bay nằm khoảng (0, 1) pijk: xác suất kiến k lựa chọn cạnh (i, j) α: hệ số điều chỉnh ảnh hưởng tij ηij: thông tin heuristic giúp đánh giá xác lựa chọn kiến từ đỉnh I đến đỉnh j β: hệ số điều chỉnh ảnh hường ηij Njk: tập đỉnh láng giềng I mà kiến k chưa qua ∆ tij: lượng pheromone mà kiền k đặt lên cạnh mà qua NC: số bước lặp thuật toán Sk: đường kiến k (tập đỉnh mà kiến k qua) GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 26 q: giá trị ngẫu nhiên khoảng [0, 1] aki: nhận giá trị True, False tương ứng với kiến k thăm chưa qua  Các bước xây dựng thuật toán sau: o Đầu vào Đồ thị G = (V, E) với tập đỉnh V tập cạnh E, ma trận trọng số D = d[i, j] với i, j€V Số lượng kiến m o Đầu ra: đường S với khoảng cách ngắn C o Các bước: Bước 1: Khởi tạo Khởi tạo tham số NC, β, α, ρ số lượng kiến m số đỉnh n Khởi tạo độ dài đường ngắn Cbest số Tính độ dài đường ngắn Cnn Tính giá trị tmax = 1/ ρCnn tmin – tmax/2 Khởi tạo giá trị q0 với ( tmax tij = tmax Tăng giá trị stop = stop + 4.5 Thực nghiệm đánh giá Eil51 thư viện TSP có tổng cộng 51 đỉnh Tại thời điểm mà ta đưa tắc nghẽn lên đoạn đường ta cần đảm bảo đoạn đường nằm đường tối ưu Vì trước đưa tắc nghẽn vào ta chạy khởi tạo thuật toán thời gian đầu trường hợp tốn TSP thơng thường Điều đảm bảo tìm cặp thành phố gần tất nhiên chúng nằm tuyến đường tốt tìm thấy Chúng ta tiến hành thực nghiệm sau Tối đa mười tắc nghẽn đưa vào đồng thời từ vòng lặp thứ 100 đến vòng GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 28 lặp thứ 150 Có nghĩa vịng lặp thứ 100 thuật tốn, ta tìm tuyến đường tối ưu tính đến lúc Sau ta chọn tối đa 10 đoạn đường nằm tuyến đường để đưa tắc nghẽn vào Lưu ý tắc nghẽn đưa vào theo cách sau: đoạn đường chọn có độ dài tăng dần sau bước lặp vòng lặp thứ 150 Mỗi vòng lặp chúng làm độ dài đoạn đường tăng lên 50 Bằng cách thuật toán đáp ứng trước thay đổi nhỏ môi trường(sự lớn lên tắc nghẽn) mà ta kiểm chứng Nhưng tắc nghẽn đưa vào lần mà lớn lên dần thuật tốn khơng thể cho thấy thay đổi tuyến đường tắc nghẽn tiếp tục tăng lên Chúng ta kiểm tra với trường hợp sau: Trường hợp 1: sử dụng cận không shaking (p=0) Trường hợp 2, 3, 4: vừa sử dụng cận dưới, vừa tiến hành kĩ thuật shaking: global shaking với p = 1, local shaking với p = 0.1 p = 0.25 Sau nhiều lần thực nghiệm eil51 thấy tham số sau phù hợp: m = 25, α = 1, β = 5, 0f = 1e-5, ρ = 0.5 Nguyên nhân mà hiệu thuật toán bị giảm sút kích thước lớn thí có nhiều cạnh khơng cập nhật thuật toán ACO chúng giảm mùi nhanh giá trị cận dưới, làm cho thuật tốn khó lịng lựa chọn cạnh này, việc lựa chọn cận cho phù hợp điều khó khan GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 29 CHƯƠNG 5: KẾT LUẬN Trong loại DTSP trình bày khóa luận này, tắc nghẽn điều chỉnh cho tăng dần tuyến đường xác định theo thời gian Với cách tắc nghẽn lớn dần bước so sánh hiệu thuật toán lần thực nghiệm khác cách dễ dàng Những kết thực nghiêm thu cho phép ta rút kết luận thuật toán AS với cải tiến định có khả giải tốt tốn DTSP Ở thuật tốn ta hình thành cách mở rộng từ thuật toán AS cho tốn TSP thơng thường cách đưa thêm vào hành động hay nói kỹ thuật shaking mà ta trình bày kỹ Khi mà tần số động toán DTSP cao điều quan trọng ta cần phải giữ thơng tin tích lũy ma trận mùi Đó lí mà ta thay đổi toàn lượng mùi tất tuyến đường global shaking kết lượng thông tin lưu trữ gần bị làm cho hiệu thuật toán bị tụt dốc Điểm mạnh thuật tốn ta điều chỉnh tham số shaking_percentage local shaking cho phù hợp với tốn cụ thể với kích thước đặc điểm khác Điểm yếu thuật toán giống với AS, hiệu suất giảm mạnh tăng số lượng đỉnh lên Và với cải tiến cách áp dụng kỹ thuật shaking lên thuật tốn MMAS thay thuật tốn AS ta có thuật tốn mà có kết tốt nhiều so với thuật tốn ban đầu tốn kích thước lớn GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang 30 TÀI LIỆU THAM KHẢO [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Nguyễn Đức Nghĩa, Nguyễn Tô Thành - Toán rời rạc – Nhà xuất đại hc Quc Gia H Ni, 2001 Marco Dorigo and ThomasStuă tzle: “Ant Conoly Optimization”, A Bradford Book, The MIT Press, Cambridge, Massachusetts, London, England S.M Hedetniemi, S.T Hedetniemi, D.P Jacobs, P.K Srimani Self-stabilizing Algorithms for Minimal Dominating Sets and Maximal Independent Sets, 2001 Dr Franz Rothlauf Representations for Genetic and Evolutionary algorithms, Daniel Ashlock Evolutionary Computation for Modeling and ptimization, 2005 David E Goldberg The parameter-less genetic algorithm in practice, 2003 Kumara Sastry, David Goldberg Genetic Algorithm Yaser Alkhalifah, Roger L Wainwright A Genetic Algorithm Applied to Graph Problems Involving Subsets of Vertices Geetali Vidyarthi, Alioune Ngom, Ivan Stojmenovi´ Combinatorial Evolutionary Methods in WirelessMobile Computing, 2005 Zbigniew Skolicki An Analysis of Island Models in Evolutionary Computation, Nguyễn Đức Nghĩa Giáo trình Phân tích thiết kế thuật tốn, Hà Nội, 2003 PGS TS Đỗ Văn Nhơn - Slide giảng “Thuật toán & Phương Pháp Giải Quyết Vấn Đề” - 2013 GVHD: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân ... Tiểu luận Thuật toán & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang MỤC LỤC CHƯƠNG 1: TỔNG QUAN 1.1 Đặt vấn đề Hiện có nhiều báo, luận văn, cơng trình nghiên cứu đề cập đến vấn đề tối ưu. .. viên: Lê Duy Đắc Nhân Tiểu luận Thuật tốn & PPGQVD: TT Tối Ưu Hóa Đàn Kiến Người Đưa Thư Trang CHƯƠNG 3: GIẢI THUẬT ĐÀN KIẾN 3.1Tổng quan thuật giải đàn kiến 3.1.1 Nguồn gốc Lồi kiến lồi sâu bọ có... CHƯƠNG 4: ỨNG DỤNG THUẬT GIẢI ĐÀN KIẾN VÀO BÀI TOÁN NGƯỜI ĐƯA THƯ 4.1 Phát biểu toán Một người đưa thư giao thư qua n địa điểm T Tn Xuất phát từ bưu điện, người đưa thư muốn giao thư qua tất địa

Ngày đăng: 23/05/2015, 00:10

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1: TỔNG QUAN

    • 1.1 Đặt vấn đề

    • 1.2 Ý nghĩa

    • 1.3 Nội dung thực hiện

    • 2.1 Giới thiệu bài toán Người đưa thư

    • 2.2 Bài toán Người đưa thư

    • CHƯƠNG 3: GIẢI THUẬT ĐÀN KIẾN

      • 3.1Tổng quan về thuật giải đàn kiến

      • 3.2 Các sơ đồ thuật toán phát triển dựa trên ACO

      • CHƯƠNG 4: ỨNG DỤNG THUẬT GIẢI ĐÀN KIẾN VÀO BÀI TOÁN NGƯỜI ĐƯA THƯ

        • 4.1 Phát biểu bài toán

        • 4.2 Các ràng buộc của bài toán

        • 4.3 Phát biểu bài toán theo hướng tiếp cận thuật giải đàn kiến

        • 4.4 Thuật toán đàn kiến giải bài toán người đưa thư

        • 4.5 Thực nghiệm và đánh giá

        • CHƯƠNG 5: KẾT LUẬN

        • TÀI LIỆU THAM KHẢO

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

Tài liệu liên quan