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

Nghiên cứu ngữ nghĩa trong hệ lập trình gen định hướng bởi văn phạm nối cây và ứng dụng trong xấp xỉ hàm Q

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.41 MB, 126 trang )

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

-------***-------

ĐÀO NGỌC PHONG

NGHIÊN CỨU NGỮ NGHĨA TRONG HỆ LẬP TRÌNH
GEN ĐỊNH HƯỚNG BỞI VĂN PHẠM NỐI CÂY VÀ
ỨNG DỤNG TRONG XẤP XỈ HÀM Q

LUẬN ÁN TIẾN SĨ HỆ THỐNG THÔNG TIN

Hà Nội - 2014

i


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

-------***-------

ĐÀO NGỌC PHONG

NGHIÊN CỨU NGỮ NGHĨA TRONG HỆ LẬP TRÌNH
GEN ĐỊNH HƯỚNG BỞI VĂN PHẠM NỐI CÂY VÀ
ỨNG DỤNG TRONG XẤP XỈ HÀM Q

CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ SỐ: 62480104



LUẬN ÁN TIẾN SĨ HỆ THỐNG THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC
1. GS.TS NGUYỄN THANH THỦY
2. PGS.TS NGUYỄN XUÂN HOÀI

Hà Nội - 2014
ii


MỤC LỤC
LỜI CAM ĐOAN ............................................................................................. vi
LỜI CẢM ƠN .................................................................................................. vii
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ....................................... viii
DANH MỤC CÁC BẢNG ................................................................................ ix
DANH MỤC CÁC HÌNH ẢNH, ĐỒ THỊ .......................................................... x
GIỚI THIỆU CHUNG ....................................................................................... 1
MỤC ĐÍCH .............................................................................................................................. 1
MỤC TIÊU NGHIÊN CỨU ................................................................................................ 3
PHƯƠNG PHÁP NGHIÊN CỨU ...................................................................................... 3
CÁC ĐĨNG GĨP CHÍNH .................................................................................................. 3
TỔNG QUAN VỀ CẤU TRÚC CỦA LUẬN ÁN......................................................... 5
CHƯƠNG 1. TỔNG QUAN .............................................................................. 6
1.1

GIẢI THUẬT TIẾN HĨA......................................................................................... 6

1.2

GIẢI THUẬT DI TRUYỀN...................................................................................... 7


1.3

LẬP TRÌNH GEN........................................................................................................ 9

1.3.1 Lập trình Gen chuẩn có cấu trúc cây .............................................. 10
1.3.2 Một số vấn đề với lập trình Gen chuẩn có cấu trúc cây .................. 14
1.3.3 GP với biểu diễn tuyến tính............................................................ 15
1.4

LẬP TRÌNH GEN ĐỊNH HƯỚNG BỞI VĂN PHẠM ................................... 18

1.4.1 GGGP với biểu diễn dạng cây........................................................ 20
1.4.2 GGGP với biểu diễn tuyến tính ...................................................... 22
1.4.3 Một số vấn đề gặp phải với GGGP................................................. 24
1.5 VĂN PHẠM NỐI CÂY VÀ LẬP TRÌNH GEN ĐỊNH HƯỚNG BỞI
VĂN PHẠM NỐI CÂY (TAG3P) ................................................................................... 25
1.5.1 Văn phạm nối cây (Tree-Adjoining Grammar – TAG) ................... 25
1.5.2 Hệ lập trình Gen định hướng bởi văn phạm nối cây ....................... 29
KẾT LUẬN CHƯƠNG....................................................................................................... 37
CHƯƠNG 2. NGỮ NGHĨA TRÊN HỆ TAG3P ............................................... 39
iii


2.1

NGỮ NGHĨA TRONG LẬP TRÌNH TIẾN HĨA ............................................ 39

2.1.1 Sử dụng văn phạm để biểu diễn ngữ nghĩa.......................................................... 41
2.1.2 Sử dụng phương pháp hình thức ............................................................................ 43

2.1.3 Sử dụng ngữ nghĩa dựa trên biểu diễn của GP ................................................... 43
2.2

NGỮ NGHĨA TRONG TAG3P ............................................................................. 45

2.2.1 Định nghĩa ngữ nghĩa của cây con trong TAG3P ........................... 45
2.2.2 Đặc điểm ngữ nghĩa cây con trong TAG3P .................................... 52
KẾT LUẬN CHƯƠNG....................................................................................................... 54
CHƯƠNG 3. TOÁN TỬ DI TRUYỀN DỰA TRÊN NGỮ NGHĨA ................ 55
3.1

TỔNG QUAN VỀ TOÁN TỬ DI TRUYỀN DỰA TRÊN NGỮ NGHĨA . 55

3.2 TOÁN TỬ LAI GHÉP DỰA TRÊN NGỮ NGHĨA TRONG HỆ
TAG3P ..................................................................................................................................... 59
3.2.1 Toán tử lai ghép dựa trên ngữ nghĩa trong TAG3P ........................................... 59
3.2.2 Thử nghiệm.................................................................................................................. 62
3.2.3 Toán tử lai cặp cây con có tổng giá trị ngữ nghĩa dương lớn nhất ................ 68
3.2.4 So sánh kết quả với các tốn tử tương tự ............................................................. 68
3.3

TỐN TỬ ĐỘT BIẾN DỰA TRÊN NGỮ NGHĨA TRONG HỆ TAG3P 73

3.3.1 Toán tử đột biến dựa trên ngữ nghĩa trong TAG3P .......................................... 73
3.3.2 Thử nghiệm.................................................................................................................. 76
KẾT LUẬN CHƯƠNG....................................................................................................... 79
CHƯƠNG 4. ỨNG DỤNG .............................................................................. 80
4.1

