Kết hợp giải thuật di truyền và logic mờ giải bài toán tối ưu đa mục tiêu

27 207 0
Kết hợp giải thuật di truyền và logic mờ giải bài toán tối ưu đa mục tiêu

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TT & TT ĐÀO NGỌC TUẤT KẾT HỢP GIẢI THUẬT DI TRUYỀN VÀ LOGIC MỜ GIẢI BÀI TOÁN TỐI ƯU ĐA MỤC TIÊU LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên, tháng 10 - 2012 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TT& TT ĐÀO NGỌC TUẤT KẾT HỢP GIẢI THUẬT DI TRUYỀN VÀ LOGIC MỜ GIẢI BÀI TOÁN TỐI ƯU ĐA MỤC TIÊU Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS Vũ Mạnh Xuân Thái Nguyên, tháng 10 -2012 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỞ ĐẦU Nhiều toán tối ưu thực tế toán tối ưu đa mục tiêu, đặc biệt thiết kế Chẳng hạn người ta muốn thiết kế sản phẩm cho chi phí thấp, tiết kiệm nguyên liệu chất lượng tốt, thiết kế bể chứa nước với yêu cầu dung lượng lớn mà chi phí thấp… Đã có nhiều nhà toán học tin học nghiên cứu vấn đề đưa nhiều phương pháp giải khác Một số phương pháp thường sử dụng để giải toán đa mục tiêu như: phương pháp nhượng dần, phương pháp tìm nghiệm có khoảng cách ngắn đến nghiệm lý tưởng, phương pháp trọng số,… Được đồng ý Hội đồng Khoa học khoa Công Nghệ Thông Tin, hướng dẫn thầy giáo Vũ Mạnh Xuân, em chọn đề tài khóa luận nhằm nghiên cứu phương pháp tiếp cận khác để giải toán tối ưu đa mục tiêu sử dụng giải thuật di truyền kết hợp logic mờ Mục đích nghiên cứu: tìm hiểu số phương pháp giải toán tối ưu đa mục tiêu, giải thuật di truyền logic mờ, sở sử dụng giải thuật di truyền kết hợp với logic mờ để giải toán tối ưu đa mục tiêu Nội dung đề tài: gồm chương 1) Chương Giải thuật di truyền 2) Chương Logic mờ 3) Chương Kết hợp giải thuật di truyền logic mờ giải toán tối ưu đa mục tiêu Để tiến hành nghiên cứu đề tài này, em sử dụng phối hợp số phương pháp như: phương pháp nghiên cứu tài liệu (nghiên cứu tài liệu giải thuật di truyền, toán tối ưu đa mục tiêu, logic mờ, ngôn ngữ lập trình matlab 7.0); phương pháp lấy ý kiến chuyên gia (giáo viên hướng dẫn, tham khảo mạng) Khi thực đề tài này, bước đầu em tìm hiểu số phương pháp giải toán tối ưu đa mục tiêu, số vấn đề giải thuật di truyền, logic mờ Kết đề xuất kỹ thuật kết hợp giải thuật di truyền với logic mờ để giải toán tối ưu đa mục tiêu lập trình thử nghiệm số toán cụ thể Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Chương 1: GIẢI THUẬT DI TRUYỀN Chương giới thiệu vấn đề khái quát giải thuật di truyền (GA) làm sở cho việc ứng dụng giải toán tối ưu đa mục tiêu.[2], [6] 1.1 Khái quát chung Giải thuật di truyền GA(GENETIC ALGORITHM) D.E Goldberg đề xuất, sau L Davis Z Michalevicz phát triển, thuật toán tiến hóa Thuật toán tiến hóa chương trình máy tính có dùng thuật toán tìm kiếm, tối ưu hóa dựa nguyên lý tiến hóa tự nhiên Giải thuật di truyền hình thành dựa quan niệm: trình tiến hóa tự nhiên trình hoàn hảo hợp lý nhất, tự trình mang tính tối ưu Quan niệm tiên đề đúng, không chứng minh phù hợp với thực tế khách quan Tính tối ưu trình tiến hóa thể đặc điểm, hệ sau tốt (phát triển hơn, hoàn thiện hơn) hệ trước Tiến hóa tự nhiên trì nhờ hai trình sinh sản chọn lọc tự nhiên, suốt trình tiến hóa tự nhiên, hệ sinh để bổ sung thay thế hệ cũ Cá thể phát triển hơn, thích ứng với môi trường tồn tại, cá thể không thích ứng với môi trường bị đào thải Sự thay đổi môi trường động lực thúc đẩy trình tiến hóa, ngược lại tiến hóa tác động trở lại góp phần thay đổi môi trường Giải thuật di truyền (GA-Genetic Algorithms) giải thuật tìm kiếm, chọn lựa giải pháp tối ưu để giải toán thực tế khác nhau, dựa chế chọn lọc tự nhiên: từ tập lời giải ban đầu, thông qua nhiều bước tiến hoá, hình thành tập lời giải phù hợp hơn, cuối dẫn đến lời giải tối ưu toàn cục Trong tự nhiên, cá thể muốn tồn phát triển phải thích nghi Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn với môi trường, cá thể thích nghi tồn tại, cá thể thích nghi bị tiêu diệt Trong cá thể, gen liên kết với theo cấu trúc dạng chuỗi, gọi nhiễm sắc thể (NST) Mỗi NST đặc trưng cho loài định sống cá thể Do môi trường tự nhiên biến đổi nên cấu trúc NST thay đổi để thích nghi với môi trường hệ sau thích nghi hệ trước Cấu trúc có trao đổi thông tin có tính ngẫu nhiên với môi trường bên NST với 1.2 Các vấn đề giải thuật di truyền 1.2.1 Mã hóa Việc mô tả di truyền cho lời giải cho toán gồm hai phần bản: + Xây dựng cấu trúc gen cho lời giải toán để từ lời giải ta mã hoá thành NST (chuỗi gen) + Giải mã NST để nhận lời giải Đây vấn đề cần giải trước giải toán với GA Tuỳ thuộc vào nội dung toán mà ta có cách mã hoá khác Sau phương pháp mã hoá hay sử dụng: Mã hoá dạng chuỗi nhị phân: phương pháp thông dụng sử dụng từ bước ban đầu nghiên cứu GA Trong phương pháp NST chuỗi bit Mã hoá thứ tự: sử dụng toán có xếp thứ tự Ở NST chuỗi số nguyên thể thứ tự phân bố lời giải toán Mã hoá theo giá trị: sử dụng toán mà lời giải tập giá trị (ví dụ tập số thực) Trong phương pháp này, NST chuỗi giá trị có mối quan hệ tương ứng với toán Mã hoá dạng cây: sử dụng chủ yếu biểu thức toán học, phương pháp mã hoá NST một nhóm đối tượng Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Ví dụ: Biểu thức sau x+(y / 5) mã hoá thành: + x / y Mã hoá số thực : Mỗi NST mã hoá véc tơ không gian R m chẳng hạn X = (a1, a2, , am) với  R Cách mã hoá thường tự nhiên toán tối ưu số phát triển mạnh thời gian gần 1.2.2 Tạo lập lời giải ban đầu (khởi tạo quần thể) Tập lời giải ban đầu thường khởi tạo ngẫu nhiên từ miền xác định lời giải Cách tạo lập tập lời giải ban đầu phụ thuộc nhiều vào cách mã hoá NST Với phương pháp mã hoá nhị phân: xây dựng NST cách tạo ngẫu nhiên chuỗi bit Với phương pháp mã hoá thứ tự: xây dựng NST ban đầu cách hoán vị ngẫu nhiên thứ tự Với phương pháp mã hoá theo giá trị: tạo ngẫu nhiên giá trị miền xác định lời giải để tạo chuỗi NST ban đầu Với mã hoá số thực: tạo ngẫu nhiên N véc tơ thực Rm 1.2.3 Xây dựng hàm phù hợp Hàm phù hợp đánh giá khả phù hợp tập lời giải theo yêu cầu toán Hàm xây dựng cho toán với yêu cầu cụ thể Thông thường toán tối ưu hàm hàm mục tiêu toán 1.2.4 Các toán tử di truyền a Toán tử chọn lọc Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Trong trình thực giải thuật di truyền, sau lần tiến hoá ta giữ lại cá thể có độ phù hợp cao cá thể phù hợp thấp bị loại bỏ Toán tử chọn lọc thường giữ lại 50% cá thể phù hợp Tuy nhiên người ta phát triển nhiều sơ đồ chọn khác nhằm tăng tính đa dạng quần thể, tránh hội tụ sớm b Toán tử lai ghép toán tử di truyền GA, tiến trình lai ghép sau : Bước 1: Tạo tập NST để tạo sinh từ quần thể cách chọn ngẫu nhiên N NST từ M NST (M kích cỡ quần thể) Có nhiều cách chọn: Chọn ngẫu nhiên theo thứ tự: lặp N lần việc tạo ngẫu nhiên số nguyên i thuộc khoảng [1, M] để chọn NST thứ i Chọn theo trọng số: tạo trọng số tích luỹ cho M NST theo công thức: pi  pi  i k 1 k M M  i 1  M (với toán tìm min) (với toán tìm max) k k 1 Sau có trọng số tích luỹ cho NST, ta tạo xác suất ngẫu nhiên r duyệt từ NST đến gặp NST có trọng số tích luỹ lớn r chọn Bước 2: Sau chọn N NST, lấy cặp NST để lai ghép tạo hai NST Một số dạng toán tử lai ghép hay dùng : Lai ghép điểm: chọn ngẫu nhiên vị trí sau hoán vị phần đứng sau vị trí vừa chọn hai NST cha mẹ để nhận hai NST Lai ghép hai điểm: chọn ngẫu nhiên hai vị trí NST, sau hoán vị giá trị đứng hai điểm chọn hai NST cha mẹ để nhận hai NST Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Lai ghép mặt nạ: tạo mặt nạ ngẫu nhiên có số bit chiều dài NST Ta hoán vị giá trị hai NST cha mẹ vị trí tương ứng với vị trí bit mặt nạ c Toán tử đột biến: Toán tử đột biến xây dựng để tránh việc nhận giá trị tối ưu cục Đột biến gây thay đổi ngẫu nhiên bit NST để tạo NST d Tạo sinh: Chọn cá thể từ quần thể thời làm quần thể cho lần lặp 1.3 Thuật toán di truyền Giải thuật di truyền giải toán cần có thành phần sau: Một cấu trúc liệu biểu diễn không gian lời giải toán Cách khởi tạo quần thể ban đầu Hàm định nghĩa độ thích nghi eval(), đóng vai trò môi trường Các phép toán di truyền ( phép lai, phép đột biến, phép tái sinh phép chọn) Các tham số giải thuật di truyền sử dụng (kích thước quần thể, xác suất lai, đột biến ) Sơ đồ cấu trúc giải thuật di truyền tổng quát sau: Begin t:=0; Khởi tạo P(t); Tính độ thích nghi cho cá thể thuộc P(t); Khi (điều kiện dừng chưa thỏa mãn) lặp t:=t+1; Tái sinh P‟(t) từ P(t) Lai Q(t) từ P(t-1); Đột biến R(t) từ P(t-1); Chọn lọc P(t) từ P(t-1)Q(t)R(t)P‟(t) Kết thúc lặp Cá thể tốt P(t) lời giải cần tìm End Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1.4 Giải thuật di truyền mã hóa số thực 1.4.1 Mã hóa RCGA Trong phần ta quan tâm tới giải thuật di truyền mã hóa số thực (RCGA) để giải toán tối ưu giá trị thực không gian R n ràng buộc đặc biệt Một cách tổng quát, toán tối ưu số thực xem cặp (S,f), S  Rn f : S  R hàm n biến Bài toán đặt tìm véctơ x=(x1,x2, , xn)  S cho f(x) đạt giá trị cực tiểu S Nghĩa với yS phải có f(x)  f(y) Hàm f không liên tục cần bị chặn S (đối với toán tìm cực đại chuyển cực tiểu cách đơn giản) Trong GA mã hoá số thực, cá thể biểu diễn véc tơ thực n chiều: b = (x1 , x2, , xn), xi  R Như quần thể kích cỡ m tập hợp có m véctơ R n Ta xem quần thể kích cỡ m ma trận thực cấp (mxn), cách mã hoá tự nhiên thuận tiện việc thực toán tử tiến hóa Sau ta xem xét cụ thể toán tử giải thuật di truyền mã hoá số thực 1.4.2 Các toán tử RCGA a Toán tử lai ghép GA mã hoá số thực áp dụng toán tử lai ghép GA cổ điển bao gồm lai ghép điểm, lai ghép nhiều điểm, lai ghép mặt nạ Ngoài ra, cách mã hóa quần thể, người ta nghiên cứu đề xuất nhiều dạng khác toán tử lai ghép RCGA Dưới số dạng toán tử lai ghép thường dùng với giả thiết cặp cá thể cha mẹ chọn để tiến hành lai ghép X  ( x1 , x , , x m ) Y  ( y1 , y , , y m )  Lai số học (Arithmetic Crossover) Phép lai chọn số thực a (0

Ngày đăng: 19/04/2017, 21:40

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan