Gần đây tôi đã được giới thiệu về các thuật toán di truyền bởi bài báo MSDN này , trong đó ông gọi chúng là tiến hóa tổ hợp, nhưng dường như là điều tương tự, và đang đấu tranh để hiểu cách kết hợp hai giải pháp tiềm năng sẽ luôn tạo ra một giải pháp mới ít nhất là tốt như cha mẹ của nó.
Tại sao cái này rất? Chắc chắn kết hợp có thể tạo ra một cái gì đó tồi tệ hơn.
Theo tôi hiểu, thuật toán dựa trên khái niệm rằng khi một con đực và con cái của một loài sinh ra con cái, những con cái đó sẽ có đặc điểm của cả bố và mẹ. Một số kết hợp sẽ tốt hơn, một số tồi tệ hơn và một số tốt như vậy. Những người tốt hơn (đối với bất kỳ định nghĩa "tốt hơn" nào là phù hợp) sẽ có nhiều cơ hội sống sót hơn và tạo ra các cuộc tấn công có đặc điểm được cải thiện. Tuy nhiên, sẽ có những kết hợp yếu hơn. Tại sao đây không phải là vấn đề với GA?
Why isn't this an issue with GA?
Vâng, nó là, hoặc chính xác hơn, nó có thể. Một trong nhiều (nhiều) tham số để tối ưu hóa khi sử dụng GA là kích thước dân số: nếu quá thấp, bạn chỉ có thể tạo ra các cá nhân yếu hơn, nhưng nếu quá cao, thời gian tính toán liên quan đến chức năng tập thể dục có thể quá cao.
However, there will be combinations that are weaker. Why isn't this an issue with GA?
- Vì các kết hợp yếu hơn bị loại bỏ.