Tải bản đầy đủ (.pdf) (86 trang)

Nghiên cứu lý thuyết thuật toán di truyền và ứng dụng trong xử lý ảnh

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 (852.16 KB, 86 trang )

BỘ GIÁO DỤC VÀ ðÀO TẠO
TRƯỜNG ðẠI HỌC BÁCH KHOA HÀ NỘI
-------------------------------

LUẬN VĂN THẠC SĨ KHOA HỌC

NGHIÊN CỨU LÝ THUYẾT THUẬT
TOÁN DI TRUYỀN VÀ ỨNG DỤNG
TRONG XỬ LÝ ẢNH
NGÀNH: KỸ THUẬT ðIỆN TỬ
Mã số:..................................

ðỖ TRUNG NGUYÊN
Người hướng dẫn khoa học: PGS. TS. HỒ ANH TUÝ

Hà Nội, 2008


Luận văn thạc sĩ

Mục lục

Mục lục

Mục lục ........................................................................................................... 1
Danh mục các từ viết tắt ............................................................................... 3
Danh mục các hình vẽ ................................................................................... 4
Danh mục các bảng........................................................................................ 6
Lời nói đầu...................................................................................................... 7
Chương 1.


Thuật toán di truyền ............................................................... 9

1.1. Giới thiệu .............................................................................................................. 9
1.2. Các khái niệm cơ bản ......................................................................................... 11
1.3. Nội dung thuật toán di truyền ............................................................................ 13
1.3.1. Cấu trúc cơ bản của thuật toán di truyền .................................................... 13
1.3.2. Một thuật toán di truyền đơn giản ............................................................... 15
1.4. Phân tích thuật tốn di truyền ........................................................................... 18
1.4.1. ðịnh lý về nhóm gen .................................................................................... 18
1.4.2. Giả thuyết về nhóm cơ bản .......................................................................... 20
1.4.3. ðịnh lý hội tụ ............................................................................................... 22
1.5. Chi tiết hơn về các toán tử ................................................................................. 23
1.5.1. Toán tử chọn lọc .......................................................................................... 23
1.5.2. Toán tử kết hợp ............................................................................................ 36
1.5.3. Tốn tử đột biến ........................................................................................... 40
1.5.4. So sánh tốn tử kết hợp và tốn tử đột biến................................................. 42
1.6. Các dạng nâng cao của thuật toán di truyền .................................................... 52
1.6.1. Thuật tốn di truyền có đảm bảo phát triển ................................................ 52

1


Luận văn thạc sĩ

Mục lục

1.6.2. Thuật toán di truyền sử dụng mã thực ......................................................... 54
1.6.3. Thuật toán tiến hoá ...................................................................................... 57
1.6.4. Thuật tốn di truyền tự thích nghi ............................................................... 58
1.7. Các ứng dụng của thuật toán di truyền ............................................................. 60

1.8. Kết luận chương 1 .............................................................................................. 61

Chương 2.

Ứng dụng thuật toán di truyền trong xử lý ảnh ................. 62

2.1. Giới thiệu về xử lý tín hiệu ảnh ......................................................................... 62
2.1.1. Giới thiệu chung........................................................................................... 62
2.1.2. Phân loại và nhận dạng ảnh ........................................................................ 64
2.2. Tối ưu hố tập hợp đặc tính ............................................................................... 65
2.2.1. Các phương pháp tuyến tính ........................................................................ 67
2.2.2. Các phương pháp phi tuyến ......................................................................... 70
2.3. Ứng dụng thuật tốn di truyền để tối ưu hố tập hợp đặc tính ........................ 72
2.3.1. Phương pháp biến đổi tuyến tính ................................................................. 72
2.3.2. Kết quả thực hiện và kết luận ...................................................................... 78

Kết luận......................................................................................................... 81
Tài liệu tham khảo ....................................................................................... 83
Tóm tắt luận văn .......................................................................................... 85

2


Luận văn thạc sĩ

Danh mục các từ viết tắt

Danh mục các từ viết tắt

GA


Genetic Algorithm

GLP

Genetic Linear Projection

k-NN

k-Nearest Neibough

LDA

Linear Discriminant Analysis

LP

Linear Projection

NDA

Nonlinear Discriminant Analysis

PCA

Principal Components Analysis

3



Luận văn thạc sĩ

Danh mục các hình vẽ

Danh mục các hình vẽ

Số hiệu

Chú thích

Trang

Hình 1-1

Mơ hình thuật tốn di truyền đơn giản

17

Hình 1-2

Minh hoạ các nhóm gen trong khơng gian 3 chiều

19

Hình 1-3

Thí dụ về hàm mật độ mức độ phù hợp và hàm
phân bố mức ñộ phù hợp của cùng một quần thể

25


Hình 1-4

Thí dụ về hàm mật độ giá trị phù hợp trước và sau
khi thực hiện toán tử chọn lọc theo nhóm

34

Hình 1-5

Q trình kết hợp đơn điểm của hai chuỗi nhị phân

37

Hình 1-6

Tốn tử kết hợp ñơn ñiểm thực hiện trên hai cá thể

39

Hình 1-7

Xác suất tồn tại của một nhóm gen bậc ba trong
trường hợp Peq = 0,5

44

Hình 1-8

Hình 1-9


Sự phụ thuộc của Ps vào Peq đối với tốn tử kết hợp
ngẫu nhiên đều
Sự phụ thuộc của Ps vào Peq đối với các tốn tử kết
hợp ngẫu nhiên ñều và ñột biến ñều

45

46

4


Luận văn thạc sĩ

Danh mục các hình vẽ

Hình 1-10

So sánh tính chất xây dựng của các tốn tử kết hợp
và đột biến

51

Hình 2-1

Mơ tả một hệ thống xử lý ảnh điển hình

63


Hình 2-2

Mơ tả một hệ thống phân loại ảnh điển hình

66

Hình 2-3

Một trường hợp trong đó đặc tính được chọn ra bởi
phương pháp PCA không phù hợp cho phân loại
đối tượng

69