BÀI TOÁN HỌC XẤP XỈ HÀM Q VÀ HÀM NGƯỢC Q............................ 80


4.1.1 Hàm Q ........................................................................................................................... 80
4.1.2 Một số dạng xấp xỉ do chuyên gia đề xuất .......................................................... 82
4.1.3 Hàm ngược Q .............................................................................................................. 83
4.2

ỨNG DỤNG HỌC XẤP XỈ HÀM Q ................................................................... 84

4.2.1 Xác định hàm thích nghi với bài tốn học xấp xỉ hàm Q ................................. 84
4.2.2 Thiết kế thử nghiệm................................................................................................... 88
4.2.3 Kết quả và nhận xét ................................................................................................... 91
4.3

ỨNG DỤNG HỌC XẤP XỈ HÀM NGƯỢC Q ................................................. 96
iv


4.3.1 Xác định hàm thích nghi với bài tốn học xấp xỉ hàm ngược Q .................... 96
4.3.2 Thiết kế thử nghiệm và kết quả .............................................................................. 97
KẾT LUẬN CHƯƠNG..................................................................................................... 101
KẾT LUẬN.................................................................................................... 102
HƯỚNG NGHIÊN CỨU VÀ PHÁT TRIỂN CỦA LUẬN ÁN ...................... 104
DANH MỤC CÁC CƠNG TRÌNH ĐÃ CƠNG BỐ CỦA LUẬN ÁN............ 105
TÀI LIỆU THAM KHẢO .............................................................................. 106

v


LỜI CAM ĐOAN


Tôi xin cam đoan luận án là công trình nghiên cứu của riêng tác giả. Các
kết quả được công bố với các tác giả khác đều được sự đồng ý của đồng tác giả
trước khi đưa vào luận án. Các kết quả trong luận án là trung thực và chưa từng
được cơng bố trong bất kì cơng trình nào khác.
Tác giả

Đào Ngọc Phong

vi


LỜI CẢM ƠN
Luận án được hồn thành tại Viện Cơng nghệ thông tin và Truyền thông,
trường Đại học Bách khoa Hà Nội. Để hoàn thành luận án này, tác giả đã nhận
được sự chỉ bảo tận tình, sự động viên khích lệ, cùng những yêu cầu của GS.TS
Nguyễn Thanh Thủy và PGS.TS Nguyễn Xuân Hoài, những người Thầy đã
truyền đạt rất nhiều kiến thức quí báu cũng như những kinh nghiệm nghiên cứu
khoa học trong suốt thời gian tác giả theo học nghiên cứu sinh. Lời đầu tiên, tác
giả xin bày tỏ lịng kính trọng và biết ơn sâu sắc tới các Thầy.
Tác giả xin chân thành gửi lời cảm ơn về sự chia sẻ kiến thức khoa học
của GS Bob McKay, GS Costi và TS Nguyễn Quang Uy đã giúp ích và hỗ trợ
rất nhiều cho tác giả trong suốt quá trình nghiên cứu.
Tác giả xin chân thành cảm ơn Ban lãnh đạo Viện Công nghệ thông tin và
Truyền thông, Viện Đào tạo Sau đại học, trường Đại học Bách khoa Hà Nội,
Ban giám đốc Sở Thông tin và Truyền thông Hà Nội đã tạo điều kiện thuận lợi
cho tác giả trong quá trình học tập, nghiên cứu để hoàn thành luận án.
Qua đây, cho phép tác giả xin cảm ơn Quỹ Phát triển Khoa học và Công
nghệ Quốc gia đã tài trợ một phần cho nghiên cứu này.
Tác giả xin cảm ơn các Thầy, Cô trong Bộ môn Hệ thống thông tin - Viện
Công nghệ thông tin và Truyền thông, Trường Đại học Bách khoa Hà Nội.

Luận án này, như một món quà tinh thần, xin đáp lại những niềm quan
tâm, mong mỏi của mọi thành viên trong gia đình, đó là một trong những nguồn
động viên để tác giả nỗ lực học tập, nghiên cứu.

vii


DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Kí hiệu

Kí hiệu đầy đủ

Diễn giải

CFG

Context Free Grammars

Văn phạm phi ngữ cảnh

DCG

Definite Cclause Grammar

Văn phạm mệnh đề định nghĩa

EA

Evolutionary Algorithms


Giải thuật 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

GA

Genetic Algorithm

Giải thuật di truyền

GEP

Gene expression programming

Lập trình biểu thức Gen

Grammar-guided genetic

Lập trình Gen định hướng bởi


programming

văn phạm

Genetic Programming

Lập trình Gen

Lexicalised Tree-Adjoining

Văn phạm nối cây cấu trúc

Grammars

từ vựng

Mean Absolute Error

Lỗi tuyệt đối

The Most Semantic Similarity

Toán tử lai ghép dựa trên ngữ

based Crossover

nghĩa tương tự nhất

Q


Q-Function

Hàm Q

Q-Inver

Q-Inversion-Function

Hàm ngược Q

RAE

Relative Absolute Error

Lỗi tương đối

Semantic Similarity based

Toán tử lai ghép dựa trên ngữ

Crossover

nghĩa tương tự

Tree-Adjoining Grammars

Văn phạm nối cây

Tree-Adjunct Grammar Guided


Lập trình Gen định hướng bởi

Genetic Programming

văn phạm nối cây

viết tắt

GGGP
GP
LTAG
MAE
MSSC

SSC
TAG
TAG3P

viii


DANH MỤC CÁC BẢNG
Bảng 3.1. Tập hợp các bài toán làm thử nghiệm

62

Bảng 3.2 Cấu hình thử nghiệm

63


