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