Cấu trúc nhiễm sắc thể

Một phần của tài liệu Nghiên cứu thuật toán di truyền và ứng dụng thiết kế Anten chấn tử đối xứng (Trang 86 - 128)

Không làm mất tính tổng quát khi giả thiết những bài toán tối ưu là những bài toán tìm giá trị cực đại. Bài toán tìm cực tiểu hàm f chính là tìm cực đại của hàm

f g : x f x g x f max max min (3.1)

Hình 3.2. Sơ đồ khối của thuật giải di truyền

Chọn lọc Lai Đột biến Quần thể trung gian Khởi tạo

Quần thể ban đầu Hàm lượng giá

Thiết lập tham số

Có Không

Quần thể mới Hàm lượng giá

Điều kiện dừng thoả

mãn ?

Hơn nữa có thể giả định rằng hàm mục tiêu f có giá trị dương trên miền xác định của nó, nếu không ta có thể cộng thêm một hằng số C dương, nghĩa là:

. max

maxg x g x C (3.2)

Bây giờ, giả sử ta muốn tìm cực đại một hàm f gồm k biến f x1,...,xk . Giả

sử thêm là mỗi biến xi có thể nhận giá trị trong miền Di ai,bif x1,...,xk 0

với mọi xi Є Di. Ta muốn tối ưu hoá hàm f với mật độ chính xác cho trước: giả sử

cần 6 số lẻ đối với giá trị của các biến.

Rõ ràng để đạt được độ chính xác như vậy, mỗi miền Di được phân chia

thành 6

10

x a

bi i miền con bằng nhau. Gọi mi là số nguyên nhỏ nhất sao cho:

1 2 106 mi i i a x b (3.3)

Như vậy mỗi biến xi được biểu diễn bằng một chuỗi nhị phân có chiều dài

mi. Biểu diễn như trên, rõ ràng thoả mãn điều kiện về độ chính xác yêu cầu. Công

thức sau tính giá trị thập phân của mỗi chuỗi nhị phân biểu diễn biến xi:

1 2 01 ... 1100 2 i m i i i i a b x decimal a x (3.4)

Trong đó:Decimal(chuỗi2) cho biết giá trị thập phân chuỗi nhị phân đó.

Bây giờ, mỗi nhiễm sắc thể (là một lời giải) được biểu diễn bằng chuỗi nhị phân có chiều dài

k i i m m 1

; m1 bit đầu tiên biểu diễn các giá trị trong khoảng [a1,b1] dùng để mã hoá x1; m2 bit kế tiếp biểu diễn các giá trị trong khoảng [a2,b2] dùng để mã hoá x2; …; nhóm mk bit cuối cùng biểu diễn giá trị trong khoảng [ak,bk] dùng để mã hoá xk.

Trên đây là cách biểu diễn nhị phân cho nhiễm sắc thể. Cách mã hoá cho chuỗi nhị phân thường giúp dễ dàng cho chuỗi phân tích lý thuyết và cho phép xây dựng các toán tử di truyền đẹp. Tuy nhiên, biểu diễn nhị phân truyền thống có một số bất lợi khi khi áp dụng GA giải các bài toán số cần độ chính xác cao, trong một không gian có số chiều lớn với các biến thực hoặc phức.

Trong phiên bản thập phân, mỗi véctơ nhiễm sắc thể được mã hoá bằng một véctơ các số thực hoặc phức, có cùng độ dài như véctơ lời giải. Mỗi phần tử được

chọn lúc khởi tạo sao cho thuộc miền xác định của nó, và các phép toán được thiết kế một cách cẩn thận để bảo toàn yêu cầu này. Trong cách tiếp cận này, mỗi nhiễm sắc thể được trình bày trực tiếp bởi các véctơ thực hoặc phức

k

x x x

S 1, 2,..., (3.5)

