2012-02-07 85 views
6

Tôi đang đọc một số bài báo về thuật toán di truyền và thường đề cập đến thuật toán tiến hóa theo cách rất giống nhau. Theo Wikipedia, GA là tập con của EA. Tuy nhiên, nếu chúng ta nhìn kỹ hơn, chúng ta có thể thấy rằng cả hai thuật toán tối ưu hóa metaheuristic đều dựa trên lựa chọn tự nhiên (chéo, lựa chọn, đột biến) và cả hai đều không có biểu diễn cố định (nó phụ thuộc vào vấn đề cần giải quyết) đại diện cho GA). Chúng rất giống nhau. Vì vậy, câu hỏi của tôi là chúng ta có thể xem xét mọi thuật toán tiến hóa một thuật toán di truyền? và sự khác biệt thực sự giữa chúng là gì? Cảm ơn bạnSự khác biệt thực sự giữa thuật toán di truyền và thuật toán tiến hóa là gì?

Trả lời

9

Loại tùy thuộc vào người bạn yêu cầu. Trong vài thập kỷ đầu tiên, những thứ như vậy tồn tại, mọi người coi đó là những loại riêng biệt (thường được liệt kê là "thuật toán di truyền", "lập trình di truyền", "chiến lược tiến hóa" và "lập trình tiến hóa". sự khác biệt giữa các trường con, do đó sự khác biệt đã làm cho một số mức độ ý nghĩa. Hội nghị GA chính (ICGA) biến thành GECCO, và thuật ngữ thống nhất trở thành "tính toán tiến hóa", bao gồm tất cả những điều trên, và đôi khi một vài người khác (bạn có thể xem những thứ như tối ưu hóa bầy hạt như thuật toán tiến hóa như nếu bạn có chút tự do với các định nghĩa)

Vì vậy, hiện tại, chúng ta thường nói "tính toán tiến hóa" (hoặc "thuật toán tiến hóa") làm cụm từ nhận toàn bộ ô. Lập trình di truyền duy trì bản sắc riêng của nó như là phát triển chuỗi mã trực tiếp, và chiến lược tiến hóa cũng giữ một bản sắc riêng biệt như đối phó với giá trị thực và thường bao gồm một số loại tự sửa đổi (ví dụ, thích nghi ma trận hiệp phương học hướng dẫn tìm kiếm trong thời gian chạy). Lập trình tiến hóa vẫn còn tồn tại, nhưng chỉ là một niche nhỏ hơn nhiều. Thuật ngữ "thuật toán di truyền" đã mở rộng khá một chút. Ban đầu, mọi người nghĩ về họ như là hoạt động trên chuỗi nhị phân hoạt động với lựa chọn thế hệ, vv Theo thời gian, từng người một, sự nghiêm ngặt đã giảm đi. Tại thời điểm này, bạn có thể gần như sử dụng "thuật toán di truyền" làm từ đồng nghĩa cho "tính toán tiến hóa". Bạn không nên, bởi vì có một sự tinh tế hiểu trong thuật ngữ mà bạn sẽ mất, nhưng nói chung, nếu bạn không làm việc tạo mã trực tiếp, và bạn không phát triển các con số thực theo một cách rất đặc biệt được xác định tương ứng với những gì mọi người nghĩ là chiến lược tiến hóa, sau đó bạn an toàn hợp lý khi gọi nó là "thuật toán di truyền".

+0

Rất thú vị. Cảm ơn bạn deong cho câu trả lời hoàn chỉnh này. Điều này giải thích lý do tại sao một số giấy tờ tiếp tục nói về "tính toán tiến hóa", ví dụ: Cách tiếp cận tính toán tiến hóa để tối ưu hóa rủi ro chung cho các biện pháp rủi ro chung (R. Hochreiter), trong khi cộng đồng sử dụng nhiều hơn và nhiều hơn nữa thuật toán ". – omar

+0

@deong Tôi đã đọc sai biệt hiệu của bạn là De Jong :) –

+0

Heh ... không hoàn toàn. Nhưng thật kỳ lạ là tôi chưa bao giờ thực sự nhận thấy sự giống nhau. – deong

6

Để hoàn thành câu trả lời tuyệt vời của deong, đây là câu trích dẫn từ cuốn sách xuất sắc Introduction to Evolutionary Computing được viết bởi A. E. Eiben và J. E. Smith.

