NGHIÊN CỨU GIẢI THUẬT DI TRUYỀN TRÊN R VÀ ỨNG DỤNG

73 877 3
NGHIÊN CỨU GIẢI THUẬT DI TRUYỀN  TRÊN R VÀ ỨNG DỤNG

Đ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. Lý do chọn đề tài: Trong ngành khoa học máy tính, bài toán tìm kiếm lời giải tối ưu cho các bài toán là vấn đề đang được các nhà khoa học rất quan tâm. Mục đích là tìm ra lời giải tối ưu cho bài toán trong thời gian nhỏ nhất. Các thuật toán như tìm kiếm không có thông tin, vét cạn (tìm kiếm trên danh sách, trên cây hoặc trên đồ thị) sử dụng phương pháp đơn giản nhất và trực quan nhất hoặc các thuật toán tìm kiếm có thông tin sử dụng heurictics để áp dụng các tri thức về cấu trúc của không gian tìm kiếm nhằm giảm thời gian cần thiết cho việc tìm kiếm. Tuy nhiên, trong thực tế có nhiều bài toán tối ưu với không gian tìm kiếm rất lớn mà chúng ta cần phải giải quyết. Vì vậy, việc đòi hỏi thuật toán chất lượng cao và sử dụng kỹ thuật trí tuệ nhân tạo đặc biệt rất cần khi giải quyết các bài toán có không gian tìm kiếm lớn. Giải thuật di truyền (genetic algorithm GAs) 2 là một trong những kỹ thuật tìm kiếm lời giải tối ưu đã đáp ứng được yêu cầu của nhiều bài toán và ứng dụng. Giải thuật di truyền lấy ý tưởng từ quá trình tiến hóa tự nhiên, xuất phát từ một lớp các lời giải tiềm năng ban đầu, thuật giải di truyền tiến hành tìm kiếm trên không gian lời giải bằng cách xây dựng lớp lời giải mới tương đối tốt, có thể là tốt nhất. Quá trình xây dựng lớp lời giải mới được tiến hành dựa vào việc chọn lọc, lai ghép, đột biến từ lớp lời giải ban đầu. Quần thể mới được trải qua quá trình tiến hóa: Ở mỗi thế hệ lai tái sinh các lời giải tương đối tốt hơn các thế hệ lời giải ban đầu, trong khi các lời giải “xấu” thì chết đi. Hiện nay giải thuật di truyền được ứng dụng rộng rãi giải các bài toán trong các lĩnh vực như khoa học, kinh doanh và giải trí. Phải kể đến là bài toán người du lịch (TSP), bài toán xếp thời khóa biểu…1 7 12 13 18. Một trong những ngôn ngữ sử dụng thành công ý tưởng của giải thuật di truyền là R. R là một phần mềm sử dụng chính trong cho phân tích thống kê và đồ thị. Nó rất cần thiết và quan trọng đối với các nhà nghiên cứu trong nhiều ngành như sinh học, địa lý, toán học. R có rất nhiều package hỗ trợ cho việc phân tích dữ liệu, ví dụ như boot, class, cluster, lattice, moments, hexbin. Ngoài ra, trong đó có một số package đặc biệt hỗ trợ giải thuật di truyền như: genalg,GA. Với kiến thức đã tìm hiểu được về giải thuật di truyền, ngôn ngữ R và được sự định hướng của thầy hướng dẫn, em đã lựa chọn đề tài “Nghiên cứu giải thuật di truyền trên R và ứng dụng” làm đề tài nghiên cứu.

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI  LÊ THỊ XUÂN HUYỀN NGHIÊN CỨU GIẢI THUẬT DI TRUYỀN TRÊN R VÀ ỨNG DỤNG Chuyên ngành: Mã số: KHOA HỌC MÁY TÍNH 60.48.01.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN KHOA NGƯỜI HƯỚNG DẪN HỌC: TS ĐẶNG XUÂN THỌ LỜI CẢM ƠN Để hoàn thành tốt luận văn này, trước hết xin chân thành cảm ơn thầy cô giáo khoa Công nghệ thông tin trường Đại học Sư phạm Hà Nội giảng dạy HÀ NỘI - NĂM 2014 nhiệt tình giúp mở rộng thêm kiến thức Đặc biệt, xin gửi lời cảm ơn sâu sắc đến TS Đặng Xuân Thọ, người Thầy hướng dẫn tận tình, chu đáo cho Đồng thời, thầy có định hướng, hỗ trợ suốt trình nghiên cứu làm luận văn Tôi xin gửi lời cảm ơn đến gia đình, bạn bè người thân sát cánh, động viên giúp đỡ mặt tinh thần vật chất để hoàn thành tốt luận văn Mặc dù cố gắng hoàn thiện luận văn tất nhiệt tình lực mình, nhiên tránh khỏi thiếu sót Rất mong nhận đóng góp ý kiến thầy cô, bạn bè đồng nghiệp độc giả Hà Nội, ngày tháng 11 năm 2014 Học viên Lê Thị Xuân Huyền MỤC LỤC LỜI CẢM ƠN DANH MỤC CÁC HÌNH VẼ DANH MỤC BẢNG DANH MỤC CÁC HÌNH VẼ DANH MỤC BẢNG MỞ ĐẦU Lý chọn đề tài: Trong ngành khoa học máy tính, toán tìm kiếm lời giải tối ưu cho toán vấn đề nhà khoa học quan tâm Mục đích tìm lời giải tối ưu cho toán thời gian nhỏ Các thuật toán tìm kiếm thông tin, vét cạn (tìm kiếm danh sách, trên đồ thị) sử dụng phương pháp đơn giản trực quan thuật toán tìm kiếm có thông tin sử dụng heurictics để áp dụng tri thức cấu trúc không gian tìm kiếm nhằm giảm thời gian cần thiết cho việc tìm kiếm Tuy nhiên, thực tế có nhiều toán tối ưu với không gian tìm kiếm lớn mà cần phải giải Vì vậy, việc đòi hỏi thuật toán chất lượng cao sử dụng kỹ thuật trí tuệ nhân tạo đặc biệt cần giải toán có không gian tìm kiếm lớn Giải thuật di truyền (genetic algorithm GAs) [2] kỹ thuật tìm kiếm lời giải tối ưu đáp ứng yêu cầu nhiều toán ứng dụng Giải thuật di truyền lấy ý tưởng từ trình tiến hóa tự nhiên, xuất phát từ lớp lời giải tiềm ban đầu, thuật giải di truyền tiến hành tìm kiếm không gian lời giải cách xây dựng lớp lời giải tương đối tốt, tốt Quá trình xây dựng lớp lời giải tiến hành dựa vào việc chọn lọc, lai ghép, đột biến từ lớp lời giải ban đầu Quần thể trải qua trình tiến hóa: Ở hệ lai tái sinh lời giải tương đối tốt hệ lời giải ban đầu, lời giải “xấu” chết Hiện giải thuật di truyền ứng dụng rộng rãi giải toán lĩnh vực khoa học, kinh doanh giải trí Phải kể đến toán người du lịch (TSP), toán xếp thời khóa biểu…[1] [7] [12] [13] [18] Một ngôn ngữ sử dụng thành công ý tưởng giải thuật di truyền R R phần mềm sử dụng cho phân tích thống kê đồ thị Nó cần thiết quan trọng nhà nghiên cứu nhiều ngành sinh học, địa lý, toán học R có nhiều package hỗ trợ cho việc phân tích liệu, ví dụ boot, class, cluster, lattice, moments, hexbin Ngoài ra, có số package đặc biệt hỗ trợ giải thuật di truyền như: genalg, GA Với kiến thức tìm hiểu giải thuật di truyền, ngôn ngữ R định hướng thầy hướng dẫn, em lựa chọn đề tài “Nghiên cứu giải thuật di truyền R ứng dụng” làm đề tài nghiên cứu Lịch sử nghiên cứu: Qua khảo sát tìm hiểu ý tưởng từ lý thuyết đến ứng dụng liên quan đến nội dung đề tài, nhận thấy toán túi, người du lịch (TSP), xếp thời khóa biểu toán tương đối cũ, nhiên hướng tiếp cận ứng dụng giải thuật di truyền vào toán thời khóa biểu ngôn ngữ R hướng Qua đề tài hy vọng cung cấp hướng tiềm để giải toán túi, người du lịch (TSP), xếp thời khóa biểu THCS hay số lớp toán tương tự Mục đích nghiên cứu: Nghiên cứu, tìm hiểu giải thuật di truyền packages giải thuật di truyền R sở tiếp cận để giải số ứng dụng thực tế ví dụ toán túi, người du lịch (TSP), xếp thời khóa biểu THCS Đối tượng phạm vi nghiên cứu: - Tìm hiểu giải thuật di truyền - Tìm hiểu ngôn ngữ R - Tìm hiểu giải thuật di truyền R - Nghiên cứu số ứng dụng giải thuật di truyền R cho toán túi, người du lịch (TSP), xếp thời khóa biểu THCS Tóm tắt nội dung luận văn: Luận văn gồm chương có nội dung sau: CHƯƠNG GIẢI THUẬT DI TRUYỀN Trong chương, trình bày khái niệm, thuật ngữ liên quan đến giải thuật di truyền cá thể, quần thể, phép toán thuật giải Các phương pháp lai ghép, đột biến, tham số điều kiện dừng thuật giải Ví dụ minh họạ cụ thể hoạt động giải thuật di truyền CHƯƠNG GIẢI THUẬT DI TRUYỀN TRÊN R Nội dung chương tìm hiểu ngôn ngữ R thư viện xây dựng dựa ý tưởng giải thuật di truyền Ngoài ra, tìm hiểu chế hoạt động, cú pháp, phương thức sử dụng vận dụng vào số toán cụ thể Nội dung chương làm sở, tảng việc sử dụng thư viện GA cho thực nghiệm chương sau CHƯƠNG THỰC NGHIỆM Tìm hiểu định nghĩa toán túi, người du lịch, xếp thời khóa biểu THCS hướng tiếp cận sử dụng giải thuật di truyền giải toán Trong vận dụng thư viện genalg GA cho toán túi Đối với toán người du lịch thời khóa biểu sử dụng thư viện GA để tiếp cận tìm lời giải Nội dung chương cho số lời giải, kết tốt làm sở để đánh giá lựa chọn thư viện dùng giải lớp toán khác Phương pháp nghiên cứu: - Phương pháp đọc tài liệu - Phương pháp phân tích, tổng hợp - Phương pháp quan sát, thực nghiệm, thảo luận, trình bày, tham khảo ý kiến đánh giá CHƯƠNG GIẢI THUẬT DI TRUYỀN 1.1 Lịch sử giải thuật di truyền Từ trước đến nay, nghiên cứu ứng dụng tin học xuất nhiều toán chưa tìm phương pháp giải nhanh hợp lý, phần lớn toán tối ưu nảy sinh từ ứng dụng thực tế Để giải toán người ta thường tìm đến thuật giải nhanh hiệu kết thu gần tối ưu Trong nhiều trường hợp chúng sử dụng thuật giải xác suất, không đảm bảo kết tối ưu chọn kết cho sai số chấp nhận được, nhỏ mong muốn Từ yêu cầu thực tế đặt ra, có nhiều vấn đề cần giải năm 1950 1960 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 Algorithm Tuy nhiên, John Henry Holland người triển khai ý tưởng phương thức giải vấn đề dựa theo trình tiến hóa sinh vật Từ giảng, báo cáo mình, ông đồng nghiệp đúc kết ý tưởng vào sách đầu tay “Adaptation in Natural and Altificial Systems” xuất năm 1975 [8] Lần Holland nghiên cứu thuật giải chúng hoàn toàn tên, nguồn gốc phương pháp từ gen di truyền nên Holland đặt tên thuật giải di truyền Thuật giải di truyền hay thuật toán tiến hóa nói chung hình thành dựa quan niệm cho rằng, trình tiến hóa tự nhiên hoàn hảo nhất, hợp lý tự mang tính tối ưu Quan niệm xem tiên đề không chứng minh được, phù hợp với thực tế khách quan Quá trình tiến hóa thể tính tối ưu chỗ hệ sau tốt hơn, phát triển hơn, hoàn thiện hệ trước Tiến hóa tự nhiên trì nhờ hai trình là: sinh sản chọn lọc tự nhiên Xuyê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, thích ứng với môi trường tồn tại, cá thể không thích ứng bị đào thải Sự thay đổi môi trường động lực thúc đẩy trình tiến hóa [4] 1.2 Thuật ngữ sinh học 1.2.1 Cá thể Tất sinh vật sống bao gồm tế bào, tế bào tương ứng với nhiễm sắc thể Nhiễm sắc thể chuỗi ADN đại diện cho thể cá thể Đơn vị nhiễm sắc thể gen, dãy ADN Mỗi gen mã hóa phần protein Về nói gen mã hóa đặc điểm thể sinh vật Ví dụ màu mắt Mỗi đặc điểm cài đặt (xanh, nâu) gọi alen Mỗi gen có vị trí riêng nhiễm sắc thể Một chế di truyền đầy đủ (tất nhiễm sắc thể) gọi tập gen Tập hợp trình tự gen gen gọi kiểu di truyền, bao gồm tính chất vật lý, tính cách cá thể, giống màu mắt, thông minh… 1.2.2 Sinh sản Trong suốt trình sinh sản, tái tổ hợp (lai ghép) Các gen từ thể bố mẹ kết hợp tạo thành nhiễm sắc thể Cá thể tạo xảy trình đột biến Đột biến có nghĩa thành phần ADN bị thay đổi Các thay đổi chủ yếu lỗi chép từ gen bố mẹ Sự phù hợp sinh vật đo thành công sinh vật đời sống 1.3 Cơ giải thuật di truyền Trong lĩnh vực nghiên cứu giải thuật di truyền người ta dùng thuật ngữ vay mượn di truyền học như: cá thể, nhiễm sắc thể, gen, quần thể, độ thích nghi, chọn lọc, lai ghép, đột biến, v.v… Trong cá thể (individual, genotypes, structure) biểu diễn lời giải, giải pháp toán, không giống tự nhiên cá thể có nhiều nhiễm sắc thể, quy ước cá thể có nhiễm sắc thể (chromosome) Các nhiễm sắc thể cá thể chuỗi tuyến 10 3.3.3 Kết Bảng 3.7 Kết thử nghiệm TT Số lớp 12 16 Tổn g học sinh Tổn g tiết học/ 160 320 480 640 100 208 324 416 tuần Số gen/ NST Kích thước quần thể Số hệ Xác suất lai ghép 120 240 360 480 200 500 2000 2000 3000 3000 50000 50000 0.8 0.8 0.9 0.9 59 Xác suất đột biế n 0.15 0.15 0.1 0.3 Tổng ràng buộc vi phạ m 0 0 Biểu đồ kết Phụ lục Phụ lục Phụ lục Phụ lục 3.4 Một số nhận xét Qua trình nghiên cứu, tìm hiểu vận dụng thư viện giải thuật di truyền R cho toán túi, người du lịch, thời khóa biểu nhận thấy ngôn ngữ R có ưu nhược điểm như: R cung cấp cấu trúc điều khiển ngôn ngữ lập trình bậc cao, R hỗ trợ lập trình hướng đối tượng, khả đồ họa phong phú Ngoài ra, R có khả lưu trữ liệu điều khiển liệu điểm mạnh R vận dụng giải thuật GA Vì cho nên, thư viện GA R lưu tập lời giải tối ưu thuận lợi cho người dùng lựa chọn Tuy nhiên R có số nhược điểm như: R sở liệu kết nối liệu, R giao diện đồ họa người dùng Một nhược điểm lớn R câu lệnh R kết thúc phím Enter điều gây bất tiện lập trình Thư viện GA R thiết kế theo chuyên biệt nên chúng có ưu nhược điểm khác Tùy thuộc vào toán cụ thể mà người dùng sử dụng phương thức thư viện R khác Genalg xây dựng ý tưởng thuật toán tiến hóa cho toán tìm kiếm tối ưu đơn giản với phương thức tìm giá trị tối ưu số thực đơn nhị phân GA gói thư viện hoàn chỉnh bao gồm giải thuật phép toán di truyền Như thư viện xây dựng với mục đích giải lớp toán khác nhau, với toán khác mà có vận dụng phương thức thư viện cách phù hợp 60 PHỤ LỤC: KẾT QUẢ THỬ NGHIỆM MỘT SỐ BỘ DỮ LIỆU Phụ lục Kết thử nghiệm liệu lớp Bộ liệu thử nghiệm lớp mô tả tương ứng bao gồm danh sách lớp học phòng học lớp khối mô tả bảng 3.3 Môn học tập phân công giáo viên lớp mô tả bảng 3.4 bảng 3.5 + -+ | Genetic Algorithm | + -+ GA settings: Type = permutation Population size = 200 Number of generations = 3000 Crossover probability = 0.8 Mutation probability = 0.15 GA results: Iterations = 195 Fitness function value = Hình 3.11 Đồ thị kết fitness với số lớp xếp lớp 61 Hiển thị theo tên môn học Hiển thị theo tên giáo viên Hình 3.12 Kết thời khóa biểu liệu thứ 62 Phụ lục Kết thử nghiệm liệu lớp Bộ liệu thử nghiệm lớp mô tả tương ứng bao gồm danh sách lớp học phòng học lớp khối khối mô tả bảng 3.3 Môn học tập phân công giáo viên lớp mô tả bảng 3.4 bảng 3.5 + -+ | Genetic Algorithm | + -+ GA settings: Type = permutation Population size = 500 Number of generations = 3000 Crossover probability = 0.8 Mutation probability = 0.15 GA results: Iterations = 2423 Fitness function value = Hình 3.13 Đồ thị kết fitness với số lớp xếp lớp 63 Hiển thị theo tên môn học Hiển thị theo tên giáo viên Hình 3.14 Kết thời khóa biểu liệu thứ 64 Phụ lục Kết thử nghiệm liệu 12 lớp Bộ liệu thử nghiệm 12 lớp mô tả tương ứng bao gồm danh sách lớp học phòng học lớp khối 6, khối khối mô tả bảng 3.3 Môn học tập phân công giáo viên 12 lớp mô tả bảng 3.4 bảng 3.5 + -+ | Genetic Algorithm | + -+ GA settings: Type = permutation Population size = 2000 Number of generations = 50000 Crossover probability = 0.9 Mutation probability = 0.1 GA results: Iterations = 2726 Fitness function value = Hình 3.15 Đồ thị kết fitness với số lớp xếp 12 lớp 65 Hiển thị theo tên môn học Hiển thị theo tên giáo viên Hình 3.16 Kết thời khóa biểu liệu thứ 66 Hình 3.8 Kết TKB liệu thứ Phụ lục Kết thử nghiệm liệu 16 lớp Bộ liệu thử nghiệm 16 lớp mô tả tương ứng bao gồm danh sách lớp học phòng học lớp khối 6, khối 7, khối khối mô tả bảng 3.3 Môn học tập phân công giáo viên 16 lớp mô tả bảng 3.4 bảng 3.5 + -+ | Genetic Algorithm | + -+ GA settings: Type = permutation Population size = 2000 Number of generations = 50000 Crossover probability = 0.9 Mutation probability = 0.3 GA results: Iterations = 4481 Fitness function value = Hình 3.17 Đồ thị kết fitness với số lớp xếp 16 lớp 67 Hiển thị theo tên môn học 68 Hiển thị theo tên giáo viên Hình 3.18 Kết thời khóa biểu liệu thứ 69 Như vậy, qua thử nghiệm với liệu thực tế tương ứng với liệu khác cho có kết khác Cụ thể tương ứng với liệu nhỏ tìm kết tối ưu thỏa mãn yêu cầu toán Với độ lớn liệu tăng dần số lượng lớp học, giáo viên, môn học phòng học số lượng ràng buộc tăng, thời gian tìm kiếm giá trị tối ưu tăng thỏa mãn giá trị ràng buộc giảm Qua lần thực nghiệm kết đạt phù hợp với ý tưởng thuật toán di truyền Qua so sánh liệu với phần mềm thời khóa biểu có trường, nhận thấy chương trình xếp thời khóa biểu luận văn cho kết tốt, tảng thiết kế xây dựng ứng dụng xếp thời khóa biểu giải thuật di truyền R nhằm bỏ qua chức tinh chỉnh liệu tay phần mềm xếp thời khóa biểu có 70 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN KẾT LUẬN Tóm lại luận văn giải có đóng góp sau: Luận văn tìm hiểu tiếp cận ngôn ngữ R, cài đặt sử dụng thư viện genalg, GA Bước đầu đề xuất vận dụng giải thuật di truyền vào toán túi, người du lịch, xếp thời khoá biểu trường trung học sở Xây dựng chương trình demo kết thử nghiệm chứng minh hướng tiếp cận giải thuật di truyền vào toán thời khoá biểu hướng tiếp cận đắn có hiệu Đặc biệt áp dụng thành công liệu eurodist, USCA50 toán người du lịch áp dụng liệu thời khóa biểu thực tế trường THCS Nguyễn Trãi HƯỚNG PHÁT TRIỂN Sau phát triển thành công chương trình ứng dụng, hướng nghiên cứu tìm hiểu ứng dụng giải thuật di truyền cho nhiều dạng toán xếp thời khóa biểu khác như: thời khóa biểu trường trung học phổ thông, cao đẳng, đại học xếp lịch thi Nghiên cứu sâu ngôn ngữ R thư viện GA ngôn ngữ R vận dụng vào lớp toán tối ưu khác Cụ thể toán vận tải, tối ưu hàm nhiều biến Nghiên cứu vận dụng thư viện xây dựng ý tưởng giải thuật di truyền như: rgenoud, gaotim, rgp, GALGO cho số toán tối ưu Thực đánh giá, so sánh kết thư viện 71 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Trần Việt Chương (2005), Thuật toán di truyền ứng dụng giải lớp [2] toán tối ưu Luận Văn Thạc Sĩ, Đại Học Sư Phạm Hà Nội Hoàng Kiếm, Lê Hoàng Thái (2000), Thuật giái di truyền, cách giải tự [3] nhiên toán máy tính, NXB Giáo dục Nguyễn Thị Thiếp (2011), Phân tích xử lý liệu ngôn ngữ R, [4] Khóa luận tốt nghiệp Đại học, Đại học Sư phạm Hà Nội Nguyễn Đình Thúc (2001), Trí tuệ nhân tạo – Lập trình tiến hóa, NXB [5] Giáo dục, Hà Nội Nguyễn Văn Tuấn (2005), Phân tích liệu biểu đồ R, NXB Khoa học Kĩ thuật Tiếng Anh [6] Haupt RL, Haupt SE (2004), Practical Genetic Algorithms, 2nd edition, [7] John Wiley & Sons, New York Vũ Đình Hòa & Đặng Xuân Thọ (2011), Genetic Algorithms And Application In Examination Scheduling, Journal of Sciences of HNUE, pp [8] 40-49 Holland, J H (1975), Adaptation in Natural and Artificial Systems, [9] University of Michigan Press Rousseeuw, P J., van Driessen, K (2006), Computing LTS Regression for [10] Large Data Sets, Data Mining and Knowledge Discovery, 12, pp 29-45 Satman, M.,H (2012), A Genetic Algorithm Based Modification on the LTS Algorithm for Large Data Sets, Communications in Statistics Simulation and Computation, Vol 41, Issue 5, pp 644-652 Website 72 [11] Fernando Tenorio (2013), Genetic Algorithm optimization for real-based and permutation-based problems, http://CRAN.R- [14] project.org/web/packages/gaotim/index.html Introduction Genetic Algorithms (2009, June 27) http://www.obitko.com/tutorials/genetic-algorithms/introduction.php Introduction Genetic Algorithms (2009, June 29) http://www.talkorigins.org/faqs/genalg/genalg.html Luca Scrucca (2013), A Package for Genetic Algorithms in R, Vol 53, [15] Issue http://CRAN.R-project.org/package=genalg Luca Scrucca (2013) GA: A Package for Genetic Algorithms in R.Journal [16] of Statistical Software, 53(4), 1-37 http://www.jstatsoft.org/v53/i04/ Oliver Flasch, Olaf Mersmann (2014), Genetic Programming in RGP, [17] http://rsymbolic.org/projects/show/rgp Philippe Grosjean (2014), Interface and language bindings to Tck/Tk GUI [18] elements, http://cran.r-project.org/web/packages/tcltk2/index.html Sam Hsiung and James matthews (2008, July) – An Introduction to [19] Genetic Algorithms, http://www.generation5.org/content/2000/ga.asp Walter R Mebane (2013), A genetic algorithm plus derivative optimizer, [20] http://CRAN.R-project.org/web/packages/rgenoud/index.html Willighagen E (2005), genalg: R-Based Genetic Algorithm R package [21] [22] [23] [24] version 0.1.1, http://CRAN.R-project.org/package=genalg http://bioinformatica.mty.itesm.mx/galgo2 http://cran.fhcrc.org/ http://ugrad.stat.ubc.ca/R/library/datasets/html/eurodist.html http://www.inside-r.org/packages/cran/TSP/docs?page=2 [12] [13] 73 [...]... tác dụng ngăn ngừa giải thuật di truyền r i vào tình trạng cực trị địa phương, tuy nhiên nếu mà thực hiện đột biến với xác suất quá cao sẽ biến giải thuật di truyền thành giải thuật tìm kiếm ngẫu nhiên 1.6 Tổng kết chương I Trong chương, trình bày các nguồn gốc ra đời và phát triển của thuật giải di truyền, các khái niệm liên quan đến thuật giải di truyền và một số thuật ngữ được sử dụng trong thuật giải. .. viện rgp, GALGO được xây dựng trên ý tưởng lập trình di truyền nó là một trường hợp đặc biệt của giải thuật di truyền 31 Như vậy, trong chương chúng tôi đã tìm hiểu sâu về ngôn ngữ R và các thư viện vận dụng ý tưởng GA xây dựng thuật toán Các thư viện trong R chúng tôi đã nghiên cứu, tìm hiểu phương thức thực hiện, cấu trúc của giải thuật di truyền trên R Trong mỗi thư viện được xây dựng trên R với... gareal_rwSelection, gaperm_rwSelection - Chọn lọc tranh đấu (tournament selection): gabin_tourSelection, gareal_tourSelection, gaperm_tourSelection - Phương pháp lai ghép (crossover): - Lai ghép một điểm (single point crossover): gareal_spCrossover, gabin_spCrossover - Lai ghép đồng dạng (uniform crossover): gareal_uCrossover, gabin_uCrossover - Lai ghép vòng (cycle crossover): gaperm_cxCrossover -... dựng trên ý tưởng giải thuật di truyền để giải các lớp bài toán khác nhau Genalg thư viện sử dụng ý tưởng cơ bản của giải thuật di truyền, trong thư viện được xây dựng 2 phương thức genalg, genalg.bin tương ứng tìm kiếm giá trị tối ưu trên cơ sở giải thuật tiến hóa với phương thức biểu di n nhiễm sắc thể là số thực và chuỗi nhị phân GA thư viện xây dựng hoàn chỉnh trên ý tưởng giải thuật di truyền. .. phần (partially matched crossover): gaperm_pmxCrossover - Lai ghép dựa trên vị trí (position based crossover): gaperm_bpxCrossover - Lai ghép có thứ tự (Order crossover): gaperm_oxCrossover - Phương pháp đột biến (mutation): - Đột biến đảo đoạn (simple inversion mutation): gaperm_simMutation - Đột biến chèn (insertion mutation): gaperm_ismMutation Ngoài các phép toán trên, trong R còn hỗ trợ một số... tưởng trên Trong giới hạn của đề tài chúng tôi tìm hiểu và vận dụng hai thư viện được xây dựng giải thuật di truyền là genalg và GA để vận dụng tiếp cận giải các bài toán cái túi, người du lịch và xếp lịch 2.2.1 Package genalg 2.2.1.1 Tổng quan genalg Package genalg [20] là gói thư viện được xây dựng dựa trên giải thuật di truyền cơ bản, cho phép người dùng giải các bài toán dựa trên giải thuật mà lời giải. .. không hỗ trợ biểu di n chuỗi nhiễm sắc thể nhị phân hay kiểu số nguyên - Thư viện rgp [16], GALGO [21] được xây dựng trên ý tưởng lập trình di truyền nó là một trường hợp đặc biệt của giải thuật di truyền, vì thế nó hạn chế trong việc biểu di n nhiễm sắc thể cho các lớp bài toán lập lịch - Thư viện genalg [20] được xây dựng trên ý tưởng cơ bản của giải thuật di truyền, tương ứng tìm kiếm giá trị tối ưu... thuật di truyền có r t nhiều phương pháp lai ghép được sử dụng khác nhau như: lai ghép một điểm (One Point Crossover), lai ghép đa điểm (Multi Point Crossover), ánh xạ từng phần (Partial Mapped Crossover – PMX), lai ghép có trật tự (Order Crossever – OX), lai 14 ghép dựa trên vị trí (Position Based Crossver – PBX), lai ghép thứ tự tuyến tính (Linear Order Crossever – LOX), … Tuỳ thuộc vào từng bài toán,... biểu di n nhiễm sắc thể khác nhau để tìm giá trị tối ưu như số thực, nhị phân và kiểu vectơ Trong thư viện đã xây dựng một số phương thức và các phép toán cơ bản trong giải thuật di truyền như các phương thức khởi tạo, phép toán di truyền chọn lọc, lai ghép và đột biến Ngoài các thư viện chúng tôi tìm hiểu như trên còn có một số các thư viện như: rgenoud, gaotim vận dụng giải thuật di truyền tìm lời giải. .. thuộc vào biểu di n cá thể : các phép toán di truyền do người sử dụng định nghĩa - Phương pháp chọn lọc (selection): - Chọn lọc tuyến tính (Linear rank selection): gabin_lrSelection, gareal_lrSelection, gaperm_nlrSelection - Chọn lọc không tuyến tính (Nonlinear rank selection): gabin_nlrSelection, gareal_nlrSelection, gaperm_nlrSelection - Chọn lọc bánh xe roulet (roulette wheel): gabin_rwSelection,

