Tôi đồng ý với các câu trả lời trước, và tôi cũng thêm vào sau đây.
Chúng ta thường không quan tâm đến sự phức tạp thời gian của một thuật toán di truyền. Chúng tôi thường quan tâm đến kết quả tốt như thế nào so với một số điểm chuẩn và về tốc độ hội tụ.
Tuy nhiên, bạn có thể thấy các thuật toán di truyền chạy trong các lần lặp. Ban đầu, một tập hợp các giải pháp được tạo ngẫu nhiên ( được gọi là dân số). Các chi phí của các giải pháp của được tính toán. Một số thao tác được thực hiện qua các giải pháp của trong mỗi lần lặp như giao nhau, đột biến, v.v. Các giải pháp tốt nhất trong được giữ trong và chúng tôi tiếp tục như trước. Sau lần lặp cuối cùng, chúng tôi đưa ra giải pháp tốt nhất mà chúng tôi tìm thấy.SSSSkkS
Bạn có thể lưu ý ở đây rằng chi phí thời gian của một lần lặp phụ thuộc vào các hoạt động bên trong (ví dụ crossover, đột biến và những người khác, việc tìm kiếm tốt nhất giải pháp khác nhau, tạo ra các giải pháp ngẫu nhiên, chi phí tính toán trong những giải pháp của vv ..) mà thường đơn giản để thực hiện, và cũng phụ thuộc vào vấn đề. Nói chung, chúng phụ thuộc vào kích thước của một giải pháp.kS
Thời gian thực hiện của một thuật toán di truyền cũng phụ thuộc vào số lần lặp (rõ ràng!). Thông thường, chúng tôi muốn dừng lại khi chúng tôi hội tụ một giải pháp hầu như không được cải thiện. Làm thế nào để tìm số lần lặp đảm bảo điều này? có một số phân tích xác suất để tìm thời gian hội tụ trung bình. Xem ví dụ [1] (kết quả khá thú vị). Nhưng bạn sẽ lưu ý rằng chúng tôi chưa đạt đến mức độ phân tích các vấn đề phức tạp nơi sử dụng thuật toán di truyền. Do đó, trong nhiều trường hợp, số lần lặp trong thuật toán di truyền được quyết định bằng thực nghiệm.
[1] Oliveto, Pietro S., Jun He và Xin Yao. "Độ phức tạp thời gian của các thuật toán tiến hóa để tối ưu hóa tổ hợp: Một thập kỷ kết quả." Tạp chí quốc tế về tự động hóa và tính toán 4.3 (2007): 281-293.