Quá trình chọn lọc

Một phần của tài liệu Giải thuật di truyền và ứng dụng trong quản lý dự án phần mềm (Trang 30)

Quá trình mà các cá thể mới sinh ra được giữ lại hay bị loại bỏ khỏi quần thể dựa vào độ thích nghi của chúng. Độ thích nghi ở đây thường là một hàm gán một giá trị thực cho các cá thể trong quần thể. Đối với quá trình này có rất nhiều cách để xác định trình tự tính toán và thực hiện tùy vào cách lựa chọn độ thích nghi của cá thể nói riêng và của cả quần thể nói chung. Có các kiểu chọn lọc sau:

- Roulette wheel selection: Thế hệ cha mẹ được chọn lựa sang thế hệ tiếp theo dựa vào giá trị fitness của chúng.Với kiểu chọn này nhiễm sắc thể nào có giá trị finess lớn sẽ được chọn nhiều lần. Thuật toán như sau:

o Bước 1: Tính tổng S các giá trị fitness của toán bộ cá thể trong quần thể.

o Bước 2: Chọn một số ngẫu nhiên từ 0 đến s, giả sử là số r.

o Bước 3: Duyệt quần thể từ cá thể số 0 đến s, tính tổng fitness từ 0 đến s, khi mà s >= r thì dừng lại và chọn cá thể s.

o Lặp lại quá trình trên cho đến khi chọn xong quần thể mới.

- Rank selection: Với kiểu lựa chọn Roulette wheel selection thì có một vấn đề xảy ra lànếu như giá trị fitness giữa các cá thể quá khác biệt nhau, số lượng cá thể yếu sẽ ít được chọn, cá thể fitness lớn có thể sẽ chiếm gần như toàn bộ quần thể ở thế hệ tiếp theo, ảnh hưởng đến tính đa dạng cá thể trong quần thể. Kiểu chọn Rank selection sẽ khắc phục được điểm yếu của kiểu lựa chọn trên. Đầu tiên sẽ đánh giá quần thể và mọi cá thể sẽ nhận được giá trị fitness từ sự đánh giá này. Cá thể tồi nhất có fitness là 1, rồi là 2,… tốt nhất là N (số lượng cá thể trong quần thể). Tất cả các cá thể sẽ được chọn ngẫu nhiên sang thế hệ tiếp

theo. Nhưng kiểu lựa chọn này gần như có độ hội tụ kém nhất bởi vì cá thể tốt nhất khá khác biệt với cá cá thể khác.

- Elitism: Khi tạo quần thể mới bằng phương pháp lai tạo và đột biến, có thể chúng ta sẽ làm mất đi cá thể tốt nhất, để giải quyết vấn đề này phương pháp chọn lọc Elitism được sinh ra, Phương pháp này đâu tiên sẽ sao chép cá thể tốt nhất ( hay một vài cá thể tốt nhất) sang thế hệ tiếp theo. Áp dụng phương pháp này sẽ nhanh chóng tìm ra nghiệm (tăng tốc độ của thuật toán)

Một phần của tài liệu Giải thuật di truyền và ứng dụng trong quản lý dự án phần mềm (Trang 30)

Tải bản đầy đủ (PDF)

(110 trang)