TÌM HIỂU CÁC THUẬT GIẢI METAHEURISTICS ĐỂ GIẢI BÀI TOÁN CÂY STEINER

31 1.5K 9
TÌM HIỂU CÁC THUẬT GIẢI METAHEURISTICS ĐỂ GIẢI BÀI TOÁN CÂY STEINER

Đ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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN PHÒNG ĐÀO TẠO SĐH-KHCN&QHĐN BÀI THU HOẠCH MÔN THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ TÌM HIỂU CÁC THUẬT GIẢI METAHEURISTICS ĐỂ GIẢI BÀI TOÁN CÂY STEINER MÃ SỐ LỚP : CH08 HỌC VIÊN THỰC HIỆN : HÀ THANH NHẤT MÃ SỐ HỌC VIÊN : CH1301104 GIẢNG VIÊN PHỤ TRÁCH : PGS.TS ĐỖ VĂN NHƠN TP. HỒ CHÍ MINH, THÁNG 10/2014 LỜI CẢM ƠN Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn Em xin chân thành cảm ơn sâu sắc đến PGS.TS ĐỖ VĂN NHƠN, người thầy đã truyền đạt cho em những kiến thức về thuật toán và phương pháp giải quyết vấn đề khi em tham gia khóa học. Xin được cảm ơn các anh/chị học cùng khóa đã đóng góp và chia sẻ tài liệu về môn học, giúp em hoàn thành tốt bài thu hoạch này. MỤC LỤC LỜI NÓI ĐẦU Bài toán tối ưu tổ hợp là bài toán có độ phức tạp cao và được phân loại thuộc lớp NP khó. Việc tìm ra lời giải tối ưu cho các bài toán này cho các hệ thống tính toán song song lớn nhất cũng không thể hoàn thành được trong giới hạn thời gian cho phép. Vì vậy các kỹ thuật heuristic cho việc giải các bài toán tổ hợp theo hướng xấp xỉ đã được phát triển để tìm ra các lời giải gần tối ưu (hay xấp xỉ) trong giới hạn thời gian cho phép. Metaheuristics hợp nhất các khái niệm từ nhiều lĩnh vực khác nhau như di truyền học, sinh vật học, trí tuệ nhân tạo, toán học và vật lý… Có thể kể một số thuật giải metaheuristics như:  Giải thuật luyện thép (SA): xuất phát từ phương thức xác suất và kỹ thuật luyện bao gồm việc nung và điều khiển làm nguội các kim loại để đạt được trạng thái năng lượng nhỏ nhất.  Giải thuật di truyền (GA): dựa trên ý tưởng từ cơ chế di truyền trong sinh học và tiến trình tiến hóa trong cộng đồng các cá thể của một loài.  Giải thuật đàn kiến (ACO): dùng chiến lược của kiến trong thế giới thực để giải bài toán tối ưu. Trong phạm vi bài thu hoạch này, em xin trình bày các giải thuật có hướng tiếp cận dựa trên tập cá thể (GA và ACO) để giải quyết bài toán cây Steiner. Bài toán Steiner là thuộc lớp bài toán NP khó và trên thực tế chưa có tác giả nào tìm được thuật toán hiệu quả để nó một cách chính xác. Nó có rất nhiều ứng dụng trong thiết kế mạch tích hợp cỡ lớn, thiết kế mạng, thiết kế kiến trúc xây Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn dựng … Chi tiết về bài toán cũng như các giải pháp sẽ được em trình bày trong bài thu hoạch này. Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn 1 GIỚI THIỆU BÀI TOÁN CÂY STEINER Có rất nhiều phát biểu về bài toán cây Steiner. Dưới đây là hai phát biểu theo lý thuyết về hình học và lý thuyết về đồ thị. 1.1 Phát biểu bài toán Steiner trên mặt phẳng Cho ba điểm trên mặt phẳng, tìm một điểm thứ tư sao cho tổng khoảng cách từ điểm này tới ba điểm đã cho có giá trị nhỏ nhất. Bài toán này của Fermat sau đó đã được Heinen giải vào năm 1834. Tuy nhiên, phải mất hơn một thế kỷ, chỉ sau khi Courant và Robbins cho xuất bản cuốn sách mang tên “What is Mathematics” thì bài toán của Fermat và các biến thể của nó mới được biết đến dưới tên bài toán Steiner như một sự ghi nhớ những đóng góp to lớn của nhà bác học Jacob Steiner đối với nền toán học. Từ đó đến nay, rất nhiều phiên bản khác nhau của bài toán đã ra đời để đáp ứng nhu cầu ứng dụng trên thực tế. Một cách tổng quát, bài toán cây Steiner được phát biểu như sau: Cho một tập điểm P, tìm phương án nối các điểm này lại với nhau sao cho chi phí để nối các điểm này là nhỏ nhất. Trong quá trình nối có thể bổ sung những điểm cần thiết với số lượng không hạn chế để đạt được yêu cầu của bài toán. Vào những năm 1960, Melzak là người đầu tiên đưa ra một giải thuật có độ phức tạp hàm mũ để giải bài toán trên mặt phẳng. Tuy giải thuật của Melzak không mang giá trị thực tế cao nhưng sự xuất hiện của một giải thuật hữu hạn cho bài toán Steiner cùng với một số công trình nghiên cứu rất có giá trị của hai tác giả Gilbert và Pollack vào cùng thời gian đó đã là một “cú hích” tác động mạnh tới cộng đồng những nhà toán học nghiên cứu nói chung và những người đi sâu về lĩnh vực tối ưu hóa nói riêng. Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn 1.2 Phát biểu bài toán Steiner trên đồ thị Cho G = (V, E) là một đồ thị vô hướng, mỗi cạnh e ∈ E được gán với một trọng số thực không âm. N là một tập con các đỉnh của đồ thị gọi là tập các đỉnh kết thúc. Một cây T của đồ thị G được gọi là cây Steiner nếu nó chứa tất cả các đỉnh kết thúc, nghĩa là N ⊆ V(T). Các đỉnh thuộc V \ N (được gọi là các đỉnh không kết thúc) cũng có thể xuất hiện trong T, nếu thuộc T chúng được gọi là nút Steiner. Bài toán cây Steiner trên đồ thị được phát biểu như sau: Tìm cây Steiner có trọng số nhỏ nhất trong tất cả các cây Steiner của đồ thị. Cây T như vậy được gọi là cây Steiner nhỏ nhất. Bài toán này thuộc lớp NP khó. Do vậy, một thuật toán đa thức để giải bài toán là không tồn tại ngoại trừ P = NP. Hai trường hợp riêng của bài toán Steiner giải được với điều kiện:  Tất cả các đỉnh của đồ thị đều là đỉnh kết thúc (1)  Chỉ có 2 đỉnh kết thúc (2) Với bài toán 1: lời giải chính là cây khung nhỏ nhất của đồ thị có thể tìm được nhờ thuật toán Kruskal. Với bài toán 2: lời giải tối ưu chính là đường đi ngắn nhất giữa hai đỉnh kết thúc trong đồ thị có thể tìm được nhờ thuật toán Dijsktra. 1.3 Một số ứng dụng của bài toán 1.3.1 Bài toán truyền thông đa hướng Cho một mạng máy tính được biểu diễn bởi một đồ thị trọng số vô hướng G (V, E, f), một tập con T các đỉnh của V được gọi là một nhóm truyền thông và một điểm s được gọi là một máy nguồn. Bài toán yêu cầu tìm một topogoly nối tất cả các máy trong nhóm truyền thông T ∪ s sao cho tổng số các kênh nối (trong một số trường hợp có thể là tổng độ dài các kênh nối) cần sử dụng là nhỏ nhất mà vẫn thỏa mãn các ràng buộc của mạng như tốc độ đường truyền, dung lượng băng thông … Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn 1.3.2 Bài toán kết nối nhóm Cho một đồ thị vô hướng G(V, E) và tập các đỉnh T 1 , T 2 , …… T n ⊂ V. Bài toán yêu cầu tìm một đồ thị con G ’ của G thỏa mãn hai điều kiện sau: - Mỗi tập con T i , i = 1…n phải có ít nhất một điểm trong G. - Độ dài của đồ thị G ’ phải đạt cực tiểu. 1.3.3 Bài toán Steiner nhiều pha Hơi khác so với bài toán kết nối nhóm, bài toán Steiner nhiều pha yêu cầu phải chứa được tất cả các tập đỉnh T 1 , T 2 , … T n . Cho một đồ thị G(V, E) và tập các đỉnh T 1 , T 2 , …… T n ⊂ V. Gọi S 1 , S 2 , … S n là các đồ thị con liên thông của T 1 , T 2 , … T n . Bài toán đặt ra yêu cầu tìm một đồ thị có giá trị cực tiểu và chứa tất cả các đồ thị liên thông. 1.3.4 Bài toán mạng Steiner nhiều pha Cho một đồ thị G(V, E) và các tập con của V: X 1 , Y 1 , X 2 , Y 2 … X n , Y n với X i ∩ Y i = ∅. Bài toán yêu cầu tìm một đồ thị con G ’ của G thỏa mãn hai điều kiện: - Với mỗi i = 1…n, G ’ chứa một cây Steiner S i của X i . - Các điểm Steiner của S i chỉ được lấy từ Y i . 1.3.5 Bài toán giật giải Cho một đồ thị G(V, E), xuất phát từ một phương án nào đó, bài toán sẽ kết nạp một đỉnh của G vào phương án này, với mỗi một điểm mới được kết nạp vào, một giá trị k = v (độ dài của các cạnh vừa kết nạp vào phương án) sẽ được cộng vào hàm mục tiêu của phương án. Mục tiêu tối ưu của bài toán này là làm cực đại giá trị hàm mục tiêu của phương án cuối cùng. Trong công thức tính k ở trên, v là một hằng số được gắn với mỗi đỉnh trên đồ thị G. 1.3.6 Thiết kế mạch VLSI Trong bước thiết kế vật lý của vi mạch VLSI, pha đi dây bao gồm việc xác định sơ đồ nối dây cho các điểm nối của từng khối hay từng cổng trên chip. Một mạng trên chip là tập hợp các điểm cần phải nối với nhau, thường bao gồm một điểm Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn nguồn và nhiều điểm đích. Trong việc đi dây, sơ đồ kết nối được đặc tả cho một số lượng lớn các mạng. Kết nối thường được thực hiện trên một mạng cùng lúc. Mỗi phương án kết nối cho một mạng đơn là một cây Steiner phủ các điểm nối. Nhiều yêu cầu tối ưu đặt ra cho việc nối mạng phụ thuộc vào chức năng của từng mạng. Việc thiết kế VLSI, các đường nối chỉ là đường ngang dọc trên bảng mạch. Bài toán tối ưu chiều dài dây nối được đưa về một biến thể của bài toán cây Steiner, đó là bài toán cây Steiner thẳng góc trên đồ thị lưới. 1.3.7 Bài toán phát sinh loài Sự phát sinh loài được biểu diễn bằng một cây tiến hóa. Nghiên cứu xây dựng cây phát sinh loài là một trong những bài toán tính toán cơ bản trong sinh học. Ta quan tâm ở đây tới sự phân loài được mô tả bởi các tính trạng mà chúng thể hiện ra từ tập các đặc tính. Dữ liệu trên được mô tả dưới dạng bảng nhị phân, phần tử (i, j) nhận giá trị 0 hoặc 1 tương ứng với loài i không có tính trạng j hoặc có tính trạng j. Sự khác biệt giữa hai loài được đo bằng khoảng cách Hamming giữa hai vector tính trạng. Bài toán đặt ra là xây dựng cây tiến hóa sao cho sự khác biệt giữa các loài đạt giá trị nhỏ nhất chính là giải bài toán cây Steiner nhỏ nhất. Các điểm kết thúc là các vector tính trạng của loài, các nút trung gian bản thân cũng là các vector nhị phân, chúng nằm trên cạnh nối từ gốc đến lá. Trọng số của các cạnh đo bằng khoảng cách Hamming. 1.4 Các thuật toán/thuật giải để giải quyết bài toán Steiner 1.4.1 Thuật toán Dreyfus-Wagner Cho đồ thị vô hướng liên thông G = (V, E), T là tập đỉnh kết thúc của đồ thị. (G, c, T) là một thể hiện của bài toán, với mọi tập U ⊆ T và x  V(G)\U, ta định nghĩa:  1 ( ) : min{ ( ( ))}p U c E S= với S 1 là cây Steiner phủ tập U trong G, Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn  2 ( { }, ) : min{ ( ( ))}q U x x c E S∪ = với S 2 là cây Steiner phủ tập U  {x} trong G có lá là các phần tử của U. Khi đó với mọi U ⊆ V(G), |U| ≥ 2 và x  V(G) \ U ta có: ( ) ( )\ ( ) ( { }, ) : min ( { }) (( \ ) { }) ( ) ( { }) : min{min( ( ) dist ( , )), min ( ( { }, ) dist ( , ))} U U G y U G y V G U a q U x x p U x p U U x b p U x p U x y q U y y x y ′ ∅≠ ⊂ ∈ ∈ ′ ′ ∪ = ∪ + ∪ ∪ = + ∪ +  dist G (x, y) là chiều dài đường đi ngắn nhất giữa cặp đỉnh x, y trong G. Mã giả của thuật toán (sử dụng quy hoạch động) Input Đồ thị vô hướng liên thông G, trọng số c và tập đỉnh kết thúc T. Output Trọng số p(T) của cây Steiner nhỏ nhất phủ tập T của đồ thị G. 1 BEGIN 2 Nếu |T| ≤ 1 thì p(T) = 0, kết thúc thuật toán; 3 Tính dist G (x,y) và đặt p(x,y) = dist G (x,y) cho mọi x, y; 4 for k=2 to |T|-1 5 for (U ⊆ T, |U|=k) và (xV(G)\U) 6 Tính q(U{x}, x) theo công thức (a); 7 endfor; 8 for (U ⊆ T, |U|=k) và (xV(G)\U) 9 Tính p(U{x}) theo công thức (b); 10 endfor; 11 endfor; 12 Trả về p(T); 13 END Thuật toán Dreyfus-Wagner tính cây Steiner nhỏ nhất có độ phức tạp là O(3 t n + 2 t n 2 + n 3 ) với t = | T | và n = |V(G)|. 1.4.2 Các thuật giải metaheuristic Bài toán cây Steiner là thuộc loại bài toán tối ưu tổ hợp nên việc sử dụng các kỹ thuật tìm kiếm metaheuristic để tiếp cận giải quyết bài toán sẽ tốt hơn. Metaheuristic không được đảm bảo về mặt lý thuyết là có thể đưa ra lời giải tối Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn ưu, nhưng qua những thử nghiệm thực tế, kết quả mà các phép tìm kiếm metaheuristic mang lại rất khả quan. Chi tiết về các thuật giải metaheuristic sẽ được trình bày ở phần tiếp theo đây. 2 GIỚI THIỆU VỀ METAHEUTISTIC Metaheuristic là một cách gọi chung cho các giải thuật heuristic trong việc giải quyết các bài toán tổ hợp khó. Metaheuristic bao gồm những chiến lược khác nhau trong việc khám phá không gian tìm kiếm bằng cách sử dụng những phương thức khác nhau và phải đạt được sự cân bằng giữa tính đa dạng và chuyên sâu của không gian tìm kiếm. Một cài đặt thành công của metaheuristic trong một bài toán tổ hợp phải cân bằng giữa sự khai thác được kinh nghiệm thu thập được trong quá trình tìm kiếm để xác định được những vùng với những lời giải có chất lượng cao gần tối ưu. Với độ phức tạp tính toán cao của các bài toán tối ưu tổ hợp cũng như đòi hỏi về mặt thời gian , việc giải các bài toán này yêu cầu cần phải có những cài đặt song song hóa hiệu quả của các giải thuật để giải quyết chúng. Song song hóa các giải thuật metaheuristic phải đạt được hai yêu cầu : đa dạng hóa để khám phá được nhiều vùng trong không gian tìm kiếm và tăng tốc độ tìm kiếm . Nhiều mô hình song song đã được đề xuất cho nhiều metaheuristic. Thuật giải di truyền và đàn kiến đều là các cách tiếp cận dựa trên tập cá thể và vì vậy khá tự nhiên cho việc xử lý song song. Trong bài thu hoạch này, em xin trình bày hai giải thuật metaheuristic là: thuật giải di truyền(GA) và thuật giải đàn kiến (ACO). 3 THUẬT GIẢI DI TRUYỀN 3.1 Lịch sử phát triển Tính toán tiến hóa được I. Rechenberg giới thiệu vào những năm 1960 trong công trình “Evolution Stragies” (Những chiến lược tiến hóa). Ý tưởng của ông đã được các nhà khoa học nghiên cứu phát triến tiếp. Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn Giải thuật di truyền do John Holland phát minh và được ông phát triển cùng với các đồng nghiệp và sinh viên. Cuốn sách "Adaption in Natural and Artificial Systems" (Sự thích nghi trong các hệ tự nhiên và nhân tạo) xuất bản năm 1975 đã tổng hợp các kết quả của quá trình nghiên cứu và phát triển đó. Năm 1992, John Koza đã dùng GA để xây dựng các chương trình giải quyết một số bài toán và gọi phương pháp này là "Genetic Programming" (GP). Năm 1996, thư viện các hàm C++ cho GA (GALib) đã được Mathew Wall, trường Đại học Massachussets (Massachusetts Institute of Technology) đưa ra. Đây là các công cụ sử dụng giải thuật di truyền cho tối ưu hoá các chương trình có sử dụng sự biểu diễn hay các toán tử di truyền. Ngày nay giải thuật di truyền càng trở nên quan trọng, đặc biệt là trong lĩnh vực tối ưu hoá, một lĩnh vực có nhiều bài toán thú vị, được ứng dụng nhiều trong thực tiễn nhưng thường khó và chưa có giải thuật hiệu quả để giải. 3.2 Các khái niệm cơ bản 3.2.1 Nhiễm sắc thể (Chromosome) Nhiễm sắc thể (NST) hay còn gọi là cá thể. Các sinh vật sống đều cấu tạo từ cá tế bào, và tất cả các tế bào này đều bao gồm một tập hợp các nhiếm sắc thể giống nhau. Các NST này là một chuỗi các ADN, quy định đặc tính của cả cá thể. Mỗi NST bao gồm rất nhiều GEN, mỗi gen quy định một trạng thái nào đó. Trong bài toán tối ưu, cá thể tương ứng với một lời giải tiềm tàng. 3.2.2 Quần thể (Population) Quần thể trong tự nhiên là một tập hợp 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 tiềm tàng của một bài toán. 3.2.3 Chọn lọc (Selection) 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ó Trang || [...]... LocalSearch() là hàm tìm kiếm địa phương, giúp tìm ra tối ưu cục bộ 5 GIẢI BÀI TOÁN STEINER SỬ DỤNG CÁC GIẢI THUẬT METAHEURISTICS Trong phần này, em sẽ trình bày hai giải thuật:  Giải thuật di truyền (GA)  Giải thuật đàn kiến (ACO) Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn 5.1 Giải thuật di truyền giải bài toán cây Steiner 5.1.1 Mã hóa lời giải Bài toán được mã hóa... hợp thuộc NP-khó Để giải quyết bài toán này, giải thuật metaheuristic được em lựa chọn Qua quá trình tìm hiểu về meta metaheuristic, em đã chọn hai thuật giải để áp dụng vào bài toán này đó là: thuật giải di truyền và thuật giải đàn kiến Đối với mỗi thuật giải, em đã nêu lên ý tưởng cũng như xây dựng mô hình cho bài toán Steiner Do bài thu hoạch này chỉ dừng lại việc đưa ra hướng giải quyết, xây dựng... cách giải quyết của thuật toán kiến trước khi cập nhật mùi lạ Hệ thống kiến MAX-MIN: một trong những thuật toán mở rộng tốt nhất của AS Rank-based Ant System: kết hợp các loại cập nhật mùi lạ từ các thuật toán trước Best-Worst Ant System: khai thác hệ thống của vùng tối ưu để cải tiến cách giải quyết của thuật toán kiến 4.3 Các bước để giải quyết bài toán dùng thuật giải đàn kiến Bước 1: Thể hiện bài. .. đỉnh v vào cây lời giải sẽ cao hơn 5.2.7 Kết hợp tìm kiếm địa phương Với nhiều bài toán dạng tối ưu tổ hợp như Steiner, em xin đề xuất thêm các giải thuật tìm kiếm cục bộ nhằm cải thiện chất lượng lời giải sau mỗi quá trình tìm đường của kiến 5.2.7.1 Thêm đỉnh vào cây lời giải Khi quá trình tìm kiếm lời giải của kiến kết thúc, ta thu được cây lời giải T 0 thỏa mãn điều kiện bài toán Công việc tìm kiếm... trình tìm kiếm thức ăn 4.1.2 Hình thành ý tưởng thuật giải từ đàn kiến tự nhiên Thuật toán ACO lấy ý tưởng từ việc kiếm thức ăn của đàn kiến ngoài thực tế để giải quyết các bài toán tối ưu tổ hợp Chúng dựa trên cơ sở một đàn kiến nhân tạo, chúng được tính toán tìm kiếm thức ăn nhờ mùi lạ nhân tạo Cấu trúc cơ bản của thuật toán ACO: trong mỗi thuật toán, tất cả kiến đi xây dựng cách giải quyết bài toán. .. là các đỉnh treo nên khi loại bỏ chúng sẽ không làm ảnh hưởng đến tính liên thông giữa các điểm còn lại trong cây  Các đỉnh Steiner bậc hai là cầu giữ hai điểm i và j, thuật toán chỉ thay đổi đường đi giữa hai điểm này nên không làm ảnh hưởng đến sự liên thông của các điểm khác trong cây 5.2 Giải thuật đàn kiến giải bài toán cây Steiner 5.2.1 Các định nghĩa và ký hiệu  T = (VT, ET) bộ phận của cây. .. vậy giải thuật này có độ phức tạp là O(N3) Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn 5.2.7.2 Loại bỏ đỉnh từ cây lời giải Ngoài phương pháp thêm đỉnh, ta cũng có thể tiến hành tìm kiếm cục bộ bằng cách loại bỏ một số đỉnh trên cây lời giải hiện tại mà không phá vỡ điều kiện của bài toán Sau khi loại bỏ các đỉnh, ta cũng tiến hành tìm cây khung nhỏ nhất bao trùm các. .. gần với cây tối ưu T* được xây dựng một cách heuristic thông qua hàm chi phí mở rộng Khi có τmax, ta tính toán τmin theo công thức: , trong đó nm là số đỉnh lớn nhất kiến có thể thăm Với bài toán này, nm = N, cận dưới được tính là: Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn KẾT LUẬN Trong bài thu hoạch này, em đã tìm hiểu về bài toán cây Steiner – một dạng bài toán tối... tiến hóa của quần thể Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn 3.3 Mô tả thuật giải GA được lấy cảm hứng từ Thuyết tiến hóa của Darwin Lời giải của một bài toán được giải bằng GA sử dụng quá trình tiến hóa Giải thuật bắt đầu bằng một tập các lời giải, được biểu diễn bằng các NST, gọi là Quần Thể Các lời giải này được lấy ra và sử dụng để tạo nên quần thể mới, với một... liệu thực, chưa đánh giá so sánh giữa hai giải thuật … Dự định hướng phát triển sắp tới, em sẽ tìm hiểu sâu hơn nữa về hai giải thuật này đồng thời cũng thực nghiệm cài đặt hai thuật toán này để đánh giá hiệu quả giữa chúng Trang || Thuật toán và phương pháp giải quyết vấn đềGVHD: PGS.TS Đỗ Văn Nhơn TÀI LIỆU THAM KHẢO [1] Thuật toán kiến song song giải quyết bài toán MAXSAT Tác giả: Quách Thị Hái Oanh, . TIN PHÒNG ĐÀO TẠO SĐH-KHCN&QHĐN BÀI THU HOẠCH MÔN THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ TÌM HIỂU CÁC THUẬT GIẢI METAHEURISTICS ĐỂ GIẢI BÀI TOÁN CÂY STEINER MÃ SỐ LỚP : CH08 HỌC VIÊN. cá thể (GA và ACO) để giải quyết bài toán cây Steiner. Bài toán Steiner là thuộc lớp bài toán NP khó và trên thực tế chưa có tác giả nào tìm được thuật toán hiệu quả để nó một cách chính xác. Nó. mùi lạ từ các thuật toán trước. Best-Worst Ant System: khai thác hệ thống của vùng tối ưu để cải tiến cách giải quyết của thuật toán kiến. 4.3 Các bước để giải quyết bài toán dùng thuật giải đàn

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

