Lập trình di truyền là gì?

Lập trình di truyền là quá trình tăng cường các chương trình máy tính bằng thuật toán lấy cảm hứng từ tiến hóa sinh học. Các ngôn ngữ lập trình cho vay tự nhiên vào lập trình di truyền là những ngôn ngữ có thể tự đánh giá mã của họ. Một ví dụ cổ điển là LISP, có cấu trúc dữ liệu đặc trưng là một danh sách. Mỗi chương trình LISP được viết dưới dạng một danh sách, vì vậy các chương trình LISP rất giỏi trong việc thao túng và tạo ra các chương trình LISP.

Làm thế nào nó hoạt động?

Một chương trình di truyền bắt đầu với một bộ hướng dẫn đóng vai trò là "nhiễm sắc thể" và "chức năng tập thể dục" xác định kết quả nào là lý tưởng. Các hướng dẫn được kết hợp ngẫu nhiên để tạo ra một "thế hệ" chương trình đầu tiên, và sau đó các chương trình riêng lẻ đó được kiểm tra mức độ phù hợp của chúng.

Các chương trình mạnh nhất - những chương trình gần nhất để đạt được hành vi được xác định bởi chức năng tập thể dục - được chọn để "nhân giống". Các nhiễm sắc thể của các chương trình mạnh nhất được kết hợp, giống như mã di truyền được kết hợp trong nhân giống sinh học. Một số nhiễm sắc thể được "lai" (trao đổi) với các nhiễm sắc thể trong các chương trình khác và một số nhiễm sắc thể "bị đột biến" - được thay đổi ngẫu nhiên theo cách được xác định trước. Hàng ngàn hoặc thậm chí hàng triệu chương trình có thể được sản xuất, với mỗi thế hệ đến gần hơn và gần hơn để đạt được kết quả mong muốn.

Hướng dẫn, thuật ngữ lập trình