Tải bản đầy đủ (.doc) (66 trang)

Xây dựng mô hình mạng nơ ron dự báo dữ liệu và ứng dụng mô hình đó trong bài toán dự báo đỉnh lũ sông Trà Khúc tại trạm khí tượng Sơn Giang

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (676.02 KB, 66 trang )

1

Mở đầu
Dự báo dữ liệu là bài toán quan trọng mang lại nhiều lợi ích thiết thực phục
vụ con ngời, nó giúp con ngời nắm bắt đợc các quy luật vận động trong tự nhiên và
trong đời sống kinh tế xà hội. Trong những năm gần đây, các mạng nơ ron truyền
thẳng nhiều lớp đợc thực tiễn chứng minh là khá mạnh và hiệu quả trong các bài
toán dự báo và phân tích số liệu, đặc biệt trong các bài toán dự báo sử dụng năng lợng, dự báo kinh tế, dự báo trong tự nhiên
Các mạng nơ ron truyền thằng phải đợc huấn luyện trớc khi sử dụng để thực
thi một bài toán dự báo trong thực tế. Với một cấu trúc mạng đợc chọn, quá trình
huấn luyện mạng là quá trình hiệu chỉnh các trọng số của mạng và thờng đợc phát
biểu dới dạng một bài toán tối thiểu hoá hàm sai số huấn luyện. Thủ tục huấn luyện
cần một giải thuật tìm kiếm có khả năng tìm lời giải toàn cục, không phụ thuộc vào
quá trình khởi động các trong số ban đầu. Ngoài ra, các giải thuật này phải có khả
năng tìm kiếm hiệu quả trong không gian nhiều chiều do số lợng trọng số trong các
mạng nơ ron là khá lớn.
Giải thuật GA là giải thuật tìm kiếm dựa trên quá trình chọn lọc tự nhiên, di
truyền và tiến hóa. Các nguyên lý cơ bản của giải thuật đợc tác giả J.H.Holland đề
xuất lần đầu vào năm 1962, nền tảng toán học của giải thuật GA đợc tác giả công bố
trong cuốn sách Sự thích nghi trong các hệ thống tự nhiên và nhân tạo xuất bản
năm 1975. Giải thuật GA đợc xem nh một phơng pháp tìm kiếm có bớc chuyển ngẫu
nhiên mang tính tổng quát để giải các bài toán tối u hoá. Với những đặc thù riêng
của mình, giải thuật GA đợc sử dụng khá hiệu quả trong thủ tục huấn luyện mạng
nơ ron. Tuy nhiên, giải thuật GA gặp khó khăn về sự hội tụ. Giải thuật GA đơn giản
do Holland đề xuất đà đợc chứng minh là không bảo đảm sự hội tụ hoặc không hội
tụ tới lời giải toàn cục. Ngoài ra, các giải pháp cải tiến chiến lợc thay thế hoặc toán
tử đột biến tuy giúp cho giải tht GA héi tơ, nhng sù héi tơ nµy dƠ dẫn đến hiện tợng hội tụ sớm, nghĩa là giải thuật kết thúc tại một cực trị địa phơng mà không có
khả năng tìm thấy cực trị toàn cục.


2



Giải thuật huấn luyện kinh điển lan truyền ngợc của sai số (giải thuật BP) đợc
sử dụng rộng rÃi nhất trong việc huấn luyện mạng nơ ron truyền thẳng. Giải thuật
này đảm bảo sự hội tụ nhng dễ hội tụ tại một cực trị địa phơng mà không có khả
năng tìm kiếm cực trị toàn cục. Mặt khác, kết quả huấn luyện của giải thuật này phụ
thuộc vào nhiều yếu tố, đặc biệt là quá trình khởi động các trọng số ban đầu.
Do nhu cầu cấp thiết phải xây dựng một giải thuật vừa có khả năng tìm kiếm
lời giải toàn cục, vừa phải đảm bảo sự hội tụ để huấn luyện cho mạng nơ ron truyền
thẳng thực thi một bài toán dự báo trong thực tế, luận văn tập trung nghiên cứu giải
pháp tích hợp giải thuật GA với giải thuật BP trong việc huấn luyện mạng nơ ron
truyền thẳng. Trên cơ sở đó, luận văn trình bày các bớc chính để xây dựng mô hình
mạng nơ ron dự báo dữ liệu và ứng dụng mô hình đó trong bài toán dự báo đỉnh lũ
sông Trà Khúc tại trạm khí tợng Sơn Giang.
Những đóng góp chính của luận văn
ã Luận văn trình bày các vấn đề lý thuyết về mạng nơ ron, mạng nơ ron truyền
thẳng nhiểu lớp và thuật toán BP dạng tổng quát để huấn luyện mạng, một số
vấn đề về sử dụng giải thuật BP để huấn luyện mạng thực thi một bài toán
trong thực tế.
ã Luận văn trình bày các vấn đề lý thuyết về giải thuật SGA và những cải tiến
của giải thuật SGA.
ã Luận văn xây dựng giải pháp tích hợp giải thuật GA với giải thuật BP thành
một giải thuật lai GA - BP dể huấn luyện mạng nơ ron truyền thẳng nhiểu
lớp.
ã Luận văn trình bày ứng dụng giải thuật lai GA - BP trong mô hình mạng nơ
ron dự báo. Giải thuật lai GA - BP đà đợc cài đặt và thử nghiệm để huấn
luyện mạng nơ ron truyền thẳng trong bài toán dự báo khí tợng thuỷ văn.
Cấu trúc của luận văn
Phần mở đầu của luận văn giới thiệu nội dung nghiên cứu, tính cấp thiết của
đề tài và những đóng góp chính của luận văn. Chơng 1 giới thiệu các khái niệm cơ
bản và phạm vi ứng dụng của mạng nơ ron. Chơng 2 giới thiệu về giải thuËt SGA vµ



3

các cải tiến của giải thuật SGA. Chơng 3 giới thiệu về mạng nơ ron truyền thẳng
nhiều lớp, giải thuật BP, các vấn đề về sử dụng giải thuật BP và xây dựng giải pháp
tích hợp giải thuật GA với giải thuật BP trong việc huấn luyện mạng nơ ron truyền
thẳng nhiều lớp. Chơng 4 trình bày mô hình thuật toán và cài đặt giải thuật lai GA BP. Chơng 5 trình bày các bớc xây dựng mô hình mạng nơ ron dự báo và thử
nghiệm giải thuật GA - BP trong việc huấn luyện mạng nơ ron để thực thi bài toán
dự báo đỉnh lũ sông Trà Khúc tại trạm Sơn Giang. Phần kết luận nêu ra các kết luận
từ luận văn và các hớng nghiên cứu tiếp theo. Phần phụ lục đa ra một số chức năng
của chơng trình đợc viết bằng Visual Basic.


4

Chơng 1

Các khái niệm cơ bản về mạng nơ ron
Chơng này đề cập đến các vấn đề sau:
1.1.

Nơ ron sinh học và mạng nơ ron sinh học

1.2.

Nơ ron nhân tạo

1.3.


Mạng nơ ron nhân tạo

1.4.

Thủ tục học của mạng nơ ron

1.5.

Phạm vi ứng dụng của mạng nơ ron

