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

Tự chỉnh bộ điều khiển mờ dùng giải thuật di truyền

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 (1.4 MB, 171 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
----------o0o----------

BK
TP.HCM

NGUYỄN MINH LUÂN

TỰ CHỈNH BỘ ĐIỀU KHIỂN MỜ
DÙNG GIẢI THUẬT DI TRUYỀN

LUẬN VĂN THẠC SỸ
Chuyên ngành: ĐIỀU KHIỂN HỌC KỸ THUẬT
Mã ngành : 2.05.01

Thaùng 01-2003


Luận án cao học

CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học:

TS. NGUYỄN PHƯƠNG HÀ

ThS. HUỲNH THÁI HOÀNG
Cán bộ chấm nhận xét 1:



GS.TSKH. NGUYỄN THÚC LOAN
Cán bộ chấm nhận xét 2:

TS. LÊ HOÀI QUỐC

Luận án Cao học được bảo vệ tại
HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN CAO HỌC
Trường Đại Học Bách Khoa Tp.HCM, 01/2003.
Có thể tìm hiểu luận văn tại:
x Thư Viện Cao Học Trường Đại Học Bách Khoa, Đại học Quốc gia Tp. Hồ Chí
Minh;
x Bộ môn Viễn Thông & Tự Động Hóa, Khoa Công Nghệ Thông Tin, Trường Đại
học Cần Thơ.
x Người thực hiện:

Nguyền Minh Luân

i


Luận án cao học

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC QUỐC GIA Tp.HCM
TRƯỜNG ĐH BÁCH KHOA
--------------

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

---oOo---

NHIỆM VỤ LUẬN VĂN CAO HỌC
Họ và tên:
Ngày sinh:
Chuyên ngành:
Khóa:

NGUYỄN MINH LUÂN
13 - 05 - 1973
ĐIỀU KHIỂN HỌC KỸ THUẬT
2000-2003

Giới tính: Nam
Nơi Sinh: Cần Thơ

I-

TÊN ĐỀ TÀI:
TỰ CHỈNH BỘ ĐIỀU KHIỂN MỜ DÙNG GIẢI THUẬT DI TRUYỀN
II- NHIỆM VỤ VÀ NỘI DUNG:
♦ Nghiên cứu giải thuật Di truyền.
♦ Nghiên cứu Lý thuyết Điều khiển mờ.
♦ Nghiên cứu sự kết hợp của giải thuật di truyền và bộ điều khiển mờ.
♦ Nghiên cứu cải tiến giải thuật Di truyền, sự kết hợp giải thuật Di truyền
và giải thuật ‘Leo đồi’ để hiệu chỉnh tập luật cho bộ Điều khiển mờ.
♦ Mô phỏng hệ mờ di truyền điều khiển cân bằng hệ con lắc ngược quay.
III - NGÀY GIAO NHIỆM VỤ:
20-05-2002
IV- NGÀY HOÀN THÀNH NHIỆM VỤ:

20-12-2002
V - HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS. NGUYỄN PHƯƠNG HÀ
ThS. HUỲNH THÁI HOÀNG
VI- HỌ VÀ TÊN CÁN BỘ NHẬN XÉT 1: GS.TSKH. NGUYỄN THÚC LOAN
VII- HỌ VÀ TÊN CÁN BỘ NHẬN XÉT 2: TS. LÊ HOÀI QUỐC
CÁN BỘ HƯỚNG DẪN

TS. Nguyễn Phương Hà

CÁN BỘ PHẢN BIỆN 1

GS.TSKH. Nguyễn Thúc Loan

CÁN BỘ PHẢN BIỆN 2

TS. Lê Hoài Quốc

Nội dung Đề cương Luận án đã được thông qua Hội Đồng Chuyên Ngành.
PHÒNG QLKH-SAU ĐAI HỌC

Tp. HCM, Ngày tháng năm 2003
CHỦ NHIỆM NGÀNH

TS. NGUYỄN ĐỨC THÀNH
Nguyễn Minh Luân

ii


Luận án cao học


Lời cảm ơn
Sau khoảng thời gian miệt mài tìm tòi, nghiên cứu đề tài với không ít khó
khăn, thử thách nhưng với sự nổ lực của bản thân và sự động viên, khích lệ của
gia đình, quý thầy cô và đồng nghiệp thuộc bộ môn Viễn Thông - Tự Động
Hóa, Khoa Công Nghệ Thông Tin Trường Đại Học Cần Thơ, đến nay tôi đã
hoàn thành đề tài tốt nghiệp Cao Học.
Tôi xin gởi lời cám ơn chân thành nhất đến:
- Thầy ThS. Huỳnh Thái Hoàng, Bộ môn Điều Khiển Tự Động, Khoa Điện
– Điện Tử, Trường Đại Học Bách Khoa - Thành Phố Hồ Chí Minh, người
đã trực tiếp hướng dẫn khoa học, đưa ra những ý tưởng giúp tôi định hướng
nghiên cứu. Cám ơn thầy đã truyền đạt kiến thức và những kinh nghiệm
quý báu trong suốt quá trình học tập và thực hiện luận văn.
- TS. Nguyễn Phương Hà, Bộ môn Điều Khiển Tự Động, Khoa Điện –
Điện Tử, Trường Đại Học Bách Khoa - Thành Phố Hồ Chí Minh, về những
bài học và tài liệu rất bổ ích cho quá trình học tập và nghiên cứu. Cám ơn
cô với những ý kiến đóng góp chân thành giúp em hoàn thiện luận án tốt
hơn.
- GS.TSKH. Nguyễn Thúc Loan, TS. Lê Hoài Quốc đã đọc và cho những
nhận xét quý báu giúp luận án được hoàn chỉnh.
- Tất cả các Thầy cô đã giảng dạy, truyền đạt tri thức giúp tôi trưởng thành,
tự tin bước vào con đường nghiên cứu.
- Xin chân thành cám ơn tất cả các thầy cô, bạn bè, đồng nghiệp tại Bộ Môn
Viễn Thông – Tự Động Hóa, Đại Học Cần Thơ, đã giúp đở và động viên
tôi trong suốt quá trình học cao học và làm luận văn tốt nghiệp.
- ThS Nguyễn Chí Ngôn, Trưởng phòng thí nghiệm Vi Xử Lý – Điều Khiển
Tự Động - Khoa Công Nghệ Thông Tin – ĐH Cần Thơ, đã có nhiều trao
đổi khoa học trong lónh vực chuyên môn rất bổ ích, đóng góp ý kiến rất sâu
sắc đến đề tài giúp tôi có sự chuẩn bị tốt hơn trong nghiên cứu. Các em
Trương Quốc Bảo, Phạm Duy Nghiệp, Nguyễn Khắc Nguyên, Trần

Nhựt Khải Hoàn, giảng viên Trường Đại Học Cần Thơ, đã nhiệt tình tạo
mọi điều kiện tốt để tôi hoàn thành luận án này.
Sau cùng, tôi muốn gởi lời biết ơn sâu sắc nhất đến tất cả những người thân
trong gia đình. Cám ơn sự đùm bọc và yêu thương của Ông bà, Cha mẹ và
anh chị em. Vợ và con gái tôi, nghị lực và hạnh phúc của cuộc đời tôi.
Tp.Hồ Chí Minh, tháng 01 năm 2003
Nguyễn Minh Luân
Nguyễn Minh Luân

iii


Luận án cao học

Tóm tắt
Luận văn trình bày một số kết quả và một số cải tiến trong việc sử dụng
giải thuật di truyền để tự tìm ra hệ mờ tối ưu điều khiển cân bằng hệ con lắc
ngược quay theo phương thẳng đứng, một đối tượng phi tuyến khá phức tạp và
điển hình thường được dùng để kiểm tra lý thuyết điều khiển tự động. Mục
đích của luận văn là thông qua kết quả sử dụng hệ mờ – di truyền để điều
khiển cân bằng con lắc ngược quay nhằm đóng góp một phương pháp mới, một
hướng tiếp cận mới làm giảm nhẹ công việc thử sai của quá trình thiết kế hệ
điều khiển mờ. Đồng thời cho ta thấy được khả năng tiềm tàng to lớn và tính
ưu việt của giải thuật di truyền trong vấn đề tìm kiếm lời giải tối ưu.
Luận văn được chia làm 4 phần:
Phần I:

Mở đầu. Tổng quan về phương pháp tìm lời giải tối ưu của
giải thuật di truyền. Trình bày sơ lượt về điều khiển mờ. Sau
cùng giới thiệu về hệ Mờ – Di Truyền (Genetic Fuzzy

Systems: GFS), là sự kết hợp của hệ mờ và ưu điểm của giải
thuật di truyền.

Phần II:

Giải Thuật Di Truyền. Phần này trình bày cấu trúc của một
giải thuật di truyền đơn giản, các toán tử của giải thuật di
truyền như phép chọn lọc, lai ghép, đột biến và hàm thích
nghi để đánh giá độ tốt của lời giải. Đồng thời cũng nêu ra
việc cải tiến giải thuật di truyền cho hoạt động hiệu quả hơn,
đưa ra hai phương pháp kết hợp giải thuật leo đồi vào trong
giải thuật di truyền.

Phần III: Lý Thuyết Điều Khiển Mờ. Phần này giới thiệu cơ sở toán
học của điều khiển mờ. Khái niệm tập mờ và hệ qui tắc mờ,
hai khái niệm này là cơ sở để biểu diễn biến ngôn ngữ, giá trị
ngôn ngữ và quan hệ không chắc chắn, mơ hồ. Hai phương
pháp suy diễn thường gặp trong điều khiển mờ sẽ được trình
bày kế tiếp. Cuối cùng là phân tích cấu trúc của một hệ điều
khiển mờ cơ bản, các phương pháp giải mờ phổ biến và
phương pháp thiết kế hệ điều khiển mờ.
Phần IV: ng Dụng. Phần này giới thiệu một ứng dụng điều khiển hệ
con lắc ngược quay. Trước tiên, luận án trình bày ý nghóa của
bài toán và mô hình toán học của hệ con lắc ngược. Sau đó

Tóm tắt

iv



Luận án cao học

luận văn đưa ra một số giải thuật di truyền để tự tìm ra các
luật tối ưu của hệ mờ và điều chỉnh lại các thông số cho hệ
mờ này. Các phương pháp mã hóa cấu trúc dữ liệu của các
nhiễm sắc thể để đưa đến lời giải tốt hơn, và tăng tốc độ tìm
kiếm lời giải. Các kết quả cụ thể sau khi chạy giải thuật di
truyền.
Cuối cùng là một số kết luận và hướng phát triển của đề tài.

Tóm tắt

v


Luận án cao học

Abstract
This thesis presents some results and improvements of using genetic
algorithms to automatically generate optimal fuzzy rules of controlling
balancing the Rotary Inverted Pendulum in vertical direction. Rotary Inverted
Pendulum, a nonlinear and complex system, is a typical plant to be used to test
control theory. The objective of this thesis is to obtain a new method, new
approach to genetic algorithms in order to decrease trial – error of designing
fuzzy logic control processing. In addition, we can find a great capability and
preeminence of genetic algorithms in solving optimal problems.
The thesis is divided into four sections:
The first section: Preliminary. This section generally introduces
the method finding optimal solvings of genetic algorithms. Roughly
presentation of fuzzy control. After that introducing the co-operation

between fuzzy control and genetic algorithms which is called Genetic –
Fuzzy Systems (GFS).
The second section: Genetic Algorithms. This section presents the
structure of a single genetic algorithm, with some of its operators such as
encode chromosome, selection, recombination (crossover), mutation and
fitness function to evaluate the “goodness” of every individual in
population. We also suggest the new selection method to improve the
chance of reaching the global optimum and, vice versa, reduces the risk
of being trapped in a local stationary point. The mix of hill climbing
methods and genetic algorithms also presented.
The third section: Fuzzy Control Theory. This section discusses
mathematical fundamental of fuzzy control. Firstly, the concepts of fuzzy
sets and fuzzy rules are introduced. These concept are basic for
representing linguistic variables, linguistic term and uncertain, vague
relations. Two inference methods usually are used in fuzzy control are
prensented. Finally, we analyse the single structure of fuzzy logic
controller, some methods for defuzzification and the way to design a
fuzzy logic controller.
The last section: Application To Control Rotary Inverted
Pendulum. Firstly, this section presents the objective of problem and
Abstract

vi


Luận án cao học

mathematics model of the rotary inverted pendulum system. Then we
show some genetic algorithms, encoding chromosome’s data structure to
automaticaly generate the optimal fuzzy rules and tuning parameters the

fuzzy logic controller.
Finally, some conclusions obtained from the simulation results and
some suggestions are presented.

Abstract

vii


Luận án cao học

Mụ c l ụ c
LỜI CẢM ƠN ....................................................................................................................................... III
TÓM TẮT ............................................................................................................................................. IV
ABSTRACT.......................................................................................................................................... VI
MỤC LỤC ......................................................................................................................................... VIII
MỞ ĐẦU ..................................................................................................................................................1
1. Sơ lược về giải thuật di truyền .....................................................................................................3
2. Sơ lược về điều khiển mờ ..............................................................................................................5
3. Sự kết hợp của hệ mờ và giải thuật di truyền ..............................................................................7
4. Mục đích của luận văn .................................................................................................................8
5. Nội dung luận văn ........................................................................................................................8
GIẢI THUẬT DI TRUYỀN .................................................................................................................10
2.1. TỔNG QUAN VỀ GIẢI THUẬT DI TRUYỀN......................................................................... 10
2.1.1. Khái niệm .............................................................................................................................10
2.1.2. Lịch sử phát triển của giải thuật di truyền ...........................................................................13
2.2. GIẢI THUẬT DI TRUYỀN (GENETIC ALGORITHMS - GA)................................................ 15
2.2.1. Định nghóa giải thuật di truyền ............................................................................................15
2.2.2. Giải thuật di truyền tổng quát ..............................................................................................16
2.2.3. Cơ chế thực hiện của giải thuật di truyền ............................................................................17

2.2.4. Giải thuật di truyền cải tiến .................................................................................................19
2.2.5. Các tính chất của giải thuật di truyền ..................................................................................21
2.3. KẾT HP DI TRUYỀN VÀ LEO ĐỒI ..................................................................................... 21
2.3.1. Giải thuật leo đồi (Hill Climbing)........................................................................................21
2.3.2. Kết hợp di truyền và leo đồi .................................................................................................22
2.4. CÁC NGUYÊN LÝ TRONG GIẢI THUẬT DI TRUYỀN ........................................................ 25
2.4.1. Mã hóa .................................................................................................................................25
2.4.1.1. Mã hóa gene bằng chuỗi nhị phân .............................................................................................. 25
2.4.1.2. Mã hóa gene bằng chuỗi số thực ................................................................................................ 26

2.4.2. Hàm thích nghi (Fitness Function) ......................................................................................26

2.4.2.1. Độ thích nghi tiêu chuẩn ............................................................................................................. 27
2.4.2.2. Độ thích nghi sắp hạng ............................................................................................................... 27

2.4.3.Các phương pháp chọn lọc ....................................................................................................27

2.4.3.1. Chọn lọc đấu vòng ( Tournament Selection).............................................................................. 32
2.4.3.2. Chọn lọc cắt ( Truncation selection)........................................................................................... 36
2.4.3.3. Chọn lọc tỉ lệ (Proportional Selection): ...................................................................................... 38
2.4.3.4. Chọn lọc theo vòng quay Roulette ( Roulette wheel Selection)................................................. 40
2.4.3.5. Chọn lọc lấy mẫu toàn cục ngẫu nhiên (Stochastic Universal Sampling) .................................. 42
2.4.3.6. Chọn lọc sắp hạng tuyến tính (Linear Ranking Selection) ......................................................... 43
2.4.3.7. Chọn lọc tỉ lệ theo hàm mũ (Exponential Ranking Selection) ................................................... 45
2.4.3.8. Chọn lọc cục bộ (Local Selection).............................................................................................. 47
2.4.3.9. p dụng phương pháp chọn lọc vào trong chương trình ứng dụng.............................................. 49

2.4.4. Các phương pháp lai ghép (Crossover)................................................................................50

2.4.4.1. Lai ghép đơn điểm (Single point crossover)............................................................................... 50

2.4.4.2. Lai ghép đa điểm (Multi-point crossover) .................................................................................. 51

Muïc Luïc

viii


Luận án cao học

2.4.4.3. Lai ghép mặt nạ ( Uniform Crossover)....................................................................................... 52
2.4.4.4. Lai ghép rời rạc (Discrete crossover) ......................................................................................... 53
2.4.4.5. Lai ghép theo qui tắc tạo sinh đường (Line Crossover )............................................................ 54
2.4.4.6. Lai ghép theo qui tắc tạo sinh tức thời ( Intermediate Crossover )............................................. 56
2.4.4.7. Phép lai trong chương trình ứng dụng ......................................................................................... 57

2.4.5. Các phương pháp đột biến (Mutation) .................................................................................57

2.4.5.1. Đột biến trị nhị phân (Binary mutation) ..................................................................................... 58
2.4.5.2. Đột biến giá trị thực ( Real value mutation) ............................................................................... 59
2.4.5.3. Phép đột biến trong chương trình ứng dụng ................................................................................ 60

2.4.6. Các thông số của giải thuật di truyền ..................................................................................61

2.4.6.1. Kích thước quần thể ( POP_SIZE - μ) ........................................................................................ 61
2.4.6.2. Xác suất lai ghép (Pcross – Pc)...................................................................................................... 61
2.4.6.3. Xác suất đột biến ........................................................................................................................ 62

TÓM TẮT ......................................................................................................................................... 62

LÝ THUYẾT ĐIỀU KHIỂN MỜ.........................................................................................................64

3.1. LOGIC RÕ VÀ SỰ XUẤT HIỆN LOGIC MỜ ....................................................................................... 64
3.2. MỘT SỐ VẤN ĐỀ VỀ CƠ SỞ TOÁN HỌC CỦA LOGIC MỜ .................................................................. 65
3.2.1 Nhắc lại tập rõ ......................................................................................................................65
3.2.2. Tập mờ (a Fuzzy set) ............................................................................................................66
3.2.2.1. Khái niệm tập mờ ....................................................................................................................... 66
3.2.2.2. Định nghóa .................................................................................................................................. 67
3.2.2.3. Các đặc điểm của hàm liên thuộc ............................................................................................... 67
3.2.2.4. Các phép toán trên tập mờ .......................................................................................................... 70
3.2.2.5. Biến mờ, hàm biến mờ, biến ngôn ngữ ....................................................................................... 71

3.3. LOGIC MỜ ................................................................................................................................. 74
3.3.1. Mệnh đề mờ (Fuzzy Proposition) .........................................................................................74
3.3.2. Qui tắc mờ (Fuzzy rules)......................................................................................................74
3.3.3. Tính chất của hệ qui tắc mờ .................................................................................................75
3.3.3.1. Tính liên tục (Continuity) ........................................................................................................... 75
3.3.3.2. Tính nhất quán (Consitency) ...................................................................................................... 76
3.3.3.3. Tính hoàn chỉnh (Completeness)................................................................................................ 77

3.3.4. Suy diễn mờ ( Fuzzy inference) ...........................................................................................78
3.3.5. Phương pháp suy diễn MAX-MIN (MAX-MIN Inference Method) ........................................78
3.3.6. Phương pháp suy diễn MAX-PROD (MAX-PROD Inference Method)..................................80
3.4. ĐIỀU KHIỂN MỜ.................................................................................................................... 81
3.4.1. Cấu trúc bộ điều khiển mờ ...................................................................................................83
3.4.1.1. Khối tiền xử lý ( Preprocessing ) ............................................................................................... 83
3.4.1.2. Bộ điều khiển mờ cơ bản ........................................................................................................... 84
3.4.1.3. Khối hậu xử lý ( Postprocessing ) ............................................................................................... 85

3.4.2. Quan hệ ngõ vào –ngõ ra của bộ điều khiển mờ ..................................................................85
3.4.3. Giải mờ ................................................................................................................................87


3.4.3.1. Các phương pháp giải mờ ........................................................................................................... 87
3.4.3.2. Ý nghóa và ứng dụng của các phương pháp giải mờ ................................................................... 94

3.4.4. Qui tắc điều khiển mờ ..........................................................................................................96

3.4.4.1. Qui tắc điều khiển mờ Mamdani ................................................................................................ 96
3.4.4.2. Qui tắc điều khiển mờ Sugeno.................................................................................................... 98
3.4.4.3. So sánh qui tắc mờ Mamdani và qui tắc mờ Sugeno ................................................................100

3.4.5. Tính ổn định của hệ thống điều khiển mờ ...........................................................................101
3.4.6. Phương pháp thiết kế bộ điều khiển mờ..............................................................................102
TÓM TẮT ....................................................................................................................................... 104

Mục Lục

ix


Luận án cao học

ỨNG DỤNG.........................................................................................................................................105
4.1. MỤC TIÊU ............................................................................................................................ 105
4.2. MÔ HÌNH TOÁN CON LẮC NGƯC QUAY ....................................................................... 106
4.2.1 Mô hình động của hệ (ở vị trí thẳng đứng)..........................................................................107
4.2.2 Mô hình tuyến tính (ở vị trí thẳng đứng) .............................................................................108
4.2.3 Mô phỏng đặc tính động của con lắc quay..........................................................................109
4.2.4 Hệ thống điều khiển mờ ban đầu .........................................................................................110
4.3. XÂY DỰNG TẬP LUẬT MỜ ................................................................................................. 114
4.3.1. Giải thuật di truyền tạo tập luật mờ ...................................................................................114
4.3.2. Phương pháp mã hóa tập luật ............................................................................................114

4.3.3. Hàm thích nghi (fitness function) .......................................................................................118
4.3.4. Phương pháp chọn lọc các nhiễm sắc thể...........................................................................119
4.3.5. Phương pháp lai ghép các nhiễm sắc thể ...........................................................................119
4.3.6. Phương pháp đột biến ........................................................................................................119
4.3.7. Một số kết quả thu được khi chạy giải thuật di truyền tìm tập luật mờ tự động.................120
4.3.8. Kết hợp giải thuật di truyền và phương pháp leo đồi tìm lời giải. ......................................125
4.3.9. Cải tiến phương pháp mã hóa ............................................................................................130
4.4 CHỈNH CÁC THÔNG SỐ HỆ MỜ .......................................................................................... 134
4.4.1 Phương pháp mã hóa ..........................................................................................................134
4.4.3. Kết quả điều chỉnh các thông số ........................................................................................137
4.5. MÔ PHỎNG........................................................................................................................... 143
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ..........................................................................................150
PHỤ LỤC.............................................................................................................................................153
PHỤ LỤC A: TẬP LUẬT CỦA BỘ ĐIỀU KHIỂN MỜ ............................................................................... 153
PHỤ LỤC B: MÔ HÌNH SIMULINK CỦA HỆ THỐNG ............................................................................. 154
PHỤ LỤC C: CÁC HÀM CỦA CHƯƠNG TRÌNH MÔ PHỎNG .................................................................... 155
THAM KHẢO .....................................................................................................................................156

Muïc Luïc

x


Luận án cao học

1

Mở đầu
Bộ điều khiển mờ có ưu điểm là bắt chước quá trình xử lý thông tin
không rõ ràng của con người. Vì vậy nó thích hợp để điều khiển các đối tượng

phức tạp, phi tuyến hoặc không có mô hình toán. Tuy nhiên một hệ thống mờ
thường được thiết kế bởi quan điểm, cách nhìn riêng của người thiết kế và
biến sự hiểu biết của mình về quá trình thành các biến ngôn ngữ và các luật
mờ biểu diễn mối quan hệ giữa chúng. Việc thiết kế đó thườøng mang nặng
tính “thử sai”, vì vậy khi gặp phải các đối tượng phức tạp người thiết kế sẽ mất
rất nhiều thời gian mà kết quả có được có thể sẽ không tối ưu.
Giải thuật di truyền là một phương pháp tối ưu hóa các chuổi số dựa trên sự
tiến hoá trong tự nhiên của các nhiễm sắc thể. Thuyết tiến hoá Darwin đã
khẳng định rằng các thực thể tồn tại và phát triển tuân theo qui luật chọn lọc tự
nhiên. Các nòi giống mới xuất hiện thông qua quá trình chọn lọc, lai ghép và
đột biến. Những khái niệm này của thuyết tiến hoá được chuyển thành giải
thuật tìm kiếm lời giải tối ưu của bài toán. Trước tiên, các lời giải khác nhau có
thể có của bài toán được đưa ra. Sau đó chất lượng của từng lời giải được kiểm
tra, và trong những lời giải đó, chỉ chọn những lời giải tốt, những lời giải còn
lại bị loại bỏ (sự chọn lọc tự nhiên). Những lời giải tốt còn lại qua quá trình
“sinh sản”, “lai ghép” và “đột biến” để tạo ra các lời giải mới tốt hơn. Quá
trình tạo ra các lời giải mới như trên tiếp tục đến khi nào có sự hội tụ. Ưu điểm
của phương pháp này là có thể tìm ra lời giải tốt trong vô số các lời giải có thể
có, chứ không hạn chế việc tìm kiếm trong một số lời giải mong đợi.
Trong những năm gần đây, để khắc phục yếu điểm thường gặp khi thiết kế
một hệ mờ bằng phương pháp thử - sai như đã nêu trên, có rất nhiều các bài
báo đề cập đến vấn đề tự chỉnh hệ mờ dùng giải thuật di truyền. Các thông số
của hệ mờ như hàm liên thuộc, hệ số tỉ lệ và các luật mờ được mã hóa thành
các nhiễm sắc thể và giải thuật di truyền dựa trên các hàm thích nghi của đối
tượng sẽ tìm ra một hệ mờ hoạt động tối ưu hơn. Trong số này đa số viết về
cách điều chỉnh các thông số của hệ mờ mà hệ này đã được thiết kế sẵn. Việc
Mở đầu

1



Luận án cao học

tự tìm ra một tập luật mờ gặp phải rất nhiều khó khăn, đã có một số bài viết đề
cập đến vấn đề này, tuy nhiên ở mỗi phương pháp đều có cách tiếp cận khác
nhau.
Người đầu tiên ứng dụng giải thuật di truyền để thiết kế hệ mờ là Karr
được giới thiệu ở [7], ở đây tác giả xác định các hàm liên thuộc và số luật mờ
dựa trên một cơ sở luật (Rule Base) đã định trước. Như vậy kết quả của lời giải
thể hiện nhiều kinh nghiệm và dự đoán tốt của người thiết kế.
Lee & Takagi [29] đã cải tiến phương pháp của Karr bằng cách tìm kích
thước và vị trí của cơ sở luật nhờ hoàn toàn vào giải thuật di truyền. Tuy nhiên,
cách mã hóa sử dụng các giá trị nhị phân. Mỗi tập mờ của biến ngõ vào cần 3
byte, và mỗi kết luận ở ngõ ra có 3 byte để mô tả. Như vậy trong trường hợp
hệ mờ có 2 ngõ vào (i = 2), mỗi ngõ vào có 10 hàm liên thuộc (m = 10), ngõ ra
có 1 tập mờ, kết quả là mỗi một nhiễm sắc thể (lời giải) sẽ gồm
3(∑ mi + ∏ mi ) = 360 byte. Nếu hệ có 4 ngõ vào thì số byte sẽ tăng lên rất lớn
i

i

là 30.120 byte. Không gian tìm kiếm quá lớn không khả thi với hệ phức tạp.
F. Herrera, M. Lozano, J. L. Verdegay [12] đưa ra phương pháp tự chỉnh
tập luật mờ khá chi tiết và có cải tiến hơn. Thay vì mã hóa dạng chuỗi nhị
phân họ mã hóa bằng số thực, các hàm liên thuộc của một biến mờ có mối liên
hệ với nhau do đó giảm được chiều dài của nhiễm sắc thể. Tuy nhiên, họ chưa
sử dụng một số tính chất của hệ mờ để giảm đi không gian lời giải, cũng vì lý
do đó phương pháp này chỉ có thể áp dụng trên tập luật có qui mô nhỏ (số luật
ít, số biến ngôn ngữ cũng như giá trị ngôn ngữ bị hạn chế).
Một cách mã hóa khác như của J. Kinzel, F. Klawonn, R. Kruse [23], các

tác giả mã hóa các luật thành một ma trận, mỗi phần tử trong ma trận sẽ là một
kết luận của ngõ ra, tuy nhiên phương pháp này cũng chỉ phù hợp khi số ngõ
vào ít và tập luật mờ được mô tả ở dạng bảng.
Trong bối cảnh đó, luận văn này cố gắng tìm cách cải tiến nhằm giảm đi
không gian tìm kiếm dựa trên một số tính chất của hệ mờ với hy vọng rằng xác
suất thành công cao hơn trong việc dùng giải thuật di truyền để tự tìm ra một
hệ mờ điều khiển hệ phi tuyến khá phức tạp. Cũng chính vì lý do đó, đề tài
chọn đối tượng là hệ con lắc ngược quay (Rotary Inverted Pendulum) là hệ phi
tuyến bậc 4 có yếu tố không chắc chắn nên rất khó điều khiển.
Ngoài ra đề tài cũng đề cập đến giải thuật leo đồi (hill climbing) dùng
kết hợp với giải thuật di truyền nhằm tăng khả năng tìm kiếm lời giải của bài
toán. Tuy nhiên việc kết hợp này có thể có những bất lợi, vì vậy tùy theo
trường hợp cụ thể mà ta có sự kết hợp khác nhau.
Mở đầu

2


Luận án cao học

1. Sơ lược về giải thuật di truyền
Giải thuật di truyền ( Genetic Algorithms – GA) là giải thuật ngẫu nhiên
mà phương thức tìm kiếm dựa trên một số hiện tượng thiên nhiên: sự thừa kế
gene và thuyết đấu tranh sinh tồn của Darwin, ông viết [10]:
“… các giải thuật gene và sự tiến hóa tự nhiên có cùng một nguyên lý.
Trong sự tiến hóa tự nhiên, mỗi loài sinh vật đều phải tìm cách thích nghi
tốt với một môi trường sống phức tạp và luôn thay đổi. “ Kiến thức” mà
mỗi loài đúc kết được ghi lại trong cấu trúc nhiễm sắc thể của các thành
viên …”
Tư tưởng đằng sau giải thuật di truyền là làm theo tự nhiên. Ta hãy lấy

loài thỏ ra làm ví dụ: xét một đàn thỏ tại một thời điểm nào đó. Một số con thỏ
nhanh nhẹn và tinh khôn hơn các con khác trong đàn. Những con thỏ nhanh
hơn và khôn hơn này ít khả năng bị cáo ăn thịt hơn, do đó chúng sống sót nhiều
hơn để đẻ thêm thỏ con. Tất nhiên, một phần trong số thỏ chậm chạp hơn và
ngờ ngệch hơn cũng may mắn sống sót. Những con thỏ sống sót bắt đầu sinh
đẻ, kết quả là một sự kết hợp thú vị của gene thỏ: một số thỏ chậm kết hợp với
thỏ nhanh, nhanh với nhanh, khôn với ngu, v. v… Trong đó thỉnh thoảng lại nảy
ra một con “thỏ rừng” do sự đột biến gene. Những con thỏ non được sinh ra
(tính trung bình) sẽ chạy nhanh hơn và tinh khôn hơn thế hệ thỏ ban đầu vì thỏ
chạy nhanh và tinh khôn sống sót nhiều hơn. ( May mắn là những con cáo
cũng đang trải qua một quá trình tương tự – nếu không thỏ sẽ trở nên quá khôn
và quá nhanh đến nỗi không con cáo nào đuổi kịp) [10].
Giải thuật di truyền dùng nhiều thuật ngữ của ngành di truyền học.
Chúng ta sẽ nói về các “cá thể” ( hoặc genotype, structure) trong một quần
thể: thường thì các cá thể này còn được gọi là xâu (string) hoặc nhiễm sắc thể
(chromosome) . Mỗi tế bào trong cơ thể của một loài nào đó chứa một số nhất
định nhiễm sắc thể ( ví dụ người có 46 nhiễm sắc thể ). Mỗi nhiễm sắc thể bao
gồm các đơn vị – gene ( hay còn gọi là tính trạng, mã) xếp liên tiếp, mỗi gene
điều khiển sự thừa kế của một hoặc vài tính trạng. Gene của các tính trạng
nhất định có vị trí xác định trên nhiễm sắc thể, vị trí đó được gọi là loci ( vị trí
trên sâu). Một tính trạng bất kỳ ( thí dụ như màu tóc) có thể được thể hiện với
nhiều mức độ khác nhau, ta nói rằng gene đó có nhiều trạng thái.
Mỗi một nhiễm sắc thể sẽ biểu thị một lời giải có thể của một bài toán.
Giải thuật di truyền được thực hiện trên một quần thể gồm các nhiễm sắc thể
là tương đương với sự tìm kiếm trong một không gian các lời giải có thể có. Sự
tìm kiếm này đòi hỏi sự cân bằng giữa hai mục đích: khai thác lời giải tốt nhất
và khám phá không gian tìm kiếm. Phương pháp leo đồi (hill climbing) là một
Mở đầu

3



Luận án cao học

ví dụ về chiến lược khai thác lời giải tốt nhất theo các hướng cải tiến. Tìm
kiếm ngẫu nhiên là một ví dụ điển hình của sự khám phá không gian tìm kiếm,
không chú trọng khai thác các miền hứa hẹn trong không gian tìm kiếm. Giải
thuật di truyền là lớp các phương pháp tìm kiếm tổng quát (không phụ thuộc
vào miền xác định) với sự cân bằng đáng kể giữa khai thác và khám phá
không gian tìm kiếm.
Giải thuật di truyền thực hiện tìm kiếm theo nhiều hướng bằng cách duy
trì một tập hợp các lời giải có thể có và khuyến khích sự hình thành và trao đổi
thông tin giữa các hướng. Tập hợp lời giải trải qua sự tiến hóa: tại mỗi thế hệ,
các lời giải “tốt” được tái sinh để tạo ra thế hệ mới, trong khi các lời giải
“xấu” bị loại bỏ. Để phân biệt các lời giải khác nhau, ta dùng một hàm thích
nghi (fitness function) hay còn gọi là hàm mục tiêu (objective function) đóng
vai trò một môi trường sống cho sự tồn tại, phát triển và cũng như sự diệt vong.
Quá trình trên được mô tả như hình 1.1

Hình 1.1: Quá trình tìm lời giải của giải thuật di truyền.

Giải thuật di truyền đã được áp dụng khá thành công cho một số bài toán
như : lập lịch, điều khiển động, trò chơi, các bài toán giao thông, bài toán
người đưa thư, các bài toán điều khiển tối ưu, v. v… Tuy nhiên, De Jong đã
khuyến cáo về việc coi GA như là công cụ tối ưu hóa:

Mở đầu

4



Luận án cao học

“… do sự quan tâm lớn vào chức năng tối ưu hóa ứng dụng, ta dễ đi
đến chổ coi GA là các giải thuật tối ưu hóa và sẽ ngạc nhiên và / hoặc
thất vọng khi chúng không tìm được kết quả tối ưu hiển nhiên trong một
không gian tìm kiếm nào đó. Tôi cho rằng ta chỉ nên xem GA là một sự giả
lập (khá lý tưởng) của quá trình phát triển tự nhiên và GA chứa đựng đích
và chủ định (nếu có) của quá trình tự nhiên đó…” [10]
Trong những giai đoạn đầu của thông minh nhân tạo, các chương trình
giải toán tổng quát đã được thiết kế như là các công cụ tổng quát để tiếp cận
các bài toán phức tạp. Nhưng người ta đã rút ra kết luận rằng do độ phức tạp
không thể đạt được của các hệ này, ta cần kết hợp các thông tin đặc thù của
bài toán. Bây giờ, lịch sử đã lặp lại: cho đến tận gần đây, GA vẫn được coi là
một công cụ tổng quát có hiệu quả để tối ưu nhiều bài toán khó [10]. Tuy
nhiên, trong một số báo cáo khoa học thừa nhận sự cần thiết của việc kết hợp
các thông tin đặc thù của bài toán và GA. Có lẽ GA quá tổng quát và không
phụ thuộc bài toán để có thể có hiệu quả cao trong nhiều ứng dụng. Do đó, ta
cũng không ngạc nhiên khi thấy các chương trình tiến hóa hoạt động tốt hơn
nhiều với các toán tử gene đặc biệt và sự kết hợp của thông tin đặc thù của bài
toán vào cấu trúc dữ liệu của các nhiễm sắc thể.

2. Sơ lược về điều khiển mờ
Những năm đầu của thập kỹ 90, một ngành điều khiển kỹ thuật mới được
phát triển rất mạnh mẽ và đã đem lại nhiều thành tựu bất ngờ trong lónh vực
điều khiển, đó là điều khiển mờ. Khác hẳn với kỹ thuật điều khiển kinh điển là
hoàn toàn dựa vào sự chính xác tuyệt đối của thông tin mà trong nhiều ứng
dụng không cần thiết hoặc không thể có được, điều khiển mờ chỉ cần xử lý
những thông tin “ không chính xác” hay không đầy đủ, những thông tin mà sự
chính xác của nó chỉ nhận thấy được giữa các quan hệ của chúng với nhau và

cũng chỉ có thể mô tả được bằng ngôn ngữ, đã có thể cho ra những quyết định
chính xác. Chính khả năng này đã làm cho điều khiển mờ sao chụp được
phương thức xử lý thông tin và điều khiển của con người. Điều khiển mờ hay
còn gọi là điều khiển “thông minh” là những bước ứng dụng ban đầu của trí
tuệ nhân tạo vào kỹ thuật điều khiển.
Để có khái niệm về điều khiển mờ, chúng ta hãy xét hệ thống điều khiển
mực chất lỏng như trong hình 1.2. Chúng ta cần điều khiển van V1 sao cho mực
chất lỏng trong bồn bằng giá trị đặt.

Mở đầu

5


Luận án cao học

Hình 1.2: Hệ thống điều khiển mực chất lỏng

Để có thể điều khiển tốt mực chất lỏng đúng giá trị đặt trong thời gian
ngắn, người vận hành chịu trách nhiệm mở và đóng V1 sẽ điều khiển V1 theo
phương pháp sau:
⎧ nếu sai số lớn thì góc mở V1 lớn

⎩nếu sai số nhỏ thì góc mở V1 nhỏ

Chúng ta thấy rằng ý nghóa của các từ “ lớn”, “nhỏ” rất không rõ ràng.
Sai số bao nhiêu thì gọi là lớn và nhỏ ? Ta không thể khẳng định chắc chắn
cho các giá trị lớn và nhỏ này, nói cách khác các giá trị sai số “lớn” và “nhỏ”
là các giá trị mờ.
Điều khiển mờ được biểu diễn bằng các qui tắc nếu – thì, vì vậy rất gần

gũi với ngôn ngữ và sự biểu diễn tri thức của con người. Chúng ta có thể xem
bộ điều khiển mờ là bộ điều khiển lập trình bằng ngôn ngữ cấp cao, trong đó
chương trình gồm những quy tắc nếu thì và chương trình biên dịch sẽ chuyển
các quy tắc này thành giải thuật điều khiển phi tuyến. Nói cách khác, các
chiến lược điều khiển phức tạp từ kinh nghiệm của người vận hành có thể lập
trình theo cách dễ hiểu.
Bộ điều khiển mờ có thể điều khiển tốt các đối tượng mà không cần biết
mô hình toán, vì vậy khi có những yếu tố bên ngoài tác động làm thông số của
đối tượng thay đổi bộ điều khiển mờ vẫn hoạt động tốt. Do đó về mặt định tính
điều khiển mờ có tính bền vững cao hơn các phương pháp khác. Tuy nhiên,
hiện nay vẫn chưa có kết quả nghiên cứu đã công bố nào chứng minh được
điều khiển mờ bền vững hơn các phương pháp điều khiển kinh điển.
Điều khiển mờ có tính phi tuyến. Các qui tắc mờ sẽ quyết định quan hệ
phi tuyến giữa tín hiệu vào và tín hiệu ra của bộ điều khiển. Điều khiển hệ
Mở đầu

6


Luận án cao học

thống phi tuyến dựa trên lý thuyết điều khiển kinh điển rất phức tạp, trong khi
quan hệ phi tuyến có thể mô tả bằng các qui tắc mờ dễ dàng hơn. Vì vậy từ khi
vừa mới ra đời điều khiển mờ đã được xem là một phương pháp hiệu quả để
giải các bài toán điều khiển hệ phi tuyến .

3. Sự kết hợp của hệ mờ và giải thuật di truyền
Cũng giống như hệ chuyên gia, logic mờ dựa trên kinh nghiệm để tạo
luật, do đó vấn đề lựa chọn các luật thích nghi cho bài toán điều khiển rất là
nan giải. Logic mờ đã được bổ túc với những phương pháp truy tìm và chọn lọc

giải pháp tối ưu của GA.
Chuck Karr, thuộc cơ quan khai thác mỏ của Hoa Kỳ ( U. S. Bureau of
Mines), là một trong những người tiên phong khai thác ưu điểm của hai kỹ
thuật GA và logic mờ. Khởi đầu bằng luận án tiến só về đề tài sử dụng GA và
logic mờ để điều khiển các dụng cụ điện tử trong lónh vực khai thác quặng mỏ,
sau đó Chuck Karr đã dùng những hiểu biết này để điều khiển phi thuyền đáp
tại các trạm trên không gian. Cách xa nhau hàng triệu dặm, trung tâm điều
khiển tại địa cầu không thể nào theo dõi và điều khiển các phi thuyền, do đó
các phi thuyền phải dựa trên logic mờ và giải thuật di truyền để nhận định tình
hình và tìm ra giải pháp tối ưu để tồn tại trong không gian đầy những biến
chuyển bất thường.
Một cách tổng quát, việc thiết kế một hệ điều khiển mờ nhờ giải thuật di
truyền chủ yếu gồm hai phương pháp tiếp cận khác nhau.
Phương pháp đầu tiên là tối ưu các thông số của một hệ điều khiển mờ
sẵn có. Trước tiên phương pháp này có ích trong việc thích nghi của hệ mờ đối
với đối tượng động hay các điều kiện bên ngoài thay đổi nhiều trong tiến trình
hoạt động. Và để duy trì hoạt động tối ưu, giải thuật di truyền chỉnh các thông
số của bộ cơ sở tri thức (knowledge base) như hệ số tỉ lệ hay dạng của hàm
liên thuộc. Các thông số này được mã hóa thành các nhiễm sắc thể và tiến
trình tiến hóa đánh giá độ tốt của các nhiễm sắc thể dựa vào các tập dữ liệu
mẫu hay theo một tiêu chuẩn nào đó. Phương pháp này được gọi là điều chỉnh
bộ cơ sở tri thức, nó có mặt hạn chế là người thiết kế phải có kinh nghiệm và
hiểu biết về hệ thống để xác định được tập luật cơ sơ.û
Phương pháp tiếp cận thứ hai được gọi là thiết kế bộ cơ sở tri thức,
phương pháp này tạo ra tập luật cơ sở mà người thiết kế không cần kinh
nghiệm, kiến thức về hệ thống. Giải thuật di truyền thiết kế bộ điều khiển mờ
một cách tự động trong một không gian lời giải rộng lớn phụ thuộc vào phương
pháp mã hóa và các tiêu chuẩn đánh giá của quá trình điều khiển. Ngược lại

Mở đầu


7


Luận án cao học

với việc điều chỉnh một hệ mờ có sẵn của phương pháp đầu tiên, phương pháp
này chú trọng đến việc có được một cách tự động hệ qui tắc mờ cơ sở. Tiến
trình học để tìm ra một tập luật mờ thích hợp thì khó hơn nhiều bởi vì giải
thuật di truyền phải thiết kế hệ mờ bắt đầu từ sự hổn tạp.

4. Mục đích của luận văn
Luận văn này nghiên cứu cơ sở lý thuyết giải thuật di truyền, lý thuyết
điều khiển mờ. Từ đó ứng dụng hai lý thuyết trên để thiết kế một hệ thống mờ
– di truyền điều khiển cân bằng con lắc ngược theo phương thẳng đứng trong
khi phần cánh tay di chuyển trong mặt phẳng nằm ngang theo một tín hiệu
điều khiển (các tín hiệu này có thể là tín hiệu sin, tín hiệu xung vuông hay tín
hiệu bước)(chương trình được mô phỏng chạy trên Matlab). Ngoài ra để giảm
thời gian tìm kiếm lời giải của giải thuật di truyền luận văn có đề cập đến việc
lồng giải thuật leo đồi vào trong chương trình, và cải tiến phương pháp chọn
lọc của giải thuật di truyền (xem mục 2.2.4). Cuối cùng với việc đưa thông tin
đặc thù của hệ thống và bộ điều khiển mờ vào cấu trúc dữ liệu của các nhiễm
sắc thể giải thuật di truyền sẽ hoạt động tốt hơn.
Việc thiết kế hệ mờ sẽ được thực hiện theo hai bước:










Đầu tiên giải thuật sẽ tự tạo ra tập luật mờ cơ sở dựa trên các chỉ
tiêu chất lượng của hệ thống.
Bước kế tiếp dựa trên các luật mờ vừa tìm được ta sẽ tiếp tục
dùng giải thuật di truyền để chỉnh lại các thông số của các hàm
liên thuộc sao cho hệ hoạt động với các chỉ tiêu chất lượng là tối
ưu.
Với các thông số được xác định trước:
Xác định được các ngõ vào và ra cũng như các biến ngôn ngữ
của hệ .
Các giới hạn trên và dưới của các thông số, các hàm liên thuộc
cho các biến ngôn ngữ ( việc này có thể chỉ mang tính tạm thời vì
sẽ được chỉnh lại sau khi đã thiết kế được bước đầu).

5. Nội dung luận văn
Luận văn này được chia thành 4 phần như sau:
Phần I Mở Đầu
Giới thiệu sơ lược về hai lý thuyết sẽ nghiên cứu trong luận văn là
giải thuật di truyền và lý thuyết điều khiển mờ. Ngoài ra cũng trình bày
Mở ñaàu

8


Luận án cao học

tổng quát về sự kết hợp của hai lý thuyết trên để có thể thiết kế một hệ
điều khiển mờ dùng giải thuật di truyền. Cuối cùng nêu rõ mục tiêu của

luận văn.
Phần II Giải thuật Di truyền
Trình bày cấu trúc của một giải thuật di truyền đơn giản, các toán tử
của giải thuật di truyền như phép chọn lọc, lai ghép, đột biến. Đồng thời
cũng nêu ra việc cải tiến giải thuật di truyền, phương pháp lồng giải thuật
leo đồi vào trong giải thuật di truyền.
Phần III Lý thuyết điều khiển mờ
Giới thiệu một số khái niệm cơ bản của lý thuyết tập mờ, một số các
phép toán trong lý thuyết mờ và cuối cùng là giới thiệu về hệ thống điều
khiển mờ cùng với một số đặc điểm và phương pháp thiết kế bộ điều
khiển mờ.
Phần IV Dùng giải thuật di truyền thiết kế bộ điều khiển mờ
Xây dựng giải thuật di truyền thiết kế hệ điều khiển mờ một cách tự
động bằng ngôn ngữ Matlab, mô phỏng (trên MATLAB 5.3) hệ thống
điều khiển cân bằng con lắc ngược theo phương thẳng đứng trong khi
phần cánh tay di chuyển trong mặt phẳng nằm ngang theo một tín hiệu
điều khiển.
Cuối luận văn sẽ là một số kết luận và hướng phát triển của đề tài.
Ngoài ra, một số vấn đề liên quan được trình bày trong các phụ lục

Mở đầu

9


Luận án cao học

2

Giải thuật di truyền

2.1. TỔNG QUAN VỀ GIẢI THUẬT DI TRUYỀN
2.1.1. Khái niệm
Giải thuật di truyền, cũng như các giải thuật tiến hóa nói chung dựa trên
quan điểm cho rằng quá trình tiến hóa của tự nhiên là quá trình hoàn hảo nhất,
hợp lý nhất và tự nó đã mang tính tối ưu. Quan niệm này có thể xem như là
một tiên đề đúng không chứng minh được nhưng phù hợp với thực tế khách
quan. Quá trình tiến hóa thể hiện tính tối ưu ở chỗ, thế hệ sau bao giờ cũng tốt
hơn (phát triển hơn, hoàn thiện hơn) thế hệ trước. Tiến hóa tự nhiên được duy
trì nhờ hai quá trình cơ bản: sinh sản và chọn lọc tự nhiên, các thế hệ mới luôn
được sản sinh ra để bổ sung, thay thế thế hệ cũ. Cá thể nào phát triển hơn,
thích ứng hơn với môi trường sẽ có nhiều khả năng tồn tại và phát triển, cá thể
nào không thích ứng được với môi trường sẽ bị đào thải. Sự thay đổi của môi
trường là động lực của quá trình tiến hóa. Ngược lại, tiến hóa cũng tác động trở
lại góp phần làm thay đổi môi trường.
Các cá thể mới sinh ra trong quá trình tiến hóa nhờ sự lai ghép ở thế hệ
cha-mẹ. Một cá thể mới có thể mang những tính trạng của cha-mẹ (di truyền),
cũng có thể mang những tính trạng hoàn toàn mới (đột biến). Di truyền và đột
biến là hai cơ chế có vai trò quan trọng như nhau trong tiến trình tiến hóa, dù
rằng hiện tượng đột biến diễn ra với xác suất nhỏ hơn nhiều so với di truyền.
Giải thuật di truyền nói riêng và các giải thuật tiến hóa nói chung tuy có điểm
khác biệt nhưng đều mô phỏng ba quá trình cơ bản của tiến hóa tự nhiên: chọn
lọc tự nhiên, lai ghép(sinh sản) và đột biến. Một bài toán được giải bằng giải
thuật di truyền được mô tả trong hình 2.1.
Giải thuật di truyền là một mô hình có nhiều ứng dụng hấp dẫn và hiện
đang được tiếp tục nghiên cứu trên thế giới. Giải thuật di truyền cho phép

Giải thuật Di truyền

10



Luận án cao học

chúng ta tạo ra được những chương trình máy tính có khả năng tự lập trình,
đây là kỹ thuật giúp giải quyết vấn đề bằng cách mô phỏng sự tiến hóa của
con người hay của sinh vật nói chung (dựa trên thuyết tiến hóa muôn loài của
Darwin) trong điều kiện quy định sẵn của môi trường. GA là một giải thuật mà
mục tiêu là đưa ra lời giải “tốt” có thể là tối ưu hay xấp xỉ tối ưu.
Bước đầu tìm hiểu giải thuật di truyền chúng ta xét một ví dụ đơn giản là
bài toán tìm mật mã để mở khóa với mật mã là một số thập phân gồm 30 chữ số
với giả định rằng ổ khóa này chỉ có thể được mở bằng một mật mã duy nhất.
Với bài toán này không gian tìm kiếm tổng quát sẽ là 1030, nghóa là có tổng
cộng 1030 mật mã khác nhau. Trước vấn đề này, người ta thường nghó đến hai
phương pháp: Vét cạn toàn bộ hoặc Thử ngẫu nhiên các mật mã. Chúng ta sẽ
phát sinh (ngẫu nhiên hoặc tuần tự theo một quy tắc duyệt nào đó) các giải
pháp cho bài toán rồi thử xem mật mã được chọn có phải là mã khóa hay
không? Với phương pháp này, để có được một mật mã với khả năng mở ổ khóa
trên 50%, chúng ta phải phát sinh ít nhất là

10 30
mật mã khác nhau, đây là con
2

số cực kỳ lớn và thời gian thực hiện để tìm lời giải cho bài toán là không chấp
nhận được.

Hình 2.1: Giải quyết bài toán bằng giải thuật di truyền

Giải thuật Di truyền


11


Luận án cao học

Dó nhiên, đứng trước một bài toán như vậy, người ta thường tìm cách cải
thiện giải thuật bằng cách cung cấp thêm một số thông tin khác. Chẳng hạn với
bài toán mở khóa thì thông tin cho biết thêm là giữa hai mật mã được phát sinh
ra thì mật mã nào là “tốt hơn”, có khả năng mở được khóa cao hơn.
Khi biết được “độ tốt” của mật mã, ta sẽ sử dụng một phương pháp tìm
kiếm thông minh hơn là phương pháp tìm kiếm leo đồi. Với giải thuật tìm kiếm
leo đồi, ta tưởng tượng rằng không gian tìm kiếm của bài toán là một vùng đất
gập gềnh, có nhiều ngọn đồi cao thấp khác nhau. Trong đó, ngọn đồi cao nhất
của vùng đất này sẽ là lời giải tốt nhất và vị trí càng cao thì càng “gần” với lời
giải tốt nhất nghóa là độ cao của một vị trí trong quá trình tìm kiếm đồng nghóa
với độ tốt của lời giải. Tìm kiếm theo kiểu leo đồi nghóa là chúng ta phải phát
sinh các lời giải sao cho càng về sau lời giải nhận được càng tiến gần đến lời
giải tốt nhất. Thao tác này giống như quá trình leo đồi, càng ngày ta càng leo
đến vị trí cao hơn.
Tuy nhiên, kiểu giải quyết này gặp phải trở ngại là nếu vùng đất của
chúng ta có nhiều ngọn đồi nhỏ khác nhau nằm bên cạnh ngọn đồi cao nhất thì
có nhiều khả năng giải thuật của chúng ta sẽ bị “kẹt” ở một ngọn đồi nhỏ. Do
tư tưởng càng ngày càng lên cao nên khi lên đến đỉnh một ngọn đồi nhỏ giải
thuật sẽ không thể đi tiếp được (vì không thể lên cao được nữa, muốn tìm một
ngọn đồi cao hơn thì phải trở ngược xuống chân ngọn đồi hiện tại, mà như vậy
thì không phù hợp với tư tưởng càng ngày càng lên cao).
Chúng ta hãy tưởng tượng một máy tính giải quyết bài toán theo kiểu
leo đồi là một người leo núi với tư tưởng càng leo càng cao. Nếu chỉ có một
người leo thì có nhiều khả năng người đó sẽ bị kẹt ở một đỉnh đồi thấp. Như
vậy, nếu có nhiều người cùng leo đồi cùng leo ở nhiều địa điểm khác nhau thì

khả năng có một trong số các người này leo đến đỉnh đồi cao nhất sẽ cao hơn.
Tuy nhiên, với không gian tìm kiếm của bài toán chúng ta là 1030 thì phải dùng
bao nhiêu siêu máy tính? Một vấn đề quan trọng là mặc dù có nhiều người leo
đồi nhưng nếu số người leo quá ít so với số lượng đồi thì khả năng tất cả các
người leo đồi bị kẹt ở các ngọn đồi thấp vẫn còn rất cao.
Đến đây thì có thể chúng ta có thể sẽ nảy sinh ý tưởng: sử dụng nhiều
thế hệ các người leo đồi. Nghóa là nếu toàn bộ những người leo đồi đầu tiên
(chẳng hạn 1000 người) đều chưa đạt đến đỉnh đồi cao nhất thì ta sẽ cho 1000
người khác tiếp tục leo. Tuy nhiên, sẽ nảy sinh vấn đề, có khả năng trong
nhóm những người leo đồi mới, có những người đi leo lại những ngọn đồi mà
những người khác đã leo rồi. Vậy ta phải làm thế nào để tránh trường hợp này
xảy ra? Có lẽ, đơn giản nhất là ghi nhận lại những ngọn đồi đã leo để những
Giải thuật Di truyền

12


Luận án cao học

nhóm sau còn thừa hưởng được kết quả của các nhóm trước. Hay nói một cách
tổng quát: hãy làm cách nào đó để những người leo giỏi nhất truyền lại kinh
nghiệm của mình cho 1000 người ở thế hệ sau để các hậu duệ này có thể leo cao
hơn họ. Nếu 1000 người sau lại thất bại, những người giỏi nhất trong số họ sẽ
lại truyền kinh nghiệm của mình cho thế hệ 1000 người tiếp sau nữa,... Tiến
trình cứ thế tiếp tục cho đến khi có một thế hệ nào đó, có một người leo đến
đỉnh đồi cao nhất hoặc hết thời gian cho phép. Trong trường hợp hết thời gian
thì trong toàn bộ các thế hệ, người nào leo cao nhất sẽ được chọn.
Đó chính là tư tưởng chính của giải thuật di truyền. Thay vì chỉ phát sinh
một lời giải, ban đầu chúng ta sẽ phát sinh một lúc nhiều (thậm chí rất nhiều)
lời giải cùng lúc. Sau đó, trong số lời giải được tạo ra, chọn ra những lời giải

tốt nhất để làm cơ sở phát sinh ra nhóm các lời giải sau với nguyên tắc càng về
sau càng tốt hơn. Quá trình cứ thế tiếp diễn cho đến khi tìm được lời giải tối ưu
hoặc xấp xỉ tối ưu.

2.1.2. Lịch sử phát triển của giải thuật di truyền
Ý niệm về giải thuật di truyền ( Genetic Algorithms, viết tắt là GA) đã
được một số nhà sinh vật học nêu ra từ thập niên 50 và 60 thế kỷ XX. A. S.
Fraser là người đầu tiên đã nêu lên sự tương đồng giữa sự tiến hóa của sinh vật
và chương trình tin học giả tưởng về GA. Tuy nhiên chính John Henry Holland,
đại học Michigan, mới là người triển khai ý tưởng và phương thức giải quyết
vấn đề dựa theo sự tiến hóa của con người. Ông bắt đầu bằng những bài giảng
và bài đăng báo, sau đó đúc kết các ý tưởng thành sách : Adaptation in Natural
and Artificial Systems, xuất bản 1975. J. H. Holland được xem là “người cha”
của học thuyết GA và sách trên đã được xem như là “ kinh nhật tụng” cho giới
nghiên cứu về GA trong hai thập niên qua. Trong giai đoạn đầu thập niên 70
và 80 của thế kỹ XX, phần lớn các nhà nghiên cứu và ứng dụng của GA đều
trẻ và đều được đào tạo tại đại học Michigan, và dưới sự hướng dẫn của J. H.
Holland. Ông và một số đồng nghiệp như Kenneth De Jong, David E. Golberg
đã dần dần tạo nên nền tảng lý thuyết vững chắc và thực hiện các áp dụng GA
để giải quyết các bài toán phức tạp trong thực tế.
Tạp chí đầu tiên về lý thuyết và áp dụng GA là nguyệt san Evolutionary
Computation (1993) do Kenneth De Jong chủ biên, ngoài ra còn có các nguyệt
san AI Expert, Artificial Intelligent cũng thường có bài đề cập về GA.
Tuy chỉ mới hình thành cách đây chưa đầy 30 năm, GA đã có được cơ sở
toán học vững chắc về lý thuyết và có số lượng những áp dụng ngày càng gia
tăng bao gồm nhiều lónh vực khác nhau. GA đã kết hợp với các kỹ thuật thuộc
lónh vực trí tuệ nhân tạo như Expert Systems (hệ chuyên gia), mạng neuron
Giải thuật Di truyền

13



Luận án cao học

nhân tạo (Artificial Neural Network) và Logic mờ ( Fuzzy logic) nhằm tìm giải
pháp tối ưu cho những vấn đề phức tạp mà các phương thức cổ điển đã không
giải quyết thỏa đáng.
GA được ứng dụng trong nhiều lãnh vực khác nhau, từ khoa học tự nhiên
đến khoa học nhân văn, từ kỹ thuật sang thương vụ và kinh tế- tài chính. Nhìn
chung, những ứng dụng này có thể chia làm ba nhóm chính:






Tìm mô hình tối ưu cho vấn đề. Điển hình là tìm mối liên hệ
giữa chi tiết cung cấp và kết quả có được. Tìm kiếm và tối
ưu hóa giải pháp là đề tài thích hợp nhấy cho GA.
Hoạch định quy trình sản xuất, lộ trình vận chuyển, cách bố
trí các bộ phận trong môi trường. Những ứng dụng loại này
được dùng trong ngành giao thông, chế tạo sản phẩm, tiếp
thị v.v…
Chọn lựa các nhóm hay thành phần trong một tổ chức.

Chúng ta có thể nêu lên một số ứng dụng của giải thuật di truyền
trong kỹ thuật:







Trong ngành khai thác dầu khí: David E. Golberg là người đầu
tiên đã dùng GA trong kỹ thuật. Năm 1985, ông đã thành công
trong việc dùng GA và với máy tính Apple II ông đã thực hiện
được chương trình tin học sử dụng ngôn ngữ Pascal để điều chỉnh
mạng lưới phân phối dầu khí một cách tốt đẹp. Từ đó GA đã thực
sự góp phần vào việc giải quyết những vấn đề phức tạp.
Trong lónh vực thiết kế: Genetic Electric Co. (GE) đã dùng GA
trong việc yểm trợ chương trình tin học vẽ kỹ nghệ để tối ưu hóa
việc thiết kế các bộ phận cho máy bay, tua bin nhà máy nhiệt
điện và nhiều phụ tùng khác. Động cơ cho máy bay mới nhất của
Boeing đã được GE thiết kế với chương trình tin học về GA:
Engineous . Sau thành công này, Engineous đã được dùng để tự
động hóa việc thiết kế cánh quạt tuabin nhà máy điện nguyên tử.
Cơ quan Naval Surface Weapons Center đã dùng Engineous để
thiết kế các cánh quạt các tàu ngầm.
Trong lónh vực khai thác hầm mỏ: Chuck Karr đã biến những
hiểu biết về GA của mình trong luận án tiến só thành những ứng
dụng thực tế để chế tạo dụng cụ đo lường cho kỹ nghệ khai thác
khoáng sản. Bằng sự kết hợp GA và Fuzzy Logic, Chuck Karr đã

Giải thuật Di truyeàn

14


×