Thuật toán di truyền (GA)

Một phần của tài liệu Chẩn đoán vết nứt trong kết cấu hệ thanh bằng phương pháp biến đổi wavelet dạng dao động riêng (Trang 123)

C. Thu gọn dữ liệu

4.1.2.Thuật toán di truyền (GA)

DỪNG CỦA CÁC DẠNG DAO ĐỘNG RIÊNG

4.1.2.Thuật toán di truyền (GA)

GA là kỹ thuật tìm kiếm ngẫu nhiên theo cơ chế chọn lọc và tiến hóa tự nhiên, thuộc lớp các thuật toán xác suất, dựa trên quan niệm rằng quá trình tiến hóa và thích nghi của tự nhiên là quá trình hoàn hảo nhất, hợp lí nhất, tự nó đã mang tính tối ưu. GA được công nhận là một phương pháp tìm cực trị toàn cục rất hiệu quả và có độ chính xác cao trong các bài toán tối ưu, là kỹ thuật tìm kiếm thông minh đầy hứa hẹn cho các bài toán tối ưu phức tạp. Ngoài ra, từ bài toán tối ưu đơn mục tiêu, GA dễ dàng thay đổi sang bài toán tối ưu đa mục tiêu.

GA được bắt đầu bằng việc định nghĩa bộ nhiễm sắc thể, tức là định nghĩa giá trị của một chuỗi các biến tính toán tối ưu. GA bao gồm bốn bước thực hiện cơ bản là lai ghép, đột biến, sinh sản và chọn lọc tự nhiên.

a) Cỡ gen

Có hai loại GA: loại tham số nhị phân và loại tham số thực [83]. GA loại tham số nhị phân thực hiện biến đổi giá trị của tham số thành các số nhị phân và chỉ quan tâm đến số bits cần thiết đại diện cho các tham số đã được bỏ đi trong GA. Việc mã hóa nhị phân các biến trong GA là rất quan trọng, liên quan đến tính chính xác của nghiệm và thời gian hội tụ. Để lựa chọn số nhị phân phù hợp, trước tiên phải xác định được độ chính xác chấp nhận được theo công thức lượng hóa sai số.

b) Quần thể ban đầu

Quần thể ban đầu là tập các giá trị nghiệm được chọn ngẫu nhiên.

c) Chọn lọc

Chọn lọc các cá thể để sản sinh thế hệ kế tiếp theo đóng vai trò vô cùng quan trọng trong thuật toán di truyền. Xác suất lựa chọn được thực hiện trên sự thích nghi của các cá thể, đó là các cá thể tốt hơn có cơ hội lựa chọn nhiều hơn. Một cá thể có thể được lựa chọn nhiều lần để kết hợp với các tất cả các cá thể có trong quần thể có cơ hội được lựa chọn để sản sinh ra thế hệ tiếp theo. Một vài phương pháp được sử dụng cho quá trình chọn lọc là: roulette wheel, tournament, và ranking methods...

Cơ sở của hầu hết các phương pháp lựa chọn là tính xác suất sống sót Pj của mỗi cá thể dựa trên sự thích nghi, tính toán xác suất lũy kế

1

i

i j j

C   P của quần thể. Cá thể xác suất thứ i được lựa chọn và sao chép vào quần thể mới nếu thỏa mãn

1 (0,1)

i i

C UC.

Roulette wheel: đây là phương pháp cổ điển, xác suất Pi của mỗi cá thể i đang

chọn được định nghĩa là 1 i i PopSize j j F P F    (4.3)

trong đó Fi là giá trị thích nghi của cá thể thứ i.

Ranking method: Dựa trên xác suất (tỷ lệ thuận với giá trị hàm thích nghi) để

lựa chọn cá thể. Giả sử số (cá thể) trong quần thể là Np, các cá thể này được sắp xếp theo thứ tự thích nghi giảm dần. Xác suất Pi của mỗi cá thể được tính toán là

1(1 ) (1 ) 1 (1 ) p r i N q P q q      (4.4)

trong đó q- xác suất của cá thể tốt nhất đang chọn, r - là thứ tự của cá thể trong quần thể khi r=1 cá thể thích nghi tốt nhất và r=Np cá thể không thích nghi nhất.

d) Lai ghép

Giống như trong sinh học, các nhiễm sắc thể bị loại bỏ sẽ được thay thế bằng các nhiểm sắc thể mới, các nhiễm sắc thể này được chọn ngẫu nhiên từ quần thể các cặp cha mẹ cho lai ghép sau khi trao đổi các cấu trúc gen của họ. Việc lai ghép hy vọng tạo ra các nhiễm sắc thể mới chứa các phần tốt nhất của nhiễm sắc thể cũ và như vậy nhiễm sắc thể mới sẽ tốt hơn, và lai ghép không tạo ra nguyên liệu mới trong quần thể hiện có. Tuy nhiên lai ghép không phải là thừa hưởng một nửa từ cá thể cha và một nửa từ cá thể mẹ. Mỗi toán tử lai ghép sẽ có xác suất xảy ra tương ứng của nó. Các nghiên cứu sinh học đã chỉ ra rằng trong tự nhiên xác suất của việc lai ghép thường rất cao. Tuy nhiên thực tế khi áp dụng vào các bài toán trên máy

Chúng ta xác lập biểu diễn toán học của hai cá thể bất kỳ có nhiễm sắc thể là véc tơ có kích thước n của các tham số thực (có số lượng gen là n) là

1 2

( , , , n)

Xx xxY ( ,y y1 2,,yn) là cặp cha mẹ cho lai ghép, sau khi trao đổi các cấu trúc gen của họ ta có cặp X', Y' các cá thể con tương ứng. Quá trình lai ghép trong GA liên tục với số thực có thể được thực hiện theo các cách sau:

Lai ghép số học (Arithmatical crossover)

Trong toán tử này, hai tổ hợp tuyến tính bù trừ từ cặp cá thể cha mẹ được hình thành: (1 ) (1 ) X rX r Y Y r X rY         (4.5) (adsbygoogle = window.adsbygoogle || []).push({});

Trong đó r là số thực ngẫu nhiên có giá trị trong khoảng [0,1], điều này đảm bảo rằng các cá thể con sẽ có tất cả các gen trong khoảng tham số biên ( X Y', 'U a b( , )i i ).

Lai ghép đơn (Simple crossover)

Thông tin về gen của hai cá thể được hoán đổi từ vị trí thứ k của véc tơ nhiễm sắc thể, với k là số nguyên dương có giá trị ngẫu nhiên từ 1 đến n. Biểu diễn dưới dạng toán học sẽ là: 1 2 1 1 2 1 ( , , , , , , ) ( , , , , , , ) k k n k k n X x x x y y Y y y y x x           (4.6)

Cho dù lai ghép rất đơn giản, tuy nhiên toán tử này không đảm bảo sự đóng kín, có nghĩa là các cá thể con có thể nằm ngoài không gian có khả năng chứa nghiệm. Để khắc phục vấn đề này, Zbignew Michalewicz [116] đề xuất sử dụng đặc điểm của không gian lồi đó là với a[0,1] luôn có

1 2 1 1 1 2 1 1 ( , , , , (1 ) , , (1 ) ) ( , , , , (1 ) , , (1 ) ) k k k n k k k k n k X x x x ay a x ay a x Y y y y ax a x ax a y                     (4.7)

là khả thi. Khi cho a=1 thì công thức (4.7) lại trở về công thức (4.6). Trong trường hợp có các cá thể con nằm ngoài biên thì a được thay đổi giảm bằng bất biến 1/c, c

là số nguyên dương. Trong trường hợp các kết quả có được không như mong đợi thì chọn a=0. Khi đó, các cá thể con có cặp gen của của cha, mẹ.

Lai ghép Heuristic (Heuristic Crossover)

Đây là toán tử đơn nhất, để sinh ra một cá thể mới duy nhất và đây là toán tử sử dụng thông tin thích nghi để xác định hướng ngoại suy tuyến tính của cặp cha mẹ. Giả sử rằng cá thể X thích nghi tốt hơn cá thể Y (hàm thích nghi f X( ') f Y( ')

đối với bài toán tìm cực đại, hoặc f X( ') f Y( ') đối với bài toán tìm cực tiểu). Khi đó kết quả của toán tử là

( ) ' X Y r X Y Y X       (4.8)

Trong đó r là số thực ngẫu nhiên. Trong GA toolbox-Matlab giá trị mặc định của r là 1.2. Toán tử lai ghép Heuristic có thể sinh ra các cá thể con không khả thi, tức là có thể có một hoặc nhiều kết quả nằm ngoài biên. Các cá thể không khả thi này sẽ được tự động loại bỏ và toán tử được thực hiện lại. Trong trường hợp không có các cá thể con khả thi sau một số bước lặp, các cá thể con sẽ được lấy nguyên theo cha mẹ như vậy không có cá thể mới được tạo lập.

d) Đột biến

Sau tiến trình tái tạo, tiến trình đột biến được đưa vào tất cả các nhiễm sắc thể ngoại trừ các nhiễm sắc thể tốt nhất. Vai trò của bước này là khởi tạo các đặc điểm không có sẵn trong quần thể ban đầu. Kết quả là GA có thể loại bỏ rất nhanh các

điểm hội tụ do cực trị địa phương trong giai đoạn đầu của quá trình tiến hóa. Bước

đầu tiên là lựa chọn nhiễm sắc thể để gây đột biến. Trong Matlab tỷ lệ được các nhiễm sắc thể được chọn để thực hiện đột biến mặc định là 0.01 (xác suất đột biến trong tiến hóa tự nhiên khoảng 0.03).Các toán tử thực hiện đột biến thường được áp dụng là

Đột biến đồng nhất (Uniform mutation)

Trong toán tử này, một vị trí thứ k trong véc tơ nhiễm sắc thể được lựa chọn ngẫu nhiên và giá trị tại vị trí thứ k này được thay thế bằng một giá trị mới có giá trị ngẫu nhiên nằm trong biên U a b( , )i i với ai là giá trị biên dưới và bi là giá trị biên trên tương ứng với biến i.

( , )i i i i U a b i k x x i k          (4.9)

Ngoài ra còn có một số phương pháp khác thực hiện toán tử đột biến như: đột biến biên (Boundary mutation), đột biến không đồng nhất (Nonuniform mutation) có thể tham khảo trong các tài liệu [83],[119].

e) Tiêu chuẩn kết thúc

Trong thế hệ tiếp theo, khi các đột biến của thế hệ trước đây được hoàn thành, quần thể đột biến được sử dụng để tính toán các giá trị của hàm đa mục tiêu lý thuyết và các hàm thích nghi. Trong mỗi thế hệ mới và các bước lặp, giá trị tốt nhất của hàm thích nghi được kiểm soát. Nếu giá trị hàm thích nghi gặp một ngưỡng nhất định, hội tụ, hoặc nếu số lượng tối đa các vòng lặp được thực hiện thuật toán được dừng lại.

Một phần của tài liệu Chẩn đoán vết nứt trong kết cấu hệ thanh bằng phương pháp biến đổi wavelet dạng dao động riêng (Trang 123)