1.1. Nơ ron sinh học và mạng nơ ron sinh học
Hệ thần kinh ở ngời có khoảng 1010 tế bào thần kinh đợc gọi là các nơ ron
[24]. Mỗi nơ ron gồm có ba phần: thân nơ ron với nhân ở bên trong, một đầu thần
kinh ra và một hệ thống hình cây các đầu thần kinh vào. Độ lớn của các tín hiệu vào
có thể bị thay đổi khi đợc truyền qua các khớp thần kinh có trên các nhánh thần kinh
vào. Tỷ lệ biến đổi tín hiệu ở khớp thần kinh đợc gọi là độ khuyếch đại khớp và đợc
gọi là các trọng số trong các nơ ron nhân tạo. Theo các nghiên cứu về sinh học, chức
năng của hệ thần kinh không phụ thuộc nhiều vào vai trò của từng nơ ron đơn lẻ mà
phụ thuộc vào cách mà toàn bộ các nơ ron đợc nối với nhau, gọi là mạng nơ ron sinh
học [24].
1.2. Nơ ron nhân tạo
Nơ ron nhân tạo là mô hình toán học mô phỏng nơ ron sinh học. Mỗi nơ ron
nhân tạo đợc gọi là một đơn vị xử lý với chức năng: nhận tín hiệu vào từ các đơn vị
phía trớc (hay một nguồn bên ngoài), tính tín hiệu ra từ các tín hiệu vào và lan
truyền tín hiệu ra sang các đơn vị khác.


5

x0

x1
...
xn

θj

wj0
wj1

j

aj

Σ

wjn
n

aj = ∑wjixi +θj

g(aj)

zj

zj = g ( a j )

i =1

Hình 1.1 : Đơn vị xử lý thứ j
Mỗi tín hiệu đầu vào nơ ron thứ j đợc ký hiệu là xi với trọng số tơng ứng là

wji. Đại lợng đo tín hiệu tổng cộng đi vào nơ ron thứ j, ký hiệu là aj, đợc xác định
một cách đơn giản nh sau :
ã aj là hàm của các tín hiệu xi và các trọng số wji, gọi là Hàm kết hợp
ã Hàm kết hợp là tổng các tích của tín hiệu xi và trọng số tơng ứng wj :
n

aj = wjixi + j
i =1

Trong đó là một tham số đợc gọi là ngỡng của nơ ron. Nếu wji>0, nơ ron đợc coi là ở trong trạng thái kích thích. Nếu wji < 0, nơ ron ở trạng thái kiềm chế.
Quá trình biến đổi giá trị aj thành tín hiệu đầu ra zj đợc thực hiện bởi hàm
kích hoạt (hàm chuyển) phi tuyến zj= g(aj). Hàm kích hoạt phải thoả mÃn các điều
kiện sau:
ã Tín hiệu đầu ra zj là không âm với bất kể giá trị nào của aj
ã g là hàm liên tục và bị chặn trong khoảng [0,1]
Những hàm thỏa mÃn điều kiện trên còn đợc gọi là các hàm nén theo nghĩa
chúng nén tín hiệu đầu ra vào một khoảng nhỏ. Có khá nhiều hàm thoả mÃn các
điều kiện trên, song trong thực tế chỉ có một số hàm thờng đợc sử dụng trong các
mạng nơ ron nh sau
1) Hàm tuyến tính (Linear) : g ( x) = x
2) Hµm ranh giíi cøng (Hard-Limiter) : Hàm này chỉ có hai giá trị là 0 và 1,
ngoài ra hàm còn có một giá trị ngỡng . Tín hiệu đầu ra phụ thuộc tổng
tín hiệu đầu vào và giá trị ngỡng.
1
g ( x) =
0

if( x ≥ θ )
if( x < θ )



6

Vì hàm này rất thuận tiện khi đa câu trả lời có hay không nên nó thờng xuyên
đợc sử dụng cho các tín hiệu ra cuối cùng của mạng.
3) Hàm ngìng logic:
if( x ≥ θ )
if( x < θ )

1
g ( x) = 
0

4) Hµm sigmoid (Sigmoid function (logsig))
g ( x) =

1
1 + ex

Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng đợc huấn luyện bằng
giải thuật BP, bởi vì nó dễ lấy đạo hàm, do đó có thể giảm đáng kể tính toán trong
quá trình huấn luyện. Mặt khác, hàm này đợc ứng dụng cho các bài toán mà đầu ra
mong muốn rơi vào khoảng [0,1].
1.3. Mạng nơ ron nhân tạo
Khái niệm
Mạng nơ ron nhân tạo là hệ thống bao gồm nhiều nơ ron nhân tạo kết hợp với
nhau. Hệ thống này có khả năng học số liệu và tổng quát hóa từ các số liệu đợc học.
Cấu trúc
Mạng nơ ron nhân tạo đợc biểu diễn bằng một đồ thị gồm một tập các nút và
các cung có hớng, mỗi nút tơng ứng với một nơ ron, các cung biểu diễn các liên kết

giữa các nơ ron. Cấu trúc mạng nơ ron gồm cơ cấu tổ chức và sơ đồ kết nối.
Cơ cấu tổ chức thờng đợc xác định bởi số lớp mạng và số nơ ron trong mỗi
lớp:

ã Lớp vào : Các nơ ron trong lớp vào gọi là các nơ ron vào, chúng không xử
lý thông tin mà chỉ mà hóa mẫu đa vào mạng để xử lý. Thông thờng, số
thuộc tính của mẫu đa vào mạng bằng số nơ ron vào, chính là số đầu vào
của mạng.

ã Lớp ẩn : Các nơ ron trong lớp này gọi là các nơ ron ẩn vì chóng kh«ng
thĨ


7

quan sát trực tiếp đợc. Mạng có thể có một hay nhiều lớp ẩn. Chúng
cung cấp các mô hình toán học phi tuyến cho mạng.

ã Lớp ra : Các nơ ron ở lớp này gọi là các nơ ron ra, các nơ ron này mà hoá
giá trị hay khái niệm của các mẫu đa vào mạng. Ví dụ, trong bài toán
phân lớp, mỗi đầu ra là đại diện cho một lớp các đối tợng.
Sơ đồ kết nối xác định bởi phơng thức kết nối giữa các nơ ron trong mạng
[21]:

ã Mạng truyền thẳng : Luồng dữ liệu đi từ các nơ ron vào đến các nơ ron ra
chỉ đợc truyền thẳng. Không có các liên kết từ các nơ ron ra tới các nơ
ron vào trong cùng một lớp hay của các lớp trớc đó.
x0

bias


h0

x1

bias
y1

h1

x2

y2

h2





xl

w

Lớp vào

(1 )
ji

hm


Lớp ẩn


yn

w

(2)
kj

Lớp ra

Hình 1.2: Mạng nơron truyền thẳng nhiều lớp (Feed-Forward Neural Network)

ã Mạng hồi quy: Có chứa các liên kết ngợc, nghĩa là các liên kết từ nơ ron
lớp ra tới nơ ron lớp vào trong cùng một lớp hoặc các lớp trớc đó.
h0

x0

h1

x1

xl
Lớp vào

y0




y1

yn

hm

Lớp ẩn

Lớp ra

Hình 1.3: Mạng hồi quy (Recurrent Neural Network)


8

Các thông số cấu trúc của mạng
Dới đây là các thông số cấu trúc của mạng nơ ron nhân tạo:

ã

Sơ đồ kết nối (mạng truyền thẳng hay hồi quy)

ã