Từ khóa liên quan

Mục lục

  • 1 GIỚI THIỆU BÀI TOÁN CÂY STEINER

    • 1.1 Phát biểu bài toán Steiner trên mặt phẳng

    • 1.2 Phát biểu bài toán Steiner trên đồ thị

    • 1.3 Một số ứng dụng của bài toán

      • 1.3.1 Bài toán truyền thông đa hướng

      • 1.3.2 Bài toán kết nối nhóm

      • 1.3.3 Bài toán Steiner nhiều pha

      • 1.3.4 Bài toán mạng Steiner nhiều pha

      • 1.3.5 Bài toán giật giải

      • 1.3.6 Thiết kế mạch VLSI

      • 1.3.7 Bài toán phát sinh loài

      • 1.4 Các thuật toán/thuật giải để giải quyết bài toán Steiner

        • 1.4.1 Thuật toán Dreyfus-Wagner

        • 1.4.2 Các thuật giải metaheuristic

        • 2 GIỚI THIỆU VỀ METAHEUTISTIC

        • 3 Thuật giải di truyền

          • 3.1 Lịch sử phát triển

          • 3.2 Các khái niệm cơ bản

            • 3.2.1 Nhiễm sắc thể (Chromosome)

            • 3.2.2 Quần thể (Population)

            • 3.2.3 Chọn lọc (Selection)

            • 3.2.4 Lai ghép (CrossOver)

            • 3.2.5 Đột biến (Mutation)

            • 3.2.6 Hàm thích nghi (Fitness Function)

            • 3.3 Mô tả thuật giải

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

Tài liệu liên quan