Bảng 3.3. Số lần chạy thử nghiệm thành cơng

64

Bảng 3.4. Trung bình độ tốt của 100 lần chạy thử nghiệm

65

Bảng 3.5. Trung bình thay đổi độ tốt sau khi thực hiện lai ghép

66

Bảng 3.6. Cấu hình thử nghiệm

67

Bảng 3.7. Số lần chạy thử nghiệm thành cơng

68

Bảng 3.8. Trung bình độ tốt của 100 lần chạy thử nghiệm

70

Bảng 3.9. Trung bình thay đổi độ tốt sau khi thực hiện lai ghép

70

Bảng 3.10. Thời gian trung bình thực hiện các thử nghiệm


72

Bảng 3.11. Cấu hình thử nghiệm

76

Bảng 3.12. Số lần chạy thử nghiệm thành công

77

Bảng 3.13. Trung bình độ tốt của 100 lần chạy thử nghiệm

78

Bảng 4.1. Kết quả thử nghiệm khi thay đổi cấu hình số thế hệ

89

Bảng 4.2. Bảng thơng số được cài đặt cho mỗi thử nghiệm

90

Bảng 4.3. Kết quả thử nghiệm học xấp xỉ hàm Q

92

Bảng 4.4. So sánh trung bình thời gian huấn luyện của các thử

96


nghiệm
Bảng 4.5. Cấu hình thử nghiệm

98

Bảng 4.6. Kết quả thử nghiệm học xấp xỉ hàm ngược Q

100

Bảng 4.7. So sánh trung bình thời gian huấn luyện của các thử

101

nghiệm

ix


DANH MỤC CÁC HÌNH ẢNH, ĐỒ THỊ
Hình vẽ 1.1. Sơ đồ khối của thuật giải EA

7

Hình vẽ 1.2. Biểu diễn cá thể trong GA

7

Hình vẽ 1.3 Các tốn tử cơ bản trong GA chuẩn

8


Hình vẽ 1.4. Biểu diễn chương trình GP

11

Hình vẽ 1.5. Thao tác lai ghép trong GP

13

Hình vẽ 1.6. Thao tác đột biến trong GP

14

Hình vẽ 1.7. Kiểu Gen và kiểu hình trong GEP

15

Hình vẽ 1.8. Ví dụ về việc thay đổi hồn tồn của kiểu hình

16

Hình vẽ 1.9. Một cá thể

17

Hình vẽ 1.10 Một ví dụ về ánh xạ giữa kiểu Gen và kiểu hình trong GE

23

Hình vẽ 1.11 Một ví dụ về TAG


26

Hình vẽ 1.12. Phép nối cây trong TAG

27

Hình vẽ 1.13. Phép thế cây trong TAG

28

Hình vẽ 1.14. Ví dụ về cây dẫn xuất và cây phân tích trong TAG

29

Hình vẽ 1.15. Q trình ánh xạ

31

Hình vẽ 1.16. Thao tác lai ghép trong TAG3P

32

Hình vẽ 1.17. Thao tác đột biến trong TAG3P

33

Hình vẽ 1.18. Tốn tử chèn

34


Hình vẽ 1.19 Tốn tử xóa

34

Hình vẽ 1.20. Tốn tử thay thế

35

Hình vẽ 1.21. Tốn tử di chuyển

35

Hình vẽ 1.22. Tốn tử sao lưu

36

Hình vẽ 1.23. Tốn tử cắt bỏ

36

Hình vẽ 2.1 Văn phạm thuộc tính

41

Hình vẽ 2.2 Văn phạm logic

42

Hình vẽ 2.3. Ngữ cảnh có được bằng cách loại bỏ cây con


44

Hình vẽ 2.4. Ngữ nghĩa trong GP biểu diễn dạng cây biểu thức

46
x


Hình vẽ 2.5. Một ví dụ về cây cơ bản trong văn phạm TAG

47

Hình vẽ 2.6. Kiểu Gen và kiểu hình trong TAG3P

47

Hình vẽ 2.7. Tính tốn độ đóng góp của cây con

48

Hình vẽ 2.8. Q trình tính tốn ngữ nghĩa cây con

49

Hình vẽ 3.1. Cây con tương đồng được lựa chọn

57

Hình vẽ 3.2. Cây con được tạo ra bởi lai ghép hai cây con tương đồng


57

Hình vẽ 4.1. Đồ thị của hàm Q

80

Hình vẽ 4.2. Lỗi tương đối của các xấp xỉ tìm được khi sử dụng hàm

86

thích nghi MAE và xấp xỉ OPBCS
Hình vẽ 4.3. Lỗi tương đối của các xấp xỉ tìm được khi sử dụng hàm

87

thích nghi RAE và xấp xỉ OPBCS
Hình vẽ 4.4. Văn phạm LTAG của TAP3P cho bài toán học xấp xỉ

91

hàm Q với dạng hàm mũ
Hình vẽ 4.5. So sánh lỗi tương đối của xấp xỉ hàm Q

95

Hình vẽ 4.6. Đồ thị hàm ngược Q

96


Hình vẽ 4.7. Văn phạm LTAG của TAP3P cho bài toán xấp xỉ hàm

99

ngược Q

xi


