Giải thuật di truyền ThS Trần Nguyên Hương GIỚI THIỆU Trong khu nhà bỏ trống có nhiều mèo chuột Ban đầu chuột có hai loại: lơng trắng đen Sau thời gian sống với mèo ban đêm chuột đen bị mèo nhìn thấy nên sống lâu sinh đẻ thêm phát triển, chuột trắng ngày tuyệt giống bị mèo ăn thịt khơng có nhiều để sinh đẻ thêm Trong thực tế có sinh vật biết tiến hóa để thích nghi với hồn cảnh tồn phát triển GIỚI THIỆU Genetic Algorithms tạm dịch Thuật giải di truyền (ngắn gọn gọi GA) bắt nguồn từ ý niệm tiến hóa để tồn phát triển tự nhiên GA phương thức giải vấn đề bắt chước lối hành xử người để tồn phát triển Nó giúp tìm giải pháp tối ưu hay tốt điều kiện thời gian không gian cho phép GIỚI THIỆU GA xét đến toàn giải pháp, cách xét trước số giải pháp sau loại bỏ thành phần khơng thích hợp chọn thành phần thích nghi để tạo sinh biến hóa nhằm mục đích tạo nhiều giải pháp có hệ số thích nghi ngày cao Hệ số thích nghi để dùng làm tiêu chuẩn đánh giá giải pháp GIỚI THIỆU Cấu trúc liệu + giải thuật di truyền = chương trình tiến hóa Thuật ngữ “chương trình tiến hóa” cơng thức khái niện dùng để chương trình máy tính có sử dụng thuật tốn tìm kiếm tối ưu hóa dựa ngun lý tiến hóa tự nhiên Các bước GA Chọn mơ hình (model) để tượng trưng cho giải pháp Các mơ hình dãy (String) số nhị phân: 0, thập phân chữ hay hỗn hợp chữ số Chọn hàm số thích nghi để dùng làm tiêu chuẩn đánh giá giải pháp Tiếp tục hình thức biến hóa đạt giải pháp tốt đến thời gian cho phép chấm dứt Thuật giải di truyền Các thành phần thuật giải di truyền Thuật giải di truyền Các thành phần GA Quá trình lai ghép (phép lai) Chọn ngẫu nhiên hai (hay nhiều) cá thể quần thể Giả sử nhiễm sắc thể cha mẹ có m gen Tạo số ngẫu nhiên khoảng từ đến m-1 (ta gọi điểm lai) Đưa hai cá thể vào quẩn thể để tham gia trình tiến hóa Các thành phần GA Quá trình đột biến (phép đột biến) Chọn ngẫu nhiên cá thể cha mẹ quần thể Tạo số ngẫu nhiên k khoảng từ đến m, ≤ k ≤ m Thay đổi gen thứ k trả cá thể quần thể để tham giá trình tiến hóa Các thành phần GA Q trình sinh sản Tính độ thích nghi cá thể quẩn thể hành, lập bảng cộng dồn giá trị thích nghi (theo số thứ tự gán cho cá thể) Giả sử quần thể có n cá thể Gọi độ thích nghi cá thể thứ i Fi, tổng dồn thứ i Fti, tổng độ thích nghi tồn quần thể Fm Tạo số ngẫu nhiên F đoạn từ đến Fm Chọn cá thể thứ k thỏa mãn F ≥ Ftk đưa vào quần thể hệ Áp dụng giải thuật di truyền vào toán lập lịch (tiếp) Đột biến: đổi ngẫu nhiên môn học bảo đảm khơng có việc đột biến mơn lần Nhưng, với giáo viên tương ứng, chọn giáo viên hợp lệ với môn học Áp dụng giải thuật di truyền vào tốn lập lịch (tiếp) Ví d: Thuật toán di truyền tơng tác (IGC Interactive Genetic Algorithms) Là thuật toán di truyền mà giá trị thích nghi cá thể đợc xác định tơng tác với ngời sử dụng Là công cụ hu ích với nhng toán mà tiêu chuẩn lợng giá phức tạp và/hoặc thông tin không đầy đủ, khiến cho không xây dựng hàm thích nghi Ví dụ nh toán liên quan đến hình ảnh, ©m thanh, giả lËp thÕ giíi thùc, Thuật toán di truyền tơng tác (IGC Interactive Genetic Algorithms) Các bớc thuật gii di truyền tơng tác Bớc 1: Khởi tạo quần thể (ngẫu nhiên), thể kÕt cho ngêi sư dơng Bíc 2: Ngêi dïng chọn số kết qu mà cm thấy Bớc 3: Thùc hiƯn tiÕn hãa víi sè thÕ hƯ nhÊt định, với hàm thích nghi dựa nhng kết qu ngời dùng chọn, nhng nhiễm sắc thể đợc chọn thờng có giá trị thích nghi tốt Bớc 4: HiĨn thÞ kÕt sau tiÕn hãa Bíc 5: Quay l¹i bíc nÕu ngêi sư dơng cha chấp nhận kết qu Thuật toán di truyền tơng tác cho bi toán phục hồi nh chân dung quan sát Bài toán Một vụ án xy ra, thủ phạm trốn thoát Nhà chức trách có nhu cầu phác họa lại chân dung thủ phạm từ nhng nhân chứng có mặt trờng Quá trỡnh đợc tiến hành nh sau Lấy lời khai nhân chứng (mô t lại chân dung thủ phạm) Tổng hợp lời khai để phác họa chân dung Quá trỡnh đợc tiếp tục tất c nhân chứng đà thống với (hoặc số) chân dung thủ phạm" Thuật toán di truyền tơng tác cho bi toán phục hồi nh chân dung quan sát ĐỈc trng 1 1 Má Cằm Hỡnh dạng khuông mặt Chiều dài lông mày ộ đậm lông mày Vị trí lông mày Chiều cao lông mày Hỡnh dạng lông mày Vị trí mắt Kích thớc mắt Khong cách gia hai mắt Tỷ lệ chiều cao mắt/chiều rộng mắt Kích thớc đồng tử Chiều dài mắt Chiều rộng mũi Hỡnh dạng mũi Chiều rộng miệng Vị trí miệng ộ dày môi ộ dày môi di HeadCheek HeadChin HeadShape EyeBrowLength EyeBrowStrength EyeBrowPosition EyeBrowHeight EyeBrowShape EyePosition Eyeize EyeDistance EyeHWRation HChk HCh HS EBL EBStr EBP EBH EBS EP ES ED EHWR PupilSize NoseLength NoseWidth MouthShape MouthWidth MouthPosition MouthThicknessOfUpper Lip MouthThicknessOfLower Lip PS NL NW MS MW MP MTUL MTLL Tht to¸n di trun tơng tác cho bi toán phục hồi nh chân dung quan sát Mà hóa đặc trng - Biểu diễn nhiễm sắc thể chuỗi nhị phân 0,1 - Xem thuộc tính nh gen - Nhiễm sắc thể chuỗi tuyến tính gen, gen có vị trí xác định chuỗi Thuật toán di truyền tơng tác cho bi toán phục hồi nh chân dung quan sát Mà hóa đặc trng - Qui ớc cho gen vị trí cố định nhiễm sắc thể, - Gi sử HeadCheek (HChk) vị trí số 1, HeadChin (HCh) vÞ trÝ sè 2, HeadShape (HS) vÞ trÝ sè MouthThicknessOfLowerLip (MTLL) vÞ trÝ sè 20, ta cã 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 cho bi toán phục hồi nh chân dung quan s¸t PhÐp to¸n t¸i sinh - Ta sư dơng phơng pháp tái sinh nh thuật gii di truyền thông th ờng, - Dùng nguyên tắc quay bánh xe Roulette với rÃnh đợc định nghĩa dựa độ thích nghi Thuật toán di truyền tơng tác cho bi toán phục hồi nh chân dung quan sát Phép toán lai - ối với cặp khuôn mặt đợc ghép đôi, phát sinh ngẫu nhiên số nguyên pos {1, ,m-1} (m 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: (a1a2 aposbpos+1 bm) v (b1b2 bposapos+1 am) Thuật toán di truyền tơng tác cho bi toán phục hồi nh chân dung quan sát VD phép toán lai pos 17, 8, 15 Thuật toán di truyền tơng tác cho bi toán phục hồi nh chân dung quan sát VD phép toán lai pos 10, 17 Thuật toán di truyền tơng tác cho bi toán phục hồi nh chân dung quan sát Phép toán đột biến - ột biến sở bit Gọi p m xác suất đột biến, với khuôn mặt F i quần thể: Với bit nhiễm sắc thể biểu diễn Fi, phát sinh ngẫu nhiên s r [0,1] Nếu r