Số tìn hiệu vào và số tín hiệu ra

ã


Số lớp mạng

ã

Số nơ ron trên mỗi lớp

ã

Số lợng các trọng số của mỗi lớp

1.4. Thủ tục học của mạng nơ ron
Thành phần quan trọng nhất và không thể thiếu của các mạng nơ ron là các
thủ tục học (giải thuật huấn luyện mạng). Có thể chia các thủ tục này thành hai
nhóm chính là học tham số và học cấu trúc. Cả hai thủ tục học này có thể đợc thực
hiện đồng thời hoặc tách biệt. Các thủ tục học tham số lại có thể đợc chia thành ba
lớp nhỏ hơn là học có thầy [24], học tăng cờng [6] và học không có thầy [16].
Học tham số
Với một cấu trúc mạng cho trớc, các trọng số của mạng (gọi là các tham số
của mạng) phải đợc xác định trớc khi sử dụng mạng để thực thi một nhiệm vụ cụ
thể. Ngoại trừ trờng hợp các mạng nơ ron một lớp Hopfield (các trọng số đợc tính
toán một cách giải tích), thông thờng, các trọng số của mạng đợc khởi tạo ngẫu
nhiên trong một khoảng nhất định. Học tham số là quá trình điều chỉnh các trọng số
để mạng nhận biết đợc mối quan hệ giữa đầu vào và đầu ra mong muốn. Rất nhiều
các thuật toán học đợc đề xuất để tìm tập trọng số tối u đối với mỗi bài toán, các
thuật toán đó có thể chia thành hai nhóm chính : Học có thầy (Supervised learning)
và Học không có thầy (Unsupervised Learning).

ã Học có thầy
Mạng đợc học bằng cách cung cấp cho nó các cặp mẫu đầu vào và đầu ra
mong muốn. Sai số giữa các đầu ra thực tế so với các đầu ra mong muốn đợc thuật

toán sử dụng để hiệu chỉnh các trọng số trong mạng.


9

Tập mẫu là tập các cặp véc tơ vào - ra mong muốn M = {x i,yi)} đợc sử dụng
để luyện mạng nơ ron. Đối với mỗi véc tơ tín hiệu vào xi, mạng nơ ron tính toán tín
hiệu ra out và so sánh tín hiệu này với tín hiệu ra mong muốn yi để tạo ra tín hiệu sai
số. Tín hiệu sai số này xác định bề mặt sai số là hàm của các trọng số, có thể dùng
nh hàm mục tiêu để hiệu chỉnh các trọng số. Các giải thuật tìm kiếm đợc áp dụng
trong thủ tục học để hiệu chỉnh các trọng số sao cho mạng nơ ron có thể sản sinh ra
các tín hiệu ra out với một sai số chấp nhận đợc so với tín hiệu ra mong muốn [13].

Dữ liệu huấn luyện

Đầu vào

Đầu ra mong muốn
Đích

Mạng
Vào

Sai số

+

Ra
Thay đổi
Trọng số


-

Hm
Mục tiêu

Giải thuật luyện
(Phương pháp tối ưu)
Hình 1.4. Sơ đồ học có thầy

ã Học không có thầy
Với phơng pháp học không có thầy, không có thông tin phản hồi từ môi trờng
bên ngoài để chỉ ra rằng đầu ra out của mạng là đúng hay sai. Mạng nơ ron phải tự
khám phá các đặc trng, các mối tơng quan, tính cân xứng của các mẫu học một cách
tự động. Đối với phần lớn các biến thể của học không có thầy, các đích trùng với
đầu vào. Nói một cách khác, học không có thầy luôn thực hiện một công việc tơng
tự nh một mạng tự liên hợp, cô đọng thông tin từ dữ liệu vào.
Học cấu trúc
Trong phần học tham số, giả định là đà có mét cÊu tróc m¹ng. Thđ tơc häc
tham sè tinh chØnh các giá trị trọng số sao cho mạng hoạt động nh mong muốn. Thủ
tục học cấu trúc tìm kiếm các tham số cấu trúc của mạng để tạo ra một m¹ng ho¹t


10

động tốt nhất. Thực chất, học cấu trúc là việc tìm ra số lớp ẩn và số nơ ron trên mỗi
lớp ẩn vì số đầu vào và số đầu ra của mạng là xác định đối với một bài toán cụ thể.
Kết quả học cấu trúc phụ thuộc nhiều vào kết quả học tham số. Do đó, việc
xây dựng một giải thuật tìm kiếm cho thủ tục học tham số là cần thiết. Giải thuật tìm
kiếm này phải có khả năng tìm kiếm lời giải toàn cục, tìm kiếm hiệu quả trong

không gian nhiều chiều và có thể sử dụng cho nhiều cấu trúc mạng khác nhau.
Trong những năm gần đây, một số giải thuật tối u toàn cục mang tính tất định và
một số giải thuật mang tính xác suất đà đợc đề xuất. Các giải thuật mang tính xác
suất bao gồm các giải thuật tiến hóa{3] mà giải thuật GA là một ví dụ điển hình.
Giải thuật GA sẽ đợc trình bày trong chơng 2 của luận văn.
1.5. Phạm vi ứng dụng của mạng nơ ron
Mạng nơ ron thờng đợc ứng dụng trong các lĩnh vực nh phân loại
(classification), mô hình hóa (modeling), biến đổi (transformation and mapping) và
dự báo các sự kiện phụ thuộc thời gian.
Phân loại
Phân loại là cách sắp xếp các đối tợng vào các tập hoặc vào các lớp con của
các lớp lớn hơn. Việc phân loại thờng đợc tiến hành nhiều mức giống nh phép toán
ra quyết định, phân lớp đối tợng vào nhóm, nhóm con; vào chủng loại, chủng loại
con hoặc vào lớp, lớp con. Một đối tợng có thể đồng thời thuộc vào nhiều lớp khác
nhau, do đó kết quả của việc phân loại là tích của hai hay nhiều quyết định.
Mô hình hóa
Hệ thống phân loại thờng đa ra câu trả lời rời rạc nh có, không hoặc một số
nguyên định danh đối tợng đầu vào thuộc lớp nào. Tuy nhiên, việc mô hình hóa yêu
cầu hệ thống phải sản sinh ra các câu trả lời mang tính liên tục. Một số lợng nhỏ các
số liệu thực nghiệm đợc sử dụng để xây dựng mô hình, mô hình này có thể đa ra các
dự báo cho tất cả các đối tợng đầu vào có thể. Việc tìm ra đờng cong phù hợp với
các số liệu thực nghiệm là một ví dụ ứng dụng thuộc dạng này. Các ứng dụng thuộc
dạng này phần lớn là thủ tục của một biến vào vµ mét biÕn ra nh sau:
y = f (x, a, b,…, p)


11

Hàm f chứa một tập các tham số a, b,, p. Các tham số này phải đ ợc xác
định bằng việc tối thiểu hóa độ chênh lệch giữa số liệu thực nghiệm và giá trị tính