GIỚI THIỆU CHUNG
Trong mục này, luận án sẽ giới thiệu khái quát về mục đích của việc
nghiên cứu, mục tiêu, phương pháp nghiên cứu, các đóng góp chính của luận án
và cuối cùng là bố cục các phần của luận án.
MỤC ĐÍCH
Lập trình Gen (Genetic Programming – GP) được đề xuất bởi Koza [1], từ
khi ra đời đã được xem như một phương pháp học máy có tiềm năng. Chính vì
vậy GP đã được áp dụng rộng rãi để giải quyết thành cơng nhiều bài tốn, trong
đó phần nhiều là các bài tốn liên quan đến học máy. GP có thể dùng để giải
quyết những bài toán học khi độ phức tạp cấu trúc của lời giải là không biết
trước, GP địi hỏi ít tri thức nền của bài tốn, và cho lời giải dưới dạng tường
minh (cách tiếp cận hộp trắng) cho người dùng.
Có nhiều phương pháp học máy được sử dụng như: cây quyết định, mạng
nơron nhân tạo, máy vectơ hỗ trợ,…. Các phương pháp được tiếp cận theo hai
mơ hình là hộp đen (Blackbox) và hộp trắng (Whitebox) hoặc lai ghép giữa hai
mơ hình trên. Mạng nơ-ron hay máy véctơ hỗ trợ là một ví dụ về mơ hình hộp
đen, do lời giải thích cho kết quả quá phức tạp để có thể hiểu được. Trong khi
đó, lập trình Gen tiếp cận theo mơ hình hộp trắng với lời giải có tính giải thích
và ở dạng đóng. So với các mơ hình học máy khác thì GP có khá nhiều lợi điểm.
Thứ nhất, GP là phương pháp học quan hệ có khả năng học các tri thức
dưới dạng các chương trình máy tính.

Thứ hai, GP sử dụng cách tiếp cận hộp trắng cung cấp lời giải dưới dạng
tường minh, dễ hiểu hơn đối với người dùng (so với các kĩ thuật học dùng hộp
đen như mạng Neural, máy vector hỗ trợ, mơ hình đồ thị,…, trong đó lời giải
thường ẩn trong các trọng số hay xác suất). Sự tường minh của lời giải trong
nhiều trường hợp là cần thiết.
Thứ ba, khi so sánh với các mơ hình học hộp trắng, GP sử dụng ít tri thức
nền của bài toán hơn (trong nhiều trường hợp tri thức này không thể thu nạp dễ
1


dàng) và tìm kiếm rộng (tồn cục) hơn trên khơng gian tìm kiếm.
Hệ lập trình Gen định hướng bởi văn phạm nối cây TAG3P (Tree-Adjunct
Grammar Guided Genetic) được đề xuất trong [2] là hệ thống sử dụng văn phạm
nối cây để định hướng q trình tiến hóa. TAG3P sử dụng văn phạm nối cây
cùng với văn phạm phi ngữ cảnh để đặt ra những ràng buộc về cú pháp cũng như
những sai lệch khi tìm kiếm của chương trình tiến hóa. Hệ thống TAG3P có tất
cả những thuộc tính của các hệ thống GP thông thường dựa trên các biểu diễn
dạng hình cây khác.
Ngữ nghĩa là một khái niệm được sử dụng nhiều trong xử lí ngơn ngữ tự
nhiên và trong lĩnh vực khoa học máy tính. Trong thời gian gần đây, vấn đề
nghiên cứu ngữ nghĩa và áp dụng ngữ nghĩa trong các hệ lập trình Gen là hướng
nghiên cứu rất được quan tâm để cải tiến, định hướng cho q trình tiến hóa
của các cá thể.
Mặc dù vậy, khái niệm ngữ nghĩa chưa được nghiên cứu và đề xuất trong
hệ lập trình Gen định hướng bởi văn phạm nối cây. Do đó, đây là hướng nghiên
cứu cần tiếp tục được thực hiện đối với TAG3P như: nghiên cứu về ngữ nghĩa
cây con, thiết kế toán tử di truyền dựa trên ngữ nghĩa.
Trong lĩnh vực viễn thông, các nhà nghiên cứu giả thuyết rằng hệ thống
nhiễu có dạng biến Gaussian ngẫu nhiên. Tuy nhiên, hàm Q chỉ duy nhất được
định nghĩa dưới dạng tích phân suy rộng, điều này sẽ gây nhiều khó khăn cho

những phân tích sau này đối với với các hệ thống viễn thơng. Do đó, rất cần thiết
phải tìm ra các biểu diễn tường minh (dạng giải tích) của hàm Q. Đến thời điểm
này, chưa có giải pháp chính xác tuyệt đối cho dạng tường minh của hàm Q, và
do đó, các hàm xấp xỉ là lựa chọn duy nhất.
Mặc dù có nhiều hàm xấp xỉ dạng tường minh của hàm Q đã được đề xuất
bởi các chuyên gia, nhưng do tính chất quan trọng và phổ biến của hàm Q trong
lĩnh vực viễn thông, việc tìm kiếm các hàm xấp xỉ tốt hơn, có dạng giải tích và
có nhiều đặc điểm quan trọng (chẳng hạn như sự đơn giản, tính khả tích,…) vẫn
2


tiếp tục được thực hiện. Thực tế cho thấy, các nhà khoa học vẫn khơng ngừng
tìm kiếm các dạng xấp xỉ mới, đơn giản hơn, tốt hơn của hàm Q, cụ thể là
trong những năm gần đây, các cơng trình khoa học tiếp tục đăng tải các dạng
xấp xỉ mới tìm thấy.
Với đặc điểm của hệ lập trình Gen nói chung và hệ TAG3P sẽ phù hợp với
bài tốn tìm xấp xỉ, do đó, trong luận án sẽ ứng dụng các kết quả nghiên cứu
mới để tìm kiếm các dạng xấp xỉ mới, đơn giản hơn, tốt hơn của hàm Q. Đây là
là kết quả ứng dụng thực tế và rất có ý nghĩa, đặc biệt trong lĩnh vực viễn thông.
MỤC TIÊU NGHIÊN CỨU
Đề tài nghiên cứu được triển khai trên cơ sở hệ TAG3P với mục tiêu:
- Nghiên cứu, đề xuất khái niệm ngữ nghĩa cây con trong hệ TAG3P làm
cơ sở để định hướng q trình tiến hóa của các cá thể.
- Nghiên cứu, đề xuất và thử nghiệm các toán tử di truyền mới dựa trên
“Ngữ nghĩa”.
- Thử nghiệm hệ TAG3P với toán tử mới để giải quyết các bài tốn thực
tế có tính ứng dụng cao là bài toán học xấp xỉ hàm Q và hàm ngược Q.
PHƯƠNG PHÁP NGHIÊN CỨU
Đề tài nghiên cứu được triển khai trên với phương pháp nghiên cứu sau:
- Phương pháp nghiên cứu lí thuyết: tham khảo các cơng trình nghiên cứu