Độ chính xác của cách tiếp cận này chỉ phụ thuộc vào máy tính, nhưng nói chung là tốt hơn nhiều so với biểu diễn nhị phân. Đương nhiên, ta luôn có thể mở rộng độ chính xác của biểu diễn nhị phân bằng cách dùng nhiều bit hơn, nhưng như vậy sẽ làm giảm đáng kể tốc độ của thuật toán.

Ngoài ra biểu diễn thập phân còn có khả năng biểu diễn những miền thật lớn (hay trường hợp các miền xác định không biết trước). Mặt khác, biểu diễn nhị phân phải hy sinh độ chính xác khi tăng kích thước miền, với chiều dài nhị phân cố định cho trước.

3.2.3. Quần thể ban đầu

Quá trình khởi tạo rất đơn giản: Ta tạo một quần thể các nhiễm sắc thể, trong

đó mỗi nhiễm sắc thể là một véctơ nhị phân m bít, tất cả m bít của mỗi nhiễm sắc

thể đều được khởi tạo ngẫu nhiên.

Trong phiên bản thập phân, mỗi biến n của nhiễm sắc thể được khởi tạo ngẫu nhiên trong miền xác định của biến đó.

3.2.4. Hàm lƣợng giá

Trong mỗi thế hệ, ta cần lượng giá từng nhiễm sắc thể, bằng cách giải mã nhiễm sắc thể từ véctơ nhị phân sang các biến thập phân và tính giá trị hàm f trên các biến thập phân đó.

3.2.5. Quá trình chọn lọc (phép chọn lọc)

Phép chọn lọc là quá trình loại bỏ các nhiễm sắc thể xấu trong quần thể để chỉ giữ lại các nhiễm sắc thể tốt. Mỗi nhiễm sắc thể được đánh giá bởi hàm lượng giá của nó. Các nhiễm sắc thể được xếp hạng từ cao xuống thấp theo hàm lượng giá tương ứng của nó. Ví dụ, giả sử số nhiễm sắc thể trong quần thể là N = 8 và hàm lượng giá của các nhiễm sắc thể này được trình bày trong bảng 3.1. Bước tiếp theo là thuật toán xếp hạng các nhiễm sắc thể từ tốt nhất đến xấu nhất. Sự xếp hạng được trình bày trong bảng 3.2.

Ở điểm này, các nhiễm sắc thể không được chấp nhận sẽ bị loại bỏ. Thông thường, x nhiễm sắc thể ở phía trên được giữ lại (ở đó x là số chẵn), và N-x nhiễm sắc thể phía dưới được loại bỏ. Ví dụ nếu 50% nhiễm sắc thể bị loại bỏ, thì các nhiễm sắc thể 1, 2, 3, và 6 được giữ lại, còn các nhiễm sắc thể 4, 5, 7, và 8 bị loại (cột 4 bảng 3.2). Bảng 3.1. Danh sách nhiễm sắc thể và hàm lượng giá Bảng 3.2. Các nhiễm sắc thể được xếp hạng và chọn lọc TT Nhiễm sắc thể Hàm lƣợng giá TT Nhiễm sắc thể Hàm lƣợng giá Giữ lại một nửa 1 011110010001 7.8 6 101010010101 10.2 Giữ lại 2 111001100101 8.6 2 111001100101 8.6 Giữ lại 3 111110001010 8.0 3 111110001010 8.0 Giữ lại 4 000101010111 3.5 1 011110010001 7.8 Giữ lại 5 001010100001 4.3 7 111111110000 6.9 Loại bỏ 6 101010010101 10.2 8 110011001100 5.7 Loại bỏ 7 111111110000 6.9 5 001010100001 4.3 Loại bỏ 8 110011001100 5.7 4 000101010111 3.5 Loại bỏ

Quá trình chọn lọc như trên gọi là chọn lọc xếp hạng. Một số quá trình chọn lọc khác được đề cập với các bài toán khác nhau. Sau đây là một số phương pháp chọn lọc thông dụng khác.

Chọn lọc tỷ lệ