Hình 2-4

Các khoảng cách sử dụng trong phương pháp LDA

70

Hình 2-5

Sơ đồ thuật tốn tối ưu hố tập hợp ñặc tính theo
phương pháp GLP

77

5



Luận văn thạc sĩ

Danh mục các bảng

Danh mục các bảng

Số hiệu

Chú thích

Trang

Bảng 2-1

Một số bộ dữ liệu mẫu được dùng ñể ñánh giá thuật
toán GLP

78

Bảng 2-2

Kết quả thực hiện thuật toán GLP trên một số bộ
dữ liệu mẫu

79

6


Lời nói đầu


Luận văn thạc sĩ

Lời nói đầu

Xử lý ảnh ngày nay đã khơng cịn là một ngành khoa học mới nhưng những
nghiên cứu lý thuyết và ứng dụng của nó vẫn phát triển khơng ngừng. Cùng với sự
phát triển khơng ngừng của kỹ thuật điện tử và viễn thơng, xử lý ảnh ngày càng
ñược ứng dụng rộng rãi trong các nghiên cứu khoa học cũng như trong ñời sống
con người. Xử lý ảnh đã trở thành cơng cụ hỗ trợ quan trọng trong nhiều lĩnh vực
như cơng nghiệp, khí tượng, y học, sinh học, thiên văn học, quân sự, nghệ thuật…
Các lĩnh vực ứng dụng của xử lý ảnh ngày càng mở rộng, cùng với ñặc thù
của xử lý ảnh là thường phải xử lý một lượng dữ liệu rất lớn và có các mối liên hệ
phức tạp, nên đã xuất hiện nhu cầu tìm kiếm các thuật tốn xử lý ảnh mới hiệu quả
hơn, hoạt ñộng nhanh hơn và chính xác hơn. Việc áp dụng các phương pháp xử lý
thơng minh, trí tuệ nhân tạo vào xử lý ảnh ngày càng phổ biến.
Thuật toán di truyền là một phương pháp tìm kiếm tối ưu mới đang được
nghiên cứu phát triển mạnh mẽ trong thời gian gần ñây. Với một số ưu ñiểm ñặc
biệt so với các phương pháp tìm kiếm tối ưu khác, thuật tốn di truyền hứa hẹn sẽ
có những bước phát triển mạnh mẽ và được ứng dụng trong nhiều lĩnh vực trong
thời gian tới. Mục đích của luận văn này là sẽ trình bày một số lý thuyết cơ bản
của thuật toán di truyền và một phương pháp ứng dụng thuật toán di truyền trong
việc tối ưu hố tập hợp đặc tính của đối tượng, một bước tiền xử lý quan trọng
trước khi thực hiện các thuật toán phân loại và nhận dạng ảnh.
Với mục đích đó, cấu trúc của luận văn được chia thành hai phần rõ rệt như
sau:
• Chương 1: Trình bày một số khái niệm cơ bản của thuật toán di
truyền, các bước thực hiện một thuật toán di truyền cơ bản nhất cùng
với một số cơ sở lý thuyết toán học của thuật tốn đó. Một số dạng mở
rộng của thuật tốn di truyền cũng được trình bày trong phần cuối của

chương này.

7


Luận văn thạc sĩ

Lời nói đầu

• Chương 2: Trình bày sơ lược về xử lý ảnh và ñi sâu hơn vào cơng
đoạn tối ưu hố tập hợp đặc tính đối tượng. Ở đây một số phương
pháp tối ưu hố truyền thống cũng được giới thiệu. Sau đó sẽ trình bày
một phương pháp tối ưu tuyến tính sử dụng thuật tốn di truyền cùng
với kết quả thực hiện của nó trên một số tập hợp dữ liệu mẫu.
Hoàn thành luận văn này, tôi xin bày tỏ sự biết ơn chân thành với PGS. TS
Hồ Anh T người đã tận tình hướng dẫn định hướng tơi trong q trình nghiên
cứu.

8


Luận văn thạc sĩ

Chương 1. Thuật toán di truyền

Chương 1. Thuật toán di truyền

1.1. Giới thiệu
Các thuật toán di truyền bao gồm một lớp rộng lớn các phương pháp tối ưu
hoá hệ thống một cách tổng quát. Cùng với mạng neural và một số phương pháp

tối ưu khác, các thuật toán di truyền là một trong những ứng dụng thành công của
việc kết hợp nhiều lý thuyết trong nhiều lĩnh vực khác nhau vào tốn học và cơng
nghệ thơng tin. Thuật tốn di truyền mơ phỏng các q trình chọn lọc tự nhiên và
tiến hoá trong giới sinh vật. Các q trình này đã được nghiên cứu nhiều trong lĩnh
vực sinh vật học. Trong hầu hết các trường hợp, thuật toán di truyền thực chất là
các phương pháp tối ưu dựa trên xác suất ngẫu nhiên, một nguyên lý cơ bản của
q trình tiến hố trong thế giới tự nhiên. Những ý tưởng về thuật tốn di truyền
đã xuất hiện từ cách đây khá lâu, vào năm 1967, trong cơng trình nghiên cứu của J.
D. Bagley. Sau đó, những lý thuyết và khả năng ứng dụng của thuật toán di truyền
chịu ảnh hưởng mạnh mẽ của J. H. Holland, người ñược coi là nhà tiên phong
trong việc nghiên cứu về thuật toán di truyền. Từ thập kỷ 90 của thế kỷ 20, thuật
tốn di truyền đã được phát triển mạnh mẽ và ngày nay nó bắt đầu được ứng dụng
trong rất nhiều lĩnh vực.
Có rất nhiều ứng dụng trong đó thuật tốn di truyền có thể được sử dụng một
cách hiệu quả. Một số lượng rộng lớn các vấn ñề lý thuyết và kỹ thuật có thể được
coi như các vấn đề về tìm kiếm giải pháp tối ưu. Các lĩnh vực cần đến tối ưu hố
bao gồm từ kinh tế và tài chính, quản lý tiến trình đến điều khiển tự động, phân
tích và nhận dạng hình ảnh, phân tích nhóm… Ngồi ra thuật tốn di truyền cũng
được ứng dụng trong các phương pháp tìm kiếm giải pháp tối ưu theo nhiều mục
tiêu. Các ứng dụng quan trọng nhất của thuật tốn di truyền bao gồm việc điều
khiển q trình học của mạng neural và việc xây dựng cơ sở tri thức cho hệ thống
logic mờ.
Có ba cách trong đó thuật tốn di truyền thường được sử dụng kết hợp với
mạng neural. ðó là:

