Tuyến tính di truyền lập trình [5, 6] là một biến thể của các bác sĩ gia đình kỹ thuật hoạt động trên tuyến tính bộ gen. Đặc điểm chính của nó so với cây dựa trên bác sĩ gia đình nằm ở chỗ các đơn vị evolvable không những biểu hiện của một ngôn ngữ lập trình chức năng (như LISP), nhưng các chương trình của một ngôn ngữ bắt buộc (như c/c ++). Các đơn vị cơ bản của sự tiến hóa ở đây là một hướng dẫn nguồn gốc mã máy chạy trên đơn vị xử lý floating-point (FPU). LGP sử dụng một đại diện tuyến tính cụ thể của chương trình máy tính. Thay vì dựa trên cây GP biểu hiện của một chương trình ngôn ngữ (như LISP) lập trình chức năng của một ngôn ngữ bắt buộc (như C) đang phát triển. Một cá nhân LGP được đại diện bởi một chuỗi biến-chiều dài của hướng dẫn đơn giản Clanguage. Hướng dẫn hoạt động trên một hoặc hai biến được lập chỉ mục (đăng ký) r, hoặc trên hằng số c từ bộ được xác định trước.Kết quả được gán cho một điểm đến đăng ký, ví dụ, ri = rj * c.Một chương trình LGP mẫu được minh họa dưới đây:
đang được dịch, vui lòng đợi..
