1. Trang chủ
  2. » Công Nghệ Thông Tin

Thuật toán gen

57 989 4

Đ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

Thuật toán gen

MTA Thuật toán Gen Trần Cao Trưởng Khoa CNTT-Học viện KTQS Nội dung MTA  Thuật toán Gen  Các thành phần thuật toán gen  Các khuyến cáo sử dụng thuật toán gen  Ưu nhược điểm thuật toán gen  Demo chương trình MTA Thuật toán Gen (GAs) • GAs (John Holland) mô tiến hóa tự nhiên • • (Darwinian Evolution) mức gen sử dụng tư tưởng survival of the fittest Một cá (chromosome) mô tả lời giải ứng viên toán Một tập cá thể "alive“, gọi quần thể (population) tiến hóa từ hệ tới hệ khác phụ thuộc vào thích nghi cá thể Hope: Thế hệ sinh chứa lời giải toán Thuật toán Gen MTA   Sinh hệ khởi tạo với quần thể P(0), số i hệ thứ i Lặp quần thể hội tụ or tiêu chuẩn kết thúc đạt  Đánh giá độ thích nghi cá thể P(i)  Lựa chọn cha từ P(i) dựa độ thích nghi chúng P( i)  Áp dụng toán tử Gen (crossover, mutation) từ cha chọn để sinh (offspring)  Đạt hệ P(i + 1) từ cá thể hệ P(i) MTA Cấu trúc GA Procedure GA begin t := ; initialize P(t) ; evaluate P(t) ; while (not termination-condition) begin t := t + ; select P(t) from P(t-1) ; alter P(t) ; evaluate P(t) ; end end Step : Initialization Step : Selection Step : Crossover Step : Mutation Step : Evaluation Step : Termination Test Step : End MTA         Các thành phần GAs Mã hóa (encoding) Khởi tạo quần thể(innitial population generation ) Hàm thích nghi (fitness Function) Lựa chọn cho kết hợp lại (Selection for recombination) Lai ghép (Crossover) Đột biến (Mutation) Chiến lược thay (Replacement Strategy) Tiêu chuẩn kết thúc (Termination Criteria) MTA Bài toán Knapsack 01 Mô tả toán:       Bạn chuẩn bị picnic Và bạn có số vật mà bạn cầm theo Mỗi vật có weight benefit hay value Có túi giới hạn weight bạn cầm theo Mỗi vật chọn tối đa lần Bạn muốn cầm vật mang theo với max benefit MTA Bài toán Knapsack 01 Example:  Đồ vật:  Giá trị:  T.lượng: 10  Khối lượng tối đa mang 22 pounds  Xếp đồ vật để có giá trị lớn Bài toán TSP Problem: Một người bán hàng cần ghé qua tất thành phố, thành phố lần trở lại thành phố ban đầu Có chi phí di chuyển tất thành phố Tìm hành trình có tổng chi phí nhỏ MTA 14 12 10 11 23 MTA         Các thành phần GAs Mã hóa (encoding) Khởi tạo quần thể(innitial population generation ) Hàm thích nghi (fitness Function) Lựa chọn cho kết hợp lại (Selection for recombination) Lai ghép (Crossover) Đột biến (Mutation) Chiến lược thay (Replacement Strategy) Tiêu chuẩn kết thúc (Termination Criteria) 10 Lai ghép mã hóa giá trị MTA  Có thể sử dụng lai ghép kiểu mã hóa nhị phân  Ví dụ: (back), (back), (right), (forward), (left) (right), (back), (left), (back), (forward ) => (back), (back), (left), (back), (forward ) Đột biến mã hóa giá trị MTA  Cộng vào trừ số nhỏ từ giá trị chọn  Ví dụ: (1.29 5.68 2.86 4.11 5.55) => (1.29 5.68 2.73 4.22 5.55) Crossover for Tree Encoding MTA  Tree crossover – Một điểm đột biến chọn hai cha, cha phân chia điểm đột biến phần sau điểm đột biến thay đổi để tạo Đột biến mã hóa dạng MTA Crossover and Mutation Probability MTA  Có hai tham số thuật toán gen - xác suất crossover xác suất mutation  Crossover probability: mức độ thường xuyên crossover thực  Nếu crossover, offspring chép xác từ cha mẹ  Nếu có crossover, offspring tạo từ phần NST cha  Nếu xác suất 100%, tất offspring tạo crossover  Nếu 0%, hệ tạo cách chép nguyên NST hệ cũ  Crossover hy vọng tạo NST chứa phần tốt NST cũ NST tốt Mutation Probability MTA  Mutation probability: Mức độ thường xuyên phần đột biến  Nếu mutation, offspring sinh giống sau crossover (or directly copied)  Nếu mutation thực hiện,một hay nhiều phần NST thay đổi  Nếu xác suất 100%, NST thay đổi, 0%, thay đổi  Mutation sinh để tránh thuật toán gen rơi vào cực trị địa phương  Mutation should not occur very often, because then the genetic algorithm will change to a random search MTA         Các thành phần GAs Mã hóa (encoding) Khởi tạo quần thể(innitial population generation ) Hàm thích nghi (fitness Function) Lựa chọn cho kết hợp lại (Selection for recombination) Lai ghép (Crossover) Đột biến (Mutation) Chiến lược thay (Replacement Strategy) Tiêu chuẩn kết thúc (Termination Criteria) 49 MTA         Các thành phần GAs Mã hóa (encoding) Khởi tạo quần thể(innitial population generation ) Hàm thích nghi (fitness Function) Lựa chọn cho kết hợp lại (Selection for recombination) Lai ghép (Crossover) Đột biến (Mutation) Chiến lược thay (Replacement Strategy) Tiêu chuẩn kết thúc (Termination Criteria) 50 MTA Termination  Thuật toán dừngCriteria quần thể hội tụ, i.e cá thể tốt quần thể giống với kết mong muốn  Kết thúc số hệ sinh đạt đến số sinh trước  Kết thúc thể trở lên giống  Kết thúc cá thể tốt quần thể không thay đổi theo thời gian 51 General Recommendations for Genetic Algorithms MTA  Thử nghiệm thuật toán gen cho toán cụ thể, lý thuyết chung làm hợp tham số thuật toán gen cho toán  Sự giới thiệu thường kết việc học kinh nghiệm thuật toán gen, thường thực mã hóa nhị phân Recommendations for Genetic Algorithms MTA  Crossover rate Tốc độ lai ghép thường cao, khoảng 80%-95% (Mặc dù vài kết cho vài toán, tốc độ lai ghép khoảng 60% tốt nhất.)  Mutation rate Xác suất đột biến thường thấp Tốc độ tốt khoảng 0.5%-1%  Population size  Kích thước quần thể lớn thường không cải tiến tốc độ thuật toán gen (in the sense of speed of finding solution)  Kích thước tốt khoảng 20-30, 20-30, Mặc dù vài trường hợp khoảng 50-100 tốt  Nghiên cứu thấy kích thước quần thể phụ thuộc vào kích thước chuỗi mã hóa (chromosomes)  Nếu có NST 32 bits, kích thước quần thể nên cao 16 Recommendations for Genetic Algorithms MTA  Selection  roulette wheel selection sử dụng, rank selection tốt  There are also some more sophisticated methods that change parameters of selection during the running of a genetic algorithm  Elitism should be used if you not use any other method for saving the best solutions  Encoding Phụ thuộc vào toán  Crossover and mutation type Phụ thuộc vào mã hóa toán Ưu điểm  Ưu điểm khả song song thuật toán MTA  Gas duyệt qua không gian tìm kiếm sử dụng nhiều cá thể (and with genotype rather than phenotype) mắc phải cực trị địa phương thuật toán khác  Dễ thể  Khi có thuật toán gen bản, cần viết NST (just one object) để xử lý toán khác  Với cách mã hóa bạn thay đổi hàm thích nghi  Mặc dù vậy, số trường hợp chọn thể mã hóa gặp khó khăn MTA Nhược điểm  Nhược điểm Gas thới gian tính toán  GAs chậm thuật toán khác  Có thể kết thúc tính toán lúc nào, MTA 57 [...]... thể(innitial population generation ) Hàm thích nghi (fitness Function) Lựa chọn cho sự kết hợp lại (Selection for recombination) Lai ghép (Crossover) Đột biến (Mutation) Chiến lược thay thế (Replacement Strategy) Tiêu chuẩn kết thúc (Termination Criteria) 31 Crossover and Mutation MTA  Crossover and mutation là hai phép toán cơ bản của thuật toán gen  Sự thi hành thuật toán Gen phụ thuộc rất nhiều... về thuật toán Gen sử dụng kiểu mã hóa này và bởi vì nó đơn giản  Trong mã hóa nhị phân, mọi nhiễm sắc thể là chuỗi bits - 0 or 1  Chromosome A 101100101100101011100101 Chromosome B 111111100000110000011111  Mã hóa nhị phân đưa ra nhiều khả năng của nhiễm sắc thể với một số lượng nhỏ các alen  Các mã hóa này thường không tự nhiên cho nhiều bài toán và thỉnh thoảng sai sau khi thự hiện các phép toán. .. Knapsack Chromosome: 1010110 => Items taken: 1, 3 , 5, 6  Generate random population of n chromosomes: a) 0101010 b) 1100100 c) 0100011 MTA Bài toán TSP 1 5 3 2 4 3 2 4 5 1 Population size α 2 3 4 1 5 individual length 5 3 2 1 4 Population 20 MTA         Các thành phần cơ bản của GAs Mã hóa (encoding) Khởi tạo quần thể(innitial population generation ) Hàm thích nghi (fitness Function) Lựa chọn... và NST tốt nhất sẽ có độ thích nghi là N (number of chromosomes in population) MTA Roulette Wheel Selection  Tiến trình trên có thể được mô tả bởi thuật toán sau:  1 [Sum] Calculate the sum (S) of all chromosome fitnesses in population  2 [Select] Generate random number (r) from the interval (0,S)  3 [Loop] Go through the population and start summing the fitnesses from 0 – S (call this C) When... crossover and/or mutation Bài toán Knapsack 01 MTA  Item 1 2 3 4 5 6 7 Chro 1 0 1 0 1 1 0 Exist? y n y n y y n Encoding: 0 = not exist, 1 = exist in the Knapsack Chromosome: 1010110 => Items taken: 1, 3 , 5, 6  Generate random population of n chromosomes: a) 0101010 b) 1100100 c) 0100011 Permutation Encoding MTA  Permutation encoding có thể sử dụng để giải quyết các bài toán có thứ tự như: Người bán... mutation là hai phép toán cơ bản của thuật toán gen  Sự thi hành thuật toán Gen phụ thuộc rất nhiều vào crossover và mutation  Kiểu và sự thể hiện của các toán tử này phụ thuộc vào kiểu mã hóa và cũng phụ thuộc vào bài toán  Có nhiều cách để thực hiện toán tử crossover và mutation Crossover for Binary Encoding MTA  Single point crossover – một điểm crossover được lựa chọn, chuỗi nhị phân từ bắt đầu... Strategy) Tiêu chuẩn kết thúc (Termination Criteria) 21 2 3 4 5 6 7 0 Bài 1 0toán 1 Knapsack 0 1 0 01 5 8 3 2 7 9 4 Fitness7 8 4 10 4 6 4 MTA Item 1 Chro Benefit Weight a) 0101010: Benefit= 19, Weight= 24 b) 1100100: Benefit= 20, Weight= 19 c) 0100011: Benefit= 21, Weight= 18 => We    select Chromosomes b & c MTA Bài toán TSP 1 5 3 2 4 58 3 2 5 1 4 56 2 3 4 1 5 55 4 5 3 2 1 57 f(indiv)=Σ d i (i+1)... thể Ví dụ về mã hóa giá trị MTA  Bài toán: Cho mạng nơ ron A có cấu trúc đã biết Tìm trọng số giữa các neurons trong mạng để nhận được kết quả ra mong muốn  Mã hóa: Giá trị thực trong các chromosome biểu diễn các trọng số trong mạng Mã hóa dạng cây (Tree Encoding – TE ) MTA  TE thường được sử dụng trong các bài tóan hoặc các biểu thức suy luận ví dụ như genetic programming  Trong TE, mỗi chromosome... thành phần cơ bản của GAs Mã hóa (encoding) Khởi tạo quần thể(innitial population generation ) Hàm thích nghi (fitness Function) Lựa chọn cho sự kết hợp lại (Selection for recombination) Lai ghép (Crossover) Đột biến (Mutation) Chiến lược thay thế (Replacement Strategy) Tiêu chuẩn kết thúc (Termination Criteria) 18 Bài toán Knapsack 01 MTA 1 2 3 4 5 6 7 Chro 1 0 1 0 1 1 0 Exist? y n y n y y n Item Start... NST A  NST B 1 5 3 2 6 4 7 9 8 8 5 6 7 2 3 1 4 9  Permutation encoding được sử dụng trong các bài toán có thứ tự Trong một vài trường hợp, việc hiệu chỉnh lai ghép và đột biến phải thực hiện để tạo ra NST phù hợp MTA Path Representation 14 1 5 8 12 chromosome (individual) 10 6 3 4 23 11 2 1 5 3 2 4 gene 14 Value Encoding MTA  VE được sử dụng trong các bài tóan mà việc mã hóa nhị phân là khó thực ...Nội dung MTA  Thuật toán Gen  Các thành phần thuật toán gen  Các khuyến cáo sử dụng thuật toán gen  Ưu nhược điểm thuật toán gen  Demo chương trình MTA Thuật toán Gen (GAs) • GAs (John... hai phép toán thuật toán gen  Sự thi hành thuật toán Gen phụ thuộc nhiều vào crossover mutation  Kiểu thể toán tử phụ thuộc vào kiểu mã hóa phụ thuộc vào toán  Có nhiều cách để thực toán tử... tiến hóa từ hệ tới hệ khác phụ thuộc vào thích nghi cá thể Hope: Thế hệ sinh chứa lời giải toán Thuật toán Gen MTA   Sinh hệ khởi tạo với quần thể P(0), số i hệ thứ i Lặp quần thể hội tụ or tiêu

Ngày đăng: 09/11/2015, 01:20

Xem thêm: Thuật toán gen

TỪ KHÓA LIÊN QUAN

w