9


Luận văn thạc sĩ


Chương 1. Thuật tốn di truyền

• Tối ưu hoá tập hợp trọng số: Thuật toán di truyền thường được sử
dụng vào mục đích này khi các phương pháp bình thường khác (như
phương pháp hồi tiếp chẳng hạn) khơng thể áp dụng được một cách
hiệu quả. Chẳng hạn trong các trường hợp mà phương pháp hồi tiếp
chỉ có thể tìm được các cực trị địa phương, thuật tốn di truyền có thể
được áp dụng với hiệu quả cao hơn nhiều.
• Tối ưu hố cấu trúc của mạng neural: Thuật tốn di truyền có thể được
sử dụng để tìm kiếm một cấu trúc mạng tối ưu từ một tập hợp các cấu
trúc mạng ban đầu có các tham số đã biết.
• Tối ưu hố q trình học của mạng neural: ðây là một phương pháp
có độ phức tạp xử lý cao nhưng có thể cho những kết quả rất tốt. Khi
được sử dụng trong phương pháp này, thuật tốn di truyền được dùng
để tối ưu hố các tham số của quá trình học của mạng neural (chẳng
hạn như các hàm biến ñổi trọng số). Phương pháp này thường ñược sử
dụng đồng thời với phương pháp tối ưu hố cấu trúc mạng đã nói trên.
Các hệ thống kết hợp giữa logic mờ và thuật toán di truyền cũng là những
ứng dụng phổ biến. Việc xây dựng các hệ thống mờ thường bao gồm một số công
việc như xây dựng tập hợp các quy tắc, ñiều chỉnh các hàm… Tất cả những cơng
việc này đều có thể coi như là những vấn đề về tối ưu, và do đó có thể ñược thực
hiện bằng thuật toán di truyền.
Một cách tổng quát, các vấn đề về tối ưu có thể được mơ hình hố như sau:
max f ( x )
x∈ X

(1.1)

Trong đó:
• X là khơng gian tìm kiếm

• f được gọi là hàm mục tiêu, là một hàm xác định hồn tồn trên tập
hợp X:
f :X →ℝ

(1.2)

Một số trường hợp ñặc biệt của bài tốn này đã được nghiên cứu khá kỹ và
đã tìm được các phương pháp giải rất hiệu quả. Tuy nhiên một cách tổng qt thì
đây vẫn là một bải tốn rất phức tạp và chưa có một phương pháp giải chung, hiệu
quả cho tất cả các trường hợp. ðiều này có nghĩa là chúng ta khơng thể tìm ñược
kết quả chính xác chỉ sau một số hữu hạn các bước lặp.

10


Luận văn thạc sĩ

Chương 1. Thuật tốn di truyền

ðể đơn giản hoá bài toán chúng ta giới hạn biểu thức (1.1) bằng cách bổ
xung thêm một số giả ñịnh về cấu trúc của tập hợp X. Giả sử rằng X là một khơng
gian có dạng lập phương trong khơng gian nhiều chiều và rằng hàm f sẽ ñạt giá trị
cực ñại bên trong tập X. Trong trường hợp ñó ñộ phức tạp của thuật toán tối ưu sẽ
chỉ phụ thuộc vào ñộ phức tạp của hàm mục tiêu f mà thơi. Trong trường hợp tổng
qt, hàm f có thể là một hàm không khả vi. Ngay cả khi f là một hàm khả vi và ta
có thể áp dụng các phương pháp tối ưu hố truyền thống thì cũng khơng có gì đảm
bảo là chắc chắn sẽ tìm được điểm tối ưu của bài toán.
ðối với các yêu cầu tối ưu hố nói chung, chúng ta có thể chia các thuật toán
tối ưu ra làm hai loại lớn: ngẫu nhiên và tiền định. Các thuật tốn tiền định tìm ra
kết quả dựa trên việc tìm kiếm trên tồn tập hợp X. Do đó các thuật tốn này

thường chậm và kém hiệu quả, nhưng chúng cho phép ñảm bảo rằng vị trí tối ưu
tìm được là đúng. Ngồi ra việc sử dụng các thuật tốn này cũng địi hỏi phải có
một số ñiều kiện ñối với hàm mục tiêu f. Do đó trong nhiều trường hợp các thuật
tốn đó khơng thể sử dụng được.
Loại thuật tốn tối ưu thứ hai là các thuật tốn dựa trên các q trình ngẫu
nhiên. So với các thuật tốn tiền định thì các thuật tốn này thường cho kết quả
nhanh hơn, hiệu quả hơn và tổng qt hơn. Tuy nhiên chúng có một nhược điểm là
khơng thể đảm bảo chắc chắn rằng vị trí tối ưu tìm được là đúng. Phần lớn các
thuật tốn ngẫu nhiên hoạt động theo cách chỉ tính tốn giá trị hàm mục tiêu tại
một số ñiểm ñược lựa chọn ngẫu nhiên từ khơng gian tìm kiếm. Sau đó các điểm
này ñược xử lý và một số ñiểm trong ñó sẽ ñược chọn ra ñể xử lý trong bước lặp
sau.
Trong rất nhiều trường hợp thực tế chúng ta chỉ cần tìm một kết quả tốt chứ
khơng cần tìm một kết quả tối ưu. Trong những trường hợp đó các thuật tốn ngẫu
nhiên, trong đó có các thuật tốn di truyền, tỏ ra rất có hiệu quả. Trong các phần
tiếp theo của chương này sẽ trình bày một cách tổng quan về thuật tốn di truyền
nói chung và một số vấn đề có liên quan.

