V í dụ 3: Áp dụng giải thuật di truyền vào bài toán lập lịchBài toán: Cho số lượng lớp là K.. Áp dụng giải thuật di truyền vào bài toán lập lịch tiếp Ý tưởng: dựa vào thuật toán di truyề
Trang 1Giải thuật di truyền
ThS Trần Nguyên Hương
Trang 2GIỚI THIỆU
chuột Ban đầu chuột có hai loại: lông trắng hoặc đen Sau thời gian sống với mèo ban đêm chuột đen ít bị mèo nhìn thấy nên sống lâu hơn
và sinh đẻ thêm do đó phát triển, trong đó chuột trắng ngày càng tuyệt giống vì bị mèo ăn thịt và không có nhiều để sinh đẻ thêm
hóa để thích nghi với hoàn cảnh sẽ tồn tại và
Trang 3GIỚI THIỆU
Genetic Algorithms tạm dịch là Thuật giải di truyền (ngắn gọn gọi là GA) bắt nguồn từ ý niệm tiến hóa để tồn tại và phát triển trong tự nhiên
chước lối hành xử của con người để tồn tại và phát triển Nó giúp tìm ra giải pháp tối ưu hay tốt nhất trong điều kiện thời gian và không gian cho phép
Trang 4GIỚI THIỆU
xét trước nhất một số giải pháp sau đó loại bỏ những thành phần không thích hợp và chọn những thành phần thích nghi hơn để tạo sinh
và biến hóa nhằm mục đích tạo ra nhiều giải pháp mới có hệ số thích nghi ngày càng cao
giá các giải pháp
Trang 5GIỚI THIỆU
Cấu trúc dữ liệu + giải thuật di truyền = chương trình tiến hóa
là khái niện dùng để chỉ các chương trình máy tính có
sử dụng thuật toán tìm kiếm và tối ưu hóa dựa trên nguyên lý tiến hóa tự nhiên
Trang 6Các bước chính của GA
giải pháp Các mô hình có thể là dãy (String) những số nhị phân: 1 và 0, thập phân và có thể là chữ hay hỗn hợp giữa chữ và số.
chuẩn đánh giá các giải pháp.
đạt được các giải pháp tốt nhất hoặc đến khi thời gian cho phép chấm dứt
Trang 7Thuật giải di truyền
truyền
Trang 8Các thành phần cơ bản của GA
kỳ trong quần thể Giả sử các nhiễm sắc thể của cha mẹ đều có m gen.
m-1 (ta gọi là điểm lai)
gia các quá trình tiến hóa tiếp theo
Trang 9Các thành phần cơ bản của GA
trong quần thể.
đến m, 1 ≤ k ≤ m.
thể để tham giá quá trình tiến hóa tiếp theo
Trang 10Các thành phần cơ bản của GA
Tính độ thích nghi của từng cá thể trong quẩn thể
hiện hành, lập bảng cộng dồn các giá trị thích nghi (theo số thứ tự gán cho từng cá thể) 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à Fti, tổng độ thích nghi của toàn quần thể là Fm.
Tạo một số ngẫu nhiên F trong đoạn từ 0 đến Fm.
Chọn cá thể thứ k đầu tiên thỏa mãn F ≥ Ftk đưa vào quần thể của thế hệ mới
Trang 11Qúa trình sinh sản (tiếp)
trong hai phương pháp sau
Mỗi ấu nhi là một bản sao chính xác từ cha
Mỗi ấu nhi là một bản sao chính xác từ mẹ
Một vài bits được sao từ mẹ, vài bits được sao chép từ cha
Cứ tiếp tục sao từ một cặp bố mẹ cho đến chừng nào điểm giao nhau, thì sao chép từ cặp bố mẹ khác.
Trang 12Sinh sản hữu tính Giao nhau một nửa
Trang 13Sinh sản hữu tính Giao nhau 3 điểm
Trang 14Các thành phần cơ bản của GA
giảm dần.
thể tốt nhất Ở đây, tả giả sử quần thể có
kích thước cố định n.
Trang 15Cấu trúc giải thuật di truyền
Kết thúc.
Trang 16vÝ dô 1
số của X để X*X = 64)
Hệ thập phân 1 2 3 4 5 6 7 8
Hệ nhị phân 00001 00010 00011 00100 00101 00110 00111 01000
Chọn 4 số trong số những đáp số có thể cho bài toán (mẫu thử ban đầu ở đây n = 4)
Trang 17Thứ tự
Trang 18vÝ dô 1
và quy định đáp số nào có hệ số thích nghi bằng
1000 hay gần 1000 nhất sẽ là đáp số của bài toán
Trang 19vÝ dô 1
Thứ tự Nhị phân Thập phân Bình phương của Thích nghi
(1) (2) (3) hệ số ở cột (3)
trừ 64 1 00100 4 - 48 952
2 10101 21 377 623
3 01010 10 36 964
4 11000 24 512 488
Bảng 2
Trang 20vÝ dô 1
Chúng ta thấy theo thứ tự 10 và 4 có hệ số
thích nghi cao hơn do đó chúng sẽ được chọn
để tạo sinh và biến hóa, đồng thời số 21 và 24
có hệ số thích nghi thấp nhất sẽ bị loại
001 | 00 (4) 010 | 00 (hay 8)
010 | 10 (10) 001 | 10 (hay 6)
Trang 21vÝ dô 1
Thứ tự Nhị phân Thập phân Bình phương của Thích nghi (1) (2) (3) hệ số ở cột (3)
trừ 64 1 00100 4 - 48 952
2 01010 10 36 964
3 01000 8 0 1000
4 00110 6 - 28 968
Trang 22
vÝ dô 2
quan tâm, mỗi thành phố thăm qua đúng một lần rồi trở về điểm khởi hành Biết trước chi phí di
một lộ trình thỏa các điều kiện trên với tổng chi phí nhỏ nhất
biểu diễn các giải pháp
Trang 24V í dụ 3: Áp dụng giải thuật di truyền vào bài toán lập lịch
Bài toán:
Cho số lượng lớp là K Mỗi lớp có một
số môn học Ta có D giáo viên, mỗi
giáo viên có thể dạy được một số môn nhất định Số môn thực tế được đưa bởi V
Yêu cầu lập lịch cho năm ngày trong
Trang 25Áp dụng giải thuật di truyền vào
bài toán lập lịch (tiếp)
Ý tưởng: dựa vào thuật toán di truyền cổ
Trang 26Áp dụng giải thuật di truyền vào
bài toán lập lịch (tiếp)
Minh họa cấu trúc dữ liệu
Trang 27Áp dụng giải thuật di truyền vào
bài toán lập lịch (tiếp)
Một giáo viên chỉ dạy được một lớp trong cùng một quãng thời gian.
Các lớp chỉ có một môn học trong cùng một
quãng thời gian
Tất cả các bài học của một môn nào đó dạy tại một lớp phải được dạy bởi cùng một giáo viên.
Một giáo viên không thể dạy quá 20 giờ mỗi tuần.
Trang 28Áp dụng giải thuật di truyền vào
bài toán lập lịch (tiếp)
Trang 29Áp dụng giải thuật di truyền vào
bài toán lập lịch (tiếp)
thể, được được đo bằng sự vi phạm các ràng
buộc
đoạn từ 0 đến 1000000 cho hàm thích nghi Với mỗi ràng buộc mềm được gán giá trị trong đoạn
0 đến 200000
Trang 30Áp dụng giải thuật di truyền vào
bài toán lập lịch (tiếp)
cảm Để phát triển quần thể, chúng ta cần lựa chọn cá thế khỏe mạnh để tái sinh.
lựa chọn trước bằng đấu loại
lựa chọn hiện thời ngẫu nhiên
Trang 31Áp dụng giải thuật di truyền vào
bài toán lập lịch (tiếp)
Trang 32Áp dụng giải thuật di truyền vào
bài toán lập lịch (tiếp)
được đổi chỗ cho nhau
hướng thay đổi vị trí của các lớp
Trang 34Áp dụng giải thuật di truyền vào
bài toán lập lịch (tiếp)
bảo đảm rằng sẽ không có việc đột biến trên cùng môn đó một lần nữa Nhưng,
với mỗi giáo viên tương ứng, chúng ta sẽ chọn một giáo viên hợp lệ với môn học
Trang 35Áp dụng giải thuật di truyền vào
bài toán lập lịch (tiếp)
Trang 36Thuật toán di truyền tương tác (IGC – Interactive Genetic Algorithms)
của các cá thể được xác định trên sự tương tác với người sử dụng
Là công cụ h u ích với Là công cụ h u ích với ữữ những bài toán mà tiêu chuẩn lượng giá rất phức tạp và/hoặc thông tin không đầy đủ, khiến cho không xây dựng một hàm thích nghi
Ví dụ như bài toán liên quan đến hỡnh nh, âm nh nh, âm ảả
Trang 37 Các bước thuật gi i di truyền tương tác Các bước thuật gi i di truyền tương tác ả ả
Bước 1: Khởi tạo quần thể (ngẫu nhiên), thể hiện kết
qu cho người sử dụng ả
qu cho người sử dụng ả
thường có giá trị thích nghi tốt nhất
Bước 4: Hiển thị kết qu sau khi tiến hóa ả
Bước 4: Hiển thị kết qu sau khi tiến hóa ả
Bước 5: Quay lại bước 2 nếu người sử dụng chưa
Thuật toán di truyền tương tác (IGC – Interactive Genetic
Algorithms)
Trang 38Thuật toán di truyền tương tác
phạm từ nh ng nhân chứng có mặt tại hiện trường ữ
Quá trỡnh được tiến hành như sau
1 Lấy lời khai của nhân chứng (mô t lại chân Lấy lời khai của nhân chứng (mô t lại chân ả ả
dung thủ phạm)
2 Tổng hợp các lời khai để phác họa chân dung
Quá tr ỡnh được tiếp tục cho tới khi tất c các được tiếp tục cho tới khi tất c các ả ả nhân chứng đã thống nhất với nhau một (hoặc một số) chân dung thủ phạm"
Trang 39 Đ Đ Æc trng Æc trng
Trang 40Thuật toán di truyền tương tác
- Xem mỗi thuộc tính như một gen
- Nhiễm sắc thể là một chuỗi tuyến tính các gen, mỗi gen có vị trí xác định trong chuỗi
Trang 41có biểu diễn của một nhiễm sắc thể như sau:
HChk.HCh.HS.EBL.EBStr.EBP.EBH.EBS.EP.ES.
ED.EHWR.PS.NL.NW.MS.MW.MP.MTUL.MTLL
Thuật toán di truyền tương tác
Trang 42Thuật toán di truyền tương tác
sát
- Ta sử dụng phương pháp tái sinh như trong
thuật gi i di truyền thông thường, ả
- Dùng nguyên tắc quay bánh xe Roulette với các rãnh được định nghĩa dựa trên độ thích nghi
Trang 43
Thuật toán di truyền tương tác
sát
- ối với mỗi cặp khuôn mặt được ghép đôi, phát Đ
- ối với mỗi cặp khuôn mặt được ghép đôi, phát Đ
sinh ngẫu nhiên một số nguyên pos ∈ {1, ,m-1} (m
là tổng số bit để biểu diễn nhiễm sắc thể) Số pos cho biết vị trí lai
- Thay hai khuôn mặt
(a1a2 aposapos+1 am) và (b1b2 bposbpos+1 bm)
Bằng hai khuôn mặt mới:
(a a a b b ) v (b ) v (b à à b b a a )
Trang 44Thuật toán di truyền tương tác
Trang 45Thuật toán di truyền tương tác
pos là 10, 17
Trang 46 Phép toán đột biến
- ột biến trên cơ sở từng bit Gọi pĐ m là xác
quần thể:
Với mỗi bit trong nhiễm sắc thể biểu diễn
Fi, phát sinh ngẫu nhiên một s r , phát sinh ngẫu nhiên một s r ốố ∈ [0,1]
Trang 47Xin chân thành cảm ơn