toán từ mô hình. Mô hình hóa cũng có thể mở rộng cho bài toán nhiều biến vào một biến ra hoặc nhiều biến vào - nhiều biến ra.
Việc mô hình hóa thờng đợc sử dụng cho các đối tợng có ít biến, khoảng từ 1
đến 10. Điều này có nghĩa là thờng sử dụng các mạng nhỏ, thời gian tính cũng nh tài
nguyên máy tính ít hơn so với các mạng dùng cho việc phân loại.
Biến đổi
Việc biến đổi nhằm mục đích nén các đối tợng từ không gian m chiều vào
không gian có số chiều nhỏ, khoảng hai hoặc ba. Qua việc nén các đối tợng này,
chúng sẽ bộc lộ những đặc điểm mà chúng ta không nhận thấy khi chúng ở trong
không gian nhiều chiều. Việc biến đổi tơng tự nh việc nhóm các đối tợng hay phân
loại. Sự khác biệt không lớn lằm nằm ở phơng pháp biểu diễn các kết quả. Những
câu hỏi mà việc biến đổi có thể trả lời là bàn đồ của toàn bộ đối tợng nh thế nào, có
bao nhiêu vùng trên bản đồ có thể phân biệt đợc, hình dáng các vùng đó nh thế
nào
Một trong những ứng dụng của biến đổi là tiền xử lý số liệu. Thông qua tiền
xử lý, các đối tợng điển hình đợc chọn từ tập vô số các đối tợng ngẫu nhiên nhận đợc, loại trừ đợc các đối tợng d thừa hay trùng lặp. Điều này rất quan trọng khi chọn
các đối tợng làm mẫu học cho mạng truyền thẳng huấn luyện bằng giải thuật BP đề
cập ở chơng 3.
Dự báo các sự kiện phụ thuộc thời gian
Lĩnh vực nghiên cứu các quá trình phụ thuộc thời gian là một trong những
lĩnh vực chính trong nghiên cứu điều khiển quá trình. ở đây, mô hình dự báo đợc
xây dựng dựa trên một chuỗi số liệu đợc ghi nhận theo thời gian. Trong mô hình
này, các biến của tín hiệu vào và tín hiệu ra về cơ bản là giống nhau. Chỉ một điều
khác biệt là, tín hiệu vào là các giá trị hiện tại và quá khứ của các biến quá trình, tín
hiệu ra là giá trị dự báo trong tơng lai của các biến quá trình đó.


12

Chơng 2


Giải thuật di truyền
Chơng này trình bày các vấn ®Ị sau:
2.1. Tỉng quan vỊ gi¶i tht di trun
2.2. Gi¶i thuật di truyền đơn giản
2.3. Nền tảng toán học của giải thuật di truyền
2.4. Những cải tiến tiếp theo của gi¶i tht di trun

2.1. Tỉng quan vỊ gi¶i tht di truyền
Giải thuật GA thuộc lớp các giải thuật tìm kiếm tiến hóa. Khác với phần lớn
các giải thuật tìm kiếm theo điểm, giải thuật GA thực hiện tìm kiếm song song trên
một tập gọi là quần thể các lời giải có thể. Thông qua việc áp dụng các toán tử di
truyền, giải thuật GA trao đổi thông tin giữa các cực trị và do đó làm giảm thiểu khả
năng kết thúc giải thuật tại một cực trị địa phơng. Trong thực tế, giải thuật GA đà đợc áp dụng thành công trong nhiều lĩnh vực bao gồm cả thủ tục huấn luyện mạng nơ
ron [7, 11].
Nội dung giải thuật di truyền
Giải thuật GA lần đầu tiên đợc tác giả J. H. Holland giới thiệu vào năn 1962
[12, 14]. Giải thuật GA mô phỏng quá trình tồn tại của các cá thể có độ phù hợp tốt
thông qua quá trình tiến hóa trong tự nhiên, sao cho khi thực thi giải thuật, quần thể
các lời giải ban đầu tiến hoá dần tới lời giải mong muốn.
Giải thuật GA duy trì một quần thể các lời giải có thể của bài toán tối u hóa.
Mỗi lời giải gọi là một cá thể hay một nhiễm sắc thể, thờng đợc mà hóa dới dạng
một chuỗi các gen, giá trị của các gen có trong chuỗi đợc lấy từ một bảng các ký tự
đợc định nghĩa trớc. Mỗi chuỗi gen đợc liên kết với một giá trị gọi là giá trị thích
nghi, còn gọi là độ phù hợp của chuỗi. Độ phù hợp của mỗi chuỗi gen đánh giá độ


13

thích nghi của nó với môi trờng (độ tốt xấu của lời giải) và đợc dùng trong quá trình
chọn lọc.

Quần thể mới đợc tạo ra bằng cách sử dụng các quá trình chọn lọc, lai ghép
và đột biến. Quá trình chọn lọc sao chép các cá thể có độ phù hợp tốt vào một quần
thể tạm thời đợc gọi là quần thể bố mẹ. Các cá thể trong quần thể bố mẹ đợc ghép
đôi một cách ngẫu nhiên và tiến hành lai ghép tạo ra các cá thể con. Sau khi tiến
hành quá trình lai ghép, giải thuật GA mô phỏng một quá trình khác trong tự nhiên
là quá trình ®ét biÕn, trong ®ã c¸c gen cđa c¸c c¸ thĨ con tự thay đổi giá trị với một
xác xuất nhỏ.
Nh vậy, giải thuật GA xuất phát với tập lời giải ban đầu, thông qua nhiều bớc
trong quá trình tiến hoá hình thành các tập lời giải mới tốt hơn, và cuối cùng tìm ra
lời giải đủ tốt chấp nhận đợc (lời giải gần với lời giải tối u).
Dới đây là sơ đồ khối của giải thuật di truyền

2.1. Sơ đồ khèi cđa gi¶i tht di trun


14

Các bớc chính trong việc áp dụng giải thuật di truyền
Để áp dụng giải thuật GA giải một bài toán trong thực tế, các bớc sau đây cần
đợc thực hiện:
Bớc 1 : Chọn tập lời giải ban đầu cho bài toán.
Bớc 2 : MÃ hoá các lời giải dới dạng các chuỗi, thông thờng các lời giải đợc
mà hóa thành các chuỗi nhị phân.
Bớc 3 : Tìm hàm số thích nghi (hàm phù hợp) cho bài toán và tính giá trị
thích nghi cho mỗi lời giải , còn gọi là giá trị độ phù hợp.
Bớc 4 : Dựa trên giá trị thích nghi của mỗi lời giải để thực hiện chọn lọc
(selecttion) và tiến hóa các lời giải. Các phơng pháp tiến hóa gồm lai ghép
(crossover) và đột biến (mutation).
Bớc 5 : Tính các giá trị thích nghi cho các lời giải mới và loại bỏ các lời giải
kém nhất, chỉ giữ lại một số nhất định các lời giải

Bớc 6 : Nếu cha tìm đợc lời giải tối u hay cha hết hạn chu kỳ xác định thì trở
lại Bớc 4 để tìm lời giải mới.
Bớc 7 : Tìm đợc lời giải tối u chấp nhận đợc hoặc nếu chu kỳ cho phép đÃ
chấm dứt thì báo cáo kết quả tính đợc.
Có nhiều lựa chọn khác nhau cho từng vấn đề trên. Phần tiếp theo sẽ đa ra
cách lựa chọn theo J.H.Holland khi thiết kế phiên bản giải thuật GA đầu tiên. Giải
thuật này đợc gọi là giải thuật di truyền đơn giản (SGA) [12,14]
2.2. Giải thuật di truyền đơn giản
J. H. Holland sử dụng mà hóa nhị phân để biểu diễn các cá thể, lý do là phần
lớn các bài toán tối u hóa, lời giải đều có thể đợc mà hóa thành chuỗi nhị phân khá
đơn giản [14]. Mỗi lời giải đợc mà hóa thành một chuỗi bít, mỗi chuỗi bít sau đó đợc giải mà để lấy lại giá trị thực và giá trị hàm mục tiêu đợc tính theo giá trị thực
này. Tuỳ từng bài toán cực tiểu hay cực đại, giá trị hàm mục tiêu đợc biến đổi thành
giá trị thích nghi cho từng chuỗi. Quần thể chuỗi ban đầu đợc khởi động ngẫu nhiên
và sau đó đợc tiến hóa từ thế hệ này sang thÕ hƯ kh¸c b»ng c¸ch sư dơng ba to¸n tö :
Chän läc (selecttion)


