1. Trang chủ
  2. » Giáo án - Bài giảng

giải thuật toán di truyền

10 67 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 127 KB

Nội dung

Giải thuật Di Truyền ứng dụng Khái quát giải thuật Di Truyền: 1.1 Lịch sử giải thuật di truyền: Trước tiên, ý niệm giải thuật di truyền số nhà sinh vật học đưa từ năm 50-60, kỉ XX A.S Fraser người tiên phong nêu lên tương đồng tiến hóa sinh vật chương trình tin học giả tưởng Genetic Algorithms(GA) Tuy nhiên, John Henry Holland người triển khai ý tưởng phương pháp giải vấn đề dựa theo tiến hóa Từ giảng, báo mình, ơng đúc kết ý tưởng vào sách đầu tay Adaptation in Natural and Artificial Systems, xuất năm 1975 Dựa lý thuyết GA Holand, Keneth De Jong triển khai chứng minh thành ơng thực góp phần quan trọng việc tạo tảng toán học cho lý thuyết GA Lần Holand nghiên cứu giải thuật này, chúng hồn tồn khơng có tên Do nguồn gốc phương pháp từ gen di truyền, Holand đặt tên cho thuật giải di truyền 1.2 Các đặc điểm, đặc trưng giải thuật di truyền: Giải thuật di truyền mô chọn lọc tự nhiên di truyền Trong tự nhiên, cá thể khỏe, có khả thích nghi với mơi trường tốt tồn phát triển hệ sau Mỗi cá thể có cấu trúc gen đặc trưng cho tính chất cá thể Trong q trình sinh sản, cá thể thừa hưởng phẩm chất cha mẹ, cấu trúc gen mang phần cấu trúc gen cha mẹ Ngoài ra, q trình tiến hóa, xảy tượng đột biến, cấu trúc gen cá thể chứa gen mà cha mẹ khơng có Trong giải thuật di truyền, cá thể mã hóa cấu trúc liệu mơ tả cấu trúc gen cá thể đó, ta gọi nhiễm sắc thể Mỗi nhiễm sắc thể tạo thành từ đơn vị gọi gen Giải thuật di truyền làm việc quần thể gồm nhiều cá thể Một quần thể ứng với giai đoạn phát triển gọi hệ Từ hệ tạo ra, giải thuật di truyền bắt chước chọn lọc tự nhiên di truyền để biến đổi hệ 1.3 Các thành phần giải thuật di truyền : 1.3.1 Khởi tạo quần thể ban đầu Tạo quần thể giải thuật, nơi xuất phát q trình tiến hóa, bao gồm tất giá trị thô ban đầu Tùy theo vấn đề tốn mà có cách khởi tạo khác 1.3.2 Đánh giá cá thể Chắc chắn việc chọn cá thể thông qua kết quả, hay mục đích vấn đề Các cá thể tốt chọn lọc để đưa vào hệ sau Sự lựa chọn thực dựa vào độ thích nghi với mơi trường cá thể Có nhiều phương pháp để chọn nhiễm sắc thể tốt nhất, ví dụ: chọn lọc roulette wheel, chọn lọc xếp hàng, chọn lọc cạnh tranh, v.v… +Chọc lọc Roulette wheel Các cá thể cha mẹ chọn theo độ thích nghi chúng Nhiễm sắc thể tốt có hội cao để tham dự vào hệ Thuật giải chọn lọc roulette(Davis, [1991,8]) sau: Tính tổng giá trị thích nghi tất thành viên quần thể gọi tổng thích nghi (total fitness) Phát sinh số n số ngẫu nhiên khoảng từ đến tổng thích nghi Trả lại thành viên quần thể mà độ thích nghi cộng với độ thích nghi thành viên quần thể trước lớn hay n… Ví dụ: o Với pop_size = o Fit[0] = 0,0032 o Fit[1] = 0,0576 o Fit[2] = 0,0264 Sum = 0,0872 Giả sử: random01() = 0,5 rand = 0,5 * 0,0872 = 0,0436 j = 0; partsum = fit[0] = 0,0032 j = 1; partsum = 0,0032 + fit[1] = 0,0608 partsum > rand  i = j = 1; select() = 1; +Chọn lọc xếp hạng (Rank Selection) Phương pháp hạng cá thể dựa độ thích nghi chúng Cá thể xấu có giá trị 1, 2, v.v…và cá thể tốt có độ thích nghi N (N số nhiễm sắc thể quần thể) +Chọn lọc cạnh tranh (Tournament Selection) - Chọn lọc cạnh tranh (2-tournament selection) Hai nhiễm sắc thể khác chọn ngẫu nhiên so sánh với nhiễm sắc thể tồn Nếu nhiễm sắc thể I1 không tốt nhiễm sắc thể I2 nghĩa là: f(I1) ≤ f(I2), nhiễm sắc thể I1 chết bị loại khỏi quần thể Quá trình lặp lại đến hết N nhiễm sắc thể lại - Chọn lọc cạnh tranh (3-tournament selection) Giống trên, ba nhiễm sắc thể khác chọn ngẫu nhiên so sánh Nếu có f(I1) ≤ f(I2) f(I1) ≤ f(I3), nhiễm sắc thể I1 chết bị loại khỏi quần thể Quá trình lặp lại đến hết N nhiễm sắc thể lại 1.3.3 Tốn tử lai ghép: Tốn tử lai ghép có trật tự bao gồm bước sau: Chọn ngẫu nhiên chuỗi từ cá thể cha mẹ (parent) Đưa proto-child cách chép chuỗi vào vị trí tương ứng cá thể cha mẹ Xoá tất ký hiệu từ cá thể cha mẹ thứ hai, lúc có chuỗi Chuỗi lại chứa ký hiệu mà proto-child cần 4 Đặt ký hiệu vào vị trí khơng cố định proto-child từ trái sang phải theo trật tự chuỗi để tạo cá thể Ví dụ: Cá thể cha: | | Cá thể con: | | Đầu tiên, phân đoạn để cắt điểm chép vào cá thể Proto-child 1: x x | 1| x x x Proto-child 1: x x | 4| x x x Chuỗi điểm cắt thứ hai cá thể cha mẹ thứ hai là: 8-7-9-3-5-2-6-1-4 Chuỗi sau loại bỏ phần tử 8, 5, 1, cá thể là: 9-3-2-6-4 Cuối cùng, chuỗi đặt vào proto-child để tạo cá thể (bắt đầu từ điểm cắt thứ hai) Cá thể thứ nhất: | | Tương tự, cá thể khác: Cá thể thứ hai: | |9 2.1.3.4 Toán tử đột biến: +Đột biến đảo ngược(Inversion Mutation) Chọn hai vị trí ngẫu nhiên nhiễm sắc thể sau đó, nghịch đảo chuỗi hai vị trí Ví dụ: Nhiễm sắc thể : 938571642 Sau đột biến : +Đột biến chèn (Insertion Mutation) Chọn ngẫu nhiên gen sau chèn vào vị trí ngẫu nhiên Ví dụ: Nhiễm sắc thể : 938571642 Sau đột biến: 935781642 +Đột biến thay (Displacement Mutation) Chọn ngẫu nhiên chuỗi chèn vào vị trí ngẫu nhiên Đột biến chèn xem trường hợp đặc biệt đột biến thay, đó, chuỗi chứa gen Ví dụ: Nhiễm sắc thể: 938571642 Sau đột biến: 936857142 +Đột biến tương hỗ (Reciprocal Exchange Mutation) Chọn ngẫu nhiên hai vị trí sau hốn vị gen vị trí Ví dụ: Nhiễm sắc thể: 938571642 Sau đột biến: 931578642 1.3.5 Đột biến chuyển dịch (Shift Mutation) Trước tiên, chọn ngẫu nhiên gen, sau đó, dịch chuyển đến vị trí ngẫu nhiên bên phải bên trái vị trí gen Ví dụ: Nhiễm sắc thể: 938571642 Sau đột biến (trái): 983571642 Sau đột biến (phải): 935871642 1.3.6 Điều kiện kết thúc: Thốt q trình tiến hóa quần thể, dựa vào tốn mà có cách kết thúc vấn đề khác đạt đến mức yêu cầu Một vài trường hợp thông thường sau: o Kết thúc theo kết quả: đạt đến mức giá trị yêu cầu chấm dứt trình thực o Kết thúc dựa vào số hệ: chọn số hệ, trình dừng số hệ qui định trước, khơng cần biết kết o Tính theo thời gian: không cần biết hệ hay kết nào, dựa vào số qui định mà kết thúc o Tổ hợp: dùng nhiều phương án khác cho vấn đề, chẳng hạn như: chạy theo số hệ xong sau đánh giá cho chạy theo kết quả, ngược lại Ứng dụng giải thuật Di Truyền Ta hình dung mơ hình tốn giải thuật di truyền sau: gồm quần thể chứa tất kết có tốn, từ chọn kết tốt Vì suy ra, nhiễm sắc thể cá thể kiểu xếp lịch thực hành, đồng thời phải đáp ứng vấn đề toán đặt ra: nhiễm sắc thể không trùng nhau, không thiếu lớp-môn Mỗi nhiễm sắc thể biểu diễn chuỗi gen chuỗi số nguyên Ví dụ: Giả sử ta có số lớp-mơn = ta có nhiễm sắc thể đầy đủ sau: …… ……… 6 …… Ta có ánh xạ số ngun lớp-mơn: Ví dụ: maLop-maMonHoc → số nguyên DH03DT_14454 → DH03DT_14346 → DH05DT_14341 → DH04DT_14244 → DH04DT_14344 → DH04DT_14343 → DH04DT_14257 → CD05TH_14302 → Từ ta suy thứ tự xếp lớp-môn dựa vào thứ tự số nguyên chuỗi gen * Độ thích nghi chọn cá thể: Quần thể danh sách cá thể: chuỗi gen số nguyên ứng với lớp-môn, giá trị thích nghi fit Việc ước lượng kết xếp thực cách tính tổng số lớp-mơn (sử dụng chiến lược tìm kiếm Greedy để tìm lớp mơn sắp, sau tính tổng số lớp môn ) Cuối trả giá trị ước lượng cá thể, mà kết đưa vào biến fit theo cá thể tương ứng Việc chọn lựa dựa biến fit cách: xếp lại quần thể theo độ thích nghi giảm dần, sau lấy từ xuống tất cá thể (kể cha mẹ lẫn cái), với số lượng số cá thể ban đầu * Lai ghép đột biến: Hai phần này, có lẽ nói rõ chương trước Ở xin nói ngắn gọn, lai ghép, ta dùng lai ghép có trật tự: Còn đột biến: việc hoán vị hai nhiễm sắc thể cách ngẫu nhiên cá thể Về đảo gen: Một cá thể thay đổi vị trí gen để tạo thành cá thể Chọn điểm dừng thuật toán Như nêu trên, kết thúc thuật toán với nhiều điều kiện dừng khác Với toán thời khoá biểu thực hành này, ta chọn cách dừng theo số hệ Khi điều kiện dừng thỏa, thuật toán kết thúc cho ta nhiễm sắc thể tốt Từ ta có kiểu thời khóa biểu thực hành với số lớp mơn cao Chiến lược tìm kiếm tối ưu cục (giải thuật Greedy) ứng dụng: Khái quát giải thuật Greedy: Greedy search chiến lược tìm kiếm tối ưu cục bộ, thường sử dụng để tìm giải pháp ban đầu Trong tìm kiếm heuristic, hàm đánh giá đóng vai trò quan trọng, ảnh hưởng đến hiệu giải thuật tìm kiếm Nếu hàm đánh giá khơng xác dẫn ta chệch hướng tìm kiếm hiệu Trong trình tìm kiếm, bước ta chọn trạng thái để phát triển trạng thái có giá trị hàm đánh giá tốt nhất, trạng thái xem trạng thái hứa hẹn hướng tới đích Bên cạnh đó, Greedy search xem tìm kiếm theo bề rộng, hướng dẫn hàm đánh giá Nhưng khác với tìm kiếm theo bề rộng chỗ tìm kiếm theo bề rộng ta phát triển tất đỉnh mức để sinh đỉnh mức tiếp theo, Greedy search ta chọn đỉnh để phát triển đỉnh tốt xác định hàm đánh giá (tức đỉnh có giá trị hàm đánh giá tốt nhất), đỉnh mức mức Ví dụ: Xét khơng gian trạng thái biểu diễn đồ thị sau: Trong đó, trạng thái ban đầu A, trạng thái kết thúc B Giá trị hàm đánh giá số ghi cạnh đỉnh Quá trình tìm kiếm Greedy diễn sau: Đầu tiên phát triển đỉnh A sinh đỉnh kề C, D E Trong ba đỉnh này, đỉnh D có giá trị hàm đánh giá nhỏ nhất, chọn để phát triển sinh F, I Trong số đỉnh chưa phát triển C, E, F, I đỉnh E có giá trị đánh giá nhỏ nhất, chọn để phát triển sinh đỉnh G, K Trong số đỉnh chưa phát triển G tốt nhất, phát triển G sinh B, H Đến ta đạt tới trạng thái kết thúc Cây tìm kiếm Greedy .. .Giải thuật di truyền làm việc quần thể gồm nhiều cá thể Một quần thể ứng với giai đoạn phát triển gọi hệ Từ hệ tạo ra, giải thuật di truyền bắt chước chọn lọc tự nhiên di truyền để... số hệ xong sau đánh giá cho chạy theo kết quả, ngược lại Ứng dụng giải thuật Di Truyền Ta hình dung mơ hình tốn giải thuật di truyền sau: gồm quần thể chứa tất kết có tốn, từ chọn kết tốt Vì suy... điểm dừng thuật toán Như nêu trên, kết thúc thuật toán với nhiều điều kiện dừng khác Với toán thời khoá biểu thực hành này, ta chọn cách dừng theo số hệ Khi điều kiện dừng thỏa, thuật toán kết

Ngày đăng: 16/05/2019, 17:25

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w