2 Cơ sở toán học của giải thuật di truyền
2.3.1 Dạng biểu diễn ma trận của toán tử lai ghép trong
RCGA
Để phân tích tác động của toán tử lai ghép, ta biểu diễn các dạng khác nhau của toán tử lai ghép kinh điển bởi các phép toán đại số, cụ thể như sau: Mỗi cá thể được mã hóa là một véc tơ thực n chiều; giả sử cặp cá thể cha mẹ được chọn để lai ghép là X = (x1, x2, ..., xn) và Y = (y1, y2, ..., yn); hai cá thể con tạo được sau lai ghép là X0 = (x01, x02, ..., x0n)
diễn bởi các phép nhân ma trận sau:
a) Lai ghép một điểm
Toán tử lai ghép một điểm với điểm lai ghép là k được biểu diễn bởi phép nhân ma trận:
(X0, Y0) = (X, Y)×M
trong đó (X, Y) là véctơ thuộc R2n ; M là ma trận vuông cấp 2n:
M =
"
A I −A
I −A A
#
trong đó A là ma trận chéo cấp n với aii =
1 khi i = 1, ..., k
0 khi i = k + 1, ..., n b) Lai ghép đa điểm
Toán tử lai ghép đa điểm có dạng biểu diễn bởi ma trận là :
(X0, Y0) = (X, Y)×M
trong đó (X, Y) là véctơ thuộc R2n;M là ma trận vuông cấp 2n:
M =
"
A I −A
I −A A
#
trong đó A là ma trận chéo cấp n với
aii = 1 tại những đoạn [j2t, j2t+1], t = 0, ...,[k/2]
aii = 0 nếu khác đi (k là số điểm lai ghép)
c) Lai ghép mặt nạ
Toán tử này được biểu diễn qua phép nhân ma trận:
(X0, Y0) = (X, Y)×M
Với M là ma trận vuông cấp 2n được lập như sau:
M =
"
A I −A
I −A A
trong đó A là ma trận chéo cấp n với aii =
1 khi i ∈ {i1, ..., ik}
0 khi i 6∈ {i1, ..., ik} d) Lai ghép số học
Toán tử này được biểu diễn qua phép nhân ma trận:
(X0, Y0) = (X, Y)×M
Với M là ma trận vuông cấp 2n được lập như sau:
M =
"
A I −A
I −A A
#
trong đó A là ma trận chéo cấp n với aii = a;i = 1, ..., n e) Lai ghép Heuristic
Toán tử này chỉ tạo một con duy nhất X0 từ cặp cha mẹ (X, Y). Dạng biểu diễn ma trận là X0 = (X, Y)×M, với M là ma trận chữ nhật cấp
(2n×n) được lập như sau:
M =
"
A I −A
#
trong đó A là ma trận chéo cấp n với aii = a+ 1;i = 1, ..., n
Nhận xét. Nói chung việc biểu diễn các dạng lai ghép "tuyến tính" qua phép nhân ma trận như trình bày ở trên có thể mô tả như sau:
Với các ký hiệu X, Y và X0, Y0 như đã nêu trên, có thể biểu diễn tổng quát quan hệ giữa các thành phần x0i, y0i qua xi và yi bởi:
x0i = aixi + (1−ai)yi; yi0 = (1−bi)xi +biyi;
ở đây (a, b) = (a1, ..., an, b1, ..., bn) ∈ R2n là véc tơ hệ số với hàm phân phối s(a, b) (hàm này có thể là tùy ý chỉ cần thoả mãn s(a, b) = s(b, a)).
Công thức trên có thể biểu diễn bởi :
(X0, Y0) = (X, Y).F(a, b) trong đó F(a, b) = " A I −B I −A B #
với A và B là các ma trận đường chéo cấp n với các phần tử trên đường chéo tương ứng là các thành phần ai và bi của véc tơ hệ số (a, b) nêu trên. Từ đó dễ dàng tính F(a, b)−1 theo công thức: F(a, b)−1 = " A0 I −B0 I −A0 B0 #
ở đây A0 và B0 là các ma trận đường chéo cấp m với các phần tử trên đường chéo tương ứng là các a0i và b0i trong đó:
a0i = bi
ai+ bi−1 b
0
i = ai
ai+ bi−1
Với cách biểu diễn trên, có thể tính xác suất để cặp phần tử (X0, Y0)
được sinh ra từ (X, Y) thuộc một tập M trong không gianR2n sau phép lai ghép bởi công thức:
P((X0, Y0) ∈ M) = P((X, Y).F(a, b) ∈ M&(a, b) ∈ R2n)
= P((X, Y) ∈ M.F(a, b)−1&(a, b) ∈ R2n&s(a, b) 6= 0)
Nếu gọi pXY(x, y) là hàm mật độ quần thể cha mẹ trước lai ghép và
pX0Y0(x, y) là hàm mật độ quần thể con cháu sau lai ghép thì mối quan hệ giữa chúng có thể biểu diễn bởi:
pX0Y0(x, y) = Z Λ pXY(x, y)F(a, b)−1 |F(a, b)| s(a, b)dadb trong đó s(a, b) = {(a, b) ∈ R2n|s(a, b) 6= 0}.
Từ đó ta tính được sự thay đổi mật độ quần thể sau khi lai ghép p(x)
dựa vào mật độ trước lai ghép q(x) như sau:
p(x) = Z Λ s(a, b) |F(a, b)| nZ Rm q(xA0+y(I −A0))q(x(I −B0) +yB0)dyodadb
Dựa vào biểu diễn này có thể tính giá trị trung bình của hàm mục tiêu f :Rn → R với mật độ quần thể là p theo công thức:
E(f, p) = Z Λ s(a, b)n Z R2m f(xA+y(I −A))q(x)q(y)dxdyodadb
trong đó q(x) là mật độ quần thể trước khi lai ghép. Trong công thức trên, nếu thay thế f bởi xi ta có:
E(xi, p) =
Z
Λ
s(a, b)(aiE(xi, q) + (1−ai)E(xi, q))dadb = E(xi, q)
Do đó ta có kết luận: Giá trị trung bình của mật độ quần thể không thay đổi qua phép lai ghép dạng "tuyến tính" như đã nêu trên.
Sử dụng cách biểu diễn này, Tatsuya Nomura đã chứng minh rằng: Với mỗi i, j ∈ {1, ..., m}, sự biến đổi giữa các toạ độ thứ i và thứ j trên mật độ quần thể sau khi lai ghép là tích của nó trước khi lai ghép với một hằng số: P Cij = E(2aiaj −ai −aj, s) + 1.
Giá trị P Cij biểu thị tính chất đa dạng của toán tử lai ghép.
Như vậy, việc biểu diễn toán tử lai ghép qua mô hình toán học sẽ tạo thuận lợi để phát triển tiếp tục cơ sở lý thuyết của thuật toán di truyền. Kết hợp với các toán tử khác trong một thuật toán di truyền đầy đủ, hy vọng sẽ tìm được sự phối hợp giữa các toán tử di truyền một cách hợp lý cho mỗi bài toán.