Mục lục LỜI MỞ ĐẦU 3 CHƯƠNG 1. GIỚI THIỆU VỀ HỆ THỐNG ĐÀN KIẾN 5 1.1 Tìm hiểu hệ thống đàn kiến 6 1.2 Mô phỏng hành vi thực tế của đàn kiến trong tự nhiên 7 1.2.1 Mô tả hành vi đàn kiến trong tự nhiên 7 1.2.2 Thí nghiệm chiếc cầu đôi 8 1.2.3 Mô hình ngẫu nhiên 12 CHƯƠNG 2. GIỚI THIỆU BÀI TOÁN KNAPSACK VÀ GIẢI QUYẾT BẰNG THUẬT TOÁN ĐÃ BIẾT 15 2.1 Tổng quan bài toán 15 2.2 Ứng dụng của bài toán Cái túi 16 2.3 Độ phức tạp tính toán 17 2.4 Các thuật toán để giải quyết bài toán Knapsach 18 2.4.1 Khái niệm thuật toán quy hoạch động 18 2.4.2 Áp dụng vào bài toán 22 2.4.3 Khái niệm thuật toán tham lam 27 2.4.4 Áp dụng vào bài toán 29 CHƯƠNG 3. THUẬT TOÁN ACO CHO BÀI TOÁN KNAPSACK BỘI VÀ SO SÁNH, ĐÁNH GIÁ THUẬT TOÁN 32 3.1 Bài toán knapsack bội 32 3.2 Thuật toán ACO để giải bài toán Knapsack bội 33 3.3 Mô hình Pheromone 34 3.4 Thông tin Heuristic 36 3.4.1 Heuristics tĩnh 36 3.4.2 Heuristics động 36 3.5 So sánh giữa các giải thuật ACO 38 3.6.1 So sánh với thuật toán quy hoạch động 40 3.6.2 So sánh với thuật toán tham lam 42 CHƯƠNG 4. KẾT LUẬN 44 4.1 Tổng kết quá trình nghiên cứu 44 4.2 Ý nghĩa và đóng góp của nghiên cứu 44 Tài liệu tham khảo 46
PHÂN TÍCH & THIẾT KẾ HỆ THỐNG Đề tài: Nghiên cứu thuật toán ACO cho toán Knapsack bội So sánh thuật tốn với thuật tốn biết giải toán Knapsack, đánh giá thuật toán Mục lục LỜI MỞ ĐẦU CHƯƠNG GIỚI THIỆU VỀ HỆ THỐNG ĐÀN KIẾN 1.1 Tìm hiểu hệ thống đàn kiến 1.2 Mô hành vi thực tế đàn kiến tự nhiên .7 1.2.1 Mô tả hành vi đàn kiến tự nhiên .7 1.2.2 Thí nghiệm cầu đơi 1.2.3 Mơ hình ngẫu nhiên 12 CHƯƠNG GIỚI THIỆU BÀI TOÁN KNAPSACK VÀ GIẢI QUYẾT BẰNG THUẬT TOÁN ĐÃ BIẾT .15 2.1 Tổng quan toán 15 2.2 Ứng dụng toán Cái túi 16 2.3 Độ phức tạp tính tốn 17 2.4 Các thuật toán để giải toán Knapsach 18 2.4.1 Khái niệm thuật toán quy hoạch động 18 2.4.2 Áp dụng vào toán 22 2.4.3 Khái niệm thuật toán tham lam 27 2.4.4 Áp dụng vào toán 29 CHƯƠNG THUẬT TOÁN ACO CHO BÀI TOÁN KNAPSACK BỘI VÀ SO SÁNH, ĐÁNH GIÁ THUẬT TOÁN 32 3.1 Bài toán knapsack bội 32 3.2 Thuật toán ACO để giải toán Knapsack bội .33 3.3 Mơ hình Pheromone .34 3.4 Thông tin Heuristic 36 3.4.1 Heuristics tĩnh 36 3.4.2 Heuristics động 36 3.5 So sánh giải thuật ACO 38 3.6.1 So sánh với thuật toán quy hoạch động .40 3.6.2 So sánh với thuật toán tham lam 42 CHƯƠNG KẾT LUẬN 44 4.1 Tổng kết trình nghiên cứu 44 4.2 Ý nghĩa đóng góp nghiên cứu 44 Tài liệu tham khảo 46 LỜI MỞ ĐẦU Bài toán Cái túi, Bài toán Xếp ba lô, Bài toán Knapsack, là những tên gọi khác mà chúng ta thường nghe đến, tất cả đều dùng để chỉ chung một bài toán tối ưu hóa tổ hợp, đó ta cần phải lựa chọn một số đồ vật để nhét vào một chiếc túi với tải trọng biết trước, cho tổng giá trị của các đồ vật nhét vào là lớn nhất có thể Bài toán này đã được nghiên cứu một thế kỷ, và nó là một những bài toán có ứng dụng vô cùng to lớn thực tế Trong thời gian gần đây, vấn đề nghiên cứu thuật toán ACO (Ant Colony Optimization) - tối ưu hóa đàn kiến – hướng nghiên cứu quan tâm lĩnh vực tốn học Cơng nghệ thơng tin Thuật tốn mơ theo cách thức tìm đường lồi kiến dựa mật độ loại chất hóa học (gọi mùi) kiến tạo đường số nhà khoa học nghiên cứu, thí nghiệm điển hình cho kết vượt trội thí nghiệm xây dựng Deneubourg đồng nghiệp ông vào năm 1989 Trên sở nghiên cứu này, nhiều nhà khoa học sâu nghiên cứu nhiều hệ kiến khác Năm 1996, nhà khoa học người Bỉ Marco Dorigo xây dựng thuật toán đàn kiến (Ant Algorithm) ứng dụng vào giải toán người du lịch luận án tiến sĩ Hiện nay, thuật tốn kiến ứng dụng vào thực tế nhiều lĩnh vự khác như: Áp dụng vào việc kinh doanh số hãng vận tải lớn Mỹ, ứng dụng ngành bưu Đan Mạch, tìm kiếm thông tin mạng internet, v.v Trong phạm vi tiểu luận, với mục đích nghiên cứu vấn đề “Nghiên cứu thuật toán ACO cho toán Knapsach bội So sánh thuật tốn với thuật tốn biết giải toán Knapsach, đánh giá thuật toán.”, tiểu luận đặt vấn đề nghiên cứu lý thuyết thuật toán ACO, lý thuyết toán Knapsack bội so sánh thuật tốn Với kiến thức cịn hạn chế, tiểu luận chúng em có nhiều sai sót chưa tồn diện, chúng em mong nhận lời nhận xét góp ý từ phía thầy để hồn thiện nghiên cứu tốt sau Cấu trúc tiểu luận chưa làm chương, với nội dung chương sau: Chương 1: Giới thiệu hệ thống đàn kiến, phương pháp giải heuristic, số thí nghiệm liên quan số thuật tốn đàn kiến Chương 2: Giới thiệu toán Knapsack đưa thuật toán biết để giải toán Chương 3: So sánh thuật toán CHƯƠNG GIỚI THIỆU VỀ HỆ THỐNG ĐÀN KIẾN 1.1 Tìm hiểu hệ thống đàn kiến Các cơng trình nghiên cứu hệ thống đàn kiến (Ant System) thu kết thiết thực từ việc quan sát hành vi thực tế loài kiến, quan sát mơ hình giả lập đàn kiến nhân tạo Các nhà khoa học sử dụng mơ hình nguồn cảm hứng cho việc thiết kế thuật tốn, đưa giải pháp tối ưu hóa phân phối kiểm soát vấn đề thực tế Thuật toán tối ưu bầy kiến (ACO) nghiên cứu hệ thống nhân tạo dựa vào hành vi tìm kiếm bầy kiến thực sử dụng để giải vấn đề tối ưu rời rạc Thuật tốn bầy kiến siêu tìm kiếm (ACO metaheuristic) lần Dorigo, Di Caro Gambardella đề xuất vào năm 1999 Metaheuristic tập hợp khái niệm thuật toán sử dụng để xác định phương thức tìm kiến thích hợp cho tập hợp vấn đề khác Hay nói cách khác, siêu tìm kiếm (meta-heuristic) coi phương thức tìm kiếm đa ACO meta-heuristic, tập kiến nhân tạo phối hợp tìm kiếm giải pháp tốt cho vấn đề tối ưu rời rạc Sự phối hợp yếu tố cốt lõi thuật toán ACO Các kiến nhân tạo liên lạc với thông qua trung gian mà ta thường gọi mùi Các thuật toán ACO sử dụng để giải vấn đề tối ưu tổ hợp tĩnh động Các vấn đề tĩnh vấn đề mà đặc tính vấn đề khơng thay đổi suốt q trình giải vấn đề Cịn vấn đề động ngược lại hàm tham số mà giá trị động hay thay đổi q trình giải vấn đề, ví dụ toán người đưa thư vấn đề dynamic problem Tối ưu hóa đàn kiến ACO (Ant Colony Optimization) lần Marco Dorigo giới thiệu vào năm 1992, gọi Hệ thống đàn kiến AS (Ant System) AS ban đầu áp dụng cho toán người bán hàng (TSP) [4], [9], [10] Kể từ năm 1995 Dorigo, Gambardella Stützle phát triển sơ đồ AS khác Dorigo Gambardella đề xuất Hệ thống bầy kiến - Ant Colony System (ACS) Stützle Hoos đề xuất Max-Min Ant System (MMAS) MMAS hệ thống cải tiến hệ thống AS ban đầu đánh giá hệ thống tính tốn tương lai [4], [8], [9] Tất áp dụng giải toán người bán hàng đối xứng hay không đối xứng cho kết tối ưu Năm 1996, báo công nghệ M Dorigo L.M Gambardella cơng bố hệ thống Ant Conoly System Đây hệ thống đề cập đến cách học phối hợp áp dụng cho toán TSP [1], [4], [10] Sau đó, vào năm 1997, G Di Caro M Dorigo đề xuất hệ thống AntNet Đây cách tiếp cận định hướng thích nghi Và phiên cuối hệ thống AntNet điều khiển mạng truyền thông công bố vào năm 1998 [4] Vào năm 2001, C Blum, A Roli, M Dorigo cho công bố hệ thống đàn kiến Hyper Cube - ACO Phiên mở rộng tiếp cơng bố vào năm 2004 [4], [6], [9] Hầu hết nghiên cứu gần ACO tập trung vào việc phát triển thuật toán biến thể để làm tăng hiệu tính tốn thuật tốn Ant System ban đầu để ứng dụng ngày nhiều vào lĩnh vực cụ thể 1.2 Mô hành vi thực tế đàn kiến tự nhiên 1.2.1 Mô tả hành vi đàn kiến tự nhiên Trong tự nhiên, từ cảm nhận cách trực quan lồi kiến xem mù hoàn toàn hành động chúng mang tính chất mị mẫm Một kết nghiên cứu quan trọng sớm công nhận hành vi đàn kiến như: trình trao đổi thông tin kiến với kiến với mơi trường bên ngồi dựa việc sử dụng chất kiến tạo Hóa chất có mùi gọi Pheromones [1], [4], [6] Theo phản xạ tự nhiên, trình di chuyển kiến đến đâu tự động xịt chất có mùi pheromones đến Tại vị trí di chuyển, kiến định lựa chọn hướng dựa nồng độ chất pheromones hướng đó, ưu tiên lựa chọn hướng có nồng độ chất pheromones cao Trong trường hợp vị trí mà nồng độ chất pheromones nồng độ chất pheromones khơng có kiến định lựa chọn hướng cách ngẫu nhiên Cứ thế, kiến theo dấu chân tạo nên đường đàn kiến mà thường quan sát thấy tự nhiên Các lĩnh vực nghiên cứu “Thuật toán đàn kiến” dựa việc quan sát hành vi thực tế đàn kiến, sau sử dụng có mơ nguồn cảm hứng, làm tảng để xây dựng nên thuật toán để giải vấn đề tối ưu hóa vấn đề điểu khiển, xử lý phân tán 1.2.2 Thí nghiệm cầu đơi Hành vi kiếm ăn đàn kiến quan sát cụ thể thực tê ví dụ số lồi kiến thợ (nghiên cứu Goss – năm 1989), kiến Linepithema Argentina, kiến Lasius Germani (nghiên cứu Bonabeau – năm 1990) cho q trình giao tiếp, trao đổi thơng tin kiến dựa yếu tố trung gian nồng độ pheromones [4], [6] Trong trình di chuyển từ tổ đến nguồn thức ăn ngược lại, chúng lưu lại dấu tích nồng độ pheromones đường đi, từ hình thành nên “vết mùi pheromones” Các kiến ngửi mùi pheromones, chúng có xu hướng lựa chọn đường theo xác suất, đường đánh dấu dựa hướng nơi có nồng độ chất pheromones cao Sự gửi vết mùi pheromones mô hành vi số loài kiến kiểm tra thử nghiệm số nhà nghiên cứu Một thí nghiệm bật thí nghiệm cầu đôi thiết kế Denebourg đồng nghiệp [4] Họ tiến hành xây dựng cầu kết nối tổ đàn kiến với nguồn thức ăn chúng Các nhà khoa học thử nghiệm với tỉ lệ r = ll / ls độ dài hai nhánh cầu (trong ll độ dài nhánh dài ls độ dài nhánh ngắn hơn) Trong lần thử nghiệm thứ nhất, tỉ lệ độ dài hai nhánh cầu r = (ll = ls) (Hình 1.1a) Ban đầu, kiến lựa chọn đường từ tổ đến nguồn thức ăn ngược lại cách ngẫu nhiên với xác suất Việc lựa chọn hai nhánh cầu quan sát cẩn thận theo thời gian Kết là: khởi hành kiến lựa chọn đường cách ngẫu nhiên Sau theo thời gian, tất kiến sử dụng chung nhánh cầu Hình 1.1 Thí nghiệm cầu đơi (a) Hai nhánh có kích thước nhau, (b) Một nhánh có kích thước gấp đơi nhánh Kết giải thích sau: Khi khởi hành, nhánh cầu chưa có pheromones Do đó, kiến chọn nhánh với xác suất Tuy nhiên, lựa chọn ngẫu nhiên lên sau thời gian số lượng kiến nhánh khác Bởi lồi kiến gửi chất pheromones di chuyển, số lượng pheromones nhánh khác theo thời gian, điều kích thích thêm đàn kiến lựa chọn nhánh có nồng độ chất pheromones cao hơn, đến thời gian tất kiến hội tụ nhánh Quá trình gọi “tự xúc tác” hay “phản hồi tích cực” Trong thực tế, ví dụ tính tự tổ chức hành vi đàn kiến: mơ hình vĩ mơ (tương ứng với hội tụ nhánh) xây dựng từ tiến trình tham gia tương tác nơi gọi mức độ “hiển vi” (theo định nghĩa Camazine, Deneubourg đồng nghiệp) Trong trường hợp chúng ta, kiến hội tụ nhánh thể mức hành vi mang tính tập thể bầy đàn, điều giải thích hoạt động mang tính hiển vi lồi kiến, trình tương tác cục cá thể đàn kiến Đó ví dụ q trình truyền thơng tin cách gián Tổ Thức ăn Tổ Thức ăn (a) (b) tiếp thông qua tương tác với môi trường (stigmergy communication), kiến phối hợp hoạt động chúng, khai thác thông tin liên lạc cách gián tiếp qua trung gian thay đổi môi trường mà chúng di chuyển Trong thí nghiệm thứ hai, tỷ lệ độ dài hai nhánh cầu thiết lập r = 2, chiều đường nhánh dài gấp lần so với nhánh ngắn (Hình 1.1b) Trong trường hợp này, hầu hết thử nghiệm sau khoảng thời gian tất kiến lựa chọn đường nhánh ngắn Trong thí nghiệm thứ hai, các kiến rời khỏi tổ để khám phá môi trường xung quanh đến điểm định, chúng phải lựa chọn hai nhánh Vì lý ban đầu hai nhánh cầu xuất trước lũ kiến nên chúng lựa chọn cách ngẫu nhiên Vì thế, dự kiến rằng, trung bình nửa số kiến chọn nhánh ngắn nửa lại chọn nhánh dài, dao động ngẫu nhiên đơi ưu tiên chọn nhánh nhánh khác Tuy nhiên, thí nghiệm thiết lập để trình bày khác biệt đáng ý thí nghiệm trước đó: với nhánh có chiều dài ngắn nhánh cịn lại kiến chọn nhánh ngắn để đạt đến nguồn thức ăn nhánh để bắt đầu trình quay ngược tổ Nhưng sau đó, chúng phải đưa định lựa chọn nhánh ngắn nhánh dài, nồng độ chất pheromones nhánh cao ưu tiên lựa chọn làm định chúng Vì thế, nồng độ chất pheromones tích lũy ngày cao nhánh ngắn, điều rút kinh nghiệm kiến sau trình “tự xúc tác” mơ tả phía Q trình trao đổi thơng tin gián tiếp qua biến đổi mơi trường, q trình “tự xúc tác” độ dài đường nhân tố việc lựa chọn đường Điều thú vị quan sát sau: nhánh dài gấp đơi nhánh ngắn khơng phải tất kiến chọn nhánh ngắn, mà tỷ lệ nhỏ kiến số chúng lựa chọn đường nhánh dài Trường hợp diễn giải loại “con đường khám phá” [4] Khi đàn kiến hội tụ nhánh xây dựng kết nối tổ kiến nguồn thứ ăn Chúng ta quan sát tượng thú vị thí nghiệm mở rộng: khởi đầu có nhánh dài đưa vào phạm vi đàn kiến di chuyển qua; sau 30 phút nhánh ngắn thêm vào (Hình 1.2) Trong trường hợp nhánh ngắn khơng lựa chọn thường xuyên đàn kiến mắc nhánh dài Điều giải thích nồng độ chất pheromones nhánh dài cao làm chậm tốc độ bay chất pheromones Thực tế, đa số kiến chọn nhánh dài nhánh nồng độ pheromones cao, hành vi “tự xúc tác” chúng tiếp tục củng cố nhánh dài, có xuất nhánh ngắn Q trình bốc pheromones có lợi cho q trình thăm dị, khám phá đường mới, nhiên trình bốc diễn chậm: thời gian tồn pheromones so sánh với thời gian tiến hành thử nghiệm, có nghĩa chất pheromones bốc 10