Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
625,96 KB
Nội dung
Trường Đại học Hải Phịng Khoa: Cơng nghệ thơng tin Đề tài: Thuật tốn di truyền ứng dụng giải toán người du lịch Giảng viên hướng dẫn: Th.S LÊ ĐẮC NHƯỜNG Sinh viên: Bùi Thị Hạnh Hoàng T.Thu Hiền Trần Hồng Lân Nội dung trình bày: I: Giải thuật di truyền *Khái niệm, Giải thuật di truyền là một kỹ thuật của khoa học máy tính nhằm tìm kiếm giải pháp thích hợp cho các bài tốn tối ưu tổ hợp Giải thuật di truyền là một phân ngành của giải thuật tiến hóa vận dụng các ngun lý của tiến hóa như di truyền, đột biến, chọn lọc tự nhiên, và trao đổi chéo I: Giải thuật di truyền * Tư tưởng Mơ phỏng các hiện tượng tự nhiên: Kế thừa và đấu tranh sinh tồn để cái tiến Ví dụ: Sự tiến hóa của lồi thỏ Thỏ đần độn, chậm chạp Thỏ thơng minh nhanh nhẹn Thỏ bị loại bỏ I: Giải thuật di truyền * Tư tưởng Quần thể ban đầu I: Giải thuật di truyền * Tư tưởng Q trình sinh sản I: Giải thuật di truyền * Tư tưởng Quần thể cịn lại, bắt đầu q trình sinh sản I: Giải thuật di truyền * Tư tưởng Thế hệ sau I: Giải thuật di truyền * Lưu đồ Lưu đồ thuật giải cơ bản I: Giải thuật di truyền * Các toán tử di truyền Biểu diễn cá thể Văn bản của bạn Đột biến Hàm mục tiêu Toán tử di truyền Lai tạo Lai ghép 10 I: Giải thuật di truyền * Các tốn tử di truyền Lai ghép Phép lai là q trình hình thành NST mới trên cơ sở NST cha mẹ, bằng cách ghép một hay nhiều đoạn gen của hai (hay nhiều) NST cha mẹ khác nhau. v ü Lai ghép một điểm cắt, nhiều điểm cắt ü Lai ghép nhiều đoạn Đột biến Đột biến là tình trạng NST con khơng có một (hoặc một số) tính trạng có trong mã di truyền của cha mẹ. v 12 I. Giải thuật di truyền * Đấu tranh sinh tồ n Chọn những NST từ quần thể kết quả theo một quy tắc nào đó thay thế cho cha mẹ để sinh ra thế hệ mới Phương thức Phương thức 2 Tráo đổi hoàn toàn 05 cha mẹ bằng con Tráo đổi ngẫu nhiên (k con mẹ thay thế bằng k con con) Phương thức 3 TT Chọn những cá thể ưu tú nhất 13 I. Giải thuật di truyền * Các bước giải thuật Bước 1: Chọn mơ hình cho giải pháp của vấn đề Bước 2: Chỉ định cho mỗi giải pháp một ký hiệu Bước 3: Tìm hàm số thích nghi cho vấn đề và tính hệ số thích nghi cho từng giải pháp Bước 4: Dựa trên hệ số thích nghi của các giải pháp để thực hiện sự tạo sinh (reproduction) và biến hóa các giải pháp. Các phương thức biến hóa gồm: lai ghép (cross over), đột biến (mutation) Bước 5: Tính các hệ số thích nghi cho các giải pháp mới là loại bỏ những giải pháp kém nhất để chỉ cong giữ lại một số nhất định các giải pháp Bước 6: Nếu chưa tìm được giải pháp tối ưu hay tương đối khá nhất hay chưa hết hạn kỳ ấn định, trở lại bước thứ 4 để tìm giải pháp mới Bước 7: Tìm được giải pháp tối ưu hoặc nếu thời gian cho phép để chấm dứt thì báo cáo kết quả tính 14 II. Bài tốn người du lịch *Định nghĩa, độ phức tạp Định nghĩa Cho đồ thị đầy đủ n đỉnh vô hướng, có trọng s ố G = (V, E). Tìm chu trình v1→v2 →…→vn→v1 Với vi Một chu trình như vậy cịn gọi là chu trình Hamilton vĐộ phức tạp Bài tốn TSP thuộc lớp bài tốn NPKhó v 15 III: Giải bài tốn người du lịch bằng GA v Mã hóa bài tốn (đồ thị) Ø Ø Ø Đồ thị được mã hóa bằng danh sách mảng các điểm và tọa độ Trọng số trong cột đầu tiên là số hiệu của đỉnh, trọng số thứ hai là hồnh độ, trọng số thứ ba là tung độ. Khoảng cách giữa hai đỉnh M(xi, yi) N(xj, yj) đồ thị (trọng số cho cạnh) tính theo cơng thức: 16 III: Giải bài tốn người du lịch bằng GA v Mã hóa bài tốn(chu trình) Ø Chu trình được mã hóa bằng mảng có thứ tự các số hiệu của đỉnh. Ví dụ chu trình của đồ thị 10 đỉnh: ØMỗi chu trình có thơng số về chi phí của tồn bộ chu trình đó. Chi phí này được tính bằng tổng độ dài tất cả các cạnh tạo nên chu trình ØMỗi chu trình là 1 lời giải, trong giải thuật di truyền coi đó như 1cá thể. 17 III: Giải bài toán người du lịch bằng GA v Khởi tạo quần thể Ø Ø Ø Ø Quần thể ban đầu được khởi tạo bằng cách sinh ngẫu nhiên các chu trình Số lượng chu trình khởi tạo là một nửa số kích thước cá thể tối đa Việc sinh ngẫu nhiên sử dụng hàm đột biến Số kích thước cá thể tối đa có thể tùy biến theo số đỉnh của đo thị cần giải, ở đây chọn kích thước quần thể là 100 cá thể. 18 III: Giải bài tốn người du lịch bằng GA v Lai ghép Ø Ø Ø Ø Lai ghép thực hiện trên 2 cá thể đầuvào Thực hiện lai ghép 1 điểm cắt với vị trí cắt là ngẫu nhiên : Cắt từ điểm p đến hết chu trình của C2 đưa vào chu trình mới, lấy một ví dụ p = 5: Xét từ đầu đến cuối chu trình 1, nạp dần các điểm chưa có trong con lai theo thứ tự duyệt ta được chu trình mới: 19 Tính lại chi phí cho chu trình mới: Private circle hybridize( circle cl, circle c2) { Circle child =new circle (c1.getLength()); Random rand = new Random(); int p =rand.nextInt(child.length 1) int I =0;j =0,k=0; For(i =p; i