15

Lai tạo (crossover)
Đột biến (mutation)
Chọn lọc
Chọn lọc là việc lựa chọn các cá thể để tham gia vào các pha tiếp theo của
quá trình tiến hóa, việc lựa chọn này phụ thuộc vào giá trị thích nghi của cá thể đó,
nghĩa là những cá thể nào có giá trị thích nghi cao hơn sẽ có khả năng có nhiều con
cháu hơn trong các thế hệ tiếp theo. Giá trị thích nghi quyết định sự tồn tại hay diệt
vong của một cá thể. Giá trị thích nghi đợc tính từ hàm thích nghi, việc ánh xạ từ
hàm mục tiêu sang hàm thích nghi đợc trình bày ở phần sau.
Mô hình chọn lọc thờng đợc dùng là bánh xe xổ số (roulette wheel selection).
Giải thuật GA sử dụng một vòng tròn trong đó mỗi cá thể chiếm một phần tơng với

độ rộng là xác suất chọn lọc của mỗi cá thể. Xác suất chọn lọc pi của cá thể vi đợc
tính theo công thức pi = eval(vi)/F, trong đó eval(vi) là giá trị thích nghi của cá thể
vi, F là tổng giá trị thích nghi của toàn quần thể F=(eval(vi).
Mỗi khi thực hiện một lần quay vòn tròn, một ứng cử viên đợc chọn cho việc
lai ghép. Việc quay vòng tròn đợc thực hiện qua những bớc sau:
Bớc 1 : Đánh số các cá thể trong quần thể. Tính tổng giá trị thích nghi của
toàn quần thể và gọi nó là tổng thÝch nghi (Total fitness).
Bíc 2 : Sinh mét sè ngÉu nhiên n trong khoảng từ 0 đến tổng thích nghi.
Bớc 3 : Trả lại cá thể đầu tiên trong quần thể có giá trị thích nghi của nó cộng
với giá trị thích nghi của các cá thể trớc đấy lớn hơn hoặc bằng n.
Lai ghép
Toán tử chọn lọc nhằm tìm ra những cá thể tốt nhất nhng không tạo ra cá thể
mới. Tuy vậy, trong tự nhiên, các con sẽ thừa hởng di truyền những đặc tính tốt từ cả
cha và mẹ. Toán tử tác động trên các cá thể cha và mẹ để tạo ra các con lai tốt đợc
gọi là lai ghép. Chúng chỉ đợc áp dụng lên cặp cha mẹ đợc chọn với xác suất lai
ghép ký hiệu là Pcross [14]. Xác xuất này cho chúng ta số lợng Pcross*pop_size cá thể
đợc dùng cho hoạt động lai ghép với pop_size là kích thớc quần thể. Ngoài các cá
thể đó ra, các cá thể con là bản sao trùc tiÕp tõ cha mÑ.


16

Toán tử lai ghép trong giải thuật SGA là toán tử lai ghép một điểm cắt. Giả sử
chuỗi cá thể có độ dài L (chuỗi có L bít), toán từ lai ghép đợc tiến hành qua hai giai
đoạn là :
ã Phát sinh một số ngẫu nhiên r trong miền [0;1]
ã Nếu r < Pcross chọn cá thể đó để lai ghép.
Sau đó, kết hợp các cá thể đợc chọn một cách ngẫu nhiên. Với mỗi cặp cá
thể, phát sinh một sè ngÉu nhiªn pos tõ miỊn [1, L]. Sè pos báo hiệu vị trí của điểm
lai ghép. Hai cá thể :

(b1b2bposbpos+1bL) và (ccc2cposcpos+1cL)
đợc thay thế bởi cặp con cháu :
(b1b2bposcpos+1cL) và (ccc2cposbpos+1bL)
Đột biến
Các toán tử đột biến nhằm tạo ra các thông tin mới trong quần thể thu đợc
sau khi lai ghép tại các vị trí bít nào đó (quần thể có pop_size cá thể, mỗi cá thể có
độ dài L bít). Đột biến đợc áp dụng với xác suất rất nhỏ p m, vì nếu xác suất p m lớn,
giải thuật GA trở thành giải thuật tìm kiếm ngẫu nhiên. Số lợng bít đột biến là
pm*L*pop_size bít. Mỗi bít có cơ hội đột biến nh nhau và đợc thay đổi từ 0 thành 1
và ngợc lại. Có thể xử lý theo cách sau:
Với mỗi cá thể trong quần thể và mỗi bít trong cá thể:
ã Phát sinh một số ngẫu nhiên r trong miền [0,1].
ã Nếu r < pm, tiến hành đột biến tại bít đó.
Các thao tác này đợc áp dụng lặp lại cho tới khi các cá thể con cháu tăng trởng tới kích cỡ mong muốn của quần thể.
Tóm lại, ba toán tử nêu trên đợc tiến hành trong một vòng lặp cho đến khi các
chuỗi con chiếm toàn bộ quần thể mới. Quần thể mới gồm các cá thể của ba loại: bị
đột biến sau khi lai ghép; lai ghép nhng không bị đột biến; không lai ghép và cũng
không bị đột biến mà chỉ đơn giản là sao chép lại.
Hàm thích nghi (fitness)


17

Vì hàm thích nghi phải nhận giá trị không âm nên cần phải xây dựng ánh xạ
từ hàm mục tiêu đang xét của bài toán sang hàm thích nghi thông qua một hoặc
nhiều lần ánh xạ.
Nếu bài toán tối u là cực tiểu một hàm giá g(x), việc chuyển từ hàm giá sang
hàm thích nghi để sử dụng trong GA nh sau:
f(x) = Cmax - g(x)


khi g(x) < Cmax

f(x) = 0

trong các trờng hợp còn lại

ở đây, Cmax là tham số đầu vào. Ví dụ, có thể lấy C max là giá trị lớn nhất trong
quần thể hiện tại, hoặc lớn nhất sau k vòng lặp.
Khi hàm mục tiêu tăng hoặc đang xét bài toán cực đại hóa một hàm hữu dụng
u(x), có thể chuyển sang hàm thích nghi nh sau:
f(x) = u(x) + Cmin khi u(x) + Cmin > 0
f(x) = 0

trong các trờng hợp còn lại

ở đây, Cmin là tham số đầu vào, có thể là giá trị tuyệt đối bé nhất trong quần
thể hiện tại hoặc trong k vòng lặp cuối cùng
Tỷ lệ hóa giá trị thích nghi
Việc điều chỉnh số lợng con của mỗi cá thể trong những quần thể nhỏ là điều
rất quan trọng trong việc sử dụng giải thuật SGA để giải các bài toán tối u. Vào lúc
khởi động và một số thế hệ ban đầu, các quần thể thờng có một số cá thể siêu khỏe
so với đại đa số cá thể còn lại. Nếu để nguyên mà áp dụng quy tắc chọn lọc thì các
cá thể siêu khỏe sẽ chiếm gần toàn bộ quần thể tiếp theo vì chúng có rất nhiều con.
Điều này dẫn đến việc hội tụ sớm không mong muốn. Vào giai đoạn cuối, khi số thế
hệ khá lớn, giá trị thích nghi trung bình của toàn quần thể có thể gần với giá trị thích
nghi của cá thể tốt nhất, nếu để tự nhiên thì các cá thể trung bình cũng có số con tơng đơng víi c¸c c¸ thĨ tèt nhÊt trong thÕ hƯ tiÕp theo. Nếu điều này xảy ra thì giải
thuật SGA trở thành giải thuật tìm kiếm ngẫu nhiên giữa các cá thể trung bình. Cả
hai khó khăn lúc bắt đầu và giai đoạn kết thúc nêu trên có thể vợt qua bằng việc tỷ lệ
hóa giá trị thích nghi toàn quần thÓ.



18

Một trong những thủ tục tỷ lệ hóa đơn giản và hiệu quả là tỷ lệ hóa tuyến
tính. Nếu gọi giá trị thích nghi ban đầu (cha tỷ lệ hóa) là f và giá trị thích nghi sau
khi tỷ lệ hóa là f thì phơng trình tỷ lệ hóa tuyến tính là :
f =

a.f + b

Các hệ số a, b có thể đợc chọn theo một số cách.Tuy nhiên, trong mọi trờng
hợp, mong muốn rằng giá trị thích nghi trung bình sau khi tỷ lệ hóa của toàn quần
thể fave bằng giá trị thích nghi trung bình của toàn quần thể trớc khi tỷ lệ hóa. Điểu
này đảm bảo rằng, các cá thể trung bình sẽ đóng góp một con cho thế hệ tiếp theo.
Để kiểm soát số con cho thành viên siêu khỏe, một phơng trình khác đợc chọn là
fmax = Cmult*fave , ở đây Cmult là số con của cá thể có giá trị thích nghi tốt nhất trong
quần thể. Đối với các quần thể nhỏ (50minh bằng thực nghiệm là khá tốt.
Vào giai đoạn cuối khi giá trị thích nghi trung bình toàn quần thể gần với giá
trị thích nghi của cá thể tốt nhất, với chiến thuật tỷ lệ hóa nêu trên gây ra giá trị
thích nghi sau khi tû lƯ hãa cđa c¸c c¸ thĨ tồi sẽ bị âm. Để vợt qua khó khăn này, giá
trị thích nghi của các cá thể tồi nhất đợc tỷ lệ hóa sao cho không âm hay bằng
không (fmin = 0). Từ đây, chiến thuật tỷ lệ hóa cho giải thuật di truyền là:
ã Tỷ lệ hóa tuyến tính với fave = fave
ã Nếu có thể thì tỷ lệ hãa theo hÖ thøc f’ max = Cmult*fave , nÕu không thì tỷ lệ hóa
sao cho fmin = 0.
Với chiến thuật tỷ lệ hóa đơn giản nh trên thì ngăn ngừa đợc sự chi phối của
các cá thể siêu khỏe ở giai đoạn đầu và sau đó tạo ra đợc sự cạnh tranh lành mạnh
giữa các cá thể gần bằng nhau ở giai đoạn cuối của giải thuật SGA.
Giải thuật

Dới đây là sơ đồ tổng thể của giải thuật SGA
Giải thuật SGA ( ) {
k = 0;
// Khởi động quần thể Po một cách ngẫu nhiên. Tính giá trị hàm mục tiêu
cho

// từng cá thể.


19

khởi_động (Pk);
tính_hàm_mục_tiêu (Pk);
// Đặt lời giải của giải thuật bằng cá thể có giá trị hàm mục tiêu tốt
// nhất.
Xbest = Tốt_nhất (Pk);
do { // Chuyển đổi giá trị hàm mục tiêu thành giá trị độ phù hợp và tiến
// thành chọn lọc tạo ra quần thể bố mẹ Pparent
Pparent = chọn_lọc(Pk);
// Tiến hành lai ghép và đột biến tạo ra quần thể cá thể con
// Pchild
Pchild = đột_biến (lai_ghép (Pparent));
// Thay thế quần thể hiện tại bằng quần thể cá thể con
k = k + 1;
Pk = Pchild;
tính_hàm_mục_tiêu (Pk);
// Nếu giá trị hàm mục tiêu obj của cá thể tốt nhất X trong quần thể P k
// lớn hơn giá trị hàm mục tiêu của Xbest thì thay thế lêi gi¶i
X = tèt_nhÊt (Pk);
if (obj(X) > obj(Xbest)) Xbest = X;

} while (kreturn (Xbest); /*Trả vỊ lêi gi¶i cđa gi¶i tht GA*/
}
Bé bèn (N, pc, pm, G) gọi là các tham số điều khiển của giải thuật SGA, trong đó:
N : Số cá thể trong quần thể
pc : xác suất lai ghép
pm : xác suất đột biến
G : số thế hệ cần tiến hoá
Cá thể có giá trị hàm mục tiêu tốt nhất của mọi thế hệ là lời giải cuối cùng
của giải thuật SGA. Quần thể đầu tiên đợc khởi tạo một cách ngẫu nhiªn.


20

2.3. Nền tảng toán học của giải thuật di truyền
Khái niệm và ký hiệu
Trong giải thuật SGA, mỗi chuỗi cá thể đợc biểu diễn một cách hình thức
nh sau: a = a1a2aL, trong đó ai là gen thứ i trong chuỗi và có giá trị lấy từ tập ký tự
V = {0,1}. J.H.Holland x©y dùng tËp ký tù më réng V + = {1, 0 ,*} víi ký tù * đợc
gọi là ký tự không quan tâm có thể nhận giá trị 1 hoặc 0.
Một giản đồ H là một chuỗi L gien lấy từ tập ký tự V+ , mô tả một tập con các
chuỗi với sự giống nhau tại một số vị trí trong chuỗi.Các giá trị 1 hoặc 0 có trong
giản đồ H gọi là các vị trí cố định của giản đồ. Một thể hiện của giản đồ H là một
chuỗi L gien lấy từ tập ký tù V cã c¸c gien trïng víi c¸c gien của giản đồ H tại các
vị trí cố định. Ví dụ chuỗi 10000 là một thể hiện của giản đồ *0000. Dễ nhận thấy
có 3L giản đồ có độ dài L. Mét c¸ch tỉng qu¸t, víi tËp ký tù gåm C ký tự sẽ có
(C+1)L giản đồ. Mỗi cá thể ®é dµi L lÊy tõ tËp ký tù V = {1,0} chứa 2L thể hiện của
các giản đồ khác nhau. Do đó, một quần thể gồm N cá thể chứa N.2L thể hiện của
các giản đồ.
Bậc của giản đồ H, ký hiệu là o(H), là số vị trí xác định có trong giản đồ H.

Ví dụ giản đồ H = *1**0** có bậc là 2. Độ dài của giản đồ (H) là khoảng cách từ
vị trí xácđịnh đầu tiên tới vị trí xác định cuối cùng của giản đồ. Ví dụ giản đồ H =
*1**0*0 có độ dài: 7- 2 = 5, giản đồ H = *0***** có độ dài bằng 0.
Định lý giản đồ
Gọi m(H,t) là số thể hiện của giản đồ H có trong quần thể tại thế hệ t, f là
giá trị độ phù hợp trung bình của toàn quần thể và f(H) là giá trị độ phù hợp trung
bình của các thể hiện của giản đồ H. J.H.Holland đà ớc lợng số thể hiện của giản đồ
H tại thể hệ tiếp theo m(H,t+1) dới tác động của các toán tử của giải thuật GA. Kết
quả tính toán cuối cùng đợc mô tả bằng định lý 2.3. Đinh lý này đợc biết đến nh nền
tảng toán học của giải thuật GA và đợc gọi là định lý giản đồ.


21

Định lý [12, 14]: Trong giải thuật SGA, nếu số thể hiện của giản đồ H tại
thế hệ t là m(H,t) thì số thể hiện của giản đồ H tại thế hệ tiếp theo đợc ớc lợng nh
sau:
m( H , t + 1) ≥ m( H , t ).

f (H) 
1 −
f 

p

c

δ(H)

− o ( H ). p 

m
L −1


(2.1)

Gi¶ thut vỊ khèi x©y dùng
Tõ biỊu thøc 2.1, dƠ thÊy các giản đồ bậc nhỏ với độ dài ngắn và có giá trị độ
phù hợp trung bình lớn hơn giá trị độ phù hợp trung bình của toàn quần thể sẽ có số
thể hiện tăng và có vai trò quan trọng trong giải thuật GA. Các giản đồ nh vậy đợc
gọi là các khối xây dựng. Nh đà đề cập ở trên, mỗi chuỗi cá thể độ dài L đồng thời
chứa 2L thể hiện của các giản đồ khác nhau. Giải thuật SGA không xử lý các giản đồ
này một cách rõ ràng mà thay vào đó giải thuật SGA xử lý chúng một cách ngầm
định thông qua các toán tử chọn lọc, lai ghép và đột biến. Quá trình này đợc đặt tên
là sự song song ngầm định. J.H.Holland đà đa ra giả thuyết về khối xây dựng nh
sau : Giải thuật GA tối u hoá (tối thiểu hoá) hàm mục tiêu bằng việc kết hợp các
khối xây dựng tạo ra các cá thể dần tốt hơn từ các phần tử tốt nhất của các điểm đÃ
thăm dò trớc đấy [14].
2.4. Những cải tiến của giải thuật di truyền
Giải thuật SGA gặp phải một số hạn chế trong việc giải quyết các bài toán
thực tiễn nh sau:
1) SGA biểu diễn cấu trúc nhiễm sắc thể dới dạng chuỗi nhị phân nên trong
các bài toán phức tạp và có nhiều ràng buộc thì độ dài nhiễm sắc thể sẽ lớn, ¶nh h ëng rÊt nhiỊu tíi tèc ®é thùc hiƯn giải thuật.
2) Vấn đề hội tụ tới điểm tối u không đảm bảo là tối u toàn cục. Trong trờng
hợp giá trị tối u của lời giải biến đổi theo thời gian thì SGA thờng bị mắc kẹt ở tối u
địa phơng.
Trong những năm gần đây, nhiều nghiên cứu nhằm cải tiến SGA đà đợc công
bố. Dới đây là một số các nghiên cứu cải tiến SGA.



22

Vấn đề tạo ra quần thể ban đầu
Thay cho việc sinh ra quần thể ban đầu một cách ngẫu nhiên, giải thuật sẽ
thực hiện n lần sinh ngẫu nhiên. Trong mỗi lần sinh ngẫu nhiên đó, chọn cá thể tốt
nhất tham gia vào quần thể ban đầu. Nh vậy GA cổ điển chính là trờng hợp n = 1.
Sử dụng nhiỊu qn thĨ con
Thay cho viƯc chØ xư lý mét quần thể trong suốt quá trình tiến hóa, quần thể
ban đầu đợc chia thành một số quần thể con. Các quần thể con này đợc xử lý độc lập
và đồng thời trong một số thế hệ cho tới khi đạt đợc một tiêu chuẩn nào đó. Sau đó,
một số cá thể tốt nhất của các quần thể con tiến hành lai ghép với nhau Cuối cùng,
các quần thể con này kết hợp lại với nhau thành một quần thể duy nhất và GA lại
tiến hành thủ tục tiến hóa với quần thể duy nhất này.
Những cải tiến trong chiến lợc chän läc
Kü tht chän läc b¸nh xe sỉ xè cã nhợc điểm là nhiều cá thể có độ thích
nghi cao có thể không đợc lựa chọn do tiến trình lựa chọn mang tính xác suất ngẫu
nhiên. Để khắc phục nhợc điểm này, các tác giả đà đa ra một số sơ đồ thay thế nh
sau [5]:
1) u tiên cá thể tốt (elitism): Chiến lợc của sơ đồ này là sao chép cá thể tốt
nhất của mỗi thế hệ vào thế hệ tiếp theo. Chiến lợc này có thể làm tăng tốc độ chiếm
u thế của các cá thể có độ thích nghi cao trong quần thể, về mặt lý thuyết sẽ làm
tăng khả năng bị kẹt ở cực trị địa phơng, về mặt thực nghiệm có xu thế cải tiến khả
năng thực hiện của giải thuật GA.
2) Lấy mẫu tiền định (deterministic sampling): Xác suất chọn lọc đợc tính
nh trong gi¶i thuËt SGA: p s = fi / Σfj . Sau đó, số bản sao chép có thể sang thế hệ sau
của chuỗi ai đợc xác định tiền định là ei = n*ps, mỗi chuỗi đóng góp số con vào thế
hệ tiếp theo bằng phần nguyên của giá trị ei. Sau đó, để lấp đầy quần thể của thế hệ
tiếp theo, các chuỗi tốt nhất của thế hệ trớc đợc sao chép sang.
3) Lấy mẫu xác suất phần d và thay thế (remainder stochastic sampling with
replacement) : Sơ đồ này xuất phát từ sơ đồ lấy mẫu tiền định. Số b¶n sao chÐp e i