1.2. Các khái niệm cơ bản
Trước khi mơ tả thuật tốn di truyền, chúng ta sẽ biến đổi bài toán tối ưu
(1.1) thành dạng mã hoá một cách phù hợp để có thể thực hiện bằng các thuật toán
này.

11


Luận văn thạc sĩ

Chương 1. Thuật toán di truyền


Trước hết, khơng gian tìm kiếm X sẽ được ánh xạ vào một tập hợp các chuỗi
ký hiệu S. Hàm c ( x ) : X → S ñược gọi là hàm mã hoá. Ngược lại, hàm
d ( x ) : S → X ñược gọi là hàm giải mã. Tập hợp S và các hàm ñược chọn sao cho
c d ( s ) = s ñúng với mọi chuỗi ký hiệu s.

Thơng thường S sẽ được chọn là một tập hợp các chuỗi nhị phân:
S = {0,1}

L

(1.3)

Trong đó L là độ dài chuỗi nhị phân. Các chuỗi này thường ñược mã hố
theo mã nhị phân thơng thường hoặc mã Gray. Chú ý rằng S là một tập hợp hữu
hạn phần tử, cịn X thì thường là khơng như vậy. Do đó chúng ta cần lượng tử hố
khơng gian tìm kiếm X, và kết quả tìm được sẽ chỉ là một kết quả gần đúng sau khi
đã lượng tử hố. Tuy nhiên chúng ta có thể đạt được độ chính xác bất kỳ bằng
cách tăng ñộ dài L của chuỗi nhị phân mã hoá tới mức cần thiết.
Sau khi lượng tử hoá và mã hố, bài tốn tối ưu (1.1) có thể ñược viết dưới
dạng:
max f ( s )
s∈S

(1.4)

Trong ñó, ñể ñơn giản, ta viết f ( s ) thay cho f ( d ( s ) ) .
Một số thuật ngữ cơ bản được sử dụng trong thuật tốn di truyền ñược vay
mượn từ các lý thuyết tiến hoá và di truyền tự nhiên trong sinh học. Dưới ñây xin
giới thiệu một số khái niệm và thuật ngữ thường ñược sử dụng nhất:
• Cá thể (individual): mỗi phần tử của tập hợp chuỗi ký hiệu S được gọi

là một cá thể.
• Nhiễm sắc thể (chromosome): Trong thuật toán di truyền, mỗi cá thể
ñược phân biệt với nhau bởi nhiễm sắc thể của nó. Như đã trình bày
trên, nhiễm sắc thể thường là một chuỗi nhị phân với độ dài hữu hạn.
• Các thơng tin được mã hố trong nhiễm sắc thể được gọi là cấu trúc
gen (genotype).
• ðặc tính của cá thể (phenotype) là giá trị của các phần tử tương ứng
với mỗi cấu trúc gen. Nói cách khác, đặc tính của cá thể là cấu trúc
gen ñã ñược giải mã của nó.
• Mỗi bit trong chuỗi nhị phân của nhiễm sắc thể ñược gọi là một gen.
Giá trị của gen có thể là 0 hoặc 1.
12


Luận văn thạc sĩ

Chương 1. Thuật tốn di truyền

• Một quần thể (population) là một tập hợp hữu hạn các cá thể.
• Hàm mục tiêu của bài tốn tối ưu trong trường hợp này sẽ ñược gọi là
hàm phù hợp (fitness function). Hàm phù hợp này ñược xác ñịnh trên
tập hợp các đặc tính tương ứng của các cá thể.
• Mức ñộ phù hợp của cá thể là giá trị hàm phù hợp trên đặc tính của
cá thể đó.
• Mức ñộ phù hợp của quần thể là tổng hợp mức ñộ phù hợp của các
cá thể trong quần thể ñó. Có thể có nhiều cách để tính tốn sự tổng
hợp đó. Hai trong số các cách đó là: tính trung bình mức độ phù hợp
của một số cá thể có độ phù hợp cao nhất và tính trung bình mức ñộ
phù hợp của tất cả các cá thể trong quần thể.
Trên đây đã trình bày một số thuật ngữ cơ bản được dùng trong thuật tốn di

truyền. Sau đây chúng ta sẽ mơ tả nội dung của một thuật tốn di truyền tương đối
đơn giản và điển hình nhất.

1.3. Nội dung thuật toán di truyền
1.3.1. Cấu trúc cơ bản của thuật tốn di truyền

Trong q trình tiến hố, sau mỗi thế hệ, mỗi quần thể sẽ bị thay thế bởi một
quần thể mới. Và quần thể mới này ñến lượt nó lại bị thay thế bởi một quần thể
khác trong thế hệ tiếp theo. Trong mỗi thế hệ chỉ những cá thể có mức độ phù hợp
cao nhất mới được lựa chọn để tạo ra thế hệ tiếp theo. Vì vậy chúng ta kỳ vọng
rằng quần thể trong thế hệ sau sẽ có độ phù hợp chung cao hơn các thế hệ trước
nó. Thuật tốn di truyền giúp tạo ra quần thể có mức độ phù hợp cao nhất, tức là
đã giải được bài tốn tối ưu.
Trong một thuật tốn di truyền ñơn giản, số lượng N các cá thể trong quần
thể, sau đây gọi là kích thước của quần thể, là một số cố ñịnh. ðộ dài L của chuỗi
nhị phân nhiễm sắc thể cũng ñược cố ñịnh và khơng thay đổi trong q trình tiến
hố.
Chúng ta có thể viết cấu trúc cơ bản của một thuật toán di truyền ñơn giản
nhất như sau:
Xác ñịnh quần thể ban ñầu;
WHILE (mức ñộ phù hợp chưa ñạt) DO
BEGIN
Chọn lọc một số cá thể của quần thể;
Kết hợp các cá thể ñể tạo ra thế hệ tiếp theo;
Gây ñột biến cho một số cá thể;

13


Luận văn thạc sĩ