Ngày đăng: 11/04/2016, 21:52

Mục lục

  • LỜI CẢM ƠN

  • MỤC LỤC

  • DANH MỤC CÁC HÌNH VẼ

  • DANH MỤC BẢNG

  • MỞ ĐẦU

  • 1. Lý do chọn đề tài:

  • 2. Lịch sử nghiên cứu:

  • 3. Mục đích nghiên cứu:

  • 4. Đối tượng và phạm vi nghiên cứu:

  • 5. Tóm tắt nội dung luận văn:

  • 6. Phương pháp nghiên cứu:

  • CHƯƠNG 1. GIẢI THUẬT DI TRUYỀN

    • 1.1. Lịch sử về giải thuật di truyền

    • 1.2. Thuật ngữ sinh học

      • 1.2.1. Cá thể

      • 1.2.2. Sinh sản

      • 1.3. Cơ bản về giải thuật di truyền

      • 1.4. Các thành phần trong giải thuật di truyền

        • 1.4.1. Biểu diễn nhiễm sắc thể

        • 1.4.2. Phương pháp chọn lọc

        • 1.4.3. Phương pháp lai ghép

        • 1.4.4. Toán tử đột biến

        • 1.5. Các tham số của giải thuật di truyền

          • 1.5.1. Kích thước quần thể

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

Tài liệu liên quan