23

của mỗi chuỗi cũng đợc tính nh trên. Điều khác là, phần d còn lại của ei đợc dùng
nh xác st lùa chän trong kü tht b¸nh xe xỉ sè để lấp đầy quần thể tiếp theo.
4) Lấy mẫu xác suất phần d và không thay thế (remainder stochastic
sampling with replacement) : Sơ đồ này cũng xuất phát từ sơ đồ lấy mẫu tiền định.
Các chuỗi có số con ít nhất bằng phần nguyên của số e i. Sau đó, quần thể đợc lấp
đầy bằng việc chọn các con khác cho mỗi chuỗi với xác suất bằng phần d của ei. Ví
dụ chuỗi ai có ei = 1.5 sẽ đóng gãp 1 con vµo thÕ hƯ tiÕp theo vµ mét con khác với
xác suất là 0.5. Trong thực tế, sơ đồ này đợc sử dụng rộng rÃi trong rất nhiều ứng
dụng.
5) Thủ tục phân hạng (ranking procedure): Là thủ tục không tham số cho
việc lựa chọn. Trong phơng pháp này, các cá thể trong quần thể đợc xếp hàng theo
độ phù hợp của chúng, cá thể tốt nhất đợc xếp thứ 1 và cá thể tồi nhất xếp thứ n. Sau
đó, các cá thể đợc gán cho số con là hàm của thứ tự của chúng trong dÃy. Một trong
những hàm nh vậy đợc Baker đề xuất [4], số con có thể của chuỗi a i là ei đợc tính
theo c«ng thøc:
ei = −

