Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
658,39 KB
Nội dung
Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] BÀI TẬP LỚN TRÍ TUỆ NHÂN TẠO: TÌM HIỂU GIẢI THUẬT DI TRUYỀN LỜI NÓI ĐẦU Trong ngành khoa học máy tính, tìm kiếm lời giải tối ưu cho toán vấn đề nhà khoa học máy tính đặc biệt quan tâm Mục đích thuật tốn tìm kiếm lời giải tìm lời giải tối ưu cho toán thời gian nhỏ Các thuật tốn tìm kiếm khơng có thơng tin / vét cạn ( tìm kiếm danh sách, đồ thị ) sử dụng phương pháp đơn giản trực quan thuật tố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 sử dụng nhiều với khơng gian tìm kiếm nhỏ khơng hiệu tìm kiếm khơng gian tìm kiếm lớn Tuy nhiên, thực tiễn có nhiều tốn tối ưu với khơng gian tìm kiếm lớn cần phải giải Vì vậy, việc địi hỏi thuật giải chất lượng cao sử dụng kỹ thuật trí tuệ nhân tạo đặc biệt cần thiết giải tốn có khơng gian tìm kiếm lớn Thuật giải di truyền (genetic algorithm) 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 Hiện nay, thuật toán di truyền với logic mờ ứng dụng rộng rãi lĩnh vực phức tạp Thuật toán di truyền kết hợp với logic mờ chứng tỏ hiệu vấn đề khó giải phương pháp thông thường hay phương pháp cổ điển, tốn cần có lượng giá, đánh giá tối ưu kết thu Chính vậy, thuật giải di truyền trở thành đề tài nghiên cứu thú vị đem đến nhiều ứng dụng thực tiễn Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Ngày nay, GA ứng dụng nhiều lĩnh vực khoa học, kinh doanh giải trí Đầu tiên phải kể đến toán tối ưu bao gồm tối ưu số Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] tối ưu tổ hợp sử dụng GA để tìm lời giải toán người du lịch (Travelling Salesman Problems - TSP) Ứng dụng GA thiết kế điều kiển robo Hầu có ngành CNTT phát triển quan tâm đến lĩnh vực thiết kế robo nhằm giúp người tiết kiệm sức lao động giải phóng người khỏi công việc nguy hiểm, đặc biệt thi “Robocon” Châu Á_ Thái Bình Dương nước khu vực quan tâm Ngoài phần cơ, để robo tiến hành hoạt động đơn giản đi, đứng… robo cần phải trang bị chương trình lập trình dựa thuật tốn ngơn ngữ thích hợp Nhờ vào lịch trình cài đặt với trí tuệ nhân tạo…, robo định hướng thực hoạt động người Tuy nhiên, việc tìm kiếm lời giải tốt cho hành động robo đơn giản Theo nhà khoa học máy tính, thuật giải di truyền thuật toán tối ưu giúp robo vạch lộ trình di chuyển Với lý trên, em chọn đề tài: “Thuật giải di truyền ứng dụng” Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] PHẦN I: THUẬT TỐN DI TRUYỀN I.Giới thiệu: Thuật tốn di truyền thuật toán tối ưu ngẫu nhiên dựa chế chọn lọc tự nhiên tiến hóa di truyền Nguyên lý thuật toán di truyền Holland giới thiệu vào năm 1962 Cơ sở toán học phát triển từ cuối năm 1960 giới thiệu sách Holland, Adaptive in Natural and Artificial Systems Thuật toán di truyền ứng dụng hai lĩnh vực chính: tối ưu hóa học tập máy Trong lĩnh vực tối ưu hóa thuật tốn di truyền phát triển nhanh chóng ứng dụng nhiều lĩnh vực khác tối ưu hàm, xử lý ảnh, tốn hành trình người bán hàng, nhận dạng hệ thống điều khiển Thuật toán di truyền thuật tốn tiến hóa nói chung, hình thành dựa quan niệm cho rằng, q trình tiến hóa tự nhiên q trình hồn hảo nhất, hợp lý tự mang tính tối ưu Quan niệm xem tiên dề dúng, không chứng minh được, phù hợp với thực tế khách quan Q trình tiến hóa thể tính tối ưu chỗ, hệ sau tốt (phát triển hơn, hoàn thiện hơn) hệ trước tính kế thừa dấu tranh sinh tồn II Nội dung 2.1 Cơ sở lý thuyết Thuật toán di truyền gồm có bốn quy luật lai ghép, đột biến, sinh sản chọn lọc tự nhiên sau: Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] 2.1.1 Quá trình lai ghép (phép lai) Quá 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-1 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.1.2 Q trình đột biến (phép đột biến): Q trình tiến hóa gọi 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 số k từ khoảng ≥ k ≥ m Thay đổi giá trị gen thứ k Đưa nhiễm sắc thể vào quần thể để tham gia trình tiến hóa 2.1.3 Q trình sinh sản chọn lọc (phép tái sinh phép chọn) Phép tái sinh: trình cá thể chép dựa độ thích nghi Độ thích nghi hàm gán giá trị thực cho cá thể quần thể Phép tái sinh mơ sau: Tính độ thích nghi cá thể quần thể, lập bảng cộng dồn giá trị thích nghi (theo thứ tự gán cho cá thể) ta tổng độ thích nghi Giả sử quần thể có n cá thể Gọi độ thích nghi cá thể thứ i Fi, tổng dồn thứ i Ft.Tổng độ thích nghi Fm Tạo số ngẫu nhiên F có giá trị đoạn từ đến Fm Chọn cá thể k thỏa mãn F ≥ Ft đưa vào quần thể hệ Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Phép chọn: trình loại bỏ cá thể xấu để lại cá thể tốt Phép chọn mô tả sau: Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần Loại bỏ cá thể cuối dãy, để lại n cá thể tốt 2.2 Cấu trúc thuật toán di truyền tổng quát Thuật toán di truyền bao gồm bước sau: Bước 1: Khởi tạo quần thể nhiễm sắc thể Bước 2: Xác định giá trị thích nghi nhiễm sắc thể Bước 3: Sao chép lại nhiễm sắc thể dựa vào giá trị thích nghi chúng tạo nhiễm sắc thể phép toán di truyền Bước 4: Loại bỏ thành viên khơng thích nghi quần thể Bước 5: Chèn nhiễm sắc thể vào quần thể để hình thành quần thể Bước 6: Nếu mục tiêu tìm kiếm đạt dừng lại, khơng trở lại bước Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Sơ đồ thuật tốn: Bắt đầu Khởi tạo quần thể Mã hóa biến Đánh giá độ thích nghi Chọn lọc Lai ghép Đột biến Thỏa điều kiện dừng Không Thỏa Kết Kết thúc Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] 2.3 Các cơng thức thuật giải di truyền Tính độ thích nghi eval(vi)của nhiễm sắc thể vi(i =1 kích thước quần thể): f (vi ) eval (vi ) Với f(vi) hàm mục tiêu åf (v i kichthuocq uanthe i 1 Tìm tổng giá trị thích nghi quần thể: kichthuocq uanthe åeval (vi ) F i 1 Tính xác suất chọn pi cho nhiễm sắc thể vi: eval (vi ) pi kichthuocq uanthe åeval (vi ) i 1 Tính xác suất tích lũy qi cho nhiễm sắc thể: i qi åpi j 1 Tiến trình chọn lọc thực cách quay bánh xe rulet kích thước quần thể lần Mỗi lần chọn nhiễm sắc thể từ quần thể hành vào quần thể theo cách sau: Phát sinh số ngẫu nhiên r khoảng [0, 1] Nếu r < q1thì chọn nhiễm sắc thể v1, ngược lại chọn nhiễm sắc thể vi (2 ≤ i ≤ kích thước quần thể) cho qi-1 < r ≤ qi Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] PHẦN II: ỨNG DỤNG I.Ứng dụng Tìm đáp số cho phương trình X = 64 Đây tốn đơn giản để giúp ta hiểu rõ bước thuật toán di truyền Giải toán di truyền theo bước sau: Bước 1: Chúng ta sử dụng hệ nhị phân để xây dựng mơ hình tốn.Ta dùng bit nhị phân để mã hóa cho đáp số tốn.Gỉa sử ta khơng biết đáp số toán, ta chọn số đáp số có ký hiệu cho đáp số Bảng chọn lựa: Thứ tự Nhị phân Thập phân 0100 21 0101 10 1010 24 1000 Bước 2: Tìm hàm số thích nghi tính hệ số thích nghi cho đáp số.Ta chọn hàm số thích nghi sau: f(X) = 1000 – (X2 – 64) Vậy, đáp số có hệ số thích nghi f gần 1000 đáp số Khảo sát kết tính được: Thứ tự Nhị phân Thập phân 0100 0101 1010 1000 (X) 21 10 24 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn X2 - 64 Hệ số thích - 48 377 36 512 nghi f(x) 952 623 964 488 Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] 10 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Bước 3:Ta thấy, hệ số thích nghi đáp số cịn cách xa 1000.Do đó, cần tạo đáp số cách biến hóa đáp số cũ Ta thấy, số 10 có hệ số thích nghi cao nên chọn để tạo sinh biến hóa.Đồng thời số 21 24 có hệ số thích nghi thấp bị loại Gỉa sử ta lai ghép hai số 10 theo hình sau : Bước 4:Tính hệ số thích nghi cho quần thể Thứ tự Nhị phân Thập phân X2 - 64 (X) 0100 - 48 1010 10 36 1000 0 0110 28 Bước 5:May mắn tìm kết X nghi cao 1000 Hệ số thích nghi f(x) 952 964 1000 968 = với hệ số thích Vậy kết toán X = II.Chương trình _ Khai báo: #include "stdio.h" #include"conio.h" #include "stdlib.h" #include "math.h" int CT[10]; int n=4; int GTTN[10]; int kq; 11 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] int Max1,Max2; int Max1moi=0,Max2moi=0; int A[5],B[5]; _ Các đoạn code: + Code khởi tạo quần thể: void Taoquanthe(int n) { for(int i=0;i