Đáng ngạc nhiên là đủ, ý tưởng này của việc áp dụng các nguyên tắc của Darwin để giải quyết vấn đề ngày tự động trở lại bốn mươi, rất lâu trước khi mang tính đột phá của máy tính [146]. Ngay từ năm 1948, Turing đã đề xuất "tìm kiếm về mặt lý thuyết hoặc tiến hóa" và đến năm 1962, Breinermami có thực nghiệm thực nghiệm máy tính về 'tối ưu hóa thông qua tiến hóa và tái tổ hợp ". nơi. ở Mỹ, Fogel, Owens, và Walsh giới thiệu tiến hóa lập trình [155, 156], trong khi Hà Lan gọi là phương pháp của mình một gen thuật toán [98, 202, 204]. trong khi đó, tại Đức, Rechenberg và Schwefel đã phát minh ra các chiến lược tiến hóa [317, 342].Trong khoảng 15 năm, các khu vực này được phát triển riêng; nhưng kể từ đầu những năm 1990 họ đã được được xem là đại diện khác nhau ("tiếng địa phương") của một công nghệ đã được gọi là tính toán tiến hóa [22, 27, 28, 120, 271]. Vào đầu những năm 1990, luồng thứ tư theo các ý tưởng chung xuất hiện, lập trình di truyền, được Koza [38, 229, 230] vô địch. Các thuật ngữ đương đại biểu thị toàn bộ trường bằng cách tiến hóa các thuật toán tiến hóa, và nó xem xét các chương trình tiến hóa, chiến lược tiến hóa, các thuật toán di truyền và lập trình di truyền dưới dạng các thuộc tính tương ứng của .

Sự phát triển của các diễn đàn khoa học dành cho EC cho biết dấu hiệu về quá khứ của trường và hiện tại là . Hội nghị quốc tế đầu tiên chuyên về chủ đề là Hội nghị quốc tế về các thuật toán di truyền (ICGA), được tổ chức lần đầu tiên vào năm 1985 [180] và lặp lại mỗi năm thứ hai cho đến năm 1997 [182, 333, 43, 158, 137, 241 Năm 1999, nó sáp nhập với Hội nghị hàng năm về lập trình di truyền [235, 234, 232] để trở thành hàng năm Hội nghị tính toán di truyền và tiến hóa (GECCO) [37. 416. 381. 2421. Đồng thời Hội nghị thường niên về lập trình tiến hóa. được tổ chức từ năm 1992. [150. 151. 344. 268. 154. 12. 3071 sáp nhập với Hội nghị IEEE về tính toán tiến hóa, được tổ chức từ năm 1994, [210. 211. 212. 213. 2141 để tạo thành Đại hội về tính toán tiến hóa (CEC) đã được tổ chức hàng năm kể từ khi [71. 72. 73. 741.

Sự kiện châu Âu đầu tiên (rõ ràng thiết lập để nắm lấy tất cả các con suối) là Vấn đề Parallel Giải quyết từ thiên nhiên (PPSN) vào năm 1990 [3431. đã trở thành hội nghị sáu tháng [259. 90. 410. 116. 337. 1871. Đó là trong một bảng điều khiển thảo luận (thu mũ PPSN đầu tiên tên sự tiến hóa tính toán được cung cấp dưới dạng thuật ngữ ô cho tất cả "phương ngữ hiện có". Tính toán tiến hóa (MIT Press Năm 1997, Ủy ban châu Âu quyết định tài trợ cho một mạng nghiên cứu châu Âu tại EC được gọi là EvoNet, vốn được bảo đảm cho đến năm 2003. Tại thời điểm viết bài (2003), có ba hội nghị EC lớn (CEO, GECCO và PPSN) và nhiều hội thảo nhỏ hơn, bao gồm một hội nghị chuyên về phân tích và phát triển lý thuyết, Foundations of thuật toán di truyền (Foga) đã tổ chức hai năm một lần kể từ năm 1990 [316, 420. 425. 44. 39. 261. 3081. Bởi hiện nay có ba lõi tạp chí EC khoa học (tiến hóa Tính, IEEE giao dịch trên Tính toán tiến hóaLập trình di truyền và máy Evolvable) và nhiều tính năng có cấu hình liên quan chặt chẽ . ví dụ: trên máy tính tự nhiên. tính toán mềm, hoặc thông minh tính toán.Chúng tôi ước tính số lượng ấn bản EC vào năm 2003 ở một nơi nào đó trên 1500 nhiều tạp chí trong số các tạp chí và các thủ tục tố tụng của các khu vực ứng dụng cụ thể.

Các vấn đề liên quan