Báo cáo đồ án trí tuệ nhân tạo: Xây dựng giải thuật gene cho bài toán cái ba lô

12 1.5K 7
Báo cáo đồ án trí tuệ nhân tạo: Xây dựng giải thuật gene  cho bài toán cái ba lô

Đ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

I. Khái quát Chúng ta giả sử gene bước đầu tiếp cận cho giải thuật gene. Nó mạnh hơn nếu được so sánh với cách tiếp cận truyền thống trong giải thuật gene. Sự tiếp cận được ứng dụng cho bài toán 0/1 kapsack .Giải thuật này tìm ra được kết quả cận tối ưu trong tất cả kết quả đặc biệt được biểu diễn trong tài liệu này, trong khi các cách tiếp cận truyền thống thất bại phần lớn các ví dụ bởi những đặc điểm lợi thế riêng biệt của các cá thể trong quần thể. Trong sự kết hợp giữa toán tử tìm kiếm đột biến , phương pháp này cung cấp một kết quả tốt hơn cho tất cả các vấn đề của các thực thể đã được nghiên cứu. 1. Giới thiệu Genetic Algorithms (GAs) Giải thuật Gene (GAs) cơ bản dựa trên thuyết chọn lọc tự nhiên của Darwin. Bắt đầu sinh ngẫu nhiên một quần thể từ các cá thể, cho thấy một giải pháp tiềm năng cho vấn đề sau nghie cứu. Những cá thể này được lựa chọn theo các giá trị phù hợp nhất thể tạo ra một thế hệ kế tiếp. Toán tử gene, chủ yếu là lai ghép và đột biến, biến đổi các cá thể và làm chúng trở thành một phần của quần thể của thế hệ sau. Các cá thể trong thế hệ có bình quân thích nghi cao hơn so với thế hệ trước. Hai hai thành phần gene, lai ghép và đột biến, là nền tảng cho giải thuật gene. Đột biến thay thế một hoặc nhiều các gene ở mỗi cá thể. Nó giữ vai trò duy trì sự đa dạng quần thể. Về lý thuyết, giải thuật gene được tin để xử lý những mẫu động dạng được gọi là các lược đồ. Mỗi lược đồ định lý [3], còn được gọi là đinh lý cơ sở của giả thuật gene ,’ lược đồ ngắn, lược đồ yêu cầu thấp,lược đồ trên mức trung bình nhận những giá trị thử tăng theo hàm mũ trong những quần thể sau đó. Như một lược đồ triển vọng được đặt tên là khối xây dựng . Giải thuật gene xử lý một số lượng lớn các lược đồ cùng lúc, cuối cùng hội tụ về giải pháp tốt nhất cho vấn đề. Trên thực tế, lược đồ và khối xây dựng này là một liên kết của gene.Giả thiết một cách tiếp cận gene đệ quy là giới thiệu từng gene một tới quần thể. Các gene này liên kết thông qua hoạt động của thực thể gene để cấu thành các cá thể. Quá trình này tương tự như những hiện tượng tự nhiên của sự tiến hóa từ những cá thể đơn bào tới dạng sống phức tạp hiện nay.

