Trong ngành khoa học máy tính, tìm kiếm lời giải tối ưu cho các bài toán là vấn đề được các nhà khoa học máy tính đặc biệt rất quan tâm. Mục đích chính của các thuật toán tìm kiếm lời giải là tìm ra lời giải tối ƣu nhất cho bài toán trong thời gian nhỏ nhất. Các thuật toán như tìm kiếm không có thông tin / vét cạn ( tìm kiếm trên danh sách, trên cây hoặc đồ thị ) sử dụng phương pháp đơn giản nhất và trực quan nhất hoặc các thuật toán tìm kiếm có thông tin sử dụng heurictics để áp dụng các tri thức về cấu trúc của không gian tìm kiếm nhằm giảm thời gian cần thiết cho việc tìm kiếm được sử dụng nhiều nhưng chỉ với không gian tìm kiếm nhỏ và không hiệu quả khi tìm kiếm trong không gian tìm kiếm lớn. Tuy nhiên, trong thực tiễn có rất nhiều bài toán tối ưu với không gian tìm kiếm rất lớn cần phải giải quyết. Vì vậy, việc đòi hỏi thuật giải chất lượng cao và sử dụng kỹ thuật trí tuệ nhân tạo đặc biệt rất cần thiết khi giải quyết các bài toán có không gian tìm kiếm lớn. Giải thuật di truyền (genetic algorithm) là một trong những kỹ thuật tìm kiếm lời giải tối ưu đã đáp ứng được yêu cầu của nhiều bài toán và ứng dụng. Giải thuật di truyền đã được phát minh ra để bắt chước quá trình phát triển tự nhiên trong điều kiện quy định sẵn của môi trường. Trong bài tiểu luận này chúng ta sẽ nghiên cứu về việc áp dụng giải thuật di truyền để thiết kế mạng tối ưu. MỤC LỤC LỜI NÓI ĐẦU 4 CÁC THUẬT NGỮ VIẾT TẮT 5 DANH MỤC HÌNH VẼ 6 DANH MỤC CÁC BẢNG 7 Chương 1: Các kỹ thuật tính toán thích ứng và heuristic trong viễn thông 8 1.1 Các vấn đề tối ưu hóa trong viễn thông 8 1.2 Bài toán động và thích ứng. 9 1.3 Các kỹ thuật Heuristic hiện đại 10 1.3.1 Tìm kiếm cục bộ 12 1.3.2 Tìm kiến dựa trên tập hợp (Population-Based Search) 18 1.4 Kỹ thuật tính toán thích nghi 21 1.4.1 Tính toán hệ thần kinh 22 1.4.2 Logic mờ 23 1.4.3 Lý thuyết trò chơi 24 1.5 Tổng kết 24 Chương 5: Các vấn đề tối ưu địa chỉ trong quy hoạch mạng lưới với tính toán tiến hóa 26 5.1. Giới thiệu 26 5.2. Mạng truy nhập 28 5.2.1. Tổng quan về Greenfield CPP 29 5.2.2. Mô hình đối tượng mạng 31 5.2.3. Module phân tích kiến trúc 33 5.3. Công cụ quy hoạch cáp đồng 34 5.4. Phát biểu vấn đề tối ưu mạng 35 5.5. Các giải thuật di truyền 38 5.5.1. EC Search Engine 40 5.5.2. Khởi tạo EA 41 5.5.3. Thuật toán tìm kiếm chính- Optimiser Kernel 42 5.6. Kết quả thực tế 45 5.7. Thảo luận 48 5.8. Các lợi ích cho quản lý 50 5.9. Các vấn đề định hướng 51 5.10. Kết luận 51 KẾT LUẬN 53 TÀI LIỆU THAM KHẢO 54
LỜI NÓI ĐẦU Trong ngành khoa học máy tính, tìm kiếm lời giải tối ưu cho các bài toán là vấn đề được các nhà khoa học máy tính đặc biệt rất quan tâm. Mục đích chính của các thuật toán tìm kiếm lời giải là tìm ra lời giải tối ƣu nhất cho bài toán trong thời gian nhỏ nhất. Các thuật toán như tìm kiếm không có thông tin / vét cạn ( tìm kiếm trên danh sách, trên cây hoặc đồ thị ) sử dụng phương pháp đơn giản nhất và trực quan nhất hoặc các thuật toán tìm kiếm có thông tin sử dụng heurictics để áp dụng các tri thức về cấu trúc của không gian tìm kiếm nhằm giảm thời gian cần thiết cho việc tìm kiếm được sử dụng nhiều nhưng chỉ với không gian tìm kiếm nhỏ và không hiệu quả khi tìm kiếm trong không gian tìm kiếm lớn. Tuy nhiên, trong thực tiễn có rất nhiều bài toán tối ưu với không gian tìm kiếm rất lớn cần phải giải quyết. Vì vậy, việc đòi hỏi thuật giải chất lượng cao và sử dụng kỹ thuật trí tuệ nhân tạo đặc biệt rất cần thiết khi giải quyết các bài toán có không gian tìm kiếm lớn. Giải thuật di truyền (genetic algorithm) là một trong những kỹ thuật tìm kiếm lời giải tối ưu đã đáp ứng được yêu cầu của nhiều bài toán và ứng dụng. Giải thuật di truyền đã được phát minh ra để bắt chước quá trình phát triển tự nhiên trong điều kiện quy định sẵn của môi trường. Trong bài tiểu luận này chúng ta sẽ nghiên cứu về việc áp dụng giải thuật di truyền để thiết kế mạng tối ưu. 2 CÁC THUẬT NGỮ VIẾT TẮT Từ viết tắt Nghĩa tiếng Anh Nghĩa tiếng Việt ADSL Asymmetric Digital Subscriber Line Đường dây thuê bao số bất đối xứng CPP Copper Planning Problem Vấn đề quy hoạch cáp đồng DPs Distribution Points Điểm phân bố EC Evolutionary Computation Tính toán tiến hóa EAs Evolutionary Algorithms Giải thuật tiến hóa GA Genetic Algorithm Giải thuật di truyền LTU Line Termination Unit MOGA Multiple Objective Genetic Algorithm Thuật toán di truyền đa mục tiêu PCP Primary Connection Point Điểm kết nối chính OMT Object Modelling Technology Công nghệ mô hình hóa đối tượng OS Ordinance Survey Sở đo đạc POTS Plain Old Telephone System Hệ thống điện thoại analog GUI Windows Graphical User Interface Giao diện đồ họa người dùng 3 DANH MỤC HÌNH VẼ 4 DANH MỤC CÁC BẢNG 5 Chương 1: Các kỹ thuật tính toán thích ứng và heuristic trong viễn thông 1.1 Các vấn đề tối ưu hóa trong viễn thông Sự phức tạp và kích thước của các mạng viễn thông hiện đại cung cấp cho chúng ta nhiều thách thức và cơ hội. Trong cuốn sách này, những thách thức mà chúng tôi tập trung vào là những liên quan đến việc tối ưu hóa. Điều này chỉ đơn giản đề cập tới những trường hợp mà trong đó chúng ta đang hướng tới tìm một cách tiếp cận phương án tốt nhất giữa nhiều phương án có thể có để giải quyết bài toán. Ví dụ, có một số lượng lớn cách để thiết kế các cấu trúc liên kết một mạng dữ liệu riêng cho một công ty lớn. Làm thế nào chúng ta có thể tìm thấy một thiết kế đặc biệt tốt trong tất cả các khả năng? Ngoài ra, chúng ta có thể thử tìm một cách tốt để gán kênh tần số cho nhiều người sử dụng mạng di động. Có một loạt các khó khăn phức tạp liên quan ở đây, số lượng các phương án có thể đáp ứng các khó khăn vẫn còn quá lớn để chúng tôi hy vọng sẽ kiểm tra lần lượt từng phương án trong số chúng. Vì vậy, một lần nữa, chúng ta cần một số cách để tìm ra giải pháp tốt trong tất cả các khả năng. Những thách thức hiện tại là cơ hội cho sự hợp tác giữa các kỹ sư viễn thông, các nhà nghiên cứu và phát triển trong khoa học máy tính và trí tuệ nhân tạo cộng đồng. Đặc biệt, có một bộ các công nghệ phần mềm mới nổi nhằm tối ưu hóa các vấn đề mà hiện nay đang được được sử dụng trong ngành công nghiệp, nhưng có tiềm năng lớn cho các giải pháp có lợi nhuận và hiệu quả cho nhiều bài toán trong ngành viễn thông. Phần lớn cuốn sách này tập trung vào các kỹ thuật tối ưu hóa, và các công trình nghiên cứu trong các chương sắp tới trình bày một phần việc áp dụng những kỹ thuật này cho các bài toán liên quan đến viễn thông. Các kỹ thuật sử dụng bao gồm các phương pháp "tìm kiếm địa phương “ như ủ mô phỏng (Aarts và Korst, 1989) và tìm kiếm tabu (Glover, 1989; 1989a), và các kỹ thuật tìm kiếm 'dựa trên tập hợp' như thuật toán di truyền (Poland, 1975 ; Goldberg, 1989), chiến lược phát triển (Schwefel, 1981; 6 Back, 1996), lập trình tiến hóa (Fogel, 1995) và lập trình di truyền (Koza, 1992). Mục 1.3 giới thiệu ngắn gọn và cơ bản các kỹ thuật trên, dành cho các kỹ sư viễn thông, quản lý hoặc nghiên cứu, những người hiểu biết quá nhiều về vấn đề này, nhưng chưa biết cách để giải quyết chúng. Chương sau thảo luận về việc sử dụng liên quan đến các bài toán đặc biệt trong viễn thông. 1.2 Bài toán động và thích ứng. Một khía cạnh cơ bản của nhiều vấn đề tối ưu hóa trong viễn thông là một thực tế rằng các giải pháp tối ưu là động. Những gì có thể là giải pháp tốt nhất bây giờ có thể không phải là giải pháp lý tưởng trong một vài giờ, hoặc thậm chí một vài phút. Ví dụ, các nhà cung cấp dịch vụ của một cơ sở dữ liệu phân tán ( như video theo yêu cầu, dịch vụ web - bộ nhớ đệm, vv) phải cố gắng để đảm bảo chất lượng dịch vụ cho mỗi khách hàng. Để làm điều này liên quan đến việc chuyển hướng cơ sở dữ liệu của khách hàng truy cập đến các máy chủ khác nhau tại các thời điểm khác nhau ( khách hàng không thể nhận biết) để thực hiện phù hợp cân bằng tải giữa các máy chủ. Kỹ thuật tối ưu hóa hiện đại có thể được sử dụng để phân phối tải trọng phù hợp trên các máy chủ, tuy nhiên giải pháp này trở nên không hợp lệ ngay sau khi có sự thay đổi trung bình trong mô hình truy cập cơ sở dữ liệu của khách hàng. Một ví dụ khác là định tuyến gói chung trong một mạng point-to -point. Theo truyền thống, bảng định tuyến tại mỗi nút được sử dụng để tìm kiếm ' bước kế tiếp ' tốt nhất cho một gói dựa trên điểm đến cuối cùng của nó. Chúng ta có thể tưởng tượng một kỹ thuật tối ưu hóa áp dụng cho vấn đề này, kỹ thuật này dựa vào mô hình tổng thể và xác định các bảng định tuyến thích hợp cho mỗi nút, do đó ùn tắc chung và sự chậm trễ có thể được giảm thiểu, tức là trong nhiều trường hợp là ‘bước kế tiếp’ tốt nhất có thể không tìm được nút tiếp theo trên con đường ngắn nhất, vì liên kết này có thể được được sử dụng nhiều rồi. Tuy nhiên, đây rõ ràng là một chương trình cần được thực hiện lặp đi lặp lại như những biểu đồ thay đổi lưu lượng truy cập. 7 Việc thực hiện lặp đi lặp lại của các kỹ thuật tối ưu hóa là một trong những cách có thể để tiếp cận các bài toán động, nó thường là một cách khá phù hợp, đặc biệt là khi các giải pháp tốt yêu cầu cần thiết phải rất nhanh, vì môi trường thay đổi rất nhanh chóng. Thay vào đó, một phạm vi khác của các kỹ thuật tính toán hiện đại thường thích hợp cho các bài toán như vậy. Chúng ta có thể gọi chung lớp này là kỹ thuật "thích ứng", mặc dù việc sử dụng ở các chương sau trong cuốn sách này thực sự khá đa dạng. Đặc biệt, chương sau sẽ sử dụng tính toán thần kinh (neural), logic mờ và lý thuyết trò chơi để giải quyết tối ưu hóa thích nghi trong môi trường động, trong một số trường hợp kết hợp với tìm kiếm cụ bộ hoặc dựa vào tập hợp. Về cơ bản, một kỹ thuật tối ưu hóa cung cấp một cách nhanh chóng và hiệu quả để tìm một giải pháp tốt trong nhiều giải pháp, một kỹ thuật thích ứng phải cung cấp một giải pháp tốt gần như là ngay lập tức. Thủ thuật ở đây đó là các phương pháp sử dụng tiến trình “off-line” để học về vấn đề đang giải quyết sao cho khi mà các kết quả tốt và nhanh được yêu cầu thì chúng sẽ được chuyển đi. Ví dụ, một cách tiếp cận thích hợp cho việc định tuyến gói tin trong các mặt thay đổi trong mô hình giao thông sẽ bao gồm một số liên tục nhưng tôi thiểu hóa xử lý mà được cập nhật liên tục trong bảng định tuyến tại mỗi nút dựa trên thông tin hiện tại về độ trễ và mức độ giao thông. Trong phần còn lai của chương này chúng ta sẽ giới thiệu ngắn gọn về sự tối ưu và và các kỹ thuật thích ứng mà chúng ta đã đề cập ở trên. Chi tiết sẽ được nói ở các chương sau. Sau đó chúng ta sẽ nói một chút về ba phần trong cuốn sách này trong các chương tiếp theo. Sau cùng, chúng ta sẽ chỉ ra tại sao những kỹ thuật này là quan trọng trong viễn thông, và chúng sẽ ngày càng phát triển theo thời gian. 1.3 Các kỹ thuật Heuristic hiện đại Có một loạt các phương pháp nổi tiếng trong hoạt động nghiên cứu, như là : quy hoạch động (DynamicProgramming), quy hoạch tuyến tính (Integer Programming ). 8 V v đã được sử dụng để giải quyết các lọa vấn đề tối ưu khác nhau. Tuy nhiên , một cộng đồng lớn của các nhà khoa học máy tính và các nhà nghiên cứu trí tuệ nhân tạo ngày nay đang dành rất nhiều nỗ lực vào những ý tưởng hiện đại hơn được gọi là “metaheuristics” hay còn gọi là “heuristic”. Vấn đề khác nhau cơ bản giữa các phương pháp hiên đại và phương pháp cổ điển đó là , nó dễ áp dụng hơn. Tực là nếu đưa ra một vấn đề thực tế điển hình và phức tạp thì nó sẽ cần ít công sức để phát triển cách tiếp cận mô hình tôi thép để giải quyết vấn đề đó hơn là trình bày vấn đề theo cách quy hoạch tuyến tính có thể áp dụng trên nó. Điều này không nói rằng các phương pháp hiện đại sẽ làm tốt hơn phương pháp cổ điển. Trên thực tế, kịch bản thực tế và điển hình khi mà cả hai loại phương pháp được áp dụng đó là : • Một chuyên gia metaheuristics so sánh hại loại kỹ thuật: phương pháp hiện đại làm tốt hơn phương pháp cổ điện • Một chuyên gia nghiên cứu các hoạt động cổ điển so sánh hai loại kỹ thuật: phương pháp cổ điển vượt trội hơn phương pháp hiện đại Mặc dù sự quan sát này dựa trên một khía cạnh quan trọng trong việc giải quyết các vấn đề tối ưu. bạn càng hiểu rõ các kỹ thuật riêng biệt mà bạn đang áp dụng thì bạn càng có khả sử dụng và khai thác nó để đạt được kết quả tốt hơn. Trong phần này chúng tôi chỉ cung cấp khía quát về một số thuật toán tối ưu hiện đại, và do đó không cung cấp khá đầy đủ thông tin cho một người đọc để có thể chỉnh cho phù hợp với các vấn đề cụ thể. Mặc dù chúng tôi không chỉ cho bạn cách để sáng tạo với chúng, nhưng chúng tôi chỉ ra điểm mấu chốt ở đâu. Làm cách nào để áp dụng sáng tạo chúng thì phụ thuộc và rất nhiều vấn đề, nhưng chương sau sẽ cung cấp các thông tin cho từng trường hợp cụ thể. Những gì sẽ trở nên rõ ràng từ chương này, tuy nhiên, đó là những kỹ thuật được đánh giá cao chung trong ứng dụng của chúng. Trong 9 thực tế, bất cứ khi nào cũng có một số cách khá sẵn để đánh giá hoặc tính điểm giải pháp ứng cử viên cho vấn đề của bạn, sau đó các kỹ thuật này có thể được áp dụng. Về bản chất các kỹ thuật này được chia làm 2 nhóm : tìm kiếm địa phương, tìm kiếm dựa trên dân số. Đó sẽ là những thứ sẽ được bàn đến tiếp theo đây. 1.3.1 Tìm kiếm cục bộ Giả sử rằng bạn đang cố gắng để giải quyết một vấn đề P, và bạn có một tập hợp S là các giải pháp tiềm năng cho vấn đề này. Bạn không nhất thiết phải có tập S, vì nó quá lớn để có thể hiểu rõ toàn bộ. Tuy nhiên, bạn có một số cách để tạo ra các giải pháp từ nó. Ví dụ, S có thể là một tập hợp các cấu trúc liên kết cho một mạng, và các giải pháp ứng cử s, s ', s'',… là các đề cử cấu trúc kết nối cụ thể mà bạn đã đưa ra theo cách nào đó. Thêm vào đó, hãy tưởng tượng rằng bạn có một hàm chuẩn hóa f(s) (fitness function) có chức năng đưa ra kết quả của một giải pháp đề cử. Kết quả tốt hơn đồng nghĩa với việc đó là giải pháp tốt hơn. Lấy ví dụ, chúng ta đang cố gắng tìm ra những cấu trúc liên kết mạng đáng tin cậy nhất, sau đó f (s) có thể tính toán xác suất thất bại của liên kết giữa hai nút đặc biệt quan trọng. Trong trường hợp chúng ta muốn sử dụng nghịch đảo của giá trị này nếu chúng ta thực sự muốn gọi nó là ‘chuẩn hóa’ (fitness). Trong những trường hợp khi mà kết quả thấp hơn, thì tốt hơn và thường thì thích hợp hơn đó là coi f(s) là một hàm chi phí. Chúng ta còn cần thêm một điều nữa, mà chúng ta gọi là một toán tử lân cận (neighbourhood operator). Đây là hàm có chức năng lấy ra một giải pháp đề cử s, và tạo ra một giải pháp đề cử mới s’ - thường chỉ hơi khác một chút so với s. Chúng ta sẽ sử dụng thuật ngữ ‘biến cố’ (mutation) để mô tả cho toán tử này. Ví dụ, nếu chúng ta biến đổi một cấu trúc liên kết mạng, kết quả biến đổi có thể bao gồm một liên kết thêm không có trong cấu trúc liên kết ‘cha mẹ’, hoặc cũng có thể là giống như nhau. Ngoài ra, biến cố có thể loại bỏ, hoặc di chuyển, một liên kết. 10 [...]... tập các vấn đề cần được hoàn thiện Các vấn đề tương tự trong việc kết nối các kĩ thuật lại cũng được nhắc đến Việc phát triển các kĩ thuật tính toán đã được tích hợp và cài đặt nhanh chóng trong lĩnh vực viễn thông 23 Chương 5: Các vấn đề tối ưu địa chỉ trong quy hoạch mạng lưới với tính toán tiến hóa 5.1 Giới thiệu Để phù hợp với sự phát triển nhanh chóng của các mạng viễn thông ngày nay, đã có sự... nhiều vấn đề trong lĩnh vực viễn thông tuy nhiên nó cũng cung cấp nhiều giải pháp hợp lý trong việc cung cấp dịch vụ Các vấn đề cung cấp dịch vụ, trang bị trong mạng, đều cần tới những ưu điểm và tính linh động của các phần mềm Tuy nhiên các phần mềm cần nhiều thời gian để phát triển Phần 3 cũng chỉ ra tầm quan trọng của “chiến lược” bang cách xem xét các vấn đề của việc quản lý 1 mạng động phức tạp Các. .. giải quy t các vấn đề phức tạp bằng cách xử lý một lượng dữ liệu lớn sử dụng các thuật toán thông minh mới, từ đó cung cấp các giải pháp tốt hơn và cái nhìn sâu hơn vào các vấn đề của cấu trúc phúc tạp của mạng Các mục 24 tiêu chính cho các nhà khai thác mạng viễn thông là phát triển các phương pháp luận sau đây: Phương pháp quy hoạch tối ưu được yêu cầu để giảm chi phí xây dựng các kiến trúc mạng mới... của quy hoạch mạng truy cập là xác định vị trí thành phần và cáp cho mạng, nên tất cả nhu cầu của khách đều được thỏa mãn với chi phí nhỏ nhất Giải pháp cho 33 vấn đề chi tiết hóa thông tin liên quan tới tất cả các thành phần mạng và cáp Nhu cầu có thể được thỏa mãn bằng một hay nhiều mạng lưới con Một cách hình thức, vấn đề tối ưu được định nghĩa bằng tập các biến quy t định, hàm mục tiêu thực hiện tối. .. quả về chi phí mà không vi phạm các ràng buộc về kỹ thuật Hình 5.5 biểu diễn mạng lưới được thể hiện trên lớp civil Hình 5.6 thể hiện thông tin vị trí DP và tree trong mỗi mạng lưới con được định nghĩa bởi người tôi ưu Kết nối cáp không cần thiết trong các node biểu diễn hình tròn 5.4 Phát biểu vấn đề tối ưu mạng Vấn đề quy hoạch mạng cụ thể được xác định bằng kiến trúc mạng truy cập theo thuật ngữ node... phức tạp Các vấn đề bao gồm cấp phát dịch vụ , quản trị luồng dữ liệu Trong mỗi trường hợp , một cách tiếp cận dựa vào lý thuyết game được tích hợp Cuối cùng, ở phần 3 cũng chỉ ra vẫn đề quản lý băng thông trong cả mạng cố định và mạng di động Chính vì vậy, chúng tôi đã bao quát một phạm vi rộng của các vấn đề tối ưu mạng viễn thông trong quy n sách này Chúng tôi đã trình bày một tập các vấn đề cần được... nối của mạng Các đối tượng dựa trên máy tính nắm bắt được các chức năng của các thành phần mạng và các thuộc tính trạng thái Việc sử dụng các phương thức hướng đối tượng đã được chứng minh thành công vì nó cho phép các quy tắc phức tạp liên quan tới các sự kết nối giữa các thành phần mạng trong thể hiện một cách linh hoạt và chính xác Hệ thống này cho phép tích hợp các quy tắc kỹ thuật vào các đối... kế mạng sẽ đơn giản với các vấn đề tối ưu do các vấn đề này đã được xác định rõ rang.Điều đó có nghĩa là Chúng ta có thể tiết kiệm nhiều thời gian và công sức để phát triển 1 kĩ thuật tối ưu tốt nhờ sử dụng các thuật toán và cơ chế đặc tả Khi một giải pháp được thiết kế, nó có thể được thực hiện cài đặt trong vài tuần hoặc vài tháng Ngược lại, với vấn đề định tuyến và sử dụng giao thức được nói đến trong. .. phát triển chủ yếu để hỗ trợ các nhà quy hoạch mạng, tự động thiết kế cáp và ống dẫn mạng tới các khách hàng mới GenSys sử dụng công nghệ Evolutionary Computation (EC) nhằm tạo thuận lợi với các giải pháp nhanh chóng cho các vấn đề lớn và phức tạp của mạng Để phát triển một chiến lược tìm kiếm hiệu quả các giải pháp tối ưu và gần tối ưu, cần phải hiểu cả bản chất của vấn đề và cấu trúc của không gian... ta chỉ có thể tìm kiếm các giải pháp được cải tiến bằng cách tạm thời thực hiện các giải pháp khác tồi hơn Thuật toán mô phỏng annealing và phương pháp tìm kiếm tabu là hai cách tiếp cận để giải quy t vấn đề này Tuy nhiên, đối với một vấn đề cụ thể thì cách tốt nhất trong triển khai và thiết kế hai cách tiếp cận trên là không rõ ràng Có nhiều sự lựa chọn có thể đưa ra: cách đầu tiên có thể là làm cách . hợp' như thuật toán di truyền (Poland, 19 75 ; Goldberg, 1989), chiến lược phát triển (Schwefel, 1981; 6 Back, 1996), lập trình tiến hóa (Fogel, 19 95) và lập trình di truyền (Koza, 1992). Mục. tiếng và nhanh chóng đưa ra đáp án cho việc tìm cây spanning chi phí nhỏ nhất (Kruskal, 1 956 ; Prim, 1 957 ). Do đó nó có thể làm cho ý nghĩa tốt, tùy thuộc vào các chi tiết khác nhau của vấn đề,. nhà điều hành tái tổ hợp (Hà Lan , 19 65; Goldberg , 1989) , trong khi các gia đình khác của thuật toán như vậy, gọi là lập trình tiến hóa ( Fogel , 19 95) và tiến hóa chiến lược ( trở lại, 1996),