Chương 1. Thuật tốn di truyền

Xác định quần thể mới;
END

Như được mơ tả trong thuật tốn trên, việc chuyển từ một thế hệ sang thế hệ
tiếp theo bao gồm ba toán tử cơ bản:
Chọn lọc (Selection): Một cách thức lựa chọn một số cá thể từ quần
thể hiện tại ñể phục vụ cho việc tạo ra thế hệ kế tiếp dựa trên mức ñộ
phù hợp của các cá thể đó.
Kết hợp (Crossover):: Một phương pháp để kết hợp các cá thể và tạo
ra các cá thể mới. Phương pháp kết hợp phụ thuộc rất lớn vào phương
pháp mã hố bài tốn đã trình bày trong mục trước.
ðột biến (Mutation): Trong thế giới tự nhiên, cấu trúc gen của sinh
vật có thể bị biến đổi một cách ngẫu nhiên do nhiều yếu tố (như các
bất thường trong quá trình kết hợp, do các bức xạ…). ðó chính là hiện
tượng đột biến. Trong thuật tốn di truyền, đột biến ñược thực hiện
bằng cách gây ra những thay ñổi ngẫu nhiên trong cấu trúc của chuỗi
ký hiệu mã hoá với một xác suất thích hợp.
Các tốn tử nói trên được gọi là các toán tử di truyền. Các toán tử này sẽ
được trình bày chi tiết hơn trong các phần sau.
So với các phương pháp tối ưu hoá khác, thuật tốn di truyền có một số điểm
khác biệt cơ bản sau đây:
• Thuật tốn di truyền được thực hiện trên một phiên bản đã mã hố của
các tham số của bài toán, tức là thực hiện trên tập hợp chuỗi ký hiệu S
thay vì khơng gian tìm kiếm X ban đầu. Do đó thuật tốn này chỉ có
thể tìm được các kết quả gần ñúng, do ñã mắc phải sai số lượng tử
hố.
• Trong khi hầu hết các phương pháp tối ưu hố khác thực hiện tìm

kiếm bắt đầu từ một điểm đơn lẻ, thuật tốn di truyền ln ln ñược
thực hiện trên toàn bộ các cá thể của quần thể. ðiều này giúp nâng cao
tính hiệu quả của thuật tốn và giảm được khả năng bị rơi vào các vị
trí cực trị địa phương.
• Các thuật tốn di truyền thường khơng dùng đến các tính chất phụ của
hàm mục tiêu (chẳng hạn như đạo hàm của nó). Do đó chúng có thể
được áp dụng cho nhiều trường hợp trong ñó hàm mục tiêu có thể là
liên tục hoặc rời rạc, khả vi hoặc không khả vi…

14


Luận văn thạc sĩ

Chương 1. Thuật tốn di truyền

• Các thuật toán di truyền sử dụng các toán tử ngẫu nhiên trong khi biến
ñổi từ bước lặp này sang bước lặp khác, trong khi các phương pháp
khác thường sử dụng các tốn tử tiền định (kết quả của tốn tử là hồn
tồn xác định khi đã biết các thơng số ñầu vào). Như vậy các thế hệ
sau ñược tạo ra sẽ mang một số tính chất ngẫu nhiên.
1.3.2. Một thuật tốn di truyền đơn giản

Trong mục này sẽ trình bày chi tiết hơn về một thuật tốn di truyền đơn giản
nhất. Như ñã ñề cập trong các mục trước, ta gọi L là độ dài của chuỗi nhị phân mã
hố và N là kích thước của quần thể. Ta cũng gọi L là số chiều của tập hợp S. Ta
ký hiệu bi, t là chuỗi nhị phân thứ i của quần thể tại thời điểm t. Như vậy tồn bộ
thế hệ ở thời ñiểm t sẽ là một danh sách gồm N chuỗi nhị phân và ñược ký hiệu
như sau:
Bt = ( b1,t , b2,t ,..., bN ,t )


(1.5)

Từ cấu trúc thuật tốn cơ bản đã trình bày trong mục trước chúng ta có thể
viết thuật tốn di truyền một cách cụ thể hơn như sau:
t := 0;
Tính tốn quần thể ban ñầu B0;
WHILE (ñiều kiện dừng chưa thoả mãn) DO
BEGIN
FOR i := 1 TO N DO
Chọn ra bi,t+1 từ Bt;
FOR i := 1 TO N STEP 2 DO
Kết hợp giữa bi,t+1 và bi+1,t+1 với xác suất pc;
FOR i := 1 TO N DO
Gây ñột biến cho bi,t+1 với xác suất pm;
t := t + 1;
END

Trong thuật tốn trên điều kiện dừng ñược dùng ñể giới hạn số bước lặp của
thuật tốn. Nếu khơng có các điều kiện này thuật tốn sẽ lặp vơ hạn. ðiều kiện
dừng bao gồm u cầu về giá trị chấp nhận ñược của hàm mục tiêu và một số ñiều
kiện khác, chẳng hạn như số bước lặp cực đại có thể được thực hiện, tính chất hội
tụ của các đặc tính của cá thể (thuật tốn sẽ được dừng lại khi nhận thấy rằng nó
khơng hội tụ ñến một kết quả xác ñịnh)… Kết quả của thuật tốn sẽ được xác định
dưới dạng giá trị cực đại hoặc giá trị trung bình của mức độ phù hợp của các cá
thể.
Việc tính tốn quần thể ban ñầu B0 thường ñược thực hiện bằng cách lựa
chọn ngẫu nhiên N cá thể được phân bố đều trong tồn bộ khơng gian tìm kiếm.
15



Luận văn thạc sĩ

Chương 1. Thuật toán di truyền

Nếu chúng ta có thêm các thơng tin khác về vị trí có thể của điểm tối ưu thì chúng
cũng có thể ñược sử dụng trong việc lựa chọn các cá thể cho quần thể ban ñầu.
Chẳng hạn ta sẽ tăng xác suất lựa chọn trong các khu vực có nhiều khả năng sẽ tồn
tại điểm tối ưu.
Hình 1-1 thể hiện thuật tốn di truyền nói trên dưới dạng lưu đồ.

