Giải thuật di truyền

Một phần của tài liệu nhận dạng ảnh mặt người sử dụng mạng nơron nhân tạo và giải thuật di truyền (Trang 32 - 36)

Bài toán dành cho GAs là tìm kiếm trên không gian các giả thuyết ứng cử để xác định giả thuyết tốt nhất. Trong GAs “giả thuyết tốt nhất” đƣợc định nghĩa nhƣ là một giả thuyết tối ƣu hóa một đại lƣợng số đƣợc định nghĩa trƣớc cho bài toán sắp tới, đƣợc gọi là độ thích nghi của giả thuyết. Ví dụ, nếu tác vụ học hỏi là bài toán xấp xỉ một hàm chƣa biết cho tập mẫu huấn luyện gồm dữ liệu đầu vào và dữ liệu đầu ra, thì độ thích nghi có thể đƣợc định nghĩa nhƣ là độ chính xác của giả thuyết trên dữ liệu huấn luyện nàỵ Nếu tác vụ là học chiến lƣợc chơi cờ, độ thích nghi có thể là số ván thắng của chiến lƣợc này khi đấu với các chiến lƣợc khác trong quần thể hiện tạị

Mặc dù các giải thuật di truyền đƣợc thực hiện thay đổi theo bài toán cụ thể, nhƣng chúng chia sẻ chung cấu trúc tiêu biểu sau: Thuật giải hoạt động bằng cách cập nhật liên tục tập giả thuyết – đƣợc gọi là quần thể. Ở mỗi lần lặp, tất cả các cá thể trong quần thể đƣợc ƣớc lƣợng tƣơng ứng với hàm thích nghị Rồi quần thể mới đƣợc tạo ra bằng cách lựa chọn có xác suất các cá thể thích nghi tốt nhất từ quần thể hiện tạị Một số trong những cá thể đƣợc chọn đƣợc đƣa nguyên vẹn vào quần thể kế tiếp. Những cá thể khác đƣợc dùng làm cơ sở để tạo ra các cá thể con bằng cách áp dụng các tác động di truyền: lai ghép và đột biến.

Thuật toán di truyền gồm có bốn quy luật cơ bản là lai ghép, đột biến, sinh sản và chọn lọc tự nhiên nhƣ sau:

ạ Quá trình lai ghép (phép lai)

Quá trình này diễn ra bằng cách ghép một hay nhiều đoạn gen từ hai nhiễm sắc thể cha-mẹ để hình thành nhiễm sắc thể mới mang đặc tính của cả cha lẫn mẹ. Phép lai này có thể mô tả nhƣ sau:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 31

Chọn ngẫu nhiên hai hay nhiều cá thể trong quần thể. Giả sử chuỗi nhiễm sắc thể của cha và mẹ đều có chiều dài là m.

Tìm điểm lai bằng cách tạo ngẫu nhiên một con số từ 1 đến m-1. Nhƣ vậy, điểm lai này sẽ chia hai chuỗi nhiễm sắc thể cha-mẹ thành hai nhóm nhiễm sắc thể con là m1 và m2. Hai chuỗi nhiễm sắc thể con lúc này sẽ là m11+m22 và m21+m12. Đƣa hai chuỗi nhiễm sắc thể con vào quần thể để tiếp tục tham gia quá trình tiến hóa

b. Quá trình đột biến (phép đột biến)

Quá trình tiến hóa đƣợc gọi là quá trình đột biến khi một hoặc một số tính trạng của con không đƣợc thừa hƣởng từ hai chuỗi nhiễm sắc thể cha-mẹ. Phép đột biến xảy ra với xác suất thấp hơn rất nhiều lần so với xác suất xảy ra phép laị Phép đột biến có thể mô tả nhƣ sau:

Chọn ngẫu nhiên một số k từ khoảng 1 ≥ k ≥ m Thay đổi giá trị của gen thứ k

Đƣa nhiễm sắc thể con vào quần thể để tham gia quá trình tiến hóa tiếp theo

c. Quá trình sinh sản và chọn lọc (phép tái sinh và phép chọn)

Phép tái sinh: là quá trình các cá thể đƣợc sao chép dựa trên độ thích nghi của nó. Độ thích nghi là một hàm đƣợc gán các giá trị thực cho các cá thể trong quần thể của nó. Phép tái sinh có thể mô phỏng nhƣ sau:

Tính độ thích nghi của từng cá thể trong quần thể, lập bảng cộng dồn các giá trị thích nghi đó (theo thứ tự gán cho từng cá thể) ta đƣợc tổng độ thích nghị Giả sử quần thể có n cá thể. Gọi độ thích nghi của cá thể thứ i là Fi, tổng dồn thứ i là Ft.Tổng độ thích nghi là Fm

Tạo số ngẫu nhiên F có giá trị trong đoạn từ 0 đến Fm

Chọn cá thể k đầu tiên thỏa mãn F ≥ Ft đƣa vào quần thể của thế hệ mớị Phép chọn: là quá trình loại bỏ các cá thể xấu và để lại những cá thể tốt. Phép chọn đƣợc mô tả nhƣ sau:

Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần Loại bỏ các cá thể cuối dãy, chỉ để lại n cá thể tốt nhất.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 32

Giải thuật di truyền mẫu