1 HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO MÔN HỌC TRÍ TUỆ NHÂN TẠO Giáo viên hướng dẫn: Ngô Hữu Phúc HÀ NỘI 3/2010 Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu Phúc 2 Lời nói đầu Em chân thành cảm ơn thầy giáo Ngô Hữu Phúc đã giảng dạy và hướng dẫn môn học. Do hạn chế về trình độ, nên bài tập còn nhiều thiếu sót, em mong thầy góp ý và chỉ bảo thêm. Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu Phúc 3 Mục lục I. Khái quát Chúng ta giả sử gene bước đầu tiếp cận cho giải thuật gene. Nó mạnh hơn nếu được so sánh với cách tiếp cận truyền thống trong giải thuật gene. Sự tiếp cận được ứng dụng cho bài toán 0/1 kapsack .Giải thuật này tìm ra được kết quả cận tối ưu trong tất cả kết quả đặc biệt được biểu diễn trong tài liệu này, trong khi các cách tiếp cận truyền thống thất bại phần lớn các ví dụ bởi những đặc điểm lợi thế riêng biệt của các cá thể trong quần thể. Trong sự kết hợp giữa toán tử tìm kiếm đột biến , phương pháp này cung cấp một kết quả tốt hơn cho tất cả các vấn đề của các thực thể đã được nghiên cứu. 1. Giới thiệu Genetic Algorithms (GAs) Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu Phúc 4 Giải thuật Gene (GAs) cơ bản dựa trên thuyết chọn lọc tự nhiên của Darwin. Bắt đầu sinh ngẫu nhiên một quần thể từ các cá thể, cho thấy một giải pháp tiềm năng cho vấn đề sau nghie cứu. Những cá thể này được lựa chọn theo các giá trị phù hợp nhất thể tạo ra một thế hệ kế tiếp. Toán tử gene, chủ yếu là lai ghép và đột biến, biến đổi các cá thể và làm chúng trở thành một phần của quần thể của thế hệ sau. Các cá thể trong thế hệ có bình quân thích nghi cao hơn so với thế hệ trước. Hai hai thành phần gene, lai ghép và đột biến, là nền tảng cho giải thuật gene. Đột biến thay thế một hoặc nhiều các gene ở mỗi cá thể. Nó giữ vai trò duy trì sự đa dạng quần thể. Về lý thuyết, giải thuật gene được tin để xử lý những mẫu động dạng được gọi là các lược đồ. Mỗi lược đồ định lý [3], còn được gọi là đinh lý cơ sở của giả thuật gene ,’ lược đồ ngắn, lược đồ yêu cầu thấp,lược đồ trên mức trung bình nhận những giá trị thử tăng theo hàm mũ trong những quần thể sau đó. Như một lược đồ triển vọng được đặt tên là khối xây dựng . Giải thuật gene xử lý một số lượng lớn các lược đồ cùng lúc, cuối cùng hội tụ về giải pháp tốt nhất cho vấn đề. Trên thực tế, lược đồ và khối xây dựng này là một liên kết của gene.Giả thiết một cách tiếp cận gene đệ quy là giới thiệu từng gene một tới quần thể. Các gene này liên kết thông qua hoạt động của thực thể gene để cấu thành các cá thể. Quá trình này tương tự như những hiện tượng tự nhiên của sự tiến hóa từ những cá thể đơn bào tới dạng sống phức tạp hiện nay. 2. Baì toán 0/1 knapsack : Một người ăn xin, gặp may được cho một số lượng lớn đồ vật với giá trị và khối lượng khác nhau. Người ăn xin này chỉ có một cái ba ( knapsack) mang được một khối lượng giới hạn, và anh ta muốn sao cho lấy được đầy ba với giá trị lớn nhất có thể. Xong mỗi đồ vật chỉ được lấy một lần. Bài tập này sẽ xây dựng giải thuật sao cho anh ta có sự lựa chọn tối ưu nhất. • Áp dụng GAs đệ quy để tiếp cận với cách giải quyết 0/1 knapsack Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu Phúc 5 Vấn đề bài toán 0/1 knapsack được xác định như sau Đưa ra vector giá trị : P i Vector khối nượng : w i Giá trị cực đại : ∑ n i=1 p i x i Số vật thể phải thỏa mãn điều kiện : ∑ n i=1 w i x i ≤ C x i nhận giá trị 0 hoặc 1 ,( i= 1,… ,n) n là số các phần tử 0 : đồ vật ( nhiễm sắc thể ) không được chọn . 1 : đồ vật ( nhiễm sắc thể ) được chọn . Số thứ tự đồ vật được tính từ trái sang phải . Mã hóa gene cho bài toan 0/1 knapsack có thể làm trực tiếp từ các bit để kết luận biến quyết định (gene quyết định) có thể là một giải pháp cho vấn đề hay không. II. Algorithms 1. Mã hóa (encoding ) : x i nhận giá trị 0 hoặc 1 ,( i= 1,… ,n) n là số các phần tử 0 : đồ vật ( nhiễm sắc thể ) không được chọn . 1 : đồ vật ( nhiễm sắc thể ) được chọn . Số thứ tự đồ vật được tính từ trái sang phải . Dùng biến là một mảng 2 chiều : knapsack [i,j] , để biểu diễn quần thể trong chiếc ba lô. Trong đó : + i : biểu diễn cho yếu tố giá trị. + j : biểu diễn cho yếu tố khối lượng. 2. Khởi tạo quần thể ( initial population generation ) : Thuật toán bắt đầu bằng cách từ những nhiễm sắc thể, hình thành một số lượng lớn các cá thể .sinh một quần thể ngẫu nhiên từ những cá thể trên. Trong thử nghiệm này ta truyền vào 7 nhiễm sắc thể là mảng 2 chiều : public int[,] knapsack = new int[9, 2] { { 5, 7 }, { 8, 8 }, { 3, 4 }, { 2, 10 }, { 7, 4 }, { 9, 6 }, { 4,4},{10,7},{6,3} }; Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu Phúc 6 Quần thể ban đầu được khởi tạo gồm 50 cá thể, bằng cách khai báo phần tử mảng là 50 3. Hàm thích nghi (fitness function ) : *Hàm thích nghi xây dựng dựa trên phép toán tính tổng giá trị và khối lượng để xác đình cá thể tốt. *Ngưỡng để so sánh thử nghiệm là : - Giá trị của cá thể : ∑ n i=1 p i x i ≥ 22 -Khối lượng cá thể : ∑ n i=1 w i x i ≤ 20 4. Sự lựa chọn cho sự kết hợp lại (selection for recombination) Có rất nhiều thuật toán để lựa chọn cá thể để tham gia vào quá trình lai ghép ( crossover ) và đột biến (mutation). Ví dụ như :Roulette wheel selection, rank selection , Elitism, Steady-state, v.v.v. Bài tập này đi sâu vào thuật toán lựa chọn : Steady-state. Thuật toán được mô tả như sau Steady-state selection Với giải thuật gene steady-state,mỗi lần một thành viên của quần thể bị thay đổi. Lựa chọn một cá thể của quần thể phải dựa trên hàm thích nghi ( fitness).Nó được sao chép và những bản sao biến thể. Thành viên thứ hai của quần thể được lựa chọn là cá thể bị thay thế bởi chuỗi đột biến. Trong quá trình lai ghép hai cá thể với nhau một cá thể thể con được sinh ra và nó thay thể một phần tử của quần thể. Bất chứ phương pháp lựa chọn nào cũng có thể được dùng để lựa chọn cá thể cho sự đột biến hoặc làm phần tử cha-mẹ( parents) . Có nhiều chiến thuật thay thế khác nhau như : • Thay thế cá thể tồi nhất . cách này thường đưa đến sự hội tụ quá nhanh. • Thay thế một cách chọn ngẫu nhiên thành viên. • Lựa chọn điểm thay thế dùng hàm thích nghi âm tính. ( negative fitness ) . Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu Phúc 7 Quá trình lựa chọn được thực hiện dựa trên hàm thích nghi (fitness). Cá thể nào được đánh giá là có độ thích nghi cao thì sẽ được lựa chọn tham gia vào quá trình lai ghép đột biến để tạo ra quần thể mới. Trong khi đó, những cá thể có độ thích nghi thấp sẽ bị bỏ qua. Cả thể có độ thích nghị cao nhất có thể được lựa chọn nhiều lần Tuy nhiên số lượng cá thể được lựa chọn để thực thi phải tương ứng với độ lớn của quần thể ban đầu , vì thế phải đảm bảo được số lượng cá thể ở mỗi thế hệ. Giai đoạn sự tham gia của sự lựa chọn ngẫu nhiên tương tự như quá trình chọn lọc tự nhiên. 5. Lai ghép ( crossover ) Lai ghép là quá trình kết hợp các bit của cá thể này với các bit của cá thể khác . Đây là tiến trình tạo cá thể mới cho thế kế cận, cá thể này kế thừa những đặc tính của các cá thể bố mẹ.Tiến trình lai ghép lựa chọn ngẫu nhiên định vị và sự thay đổi chuỗi con trước và sau nó. Từ điểm lai ghép này tạo ra 2 cá thể mới. Lai ghép có thể có rất nhiều cách. Cụ thể trong có 3 cách được áp dụng để giải quyết bài toán : i. Lai ghép một điểm Xem xét ví dụ sau parent 1 1 0 0 | 0 1 1 1 Parent 2 1 1 1 1| 0 0 0 Offspring1 1 0 0 1 0 0 0 Offspring2 11 1 1 1 1 1 Trong ví trên điểm lai ghép là ở vị trí thứ 3 ( tính từ trái sang ) của 2 cá thể cha mẹ. Cá thể con thứ kế thừa nhiễm sắc thể ở vị trí 1 ,2 và 3 từ cá thể parent1 , và các nhiễm sắc thể ở vì trí 4, 5, 6 và 7 của cá thể parent2. Đối với cá thể con thứ 2 nhận các nhiễm sắc thể 1, 2, 3 từ cá thể parent2 còn các nhiễm sắc thể 4, 5, 6, và 7 thì kế thừa ở cả thể parent1. ii. Lai ghép 2 điểm Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu Phúc 8 parent 1 1 0 0 | 0 1 | 1 1 Parent 2 1 1 1 | 1 0 | 0 0 Offspring1 1 0 0 1 0 0 0 Offspring2 111 0 1 1 1 Trong ví trên điểm lai ghép là ở vị trí thứ 3 và thứ 5 ( tính từ trái sang ) của 2 cá thể cha mẹ. + Cá thể con thứ kế thừa nhiễm sắc thể ở vị trí 1 ,2, 3 và 6,7 từ cá thể parent1 , còn các nhiễm sắc thể ở vị trí 4, 5 của cá thể parent2. +Đối với cá thể con thứ 2 nhận các nhiễm sắc thể 1, 2, 3 và 6,7 từ cá thể parent2 còn các nhiễm sắc thể 4, 5, thì kế thừa ở cả thể parent1. iii. Tính toán ngẫu nhiên điểm lai ghép + Trong tài liệu này dùng thuật toán random để chọn ra 1 điểm lai ghép giữa hai cá thể cha mẹ sinh ra cá thể con. 6. Đột biến ( Mutation) Đột biến được thực thi sau tiến trình lai ghép ( crossover) để đảm bảo không bị dừng lại ở giá trị cực trị địa phương ( a local optimum) trong quá trình giải quết bài toán.Tiến trình đột biến diễn ra nhằm thay đổi cá thể con mới bằng cách đổi các bít 0 và 1 với hoặc ngược lại. Đột biến có thể diễn ra với từng bit trong chuỗi với một vài khả năng, thường là rất nhỏ ( ví dụ : 0.001 ) . Để làm rõ vấn đề, chúng ta xét ví dụ sau Cá thể chưa bị đột biến : 1 0 0 0 1 1 1 Cá thể sau đột biến : 1 1 0 0 1 1 1 Nhiễm sắc thể 0 ở vị trí thứ 2 bị thay thế bởi nhiễm sắc 1 . Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu Phúc 9 7. Tiêu chuẩn kết thúc. Thuật toán Gene sẽ dừng lại khi thỏa mãn một trong các yếu tố sau: - Quần thể hội tụ, hay nói cách khác là khi tìm ra được cá thể tốt nhất trong quần thể giống với kết quả mong muôn. - Kết thúc khi số thế hệ sinh ra đạt đến số sinh ra trước. - Kết thúc khi cá thể tốt nhất trong quần thể không thay đổi theo thời gian. - Kết thúc khi các cá thể trở nên giống nhau. III. Nhận xét a) Thuật toán GAs • Thuật toán Genethuật toán không thể khái quát, mà phải áp dụng cho từng bài toán cụ thể, vì không có lý thuyết chung có thể hợp các tham số của thuật toán gene với bất cứ bài toán nào. • Sự giới thiệu thường là kết quả việc học kinh nghiệm của thuật toán gen, cái thường thực hiện chỉ trên mã hóa nhị phân.  Ưu điểm • Chính là khả năng song song của thuật toán . • GAs duyệt qua không gian tìm kiếm sử dụng nhiều cá thể (and with genotype rather than phenotype) và ít mắc phải cực trị địa phương như các thuật toán khác • Dễ thể hiện . • Khi đã có thuật toán gen cơ bản, chỉ cần viết một NST mới (just one object) để xử lý bài toán khác. • Với cùng cách mã hóa bạn có thể thay đổi hàm thích nghi . • Mặc dù vậy, trong một số trường hợp chọn và thể hiện mã hóa sẽ gặp khó khăn.  Nhược điểm • Nhược điểm chính của Gas là thới gian tính toán • GAs có thể chậm hơn các thuật toán khác • Có thể kết thúc tính toán bất cứ lúc nào b) Nhận xét về hàm lựa chọn steady-state : Trong quá trình lựa chọn, thuật toán chỉ lựa chọn những cá thể có độ thích nghi cao để tạo ra quần thể mới. Xong trên thực tế đây không phải là sự lựa chọn đúng đắn, bởi trong nhiều trường hợp sự lai ghép 1 cá thể Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu Phúc 10 tồi với 1 cá thể có đặc tính gene cao lại tạo nên một cá thể con có độ thích nghi cao hơn cả .Và cũng không loại trừ trương hợp : sự kết hợp của 2 gene tốt là cho ra một cá thể chứa toàn bộ nhiễm sắc thể lặn và hình thành nên cá thể có độ thích nghi thấp. IV. Flowchart của chương trình chính : Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu Phúc [...]...11 Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu Phúc 12 Tài liệu tham khảo : Tiến sĩ Ngô Hữu Phúc ,Bài giảng AI, chương 4.1 Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu Phúc . 1 HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO MÔN HỌC TRÍ TUỆ NHÂN TẠO Giáo viên hướng dẫn: Ngô Hữu Phúc HÀ NỘI 3/2010 Nguyễn Thị Ánh Hồng - Tin học 5A Giáo viên hướng dẫn: Ngô Hữu. mẫu động dạng được gọi là các lược đồ. Mỗi lược đồ định lý [3], còn được gọi là đinh lý cơ sở của giả thuật gene ,’ lược đồ ngắn, lược đồ yêu cầu thấp,lược đồ trên mức trung bình nhận những. a) Thuật toán GAs • Thuật toán Gene là thuật toán không thể khái quát, mà phải áp dụng cho từng bài toán cụ thể, vì không có lý thuyết chung có thể hợp các tham số của thuật toán gene với

Ngày đăng: 25/03/2014, 22:26

Từ khóa liên quan

Mục lục

  • Lời nói đầu

  • Tài liệu tham khảo :

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

Tài liệu liên quan