1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bao cao cuoi ky giai thuat di truyen

19 9 0

Đ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

Giải thuật di truyền (GAGenetic Algorithm) là kỹ thuật phỏng theo quá trình thích nghi tiến hóa của các quần thể sinh học dựa trên học thuyết Darwin. GA là phương pháp tìm kiếm tối ưu ngẫu nhiên bằng cách mô phỏng thểo sự tiến hóa của con người hay của sinh vật. Tư tưởng của thuật toán di truyền là mô phỏng các hiện tượng tự nhiên, là kế thừa và đấu tranh sinh tồn.

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT o0o HỌC PHẦN HỌC MÁY NÂNG CAO BÁO CÁO CUỐI KỲ ĐỀ TÀI: GIẢI THUẬT DI TRUYỀN GENETIC ALGORITHM (GA) GVHD: PGS.TS Quản Thành Thơ Thành viên nhóm thực hiện:  Phạm Hồng Phương 1918480104006  Nguyễn Quốc Việt 1918480104008  Ôn Thiện Tài 1918480104007  Nguyễn Xuân Bình 1918480104001 Lớp: CH19HT01 Bình Dương, tháng năm 2020 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao BÁO CÁO CUỐI KỲ MÔN MÁY HỌC NÂNG CAO ĐỀ TÀI: GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) GVHD: PGS.TS Quản Thành Thơ Thành viên nhóm thực hiện:  Phạm Hồng Phương 1918480104006  Nguyễn Quốc Việt 1918480104008  Ôn Thiện Tài 1918480104007  Nguyễn Xuân Bình 1918480104001 GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 2/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao MỤC LỤC I KHÁI NIỆM Di truyền Thuyết tiến hóa Darwin II GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Khái niệm Các bước giải thuật di truyền 2.1 Khởi tạo quần thể ban đầu 2.2 Hàm mục tiêu (Fitness) 2.3 Các toán tử di truyền 2.3.1 Toán tử chọn lọc 2.3.2 Phép tái sinh 2.3.3 Phép chọn 2.3.4 Toán tử ghép chéo (phép lai) 2.3.5 Toán tử đột biến .8 2.4 Điều kiện dừng 2.5 Đặc điểm hội tụ Giải thuật di truyền ỨNG DỤNG GIẢI THUẬT DI TRUYỀN ĐỂ GIẢI BÀI TOÁN ONE – MAX .9 3.1 Population initialization (Khởi tạo quần thể) .9 3.2 Evaluation (Đánh giá độ thích nghi) 10 3.3 Selection (Chọn lọc) 11 3.4 Crossover (Lai ghép) 13 3.5 Mutation (Đột biến) 13 3.6 Đoạn code cho toán One-Max 13 BÀI TOÁN NGƯỜI DU LỊCH (TSP) .18 Gợi ý 18 TÀI LIỆU THAM KHẢO 18 GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 3/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT I Môn học: Học Máy Nâng Cao Khái niệm Di truyền "Di truyền" "hiện tượng chuyển tính trạng cha mẹ cho thơng qua gen bố mẹ" Trong sinh học, di truyền chuyển đặc trưng sinh học từ sinh vật cha mẹ đến đồng nghĩa với di chuyển gen, gen thừa nhận mang thông tin sinh học hay thông tin di truyền (Wikipedia) Thuyết tiến hóa Darwin Vào kỉ 19, học thuyết tiến hóa đưa Charles Darwin làm chấn động tồn giới Trong học thuyết này, ơng khẳng định lồi sinh vật sinh khơng phải Chúa, Trời hay Thần thánh mà xuất phát triển nhờ trình chọn lọc tự nhiên Trong trình này, cá thể quần thể chết đi, chúng thay hậu duệ hệ cha mẹ thích nghi tốt độ tồn sinh sôi môi trường mà chọn lọc tự nhiên diễn Quá trình tạo bảo tồn đặc điểm cho phù hợp cho chức mà chúng đảm nhiệm Chúng ta hiểu trình chọn lọc tự nhiên giải thích mà Darwin đưa xuất hươu cao cổ: “Trong quần thể Hươu vốn tồn Hươu có cổ cao bình thường nhờ gen di truyền đột biến Trải qua q trình sinh sống phát triển, mơi trường thay đổi khiến cho thức ăn ngày khó kiếm hơn, khiến Hươu có cổ cao chiếm ưu sinh tồn Lâu dần hệ Hươu thay Hươu cao cổ có khả sinh sản thích nghi nghi với môi trường lớn hơn” II Giải thuật di truyền - Genetic Algorithm (GA) Khái niệm Giải thuật di truyền (GA-Genetic Algorithm) kỹ thuật theo q trình thích nghi tiến hóa quần thể sinh học dựa học thuyết Darwin GA phương pháp tìm kiếm tối ưu ngẫu nhiên cách mơ thểo tiến hóa người hay sinh vật Tư tưởng thuật toán di truyền mô tượng tự nhiên, kế thừa đấu tranh sinh tồn GA thuộc lớp giải thuật xuất sắc lại khác giải thuật ngẫu nhiên chúng kết hợp phần tử tìm kiếm trực tiếp ngẫu nhiên Khác biệt quan trọng tìm kiếm GA phương pháp tìm kiếm khác GA trì xử lý tập lời giải, gọi quần thể (population) Trong GA, việc tìm kiếm giả thuyết thích hợp bắt đầu với quần thể, hay tập hợp có chọn lọc ban đầu giả thuyết Các cá thể quần thể khởi nguồn cho quần thể hệ hoạt động lai ghép đột biến ngẫu nhiên – lấy mẫu sau q trình tiến hóa sinh học Ở bước, giả thuyết quần thể ước lượng liên hệ với đại lượng thích nghi, với giả thuyết phù hợp chọn thểo xác suất hạt GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 4/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao giống cho việc sản sinh hệ kế tiếp, gọi cá thể (individual) Cá thể phát triển hơn, thích ứng với môi trường tồn ngược lại bị đào thải GA dị tìm hệ có độ thích nghi tốt GA giải tốn quy hoạch tốn học thơng qua trình bản: lai tạo (crossover), đột biến (mutation) chọn lọc (selection) cho cá thể quần thể Dứng GA đòi hỏi phải xác định được: khởi tạo quần thể ban đầu, hàm đánh giá lời giải thểo mức độ thích nghi – hàm mục tiêu, toán tử di truyền tạo hàm sinh sản GA dứng thuật ngữ cá thể độ thể cho lời giải không gian lời giải Mỗi cá thể đăc trưng tập gen Các gen gộp thành chuỗi gọi nhiễm sắc thể Trong giải thuật di truyền, thông thường nhiễm sắc thể biển diễn dạng chuỗi số nhị phân Các bước giải thuật di truyền Bước 1: Khởi tạo quần thể ban đầu gồm cá thể Bước 2: Đánh giá độ thích nghi cho cá thể tương ứng Bước 3: Tạo cá thể dựa toán tử di truyền (Chọn lọc, lai ghép, đột biến) Bước 4: Loại bớt cá thể có độ thích nghi thấp GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 5/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao Bước 5: Xác định đọ thích nghi cho cá thể đưa vào quần thể Bước 6: Kiểm tra thỏa mãn điều kiện dừng, Nếu điều kiện đúng, lấy cá thể tốt nhất, giải thuật dừng lại; ngược lại, quay bước Hình lưu đồ giải thuật 2.1 Khởi tạo quần thể ban đầu Có phương pháp độ khởi tạo quần thể giải thuật di truyền Khởi tạo quần thể ngẫu nhiên: Khởi tạo quần thể với cá thể ngẫu nhiên GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 6/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao Khởi tạo Heutistic: Khởi tạo quần thể với phương pháp Heuristic biết trước Thểo nghiên cứu, khởi tạo toàn quần thể phương pháp Heuristic, quần thể có nhiều cá thể tương tự quần thể bị thiếu đa dạng ảnh hưởng đến độ fitness ban đầu Các cá thể ngẫu nhiên đưa lí giải tốn đến tối ưu Do cách tốt khởi tạo khởi tạo heuristic cho vài cá thể, cá thể lại khởi tạo thểo phương pháp ngẫu nhiên 2.2 Hàm mục tiêu (Fitness) Một hàm mục tiêu (fitness) lấy chuỗi nhiễm sắc thể đầu vào trả giá trị tượng trưng cho chuỗi nhiễm sắc thể độ đánh giá vấn đề cần giải Hàm mục tiêu có vai trị tương tự mơi trường sồng tiến hố tự nhiên Vấn đề tương tác giúa cá thể với môi trường sồng thể qua giá trị hàm mục tiêu cá thể Giá trị hàm mục tiêu Maximum Minimum tuỳ thểo toán định xác suất chuỗi tham gia vào tốn tử di truyền 2.3 Các toán tử di truyền 2.3.1 Toán tử chọn lọc Tốn tử chọn lọc gồm hai q trình: q trình sinh sản (phép tái sinh), trình chọn lọc (phép chọn) 2.3.2 Phép tái sinh Phép tái sinh trình cá thể chép sở độ thích nghi Độ thích nghi hàm gán giá trị thực, tương ứng với cá thể quần thể Q trình này, mơ tả sau: Xác đành độ thích nghi cá thể quần thể hệ thứ t cộng dồn giá trị thích nghi (theo thứ gán cho cá thể) Giả sử, quần thể có n cá thể Gọi độ thích nghi cá thể i tương ứng fi tổng cộng dồn thứ i fti xác đành bởi: Gọi Fn tổng độ thích nghi toàn quần thể Chọn số ngẫu nhiên f khoảng từ tới Fn Chọn cá thể thứ k thỏa mãn f > ftk đưa vào quần thể 2.3.3 Phép chọn Là trình loại bỏ cá thể thích nghi quần thể Q trình mơ tả sau: GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 7/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao Sắp xếp quần thể thểo thứ tự mức độ thích nghi giảm dần Loại bỏ cá thể cụối dãy Giữ lại n cá thể tốt 2.3.4 Tốn tử ghép chéo (phép lai) Q trình diễn cách ghép hay nhiều đoạn gen từ hai nhiễm sắc thể cha - mẹ để hình thành nhiễm sắc thể mang đặc tính cha lẫn mẹ Phép lai mơ tả sau: Chọn ngẫu nhiên hai hay nhiều cá thể quần thể Giả sử chuỗi nhiễm sắc thể cha mẹ có chiều dài m Tìm điểm lai cách tạo ngẫu nhiên số từ đến m Như vậy, điểm lai chia hai chuỗi nhiễm sắc thể cha mẹ thành hai nhóm nhiễm sắc thể m1 m2 Hai chuỗi nhiễm sắc thể lúc m11 + m22 m21 + m12 Đưa hai chuỗi nhiễm sắc thể vào quần thể để tiếp tục tham gia q trình tiến hóa 2.3.5 Tốn tử đột biến Q trình tiến hóa gọi q trình đột biến tính trạng không thừa hưởng từ hai chuỗi nhiễm sắc thể cha - mẹ Phép đột biến xảy với xác suất thấp nhiều lần so với xác suất xảy phép lai Phép đột biến mơ tả sau:  Chọn ngẫu nhiên cá thể quần thể  Tạo số ngẫu nhiên k khoảng từ tới m, k m  Thay đổi giá trị gen thứ k Đưa cá thể vào quần thể để tham gia trình tiến hố hệ tiếp thểo 2.4 Điều kiện dừng Quá trình tạo quần thể Giải thuật di truyền lặp lại thỏa điều kiện dừng Các điều kiện dừng thường thấy là:  Một cá thể tìm thấy thỏa mãn điều kiện đề  Một số lượng hệ tạo cố định  Thời gian tính tốn đạt mức  Sự hội tụ quần thể  Sự kết hợp điều kiện dừng 2.5 Đặc điểm hội tụ Giải thuật di truyền Khi áp dụng Giải thuật GAs cho vấn đề thực tế thường khó khăn Lý do: GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 8/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao  Cách biểu diễn nhiễm sắc thể tạo khơng tìm kiếm khác với khơng gian thực toán  Số bước lặp, cài đặt thường khơng xác định trước  Kích thước quần thể thường có giới hạn Trong số trường hợp, Giải thuật di truyền khơng thể tìm lời Giải tối ưu Lý do, Giải thuật di truyền hội tụ sớm lời Giải tối ưu cục Hội tụ sớm vấn đề Giải thuật di truyền Giải thuật tối ưu khác Nếu hội tụ xảy q nhanh thơng tin đáng tin cậy phát triển quần thể thường bị bỏ qua Nguyên nhân hội tụ sớm liên quan tới hai vấn đề:  Quy mô loại sai số chế khởi tạo quần thể  Bản chất hàm mục tiêu Ứng dụng giải thuật di truyền để giải toán One – max Bài tốn One-max tốn đơn giản tính toán tiến hoá Với toán này, cần tiến hoá cá thể quần thể để tìm cá thể cụ thể với độ thích nghi cao Cụ thể là, thể biễu diễn chuỗi số nhi phân, việc cần tiến hoá chuỗi nhị phân thành chuỗi nhị phân lớn Ví dụ như: cho tập chuỗi ban đầu với độ dài n = 6, mục tiêu cần làm tiến hoá chuỗi để trở thành 111111 3.1 Population initialization (Khởi tạo quần thể) Ở bước này, dựa vào thông tin số cá thể m số gen cá thể n, quần thể gồm m cá thể khởi tạo với giá trị ngẫu nhiên Hình sau minh họa giá trị khởi tạo quần thể với m = 10 n = GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 9/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT 3.2 Môn học: Học Máy Nâng Cao Evaluation (Đánh giá độ thích nghi) Ở bước này, GA sử dụng hàm cung cấp sẵn để tính fitness cho cá thể Với one-max, hàm cung cấp sẵn hàm secret(), nhận input cá thể output giá trị fitness cá thể GA nội dung bên hàm secret() mà biết chuẩn input giá trị output Minh họa bước tính fitness cho quần thể hình sau GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 10/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT 3.3 Môn học: Học Máy Nâng Cao Selection (Chọn lọc) Dựa vào giá trị fitness cá thể, bước selection chọn tập hợp cá thể có fitness tốt Nguyên tắc chọn cá thể có fitness cao khả cá thể chọn nhiều lần Có nhiều phương pháp selection GA, áp dụng phương pháp binary selection Binary selection hoạt động sau: lấy ngẫu nhiên hai cá thể quần thể, cá thể có fitness tốt chọn Nói cách khác, giả sử cá thể quần thể đánh giá trị index (từ đến cho 10 cá thể) Để chọn cá thể tốt, sinh hai số ngẫu nhiên i1 i2 nằm đoạn [0, 9] Sau đó, lấy hai cá thể vị trí index i1 i2, cá thể có fitness cao chọn Binary selection cài với hai bước: 1) xếp cá thể theo thứ tự tăng dần với tiêu chí fitness; 2) Sinh hai số ngẫu nhiên i1, i2∈[0, m−1], chọn cá thể có giá trị index lớn Hình sau minh họa binary selection GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 11/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao Ví dụ minh họa muốn chọn hai cá thể tự quần thể Ban đầu, quần thể xếp theo tứ tự tăng đần fitness Sau đó, hai cặp số ngẫu nhiên sinh Cặp số (9, 4), nghĩa hai cá thể vị trí index 4, chọn cá thể tốt Do quần thể xếp, vị trí index lớn chọn Cuối cùng, cá thể có index chọn Tương tự cho cặp số ngẫu nhiên thứ (5, 2), cá thể vị trí index chọn Trong trường hợp muốn lựa chọn cá thể tốt từ quần thể để tạo quần thể mới, m cặp số ngẫu nhiên sinh nhằm chọn m cá thể cho quần thể Hình sau họa trình tạo quần thể Chúng ta thấy quần thể mới, cá thể tốt quần thể cũ giữ lại cá thể có fitness nhỏ loại bỏ Điều có ý nghĩa qua GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 12/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao q trình tiến hóa, mong muốn cá thể tốt với nhiều gen tốt giữ lại lan tỏa quần thể 3.4 Crossover (Lai ghép) Crossover nhắm lai ghép hai cá Cụ thể, hai cá thể trao đổi gen với Trong này, dùng binary crossover để thực việc lai tạo hai cá thể Binary crossover hoạt động sau: cho trước xác suất thực crossover cho gen Rcr=0.9, sinh boolean vector vcr có độ dài n, phần tử chứa giá trị True False Giá trị True cho vị trí index nghĩa thực việc trao đổi gen vị trí hai cá thể Ví dụ cho Rcr=0.9 nghĩa việc trao đổi gen cho vị trí hai cá thể 90% khả Hình sau minh họa việc trao đổi gen cho trước vector vcr 3.5 Mutation (Đột biến) Mutation nhằm đột biến gen cho cá thể Gen cần đột biến nhận giá trị ngẫn nhiên nằm miền giá trị Tương tự crossover, mutation cần boolean vector vmt để xác định gen cần đột biến Vector vmt sinh cách ngẫu nhiên theo khả mutation Rmt cho trước Hình sau minh họa việc đột biến cho cá thể dựa vào vector vmt cho trước Trong toàn này, điều kiện dừng đơn giản, số hệ xuất cho trước GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 13/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT 3.6 Môn học: Học Máy Nâng Cao Đoạn code cho toán One-Max import random import matplotlib.pyplot as plt n = 10 # Số lượng gen m = 50 # Số lượng cá thể n_generations = 100 fitnesses = [] # Số lượng cá thể cho trước # Hàm mục tiêu # tạo giá trị ngẫu nhiên def generate_random_value(): return random.randint(0, 1) # Tính tốn hàm mục tiêu def compute_fitness(individual): return sum(gen for gen in individual) # Tạo cá thể def create_individual(): return [generate_random_value() for _ in range(n)] population = [create_individual() for _ in range(m)] #print (population) for ind in population: GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 14/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao print(ind) # Phép lai ghép def crossover(individual1, individual2, crossover_rate = 0.9): individual1_new = individual1.copy() individual2_new = individual2.copy() for i in range(n): if random.random() < crossover_rate: individual1_new[i] = individual2[i] individual2_new[i] = individual1[i] return individual1_new, individual2_new # Phép đột biến def mutate(individual, mutation_rate = 0.05): individual_m = individual.copy() for i in range(n): if random.random() < mutation_rate: individual_m[i] = generate_random_value() return individual_m # Phép chọn lọc def selection(sorted_old_population): index1 = random.randint(0, m-1) while True: index2 = random.randint(0, m-1) if (index2 != index1): GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 15/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao break individual_s = sorted_old_population[index1] if index2 > index1: individual_s = sorted_old_population[index2] return individual_s # Tạo quần thể sau bước lai ghép, đột biến def create_new_population(old_population, elitism=2, gen=1): sorted_population = sorted(old_population, key=compute_fitness) if gen%1 == 0: fitnesses.append(compute_fitness(sorted_population[m-1])) print("BEST:", compute_fitness(sorted_population[m-1])) new_population = [] while len(new_population) < m-elitism: # Thêm bước chọn lọc lại cho quần thể individual_s1 = selection(sorted_population) individual_s2 = selection(sorted_population) # Trùng lặp # Thêm bước lai ghép lại cho quần thể individual_c1, individual_c2 = crossover(individual_s1, individual_s2) # Thêm bước đột biến lại cho quần thể individual_m1 = mutate(individual_c1) individual_m2 = mutate(individual_c2) new_population.append(individual_m1) GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 16/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao new_population.append(individual_m2) for ind in sorted_population[m-elitism:]: new_population.append(ind.copy()) print(old_population) return new_population population1 = [create_individual() for _ in range(m)] for i in range(n_generations): population1 = create_new_population(population1, 2, i) for ind in population1: print(ind) # Sơ đồ kết cho lần thử plt.plot(fitnesses,'b') plt.ylabel('Mục tiêu') plt.xlabel('Thế hệ') plt.ylim([0,11]) plt.show() GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 17/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao BÀI TẬP Bài toán người du lịch (TSP) TSP mô tả sau: Một du khách muốn thăm thành phố anh quan tâm; thành phố thăm qua lần; trở điểm khởi hành Biết trước chi phí di chuyển hai thành phố Yêu cầu toán xây dựng lộ trình thỏa điều kiện với tổng chi phí nhỏ Gợi ý Cho trước danh sách thành phố khoảng cách chúng, tìm chu trình ngắn thăm thành phố lần Ở ví dụ với danh sách thành phố khoảng cách sau: Thành phố A B C D E A max max B max 10 C 10 max max 15 D max max E max 15 max Những thành phố khơng có đường nối thành phố mặc định để khoảng cách max (cho max = 40), đánh giá độ thích nghi theo khoảng cách, khoảng cách thấp độ thích nghi cao GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 18/19 TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT Môn học: Học Máy Nâng Cao TÀI LIỆU THAM KHẢO https://viblo.asia/p/thuat-toan-di-truyen-ung-dung-giai-mot-so-bai-toan-kinh-dienphan-2-07LKXwYp5V4 https://aivietnam.ai/courses/aisummer2019/lessons/genetic-algorithm/ https://nerophung.github.io/2020/05/28/genetic-algorithm https://www.academia.edu/9243424/GI%E1%BA%A2I_THU%E1%BA%ACT_DI_T RUY%E1%BB%80N GIẢI THUẬT DI TRUYỀN - GENETIC ALGORITHM (GA) Trang 19/19 ... individual1_new[i] = individual2[i] individual2_new[i] = individual1[i] return individual1_new, individual2_new # Phép đột biến def mutate(individual, mutation_rate = 0.05): individual_m = individual.copy()... crossover(individual1, individual2, crossover_rate = 0.9): individual1_new = individual1.copy() individual2_new = individual2.copy() for i in range(n): if random.random() < crossover_rate: individual1_new[i]... crossover(individual_s1, individual_s2) # Thêm bước đột biến lại cho quần thể individual_m1 = mutate(individual_c1) individual_m2 = mutate(individual_c2) new_population.append(individual_m1) GIẢI THUẬT DI TRUYỀN

Ngày đăng: 04/03/2022, 23:22

Xem thêm:

TỪ KHÓA LIÊN QUAN

w