Chọn lọc tỷ lệ còn gọi là chọn lọc bánh xe Rulet. Ta dùng bánh xe quay Rulet với các rãnh được gán kích thước theo độ thích nghi. Ta xây dựng bánh xe Rulet như sau (giả định rằng, các độ thích nghi đều dương):

- Tính độ thích nghi eval( i) của mỗi nhiễm sắc thể.

- Tìm tổng giá trị thích nghi toàn quần thể:

N i i eval F 1 ) (

- Tính xác suất chọn pi cho mỗi nhiễm sắc thể i , (i = 1…N):

i j j i p q 1

- Tiến trình chọn lọc được thực hiện bằng cách quay bánh xe Rulet N lần; mỗi

lần chọn một nhiễm sắc thể từ quần thể hiện hành vào quần thể mới theo cách sau:

+ Phát sinh ngẫu nhiên một số r trong khoảng [0,1]

+ Nếu r <q1thì chọn nhiễm sắc thể đầu tiên ( 1); ngược lại thì chọn nhiễm sắc thể thứ i, I (2 i N) sao cho qi-1 < r <qi

Hiển nhiên, có thể sẽ có một số nhiễm sắc thể được chọn lọc nhiều lần. Các nhiễm sắc thể tốt có nhiều bản sao hơn, các nhiễm sắc thể trung bình không thay đổi, các nhiễm sắc thể kém nhất sẽ chết đi.

Chọn lọc tranh đua

Một chiến lược phổ biến thứ hai (và có lẽ là một trong số các chiến lược hiệu quả nhất cho nhiều ứng dụng) đó là chọn lọc tranh đua. Phương pháp này (trong một lần lặp) sẽ chọn ra một quần thể con gồm k cá thể ngẫu nhiên từ quần thể. Các cá thể của quần thể con này sẽ thi đấu trên cơ sở hàm lượng giá của nó. Cá thể trong quần thể con với hàm lượng giá cao nhất sẽ thắng trong cuộc chạy đua, và trở thành cá thể được chọn cho thế hệ kế tiếp. Tiến trình này được lặp lại N lần. Rõ ràng, nếu k lớn sẽ làm tăng áp lực chọn lọc; thông thường trong chọn lọc tranh đua sử dụng k=2.

3.2.6. Các phép toán di truyền

Trong giai đoạn tiến hoá quần thể, ta có thể dùng hai phép toán di truyền cổ điển: lai và đột biến.

Sau khi xếp hạng và loại bớt một số nhiễm sắc thể, và giả sử còn lại N/2 nhiễm sắc thể tốt nhất, các nhiễm sắc thể này được dùng để lai ghép. Hai nhiễm sắc thể bất kỳ được chọn để lai ghép. Một số khả năng là: ghép đôi từng cặp hai nhiễm sắc thể từ trên xuống dưới; ghép đôi chúng một cách ngẫu nhiên; hoặc ghép đôi nhiễm sắc thể 1 với nhiễm sắc thể N/2, 2 với N/2-1;Mỗi cặp nhiễm sắc thể cha - mẹ sẽ tạo ra hai nhiễm sắc thể con mới. Ví dụ, nhiễm sắc thể 6 được ghép với 2, và 3

được ghép với 1, từ bảng 3.2. Tiếp theo một điểm lai ngẫu nhiên được chọn, ta gọi là phép lai một điểm. Các số nhị phân ở phía bên phải của điểm lai được hoán vị để tạo ra hai nhiễm sắc thể con cháu mới.

Ta sẽ minh hoạ phép lai trên các nhiễm sắc thể 6 và 2. Giả sử rằng điểm lai được chọn ngẫu nhiên là giữa bit 5 và 6:

6 = (10101|0010101)

2 = (11100|1100101)

Hai con của kết quả lai là: 6 = (10101|1100101)

2 = (11100|1100101)

Như vậy, từng cặp nhiễm sắc thể cha mẹ sẽ tạo ra hai nhiễm sắc thể con cháu mới, sau khi cho lai tạo hết các cặp nhiễm sắc thể cha mẹ, số nhiễm sắc thể con cháu là N/2. Đưa các nhiễm sắc thể mới này vào quần thể thay cho các nhiễm sắc thể đã bị loại bỏ để tham gia vào các quá trình tiến hoá tiếp theo, ta có số nhiễm sắc thể trong quần thể là N (bằng số nhiễm sắc thể lúc ban đầu). Ảnh hưởng của phép lai là để sắp xếp lại các gen, với mục đích đưa ra các tổ hợp tốt hơn của các gen. Ngoài phép lai một điểm như đã trình bày ở trên còn có các phép lai khác như:

Lai hai điểm

Với phép lai hai điểm, hai điểm lai sẽ được lựa chọn ngẫu nhiên. Trong trường hợp này các nhiễm sắc thể bố mẹ chỉ hoán vị các bít nằm giữa hai điểm lai.

Lai đồng nhất

Lai đồng nhất không sử dụng điểm lai. Nó đề cập từng vị trí bit của hai nhiễm sắc thể cha - mẹ, và hoán vị hai bit đó với xác suất các bít trong nhiễm sắc thể cha - mẹ được hoán vị là 50%.

Lai số học

Phép lai này được dùng cho phiên bản thập phân, được định nghĩa như tổ hợp tuyến tính của hai nhiễm sắc thể cha - mẹ: x1 và x2, các con sinh ra sẽ là

2 1

'

1 ax 1 a x

xx'2 ax2 1 a x1. Toán tử này dùng giá trị ngẫu nhiên a [0 1],

Một phép lai số học khác là từ hai nhiễm sắc thể cha mẹ, có 3 con sinh ra là:

Nhiễm sắc thể c1 cho giá trị trung bình (trung điểm) của x1 và x2, nhiễm sắc thể c2 và c3 cho hai điểm ngoại suy từ trung điểm. Nếu x1 và x2 là đồng nhất thì ba

con mới sinh ra vẫn giống như x1 hoặc x2. Đây là chức năng quan trọng để cho con

cháu giữ được phẩm chất tốt của bố mẹ.

Lai Heuristic

Phép lai này sử dụng các giá trị hàm mục tiêu của hai nhiễm sắc thể cha mẹ để quyết định hướng tìm kiếm, nó chỉ tạo ra một con, và cũng có thể không tạo ra con nào cả.

Toán tử này phát sinh một con duy nhất x3 từ hai cá thể cha mẹ x1 và x2 theo luật sau đây:

(3.6)

Trong đó, r là số ngẫu nhiên giữa 0 và 1, và x2 không xấu hơn x1.

Có thể toán tử này phát sinh một con không thoả mãn ràng buộc. Trong trường hợp này, một giá trị ngẫu nhiên r khác được phát sinh và một con khác được tạo. Nếu sau lần thử mà không tìm được một lời giải mới nào thoả mãn các dàng buộc, toán tử này sẽ bỏ cuộc và sẽ không tạo ra con nào.

Dường như phép lai Heuristic đóng góp độ chính xác cho lời giải tìm được. Các trách nhiệm của nó là (1) tìm chính xác cục bộ, và (2) tìm theo hướng hứa hẹn nhất.

Tuỳ thuộc vào từng bài toán cụ thể mà có những cách định nghĩa phép lai - Heuristic khác nhau thích hợp cho các bài toán đó.

Phép đột biến làm thay đổi một (số) gen (các vị trí trong một nhiễm sắc thể)

với xác suất bằng tốc độ đột biến. Giả định rằng gen thứ 7 trong nhiễm sắc thể 2'

được chọn để đột biến. Và đột biến chính là thay đổi giá trị gen này: 0 thành 1 và 1

thành 0. Như vậy, sau đột biến này '

Thông thường xác suất đột biến khoảng 1%, tức là 1% bit 1bit bất kỳ của một cá thể bất kỳ trong quần thể bị đột biến.

Sau khi lai và đột biến, các nhiễm sắc thể con cháu và nhiễm sắc thể đột biến lại được lượng giá, và quá trình được lặp lại. Sau một số thế hệ, khi không còn cải thiện thêm được gì nữa, nhiễm sắc thể tốt nhất sẽ được xem như lời giải của bài toán tối ưu (thường là toàn cực). Thông thường, ta cho dừng thuật giải di truyền sau một số bước lặp cố định tuỳ thuộc điều kiện về tốc độ và tài nguyên máy tính.

Trên đây tác giả đã trình bày những nội dung chính của thuật giải di truyền, còn nhiều vấn đề chưa đề cập, tùy vào từng bài toán cụ thể sẽ có những quá trình tiến hoá khác nhau. Tác giả đã sử dụng phép chọn lọc tranh đua và phép lai Heuristic mới là việc dùng đa lai tạo, tức là dùng nhiều hơn 2 cha mẹ góp sức để tạo một con với phiên bản thập phân, sẽ được trình bày kỹ hơn khi áp dụng vào các bài toán thiết kế cụ thể.

3.3. Ứng dụng thuật toán di truyền thiết kế anten chấn tử đối xứng3.3.1. Giới thiệu 3.3.1. Giới thiệu

Với các đặc tính của anten được trình bày trong chương 2, việc tính toán thiết kế anten chấn tử đối xứng hay cụ thể là anten Yagi với số chấn tử cho trước đảm bảo các yêu cầu kỹ thuật đặt ra là không đơn giản bởi nó phải đồng thời tối ưu nhiều tham số có ảnh hưởng tương hỗ lẫn nhau. Trong phần này, tác giả sẽ trình bày phương pháp thiết kế anten Yagi bằng thuật giải di truyền.

3.3.2. Phƣơng pháp tính toán tham số anten sử dụng thuật giải di truyền 3.3.2.1. Tổng quan về phƣơng pháp tính toán 3.3.2.1. Tổng quan về phƣơng pháp tính toán

Với anten Yagi có kích thước và khoảng cách giữa các chấn tử là xác định ta tiến hành các bước giải bài toán thuận (bài toán phân tích) như sau:

Bước 1: Tính trở kháng riêng và trở kháng tương hỗ giữa các chấn tử.

Bước 2: Giải hệ phương trình Kirchhoff, tìm dòng trên các chấn tử.

Bước 3: Tính đặc trưng hướng của anten.

Bước 4: Tính hệ số tác dụng định hướng theo hướng trục.

Bài toán ngược (bài toán tổng hợp) đối với anten Yagi có thể đặt ra như sau: Với độ dài của anten đã cho và số phần tử đã chọn, xác định kích thước và khoảng cách giữa các chấn tử sao cho anten đạt được chỉ tiêu chất lượng cao nhất. Trong trường hợp đơn giản, chỉ tiêu chất lượng của anten có thể được chọn là hệ số định hướng ở tần số cho trước. Trong các trường hợp khác có thể không chỉ là hệ số định hướng mà còn là mức cánh sóng phụ, mức bức xạ ngược, trở vào, dải tần công tác v.v…

Để giải quyết bài toán tổng hợp anten theo các chỉ tiêu chất lượng cho trước có thể áp dụng các phương pháp tính tối ưu, bằng cách sử dụng máy tính số. Quá trình tính toán được tóm tắt như sau: Sau khi chọn gần đúng các thông số tự do như vị trí, chiều dài các chấn tử (các số liệu này được gọi là các số liệu gần đúng ban đầu), tiến hành giải bài toán thuận và xác định các chỉ tiêu chất lượng của anten. Sau đó biến đổi liên tiếp giá trị của các thông số tự do và lặp lại thủ tục tính toán nhiều lần, đến chừng nào mà chỉ tiêu chất lượng của anten đạt đến mức cao nhất có

Một phần của tài liệu Nghiên cứu thuật toán di truyền và ứng dụng thiết kế Anten chấn tử đối xứng (Trang 86 - 128)

Tải bản đầy đủ (PDF)

(128 trang)