Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 66 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
66
Dung lượng
2,12 MB
Nội dung
LỜI CẢM ƠN Qua thời gian học tập rèn luyện Đại học Công nghệ thông tin truyền thông - Đại học Thái Nguyên, đến chúng em kết thúc khoá học năm hoàn thành đồ án tốt nghiệp Ngoài cố gắng thân chúng em nhận nhiều quan tâm, giúp đỡ, ủng hộ thầy cô, bạn bè gia đình Trước hết, em xin gửi lời cảm ơn đến Ban giám hiệu Đại học Công nghệ thông tin truyền thông quan tâm, tạo điều kiện thuận lợi để chúng em học tập rèn luyện suốt thời gian theo học trường Em xin cảm ơn thầy cô giáo môn Khoa học máy tính tận tình giảng dạy truyền đạt kiến thức quý báu cho chúng em suốt trình học tập Em xin gửi lời cảm ơn sâu sắc đến Cô giáo – Dương Thị Mại Thương tận tình hướng dẫn, giúp đỡ em trình làm đồ án Thái Nguyên, ngày 11 tháng 06 năm 2012 Sinh viên thực Nguyễn Thị Hiền LỜI CAM ĐOAN Để hoàn thành đồ án tốt nghiệp thời gian quy định đáp ứng yêu cầu đề ra, thân em cố gắng nghiên cứu, học tập làm việc thời gian dài Em tham khảo số tài liệu nêu phần “Tài liệu tham khảo” có hướng dẫn tận tình cô giáo Dương Thị Mai Thương Nội dung đồ án hoàn toàn không chép từ đồ án khác, không vi phạm quyền tác giả Toàn đồ án thân em nghiên cứu xây dựng nên Em xin cam đoan lời đúng, có thông tin sai lệch em xin hoàn toàn chịu trách nhiệm trước Hội đồng Thái Nguyên, ngày 11 tháng 06 năm 2012 Sinh viên thực Nguyễn Thị Hiền MỤC LỤC LỜI NÓI ĐẦU Công nghệ thông tin(CNTT) động lực quan trọng phát triển,cùng với số nghành công nghệ khác làm biến đổi sâu sắc đời sống kinh tế , văn hóa, xã hội giới đại Hiện hầu hết quan chức nhà nước tư nhân có góp mặt tin học nhằm giải phóng sức mạnh vật chất trí tuệ tinh thần toàn dân tộc thúc đẩy công đổi phát triển nhanh đại hóa ngành kinh tế công cụ lưu trữ xử lý thông tin cách hoàn hảo từ tốc độ đến xác cao tăng cường sức cạnh tranh doanh nghiệp hỗ trợ hiệu cho trình hội nhập kinh tế quốc dân nâng cao chất lượng sống có khả tắt đón đầu thắng lợi nghiệp công nghiệp hóa,hiện đại hóa Bởi tin học sử dụng rộng rãi trường học sinh viên trang bị kiến thức tin học, nhờ giảng dạy thầy cô học hỏi từ bạn bè Đến vận dụng kiến thức có giải công việc cụ thể cách nhanh chóng mà ban giám hiệu nhà trường tạo điều kiện cho chúng em làm đồ án tốt nghiệp với đề tài : ”Nghiên cứu các thuật toán tiến hoá quần thể, ứng dụng cho bài toán người đưa hàng ” Song thời gian thực có hạn.Vì có chỗ thiếu sót mong thầy cô giáo đóng góp ý kiến cho em.Em xin chân thành cảm ơn cô Dương Thị Mai Thương tận tình giúp đỡ em hoàn thành đề tài Để hoàn thành đồ án tốt nghiệp này, em nhận giúp đỡ tận tình cô Dương Thị Mai Thương- người trực tiếp hướng dẫn em làm đề tài thầy cô khoa.Cùng cổ vũ lớn lao, khích lệ gia đình bạn bè Đã hoàn thành báo cáo Em xin chân thành cảm ơn ghi nhận lòng ấy Thái Nguyên, ngày 11 tháng 06 năm 2012 Sinh viên thực hiện: Nguyễn Thị Hiền MỞ ĐẦU Giới thiệu chung Mục đích toán tối ưu tổ hợp tìm lời giải tốt lời giải không gian tìm kiếm lời giải toán rời rạc Nhiều toán tối ưu tổ hợp có độ phức tạp tính toán cao phân lọai thuộc lớp NP khó Việc tìm lời giải tối ưu cho toán cho hệ thống song song lớn hoàn thành giới hạn thời gian cho phép kỹ thuật heuristic cho việc giải toán tổ hợp theo hướng xấp xỉ phát triển để tìm lời giải gần tối ưu (hay xấp xỉ )trong giới hạn thời gian cho phép Bài toán người du lịch (TSP) toán cổ điển thuộc lớp NP nghiên cứu sâu lĩnh vực tối ưu tổ hợp Metaheuristic cách gọi chung cho giải thuật heuristic việc giải toán tổ hợp khó Metaheuristic bao gồm chiến lược khác việc khám phá không gian tìm kiếm cách sử dụng phương thức khác phải đạt cân tính đa dạng chuyên sâu không gian tìm kiếm Một cài đặt thành công metaheuristic toán tổ hợp phải cân khai thác kinh nghiệm thu thập trình tìm kiếm để xác định vùng với lời giải có chất lượng cao gần tối ưu Những ví dụ metaheuristic bao gồm giải thuật luyện thép (SA) , giải thuật di truyền (GA) , giải thuật đàn kiến (ACO) ,… Giải thuật đàn kiến metaheuristic dùng chiến lược kiến giới thực để giải toán tối ưu SA xuất phát từ phương thức xác suất kỹ thuật luyện bao gồm việc nung điều khiển làm nguội kim loại để đạt trạng thái lượng nhỏ Trong giải thuật di truyền dựa ý tưởng từ chế di truyền sinh học tiến trình tiến hóa cộng đồng cá thể loài Với độ phức tạp tính toán cao toán tối ưu tổ hợp đòi hỏi mặt thời gian , việc giải toán yêu cầu cần phải có cài đặt song song hóa hiệu giải thuật để giải chúng Song song hóa giải thuật metaheuristic phải đạt yêu cầu : đa dạng hóa để khám phá nhiều vùng không gian tìm kiếm tăng tốc độ tìm kiếm Nhiều mô hình song song hoái đề xuất cho nhiều metaheuristic ACO GA cách tiếp cận dựa tập cá thể tự nhiên cho việc xử lý song song Tuy nhiên SA vốn mang tính chậm cho toán với không gian tìm kiếm lớn có vài kỹ thuật song song hóa áp dụng để tăng tốc độ tìm kiếm Đồ án nhằm mục đích nghiên cứu ,cài đặt thực tế giải thuật song song hóa metaheuristic nhằm mục đích so sánh hiệu giải thuật khả song song hóa mô hình song song cho việc tìm kiếm lời giản gần tối ưu toán TSP CHƯƠNG 1:GIỚI THIỆU TỔNG QUAN QUẦN THỂ, CÁC THUẤT TOÁN TIẾN HOÁ QUẦN THỂ 1.1 Giới Thiệu Cơ Sở Sinh Học Của Lý Thuyết Quần Thể(Bầy Đàn) Khi người Ai Cập lần bắt đầu để giữ cho ong mật 5.000 năm trước, họ chắn phải ngạc nhiên vẻ đẹp lược ong Không tổ ong đẹp, làm ong định để xây dựng tế bào lục giác tế bào hình thức khác? Ban đầu đề xuất tế bào lục giác giữ mật ong nhất, nhà vật lý Pháp RAF de R'eaumur nhận là tính tế bào, số tiền sáp, vật liệu, cần thiết để phân chia khu vực định vào tế bào Rõ ràng thời điểm giả định ong "bằng cách mù quáng đã sử dụng đột phá toán học cách hướng dẫn Thiên Chúa lệnh "(Ball 1999) Mãi Darwin mới đưa quan điểm hướng dẫn thiêng liêng gỡ bỏ tế bào lục giác cho kết chọn lọc tự nhiên Theo quan điểm này, tổ tiên ong 'thử nghiệm' với tế bào hình khác nhau, ong mà tình cờ 'quyết định' để xây dựng tế bào lục giác làm tốt hơn, kết quả, xây dựng tế bào lục giác lây lan Nói cách Darwin, “Vì vậy, tin rằng, hầu hết chiến thắng tất biết đến, ong, tổ ong giải thích tự nhiên lựa chọn nhiều lần, liên tiếp, thay đổi chút ít đơn giản, chọn lọc tự nhiên có độ chậm, nhiều nhiều để đạt độ hoàn hảo, khiến ong làm việc bình đẳng khoảng cách định từ lớp kép” Trong thực tế, nhiều trường hợp hình thành mô hình tự phát giải thích lực lượng vật lý, mảng gần vô tận mẫu hình dạng tìm thấy xung quanh chúng ta.Sau kiểm tra chặt chẽ hơn, sự tương đồng tuyệt vời bộc lộ mô hình hình dạng đối tượng khác nhau, đối tượng sinh học bẩm sinh.Như ám trên, mô hình lục giác đặc trưng tìm thấy tổ ong nhất, khuôn mẫu thu cách nung nóng chất lỏng thống từ lên.Hệ thống khuếch tán Autocatalytic phản ứng dẫn đến mô hình Turing (nghĩ sọc hổ) hai hóa chất phương tiện sinh học (Kondo Asai 1995; bóng 1999), khoáng chất hình thành mô hình nhầm lẫn cho thêm hóa thạch mặt đất (McKay et al1996) Tất mô hình mô tả giải thích cách tiếp cận hệ thống từ lên: làm để hạt tương tác với với môi trường trực tiếp mình? Một người không thực ngạc nhiên thực tế phương pháp tương tự giúp người ta hiểu phân tử Trong phần sau minh họa làm cách tiếp cận từ lên giải thích tính đáng ý ong mật: mô hình điển hình phấn hoa, mật ong cá bố mẹ tìm thấy lược Các ong mật lược không là ngạc nhiên gần tế bào lục giác hoàn hảo, ong dường làm tế bào với bố mẹ (trứng có phát triển thành ấu trùng sau nhộng lên công nhân trẻ tuổi nam giới), phấn hoa (để nuôi bố mẹ) mật hoa (mà chuyển đổi thành mật ong) mô hình đặc trưng Mô hình bao gồm ba khu vực khác nhau, đồng tâm: khu vực trung tâm bố mẹ, viền xung quanh phấn hoa, lớn khu vực ngoại vi mật ong (Hình 1) Nếu hình dung thuộc địa ong mật cấu trúc ba chiều, mô hình phát âm lược trung tâm, nơi giao phần lớn khối lượng gần hình cầu bố mẹ Làm để mô hình này? Các lưu trữ gần phấn hoa để bố mẹ chắn làm cho ý nghĩa làm giảm thời gian cần thiết để có phấn hoa tới bố mẹ Nhưng làm để ong biết điều này? Họ sử dụng thiết kế (hoặc mẫu) để sản xuất mô hình đặc trưng này, ngụ ý có vị trí đặc biệt quy định cho lắng đọng mật hoa, phấn hoa bố mẹ? Hoặc mô hình selforganized lên cách tự nhiên từ động tương tác ong chúa, ong thợ của chúng bố mẹ? Scott Camazine thiết lập để xác định hai giả thuyết hầu hết tiêu dùng tiết kiệm (Camazine 1991) Vẻ đẹp việc làm thực thể vĩ mô côn trùng cá nhân bạn đánh dấu chúng Sau chứa chúng tổ quan sát, nhà vách kính cho ong.Điều biết tương tác ong cá nhân đánh dấu mà không cần lấy chúng khỏi môi trường tự nhiên chúng (xem hình 1) Hình1.Do kích thước tương đối lớn, dễ dàng đánh dấu ong cá nhân thuộc địa.Trong thuộc địa đặc biệt đã đánh dấu 5.000 ong cách kết hợp biển số màu sơn khác nhau.Điều cho phép nghiên cứu hành vi chúng mức độ cá nhân Camazine làm điều Ông theo dõi hành vi đẻ trứng ong chúa, kiếm ăn trở lại với phấn hoa hay mật hoa, ong thợ, cá thể mang thức ăn cho cá bố mẹ Việc mà ông quan sát rằng ong chúa cẩu thả hành vi đẻ trứng mình, di chuyển zig-zag cách thức, thường bị thiếu tế bào có sản phẩm retracing bước Camazine nhận thấy ong chúa có sở thích rõ ràng để đặt khoảng cách định từ ngoại biên lược không nhiều vài độ dài tế bào tế bào bố mẹ có chứa gần Mặc dù ong chúa phần nào có chút ưu tiên lược vùng phụ cận bố mẹ, ong trở với phấn hoa hay mật hoa ưu đãi cho tế bào cụ thể tất Mặc dù ưu tiên rõ ràng bác bỏ giả thuyết kế hoạch chi tiết, không giải thích làm mô hình đặc trưng cuối phát sinh Khi quay ra, ong có sở thích rõ ràng chúng loại bỏ phấn hoa, mật ong từ tế bào Cả mật ong phấn hoa ưu tiên từ tế bào gần để bố mẹ Bằng cách làm theo mô hình tế bào làm rỗng khoảng thời gian hoạt ðộng tìm kiếm thức ãn thấp (qua ðêm mýa), Camazine quan sát thấy tất tế bào ðã làm trống phấn hoa hay mật hoa chúng đặt hai tế bào từ tế bào có chứa cá bố mẹ Không có tế bào làm trống từ tế bào bố mẹ Nó dễ dàng để xem lý ong có sở thích cho việc loại bỏ (thông qua sử dụng) phấn hoa tìm thấy gần để bố mẹ, cá bố mẹ mà tiêu thụ phấn hoa Ngoài ra, ong thợ ong trẻ hạn chế hoạt động chúng đến khu vực bố mẹ (Seeley 1982) Việc loại bỏ ưu đãi phấn hoa mật hoa từ tế bào gần với tế bào có chứa cá bố mẹ sở thích ong chúa để đẻ trứng tế bào gần với thực cá bố mẹ Camazine thực điều giải thích mô h́nh lược đặc tính ong mật Nhưng làm để chứng minh điều này? Đây nơi mà phương pháp vật lý Bằng cách xây dựng mô hình mô dựa quan sát hành vi mình, Camazine theo sát sáp nhập mô hình Ban đầu, hai phấn hoa mật hoa gửi ngẫu nhiên suốt khung với ong chúa lang thang lược từ quan điểm ban đầu Mặc dù lưu trữ ngẫu nhiên hạt phấn hoa mật hoa, xu hướng đẻ trứng vùng lân cận tế bào mà chứa cá bố mẹ ong chúa nhanh chóng kết lĩnh vực mà bố mẹ chủ yếu tìm thấy Điều tăng cường sở thích ong để loại bỏ mật ong phấn hoa từ tế bào gần gũi với bố mẹ, làm tăng sẵn có cho ong chúa tế bào để đẻ trứng Điều làm giảm số lượng tế bào có sẵn cho việc lưu trữ mật ong phấn hoa Như vậy, khu vực bố mẹ liên tục tự mật ong phấn hoa đầy kết trứng cấu trúc bố mẹ nhỏ gọn Nhưng làm để phấn hoa mật hoa bị chia cách (Hình 2)? 10 3.2 Thuật toán ACO Sơ đồ chung thuật toán bầy kiến 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ó, toá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 toán lập lịch, tô màu đồ thị, định hướng mạng truyền thông, v.v… Các thuật toán kiến thuật toán dựa vào quan sát bầy kiến thực Kiến loại cá thể sống bầy đàn Chúng giao tiếp với thông qua mùi mà chúng để lại hành trình mà chúng qua Mỗi kiến qua đoạn đường để lại đoạn chất mà gọi mùi Số lượng mùi tăng lên có nhiều kiến qua Các kiến khác tìm đường dựa vào mật độ mùi đường, mật độ mùi lớn chúng có xu hướng chọn Dựa vào hành vi tìm kiếm mà đàn kíên tìm đường ngắn từ tổ đến nguồn thức ăn sau quay trở tổ Sau ví dụ luồng đàn kiến thực tế 52 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 Hình Xem hình 2a giải thích rõ tình hình 1b 53 Giả sử khoảng cách DH=BH=DB qua C =1, C điểm nằm B D(hình 2a) Bây xem xét điều xảy khoảng thời gian rời rạc: t=0, 1, 2… Giả định 30 kiến từ A đến B, 30 từ E đến D, kiến di chuyển với tốc độ đơn vị thời gian di chuyển kiến để thời điểm t vệt pheromone với nồng độ Để đơn giản xét lượng pheromone bay hoàn toàn liên tục khoảng thời gian (t+1, t+2) Tại thời điểm t=0, vệt mùi cạnh có 30 kiến B, 30 D Việc lựa chọn đường ngẫu nhiên đó, trung bình từ nút có 15 kiến đến H 15 đến C (hình 2b) Tại thời điểm t=1, 30 kiến từ A đến B, lúc chọn hướng đến C hướng đến H Tại hướng đến H có vệt mùi 15 15 kiến từ B đến H, hướng đến C có vệt mùi 30 15 kiến từ B đến D 15 từ D đến B thông qua C (hình 2c) Do khả kiến hướng đến chọn đường đến C, số kiến mong muốn đến C gấp đôi số kiến đến H (20 đến C 10 đến H) Tương tự cho 30 kiến từ D đến B Quá trình liên tục tất kiến chọn đường ngắn Trên vừa mô tả hành vi tìm kiếm bầy kiến thực.Sau đây, tìm hiểu sâu thuật toán kiến 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 toán bầy kiến siêu tìm kiếm(ACO meta_heuristic) lần Dorigo, Di Caro Gambardella đề xuất vào năm 1999 Metaheuristic tập khái niệm thuật toán sử dụng để xác định phương thức tìm kiếm thích hợp cho tậ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ối 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 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 54 trình giải vấn đề, ví dụ toán người đưa thư vấn đề dynamic problem Tối ưu hóa thuật toán đàn kiến (Ant Colony Optimization - ACO) thuật toán MetaHeuristic thiết kế để giải toán tối ưu tổ hợp, sử dụng phương pháp tính xác suất để tìm đường ngắn đồ thị Để bắt chước hành vi kiến thực, Dorigo xây dựng kiến nhân tạo (artificial ants) có đặc trưng sản sinh vết mùi để lại đường khả lần vết theo nồng độ mùi để lựa chọn đường có nồng độ mùi cao để Gắn với cạnh (i,j) nồng độ vết mùi ηij heuristic τ ij thông số cạnh Ban đầu, nồng độ mùi cạnh (i,j) khởi tạo số c, xác định theo công thức : τ ij = τ = m C nn , ∀(i, j ) (1) Trong đó: τ ij : nồng độ vết mùi cạnh i,j m: số lượng kiến nn C :chiều dài hành trình cho bởi phương pháp tìm kiếm gần Tại đỉnh i, kiến k chọn đỉnh j chưa qua tập láng giềng i theo quy luật phân bố xác suất xác định theo công thức sau: α β τ ij ηij Ρ = α β , j ∈ Ν ik ∑ i∈Νk [ τ ii ] [ ηii ] k ij (2) i Trong đó: 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 của ij ηij : thông tin heuristic giúp đánh giá xác lựa chọn kiến định từ đỉnh i qua đỉnh j ; xác định theo công thức : ηij = dij dij (3) : khoảng cách giữa đỉnh i và đỉnh j 55 β :hệ số điều chỉnh ảnh hưởng của ηij Ν ik : tập các đỉnh láng giềng của i mà kiến k chưa qua Quy luật mô hoạt động vòng quay xổ số nên gọi kỹ thuật bánh xe xổ số Cho số 0≤ q0 ≤1 số 0≤q≤1 tạo cách ngẫu nhiên Con kiến k đỉnh i lựa chọn đỉnh j để theo quy tắc lựa chọn mô tả công thức sau : j= { ( ) arg max[( τij )α ηij β ] J Nếu q ≤ q0 (4) Ngược lại Trong đó: q :giá trị được lưa chọn một cách ngẫu nhiên với xác suất không thay đổi khoảng [0,1] ≤ q0 ≤ : là một hằng số cho trước J: là một biến số ngẫu nhiên được lựa chọn theo phân bố xác suất cho quy luật phân bố xác suất theo công thức (2) Sau trình kiến tìm đường đi, vết mùi ( τ ij ) cạnh cập nhật lại, chúng bị biến đổi trình bay trình tích lũy mùi kiến cạnh Sau vòng lặp, vết mùi cạnh cập nhật lại theo công thức sau: m τ ij (t + 1) = (1 − ρ ).τ ij (t ) + ∑ ∆τ ijk ( t ) k =1 ∀(i, j ) (5) Trong đó: 0< ρ ≤ 1: tỷ lệ bay của vết mùi ∆τ ijk ( t ) :lượng mùi mà kiến k để lại cạnh ij, xác định sau : ∆ τ k i, j Q f ( k ) = Nếu kiến k qua cạnh (i,j) Ngược lại 56 (6) Q: là một hằng số f ( k) : giá trị mục tiêu mỗi vòng lặp 3.3 Phân tích và mô hình hoá bài toán 3.3.1 Tối ưu đa mục tiêu (MULTI-OBJECTIVE OPTIMIZATION) Bài toán TSP toán tối ưu đa mục tiêu Không giống toán tối ưu đơn mục tiêu mà lời giải tối ưu tồn cách rõ ràng, tối ưu đa mục tiêu thích hợp toán có mục tiêu đối lập Bài toán TSP mô tả chuỗi lời giải mà ta không dễ so sánh, khó không muốn nói thu lời giải tốt cách rõ ràng cho tất mục tiêu Mỗi hàm mục tiêu đạt điều kiện tối ưu điểm khác nhờ vào thiếu hụt tiêu chuẩn thống tối ưu Do đó, nhà lập kế hoạch quản lư phải áp dụng đánh giá mặt kỹ thuật họ việc lựa chọn đáp án tốt thu từ đáp án tối ưu dọc theo biên Pareto (Zheng cộng 2005) Được trình bày Vilfredo Pareto vào kỷ 19, khái niệm tối ưu Pareto công cụ chấp nhận việc so sánh hai đáp án toán tối ưu đa mục tiêu mà tiêu chuẩn thống tối ưu Các đáp án đòi hỏi phải hy sinh mục tiêu khác muốn cải thiện mục tiêu (Gen Cheng 2000) Một đáp án (x*) không bị trội đáp án (x) khác có tiêu chuẩn tốt so sánh với (x) Vùng định nghĩa tối ưu Pareto gọi biên Pareto (Pareto front), mục tiêu tối ưu đa mục tiêu thiết lập toàn biên Pareto cho toán thay có đáp án đơn tốt Để đánh giá phù hợp lời giải thu từ mô hình, hàm thích nghi (fitness function) xem xét đến yếu tố lộ trình chi phí áp dụng cho toán tối ưu đa mục tiêu TSP 3.3.2 Phân tích giải thuật Thật sự, thuật toán ACO hình dung tác động ba thủ tục:ConstructAntsSolutions, UpdatePheromones, DaemonActions 57 ConstructAntsSolutions (Giải pháp xây dựng loài kiến) quản lý đàn kiến xảy đồng thời không đồng vấn đề cần xem xét đàn kiến, cách di chuyển qua đỉnh bên cạnh đồ thị GC UpdatePheromones (Cập nhật pheromones) trình mà vết mùi pheromones sửa đổi DaemonActions (Những hành động) thủ tục sử dụng để thực hành động tập trung mà điều thực kiến riêng lẻ 58 Hình 9:Sơ đồ thuật toán ACO cho bài toán TSP Nội dung thuật toán Trước nói nội dung thuật toán bầy kiến ta tìm hiểu đàn kiến tự nhiên, xem đặc điểm cách hoạt động đàn kiến tự nhiên Từ đưa đặ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à loài có tổ chức cao, kiến di chuyển để lại lượng thông tin pheromone mặt đất Đây phương tiện để 59 đánh dấu để đàn kiến trao đổi thông tin tìm kiếm thức ăn Khi tìm kiếm thức ăn: Sau tìm thấy nguồn thức ăn, kiến tìm đường để từ tổ tới nguồn thức ăn Chúng giao tiếp trao đổi thông tin với nhau, sau thời gian đàn kiến gần tìm theo đường ngắn từ tổ tới nguồn thức ăn Sau nghiên cứu cho thấy chế hoạt động đàn kiến tự nhiên trình tìm đuờng ngắn từ tổ tới nguồn thức ăn dựa nguyên tắc sau: Đường ngắn xác định thông qua thông tin Pheromone, loại hóa chất mà kiến dùng để trao đổi thông tin với Khi di chuyển kiến để lại lượng Pheromone đường mà qua Trong trình di chuyển tìm đường đi, kiến định hướng thông tin pheromone để lại đường Mỗi kiến di chuyển cách ngẫu nhiên thông tin pheromone đoạn đường Các đường có lượng pheromone lớn xác suất chọn cao, ngược lại đoạn đường có lượng pheromone thấp xác suất chọn bé Từ việc nghiên cứu chế hoạt động đàn kiến tự nhiên cho đời thuật toán bầy kiến Một cách không thức nói thuật toán bầy kiến bầy kiến nhân tạo để giải toán đưa Hệ thống Ant Colony – Thuật toán bầy kiến: Là đàn kiến nhân tạo (Artificial Ants) mô hoạt động đàn kiến tự nhiên Tất nhiên có số thay đổi, điều chỉnh so với đàn kiến tự nhiên để tăng tính hiệu thuật toán Trong hoạt động kiến nhân tạo tìm đường dựa vào lượng thông tin Pheromone để lại đoạn đường Chi tiết hoạt động đàn kiến nhân tạo: Bài toán cần giải đưa dạng đồ thị đầy đủ với ràng buộc toán thể công thức toán học Việc giải toán đặt ta 60 có đưa tìm đường (hoặc tập đỉnh) thỏa mãn ràng buộc toán Các nguyên tắc sau đưa ra: • Thông tin pheromone tính toán đặt đoạn đường • Nút ban đầu cho đường kiến chọn cách ngẫu nhiên • Đường lựa chọn dựa nguyên tắc sau: Dựa vào thông tin pheromone có đoạn đường để tính xác suất đoạn chọn vào làm đường kiến Xác suất lớn cho đoạn đường có nhiều lượng pheromone đặt Và đường có lượng thông tin pheromone bé có xác suất chọn thấp Con kiến tiếp tục việc tìm đường hoàn thành đường (thỏa mãn điều kiện dừng kiến) Một đường hoàn chỉnh gọi lời giải (solution) cho toán đặt Các lời giải phân tích, so sánh đánh giá để tìm phương án tối ưu Đó lời giải tối ưu toán Sau tất kiến đàn hoàn thành lời giải tiến hành cập nhật thông tin pheromone cho cung Số lượng pheromone tính toán điều chỉnh để tìm phương án tối ưu tốt Các lời giải tốt có khối lượng pheromone lớn để đặt cung qua Ngược lại lời giải tồi có khối lượng pheromone bé Xác suất cao cho kiến chọn đường có pheromone lớn Quá trình lặp phần lớn kiến đàn kiến chọn đường (phương án hội tụ lời giải) Mã giả cho thuật toán Ant colony: Procedure AntColonyAlgorithm B1: Khởi tạo thông tin Pheromone cho đường B2: Do while (Chưa thỏa mãn điều kiện dừng) B3: Do until (Mỗi Ant hoàn thành đường đi) B4: Cập nhật thông tin pheromone cục (Local trail update) B5: End Do B6: Phân tích lời giải thu (Analyze solution) B7: Cập nhật thông tin pheromone toàn cục (Global trail update) B8: End Do End Procedure Đối với thuật toán ACO, hội tụ đảm bảo nhiên tốc độ thời gian trước, thường sử dụng để giải vấn đề tối thiểu giá thành Thường toán trước giải thuật toán ACO phải biến đổi đưa dạng đồ thị đầy đủ có trọng số Bao gồm nút cung không 61 định hướng Sau biến đổi toán dạng phù hợp áp dụng thuật toán ACO để giải Trên đồ thị kiến xây dựng lời giải cho toán Sau mô hình cụ thể thuật toán ACO Mô tả thuật toán ACO với việc thực song song hoạt động kiến Procedure ACO_Metaheuristic parameter_initialization while (termination_criterion_not_satisfied) schedule_activities ants_generation_and_activity ( ) pheromone_evaporation ( ) daemon_actions ( ) {optional} end schedule_activities end while 10 end Procedure Procedure ants_generation_and_activity ( ) repeat in parallel for k=1 to m (number_of_ants) new_ant (k) end repeat in parallel end Procedure Procedure new_ant (ant_id) initialize_ant (ant_id) L = update_ant_memory ( ) While (current_state ≠ 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 ( ) 10 end while if (online_delayed_pheromone_update) 11 for each visited edge 12 deposit_pheromone_on_the_visited_edge ( ) 13 end for end if 14 release_ant_resources (ant_id) 15 end Procedure 62 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 Ngoà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 toá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.4 Kêt quả của giải thuật, đánh giá và so sánh với thuật toán Hueristic khác Giao diện của chương trình Kết quả :trong chương trình với bản đồ gồm 10 thành phố mặc định, sau bắt đầu chương trình sễ chiêt xuất chiều dài và chu trình tối ưu 63 Đánh giá Trong giải thuật Metaheuristic giải thuật đàn kiến cho hiệu cao hội tụ nhanh kết cuối tốt , tiếp đến giải thuật luyện thép GA Về mặt hiệu song song hóa (speed up) giải thuật đàn kiến cho hiệu tốt nhất, sau giải thuật GA giải thuật luyện thép Hạn chế Chương trình giải quyêt bài toán mạc định cho trước, muốn truyền vào một đồ thị mà người sử dụng cần thao tác sẽ phải vào code để nhập Giao diên không thân thiện với người dùng Khác phục hạn chế Giao diện Chương trình: co phép người dùng nhập vị trí phố, chiều dài tương ứng 64 KẾT LUẬN Trong báo cáo thuật toán tối ưu biết đến với tên gọi tối ưu đàn kiến ACO sử dụng để thiết lập nên mô hình ACO-TSP, từ tối ưu đồng thời tổng lộ trình tổng chi phí dự án mô hình đề xuất tìm tập hợp lời giải tốt cho toán tối ưu lộ trình – chi phí TSP Lời giải cung cấp cho nhà lập kế hoạch quản lý dự án công cụ hữu hiệu để rút ngắn lộ trình tiết kiệm khoảng chi phí đáng kể cho dự án 65 TÀI LIỆU THAM KHẢO http://en.wikipedia.org/wiki/Ant_colony_optimization [1] Christian Blum Daniel Merkle(Eds) Swarm Intelligence , Introduction and Applications [2] The Ants Best Holldobler and Edward O.Willson- The Ants [3] Marco Dorigo and ThomasStu¨ tzle: “Ant Conoly Optimization”, A Bradford Book, The MIT Press, Cambridge, Massachusetts, London, England [4] S Alupoaei and S Katkoori Ant colony system application to macrocell overlap removal IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 12(10):1118–1122, 2004 [5] L Bianchi, L M Gambardella, and M Dorigo An ant colony optimization approach to the probabilistic traveling salesman problem In J J Merelo, P Adamidis, H.-G Beyer, J.-L Fern´ andez-Villacanas, and H.-P Schwefel, editors, Proceedings of PPSN VII, Seventh International Conference on Parallel Problem Solving from Nature, volume 2439 of Lecture Notes in Computer Science, pages 883–892 Springer, Berlin, Germany, 2002 [6] M Dorigo, V Maniezzo & A Colorni: Ant System IEEE Transactions on Systems, Man, and Cybernetics-Part B, 26(1):29-41,1996 [7] S.M Hedetniemi, S.T Hedetniemi, D.P Jacobs, P.K Srimani Self-stabilizing Algorithms for Minimal Dominating Sets and Maximal Independent Sets, 2001 [8] Ajith Abraham, Crina Grosan, Vitorino Ramos(Eds.) Swarm Intelligence in Data Mining [9] Abraham A, Ramos V (2003) Web Usage Mining Using Artificial Ant Colony Clustering and Genetic Programming, 2003 IEEE Congress on volutionary Computation (CEC2003), Australia, IEEE Press, ISBN 0780378040, 1384-1391 66 [...]... tối ưu bầy đàn là một dạng của các thuật toán tiến hóa quần thể đã được biết đến trước đây như thuật giải di truyền(Genetic algorithm (GA)), Thuật toán đàn kiến(Ant colony algorithm)… 2.2.1 Nguồn Gốc Của Ant Colony Tối Ưu Hóa Marco Dorigo và các đồng nghiệp đã giới thiệu các ACO thuật toán đầu tiên vào đầu những năm 1990 Sự phát triển của các thuật toán này được lấy cảm hứng từ sự quan sát của đàn kiến... nhiên một quần thể gồm n cá thể ( là n lời giải cho bài toán) 3 [Quần thể mới ] Tạo quần thể mới bằng cách lặp lại các bước sau cho đến khi quần thể mới hoàn thành a.[Thích nghi] Ước lượng độ thích nghi eval(x) của mỗi cá thể b.[Kiểm tra ] Kiểm tra điều kiện kết thúc giải thuật c.[Chọn lọc] Chọn hai cá thể bố mẹ từ quần thể cũ theo độ thích nghi của chúng (cá thể có độ thích nghi càng cao thì càng có nhiều... các cá thể có cùng một số đặc điểm nào đấy Trong giải thuật di truyền ta quan niệm quần thể là một tập các lời giải của một bài toán Các toán tử di truyền Chọn lựa Trong tự nhiên, quá trình chọn lọc và đấu tranh sinh tồn đã làm thay đổi các cá thể trong quần thể Những cá thể tốt, thích nghi được với điều kiện sống thì có khả năng đấu tranh lớn hơn, do đó có thể tồn tại và sinh sản Các cá thể không... Metaheuristic Bài toán tối ưu tổ hợp là dạng bài toán có độ phức tạp tính toán cao thuộc lớp NP khó Sự ra đời của giải thuật Meta-Heuristic đã giải quyết các bài toán với hiệu quả cao cho kết quả lời giải gần tối ưu như họ giải thuật kiến (Ant Algorithm), giải thuật luyện thép SA (Simulated Annealing), giải thuật di truyền GA (Genetic Algorithm) Metaheuristic là một cách gọi chung cho các giải thuật heuristic... metaheuristic bao gồm giải thuật luyện thép (SA) , giải thuật di truyền (GA) , giải thuật đàn kiến (ACO) ,… • Giải thuật di truyền GA Giải thuật di truyền là một kỹ thuật của khoa học máy tính nhằm tìm kiếm giải pháp thích hợp cho các bài toán tối ưu tổ hợp (combinatorial optimization) Giải thuật di truyền là một phân ngành của giải thuật tiến hóa vận dụng các nguyên lý của tiến hóa như di truyền, đột... quả để giải Các khái niệm cơ bản: Giải thuật di truyền dựa vào quá trình tiến hoá trong tự nhiên nên các khái niệm và thuật ngữ của nó đều có liên quan đến các thuật ngữ của di truyền học Cá thể, nhiễm sắc thể Một cá thể trong giải thuật di truyền, biểu diễn một giải pháp của bài toán Tuy nhiên không giống với trong tự nhiên, một cá thể có nhiều nhiễm sắc thể (NST),có 1 thì gọi là thể đơn bội ,còn... nhiên, và trao đổi chéo Giải thuật di truyền thường được ứng dụng nhằm sử dụng ngôn ngữ máy tính để mô phỏng quá trình tiến hoá của một tập hợp những đại diện trừu tượng (gọi là những nhiễm sắc thể) của các giải pháp có thể (gọi là những cá thể) cho bài toán tối ưu hóa vấn đề Tập hợp này sẽ tiến triển theo hướng chọn lọc những giải pháp tốt hơn Thông thường, những giải pháp được thể hiện dưới dạng nhị phân... cao cả cho thế giới công nghiệp cũng như cho thế giới khoa học.Ví dụ về các vấn đề tối ưu hóa thực tế bao gồm lập kế hoạch đào tạo, timetabling, tối ưu hóa hình dạng, thiết kế mạng viễn thông, và các vấn đề từ sinh học tính toán .Các cộng đồng nghiên cứu đã đơn giản hóa rất nhiều những vấn đề này để có được các trường hợp thử nghiệm khoa học như vấn đề nhân viên bán hàng đi du lịch nổi tiếng (TSP) .Các. .. lựa các cá thể trong GA chính là cách chọn các cá thể có độ thích nghi tốt để đưa vào thế hệ tiếp theo hoặc để cho lai ghép, với mục đích là sinh ra các cá thể mới tốt hơn Có nhiều cách để lựa chọn nhưng cuối cùng đều nhằm đáp ứng mục tiêu là các cá thể tốt sẽ có khả năng được chọn cao hơn Lai ghép Lai ghép trong tự nhiên là sự kết hợp các tính trạng của bố mẹ để sinh ra thế hệ con Trong giải thuật. .. chương trình của máy tính Mục đích của nó là để sinh ra một cách tự động các chương trình máy tính giải quyết một cách tối ưu một vấn đề cụ thể Các hệ thống phân loại (Classifier Systems- CS): Các GA đặc biệt được dùng trong việc học máy và việc phát hiện các quy tắc trong các hệ dựa trên các quy tắc 26 Giải thuật di truyền cũng như các thuật toán tiến hoá đều được hình thành dựa trên một quan niệm được ... hạn thời gian cho phép Bài toán người du lịch (TSP) toán cổ điển thuộc lớp NP nghiên cứu sâu lĩnh vực tối ưu tổ hợp Metaheuristic cách gọi chung cho giải thuật heuristic việc giải toán tổ hợp khó... thuật di truyền thường ứng dụng nhằm sử dụng ngôn ngữ máy tính để mô trình tiến hoá tập hợp đại diện trừu tượng (gọi nhiễm sắc thể) giải pháp (gọi cá thể) cho toán tối ưu hóa vấn đề Tập hợp tiến. .. Trong GA, gen coi phần tử chuỗi NST Quần thể Quần thể tập hợp cá thể có số đặc điểm Trong giải thuật di truyền ta quan niệm quần thể tập lời giải toán Các toán tử di truyền Chọn lựa Trong