có liên quan, từ đó nghiên cứu, đề xuất các nội dung nghiên cứu lí
thuyết mới.
- Phương pháp thực nghiệm kết hợp đối chiếu, so sánh: tiến hành các thử
nghiệm để so sánh kết quả và đánh giá hiệu quả ứng dụng trong bài tốn
thực tế.
CÁC ĐĨNG GĨP CHÍNH
Các đóng góp chính của luận án bao gồm:

3


1. Đề xuất khái niệm “Ngữ nghĩa” của các cây con trong hệ TAG3P. Trong
hệ TAG3P trước đây khái niệm ngữ nghĩa chưa được nghiên cứu, đề xuất, chính
vì vậy, việc nghiên cứu và đề xuất khái niệm ngữ nghĩa là sự mở rộng của hệ
TAG3P.
2. Dựa trên định nghĩa về ngữ nghĩa trong TAG3P, luận án thiết kế và đề
xuất toán tử lai ghép, toán tử đột biến dựa trên ngữ nghĩa. Việc thiết kế với các
toán tử mới sẽ giúp q trình tiến hóa được định hướng tốt hơn dựa trên ngữ
nghĩa. Kết quả thực nghiệm cho thấy, toán tử di truyền được thiết kế dựa trên
ngữ nghĩa thu được kết quả cải tiến so với toán tử thông thường trên TAG3P.
3. Ứng dụng các kết quả nghiên cứu mới của luận án vào bài toán thực tế là
học xấp xỉ hàm Q và học xấp xỉ hàm ngược Q, trong đó:
- Nghiên cứu đề xuất hàm thích nghi phù hợp với đặc điểm của bài toán
học xấp xỉ hàm Q, hàm ngược Q.
- Tìm ra được xấp xỉ hàm Q ở dạng tường minh với cấu trúc rất đơn giản
và đặc biệt là có độ chính xác rất cao. Điều này rất có ý nghĩa bởi bài
tốn tìm các dạng xấp xỉ của hàm Q có một vai trị quan trọng trong lĩnh
vực viễn thơng, nó cũng được các nhà khoa học khơng ngừng nghiên
cứu nhằm tìm ra các xấp xỉ mới tốt hơn, đơn giản hơn. Kết quả này rất
quan trọng vì kể từ khi xấp xỉ OPBCS được đưa ra năm 1979 đến nay,

chưa có một xấp xỉ nào tốt hơn được tìm ra. Hơn thế nữa, xấp xỉ tìm
được này lại có dạng hàm mũ nên rất đơn giản trong q trình tính tốn,
phù hợp với đặc điểm sử dụng trong phân tích hệ thống viễn thơng.
- Tìm ra được xấp xỉ hàm ngược Q ở dạng tường minh, hiện chưa có
những cơng bố về dạng tường minh của hàm ngược này.
Các kết quả của luận án đã được công bố bao gồm: 02 bài đăng tại các tạp
chí có uy tín (trong đó có 01 tạp chí nước ngồi thuộc danh mục ISI), 03 bài báo
được đăng tại kỷ yếu hội thảo quốc tế (trong đó có 02 hội nghị quốc tế thuộc
danh mục ISI Proceeding). Ngồi ra, một số cơng trình nghiên cứu của các tác

4


giả thuộc lĩnh vực viễn thơng đã trích dẫn và sử dụng các kết quả nghiên cứu
này.
TỔNG QUAN VỀ CẤU TRÚC CỦA LUẬN ÁN
Luận án sẽ được trình bày như sau:
Giới thiệu chung: Phần này sẽ trình bày mục đích của việc nghiên cứu,
các mục tiêu của luận án đặt ra, phương pháp nghiên cứu, các kết quả đóng góp
chính của luận án và cấu trúc các chương trong luận án.
Chương 1: Các nội dung lí thuyết và các nghiên cứu trước đây có liên
quan sẽ được trình bày, bao gồm: những lí thuyết và các nghiên cứu có liên quan
trong lĩnh vực lập trình Gen, lập trình Gen định hướng bởi văn phạm và đặc biệt
là hệ lập trình Gen định hướng bởi văn phạm nối cây – TAG3P. Hệ TAG3P sẽ
được sử dụng là nền tảng cho các hướng nghiên cứu của luận án.
Chương 2: Chương này sẽ trình bày khái quát về các định nghĩa ngữ
nghĩa và các toán tử di truyền dựa trên ngữ nghĩa trong một số nghiên cứu gần
đây. Trên cơ sở đó, khái niệm về ngữ nghĩa của cây con trong hệ TAG3P được
đề xuất. Các đặc điểm của ngữ nghĩa trong hệ TAG3P cũng được phân tích
trong chương này.