GA( Fitness, Fitness_threshold, p, r, m) {

// Fitness: hàm gán thang điểm ước lượng cho một giả thuyết

// Fitness_threshold: Ngưỡng xác định tiêu chuẩn dừng giài thuật tìm kiếm

// p: Số cá thể trong quần thể giả thuyết

// r: Phân số cá thể trong quần thể đƣợc áp dụng toán tử lai ghép ở mỗi bƣớc // m: Tỉ lệ cá thể bị đột biến

 Khởi tạo quần thể: P Tạo ngẫu nhiên p cá thể giả thuyết

 Ƣớc lƣợng: Ứng với mỗi h trong P, tính Fitness(h)

while [maxFitness(h)] < Fitness_thresholddo

Tạo thế hệ mới, PS

1. Chọn cá thể: chọn theo xác suất (1 – r)p cá thể trong quần thể P thêm (adsbygoogle = window.adsbygoogle || []).push({});

vào PS. Xác suất Pr(hi) của giả thuyết hi thuộc P đƣợc tính bởi công thức:

1 ( ) Pr( ) ( ) i i p j j Fitness h h Fitness h   

2. Lai ghép: chọn lọc theo xác suất

2

rp

cặp giả thuyết từ quần thể P,

theo Pr(hi) đã tính ở bƣớc trên. Ứng với mỗi cặp <h1, h2>, tạo ra hai con bằng cách áp dụng toán tử lai ghép. Thêm tất các các con vào PS.

3. Đột biến: Chọn m% cá thể của PS với xác suất cho mỗi cá thể là nhƣ

nhaụ Ứng với mỗi cá thể biến đổi một bit đƣợc chọn ngẫu nhiên trong cách thể hiện của nó.

4. Cãp nhật: PPS.

5. Ước lượng: Ứng với mỗi h trong P, tính Fitness(h)

 Trả về giả thuyết trong P có độ thích nghi cao nhất. }

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 33

Quần thể gồm p cá thể. Ở mỗi lần lặp, quần thể kế tiếp PS đƣợc hình thành từ việc lựa chọn theo xác suất các giả thuyết hiện tại theo độ thích nghi của chúng và bằng cách thêm vào các giả thuyết mớị Các giả thuyết mới đƣợc tạo ra bằng cách áp dụng toán tử lai ghép cho cặp giả thuyết thích nghi nhất và bằng cách tạo ra các đột biến điểm đơn trong thế hệ giả thuyết kết quả. Quá trình này đƣợc lặp cho đến khi các giả thuyết thích hợp đƣợc phát hiện. Các toán tử lai ghép và đột biến tiêu biểu đƣợc định nghĩa trong bảng kế tiếp.

Một giải thuật di truyền mẫu đƣợc mô tả trong bảng 2.1. Các đầu vào cho thuật giải này bao gồm hàm tính độ thích nghi để tính hạng cho các giả thuyết ứng cử, một giá trị ngƣỡng đƣợc định nghĩa cấp độ thích nghi có thể chấp nhận để kết thúc thuật giải, kích thƣớc quần thể, và các tham số quyết định các quần thể kế tiếp đƣợc tạo ra nhƣ thế nào: phần quần thể bị thay thế ở mỗi thế hệ và tỉ lệ đột biến.

Lƣu ý trong thuật giải này, ở mỗi bƣớc lặp qua vòng lặp chính tạo ra một thế hệ mới các giả thuyết dựa vào quần thế hệ hiện tạị Trƣớc tiên, một số giả thuyết đƣợc chọn từ quần thể hiện tại để đƣa vào thế hệ kế tiếp. Những giả thuyết này đƣợc chọn theo xác suất, ở đây xác suất của giả thuyết đƣợc tính bởi:

1 ( ) Pr( ) ( ) i i p j j Fitness h h Fitness h    (2.1)

Vì vậy, xác suất để giả thuyết đƣợc chọn tỉ lệ với độ thích nghi của nó và tỉ lệ nghịch với độ thích nghi của các giả thuyết cạnh tranh khác trong quần thể hiện tạị

Một khi các cá thể này của thế hệ hiện tại đã đƣợc chọn để đƣa vào quần thể thế hệ kế tiếp, các cá thể thêm vào đƣợc tạo ra dùng toán tử lai ghép. Lai ghép, đƣợc định nghĩa chi tiết trong phần kế tiếp, lấy hai giả thuyết từ thế hệ hiện tại và tạo ra hai giả thuyết con bằng cách kết hợp các phần của hai giả thuyết chạ Các giả thuyết cha đƣợc chọn theo xác suất từ quần thể hiện tại, sử dụng hàm xác suất đƣợc cho bởi phƣơng trình (2.1). Sau khi các cá thể mới đƣợc tạo ra từ hoạt động lai ghép này, quần thế thế hệ mới bây giờ có đủ số lƣợng thành viên mong muốn. Lúc này, một phân số m nào đó các cá thể này đƣợc chọn một cách ngẫu nhiên, và tất cả các đột biến ngẫu nhiên đƣợc thực hiện để thay đổi các cá thể nàỵ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 34

Một phần của tài liệu nhận dạng ảnh mặt người sử dụng mạng nơron nhân tạo và giải thuật di truyền (Trang 32 - 36)