Vâng, có vẻ như rằng có một số khác biệt giữa chương trình biểu hiện gen (GEP) và lập trình di truyền Descartes (CGP hoặc những gì tôi xem như lập trình cổ điển di truyền), nhưng sự khác biệt có thể được thổi phồng hơn lên so với nó thực sự nên được. Xin lưu ý rằng tôi chưa bao giờ sử dụng GEP, vì vậy tất cả các nhận xét của tôi dựa trên kinh nghiệm của tôi với CGP.
Trong CGP không có sự phân biệt giữa kiểu gen và kiểu hình, nói cách khác - nếu bạn đang xem "gen" của CGP, bạn cũng đang xem biểu thức của chúng. Không có mã hóa ở đây, tức là cây biểu hiện là chính gen.
Trong GEP kiểu gen được thể hiện thành kiểu hình, vì vậy nếu bạn đang xem các gen bạn sẽ không dễ dàng biết biểu thức sẽ trông như thế nào. Các "nhà phát minh" của GP, Cândida Ferreira, đã viết một really good paper và có một số other resources mà cố gắng để cung cấp cho một cái nhìn tổng quan ngắn hơn về toàn bộ khái niệm.
Ferriera nói rằng những lợi ích là "hiển nhiên", nhưng tôi thực sự không thấy bất kỳ điều gì có thể làm cho GEP tốt hơn CGP. Rõ ràng GEP là đa nguyên, có nghĩa là nhiều gen có liên quan đến sự biểu hiện của một đặc tính (tức là một cây biểu hiện). Trong mọi trường hợp, thể lực được tính toán trên cây thể hiện, vì vậy nó không có vẻ như GEP đang làm bất cứ điều gì để tăng cường thể lực. Điều mà tác giả cho rằng GEP tăng tốc độ tập thể dục (tức là ít thế hệ hơn), nhưng nói thẳng ra bạn có thể thấy sự thay đổi đáng kể từ CGP chỉ bằng thuật toán lựa chọn khác, cấu trúc giải đấu khác, tách dân số vào các bộ lạc, di cư mẫu vật giữa các bộ lạc, bao gồm đa dạng vào tập thể dục vv
Selection:
- ngẫu nhiên
- bánh xe roulette
- top-n
- mất nửa
- , vv
Tournament Tần số:
- một lần mỗi thời đại
- một lần mỗi mỗi trường hợp dữ liệu
- một lần mỗi thế hệ.
Tournament Cấu trúc:
- Hãy 3, giết 1 và thay thế bằng các con của hai người kia.
- Sắp xếp tất cả các cá nhân trong giải đấu bằng cách tập thể dục, tiêu diệt nửa dưới và thay thế bằng con của nửa trên (nơi thấp hơn thể lực kém hơn và phần trên là thể lực tốt hơn).
- Chọn ngẫu nhiên các cá nhân từ giải đấu để giao phối và tiêu diệt các cá nhân thừa.
Tribes
Một dân số có thể được chia thành các bộ lạc mà phát triển một cách độc lập của mỗi khác:
- Migration- định kỳ, cá nhân (s) từ một bộ lạc sẽ được chuyển đến một bộ lạc
- Các bộ lạc được phân tách một cách hợp lý để chúng giống như quần thể riêng biệt của chúng chạy trong môi trường riêng biệt.
Đa dạng Thể
Kết hợp đa dạng vào tập thể dục, nơi bạn đếm có bao nhiêu cá nhân có giá trị tập thể dục cùng (do đó có thể có kiểu hình giống nhau) và bạn trừng phạt tập thể dục của họ bằng một giá trị tương ứng: các nhiều cá nhân có giá trị tập thể dục giống nhau, hình phạt hơn cho những cá nhân đó. Bằng cách này, các mẫu vật với kiểu hình độc đáo sẽ được khuyến khích, do đó sẽ có ít sự trì trệ của dân số.
Đó chỉ là một số thứ có thể ảnh hưởng lớn đến hiệu suất của CGP, và khi tôi nói nhiều, ý tôi là nó theo thứ tự hoặc lớn hơn hiệu suất của Ferriera. Vì vậy, nếu Ferriera không tin tưởng với những ý tưởng quá nhiều, thì cô ấy có thể đã thấy hiệu suất chậm hơn nhiều của CGP ... đặc biệt là nếu cô ấy không làm bất cứ điều gì để chống lại sự trì trệ. Vì vậy, tôi sẽ cẩn thận khi đọc thống kê hiệu suất trên GEP, bởi vì đôi khi mọi người không tính đến tất cả các "tối ưu hóa" có sẵn trên mạng.
Rất cám ơn bạn đã trả lời chi tiết! Nhiều đánh giá cao. – Jelle
Câu trả lời này không chính xác. Cartesian GP không giống GP cổ điển. Cartesian GP cũng có một biểu diễn gián tiếp (tương tự như GEP), và không phải là dựa trên cây, mặc dù bạn kết thúc việc xây dựng một biểu đồ tương tự như một cây GP cổ điển. – rll