16


Luận văn thạc sĩ

Chương 1. Thuật tốn di truyền

Hình 1-1: Một mơ hình thuật tốn di truyền đơn giản

17


Luận văn thạc sĩ

Chương 1. Thuật toán di truyền

Trong các mục tiếp theo đây sẽ trình bày chi tiết hơn về ba tốn tử được đề
cập trong thuật tốn nói trên, đó là các tốn tử chọn lọc, kết hợp và đột biến.


1.4. Phân tích thuật tốn di truyền
Như đã trình bày trong các phần trước, thuật tốn di truyền là một phương
pháp tối ưu dựa trên các quá trình ngẫu nhiên. Do đó nó khơng đảm bảo là q
trình lặp sẽ hội tụ ñến một kết quả ñúng. Việc phân tích khả năng hội tụ của thuật
tốn di truyền càng trở nên phức tạp hơn so với các phương pháp tối ưu khác do
nó sử dụng đồng thời ba tốn tử ngẫu nhiên: chọn lọc, kết hợp và đột biến. Mỗi
tốn tử đó đều có thể có nhiều dạng khác nhau. Khi chúng kết hợp lại sẽ tạo ra rất
nhiều dạng thuật toán di truyền khác nhau.
Trong phần này sẽ trình bày các lý thuyết để phân tích một thuật tốn di
truyền đơn giản đã nêu ra trong các mục trước: kích thước của quần thể là cố định
và bằng N, chiều dài của chuỗi nhị phân mã hoá cũng là cố ñịnh và bằng L. Ta giả
sử rằng thuật toán sử dụng các toán tử lựa chọn theo tỷ lệ, kết hợp ñơn ñiểm và ñột
biến ñều (chi tiết hơn về các tốn tử này được trình bày trong muc 5 chương 1 của
tài liệu này).
1.4.1. ðịnh lý về nhóm gen

Việc phân tích thuật tốn di truyền được bắt ñầu bằng một ñịnh lý gọi là
ðịnh lý về nhóm gen (Schema Theorem). Trước khi trình bày định lý này ta cần
ñịnh nghĩa một số ñối tượng.
Một chuỗi H = h1h2 ...hL bao gồm các phần tử của tập hợp {0,1,*} được gọi là
một nhóm gen (scheme) có kích thước L. Một vị trí trên chuỗi có giá trị hi = 0 hoặc
hi = 1 ñược gọi là một gen hiện (specification). Một vị trí có giá trị hi = * ñược gọi

là một gen ẩn (wildcard). Như vậy một nhóm có thể được coi là tương ứng với
một tập con của tập hợp {0,1} .
m

Nếu ta mô phỏng toàn bộ tập hợp các chuỗi nhị phân bằng một hình hộp
trong khơng gian L chiều thì mỗi nhóm gen có thể được coi là một mặt phẳng
trong khơng gian đó. Hình 1-2 minh hoạ trường hợp L = 3.


18


Luận văn thạc sĩ

Chương 1. Thuật tốn di truyền

100
10*
110

101
111

*1*
000
010
001
011
Hình 1-2: Minh hoạ các nhóm gen 10* và *1* trong khơng gian 3 chiều
Ta có thể chứng minh được rằng tổng số lượng nhóm gen trong một khơng
gian L chiều là 3L.
Một chuỗi nhị phân S = s1s2 ...sL bao gồm các phần tử của tập hợp {0,1} ñược
gọi là thoả mãn điều kiện của nhóm H = h1h2 ...hL nếu nó phù hợp với H tại tất cả
các gen hiện:
∀i ∈ { j | h j ≠ *} : si = hi

(1.6)


Khi đó ta cũng nói chuỗi S chứa nhóm gen H.
Tổng số lượng các gen hiện trong một nhóm gen H được gọi là bậc của nó và
được ký hiệu bởi:
O ( H ) = {i |1 ≤ i ≤ L, hi ≠ *}

(1.7)

Khoảng cách giữa gen hiện ñầu tiên và gen hiện cuối cùng trong nhóm H
được gọi là độ dài quy ước (defining length) của nó:
δ ( H ) = max {i | hi ≠ *} − min {i | hi ≠ *}

(1.8)

Ta ký hiệu số lượng cá thể mà chuỗi nhị phân tương ứng chứa một nhóm gen
H tại thời điểm t là rH,t.

19


Luận văn thạc sĩ

Chương 1. Thuật tốn di truyền

Mức độ phù hợp trung bình của tất cả các cá thể ở thời ñiểm t ñược ñịnh
nghĩa là:
1 N
∑ f ( bk ,t )
N k =1

f (t ) =


(1.9)

Mức ñộ phù hợp trung bình của một nhóm gen H tại thời ñiểm t ñược xác
ñịnh bởi biểu thức:
f (H ,t) =

1
rH ,t

∑ { f ( b )}
*
i ,t

(1.10)

Trong đó bi*,t là các chuỗi nhị phân chứa nhóm gen H.
Với các khái niệm và định nghĩa như trên ta có định lý về nhóm gen như sau:
ðịnh lý: Phương trình dưới đây ñúng với mọi nhóm H:

E  rH ,t +1  ≥ rH ,t

f (H,t) 
δ (H ) 
O( H )
1 − pc
 (1 − pm )
L −1 
f (t ) 


(1.11)

Trong đó E  rH ,t +1  là kỳ vọng số lượng cá thể trong thế hệ tiếp theo thoả mãn
điều kiện nhóm H.
Một dạng tổng qt hơn của ñịnh lý về nhóm gen có thể ñược biểu diễn dưới
dạng biểu thức như sau:
E  rH ,t +1  ≥ rH ,t

f ( H,t)
f (t )

Pc ( H ) Pm ( H )

(1.12)

