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

NGHIÊN cứu lập TRÌNH TIẾN hóa áp DỤNG CHO bài TOÁN KHÔI PHỤC Ả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 (7.31 MB, 74 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT PHẦN MỀM

KHÓA LUẬN TỐT NGHIỆP

NGHIÊN CỨU LẬP TRÌNH TIẾN HÓA ÁP
DỤNG CHO BÀI TOÁN KHÔI PHỤC ẢNH
STUDYING EVOLUTIONARY PROGRAMMING
APPLIED TO IMAGE RECOVERY PROBLEMS

Giảng viên hƣớng dẫn: TS. NGÔ THANH HÙNG
Sinh viên thực hiện: TRẦN ĐÌNH PHÚ
Lớp

: CNPM01

Khóa : 01

Thành Phố Hồ Chí Minh, tháng 04 năm 2011


ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT PHẦN MỀM

KHÓA LUẬN TỐT NGHIỆP



NGHIÊN CỨU LẬP TRÌNH TIẾN HÓA ÁP
DỤNG CHO BÀI TOÁN KHÔI PHỤC ẢNH
STUDYING EVOLUTIONARY PROGRAMMING
APPLIED TO IMAGE RECOVERY PROBLEMS

Giảng viên hƣớng dẫn: TS. NGÔ THANH HÙNG
Sinh viên thực hiện: TRẦN ĐÌNH PHÚ
Lớp : CNPM01
Khóa : 01

Thành Phố Hồ Chí Minh, tháng 04 năm 2011


ABSTRACT
As we know Natural Evolutionary is the best completely process, most
reasonable and the optimal nature. Natural evolution demonstrates the optimization
in place, the next generation is always better, more developed, more fully than
previous generations. Natural evolution is maintained by two basic processes:
reproduction and natural selection.
Like the natural evolution, the evolutionary programming (proposed by D.B.
Fogel) has used the search algorithms and optimization based on the principle of
natural evolution: the individual does more developed, more adapted to the
environment will survive, the others cannot adapt to the environment will be
eliminated.
Evolutionary programming imitate four basic processes in nature: crossover,
mutation, reproduction and natural selection to create the best individual have a
higher adaptability of our parents.
Evolutionary programming is applied extensively in the field of artificial
intelligence, machine learning, data exploiting, image processing,… And recently it

has been combined with fuzzy logic and fuzzy set to applications in the field
clustering and restore images and have achieved satisfactory results.
The topic "Studying evolutionary programming applied to image recovery
problems" is the subject of initial research on the evolutionary programming
combined with Dunn's fuzzy c-means approach to application to image processing
specifically the clustering and restore images at once problem and the subject has
gotten the certain results in the clustering and restore corrupted photographs.


LỜI MỞ ĐẦU
Lập trình tiến hóa (Evolutionary Programming - EP) là một trong ba nhánh
chính của Thuật toán tiến hóa (Evolutionary Algorithm - EA).
Ba nhánh chính của EA gồm:
1. Lập trình tiến hóa (Evolutionary Programming - EP) - được đề xuất bởi D.B.
Fogel.
2. Thuật toán di truyền (Genetic Algorithms - GA) - được đề xuất bởi D.E.
Goldberg, sau đó được L. Davis và Z. Michalevicz phát triển.
3. Chiến lược tiến hóa (Evolutionary Strategies - ES) - được đề xuất bởi T.
Baeck, F.H. Hofmeister và H.P Schwefel.
Cũng như hai nhánh còn lại của Thuật toán tiến hóa (EA), Lập trình tiến hóa
(EP) sử dụng những thuật toán tìm kiếm và tối ưu hóa dựa trên nguyên lý tiến hóa
tự nhiên: những cá thể nào phát triển hơn, thích nghi hơn với môi trường sẽ tồn tại,
những cá thể nào không thích ứng được với môi trường sẽ bị đào thải.
Lập trình tiến hóa (EP) mô phỏng bốn quá trình cơ bản trong tự nhiên là: lai tạo,
đột biến, sinh sản và chọn lọc tự nhiên để tạo ra những cá thể tốt nhất có độ thích
nghi cao hơn bố mẹ của chúng.
Lập trình tiến hóa (EP) được ứng dụng nhiều trong các lĩnh vực trí tuệ nhân tạo,
máy học, khai thác dữ liệu, xử lý ảnh,... Và gần đây người ta đã kết hợp EP với
Logic mờ và Tập mờ để ứng dụng vào lĩnh vực phân nhóm và phục hồi ảnh và đã
đạt được những kết rất khả quan.

Mục tiêu chính của luận văn này là bước đầu tiên nghiên cứu và ứng dụng lập
trình tiến hóa mờ vào việc xử lý ảnh. Cụ thể là ứng dụng phân nhóm và phục hồi
ảnh cùng một lúc. Bài toán được phát biểu như sau: có n bức ảnh của c đối tượng bị
hỏng một cách ngẫu nhiên, tìm cách phục hồi lại n bức ảnh trên và phân các bức
ảnh đó thành c nhóm riêng biệt.


Để đạt được mục tiêu trên, luận văn sẽ từng bước trình bày các vấn đề nghiên
cứu sau:
-

Lý thuyết về Lập trình tiến hóa (EP), Logic mờ và Phân nhóm tiến hóa.

-

Lý thuyết về biểu diễn và xử lý ảnh số.

-

Nghiên cứu thuật toán phục hồi ảnh dựa trên thuật toán Phân nhóm tiến hóa
mờ.

-

Cài đặt và khảo sát thực nghiệm hiệu quả của thuật toán phục hồi ảnh dựa
trên thuật toán phân nhóm tiến hóa mờ.

Do tính chất tương tự của Lập trình tiến hóa (EP) và Thuật toán di truyền (GA)
nên trong luận văn này xin được trình bày song song hai vấn đề này cùng một lúc
để thấy được điểm giống và khác nhau giữa chúng. Còn Chiến lược tiến hóa (ES)

xin được không đề cập đến vì thời gian tìm hiểu có hạn.
Luận văn này được trình bày trong 5 chương:
Chƣơng 1: Trình bày tổng quan về Thuật toán di truyền (GA) và Lập trình tiến
hóa (EP).
Chƣơng 2: Trình bày tổng quan khái niệm Lý thuyết Tập mờ và Logic mờ.
Chƣơng 3: Trình bày ứng dụng Lập trình tiến hóa mờ vào việc phân nhóm và
phục hồi ảnh số.
Chƣơng 4: Gồm một số kết quả thử nghiệm của việc phân nhóm và phục hồi
ảnh hỏng.
Chƣơng 5: Kết luận, tổng kết đánh giá các kết quả đã nghiên cứu được cũng
như hướng phát triển của đề tài.


LỜI CẢM ƠN
Xin chân thành cảm ơn Ban Chủ Nhiệm và quý Thầy Cô trong khoa Kỹ Thuật
Phần Mềm trường Đại Học Công Nghệ Thông Tin. Đồng thời cũng xin gửi lời cảm
ơn đến Thầy hướng dẫn đề tài TS. Ngô Thanh Hùng đã nhiệt tình giảng dạy, cung
cấp tài liệu, hướng dẫn, góp ý và tạo mọi điều kiện thuận lợi về mọi mặt để hoàn
thành bản luận văn tốt nghiệp này.

Thành Phố Hồ Chí Minh, tháng 04 năm 2011
Trần Đình Phú


NHẬN XÉT
(Của giảng viên hƣớng dẫn)
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................


NHẬN XÉT
(Của giảng viên phản biện)
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................


MỤC LỤC

Trang
Trang phụ bìa
Abstract
Lời mở đầu
Lời cảm ơn
Nhận xét của giảng viên hướng dẫn

Nhận xét của giảng viên phản biện
Mục lục
Danh mục các bảng biểu, sơ đồ, hình
Định nghĩa một số thuật ngữ có liên quan
Chƣơng 1 – TỔNG QUAN VỀ GA VÀ EP
1.1 TỔNG QUAN ....................................................................................................1
1.2 TỔNG QUAN VỀ GA.......................................................................................1
1.3 TỔNG QUAN VỀ EP .......................................................................................3
1.4 CÁC THÀNH PHẦN CƠ BẢN CỦA GA VÀ EP ..........................................5
1.4.1 Dạng nhị phân ..................................................................................................5
1.4.1.1 Mã hóa và giải mã .........................................................................................5
1.4.1.2 Khởi tạo quần thể ban đầu ............................................................................7
1.4.1.3 Phép chọn lọc ................................................................................................8
1.4.1.4 Phép lai tạo ..................................................................................................10
1.4.1.5 Phép đột biến ...............................................................................................12
1.4.1.6 Các thế hệ kế tiếp ........................................................................................13
1.4.1.7 Sự hội tụ ......................................................................................................16
1.4.2 Dạng liên tục ..................................................................................................17
1.4.2.1 Mã hóa tham số và hàm fitness ...................................................................17


1.4.2.2 Khởi tạo quần thể ban đầu ..........................................................................18
1.4.2.3 Phép chọn lọc ..............................................................................................18
1.4.2.4 Phép lai tạo ..................................................................................................20
1.4.2.5 Phép đột biến ...............................................................................................21
1.4.2.6 Sự hội tụ ......................................................................................................22
Chƣơng 2 – LÝ THUYẾT TẬP MỜ VÀ LOGIC MỜ
2.1 GIỚI THIỆU....................................................................................................25
2.2 KHÁI NIỆM TẬP MỜ ...................................................................................26
2.3 CÁC PHÉP TOÁN CƠ BẢN VỀ TẬP MỜ ..................................................27

2.3.1 Phép bù ...........................................................................................................27
2.3.2 Phép giao ........................................................................................................28
2.3.3 Phép hợp .........................................................................................................29
2.4 LOGIC MỜ......................................................................................................31
2.4.1 Định nghĩa mệnh đề mờ .................................................................................31
2.4.2 Các phép toán cơ bản trên logic mờ ...............................................................31
Chƣơng 3 – PHÂN NHÓM VÀ PHỤC HỒI ẢNH SỐ
3.1 GIỚI THIỆU ẢNH SỐ ...................................................................................33
3.1.1 Biểu diễn ảnh số .............................................................................................34
3.1.2 Biểu diễn màu sắc ..........................................................................................34
3.1.3 Không gian màu sắc .......................................................................................35
3.1.4 Các định dạng ảnh cơ bản ..............................................................................37
3.1.5 Phương pháp xử lí ảnh số ...............................................................................38
3.2 PHÂN NHÓM VÀ PHỤC HỒI ẢNH SỐ .....................................................39
3.2.1 Giới thiệu........................................................................................................39
3.2.2 Thuật toán phân nhóm tiến hóa mờ................................................................40
3.2.3 Áp dụng thuật toán phân nhóm tiến hóa mờ vào việc phục hồi ảnh ..............41
3.2.3.1 Phát biểu bài toán ........................................................................................41


3.2.3.2 Hướng giải quyết bài toán ...........................................................................41
3.2.3.3 Thử nghiệm .................................................................................................43
3.2.3.4 Kết luận .......................................................................................................45
3.3 CÀI ĐẶT CHƢƠNG TRÌNH ........................................................................45
3.3.1 Giới thiệu chương trình ..................................................................................45
3.3.2 Cấu trúc chương trình ....................................................................................45
3.3.3 Kết quả cài đặt chương trình ..........................................................................48
Chƣơng 4 – THỬ NGHIỆM PHÂN NHÓM VÀ PHỤC HỒI ẢNH
4.1 THỬ NGHIỆM 4.1 ..........................................................................................50
4.2 THỬ NGHIỆM 4.2 ..........................................................................................52

4.3 THỬ NGHIỆM 4.3 ..........................................................................................54
4.4 THỬ NGHIỆM 4.4 ..........................................................................................56
Chƣơng 5 – KẾT LUẬN
5.1 KẾT LUẬN ......................................................................................................58
5.2 HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI .........................................................58
TÀI LIỆU THAM KHẢO ....................................................................................59


DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH

Danh mục các bảng:
Bảng 1.1:

Quần thể ban đầu.

Bảng 1.2:

Quần thể ban đầu đã được sắp xếp.

Bảng 1.3:

Chứa 6 nhiễm sắc thể có độ thích nghi tốt nhất.

Bảng 1.4:

Quá trình lai tạo, tạo ra 6 nhiễm sắc thể con cháu.

Bảng 1.5:

Thế hệ thứ 2 được tạo từ thế hệ thứ 1 sau khi bỏ các cá thể yếu kém.


Bảng 1.6:

Thế hệ thứ 2 đã được sắp xếp.

Bảng 1.7:

Thế hệ thứ 3 đã được sắp xếp.

Bảng 1.8:

Quần thể ban đầu gồm 24 cá thể đã được sắp xếp.

Bảng 1.9:

Mating Pool gồm 12 cá thể tốt nhất.

Bảng 1.10:

Thế hệ thứ 2 sau khi đã đột biến và tính lại hàm fitness.

Bảng 3.1:

Giá trị cuối cùng của µij hội tụ về 1 hoặc 0.

Bảng 4.1:

Các ảnh được nhận dạng đúng hoàn toàn.

Bảng 4.2:


Các ảnh được nhận dạng đúng hoàn toàn.

Bảng 4.3:

Các ảnh được nhận dạng đúng hoàn toàn.

Bảng 4.4:

Các ảnh được nhận dạng đúng hoàn toàn.

Danh mục các sơ đồ:
Sơ đồ 1.1:

Sơ đồ tổng quát của GA.

Sơ đồ 1.2:

Sơ đồ tổng quát của EP.

Sơ đồ 3.1:

Phương pháp xử lí ảnh số.

Sơ đồ 3.2:

Sơ đồ tổng quát thủ tục phục hồi ảnh theo giải thuật Phân nhóm tiến
hóa mờ.

Sơ đồ 3.3:


Sơ đồ hoạt động của chương trình.

Danh mục các hình:
Hình 1.1:

Đồ thị 3D của hàm fitness quanh đỉnh Long’s Peak.


Hình 1.2:

Bình đồ của đồ thị hàm fitness quanh đỉnh Long’s Peak.

Hình 1.3:

Bình đồ giá trị fitness của 24 cá thể ban đầu.

Hình 1.4:

Lai tạo một điểm.

Hình 1.5:

Lai tạo hai điểm.

Hình 1.6:

Lai tạo đều.

Hình 1.7:


Phép đột biến.

Hình 1.8:

Bình đồ với 12 cá thể của thế hệ thứ 2.

Hình 1.9:

Bình đồ với 12 cá thể của thế hệ thứ 4.

Hình 1.10:

Bình đồ với 12 cá thể của thế hệ cuối cùng.

Hình 1.11:

Đồ thị giá trị trung bình fitness và giá trị cực tiểu trong mỗi thế hệ.

Hình 1.12:

Bình đồ quần thể ban đầu gồm 24 cá thể được khởi tạo ngẫu nhiên.

Hình 1.13:

Bình đồ ở thế hệ thứ 3 với 24 cá thể.

Hình 1.14:

Bình đồ ở thế hệ thứ 5 với 24 cá thể.


Hình 1.15:

Bình đồ ở thế hệ thứ 7 với 24 cá thể.

Hình 1.16:

Đồ thị giá trị trung bình và giá trị cực tiểu hàm fitness qua mỗi thế hệ.

Hình 2.1:

Biểu diễn tập mờ cho số “interger nhỏ”.

Hình 2.2:

Biểu diễn tập mờ cho các tập người đàn ông thấp, trung bình và cao.

Hình 2.3:

Hàm thuộc về của tập mờ A.

Hình 2.4:

Hàm thuộc về của tập mờ AC.

Hình 2.5:

Hàm thuộc về của hai tập mờ A và B.

Hình 2.6:


Giao của hai tập mờ theo T(x,y) = min(x,y).

Hình 2.7:

Giao của hai tập mờ theo T(x,y) = x.y.

Hình 2.8:

Hợp của hai tập mờ theo S(x,y) = max(x,y).

Hình 2.9:

Hợp của hai tập mờ theo S(x,y) = min(1, x+y).

Hình 2.10:

Hợp của hai tập mờ theo S(x,y) = x + y + x.y.

Hình 3.1:

Ảnh đen trắng.

Hình 3.2:

Ảnh mức xám.


Hình 3.3:


Ảnh màu.

Hình 3.4:

Không gian màu RGB.

Hình 3.5:

Không gian màu RGB được chuẩn hóa.

Hình 3.6:

Vector màu (Color vector).

Hình 3.7:

Các ảnh bị hỏng ngẫu nhiên khoảng 40%.

Hình 3.8:

Sự hội tụ của các giá trị trung bình fitness qua các thế hệ.

Hình 3.9:

Hai tâm của hai nhóm – Hai ảnh đã được phục hồi.

Hình 4.1:

2 ảnh gốc


Hình 4.2:

20 ảnh bị hỏng khoảng 80%

Hình 4.3:

Sự hội tụ của các giá trị trung bình fitness qua các thế hệ

Hình 4.4:

Ảnh được phục hồi

Hình 4.5:

2 ảnh gốc của 2 đối tượng gần giống nhau

Hình 4.6:

20 ảnh bị hỏng bởi các đường gạch khoảng 40% của 2 đối tượng gần
giống nhau

Hình 4.7:

Sự hội tụ của các giá trị trung bình fitness qua các thế hệ

Hình 4.8:

Ảnh được phục hồi

Hình 4.9:


2 ảnh gốc có tông màu giống nhau

Hình 4.10:

20 ảnh bị hỏng bởi các đường gạch và điểm chấm khoảng 40% của 2
đối tượng có màu nền giống nhau

Hình 4.11:

Sự hội tụ của các giá trị trung bình fitness qua các thế hệ

Hình 4.12:

Ảnh được phục hồi

Hình 4.13:

2 ảnh gốc

Hình 4.14:

20 ảnh bị hỏng bởi màu sắc ngẫu nhiên khoảng 40%

Hình 4.15:

Sự hội tụ của các giá trị trung bình fitness qua các thế hệ

Hình 4.16:


Ảnh được phục hồi


ĐỊNH NGHĨA MỘT SỐ THUẬT NGỮ CÓ LIÊN QUAN

-

Chromosome: Nhiễm sắc thể.

-

Color space: Không gian màu sắc.

-

Color vector: Vector màu.

-

Crossover: Lai tạo.

-

EA (Evolutionary Algorithm): Thuật toán tiến hóa.

-

EP (Evolutionary Programming): Lập trình tiến hóa.

-


ES (Evolutionary Strategies): Chiến lược tiến hóa.

-

Fitness: Độ thích nghi.

-

Fuzzy evolutionary clustering: Phân nhóm tiến hóa mờ.

-

Fuzzy logic: Logic mờ.

-

Fuzzy set: Tập mờ.

-

GA (Genetic Algorithm): Thuật toán di truyền.

-

Genotype: Kiểu gen.

-

Mating Pool: Tập con của một quần thể gồm các nhiễm sắc thể tốt.


-

Mutation: Đột biến.

-

Offspring: Nhiễm sắc thể con cháu.

-

Parent: Nhiễm sắc thể bố mẹ.

-

Phenotype: Tập các giải pháp.

-

Population: Quần thể.

-

One point crossover: Lai tạo một điểm.

-

Two point crossover: Lai tạo hai điểm.

-


Uniform crossover: Lai tạo đều.


1

CHƢƠNG 1
TỔNG QUAN VỀ LẬP TRÌNH TIẾN HÓA (EP) VÀ THUẬT TOÁN DI
TRUYỀN (GA)
1.1. TỔNG QUAN
GA và EP dựa trên nguyên lí tiến hóa của tự nhiên: “Những cá thể nào thích
nghi nhất sẽ có nhiều cơ may tồn tại và phát triển”.
Trong mỗi thế hệ, các cá thể sẽ được đánh giá và chọn lọc thông qua độ thích
nghi của chúng. Những cá thể có độ thích nghi cao sẽ được chọn để nhân giống,
trong khi những cá thể có độ thích nghi kém hơn sẽ bị loại bỏ. Sau khi chọn lọc, các
cá thể được kết hợp lại với nhau để cho ra thế hệ mới.
Các phép toán thường được dùng trong quá trình phát sinh thế hệ kế tiếp là lai
tạo và đột biến. Quá trình tiến hóa sẽ diễn ra liên tục, chỉ dừng lại khi ta có được
những các thể có độ thích nghi mong muốn hay điều kiện dừng định trước nào đó
được thỏa.
GA và EP dựa vào các điểm khác nhau của quá trình tiến hóa. GA dựa vào sự
biển đổi kiểu gen (genotype) đặc trưng, trong khi EP chú trọng đến tính thích ứng,
cải tiến của tập các giải pháp (phenotype).
1.2. TỔNG QUAN VỀ GA
Trong GA, mỗi giải pháp của bài toán được xem như một cá thể trong tự nhiên
và được mã hóa thành một chuỗi nhị phân được gọi là một nhiễm sắc thể.

GVHD: TS. NGÔ THANH HÙNG

SVTH: TRẦN ĐÌNH PHÚ



2

Sơ đồ tổng quát của GA:
Bắt đầu
Khởi tạo ngẫu nhiên quần thể cha mẹ ban đầu
Đánh giá độ thích nghi của từng cá thể
Chọn lọc cá thể với xác suất tỉ lệ với độ thích nghi
Áp dụng toán tử lai tạo với xác suất pc

Số cá thể của
quần thể con
cháu đủ chưa?

Áp dụng toán tử đột biến với xác suất pm cho mỗi
cá thể của quần thể con cháu
Thay quần thể cha mẹ bởi quần thể con cháu

Điều kiện dừng
được thỏa?

Kết thúc
Sơ đồ 1.1: Sơ đồ tổng quát của GA

GVHD: TS. NGÔ THANH HÙNG

SVTH: TRẦN ĐÌNH PHÚ



3

Như vậy, một GA điển hình bao gồm các thành phần sau:
-

Mã hóa – giải mã: để chuyển đổi giữa giải pháp và nhiễm sắc thể. Thông
thường, các giải pháp được mã hóa thành các chuỗi bit và có chiều dài nhất
định, được gọi là các gen. Nhiều gen hợp lại sẽ thành một nhiễm sắc thể hay
còn gọi là cá thể.

-

Quần thể ban đầu: là tập các cá thể hay các nhiễm sắc thể ban đầu. Thường
thì quần ban đầu được chọn ngẫu nhiên.

-

Hàm mục tiêu (fitness): xác định độ thích nghi của cá thể.

-

Các tham số điều khiển:
o pc: Xác suất lai tạo.
o pm: Xác xuất đột biến.
o p: Số cá thể trong một thế hệ P.

-

Các phép toán chủ yếu trên tập các nhiễm sắc thể:
o Chọn lọc: lựa chọn các cá thể có độ thích nghi tốt để chuẩn bị phát

sinh con cháu. Tập hợp các cá thể này được gọi là “Mating Pool”.
o Lai tạo: là chuyển các chất liệu gen giữa các nhiễm sắc thể với nhau
với hy vọng sẽ tạo ra các nhiễm sắc thể tốt hơn.
o Đột biến: tạo ra sự đa dạng trong quần thể giúp phục hồi lại những
thông tin di truyền (gen) đã mất trong quá trình lai tạo.

1.3. TỔNG QUAN VỀ EP
EP cũng tương tự như GA nhưng EP chú trọng đến sự biến đổi thích ứng của tập
các cá thể hơn là sự biểu diễn của kiểu gen như trong GA. Sự biến đổi thích ứng
này dựa vào thông tin phản hồi từ môi trường nhằm làm cho các cá thể mới cho lời
giải tốt hơn.
Dạng biểu diễn của các cá thể trong EP thường thay đổi tùy theo vấn đề xem
xét, và thông thường là các số thực hoặc số nguyên.
Để tạo ra các cá thể mới, một phép toán đột biến hoạt động trên tập các cá thể
hiện tại, sao cho mỗi cá thể được đột biến thành một cá thể mới.

GVHD: TS. NGÔ THANH HÙNG

SVTH: TRẦN ĐÌNH PHÚ


4

Dạng chính xác của phép toán đột biến tùy thuộc vào dạng biểu diễn của các cá
thể. Các cá thể có độ thích nghi cao hơn thì có xu hướng ít bị đột biến hơn các cá
thể có độ thích nghi thấp hơn.
Sơ đồ tổng quát của EP:
Bắt đầu
Khởi tạo ngẫu nhiên quần thể cha mẹ ban đầu
Đánh giá độ thích nghi của từng cá thể

Đột biến các cá thể tùy theo độ thích nghi của
chúng và đưa vào quần thể con cháu
Đánh giá độ thích nghi của từng cá thể trong quần
thể con cháu
Chọn một nửa các cá thể trong tổng số các cá thể
của quần thể cha mẹ và con cháu có độ thích nghi
tốt nhất
Thay quần thể cha mẹ bởi các cá thể trên

Điều kiện dừng
được thỏa?

Kết thúc
Sơ đồ 1.2: Sơ đồ tổng quát của EP

GVHD: TS. NGÔ THANH HÙNG

SVTH: TRẦN ĐÌNH PHÚ


5

1.4. CÁC THÀNH PHẦN CƠ BẢN CỦA GA VÀ EP
GA và EP có những thành phần cơ bản như sau: mã hóa – giải mã, quần thể,
chọn lọc, lai tạo và đột biến. Tuy nhiên tùy thuộc vào bài toán mà các thành phần
của GA và EP có cách biểu diễn khác nhau. Thông thường thì sẽ có 2 cách biểu
diễn: dạng nhị phân và dạng liên tục.
Dạng biểu diễn nhị phân sẽ gặp trở ngại với những bài toán có tham số liên tục
vì sẽ làm cho kích thước của nhiễm sắc thể rất dài và giá trị hàm fitness có độ chính
xác không cao. Cho nên khi gặp những bài toán này người ta thường sử dụng cách

biểu diễn dạng liên lục (dạng số thực) sẽ cho giá trị hàm fitness chính xác hơn.
1.4.1. Dạng nhị phân
1.4.1.1. Mã hóa – giải mã
Mã hóa nhằm biến đổi bài toán ban đầu thành dạng có thể áp dụng GA và EP.
Giải mã là quá trình ngược lại của mã hóa.
GA và EP thường bắt đầu bằng việc xác định một cá thể (một nhiễm sắc thể).
Nếu cá thể đó có Npar tham số (trong bài toán tối ưu Npar chiều): p1, p2, ... , pNpar thì
khi đó một cá thể được biểu diễn là một mảng Npar phần tử.
Cá thể = [p1, p2, ..., pNpar]
Ví dụ 1.1:
Tìm đỉnh núi có độ cao lớn nhất trong một bản đồ địa hình cho bởi Hình 1.1 và
Hình 1.2 thì một cá thể được xem như một mảng hai chiều của kinh độ x và vĩ độ y.
Khi đó cá thể = [x, y] với Npar = 2.

GVHD: TS. NGÔ THANH HÙNG

SVTH: TRẦN ĐÌNH PHÚ


6

Hình 1.1: Đồ thị 3D của hàm fitness quanh đỉnh Long’s Peak

Hình 1.2: Bình đồ của đồ thị hàm fitness quanh đỉnh Long’s Peak

GVHD: TS. NGÔ THANH HÙNG

SVTH: TRẦN ĐÌNH PHÚ



7

Mỗi cá thể được đánh giá thông qua hàm thích nghi (fitness)
Fitness = f(cá thể) = f(p1, p2, ..., pNpar)
Hàm thích nghi thường phức tạp trong thực tế, nên người lập trình phải quyết
định chỉ giữ lại những tham số quan trọng nhất mà thôi.
Ví dụ 1.2: (tiếp ví dụ 1.1)
Có thể cho f(x, y) = - cd(x, y). Trong đó cd(x, y) = cao độ tại kinh độ x, vĩ độ y.
Sau khi xác định được cá thể chúng ta bắt đầu mã hóa về dạng nhị phân.
Ví dụ 1.3: (tiếp ví dụ 1.2)
Giả sử bản đồ địa hình trên có 128 x 128 cao điểm, thì sẽ có 128 giá trị cho mỗi
x và y. Nếu x, y được mã hóa thành 2 gen, mỗi gen có Nbits = 7 bits thì một nhiễm
sắc thể (NST) gồm 2 gen sẽ có Nbits = 7 + 7 = 14 bits. Khi đó NST =
[1100011|0011001].
1.4.1.2. Khởi tạo quần thể ban đầu
Quần thể ban đầu có Nipop nhiễm sắc thể (cá thể) tạo bởi một ma trận cấp Nipop x
Nbits gồm những phần tử có giá trị được khởi tạo ngẫu nhiên từ hai số 0 và 1.
Ví dụ 1.4: (tiếp ví dụ 1.3)
Khởi tạo quần thể ban đầu gồm Nipop = 24 nhiễm sắc thể (cá thể). Khi đó ta sẽ có
một ma trận cấp 24 x 14 (Nipop x Nbits). Mỗi dòng của ma trận là 1 nhiễm sắc thể.

Nhiễm sắc thể
00000000000000
11111010010010
01000011110110
10001100110110
10101100001000
01101010110000
11000000000101
00001110111001

00110011000011
11010101001110

GVHD: TS. NGÔ THANH HÙNG

Fitness
- 13000
- 11800
- 13255
- 12347
- 12560
- 12700
- 13338
- 11890
- 12953
- 12891

SVTH: TRẦN ĐÌNH PHÚ


8

11011100010100
10111001100100
00010111011011
00111100011101
01011101110001
01111010000100
00111100111110
01110011110111

00100001101010
10001011100010
10010111111110
01010011000011
01000001101000
01001011011111

- 12759
- 12320
- 11797
- 13778
- 13360
- 12220
- 12452
- 12335
- 12857
- 13166
- 13464
- 12927
- 13079
- 12756

Bảng 1.1: Quần thể ban đầu
1.4.1.3. Phép chọn lọc
Nếu quần thể ban đầu có số lượng quá lớn các cá thể thì phải tốn thời gian để
tính toán. Do đó một bộ phận lớn của các cá thể có độ thích nghi kém sẽ bị loại bỏ
thông qua quá trình chọn lọc.
Đầu tiên, Nipop giá trị của hàm fitness và các cá thể sẽ được sắp xếp theo thứ tự
tăng dần hoặc giảm dần tùy theo bài toán min hay max. Sau đó, chỉ có Npop (Npop <=
Nipop) cá thể có độ thích nghi tốt nhất được giữ lại trong mỗi vòng lập và các cá thể

khác sẽ bị loại bỏ.
Phép chọn lọc được thực hiện cho mỗi thế hệ. Trong Npop cá thể ở mỗi thế hệ chỉ
giữ lại Ngood cá thể có độ thích nghi tốt nhất để lai tạo và Nbad cá thể còn lại sẽ bị
loại bỏ để dành chỗ cho các cá thể con cháu. Thông thường Ngood = Nbad = Npop / 2.
Giữ lại Ngood bao nhiêu là tùy ý miễn (Ngood + Nbad = Npop) nhưng nếu giữ lại nhiều
thì có khả năng những cá thể có độ thích nghi kém sẽ được truyền lại cho đời con
cháu.

GVHD: TS. NGÔ THANH HÙNG

SVTH: TRẦN ĐÌNH PHÚ


9

Ví dụ 1.5: (tiếp ví dụ 1.4)
Nipop = 24 cho quần thể ban đầu, nhưng chỉ giữ lại Npop = 12 cá thể trong mỗi lần
lặp. Mỗi lần lặp, chỉ có Ngood = 6 cá thể được đặt vào Mating Pool để dành cho lai
tạo và Nbad = 6 cá thể còn lại bị loại bỏ.

Hình 1.3: Bình đồ giá trị fitness của 24 cá thể
ban đầu được biểu diễn bằng dấu ▪

Nhiễm sắc thể
00111100011101
10010111111110
01011101110001
11000000000101
01000011110110
10001011100010

01000001101000
00000000000000
00110011000011
01010011000011
11010101001110
00100001101010

GVHD: TS. NGÔ THANH HÙNG

Fitness
- 13778
- 13464
- 13360
- 13338
- 13255
- 13166
- 13079
- 13000
- 12953
- 12927
- 12891
- 12857

SVTH: TRẦN ĐÌNH PHÚ


10

11011100010100
01001011011111

01101010110000
10101100001000
00111100111110
10001100110110
01110011110111
10111001100100
01111010000100
00001110111001
11111010010010
00010111011011

- 12759
- 12756
- 12700
- 12560
- 12452
- 12347
- 12335
- 12320
- 12220
- 11890
- 11800
- 11797

Bảng 1.2: Quần thể ban đầu đã được sắp xếp
Có một phép chọn lọc gọi là “Chọn lọc theo ngưỡng”. Các cá thể có độ thích
nghi lớn hơn hoặc nhỏ hơn (tùy thuộc vào bài toán tìm max hay min) một ngưỡng
nào đó thì sẽ được sống sót, các cá thể còn lại sẽ bị loại bỏ.
1.4.1.4. Phép lai tạo
Lai tạo là việc tạo ra một hay nhiều nhiễm sắc thể con cháu từ các cặp nhiễm sắc

thể cha mẹ. Các cặp nhiễm sắc thể cha mẹ có thể chọn tuần tự hoặc chọn ngẫu
nhiên.
Có ba phương pháp lai tạo nhị phân trong GA: lai tạo một điểm (one point
crossover), lai tạo hai điểm (two point crossover), lai tạo đều (uniform crossover).
Nhưng tất cả đều xuất phát từ hai nhiễm sắc thể cha mẹ để tạo ra hai nhiễm sắc thể
con cháu.
-

Lai tạo một điểm

Hình 1.4: Lai tạo một điểm

GVHD: TS. NGÔ THANH HÙNG

SVTH: TRẦN ĐÌNH PHÚ


×