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

Giải thuật di truyền GA (Genetic Algorithms)

21 568 2

Đ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 21
Dung lượng 738,26 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giải thuật di truyền GA Genetic Algorithms GA bắt đầu với một tập hợp các giải pháp được mã hóa bởi các nhiễm sắc thể NST gọi là quần thể.. Các giải pháp từ một quần thể được lấy và sử d

Trang 1

Giải thuật di truyền GA (Genetic Algorithms)

GA bắt đầu với một tập hợp các giải pháp (được mã hóa bởi các nhiễm sắc thể (NST)) gọi là quần thể Quần thể ban đầu thường được thành lập một cách ngẫu nhiên Các giải pháp từ một quần thể được lấy và sử dụng để tạo ra quần thể mới Điều này dẫn đến việc các quần thể mới sẽ tốt hơn quần thể cũ Những giải pháp được lựa chọn theo độ thích nghi sẽ tạo nên các giải pháp mới

(con cái) càng phù hợp hơn với hàm số thích nghi thì càng có nhiều cơ hội hơn để tiếp tục tái sinh Việc lặp

sẽ tiếp tục được thực hiện cho đến khi thỏa mãn một

hoặc một số điều kiện dừng do chúng ta đặt ra

Trang 2

1 [Khởi đầu] Tạo ngẫu nhiên quần thể của N nhiễm sắc thể

2 [Độ thích nghi] Tính độ thích nghi cho mỗi nhiễm sắc thể x thuộc quần thể:

3 [Quần thể mới] Tạo quần thể mới bằng cách lặp lại các bước cho tới khi

quần thể mới được hoàn thành

1 [Chọn lọc] Chọn cặp nhiễm sắc thể bố mẹ từ quần thể dựa trên độ

thích nghi của chúng (độ thích nghi càng cao, cơ hội được lựa chọn càng lớn)

2 [Lai] Với một sác xuất lai, lai cặp nhiễm sắc thể bố mẹ để cho ra

nhiễm sắc thể con Nếu việc lai không được thực hiện, nhiễm sắc thể con là bản sao chính xác của bố mẹ

3 [Đột biến] Với một sác xuất đột biến, biến đổi nhiễm sắc thể con tại

một vài vị trí của nhiễm sắc thể được chúng ta lựa chọn

4 [Thay thế] Sử dụng quần thể mới tạo để tiếp tục chạy chương trình

5 [Kiếm tra] Nếu điều kiện kết thúc được thỏa mãn, dừng lặp và trả về giải

pháp tốt nhất từ quần thể hiện tại; nếu không thỏa mãn điều kiện dừng quay lại bước 2

Trang 4

-Chọn lọc xếp hạng:

 Sắp xếp các chuỗi theo thứ tự giảm dần của hàm mục tiêu (bài toán cực đại) hoặc theo thứ tự tăng đần của hàm mục tiêu (bài toán cực tiểu)

 Tính độ phù hợp của chuỗi

 Sử dụng thủ tục quay Rulet chọn chuỗi để sao chép sang quần thể tạm thời

-Chọn lọc cạnh tranh:

 Chọn t cá thể từ quần thể hiện tại một cách ngẫu nhiên và chọn

cá thể tốt nhất trong t cá thể đó để sao chép sao chép sang quần thể tạm thời

 Lặp lại bước trên N lần chúng ta sẽ có quần thể tạm thời

 Giá trị t được gọi là kích cỡ của chọn lọc cạnh tranh Khi t=2 chúng ta chọn lọc cạnh tranh nhị phân

-Sử dụng bánh xe Roulette

Trang 5

Người ta thực hiện việc sinh sản bằng cách quay bánh xe Roulette với số lần bằng số nhiễm sắc thể trên bánh xe

Roulette Đối với bài toán này số lần quay bánh xe Roulette

là 4 Nhiễm sắc thể 1 có giá trị thích nghi là 169, tương ứng 14,4 % tổng độ thích nghi Như vậy, nhiễm sắc thể 1 chiếm 14.4% trên bánh xe Roulette Mỗi lần quay nhiễm sắc thể 1

sẽ chiếm khe với giá trị 0,144

Trang 6

◦ Chọn ngẫu nhiên hai (hay nhiều) cá thể bất kỳ trong quần thể Giả sử các nhiễm sắc thể của cha

mẹ đều có m gen

◦ Tạo một số ngẫu nhiên trong khoảng từ 1 đến

m-1 (ta gọi là điểm lai)

◦ Đưa hai cá thể mới này vào quẩn thể để tham gia các quá trình tiến hóa tiếp theo

Trang 7

↓ ↓ ↓

Trang 8

◦ Chọn ngẫu nhiên một cá thể bất kỳ cha mẹ

trong quần thể

◦ Tạo một số ngẫu nhiên k trong khoảng từ 1 đến

m, 1 ≤ k ≤ m

◦ Thay đổi gen thứ k và trả cá thể này về quần thể

để tham giá quá trình tiến hóa tiếp theo

Trang 9

Hệ nhị phân 00001 00010 00011 00100 00101 00110 00111 01000

Trang 11

Chọn hàm số thích nghi f(x)= 1000–|X*X –64| và quy định đáp số nào có hệ số thích nghi bằng 1000 hay gần 1000 nhất sẽ là đáp số của bài toán

Thứ tự Nhị phân Thập phân Bình phương

của hệ số ở cột thập phân

Trang 12

Chúng ta thấy theo thứ tự 10 và 4 có hệ số