2( λ max − 1)
n +1
* rank ( i ) + 1 + ( λ max − 1)
n 1
n 1

Trong đó : max là giá trị do ngời dùng địng nghĩa, 1 max 2 và n là kích thớc của quần thể, khi đó giá trị của e i sẽ nằm trong khoảng [2- max, max], hàm
rank(i) trả lại giá trị là vị trí của i trong hàng xếp.
Mở rộng toán tử lai ghép

1) Lai ghép nhiều điểm : Giải thuật SGA sử dụng toán tử lai ghép một điểm
cắt, chỉ có một vị trí lai ghép đợc chọn. Toán tử lai ghép đó có thể mở rộng thành lai
ghép nhiều điểm trong đó, số vị trí lai ghép là Nc chọn trớc. Toán tử lai ghép nhiều
điểm có thể giải quyết nhiều bài toán phức tạp mà toán tử lai ghép một điểm không
giải quyết đợc. Một cách khác để thực hiện lai ghép nhiều điểm là dùng toán tử lai
ghép theo mẫu do Syswerda đề nghị. Trong giản đồ này, mỗi vị trí bít của hai con đợc lấy từ bố hay lấy từ mẹ dựa vào một mẫu ngẫu nhiên. Ví dụ:


24

Chuỗi bố :

0 1 1 0 0 1 1 1

