Ngăn chặn cá thể từ vùng thích nghi khác nhau cặp đôi Sharing tích cực phát triển nên vùng thích nghi mới, và phân phối các cá thể qua tất cả các đỉnh trong không gian... Vùng thích nghi
Trang 1Chương 4.
Các toán tử và kỹ thuật nâng cao trong thuật giải di truyền
Nhóm 12 Lớp Hệ thống thông tin – K20 GVHD: TS Lê Hoàng Thái
Trang 3Lý do chọn đề tài
Tìm hiểu một số toán tử và kỹ thuật mới trong thuật giải di truyền
Củng cố lại các kiến thức đã học
Trang 4Nội dung chính
Thể lưỡng bội, tính trạng trội, thể đa bội
Các toán tử đảo và tái thiết lập trật tự
Các cách biểu diễn NST khác nhị phân
Tối ưu nhiều mục tiêu
Trang 5Thể lưỡng bội
Mỗi gen gồm một cặp alen, chứa cùng thông tin cho một chức năng
Thể trội: một alen là trội nếu nó được biểu
hiện khi đi cặp với một vài alen khác, nghĩa là được biểu hiện lên kiểu hình
Nếu điều kiện môi trường thay đổi, sự trội có thể thay đổi, do đó một alen khác sẽ là trội
Trang 6Thể lưỡng bội
Xem xét cấu trúc nhiễm sắc thể lưỡng bội sau
Nếu giả sử tất cả các kí tự hoa là trội và tất cả các kí tự thường là lặn thì kiểu hình được biểu thị của nhiễm sắc thể sẽ là:
Trang 7Thể lưỡng bội
Thuận lợi chính của lưỡng bội là nó cho phép
sự đa dạng rộng lớn hơn cuả các alen được
giữ lại trong quần thể
Lưỡng bội hữu dụng khi xây dựng các ứng
dụng trực tuyến lớn, các hệ thống lớn có thể chuyển giữa các trạng thái khác nhau
Trang 8Thể đa bội
Một gen chứa nhiều alen khác nhau
Sử dụng một vài cơ chế dạng trội để quyết
định gen nào sẽ được biểu hiện lên kiểu hình
Đa bội nâng cao tính đa dạng của quần thể
Các gen lặn vẫn được giữ lại và sẽ trở nên hữu dụng khi điều kiện sống thay đổi
Trang 9Thể đa bội
Trang 10Toán tử đảo và tái thiết lập trật tự
Thuật toán lựa chọn hai điểm ngẫu nhiên sau đó đột biến để tăng số lượng khối kiến trúc trong quần thể.
Một số biến thể của toán tử đảo
• Đảo tuyến tính
• Đảo tuyến tính + Đảo cuối
Trang 11Một số kiểu lai ghép
Lai PMX (Lai ghép so khớp từng phần)
Xét cặp NST bố mẹ
Con cái
Trang 12Một số kiểu lai ghép
Lai OX (Lai ghép thứ tự)
Xét cặp NST bố mẹ
Con cái
Trang 13Một số kiểu lai ghép
Lai CX (Lai chu trình)
Xét cặp NST bố mẹ
Con cái
Trang 15Chia tách và chuyển dịch
Sử dụng trong lai ghép các cá thể có nhiễm sắc thể đa bội Mỗi nhiễm sắc thể đơn được chọn 1 cách ngẫu nhiên, gọi
là chia tách.
Toán tử dịch chuyển có vai trò nối các gen tương ứng
trong quá trình lai ghép
Ví dụ: Cho 2 cặp NST sau:
NST Bố NST Mẹ NST Con
PqrtS pqrTS PqrtS
pQrTS pQRTs pQRTs
Trang 16Sao chép, xóa và xác định giới tính
Sự sao chép trong nội bộ NST thực hiện bằng cách nhân bản một gen nào đó sang một gen khác trong NST.
Việc xóa được thực hiện bằng cách loại bỏ một gen
trùng khỏi NST.
Xác định giới tính (sex determination) là việc kết cặp bất
kỳ hai cá thể sao cho kết quả di truyền tạo ra bảo đảm một kiểu gen có khả năng sống được (viable genotype) Xác định giới tính được xử lý khác nhau trong các loài khác nhau.
Trang 18Crowding và Sharing trong bài toán đa phương thức
Cố gắng duy trì quần thể cân bằng
Ngăn chặn 1 kiểu gen duy nhất chiếm cả quần thể.
Khuyến khích việc hình thành vùng thích nghi và loài
trong quần thể.
Ngăn chặn cá thể từ vùng thích nghi khác nhau cặp đôi Sharing tích cực phát triển nên vùng thích nghi mới, và phân phối các cá thể qua tất cả các đỉnh trong không gian.
Trang 19Vùng thích nghi và sự hình thành loài
trong bài toán đơn phương thức
Có một số phương pháp thay thế đảm bảo cá thể mới sinh ra đủ khác so với phần còn lại của quần
thể:
• Ngăn chặn sao chép (clone prevention): trước khi một cá
thể được phép nhập vào quần thể, nó được so sánh với mọi cá thể khác trong quần thể.
• Ngăn chặn sự loạn luân (incest prevention): cố mai mối
cặp bố mẹ với ý định các con của chúng sẽ lấy các gen tốt nhất từ bố mẹ chúng Đó là kết hợp các bố mẹ khác nhau sao cho tính đa dạng vẫn được giữ trong quần thể.
Trang 20Vùng thích nghi và sự hình thành loài trong
bài toán đơn phương thức
Cho phép bố mẹ kết đôi khi thỏa điều kiện nhất định
Việc sinh sản cho phép sự tiến hóa của các vùng thích nghi khác nhau
Trang 21Thuật giải pygmy
Thường dùng trong các bài toán 2 hay nhiều yêu cầu Dùng 2 hàm thích nghi riêng biệt vì thế tạo ra 2 hình thái (loài) khác nhau
Không tính độ khác nhau giữa bố mẹ, mà chỉ cần biết cặp bố mẹ được chọn là khác nhau
Việc sử dụng 2 vùng thích nghi duy trì quần thể cân bằng và đảm bảo các cá thể phù hợp yêu cầu được sinh ra
Trang 22Thuật giải pygmy
REPEAT
FOR EACH INDIVIDUAL DO
TEST INDIVIDUALWITH MAIN FITNESS FUNCTION
ENTER PARENT POPULATION #1
IF UNSUCCESSFUL
TEST INDIVIDUALWITH SECONDARY FITNESS FUNCTION ENTER PARENT POPULATION #2
FOR EACH INDIVIDUAL DO
SELECT PARENT FROM POPULATION #1
Trang 23Kết cặp có giới hạn (restricted mating)
Khuyến khích sự hình thành loài và giảm khả năng sinh sản chết Một cá thể chết là một con của cặp bố mẹ từ hai vùng thích
nghi khác nhau.
Nếu có 2 bố mẹ tương tự nhau (cùng vùng thích nghi) được
giao phối thì con cái tương tự nhau Tuy nhiên còn phụ thuộc nhiều vào sơ đồ mã hóa đặc biệt là sự tồn tại của khối kiến trúc Các phép lai và đột biến các cặp bố mẹ tương đương kiểu gen
sẽ luôn sinh ra các con có cùng kiểu gen Nhưng không có gì
đảm bảo rằng con cái không có độ thích nghi thấp => chúng dễ chết.
Sự tương tự về kiểu gen không bảo đảm sự tương tự về kiểu
Trang 24Một số cách biễu diễn NST khác
Biểu diễn số dấu chấm động, ký tự
Các toán tử kết hợp
• Trung bình: Lấy trung bình số học của hai gen bố mẹ.
• Nghĩa hình học: lấy căn bậc hai của tích hai giá trị.
• Mở rộng: Lấy độ khác nhau giữa hai giá trị và cộng nó vào giá trị
cao hơn hoặc trừ nó khỏi giá trị thấp hơn
Các toán tử đột biến
• Thay thế ngẫu nhiên: Thay thế bởi các giá trị ngẫu nhiên
•
Trang 25Tối ưu nhiều mục tiêu
Có nhiều mục tiêu cần được tối ưu hóa đồng thời
Không nhất thiết phải có giải pháp tối ưu nhất đối với mọi mục tiêu
Một giải pháp có thể là tốt nhất đối với mục tiêu này nhưng lại tệ nhất đối với mục tiêu khác
Muốn cải thiện một hàm mục tiêu thì phải hy sinh ít
Trang 26Tối ưu hóa tổ hợp
Có nhiều lớp bài toán với các đặc trưng và thuộc tính khác nhau.
• Xác định một hoán vị của một số mục liên quan tới bài toán
• Xác định một tổ hợp các mục
• Xác định cả hoán vị và tổ hợp các mục
• Bất kỳ một trong các đối tượng trên để ràng buộc
Phương pháp tiếp cận chung cho việc áp dụng GA đối với các vấn đề này là:
• Sử dụng GA để phát triển một hoán vị và/hoặc tổ hợp thích hợp của
các mục được xem xét
Trang 27Các kỹ thuật dựa trên tri thức
• Khởi tạo heuristic các quần thể - để việc tìm kiếm bắt đầu với một số
điểm khá tốt thay vì một tập ngẫu nhiên.
GA được dùng để lấy xấp xỉ giá trị tối ưu, sau đó các sơ đồ tối ưu
Trang 28Cảm ơn Thầy và các bạn đã theo dõi
Câu hỏi & trả lời
Trang 29Chương trình minh họa
Trang 30Bài toán gom nhóm
Trang 31Bài toán sắp ba lô
Multiple – Choice Knapsack Problem
Phát biểu bài toán:
Có 1 túi đồ có thể chứa các vật với trọng lượng tối đa W.
Các vật thể được chọn để sắp vào túi này được chia
thành m lớp (loại) khác nhau
Trong mỗi lớp có một số đồ vật khác nhau Mỗi đồ vật
có trọng lượng và mức giá.
Vấn đề đặt ra chọn m vật từ m lớp sao cho tổng trọng lượng không vượt quá W và tổng chi phí là thấp nhất
Trang 33Mô tả bằng công thức toán học
Trang 34Multiple – Choice Knapsack Problem
Ví dụ: m = 3, N1 = 4, N2 = 3, N3 = 3, W = 16
Trang 35Multiple – Choice Knapsack Problem
Ý tưởng mã hóa
– Một NST có m gene tương ứng với m lớp đồ vật
– Gen thứ i sẽ có giá trị là một số nguyên thuộc tập Ni, với
Ni là số phần tử của lớp thứ i (số lượng các item trong mỗi lớp là không bằng nhau)
– Như vậy vị trí của gen chỉ ra là lớp đồ vật, giá trị của gen
chỉ ra vật được chọn.
– Trong ví dụ trên, nếu item thứ 2 của lớp thứ nhất, item
thứ 3 của lớp 2, item thứ 3 của lớp 3 được chọn, nghĩa là x12 = 1, x23 = 1, x33 = 1 thì kết quả tốt nhất sẽ là NST:
Trang 36Xây dựng thuật toán
Khởi tạo ngẫu nhiên số lượng đồ vật trong mỗi lớp, ma trận trọng số (weight) và ma trận giá trị(cost)
Khởi tạo quần thể có số lượng cá thể
POP_SIZE
Mỗi NST có chiều dài m, bằng số loại đồ vật
Giá trị mỗi gen i trong NST được khởi tạo ngẫu
Trang 37Xây dựng thuật toán
Chọn lọc: Sử dụng phương pháp chọn lọc bằng vòng Roulette
Sau khi chọn lọc, nếu cá thể có độ thích nghi cao nhất của thế hệ trước không được chọn
vào thế hệ tiếp theo thì chúng ta sẽ loại bỏ
ngẫu nhiên một số NST trong quần thể mới và thay bởi cá thể thích nghi nhất
Trang 38Xây dựng thuật toán
Lai và đột biến: sử dụng lai đồng nhất và đột biến ngẫu nhiên Trong đột biến ngẫu nhiên, gen được chọn yi sẽ được thay thế bằng một
số ngẫu nhiên trong từ 1 đến Ni
Hàm đánh giá:
– Hàm mục tiêu: tổng chi phí của NST k
Trang 39Hàm đánh giá
Tổng trọng lượng của các item được chọn
không được vượt quá trọng lượng tối đa của túi nên với những NST có tổng trọng lượng lớn hơn trọng lượng tối đa của túi sẽ nhận một
mức phạt
Mức phạt pk được tính như sau:
Trang 40Hàm thích nghi
Trang 41Bài toán N-Queens
Phát biểu bài toán:
– Chúng ta cần sắp xếp N quân hậu vào một bàn cờ
kích thước NxN sao cho các quân hậu không ăn
nhau.
– Mỗi quân hậu trên bàn cờ vua có đường đi tự do
theo chiều dọc, chiều ngang và 2 đường chéo
– Vấn đề đặt ra là tìm ra cách sắp xếp nhanh nhất có
thể mà không cần vét cạn tất cả các trường hợp
Trang 42Áp dụng thuật giải di truyền
Ý tưởng mã hóa:
– Dùng cách mã hóa hoán vị của N số từ 1 đến N.
– Mỗi NST được biểu diễn bởi một mảng gồm N phần tử có giá trị từ 1 đến
N.
– Vị trí của 1 gen trong NST chính là vị trí dòng và giá trị của gen đó cho
biết vị trí cột mà ta đặt quân hậu
Chọn lọc ngẫu nhiên.
Lai ghép:
– Sử dụng lai ghép đồng nhất.
Trang 43– Do cách biểu diễn NST là 1 hoán vị nên không cần
kiểm tra trên hàng ngang và cột dọc của mỗi quân hậu mà chỉ cần kiểm tra trên 2 đường chéo của
những quân hậu đó.
– 2 quân hậu tại vị trí (i, j) và (p, q) ăn nhau khi:
• i + j = p + q, hoặc
Trang 44Travelling saleman problem
Phát biểu bài toán
• Một du khách muốn đi thăm tất cả N thành phố,
mỗi thành phố đi qua đúng 1 lần rồi trở về nơi
xuất phát.
• Biết rằng, tồn tại đường đi giữa mọi thành phố và
khoảng cách là xác định.
• Bài toán đặt ra là xây dựng lộ trình sao cho tổng
chiều dài đường đi là nhỏ nhất.
Trang 45Áp dụng thuật giải di truyền
Ý tưởng mã hóa:
• Đánh số các thành phố từ 1 đến N Như vậy, một lộ trình có thể xem như là
một hoán vị của N số từ 1 đến N.
• Mỗi NST được biểu diễn bởi một mảng gồm N phần tử có giá trị từ 1 đến N.
• Mỗi thành phố tương ứng với 1 gen trong nhiễm sắc thể.
• Giá trị của Gen thứ i cho biết thành phố được viếng thăm tại thời điểm i.
Chọn lọc cạnh tranh.
Lai ghép:
– Sử dụng một trong các toán tử OX.
Đột biến