thích nghi cao hơn do đó chúng sẽ được

chọn để tạo sinh và biến hóa, đồng thời số

21 và 24 có hệ số thích nghi thấp nhất sẽ bị loại

001 | 00 (4) 010 | 00 (hay 8)

010 | 10 (10) 001 | 10 (hay 6)

Trang 13

Thứ tự Nhị phân Thập phân Bình phương

của hệ số ở cột thập phân

Trang 14

Thuật toán tối ưa hóa bầy đàn PSO

(Particle swarm optimization)

 PSO là một kỹ thuật tối ưu hóa ngẫu nhiên dựa trên một quần thể và sau đó tìm nghiệm tối ưu bằng cách cập nhật các thế hệ

 Thuật toán PSO nghĩa là vị trí tối ưu của quần thể sẽ được cập nhật ngay lập tức khi một cá thể tìm thấy một vị trí tốt hơn so với vị trí tối ưu của quần thể trong việc tìm kiếm Thuật toán

PSO đảm bảo tính độc lập và sức mạnh tổng hợp của các cá thể,

để thông tin của cá thể tối ưu kịp thời có thể được chia sẻ bởi các cá thể khác Trong mỗi lần lặp, mỗi cá thể cập nhật tốc độ và

vị trí của nó bằng cách theo dõi các vị trí tối ưu của cá thể đó và quần thể,

 PSO có nhiều sự tương tự như kỹ thuật tính toán tiến hóa trong thuật toán di truyền GA (Genetic algorithm) Tuy nhiên, không giống như GA, PSO không có các thao tác tiến hóa như là lai ghép (crossover) hay đột biến (mutation)

Trang 15

Wini là trọng số quán tính ban đầu,

Wend là trọng số quán tính khi đạt số lần lặp lớn nhất

C là hệ số gia tốc , thường là 2

Trọng số quán tính được tận dụng để kiểm tra sự tác động của vận tốc trước lên vận tốc hiện tại Trọng số quán tính được điều chỉnh một cách thỏa hiệp giữa sự khảo sát toàn cục( phạm vi rộng khắp)

và cục bộ (phạm vi gần) và ảnh hưởng khả năng hội tụ của PSO

Thường khởi tạo ban đầu là 0.9 và kết thúc là 0.4

Trang 16

 Bước 1 : Khởi tạo N cá thể ( kích thước của quần thể ) Với mỗi cái thể

i từ 0 đến N , khởi tạo ngẫu nhiên vị trí Xi, vận tốc Vi Vị trí tốt nhất của cá thể thứ i (Pi) và chỉ số g của cá thể tốt nhất bằng 0

 Bước 2 : Với mỗi cái thể i:

Tính giá trị hàm mục tiêu f(Xi)

Nếu f(Xi) nhỏ hơn f(Pi), gán Pi = Xi

Nếu f(Pi) nhỏ hơn f(Pg), gán g = i

Trang 17

http://ieeexplore.ieee.org.sci-hub.org/xpl/articleDetails.jsp?tp=&arnumb er=6008424&queryText%3DPSO+Algorith m+in+pid+controller+on+fpga

Trang 18

Scilab/Scicos

Part 1: Scilab

1.Khái niệm và ứng dụng:

 Là phần mềm mã nguồn mở miễn phí dùng cho việc tính toán số học

và mô phỏng (tương thích Windows ,Linus ,Mac OS X ) ,cụ thể hơn

là : xử lý tín hiệu, xử lý ảnh, tính toán và mô phỏng, thiết kế hệ thống điều khiển, tối ưu hóa và phát triển 1 số ứng dụng khác…

 Scilab là 1 loại ngôn ngữ lập trình bậc cao với tính toán cơ bản dựa trên ma trận và quản lý bộ nhớ tự động Do đó có thể giải quyết nhiều vấn đề, bài toán với số dòng lệnh ít hơn so với các ngôn ngữ lập trình thường dùng như C,C++,…

 Scilab được xây dựng dựa trên cơ sở của Matlab nên nó có cú pháp, câu lệnh tương tự với Matlab

 Scilab được sử dụng rộng rãi trong các cơ sở giáo dục trung học và cao hơn cho giảng dạy toán học, khoa học kỹ thuật và kỹ thuật điều khiển

tự động

Trang 19

2.Một số link: (thông tin chi tiết ,HD sử dụng, download link…)

 http://www.scilab.org/

 http://www.scilab-enterprises.com/

Trang 20

1.Khái niệm,ứng dụng:

 Scicos là 1 chương trình xây dựng mô hình và mô phỏng Với

nó, người dùng có thể tạo ra sơ đồ khối để mô hình hóa và mô phỏng các hoạt động của hệ thống (bao gồm tín hiệu thời gian liên tục và rời rạc), sau đó biên dịch các mô phỏng này thành những đoạn mã thực thi

 Ứng dụng: Xử lý tín hiệu, điều khiển hệ thống, phục vụ các nghiên cứu về hệ thống vật lý và sinh học

 Tính năng cụ thể:

- Xây dựng mô hình đồ họa, biên dịch và mô phỏng

- Kết hợp các tín hiệu thời gian liên tục và rời rạc trên cùng 1

mô hình

- Lập trình các block mới trong ngôn ngữ C hoặc scilab

- Tạo C code từ mô hình scicos bằng việc sử dụng 1 Code

Generator

Ngày đăng: 12/04/2015, 14:05

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w