Chuỗi mÑ :

1 1 0 1 0 0 0 1

MÉu :

0 1 1 0 1 0 0 1

Con 1 :

1 1 1 1 0 0 0 1

Con 2 :

0 1 0 0 0 1 1 1


C¸c bÝt cđa Con 1 lÊy theo mÉu víi bÝt 0 cđa mÉu lÊy tõ mĐ, bÝt 1 lÊy tõ bè.
C¸c bÝt cđa Con 2 lÊy theo mÉu víi bÝt 0 cđa mÉu lÊy tõ bè, bít 1 lấy từ mẹ.
Cần phải thận trọng khi dùng toán tử lai ghép nhiều điểm vì theo các nghiên
cứu thực nghiệm, khi tăng số điểm cắt thì tính hiệu quả của giải thuật giảm đi.
Nguyên nhân là khi tăng số điểm cắt, toán tử gây ra sự xáo trộn không mang tính
cấu trúc. Do đó, giải thuật mang tính tìm kiếm ngẫu nhiên và các giản đồ có ích dễ
bị phá vỡ.
2) Toán tử xếp lại : Các toán tử xếp lại thích hợp cho những bài toán mà ở
đó, độ thích nghi phụ thuộc vào sự sắp xếp của các gien trong chuỗi. Một chuỗi kết
hợp các giá trị của gien và thông tin về trật tự có thể đợc biểu diễn nh sau :
1 2 3 4 5 6 7 8
1 0 0 1 0 0 0 1
ở đây, 1, 28 là các vị trí của gen và đ ợc gọi là tên của các gen. Một trong
những toán tử xếp lại hay dùng là toán tử đảo ngợc. Chọn hai điểm ngẫu nhiên theo
chiều dài của chuỗi và cắt chuỗi tại hai điểm đó. Hai chuỗi gen con ở hai đầu vị trí
cắt đổi chỗ cho nhau tạo nên chuỗi mới. Ví dụ:
Chuỗi ban đầu

Chuỗi mới

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

1 0 0 1 0 0 0 1

0 1 0 1 0 0 1 0

C¶i tiÕn chiÕn lợc thay thế
Chiến lợc thay thế sản sinh ra quần thể trong thế hệ tiếp theo từ quần thể hiện

tại và quần thể con đợc tạo ra từ quần thể hiện tại thông qua ba toán tử là chọn lọc,
lai ghép và đột biến. Chiến lợc này không phụ thuộc vào sơ đồ mà hóa.
Giải thuật SGA sử dụng chiến lợc thay thế không tinh hoa, nghĩa là quần thể
con thay thế hoàn toàn quần thể hiện tại và trở thành quần thể hiện tại của thế hệ


25

tiếp theo. Chiến lợc thay thế không tinh hoa có u điểm là duy trì tính đa dạng của
quỹ gen trong quần thể. Tuy nhiên, với chiến lợc thay thế này, giải thuật GA không
đảm bảo hội tụ.
Nhằm khắc phục nhợc điểm trên, giải thuật GA cải tiến sử dụng chiến lợc
thay thế tinh hoa do De Jong đề xuất [8]. Với chiến lợc thay thế này, một số cá thể
tốt nhất trong quần thể hiện tại đợc lu trữ lại cho thế hệ tiếp theo. Các cá thể tốt nhất
cũng nh tỷ lệ phần trăm các cá thể tốt nhất có thể đợc chọn cố định hoặc ngẫu nhiên.
Với chiến lợc thay thế tinh hoa, giải thuật GA đà đợc chứng minh là bảo đảm sự hội
tụ, tuy nhiên, giải thuật GA dễ hội sớm tại các cực trị địa phơng. Giải pháp mang
tính tự nhiên là sử dụng chiến lợc thay thế dần mang tính tinh hoa [8].
Các giải thuật di truyền lai
Giải thuật SGA, mặc dù mạnh và hiệu quả, nói chung không phải là giải thuật
tìm kiÕm tèi u tèt nhÊt trong mét sè lÜnh vùc. Lai hóa giải thuật SGA với các giải
thuật truyền thống đang sử dụng sẽ có thể tạo ra những giải thuật tốt hơn so với cả
giải thuật SGA và giải tht trun thèng. Mét gi¶i tht SGA cã thĨ lai với vô số
các kỹ thuật tìm kiếm khác để tạo ra một giải thuật mà khai thác tính tìm kiếm toàn
cục của giải thuật SGA và độ hội tụ của các kỹ thuật tìm kiếm cục bộ.
Có khá nhiều các kỹ thuật tìm kiếm sử dụng đạo hàm và không sử dụng đạo
hàm để tìm kiếm các cực trị địa phơng. Các phơng pháp sử dụng đạo hàm nh phơng
pháp giảm gradient, phơng pháp đa diện biến dạngCác phơng pháp không dùng
đạo hàm nh các phơng pháp heuristic, giải thuật ăn thamKết quả của việc lai với
giải thuật GA là một giải thuật mà trong đó, giải thuật GA tìm ra các cực trị và các

giải thuật tìm kiếm cục bộ sẽ tiến đần đến cực trị đó. Với phơng pháp này, giải thuật
GA đợc thực hiện trớc để đạt tới một độ hội tụ nào đó, sau đó các giải thuật tìm
kiếm cục bộ sẽ lấy khoảng 5 đến 10% số điểm tốt nhất có trong quần thể cuối cùng
làm điểm xuất phát. Xuất phát từ ý tởng đó, luận văn xây dựng một giải pháp lai
ghép giữa giải thuật GA và giải thuật BP tạo thành một giải thuật lai để huấn luyện
mạng nơ ron truyền thẳng. Giải pháp này sẽ đợc trình bày ở chơng 3.


×