Chương 3: Dựa trên ngữ nghĩa, các toán tử di truyền mới đã được thiết kế
và một số thử nghiệm đã được tiến hành để đánh giá kết quả và so sánh hiệu quả
của toán tử di truyền dựa trên ngữ nghĩa so với tốn tử di truyền thơng thường
trên TAG3P và với hệ GP khác.
Chương 4: Ứng dụng những kết quả nghiên cứu mới để giải quyết bài
toán ứng dụng thực tế là bài toán học xấp xỉ hàm Q và hàm ngược của Q.
Tiếp theo là danh mục các kết quả đã công bố, hướng nghiên cứu tiếp
theo, danh mục tài liệu tham khảo.

5


CHƯƠNG 1. TỔNG QUAN
Chương này sẽ trình bày tổng quan những nghiên cứu trước đây trong lĩnh
vực lập trình Gen, lập trình Gen định hướng bởi văn phạm và đặc biệt sẽ trình
bày chi tiết về hệ lập trình Gen định hướng bởi văn phạm nối cây.
Trên cơ sở đó, luận án đưa ra một số hướng nghiên cứu mở rộng cũng như
khả năng áp dụng vào các bài toán thực tế.
1.1 GIẢI THUẬT TIẾN HĨA
Giải thuật tiến hóa (Evolutionary Algorithms – EA) là tập các giải thuật
tìm kiếm mơ phỏng q trình tiến hóa [3].
Sự mơ phỏng này được thực hiện theo ba mặt: một là EA sử dụng quần
thể gồm tập hợp các cá thể; hai là các cá thể đó cạnh tranh với nhau, dựa trên
thuyết chọn lọc tự nhiên của Darwin để tái tạo; ba là q trình tiến hóa được
thực hiện ngẫu nhiên.
EA dựa trên quan niệm "Q trình tiến hố tự nhiên là q trình hồn hảo
nhất, hợp lí nhất và tự nó đã mang tính tối ưu". Q trình tiến hố thể hiện tính
tối ưu ở chỗ thế hệ sau bao giờ cũng tốt hơn thế hệ trước.
Năm 1975, giải thuật Gen do John Holland phát minh và được phát triển
bởi ông cùng với các đồng nghiệp. Đến năm 1992, Koza đã dùng GA để xây

dựng các chương trình giải quyết một số bài tốn mà kích thước lời giải khơng
được xác định trước và gọi phương pháp này là "Lập trình Gen".
Mặc dù vậy, thuật toán của các EA đều rất giống nhau và được thể hiện
như hình vẽ sau:

6


Khởi tạo giải pháp ban đầu

Đánh giá

Lựachọn

Tạoracác thế hệ mớinhờ
các tốn tử ditruyền
Sai

Gi
ảipháp
đủ tốt?
Đúng

Kết thúc

Hình vẽ 1.1. Sơ đồ khối của thuật giải EA

1.2

GIẢI THUẬT DI TRUYỀN

Giải thuật di truyền (GA) nguyên thủy đã được đề xuất bởi Holland

và là giải thuật tiến hóa khá phổ biến và được sử dụng rộng rãi. Đồng
thời, nó được nghiên cứu và áp dụng cho nhiều bài toán thực tế.
Hệ GA nguyên thủy có sử dụng chuỗi nhị phân tuyến tính và có độ
dài cố định để biểu diễn chuỗi Gen. Hình vẽ sau đây là ví dụ một chuỗi
Gen của hệ giải thuật di truyền:

Hình vẽ 1.2. Biểu diễn cá thể trong GA

7


Từ khi Holland [4] phát minh ra hệ GA đầu tiên, đến nay đã có một số
biến thể GA được đề xuất và sử dụng các biểu diễn khác nhau như: sử dụng mã
thực, mã gray, chuỗi Gen với độ dài thay đổi và tương tự như vậy.

Hình vẽ 1.3 Các toán tử cơ bản trong GA chuẩn

Điều quan trọng cần lưu ý ở đây là tất cả các biểu diễn trên đều sử dụng
biểu diễn chuỗi Gen dạng tuyến tính. Tính tuyến tính này tạo thuận lợi cho việc
thiết kế các toán tử di truyền khác nhau. Với ba toán tử ban đầu, ngày nay nhiều
8


toán tử di truyền mới và phỏng sinh học đã được đưa ra [4] [5] [6]. Hơn nữa, sẽ
khơng khó khăn đối với GA khi sử dụng biểu diễn chuỗi Gen tuyến tính để thiết
kế ra các tốn tử mà tạo ra các thay đổi nhỏ khi áp dụng. Nói cách khác, nếu có
một cấu trúc đồ thị trong chuỗi Gen biểu diễn tuyến tính, nó dễ dàng thiết kế
tốn tử di truyền để duy trì cấu trúc này. Ví dụ như trong GA sử dụng biểu diễn

nhị phân tuyến tính, nếu chúng ta sử dụng khoảng cách Hamming để định nghĩa
cấu trúc lân cận trong không gian biểu diễn Gen của GA, toán tử đột biết sẽ làm
thay đổi nhỏ về khoảng cách Hamming.
1.3

LẬP TRÌNH GEN
Lập trình Gen (GP) được định nghĩa như là phương pháp học máy để tạo