Trong đó các giá trị gần đúng Pc và Pm chỉ phụ thuộc vào nhóm gen H và
cách thức thực hiện các toán tử kết hợp và đột biến. Việc xấp xỉ hố đó có thể
được thực hiện ñối với tất cả các dạng khác nhau của các tốn tử kết hợp và đột
biến.
ðịnh lý về nhóm gen cho phép trả lời câu hỏi nhóm gen nào sẽ có nhiều khả
năng tiếp tục tồn tại trong thế hệ sau. Tuy nhiên nó chưa cho biết gì về tính hội tụ
của thuật tốn. ðể trả lời câu hỏi này ta cần thêm một số lý thuyết khác.
1.4.2. Giả thuyết về nhóm cơ bản

Trong mục này sẽ trình bày giả thuyết về nhóm cơ bản, một bước tiếp theo
để phân tích tính hội tụ của thuật tốn di truyền.
20


Luận văn thạc sĩ


Chương 1. Thuật toán di truyền

Một hệ quả trực tiếp của định lý về nhóm gen là các nhóm gen có mức độ
phù hợp cao với bậc thấp và chiều dài quy ước nhỏ sẽ có nhiều khả năng tồn tại
hơn trong q trình tiến hố của quần thể. Giả sử xác suất ñột biến pm tương ñối
nhỏ. Khi ñó biểu thức (1.11) sẽ có thể ñược viết lại dưới dạng gần ñúng như sau:
E  rH ,t +1  ≥ rH ,t

f (H,t) 
δ (H ) 
1 − pc
 (1 − pmO ( H ) )
L −1 
f (t ) 

(1.13)

Nếu kích thước N của quần thể đủ lớn thì, một cách tương đối, độ lệch của
rH,t+1 so với giá trị kỳ vọng sẽ nhỏ. Nếu có thể bỏ qua độ lệch này thì ta có thể viết:
rH ,t +1 ≥ rH ,t

f (H,t) 
δ (H ) 
1 − pc
 (1 − pmO ( H ) )
L −1 
f (t ) 

(1.14)


Từ biểu thức gần ñúng trên ta thấy rằng , đối với một nhóm gen có mức độ
phù hợp cao với các giá trị δ ( H ) và O ( H ) nhỏ, số lượng cá thể thoả mãn các điều
kiện của nhóm đó sẽ tăng theo hàm mũ trong q trình tiến hố của quần thể. Các
nhóm gen như vậy được gọi là các nhóm cơ bản (building blocks).
Goldberg đã đưa ra một giả thuyết được gọi là giả thuyết về các nhóm cơ bản
(building blocks hypothesis). Nội dung giả thuyết đó như sau: Một thuật toán di
truyền sẽ tạo ra các kết quả ngày càng tốt hơn bằng cách kết hợp và gây đột biến
các nhóm gen ngắn, bậc thấp và có mức độ phù hợp cao.
Nếu giả thuyết về các nhóm cơ bản nói trên là đúng thì phương pháp mã hố
bài tốn sẽ đóng vai trị rất quan trọng đối với khả năng hội tụ của thuật toán. ðể
minh hoạ tính chất này ta cùng xem xét hai thí dụ dưới ñây về cách chọn hàm phù
hợp.
Trường hợp thứ nhất là một hàm phù hợp có dạng tuyến tính:
L

f ( s ) = a + ∑ ci si

(1.15)

i =1

Trong đó si là gen thứ i của nhiễm sắc thể s.
Trường hợp thứ hai là một hàm phù hợp có dạng:
1,
f ( x) = 
0,

( x = x0 )
( x ≠ x0 )


(1.16)

Có thể thấy rằng, trong trường hợp thứ nhất, hàm phù hợp được tính bằng
một tổ hợp tuyến tính của tất cả các gen của cá thể. Ta có thể xác ñịnh ñược giá trị
21


Luận văn thạc sĩ

Chương 1. Thuật toán di truyền

tối ưu cho mọi gen ñộc lập với nhau, nghĩa là giá trị tối ưu của một gen bất kỳ
không phụ thuộc vào bất cứ gen nào khác. Trong trường hợp này bài tốn tối ưu có
thể được giải bằng cách tìm giá trị tối ưu cho từng gen riêng biệt, sau ñó kết quả
cuối cùng sẽ là sự tổ hợp của tất cả các gen tối ưu đã tìm được. Việc tìm giá trị tối
ưu cho mỗi gen (tương đương với một nhóm gen có độ dài quy ước là 1 và bậc
bằng 1, nhóm gen đơn giản nhất), theo giả thuyết về nhóm cơ bản, là rất dễ dàng.
Tuy nhiên điều đó khơng cịn đúng trong trường hợp thứ hai. Trong trường
hợp này tất cả các gen ñều liên quan chặt chẽ với nhau. Ta không thể xây dựng
một thuật tốn hội tụ đến kết quả tối ưu bằng cách tối ưu hố từng phần (từng
nhóm gen) của nhiễm sắc thể. Kết quả tối ưu trong trường hợp này sẽ tương đương
với một nhóm gen có độ dài quy ước bằng L và bậc cũng bằng L, tức là nhóm gen
phức tạp nhất.
Tóm lại, khả năng hội tụ của thuật tốn di truyền sẽ càng cao khi càng có
nhiều nhóm gen độc lập với nhau sao cho ta có thể tối ưu hố từng nhóm gen đó.
Ngược lại, khả năng hội tu của thuật toán di truyền sẽ càng thấp khi càng có nhiều
nhóm gen phụ thuộc vào nhau. ðiều này khơng chỉ đúng đối với thuật tốn di
truyền mà cịn đúng đỗi với bất kỳ phương pháp tối ưu nào khác.
Hiện tượng trên cũng ñược thấy trong thế giới tự nhiên và ñược gọi là

epistasis, tức là hiện tượng phụ thuộc lẫn nhau giữa các gen. Vì vậy thuật ngữ này
cũng thường được sử dụng trong thuật tốn di truyền để chỉ sự phụ thuộc đó. Các
vấn đề tối ưu có mức độ phụ thuộc cao giữa các gen thường rất khó giải quyết.
Thuật tốn di truyền thích hợp với các bài tốn có mức độ phụ thuộc trung bình.
Cịn các bài tốn có mức độ phụ thuộc nhỏ có thể được giải quyết một cách hiệu
quả hơn nhiều bằng các phương pháp tối ưu truyền thống.
1.4.3. ðịnh lý hội tụ

