Tôi đã thử nghiệm với GA khi còn trẻ. Tôi đã viết một trình giả lập bằng Python hoạt động như sau.
Các gen mã hóa các trọng số của một mạng lưới thần kinh.
Đầu vào của mạng nơ-ron là "râu" phát hiện chạm. Giá trị cao hơn có nghĩa là rất gần và 0 có nghĩa là không chạm vào.
Các đầu ra là hai "bánh xe". Nếu cả hai bánh đi về phía trước, anh chàng đi về phía trước. Nếu các bánh xe ở hai hướng ngược nhau, anh chàng quay lại. Sức mạnh của đầu ra quyết định tốc độ quay của bánh xe.
Một mê cung đơn giản đã được tạo ra. Nó thực sự đơn giản - thậm chí ngu ngốc. Có sự bắt đầu ở dưới cùng của màn hình và một mục tiêu ở trên cùng, với bốn bức tường ở giữa. Mỗi bức tường có một không gian được lấy ra một cách ngẫu nhiên, vì vậy luôn có một lối đi.
Tôi bắt đầu những người ngẫu nhiên (tôi nghĩ họ là lỗi) khi bắt đầu. Ngay khi một anh chàng đạt được mục tiêu, hoặc đạt đến giới hạn thời gian, thể lực đã được tính toán. Nó tỷ lệ nghịch với khoảng cách đến mục tiêu lúc đó.
Sau đó tôi ghép chúng lại và "nhân giống" chúng để tạo ra thế hệ tiếp theo. Xác suất được chọn để được nhân giống tỷ lệ thuận với thể lực của nó. Đôi khi điều này có nghĩa là một người được nhân giống nhiều lần nếu nó có thể lực tương đối cao.
Tôi nghĩ rằng họ sẽ phát triển một hành vi "ôm tường trái", nhưng dường như họ luôn tuân theo một điều gì đó kém tối ưu hơn. Trong mọi thí nghiệm, các con bọ hội tụ thành một mô hình xoắn ốc. Họ sẽ xoắn ốc ra bên ngoài cho đến khi họ chạm vào một bức tường bên phải. Họ sẽ làm theo điều đó, sau đó khi họ đến khoảng trống, họ sẽ quay xuống (cách xa khoảng trống) và xung quanh. Họ sẽ quay 270 độ sang trái, sau đó thường vào khoảng trống. Điều này sẽ đưa họ qua phần lớn các bức tường, và thường đến mục tiêu.
Một tính năng tôi đã thêm là đưa một vec tơ màu vào các gen để theo dõi sự liên quan giữa các cá thể. Sau một vài thế hệ, tất cả chúng đều có cùng màu, điều đó cho tôi biết tôi nên có một chiến lược nhân giống tốt hơn.
Tôi đã cố gắng để họ phát triển một chiến lược tốt hơn. Tôi làm phức tạp mạng lưới thần kinh - thêm một bộ nhớ và mọi thứ. Nó không giúp được gì. Tôi luôn thấy chiến lược tương tự.
Tôi đã thử nhiều thứ khác nhau như có các nhóm gen riêng biệt chỉ tái tổ hợp sau 100 thế hệ. Nhưng không có gì sẽ đẩy họ đến một chiến lược tốt hơn. Có lẽ điều đó là không thể.
Một điều thú vị khác là vẽ đồ thị thể dục theo thời gian. Có những mô hình nhất định, như thể dục tối đa đi xuống trước khi nó đi lên. Tôi chưa bao giờ thấy một cuốn sách tiến hóa nói về khả năng đó.