1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập lớn trí tuệ nhân tạo tìm hiểu về giải thuật di truyền

18 5 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

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 275,4 KB

Nội dung

TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN VIỆN CÔNG NGHỆ THƠNG TIN KINH TẾ ~~~~~~*~~~~~~ BÀI TẬP LỚN TRÍ TUỆ NHÂN TẠO Đề tài: Tìm hiểu giải thuật di truyền Giảng viên hướng dẫn: ThS Lưu Minh Tuấn Sinh viên thực hiện: Đồng Văn Thịnh Lớp :CNTT49A LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hà Nội,12/2010 MỤC LỤC MỤC LỤC .2 LỜI NÓI ĐẦU PHẦN I: THUẬT TOÁN DI TRUYỀN I.Giới thiệu: II Nội dung 2.1 Cơ sở lý thuyết 2.2 Cấu trúc thuật toán di truyền tổng quát .7 2.3 Các công thức thuật giải di truyền PHẦN II: ỨNG DỤNG 10 I.Ứng dụng 10 II.Chương trình 11 PHẦN III: KẾT LUẬN 16 I.Ưu điểm 17 II Khuyết điểm 17 III Ý kiến thân 17 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 tố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 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ố LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 Ngồ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 tố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” LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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ệ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 Bước Thuật toán di 1: Khởi tạo truyền bao gồm quần thể nhiễm bước sau: 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 Thỏa Không Kết Kết thúc LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 ) = kichthuocq uanthe ∑f (vi Với f(vi) hàm mục tiêu i =1 Tìm tổng giá trị thích nghi quần thể: F = kichthuocq uanthe ∑eval (vi ) 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHẦN II: ỨNG DỤNG I.Ứng dụng Tìm đáp số cho phương trình X2 = 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ố tố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 0101 21 1010 10 1000 24 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 1 (X) 21 10 24 0100 0101 1010 1000 X2 - 64 Hệ số thích - 48 377 36 512 nghi f(x) 952 623 964 488 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 Hệ số thích (X) nghi f(x) 0100 - 48 952 1010 10 36 964 1000 1000 0110 28 968 Bước 5:May mắn tìm kết X = với hệ số thích nghi cao 1000 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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

Ngày đăng: 01/11/2022, 15:00

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w