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?
![](http://i.zaptech.net/img/definition/203/what-is-genetic-programming.jpg)
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