ra các chương trình thơng qua q trình tiến hóa [7], là một cơng nghệ tính tốn
tiến hóa tự động giải quyết bài tốn, khơng địi hỏi phải biết dạng thức hay cấu
trúc của lời giải [8] [2] [9] [10]. GP được kế thừa từ GA và đôi khi được xem
như là một nhánh nghiên cứu của GA.
GP có thể khái quát là phương thức có hệ thống và độc lập với bài toán để
tự động giải quyết bài toán từ những định nghĩa cấp cao. GP dựa trên ý tưởng
chính là các chương trình máy tính có khả năng tự tiến hóa để thực hiện một
cơng việc nào đó, được đưa ra bởi Koza vào năm 1992 [1]. Kĩ thuật này cung
cấp một nền tảng cho việc tạo ra những chương trình máy tính một cách tự động.
Lập trình Gen đạt được mục đích này bằng việc phát sinh ra một quần thể các
chương trình máy tính, sử dụng thuyết tiến hóa của Darwin chọn ra chương trình
tốt nhất để thực hiện cơng việc.
GP khác những thuật tốn tiến hóa khác ở phạm vi ứng dụng. Những
thuật tốn tiến hóa khác thường được áp dụng cho các bài tốn tìm lời giải tối
ưu, trong khi GP được xếp vào nhóm các thuật tốn học máy để tìm mơ hình
phù hợp nhất dựa trên dữ liệu đưa vào.
Sự khác biệt giữa GA và GP cơ bản nằm ở mục đích của nó, trong khi GA
chủ yếu sử dụng cho bài tốn tối ưu thì GP lại được sử dụng cho việc học. GA
được sử dụng để thực hiện việc tối ưu hóa một hàm dựa trên định nghĩa của hàm
9



đó, trong khi GP được sử dụng để học một hàm dựa trên tập dữ liệu học. Đây là
điểm khác biệt nhất giữa GA và GP. Ngồi ra, cịn một điểm phân biệt khác giữa
GA và GP là GP thường sử dụng biểu diễn chuỗi Gen linh hoạt với kích cỡ và
cấu trúc thay đổi. Điều này càng cho thấy rõ là GA phù hợp với tối ưu hóa tham
số khi mà cấu trúc đã được biết trước, trong khi GP phù hợp với bài tốn học và
tìm kiếm về cả nội dung cùng cấu trúc của lời giải và GP đã thành cơng trong
việc giải quyết nhiều bài tốn thực tế [7].
1.3.1 Lập trình Gen chuẩn có cấu trúc cây
Mặc dù đã có số lượng các nghiên cứu gần với GP, nhưng trong lĩnh vực
GP lần đầu tiên được đưa ra bởi Koza trong [1], là tài liệu đầu tiên trên thế giới
nói về khả năng của GP và đặt nền móng cho lĩnh vực nghiên cứu này. Trong tài
liệu này, Koza đã đưa ra hệ thống GP dựa trên cơ chế chọn lọc tự nhiên của
Darwin, trong tài liệu này sẽ được gọi là hệ GP chuẩn.
Quá trình tiến hóa của GP bắt đầu với việc tạo ra ngẫu nhiên quần thể gồm
các cá thể (chương trình). Ở mỗi thế hệ, độ tốt của mỗi cá thể chương trình được
đánh giá trên cơ sở mức độ tốt của chương trình trong việc giải quyết bài tốn
đặt ra. Do đó, các cá thể sẽ được lựa chọn thơng qua các toán tử di truyền (lai
ghép, đột biến,…) để tạo ra các cá thể con trong thế hệ tiếp theo. Quá trình này
lặp đi lặp lại cho đến khi lời giải được tìm ra hoặc khi gặp một số điều kiện dừng
nào đó [11]. GP phát sinh ra những chương trình máy tính để giải quyết bài tốn
bằng việc thực hiện các bước sau:
- Tạo quần thể ban đầu bằng việc kết hợp ngẫu nhiên các phép tính và các kí
hiệu kết của bài tốn.
- Lặp lại các bước sau cho đến khi đạt điều kiện dừng:
o Thực thi từng chương trình trong quần thể và gán cho nó một giá trị
thích nghi dựa vào hàm tính giá trị thích nghi.
o Tạo ra quần thể các chương trình mới bằng việc áp dụng các thao tác
sau:
Tái tạo: Sao chép chương trình được chọn vào quần thể mới.
10



Lai ghép: Tạo ra hai chương trình mới từ hai chương trình có sẵn
bằng việc hốn vị một phần chương trình ban đầu tại một nút được
chọn ngẫu nhiên trong từng chương trình.
Đột biến: Tạo ra một chương trình mới từ một chương trình có sẵn
bằng cách thay thế một phần chương trình được chọn ngẫu nhiên.
- Chương trình được đánh giá là tốt nhất sau khi thực hiện sẽ là kết quả của
thuật tốn. Đây chính là lời giải của bài tốn.
Hệ lập trình GEN chuẩn sẽ gồm 5 thành phần: biểu diễn chương trình, khởi tạo
quần thể, hàm thích nghi, tốn tử di truyền và các tham số. Cụ thể như sau:
a. Biểu diễn chương trình
Chương trình trong GP được biểu diễn dưới dạng cây, trong đó mỗi nút được
gán nhãn là một kí hiệu thuộc tập hàm (F) hay tập kí hiệu kết (T) (trong trường
hợp biểu thức tính tốn, đó là các tốn hạng)

Hình vẽ 1.4. Biểu diễn chương trình GP
b. Khởi tạo quần thể
Để tạo một cấu trúc cây, GP lựa chọn ngẫu nhiên một phép tính hay một kí
hiệu kết từ tập các phép tính và tập các kí hiệu kết của bài tốn. Tuy nhiên, việc
lựa chọn cũng phải dựa vào tập các tham số điều khiển và phương pháp để phát
sinh một cá thể. Có các phương pháp khởi tạo quần thể sau:
Full: Phương pháp này tạo nên những cây đầy đủ, là những cây có tất cả các
kí hiệu kết ở mức lớn nhất của cây.
11


Grow: Lựa chọn ngẫu nhiên các phép tính và các kí hiệu kết cho nút gốc.
Nếu nút gốc là một kí hiệu kết, một kí hiệu kết ngẫu nhiên sẽ được chọn. Nếu
nút gốc là một phép tính, một phép tính ngẫu nhiên sẽ được chọn, và nút này sẽ