Trong các phần trước đã trình bày về định lý nhóm gen và giả thuyết nhóm
cơ bản. ðịnh lý về nhóm gen đã làm rõ một số khía cạnh về cơ chế làm việc của
thuật tốn di truyền. Cịn giả thuyết về khối cơ bản ñã ñưa ra một số giả ñịnh về
khả năng hội tụ của các thuật tốn đó. Trong mục này sẽ trình bày một số kết quả
về tính hội tụ của thuật tốn di truyền. Trong thực tế, mặc dù thuật tốn di truyền
khơng đảm bảo chắc chắn sẽ hội tụ, nhưng một cách “trung bình” trong các trường
hợp, thuật tốn di truyền sẽ hội tụ (tức là khả năng hội tụ của nó là cao).
Tương tự như các phần trước, ở ñây ta xét một thuật toán di truyền thực hiện
trên một quần thể có kích thước N, các cá thể được mã hố bởi các chuỗi nhị phân
22


Luận văn thạc sĩ

Chương 1. Thuật tốn di truyền

có độ dài cố định là L. Ngồi ra các tốn tử di truyền ñược sử dụng là: lựa chọn
theo tỷ lệ, kết hợp ñơn ñiểm với xác suất pc, ñột biến ñều với xác suất pm.
Khi ñó ta có ñịnh lý sau đây, gọi là định lý về tính hội tụ (Convergence
Theorem):
ðịnh lý: Nếu các biểu thức sau ñây ñồng thời thoả mãn:
pm ≤ 0,5


(1 − p ) ( 2 − (1 − p )
m
m

c

N

) <1

thì ta có:
lim E  f ( Bk )  = f *
k →∞

(1.17)

Trong đó Bk là toàn bộ quần thể sau k bước lặp của thuật tốn di truyền,
f ( Bk ) là mức độ phù hợp cao nhất trong quần thể Bk, còn f là giá trị tối ưu mong
*

muốn, E là toán tử kỳ vọng. ðịnh lý hội tụ nói rằng khi các điều kiện của nó được
thoả mãn, thuật tốn di truyền sẽ làm quần thể hội tụ ñến giá trị mong muốn.
Một trường hợp đặc biệt của thuật tốn là khi pc = 0 . Khi đó, với pm > 0 ,
điều kiện thứ hai của định lý sẽ ln được thoả mãn. Trong trường hợp này, thuật
toán di truyền sẽ hội tụ nếu pm ≤ 0,5 .

1.5. Chi tiết hơn về các toán tử
1.5.1. Toán tử chọn lọc


Trong thuật toán di truyền, chọn lọc là một tốn tử dùng để biến ñổi quần thể
hiện tại Bt thành một quần thể trung gian Bt′ nhằm phục vụ cho các toán tử kết hợp
và đột biến được thực hiện tiếp theo. Tốn tử chọn lọc cho phép định hướng thuật
tốn đến kết quả cuối cùng bằng cách chỉ giữ lại các cá thể có mức độ phù hợp cao
và loại bỏ các cá thể có mức độ phù hợp thấp. Nó thực hiện nguyên lý “cá thể phù
hợp nhất sẽ sống sót”. Chọn lọc có thể là một tốn tử tiền định, tuy nhiên trong
hầu hết các trường hợp người ta thường chọn các phương pháp lựa chọn ngẫu
nhiên.
Trong quá trình chọn lọc, một phần số lượng các cá thể của quần thể hiện tại
ñược sẽ ñược chọn ra ñể tiếp tục xử lý. Việc chọn lọc này ñược thực hiện dựa theo
một hoặc một số tiêu chí nào đó, chẳng hạn như mức độ phù hợp của cá thể. Sau
đó nếu cần thiết, các cá thể ñã ñược chọn ra này sẽ ñược sao chép (với số lược bản
sao khác nhau ñối với mỗi cá thể) ñể tạo ra ñủ số lượng cá thể cho quần thể mới.
23


Luận văn thạc sĩ

Chương 1. Thuật toán di truyền

Bây giờ ta sẽ xây dựng mơ hình tốn học cho q trình chọn lọc để thuận tiện
trong việc đánh giá các phương pháp chọn lọc sau này.
Trong các phương pháp chọn lọc ñược xét ở ñây ta chỉ quan tâm ñến mức ñộ
phù hợp của các cá thể trong quần thể. Do đó trạng thái của một quần thể sẽ được
hồn tồn xác định bởi tập hợp các mức độ phù hợp của các cá thể của nó. Tập
hợp này sẽ bao gồm một số lượng hữu hạn các giá trị f1 ,..., f n ( n ≤ N ) (do kích
thước N của quần thể là hữu hạn). Ta gọi h ( f i ) là số lượng cá thể có mức độ phù
hợp bằng fi . Khi đó h ( f i ) cũng ñược gọi là hàm mật ñộ giá trị phù hợp của quần
thể.
Ta giả sử rằng các giá trị hàm phù hợp nói trên đã được sắp xếp theo thứ tự

tăng dần f1 < f 2 < ... < f n ( n < N ) trong đó f1 tương ứng với mức độ phù hợp kém
nhất và fn tương ứng với mức ñộ phù hợp tốt nhất. Khi đó hàm:

0
i <1


 i
H ( f i ) = ∑ h ( f j ) 1 ≤ i ≤ N
 j =1

i≥N
 N


(1.18)

ñược gọi là hàm phân bố mức ñộ phù hợp của quần thể. H ( f i ) chính là tổng
số lượng cá thể có mức ñộ phù hợp bằng hoặc nhỏ hơn fi . Hình 1-3 minh hoạ các
hàm mật độ mức độ phù hợp và hàm phân bố mức ñộ phù hợp của cùng một quần
thể.

24


×