có số lượng nhánh con bằng với số lượng đối số của phép tính. Với mỗi nhánh
con này, thuật tốn grow sẽ lại bắt đầu cho đến khi nhánh con ở mức lớn nhất
của cây. Trong trường hợp này, nhánh con sẽ được tạo thành bằng cách chọn
một kí hiệu kết ngẫu nhiên.
Half–and–Half: Phương pháp này là sự kết hợp của 2 phương pháp trên.
c. Hàm thích nghi:
Để lựa chọn các cá thể cho thao tác lai ghép, tái tạo và đột biến, cũng như
đánh giá độ thích nghi (sau đây gọi là độ tốt) của từng cá thể trong việc giải
quyết bài tốn, hàm tính giá trị thích nghi (gọi tắt là hàm thích nghi) là phương
pháp để đánh giá độ tốt của từng cá thể trong quần thể.
Độ tốt này được xác định trên cơ sở đánh giá chương trình so với kết quả tập
dữ liệu học. Độ tốt của mỗi cá thể thường được chuẩn hóa trước khi được lựa
chọn cho các phép tốn di truyền. Q trình chuẩn hóa trong GP chuẩn được
trình bày trong [1].
d. Tốn tử di truyền:
Theo thuyết tiến hóa của Darwin, một quần thể sẽ trải qua nhiều thế hệ, và
các cá thể của thế hệ mới là kết quả của sự kết hợp các cá thể trong thế hệ trước.
Nói cách khác, đó là sự chuyển giao các cá thể cho thế hệ mới trong quần thể, sử
dụng các thao tác di truyền. Lựa chọn, lai ghép, đột biến, và tái tạo là các toán tử
di truyền được sử dụng để tạo nên các cá thể mới trong mỗi thế hệ.
Lựa chọn: Là việc chọn ra các cá thể từ quần thể để phục vụ cho các thao tác
di truyền. Có nhiều phương pháp khác nhau [12] để thực hiện việc lựa chọn
nhưng phổ biến nhất vẫn là cơ chế lựa chọn dựa vào xác suất độ tốt của cá thể và
lựa chọn cạnh tranh. Trong cơ chế lựa chọn dựa trên độ tốt của cá thể, mỗi
chương trình i được lựa chọn với xác suất

‫݌‬௜ =

௙೔
,


∑೔సభ ௙೔

trong đó fi là độ tốt
12


của cá thể thứ i. Còn trong trường hợp lựa chọn cạnh tranh, m cá thể sẽ được lựa
chọn ngẫu nhiên từ quần thể để tiến hành cạnh tranh, và cá thể thắng cuộc (xét
dưới góc độ độ tốt) sẽ được lựa chọn.
Tái tạo: Là tốn tử thực hiện thơng qua việc lựa chọn các các thể và sao
chép nguyên mẫu chúng vào quần thể mới.
Lai ghép: Tạo ra hai cá thể mới từ hai cá thể cha mẹ được lựa chọn từ quần
thể dựa vào độ tốt của cá thể. Trong mỗi cấu trúc cây cha mẹ, một nút ngẫu
nhiên sẽ được chọn, và những nhánh con bên dưới nút được chọn sẽ được hoán
vị để tạo thành 2 cây mới. Như hình vẽ sau vị trí lai ghép là cây con được chỉ
bởi mũi tên có nét gạch đứt.

Hình vẽ 1.5a. Hai cây ban đầu

Hình vẽ 1.5b. Hai cây mới tạo ra sau khi thực hiện thao tác lai ghép
Đột biến: Tạo ra một cá thể mới từ một cá thể có sẵn trong quần thể bằng
việc thay thế một nút của cây bằng một nút khác trong tập tương ứng.
13


Hình vẽ 1.6.a. Cây ban đầu

Hình vẽ 1.6.b. Cây sau đột biến


e. Các tham số
Các tham số trong GP chuẩn bao gồm: kích cỡ quần thể, số thế hệ tối đa, độ
sâu tối đa của việc khởi tạo, của quá trình tiến hóa và xác suất thực hiện các tốn
tử di truyền.
Như đã trình bày ở trên, GP được sử dụng để học cách xác định một hàm
dựa trên dữ liệu mẫu. Hệ thống GP thường thể hiện dưới dạng chuỗi Gen phức
tạp với kích thước và hình dạng biến đổi. GP thành cơng trong giải quyết nhiều
bài tốn trong thực tế bao gồm các bài tốn xấp xỉ tích phân kí hiệu.
Ngồi ra, trong [1], Koza có đưa ra hai điều kiện mà GP phải đáp ứng để
phù hợp với một số vấn đề đặc biệt như tính đầy đủ và tính đóng. Tính đầy đủ
địi hỏi GP phải có tập nguyên thủy đủ (tập hàm và tập kết) để biểu diễn giải
pháp. Tính đóng là u cầu tất cả các hàm, kí hiệu kết phải cùng kiểu để đảm
bảo kết quả tốn tử ln là biểu diễn hợp lệ. Do đó, miền các vấn đề giải quyết
bởi GP chuẩn hạn chế trong những vấn đề không liên quan đến kiểu. Hạn chế
này là cơ sở thúc đẩy cho lập trình Gen định hướng bởi văn phạm.
1.3.2 Một số vấn đề với lập trình Gen chuẩn có cấu trúc cây
Được xem như là hậu thế của GA, GP kế thừa nhiều đặc tính của GA như
q trình tiến hóa, sử dụng các toán tử di truyền,… Tuy nhiên, việc biểu diễn
chuỗi Gen của GP chuẩn là cây biểu diễn bậc cố định, so với biểu diễn tuyến
tính (kích cỡ cố định) của GA thì nó phức tạp hơn nhiều.
14


×