Để chủ động điều khiển quá trình tổng hợp FOS bắt buộc phải xác định được các thông số động học của enzyme FTS, tuy nhiên những thông số này khó hoặc không thể xác định bằng phương pháp
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
đã đƣợc cảm ơn và các thông tin trích dẫn trong Luận văn đã đƣợc chỉ rõ nguồn gốc
Học viên thực hiện Luận văn
(Ký và ghi rõ họ tên)
Trang 2LỜI CÁM ƠN
Tôi xin chân thành cảm ơn thầy hướng dẫn Tiến sĩ Lư Nhật Vinh, khoa Công nghệ thông tin – Trường Đại học Công nghiệp Thực phẩm TP.HCM đã tận tình hướng dẫn tôi trong suốt thời gian thực hiện luận văn
Người tôi muốn gửi lời cảm ơn sâu sắc nhất đó là mẹ chồng đáng kính của tôi
đã từ Bắc vào Nam chăm sóc tôi trong suốt thời gian nuôi con nhỏ để tôi yên tâm học tập, nghiên cứu và làm việc, cảm ơn những lời động viên tinh thần từ nơi đảo
xa của chồng đã giúp tôi vượt qua mọi khó khăn, cảm ơn các con Phương Như và Phương Chi đã mang lại niềm vui, nhiệt tình cho mẹ
Tôi cũng xin cảm ơn khoa Công nghệ thông tin – Trường Đại học Công nghệ
Tp Hồ Chí Minh, thầy Võ Đình Bảy đã góp ý, định hướng, động viên tinh thần thường xuyên cho tập thể lớp Cao học 14SCT11
Xin cảm ơn bạn bè và đồng nghiệp tại trường Đại học Công nghiệp thực phẩm TP.HCM, các anh chị, các bạn cùng lớp Cao học đã giúp đỡ và chia sẻ với tôi trong quá trình học tập và thực hiện luận văn
Trang 3TÓM TẮT
Trong lĩnh vực khoa học thực phẩm cần xác định các thông số động học enzym FTS cho các dây chuyền phản ứng, nhưng rất tốn kém nhiều thời gian và các tài nguyên khác cho quá trình thực hiện thí nghiệm Để vượt qua khó khăn này, luận văn
mô tả phương pháp sử dụng các giải thuật trong khoa học máy tính để giải quyết bài toán này Luận văn tiếp cận các giải thuật Meta – Heuristic để chọn giải thuật phù hợp
để xác định các thông số động học của enzym FTS Vì vậy, nội dung của luận văn sẽ
phân tích các giải thuật tìm kiếm nghiệm tối ưu gồm ACO (Ant Colony Optimization), giải thuật SA (Simulated Annealing), TS (Tabu Search), GA (Genetic Algorithm)
Trên cơ sở các phân tích giải thuật này, luận văn đề xuất các cải tiến cho giải thuật
GA nhằm áp dụng cho bài toán dự đoán các thông số động học của enzym FTS Để minh họa cho các đề xuất này, luận văn mô tả thực nghiệm và so sánh kết quả với các công trình liên quan
Trước hết, luận văn mô tả các công trình liên quan gần đây về giải thuật Meta – Heuristic và các ứng dụng của lĩnh vực khoa học máy tính cho lĩnh vực khoa học thực phẩm Đặc biệt, luận văn sẽ mô tả các công trình sử dụng các giải thuật Meta – Heuristic để dự đoán các thông số động học của enzym FTS Kế tiếp, luận văn sẽ xác định các đối tượng nghiên cứu để định hướng quá trình nghiên cứu Nội dung chương 2 của luận văn tiếp cận các thuật giải Meta – Heuristic nhằm phân tích sự phù hợp của giải thuật GA cho bài toán xác định thông số động học của enzym FTS Dựa trên sự phân tích trong chương 2, luận văn đề xuất các cải tiến cho giải thuật GA Các nội dung
đề xuất này được mô tả chi tiết trong chương 3 để từ đó làm cơ sở xây dựng ứng dụng trong lĩnh vực khoa học thực phẩm Dựa trên ngôn ngữ Matlab, trong chương 3 của luận văn sẽ mô tả các hàm chính để thực thi giải thuật di truyền cho bài toán xác định các thông số động học của enzym FTS Trong chương 4 của luận văn thực hiện quá trình cài đặt giải thuật GA cũng như xây dựng thực nghiệm và đánh giá kết quả giữa phương pháp đã đề nghị với các phương pháp trong các công trình đã được công bố trong tài liệu [3] và [4]
Trang 4ABSTRACT
The food science need to determine Kinematics parameters of enzym FTS in reactive chains, but this is time-consuming and others in the process of carry out experiments To overcome this difficulty, the content of thesis describe a method which uses algorithms of computer science to solve this problem The thesis approaches Meta – Heuristic algorithms to select a concordant algorithm which estimate Kinematics parameters of enzym FTS in food science Therefore, the content of thesis
is going to analyse the optimum search algorithms including ACO (Ant Colony Optimization), SA (Simulated Annealing), TS (Tabu Search), GA (Genetic Algorithm) On the base of the analysis, the thesis proposes the improvements of
GA to apply in this problem To illustrate this proposed method, the thesis describes and compares experiment results with the related works
Firstly, the thesis presents the related works recently about Meta – Heuristic and the food science applications in computer science Specially, the thesis describes the related works which apply to estimate Kinematics parameters of enzym FTS Next, the thesis determine research subjects to orientate the process of research The content of Chapter 2 approaches the Meta – Heuristic algorithms to find the concordance of GA
of problem which estimate Kinematics parameters of enzym FTS On the bases of Chapter 2, the thesis proposes improvements of GA The proposed method is described in Chapter 3 in order to build an application in food science On the bases
of Matlab, the content of Chapter 3 presents the functions of the GA to estimate Kinematics parameters of enzym FTS The Chapter 4 presents the process of installation of GA as well as builds and assesses the experimental results between the this method and other methods in [3] and [4]
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CÁM ƠN ii
TÓM TẮT iii
ABSTRACT iv
MỤC LỤC v
DANH MỤC CÁC TỪ VIẾT TẮT viii
DANH MỤC CÁC BẢNG ix
DANH MỤC BIỂU ĐỒ, ĐỒ THỊ, HÌNH ẢNH x
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN 4
1.1 Giới thiệu 4
1.2 Các Công trình liên quan 7
1.3 Phân tích các công trình liên quan 8
1.4 Các vấn đề luận văn tập trung nghiên cứu 9
1.5 Tổng kết chương 11
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 12
2.1 Giới thiệu 12
2.2 Tổng quan về giải thuật Meta - Heuristic 12
2.3 Giải thuật đàn kiến – ACO 14
2.3.1.Giới thiệu giải thuật ACO 14
2.3.2.Một số tính chất tự nhiên liên quan đến giải thuật ACO 15
2.3.3.Giải thuật ACO cơ bản 16
2.3.4.Giải thuật ACS (Ant Colony System) 19
2.3.5.Đánh giá tổng quan giải thuật ACO 20
2.4 Giải thuật luyện kim - SA 21
2.4.1.Giới thiệu 21
2.4.2.Giải thuật SA 22
2.4.3.Đánh giá tổng quan giải thuật SA 23
Trang 62.5 Giải thuật tìm kiếm Tabu - TS 24
2.5.1.Giới thiệu 24
2.5.2.Giải thuật TS 25
2.5.3.Đánh giá tổng quan giải thuật TS 26
2.6 Giải thuật di truyền - GA 28
2.6.1.Giới thiệu 28
2.6.2.Giải thuật GA 28
2.6.3.Đánh giá tổng quan giải thuật GA 31
2.7 Tổng kết chương 33
CHƯƠNG 3.GIẢI THUẬT DI TRUYỀN 35
3.1 Giới thiệu 35
3.2 Phân tích các tham số cơ bản của giải thuật di truyền 36
3.2.1.Biểu diễn dữ liệu đầu vào 36
3.2.2.Khởi tạo quần thể 36
3.2.3.Hàm thích nghi 37
3.2.4.Các toán tử di truyền 37
3.3 Phân tích quá trình thực thi của giải thuật di truyền 38
3.3.1.Phân tích quá trình thực thi 38
3.3.2.Ví dụ thực nghiệm 41
3.4 Mã hóa giải thuật di truyền 48
3.5 Tổng kết chương 57
CHƯƠNG 4.ỨNG DỤNG GIẢI THUẬT DI TRUYỀN XÁC ĐỊNH THÔNG SỐ ĐỘNG HỌC CỦA ENZYME FTS 58
4.1 Giới thiệu 58
4.2 Mô tả bài toán 58
4.3 Mô hình hóa bài toán 60
4.3.1.Lưu đồ tổng quát 60
4.3.2.Phân tích các bước của bài toán 61
4.4 Phân tích bài toán dựa trên giải thuật di truyền 62
Trang 74.4.1.Phân tích các tham số đầu vào 62
4.4.2.Thuật toán xác định thông số động học của enzyme FTS 71
4.5 Ví dụ thực nghiệm 72
4.6 Kết quả thực nghiệm 78
4.7 Kết luận 86
CHƯƠNG 5.KẾT LUẬN 87
DANH MỤC TÀI LIỆU THAM KHẢO 88
Trang 8DANH MỤC CÁC TỪ VIẾT TẮT
Chữ viết tắt Thuật ngữ tiếng Việt
ACO Giải thuật đàn kiến (Ant Colony Optimization) ACS Ant Colony System
AS Tập cho phép (Allowed Set)
EC Tính toán tiến hóa (Evolution Computation) ILS Giải thuật tìm kiếm cục bộ (Iterated Local Search)
SA Giải thuật luyện kim (Simulated annealing)
TS Giải thuật tìm kiếm Tabu (Tabu Search)
FOS Fructooligosaccharides
FTS Fructosyltransferase
Trang 9DANH MỤC CÁC BẢNG
Bảng 4.1. Bộ nghiệm theo lý thuyết 64
Bảng 4.2. Giá trị theo thực nghiệm tại phòng thí nghiệm 65
Bảng 4.3. Bảng giá trị nghiệm ứng với cá thể con thứ nhất 69
Bảng 4.4. Bảng giá trị nghiệm ứng với cá thể con thứ hai: 70
Bảng 4.5. Quần thể ban đầu của ví dụ thực nghiệm 73
Bảng 4.6. Quần thể mới sau khi thực hiện lựa chọn của ví dụ thực nghiệm 75
Bảng 4.7. Tập cá thể được lựa chọn trong quần thể mới của ví dụ thực nghiệm 76 Bảng 4.8. Tập các cá thể sau khi lai ghép đột biến của ví dụ thực nghiệm 76
Bảng 4.9. Quần thể kết quả của ví dụ thực nghiệm 77
Bảng 4.10. Ảnh hưởng của thời gian phản ứng đến quá trình tổng hợp FOS bằng enzyme FTS 78
Bảng 4.11. Bảng nồng độ đường ứng với cá thể tốt nhất 80
Bảng 4.12. Đánh giá Độ lệch của cá thể trong quần thể 85
Bảng 4.13. So sánh các giá trị sai số 85
Trang 10DANH MỤC BIỂU ĐỒ, ĐỒ THỊ, HÌNH ẢNH
Hình 2.1 Mô tả định hướng đường đi của đàn kiến 15
Hình 2.2 Lưu đồ thuật toán ACO cơ bản 19
Hình 2.3 Lưu đồ thuật toán SA 23
Hình 2.4 Lưu đồ thuật toán TS 26
Hình 2.5 Chu trình mô tả giải thuật di truyền 29
Hình 2.6 Lưu đồ giải thuật di truyền 31
Hình 3.1 Đồ thị mô tả giá trị hàm mục tiêu 37
Hình 3.2 Đồ thị hàm mục tiêu 41
Hình 4.1 Sơ đồ tổng quát của bài toán 60
Hình 4.1 Đánh giá thời gian thực thi 79
Hình 4.2 Đánh giá độ lệch của quần thể 81
Hình 4.3 Đánh giá sai số của cá thể tốt nhất trong quần thể 81
Hình 4.4 Đánh giá sai số của cá thể xấu nhất trong quần thể 82
Hình 4.5 Đánh giá sai số trung bình của quần thể 83
Hình 4.6 Đánh giá tổng sai số của quần thể 83
Hình 4.7 Đánh giá tổng bình phương sai số 84
Hình 4.8 Tỷ lệ sai số nồng độ đường giữa lý thuyết và thí nghiệm 86
Trang 11MỞ ĐẦU
Hiện nay, tại Việt Nam người tiêu dùng đã quen với một số thực phẩm được
bổ sung Fructooligosaccharides (FOS) như sữa bột Ensure, Nestle, Dielac, một số loại bánh (Kinh Đô, Bibica), kẹo… vì những đặc tính sinh học có lợi cho cơ thể con
người có khả năng cải thiện hệ vi sinh vật hữu ích trong đường ruột (Bifidobacteria, Lactobacilli), ít gây sâu răng, giảm lượng triglycerides trong máu, tăng khả năng
hấp thu canxi cho cơ thể,… nên có tác dụng tốt đối với trẻ em, người già, các bệnh nhân tiểu đường, béo phì, mỡ máu,… FOS được tổng hợp từ saccharose (GF) bằng phương pháp lên men với tác nhân là enzyme Fructosyltransferase (FTS), enzyme FTS gồm 11 thông số động học [3] Để chủ động điều khiển quá trình tổng hợp FOS bắt buộc phải xác định được các thông số động học của enzyme FTS, tuy nhiên những thông số này khó hoặc không thể xác định bằng phương pháp thí nghiệm trực tiếp [3], vì vậy việc ứng dụng công nghệ thông tin để xác định gián tiếp được các thông số động học enzyme FTS thông qua hệ phương trình vi phân là vấn đề thực
sự cần thiết, có ý nghĩa khoa học, có giá trị thực tiễn và tính xã hội cao
Giải thuật Meta - Heuristic ngày càng được ứng dụng rộng rãi để giải các bài toán tối ưu trong nhiều lĩnh vực khác nhau, từ khoa học tự nhiên đến khoa học xã hội, từ kỹ thuật đến thương mại và kinh tế tài chính, trong đó nổi bật nhất là ứng dụng tìm mô hình tối ưu cho vấn đề Gần đây, có nhiều nhà khoa học đã chứng minh được hiệu quả của việc ứng dụng giải thuật Meta – Heuristic trong nhiều lĩnh vực như thực phẩm, y khoa, sinh học, Vì vậy, trong luận văn này thực hiện việc nghiên cứu giải thuật Meta - Heuristic để ứng dụng xác định các thông số động học của enzyme FTS Mục tiêu nghiên cứu chính của luận văn gồm:
Đề xuất mô hình của bài toán xác định thông số động học của enzyme FTS để từ đó làm cơ sở thực thi quá trình tìm kiếm nghiệm tối ưu
Đề xuất giải thuật tìm kiếm thông số động học của ezyme FTS trên cơ sở giải thuật Meta – Heuristic
Nghiên cứu và phân tích sự phù hợp của giải thuật di truyền cho bài toán xác định các thông số động học của enzym FTS
Trang 12 Nghiên cứu các cải tiến cho giải thuật di truyền để phù hợp bài toán xác định các thông số động học của enzym FTS qua phương pháp mã hóa, giải mã dữ liệu đầu vào, đồng thời đề xuất phương pháp chọn lọc, lai ghép, đột biến để tạo ra quần thể mới
Xây dựng thực nghiệm đã xác định các thông số động học của enzyme FTS bằng phương pháp giải thuật di truyền
Đánh giá kết quả so với một số kết quả các công trình khác đã công bố.Trên cơ sở mục tiêu nghiên cứu, luận văn xác định các đối tượng cần phải nghiên cứu như sau:
Cấu trúc của một bài toán tối ưu: nhằm mô hình hóa các bài toán tối ưu trong các lĩnh vực để từ đó sử dụng các giải thuật phù hợp để giải quyết bài toán này
Các giải thuật Meta – Heuristic: Nghiên cứu cấu trúc chung của giải thuật Meta – Heuristic để từ đó làm cơ sở nghiên cứu các giải thuật cụ thể
Các giải thuật ACO (Ant Colony Optimization), EA (Envolutionary Algorithm), SA (Simulated Annealing), TS (Tabu Search), GA (Genetic Algorithm): Phân tích các giải thuật này nhằm chọn lựa một giải thuật
phù hợp để áp dụng cho bài toán xác định các thông số động học của enzym FTS
Các toán tử trong giải thuật GA: nhằm phân tích chi tiết giải thuật GA làm cơ sở cải tiến giải thuật để phù hợp cho bài toán xác định các thông
số động học enzym FTS
Nghiên cứu bài toán xác định thông số động học của enzym FTS: nhằm
mô hình hóa bài toán này trở thành bài toán tối ưu để giải quyết bằng thuật toán Meta – Heuristic
Nghiên cứu dữ liệu đầu vào và công cụ lập trình mô phỏng
Phạm vi nghiên cứu của luận văn giới hạn trong các giải thuật Meta – Heuristic gồm: ACO, SA, TS và GA Từ đó phân tích tính phù hợp của các giải thuật và chọn giải thuật để áp dụng cho bài toán xác định các thông số động học của
Trang 13enzym FTS Trên cơ sở này, luận văn đề xuất một số cải tiến cho giải thuật GA nhằm áp dụng hiệu quả cho bài toán xác định thông số động học Sau cùng, luận văn sẽ thực hiện ứng dụng thực nghiệm và đánh giá kết quả so với các phương pháp
đã công bố để minh chứng tính hiệu quả các cải tiến của giải thuật
Trang 14CHƯƠNG 1 TỔNG QUAN
1.1 Giới thiệu
Prebiotic là nguồn thức ăn cho các vi sinh vật sống hữu ích trong đường ruột vật chủ Nhờ có prebiotic mà vi sinh vật hữu ích có điều kiện phát triển mạnh mẽ hơn, do đó cải thiện hệ tiêu hóa cho vật chủ [3]
Các prebiotic được bổ sung nhiều vào thực phẩm là fructo-oligosaccharides (FOS), galacto-oligosaccharides (GOS), isomalto-oligosaccharides (IMO), inulin và oligosaccharides đậu nành Trong số đó, FOS được các nhà nghiên cứu đặc biệt quan tâm bởi chúng có nhiều hoạt tính sinh học tốt cho cơ thể của người, dễ thu nhận và phạm vi ứng dụng rộng rãi [3]
FOS được tổng hợp từ saccharose bằng phương pháp lên men với tác nhân là
vi sinh vật hoặc enzyme Phản ứng chuyển hóa saccharose thành FOS bằng enzyme Fructosyltransferase (FTS) rất phức tạp [3]
Cơ chế phản ứng chuyển hóa saccharose thành FOS bằng enzyme FTS gồm các phản ứng (từ 1.1 đến 1.4) và mô hình động học phản ứng chuyển hóa saccharose thành FOS bằng enzyme FTS dưới dạng hệ phương trình vi phân (từ 1.5 đến 1.10) [3][4]
Trang 15Mô hình động học đƣợc mô tả:
) ] [ 1 ( ] [
] [
504 2
342 )
] [ 1 ( ]
[
] [
2
2
igk mk
mk
igs ms
ms
K
G K
GF
GF V
K
G K
GF
GF V dt
] [
ms
K
G K
GF
GF V dt
GF V
].[
ign mn mn
igk mk
mk
igs ms
ms
K GF
GF V K
G K
GF
GF V K
G K
GF
GF V K
G K
GF
GF V dt
].[.666
504)][1(][
].[
.666.2
504)][1(][
].[
)][1(][
].[
3 2
2 2
(1.8)
mhn mhn
ign mn
mn
igk mk
mk
K GF
GF V
K
G K
GF
GF V
K
G K
GF
GF V dt
] [
) ] [ 1 ( ]
[
] [
) ] [ 1 ( ]
[
] [
504
.
2
666
3 3 3
3 2
2 3
(1.9)
) ] [ 1 ( ]
[
] [
666
ign mn
mn
K
G K
GF
GF V dt
, ,
igs igk ign
K K K là hằng số ức chế cạnh tranh của glucose với cơ chất là saccharose, kestose, nystose, tính bằng g/L
Trang 16, , ,
ms mk mn mhn
V V V V là tốc độ chuyển fructosyl tối đa với cơ chất là saccharose, kestose, nystose và tốc độ thủy phân tối đa (cơ chất là nystose), tính bằng g/L.h
+ Các giá trị 180, 342, 504, 666, 828 là khối lượng phân tử của glucose, saccharose, 1-kestose, nystose và fructofuranosyl nystose
+ Giá trị 342/(2.504) là hệ số chuyển đổi cho g saccharose tạo ra từ 1g kestose + Giá trị 180/(2.342) là hệ số chuyển đổi cho g glucose tạo ra từ 1g saccharose
+ Giá trị 180/666 là hệ số chuyển đổi cho g fructose tạo ra từ 1g nystose + Giá trị 504/(2.342) là hệ số chuyển đổi cho g kestose tạo ra từ 1g saccharose
+ Giá trị 504/(2.666) là hệ số chuyển đổi cho g kestose tạo ra từ 1g nystose (chuyển hóa)
+ Giá trị 504/666 là hệ số chuyển đổi cho g kestose tạo ra từ 1g nystose (thủy phân)
+ Giá trị 666/(2.504) là hệ số chuyển đổi cho g nystose tạo ra từ 1g kestose + Giá trị 828/(2.666) là hệ số chuyển đổi cho g fructofuranosyl nystose từ 1g nystose
Các nghiên cứu về động học phản ứng chuyển hóa saccharose thành FOS bằng enzyme FTS thường bao gồm hai phần:
Xác định điều kiện tối ưu (pH, nhiệt độ) và các thông số động học của enzyme (K , m K , i Vmax)
Xây dựng mô hình toán học mô tả quá trình chuyển hóa dựa vào cơ chế phản ứng và động học Michaelis – Menten
Thông thường, để xác định các thông số động học của enzyme như K m, K i,
max
V , phải tiến hành hàng loạt thí nghiệm trực tiếp và sử dụng phương pháp đồ thị Lineweaver – Burk Muốn dựng được các đồ thị Lineweaver – Burk có độ tin cậy cao, cần thăm dò, tìm các nồng độ enzyme và các nồng độ cơ chất thích hợp, tìm
Trang 17thời gian thích hợp để xác định tốc độ ban đầu của phản ứng enzyme, cũng như ảnh hưởng của thời gian trong quá trình phản ứng [3]
Trong một số trường hợp, ví dụ như đối với enzyme FTS thu nhận từ
Aspergillus flavipes, việc xác định 11 thông số động học của enzyme FTS (K ms , K mk ,
K mn , K igs , K igk , K ign , V ms , V mk , V mn , K mhn , V mhn) theo phương pháp này rất phức tạp và khó khăn Để giải quyết vấn đề này, luận văn đề xuất sử dụng giải thuật Meta - Heuristic nhằm xác định đồng thời 11 thông số động học của enzyme thông qua dữ liệu thực nghiệm thu được trong các thí nghiệm theo dõi ảnh hưởng của thời gian đến quá trình tổng hợp FOS trên cơ sở nồng độ các đường sản phẩm tạo thành trong quá trình chuyển hóa sẽ thay đổi theo 11 thông số động học phù hợp với hệ phương trình vi phân (từ 1.5 đến 1.10) Phương án này sẽ thay thế một vấn đề phức tạp (hàng loạt thí nghiệm xác định độc lập từng thông số động học enzyme rất khó khăn, có những thí nghiệm rất khó tiến hành chính xác) bằng 1 bài toán đơn giản hơn (chỉ tiến hành thí nghiệm đơn giản là theo dõi nồng độ các đường sản phẩm tạo thành,
và dùng giải thuật Meta - Heuristic để tìm đồng thời 11 thông số động học)
1.2 Các Công trình liên quan
Gần đây, có nhiều công trình đã được công bố về các giải thuật Meta – Heuristic như: Theo tài liệu [6], vào năm 2003, Christian Blum đã khảo sát tổng quan về bài toán tối ưu và khảo sát về các thuật toán Meta – Heuristic như giải thuật luyện kim SA, giải thuật tìm kiếm Tabu, Giải thuật đàn kiến ACO, giải thuật di truyền GA; Theo tài liệu [17], năm 2014, A Prakasam và cộng sự đã đựa một phương pháp giải quyết cho bài toán tối ưu bằng thuật giải ACO, kết quả thực nghiệm cho thấy sự hiệu quả của giải thuật; Theo như Stefka Fidanova (2013) đã phân tích sự phù hợp của giải thuật Meta – Heuristic gồm ACO và GA đồng thời đưa ra mô hình cho các bài toán tối ưu trong các lĩnh vực khác nhau như y sinh, hóa học,… [9]; Theo tài liệu [5], bài toán tối ưu tìm đường đi bằng giải thuật ACO cũng đã được giới thiệu bởi Z A Aziz vào năm 2015; Giải thuật ACO cũng đã được ứng dụng trong nhiều lĩnh vực khác nhau như khai phá dữ liệu, phân lớp dữ liệu, tính toán thông minh, máy học,… [2][7][13][15][19]; Trong lớp giải thuật tiến
Trang 18hóa, thuật giải luyện kim, giải thuật di truyền cũng đã được đề cập đến rất nhiều trong các công trình như [8][11][12][14][16][18][20] Theo tài liệu [8], năm 2015, Lee Jacobson và cộng sự đã sử dụng giải thuật di truyền ứng dụng trong các lĩnh vực tối ưu thời khóa biểu, tối ưu tìm kiếm đường đi, điểu khiển Robot; Năm 2015, Petra Snaselova và cộng sự đã giới thiệu giải thuật di truyền để giải quyết bài toán tối ưu [18], bên cạnh đó cũng có nhiều công trình đánh giá tính hiệu quả của giải thuật di truyền trong việc giải bài toán tối ưu cũng như đánh giá tính hiệu quả của
độ phức tạp tính toán [10][14][16],…
Ngoài ra, trong lĩnh vực thực phẩm, đã có các công trình nghiên cứu như: vào năm 2011, Abimbola M Enitan và cộng sụ đã sử dụng giải thuật tiến hóa để giải quyết bài toán trong xử lý thực phẩm; Năm 2013, tác giả L T Hồng Ánh đã nghiên cứu giải thuật luyện kim để xác định các thông số động học [4]; Theo tài liệu [3], tác giả L T Hồng Ánh đã phân tích và áp dụng giải thuật di truyền để áp dụng cho bài toán xác định thông số động học của enzym FTS Trên cơ sở này, tác giả L T Hồng Ánh đã thử nghiệm phương pháp ngẫu nhiên để giải quyết bài toán tối ưu trên Kết quả cho thấy giải thuật di truyền đã cho kết quả tốt hơn so với các phương pháp ngẫu nhiên, SA về mặt tốc độ hội tụ cũng như độ chính xác
1.3 Phân tích các công trình liên quan
Các công trình ngoài nước đã đề cập nhiều đến các thuật giải Meta – Heuristic để giải quyết cho các bài toán tối ưu trong nhiều lĩnh vực khác nhau Do
đó, việc áp dụng các giải thuật Meta – Heuristic để tìm kiếm giải pháp cho bài toán tối ưu là một cách tiếp cận tốt và rất khả thi Tuy nhiên, chưa có công trình ngoài nước đề cập việc xác định các thông số động học của enzym FTS, nên đây cũng là một thử thách cho luận văn
Các công trình trong nước đã đề cập đến bài toán này [3][4] Tuy nhiên, chưa
có một mô hình mã hóa các giá trị đầu vào cụ thể cũng như chưa cải tiến trong các phương pháp chọn lựa các cá thể trong quần thể Theo tài liệu [3], tác giả L T Hồng Ánh đã áp dụng giải thuật di truyền một các thuần túy, chưa nêu lên sự cải tiến của thuật toán để áp dụng cho bài toán xác định thông số động học
Trang 191.4 Các vấn đề luận văn tập trung nghiên cứu
Trên cơ sở các tồn tại của các công trình đã công bố, luận văn sẽ tiếp cận nghiên cứu các giải thuật Meta – Heuristic để từ đó áp dụng vào bài toán xác định các thông số động học Do đó, luận văn sẽ tập trung nghiên cứu những nội dung như sau:
Nghiên cứu các giải thuật Meta – Heuristic để giải quyết bài toán tối ưu trong các lĩnh vực khác nhau
Nghiên cứu bài toán xác định thông số động học của enzym FTS
Nghiên cứu mô hình giải quyết bài toán trên dựa trên giải thuật di truyền, đồng thời cải tiến quá trình mã hóa dữ liệu, cải tiến các phép toán chọn lọc, lai ghép, đột biến các cá thể trong quần thê
Đóng góp chính của luận văn này gồm ba phần chính như sau:
Phân tích chọn lựa giải thuật di truyền cho bài toán tìm các thông số động học của enzym FTS
Đề xuất một số cải tiến trong giải thuật di truyền;
Áp dụng giải thuật di truyền để giải quyết cho bài toán xác định các thông số động học của enzym FTS để từ đó giảm thời gian tài nguyên khi thực hiện tại phòng thí nghiệm
Nội dung của luận văn bao gồm 5 chương như sau:
Chương 1 - Tổng quan: trong chương này, luận văn sẽ khảo sát tổng quan
về các công trình liên quan đến các giải thuật Meta – Heuristic như tìm kiếm ACO, giải thuật luyện kim SA, giải thuật tìm kiếm Tabu, giải thuật di truyền GA Dựa trên các nội dung khảo sát này, trong chương này sẽ lần lượt phân tích các đặc điểm của các công trình đã công bố để từ đó đưa ra các ưu khuyết điểm, từ đó sẽ đánh giá tính khả thi của đề tài luận văn cũng như định hướng nghiên cứu cho luận văn Trên cơ
sở các định hướng nghiên cứu này, luận văn sẽ dần đi vào cụ thể từng đối tượng nghiên cứu cụ thể dựa trên phương pháp nghiên cứu lý thuyết và đánh giá kết quả thực nghiệm giữa luận văn và các công trình liên quan
Trang 20Chương 2 – Cơ sở lý thuyết: trong chương này, luận văn sẽ khảo sát tổng
quan về các giải thuật Meta – Heuristic và phân tích các đặc tính tổng quát của các giải thuật này để từ đó đưa ra sự phù hợp của việc giải bài toán tìm thông số động học của enzym FTS Nội dung của chương này cũng sẽ phân tích các giải thuật Meta – Heuristic và mô hình tổng quát của bài toán tối ưu Dựa trên kết quả phân tích này, luận văn sẽ định hướng chọn lựa một giải thuật để giải quyết bài toán đã đặt ra Do đó, trong Chương 2 sẽ lần lượt phân tích các giải thuật đàn kiến ACO, giải thuật luyện kim SA, giải thuật tìm kiếm Tabu TS, giải thuật di truyền GA Dựa trên các phân tích cụ thể này, luận văn sẽ đánh giá các ưu khuyết điểm của từng giải thuật để từ đó chọn giải thuật di truyền GA để giải quyết bài toán đã nêu Hơn nữa, trong chương này sẽ phân tích và khẳng định giải thuật di truyền là giải pháp chọn lựa phù hợp cho lớp bài toán dự đoán các thông số động học của enzym FTS trong lĩnh vực khoa học thực phẩm
Chương 3 – Giải thuật di truyền: trong chương này, luận văn sẽ phân tích
cụ thể và chi tiết về thuật giải thuật di truyền Vì vậy, trong chương 3 luận văn sẽ phân tích các tham số đầu vào, cách mã hóa và giải mã dữ liệu trong giải thuật di truyền Nhằm thể hiện rõ ràng vấn đề này, trong chương này sẽ thực hiện ví dụ cụ thể để mô tả rõ các thông số của giải thuật di truyền Bên cạnh đó, trong chương này
sẽ mô tả các toán tử cơ bản của thuật giải di truyền gồm toán tử chọn lọc, toán tử lai ghép, toán tử đột biến Trên cơ sở các nội dung này, trong Chương 3 sẽ đưa ra các phương pháp thực hiện mã hóa dữ liệu, đề xuất các cải tiến để thực hiện phép chọn lọc cá thể ngẫu nhiên, đề xuất cách lai ghép và đột biến để tạo ra quần thể mới Nhằm cụ thể hóa các đề xuất này, trong chương này sẽ thực thi một ví dụ cụ thể dựa trên giải thuật di truyền Từ các nội dung đã phân tích, trong chương này sẽ tiến hành thiết lập cài đặt các hàm chức năng chính để từ đó thực hiện ứng dụng cụ thể
Chương 4 – Phương pháp xác định thông số động học của enzym FTS:
trong chương này, luận văn sẽ phân tích bài toán xác định các thông số động học của enzym FTS, từ đó mô hình hóa bài toán này trở thành bài toán tối ưu để đễ dàng
áp dụng các giải thuật Meta – Heuristic để tìm kiếm lời giải Nội dung của Chương
Trang 214 sẽ phân tích cụ thể giải thuật di truyển để áp dụng một bài toán cụ thể Do đó, trong chương 4 sẽ ứng dụng các đề xuất tại chương 3 và đưa ra lưu đồ tổng quát để giải quyết bài toán này Các thông số đầu vào cũng như các bước thực thi cụ thể cho bài toán đã nêu cũng sẽ được phân tích cụ thể và thực thi trên các ví dụ cụ thể Bên cạnh đó, để tổng quan phương pháp giải quyết, trong chương này sẽ thực thi một ví
dụ cụ thể cho bài toán xác định thông số động học Trên cơ sở lý thuyết đã xây dựng, trong chương này sẽ mô tả và thực thi ứng dụng thực nghiệm dựa trên bộ số liệu mẫu bàn đầu từ các công trình khác đã công bố nhằm đánh giá kết quả của thuật toán cũng như so sánh tính hiệu quả của phương pháp đề xuất so với các công trình đã công bố
Chương 5 – Kết luận: trong chương này, luận văn nêu ra các kết luật về lý
thuyết cũng như thực nghiệm nhằm khẳng định sự đúng đắn của phương pháp Bên cạnh đó sẽ nêu lên tính hiệu quả của phương pháp đề xuất so với các công trình khác đã công bố Mặt khác, trong chương này sẽ nêu ra các hạn chế để từ đó đưa ra những định hướng phát triển tiếp trong tương lai
1.5 Tổng kết chương
Trong chương này, luận văn đã nêu tổng quan cũng như nhu cầu cần thiết trong xã hội về bài toán xác định thông số động học của enzym FTS Bên cạnh đó, trong chương này đã khảo sát các công trình đã nghiên cứu gần đây, từ đó cho thấy vấn đề nghiên cứu của luận văn rất khả thi và có nhiều cơ sở khoa học Trên cơ sở này, luận văn đã phân tích các vấn đề tồn tại của các công trình đã công bố và xác định được các đối tượng, mục tiêu cũng như phạm vi cần nghiên cứu Vì vậy, trong chương này đã định hướng nội dung các chương cần nghiên cứu để giải quyết bài toán đã nêu nhằm giúp cho quá trình thực nghiệm trong lĩnh vực khoa học thực phẩm tiết kiệm thời gian cũng như tránh lãng phí nhiều tài nguyên khác
Trang 22CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
bố và ứng dụng hiệu quả như giải thuật ACO (Ant Colony Optimization), EA (Envolutionary Algorithm), SA (Simulated Annealing), TS (Tabu Search), GA (Genetic Algorithm),… [6][10] Trong chương này, luận văn sẽ tiếp cận các khái
niệm tổng quan về giải thuật Meta - Heuristic, từ đó phân tích các giải thuật Meta – Heuristic như giải thuật ACO, SA, TS, GA Dựa trên các phân tích này, luận văn chọn lựa giải thuật phù hợp cho bài toán xác định thông số động học của enzyme FTS
2.2 Tổng quan về giải thuật Meta - Heuristic
Giải thuật Meta - Heuristic thường giải quyết dưới dạng các bài toán tối ưu
Trong bài toán này thực hiện cực tiểu hóa hoặc cực đại hóa hàm mục tiêu (cost function) Trong bài toán tối ưu được bổ sung các ràng buộc, do đó nghiệm của bài
toán này phải thỏa mãn tất cả những ràng buộc Theo như tài liệu [6] giải thuật Meta
- Heuristic là sự kết hợp giữa các phương pháp Heuristic cơ bản để từ đó tạo ra phương pháp hiệu quả nhằm giải quyết bài toán khai phá trên không gian tìm kiếm lớn Thuật ngữ Meta - Heuristic được giới thiệu lần đầu tiên vào năm 1986 bởi Glover, trong đó tiền tố “Meta” có nghĩa là tìm kiếm ở mức cao Thuật ngữ này cũng có thể viết dưới dạng Modern Heuristic
Các giải thuật thuộc về phân lớp giải thuật Meta - Heuristic bao gồm giải
thuật đàn kiến ACO (Ant Colony Optimization), tính toán tiến hóa EC (Evolution Computation) gồm giải thuật di truyền GA (Genetic Algorithm), giải thuật tìm kiếm
Trang 23cục bộ ILS (Iterated Local Search), giải thuật luyện kim SA (Simulated Annealing), giải thuật tìm kiếm TS (Tabu Search)
Theo như Osman và Laporte, Meta - Heuristic là một quá trình lặp nhiều lần
để tạo ra các thế hệ bằng việc kết hợp các khái niệm tri thức để khám phá và khai thác trên không gian tìm kiếm Quá trình học của giải thuật Meta - Heuristic được dùng để tìm ra các giải pháp gần tối ưu Bên cạnh đó có nhiều định nghĩa về giải thuật Meta – Heuristic Tuy nhiên, tựu trung lại các tính chất của Meta - Heuristic như sau:
Meta - Heuristic là các chiến lược để hướng dẫn trong quá trình tìm kiếm
Mục tiêu của giải thuật Meta - Heuristic là khai phá hiệu quả không gian tìm kiếm để tìm ra giải pháp tối ưu hoặc gần tối ưu
Các kỹ thuật cấu thành giải thuật Meta - Heuristic trải dài từ các thủ tục tìm kiếm cục bộ cơ bản đến các quá trình học phức tạp
Giải thuật Meta - Heuristic là phương pháp xấp xỉ để tìm kiếm mục tiêu
Các giải thuật Meta - Heuristic có thể kết hợp nhiều cơ chế để tránh bị cục
bộ địa phương trong không gian tìm kiếm
Tóm lại, giải thuật Meta - Heuristic là các chiến lược cấp cao để khai phá trong không gian tìm kiếm bằng cách sử dụng nhiều phương pháp khác nhau Theo như [6], giải thuật Meta - Heuristic giải quyết bài toán tối ưu P( , )S f gồm:
Một tập các biến X { , ,x1 x n}
Một tập các miền xác định {D1, ,D n}
Một tập các ràng buộc giữa các biến
Một hàm mục tiêu f D: 1 Dn Rđể cực tiểu hóa hoặc cực đại hóa
Một tập khả dĩ S gồm tất cả các ràng buộc là không gian tìm kiếm mà mỗi
thành phần là một ứng viên tìm kiếm được định nghĩa như sau:
Trang 24là giải pháp tối ưu toàn cục của bài toán P( , )S f và tập S* S được gọi là tập các giải pháp tối ưu toàn cục
Trong luận văn thực hiện việc tìm kiếm một bộ các giá trị thông số động học dựa trên các ràng buộc là một hệ phương trình vi phân [3][4] Hàm mục tiêu để tìm kiếm bộ thông số này là cực tiểu hóa khoảng cách giữa các giá trị các thông số thỏa
hệ phương trình vi phân và các giá trị theo thực nghiệm Tức là theo giá trị thực nghiệm ta có một bộ thông số động học là (K1, K n) Dựa vào hệ phương trình vi phân, ta sẽ tìm ra một bộ thông số động học (K1, K n) sao cho tối ưu hàm mục tiêu
min{|| ||, ( , , m), ( , , m)}
f XX X X X X X X , với X và X là nghiệm của
hệ phương trình vi phân lần lượt tương ứng với các bộ thông số động học (K1, K n)
và (K1, K n)
Dựa vào cấu trúc bài toán xác định thông số động học như trên, dễ dàng thấy rằng giải thuật Meta - Heuristic là một phương pháp phù hợp để giải quyết bài toán này Tuy nhiên có nhiều dạng giải thuật Meta - Heuristic đã được trình bày như trên Do đó, trong luận văn cần phải phân tích các giải thuật Meta - Heuristic nhằm chọn lựa một giải thuật phù hợp cho bài toán xác định thông số động học Vì vậy, phần tiếp theo sẽ khảo sát lần lượt từng giải thuật thuộc phân lớp Meta – Heuristic
2.3 Giải thuật đàn kiến – ACO
2.3.1 Giới thiệu giải thuật ACO
Giải thuật ACO là giải thuật tìm kiếm dạng Meta - Heuristic và là phương pháp tối ưu dựa trên tính chất tự nhiên của đàn kiến khi tìm kiếm thức ăn [2] Giải thuật đàn kiến được sử dụng rộng rãi trong nhiều bài toán tối ưu [2][5][13] Ý tưởng
cơ bản của giải thuật ACO đó là sự hợp tác thông minh có yếu tố bầy đàn để tìm đường đi tốt nhất trên đồ thị để tìm mục tiêu Phương pháp phối hợp của đàn kiến là một cách hợp tác tự nhiên để tìm đường đi ngắn nhất giữa hai điểm trên một địa hình cho trước nhằm tìm nguồn thức ăn gần nhất Khi một thành viên của đàn kiến tìm được một hướng giải quyết (tìm được đường đi đến nguồn thức ăn), thì nó sẽ quay về theo đường cũ vì trong quá trình di chuyển đã tạo ra một lượng pheromone
Trang 25trên đường đi [2] Bên cạnh đó, khi quá trình di chuyển ngược về, con kiến lại tiếp tục tạo thêm một lượng pheromone trên đường đi đó Do đó trên con đường này sẽ tạo thành một đường mòn được chỉ dẫn bởi lượng pheromone Trong phương pháp tìm kiếm này, mỗi một thành viên của đàn kiến xem như một toán tử liên lạc (agent) dựa trên môi trường tìm kiếm (lần theo dấu vết của pheromone) để tìm ra một phương án giải quyết cho bài toán
Hình 2.1 Mô tả định hướng đường đi của đàn kiến 2.3.2 Một số tính chất tự nhiên liên quan đến giải thuật ACO
Tính tự tổ chức (self - organization): tính chất này được mô tả trong nhiều
ngành khoa học khác nhau đặc biệt là vật lý và sinh học Vào năm 2000, Camazine
và cộng sự đã định nghĩa tính tự tổ chức là quá trình tự tạo ra một mẫu (pattern) tổng thể cho một hệ thống (emerging) dựa trên sự tương tác giữa các thành phần
mức thấp của hệ thống Ngoài ra, các quy luật xác định sự tương tác giữa các thành phần mức thấp này được thực thi qua các thông tin cục bộ (tức là không liên quan đến mẫu toàn cục) Quá trình tương tác cục bộ được xử lý dựa trên các phản hồi
(feedback) vào sự quản lý dòng thông tin liên lạc Các hệ thống tự tổ chức này là
hữu dụng đối với mỗi một hệ thống dựa trên các mẫu tổng thể Dựa trên tính chất này, đàn kiến có thể tạo ra sự phân cấp trong hệ thống và có thể tìm kiếm thông tin trực tiếp hoặc không trực tiếp
Trang 26Tính truyền thông gián tiếp (stigmergy): Đây là một thuộc tính cơ bản để tạo
ra phương thức tìm kiếm của đàn kiến dạng Meta - Heuristic Thuộc tính này là một dạng cơ bản của quá trình thông tin liên lạc gián tiếp bằng cách định nghĩa môi trường tìm kiếm của đàn kiến qua pheromone
Ngoài ra, theo như Wilson và Holdobler, giải thuật ACO có liên quan đến
một số tính chất hữu dụng khác như tính tự phân cấp (decentralized control) và tính
xã hội hóa (dense heterachy)
2.3.3 Giải thuật ACO cơ bản
Trong giải thuật ACO tại mỗi bước lặp t ( 1 t tmax), mỗi một con kiến k
(k 1 m ) sẽ đi qua đồ thị và tạo ra một đường đi đầy đủ của n giai đoạn
(n |N|); với mỗi một con kiến, đường đi từ đỉnh i đến đỉnh j trong đồ thị phụ
thuộc vào các điều sau đây:
(1) Danh sách J gồm các đỉnh đã đi qua khi một con kiến k đang ở tại điểm i i k (2) Nghịch đảo khoảng cách giữa hai đỉnh i và j được gọi là tầm nhìn
(visibility): 1
ij ij d
Thông tin này được sử dụng để mỗi con kiến định hướng được
đỉnh kế tiếp và tránh chọn các đỉnh quá xa
(3) Định lượng giá trị pheromone trên cạnh (cung) kết nối hai đỉnh Giá trị
này được gọi là cường độ đường mòn (intensity of the trail) Tham số này định
nghĩa sức hút của các đỉnh trên đường đi tổng thể và có thể được thay đổi với mỗi lần đi qua của mỗi con kiến Quá trình thay đổi này được thực hiện trong pha huấn luyện của hệ thống Theo như Bonabeau, quy tắc dịch chuyển ngẫu nhiên được định nghĩa như sau:
( ( )) ( )( ( )) ( )0
k i
i k
il il
ij l J
k i
t
if j J t
Trang 27Trong đó , lần lượt là hai tham số điều khiển của cường độ đường mòn ( )
ij t
và tầm nhìn ij Nếu 0 thì chỉ có giá trị tầm nhìn của các đỉnh được xem xét Ngược lại, nếu 0 thì chỉ có cường độ pheromone của đường mòn được xem xét Sau khi có một đường đi đầy đủ, mỗi con kiến trong đàn để lại một lượng pheromone ij k( )t trên toàn bộ đường đi Khối lượng này phụ thuộc vào chất lượng của mục tiêu đã được tìm thấy
( , ) ( )( )
( )
0 ( , ) ( )
k k
L là chiều dài của quãng đường, Q là một tham số cố định
Trong giải thuật ACO cần phải có một tham số bay hơi (evaporation) của
cường độ pheromone trên đường mòn Tham số này có thể giúp cho hệ thống bỏ qua những mục tiêu không tốt Do đó trong mỗi bước lặp cần cập nhật lại cường độ của pheromone trên đường mòn như sau:
, m là số lượng kiến trong đàn Giá trị pheromone
khởi tạo đồng nhất trên các cạnh bằng một giá trị nhỏ 0 0, 0 1
Giải thuật ACO cơ bản để tìm mục tiêu có thể được mã hóa như sau:
Thuật toán: ACO-traveling
Input: Đồ thị (không gian tìm kiếm)
Output: Các mục tiêu tìm kiếm
Trang 28For ( i S , với S là tập đỉnh chưa đi qua) do
trên toàn bộ đường đi ( )
Trang 29Hình 2.2 Lưu đồ thuật toán ACO cơ bản
2.3.4 Giải thuật ACS (Ant Colony System)
Giải thuật ACS là một phát triển của giải thuật ACO được giới thiệu vào năm
1997 bởi Dorigo và Gambardella Trong giải thuật ACS giới thiệu các phương pháp chọn lựa các tham số của giải thuật ACO như sau:
(1) Quy tắc di chuyển phải phụ thuộc vào tham số q (0 0q0 1) Một con
kiến k tại đỉnh i sẽ chọn đỉnh j theo nguyên tắc như sau:
Trang 30( ( )) ( )
k i
(3) Hệ thống sử dụng một danh sách các ứng viên Danh sách này lưu các
đỉnh láng giềng v gần nhất (được phân loại theo khoảng cách tăng dần) Một con
kiến sẽ xét một cạnh đi đến những đỉnh trong danh sách này chỉ khi đỉnh này đã được đi qua Trong trường hợp đặc biệt, nếu tất cả các cạnh đều được đi qua thì việc lựa chọn sẽ thực hiện theo quy tắc (2.5), trong trường hợp không có đỉnh đã đi qua thì chọn đỉnh gần nhất Ngoài ra có nhiều cải tiến của giải thuật ACO như ACS & 3-opt của Dorigo và Gambardella, Max-Min Ant System của Stutzle và Hoos Trong luận văn không đi sâu vào các cải tiến này, chỉ khảo sát giải thuật ACO cơ bản và các cải tiến quan trọng
2.3.5 Đánh giá tổng quan giải thuật ACO
Giải thuật ACO là một phương pháp giải bài toán tìm kiếm mục tiêu theo phương pháp Meta – Heuristic Trong giải thuật này có nhiều ứng dụng trên nhiều lĩnh vực khác nhau Giải thuật ACO đã được chứng minh hội tụ về một giá trị cụ thể [5][7][13] Tuy nhiên, quá trình tìm kiếm mục tiêu có thể tốn kém nhiều thời gian bởi không gian tìm kiếm có thể bị tăng trưởng rất lớn Vì quá trình tìm kiếm gián
Trang 31tiếp dựa trên pheromone của đàn kiến, nên tại mỗi đỉnh sẽ tiêu tốn thời gian tìm kiếm các đỉnh láng giềng phát sinh Do đó, nếu đàn kiến quá đông thì sẽ dẫn đến không gian tìm kiếm mỗi lúc một lớn theo thời gian Hơn nữa, trong quá trình thực hiện giải thuật ACO cần phải thực hiện quá trình “bay hơi”, nên có thể bỏ qua các mục tiêu quan trọng trong một số bài toán cụ thể Vì vậy, đối với bài toán xác định các thông số động học của Enzyme FTS cần phải có một giải thuật phù hợp hơn Trong phần tiếp theo, luận văn sẽ khảo sát giải thuật SA và phân tích sự phù hợp để giải quyết bài toán này
2.4 Giải thuật luyện kim - SA
2.4.1 Giới thiệu
Giải thuật SA đã được chứng minh hiệu quả trong nhiều lĩnh vực như thiết
kế mạch điện, xử lý ảnh và bài toán gom rác cho các hộ gia đình hoặc tổ chức xử lý
dữ liệu trên mạng… [13][20] Giải thuật SA giải quyết các bài toán tối ưu dựa trên
phương pháp tham lam (greedy) bằng nhiều dạng Heuristic Giải thuật SA là một
trong những giải thuật lâu đời nhất của nhóm giải thuật Meta – Heuristic [6]
Giải thuật SA là mô phỏng quá trình luyện kim thông thường, trong đó tinh thể thép được nung nóng và sau đó được cho phép làm nguội rất chậm cho tới khi
nó đạt được cấu hình tinh thể cứng nhất, nếu quá trình làm nguội đủ chậm, kết quả cuối cùng sẽ là kim loại với cấu trúc rất tốt [6][17][20] Giải thuật áp dụng cho bài toán tối ưu tổ hợp với mỗi lần lặp, hàm mục tiêu được xem xét cho 2 lời giải, lời giải hiện tại và lời giải mới, chúng được so sánh với nhau và nếu lời giải mới tốt hơn nó sẽ luôn luôn được chọn, ngược lại nếu hàm mục tiêu của lời giải mới không tốt hơn, nó vẫn có khả năng được chấp nhận trong hy vọng thoát ra khỏi cực trị địa phương để tìm kiếm cực trị toàn cục, xác suất chấp nhận lời giải kém hơn tùy thuộc vào tham số nhiệt độ, tham số này sẽ giảm dần khi các lần lặp tiếp diễn, khi nhiệt độ giảm xuống tới gần 0, quá trình này sẽ ít xảy ra hơn và phân bố lời giải sẽ có nhiều khả năng hội tụ đến cực trị toàn cục một cách nhanh chóng [4]
Trang 322.4.2 Giải thuật SA
Ý tưởng cơ bản là cho phép dịch chuyển kết quả để vượt qua các giá trị tối
ưu cục bộ [6] Giải thuật bắt đầu bằng việc khởi tạo một giải pháp ban đầu (có thể
sử dụng ngẫu nhiên hoặc chọn bằng một phương pháp Heuristic nào đó), đồng thời
khởi tạo một tham số nhiệt độ T Sau đó tại mỗi bước lặp, giải pháp sN s( ) được chọn ngẫu nhiên và được chấp nhận là một giải pháp mới phụ thuộc vào hàm ( ), (s )
f s f và tham số nhiệt độ T Trong bài toán tìm cực đại (maximin), giá trị s
sẽ được thay thế bởi giá trị s nếu như f s( ) f s( ) hoặc nếu trong trường hợp ( ) ( )
f s f s thì giá trị s thay thế giá trị s ứng với một giá trị xác suất Hàm xác
suất này là một hàm phân bố Boltzmann exp( f s( ) f s( ))
T
[4][6][20]
Giá trị nhiệt độ T được giảm trong suốt quá trình tìm kiếm, vì vậy tại thời
điểm bắt đầu của quá trình tìm kiếm giá trị này được khởi tạo một giá trị nhiệt độ cao Và sau đó giá trị này được giảm dần dần theo các bước lặp của giải thuật Quá trình này giống như quá trình luyện kim Giải thuật SA là sự kết hợp của hai chiến lược bao gồm thực hiện ngẫu nhiên và quá trình lặp Việc chọn lựa một lịch trình làm lạnh phù hợp là một công việc quan trọng để tăng hiệu suất của giải thuật Lịch
trình làm lạnh được định nghĩa qua giá trị nhiệt độ T tại mỗi bước lặp thứ k , nghĩa
là T k1Q T k( , )k , với ( , )Q T k là một hàm số phụ thuộc vào giá trị nhiệt độ Giải k
thuật SA ứng với cực đại hàm mục tiêu được viết dưới dạng mã giả như sau: [6][20]
Thuật toán: Simulated_Anneaning
Input: Không gian tìm kiếm
Output: Mục tiêu tìm kiếm
begin
strạng thái ban đầu nào đó;
T nhiệt độ ban đầu;
repeat
s trạng thái được chọn ngẫu nhiên trong lân cận s;
if f s( ) f s( ) then s s
Trang 33Giải thuật SA đƣợc khởi tạo ban đầu bằng các giá trị ngẫu nhiên, sau đó thực
hiện quá trình lặp dựa trên lịch trình làm lạnh nhiệt độ ban đầu theo hàm Q(T, t) Do
Trang 34đó, thời gian tính toán của giải thuật này phụ thuộc vào góc độ giảm nhiệt độ T, hay
nói cách khác phụ thuộc vào kết quả của hàm Q(T, t)
Nếu nhiệt độ ban đầu được khởi tạo là một giá trị không đủ lớn và vận tốc giảm nhiệt độ nhanh thì bài toán có thể không hội tụ về nghiệm mong muốn Hoặc nếu tốc độ giảm nhiệt độ quá nhỏ thì quá trình luyện kim này có thể tiêu tốn rất nhiều thời gian Hơn nữa, quá trình luyện kim của giải thuật này dừng lại khi giá trị nhiệt độ ban đầu đủ nhỏ hoặc theo một lịch trình luyện kim cho trước vẫn không đảm bảo tìm ra được giá trị nghiệm mong muốn Do đó, đối với giải thuật luyện kim vẫn không là một giải pháp tốt để thực hiện việc dự đoán kết quả đối với bài toán tối
ưu Ngoài ra, trong giải thuật SA sẽ xảy ra trường hợp giải pháp dự đoán lần kế tiếp không tốt bằng giải pháp hiện tại, tuy nhiên giải pháp mới này có thể thay thế giải pháp hiện tại Điều này có thể giúp giải thuật tránh các giá trị cục bộ địa phương Tuy nhiên, đối với các hàm mục tiêu là đơn điệu thì quá trình này làm chậm tiến trình tìm kiếm lời giải
Đối với bài toán xác định các thông số động học của enzyme FTS, hàm mục tiêu là độ đo khoảng cách giữa một giải pháp dự đoán và giải pháp thực nghiệm Do
đó, khoảng cách này càng nhỏ thì kết quả dự đoán càng có giá trị Vì vậy, nếu quá trình dự đoán là tốt chỉ khi hàm mục tiêu này đơn điệu giảm, trong trường hợp này giải thuật luyện kim không phải là một giải pháp tốt để dự đoán các thông số động học Vì vậy, luận văn sẽ tiếp tục nghiên cứu các giải thuật Meta - Heuristic tiếp theo
để tìm được phương pháp phù hợp nhằm dự đoán các thông số động học này
2.5 Giải thuật tìm kiếm Tabu - TS
2.5.1 Giới thiệu
Phương pháp tìm kiếm TS (Tabu Search) đã được giới thiệu từ năm 1986 bởi
F Glover Trong giải thuật này thực hiện dựa trên lịch sử quá trình tìm kiếm và phương pháp thoát khỏi cực trị địa phương cũng như thực thi một chiến lược khai phá [6] Trong giải thuật TS cơ bản được ứng dụng tốt nhất đối với quá trình tìm kiếm cục bộ, đồng thời sử dụng một bộ nhớ để tránh các giá trị cục bộ địa phương
Bộ nhớ này được gọi là danh sách Tabu mà lưu trữ các giải pháp đã được duyệt qua
Trang 35để không lặp lại các giải pháp này trong quá trình tìm kiếm Các giá trị láng giềng của giải pháp hiện hành không được thuộc về danh sách Tabu [6][9]
Tại mỗi lần lặp, giải pháp tốt nhất trong một tập cho phép AS (Allowed Set)
được chọn lựa để tạo thành giải pháp hiện hành Ngoài ra, giải pháp này được thêm vào danh sách Tabu [6] Giải thuật dừng khi gặp một điều kiện kết thúc, nghĩa là tập cho phép AS là rỗng, tức là mọi giải pháp của bài toán bị cấm bởi danh sách Tabu Việc sử dụng danh sách Tabu ngăn ngừa các giải pháp đã được xem xét, vì vậy ngăn chặn việc lặp vô tận và tìm kiếm giá trị tốt hơn Chiều dài của danh sách Tabu phụ thuộc vào bộ nhớ của quá trình tìm kiếm [6] Với một danh sách Tabu nhỏ, quá trình tìm kiếm tập trung trên một vùng nhỏ của không gian tìm kiếm, ngược lại nếu danh sách Tabu lớn, bắt buộc quá trình tìm kiếm khai phá trên miền lớn hơn Danh sách Tabu có thể được thay đổi trong quá trình tìm kiếm, từ đó sẽ tạo ra một số thuật toán tìm kiếm hiệu quả đã được giới thiệu bởi Taillard, Battiti, Protasi,… [6]
2.5.2 Giải thuật TS
Trong giải thuật tìm kiếm TS dựa trên ý tưởng của lịch sử quá trình tìm kiếm nhằm hoạch định không gian tìm kiếm Danh sách Tabu được sưu tập trong suốt quá trình tìm kiếm và đồng thời tái sử dụng trong quá trình thực thi giải thuật Quá
trình này dựa trên bốn khái niệm: tính chất mới xảy ra (recency), tần số (frequency), chất lượng (quality), sự ảnh hưởng (influence) [6] Tính chất recency dựa trên bộ
nhớ lưu trữ cho mỗi giải pháp ứng với các lần lặp gần nhất Tần số tức là số lần lặp của các giải pháp mà đã được duyệt qua Thông tin này xác định một tập các không gian lời giải sao cho quá trình tìm kiếm diễn ra được thuận lợi hơn Khái niệm thứ
ba tham chiếu đến việc tích lũy và khai thác thông tin từ lịch sử tìm kiếm để xác định một giải pháp tốt Cuối cùng, khái niệm sự ảnh hưởng là một tính chất liên quan đến việc chọn lựa được tạo ra trong suốt quá trình tìm kiếm để từ đó đưa ra điều kiện tốt nhất [6] Dựa trên các ý tưởng này, giải thuật TS được mã hóa như sau:
Thuật toán: Tabu_Search
Input: Không gian tìm kiếm
Output: Mục tiêu tìm kiếm
Trang 36begin
Khởi tạo một giải pháp s ban đầu; Khởi tạo danh sách Tabu;
k 0;
while (chưa gặp điều kiện dừng) do
AllowedSet(s,k) {s’ N(s) | s không xâm phạm điều kiện danh sách Tabu hoặc thỏa mãn ít nhất một điều kiện ưu tiên};
Chọn giải pháp tốt nhất s’ AllowedSet(s,k); s s’;
Cập nhật danh sách Tabu; Cập nhật các điều kiện ưu tiên;
k k+1;
end while end;
Hình 2.4 Lưu đồ thuật toán TS 2.5.3 Đánh giá tổng quan giải thuật TS
Quá trình thực hiện tìm kiếm bằng giải thuật TS dựa vào danh sách Tabu để loại trừ các khả năng đã đi qua sẽ không phù hợp cho các bài toán có không gian
Trang 37tìm kiếm lớn Giải thuật có thể sẽ thực hiện việc lặp lại nhiều nếu không gặp được điều kiện dừng, tức là chưa tìm được giải pháp gần đúng Trong mỗi lần lặp giải thuật xây dựng một tập các giải pháp khả dĩ từ không gian tìm kiếm, do đó trong trường hợp xấu nhất độ phức tạp tính toán của giải thuật này sẽ là 3
( )
O N Hơn nữa, nếu không gian tìm kiếm của bài toán là lớn thì danh sách Tabu được cập nhật rất lớn, điều này tạo ra sự tốn kém tài nguyên thực thi về bộ nhớ Ngoài ra, trong quá trình thực hiện giải thuật này sẽ tạo ra một danh sách các ứng viên phù hợp trong số tất cả các ứng viên của không gian bộ nhớ Do đó, nếu bài toán có quá nhiều ứng viên thì danh sách này được chọn dựa trên phương pháp ngẫu nhiên và tham lam và
có thể dẫn đến quá trình tìm kiếm trên một vùng cục bộ
Trong bài toán xác định các thông số động học mỗi bước tìm kiếm có thể phát sinh ra rất nhiều giải pháp khác nhau bởi không gian tìm kiếm quá lớn Do đó phương pháp tìm kiếm TS sẽ trở lên tốn kém quá nhiều tài nguyên Bên cạnh đó, nếu không gian tìm kiếm quá lớn thì việc duyệt các giải pháp để tạo ra một danh sách khả dĩ các giải pháp gần nhất sẽ tạo ra độ phức tạp thuật toán quá lớn Tuy nhiên, nếu áp dụng phương pháp tham lam để xác định danh sách này sẽ dẫn đến sai sót trong quá trình dự đoán nghiệm
Theo phân tích như trên, giải thuật TS vẫn chưa phải là giải pháp tốt để giải quyết bài toán dự đoán các thông số động học dựa trên các ràng buộc qua hệ phương trình vi phân bởi miền giá trị của mỗi thông số là một số thực tùy ý trong một đoạn giá trị xác định, tức là miền giá trị của các thông số này sẽ chứa rất nhiều giá trị khả dĩ để trở thành một nghiệm của hệ phương trình Do đó điều này cũng dấn đến số lượng danh sách Tabu cũng như danh sách AS trở lên lớn, từ đó việc kiểm tra điều kiện loại trừ cũng như việc chọn lựa ứng viên trở lên phức tạp
Trong phần tiếp theo của luận văn sẽ khảo sát tổng quan về giải thuật di truyền để từ đó phân tích sự phù hợp nhằm áp dụng cho bài toán xác định các thông
số động học của enzyme FTS
Trang 382.6 Giải thuật di truyền - GA
2.6.1 Giới thiệu
Năm 1975, Giáo sư John Holland đã ứng dụng các nguyên lý tiến hóa tự nhiên của Darwin để giải quyết bài toán tối ưu và xây dựng giải thuật di truyền đầu tiên Cho tới ngày nay, giải thuật di truyền là một công cụ mạnh mẽ để giải quyết các bài toán tìm kiếm và các bài toán tối ưu như bài toán lập lịch, bài toán xếp thời khóa biểu, Giải thuật di truyền dựa trên nguyên lý về di truyền học và lý thuyết tiến hóa để từ đó xây dựng một phương pháp Heuristic dựa trên quá trình “đấu tranh sinh tồn” [8][18]
Giải thuật di truyền thực hiện việc tìm kiếm lời giải tốt nhất trong số các lời giải khả dĩ thuộc không gian tìm kiếm Giải thuật này đưa ra hai đặc tính quan
trọng Đặc tính thứ nhất đó là giải thuật mang tính chất ngẫu nhiên (stochastic), đặc
tính này là một vai trò căn bản trong giải thuật di truyền và được ứng dụng trên các
thao tác chọn lọc (selection) và lai ghép (reproduction) Đặc tính quan trọng kế tiếp
đó là luôn xem xét tính phổ biến (population) của giải pháp [11][14] Trong giải
thuật di truyền tổ hợp các giải pháp khác nhau để tạo ra nhiều giải pháp tốt hơn và
vì vậy giải thuật di truyền sẽ cho kết quả tốt nếu được áp dụng trên các bài toán phù hợp [10]
2.6.2 Giải thuật GA
Giải thuật di truyền là một phương pháp giải quyết bài toán sử dụng mô hình
di truyền học [14] Đây là kỹ thuật tìm kiếm để tìm ra giải pháp xấp xỉ để tối ưu trong bài toán tìm kiếm Đối với giải thuật di truyền, mỗi giải pháp được mô tả như
là một nhiễm sắc thể (chromosome) [18] Do đó trong pha đầu tiên của giải thuật di
truyền cần phải mã hóa các giải pháp khả dĩ trở thành một nhiễm sắc thể, bên cạnh
đó cần phải xác định một tập các toán tử lai ghép (sinh sản) để ứng dụng trực tiếp
trên các nhiễm sắc thể cũng như thực hiện quá trình đột biến (mutation) và tổ hợp (recombination) lại các giải pháp của bài toán [8][11]
Việc chọn lọc cá thể là một thao tác quan trọng trong giải thuật di truyền, quá trình này được thực hiện bằng cách so sánh mỗi cá thể trong quần thể và được sử
Trang 39dụng bằng một hàm thích nghi (fitness function) Vì vậy, mỗi nhiễm sắc thể được
kết hợp với một giá trị tương ứng với hàm thích nghi Giải pháp tốt nhất được tìm thấy khi hàm thích nghi tối ưu (cực đại hóa hoặc cực tiểu hóa) [8]
Hình 2.5 Chu trình mô tả giải thuật di truyền [8][11]
Cấu trúc cơ bản của giải thuật di truyền dựa trên quá trình lai ghép và hàm thích nghi Giải thuật này được bắt đầu bằng việc tạo ra một quần thể ban đầu của các nhiễm sắc thể Thông thường, quần thể ban đầu được tạo ra một cách ngẫu nhiên Sau đó giải thuật di truyền thực hiện quá trình lặp để tạo ra các quần thể kế tiếp Mỗi bước lặp của giải thuật di truyền được thực hiện như sau: [8]
Chọn lọc (selection): Đây là bước đầu tiên để chọn lựa các cá thể để lai
ghép Trong bước này được thực hiện một cách ngẫu nhiên ứng với một xác suất dựa trên mối quan hệ thích nghi của các cá thể, vì vậy các cá thể tốt nhất thường được chọn để thực hiện quá trình lai ghép
Lai ghép (reproduction): Đây là bước thứ hai trong giải thuật di truyền,
khi đó các thế hệ tiếp theo (offspring) được tạo ra bằng việc chọn các cá
thể Để tạo ra các nhiễm sắc thể mới, giải thuật có thể sử dụng cả hai toán
tử gồm quá trình tổ hợp và đột biến
Đánh giá (evaluation): Trong bước này đánh giá giá trị của hàm thích nghi
đối với các nhiễm sắc thể mới
Trang 40 Thay thế (replacement): Trong suốt bước cuối cùng này các cá thể trong
quần thể trước đó bị loại bỏ và được thay thế bởi các cá thể mới
Giải thuật di truyền được dừng lại khi quần thể hội tụ về một giải pháp tối
ưu Dựa trên lý thuyết đã có, giải thuật di truyền được mã hóa như sau: [8][14][18]
Thuật toán: Genetic Algorithm
Input: Không gian tìm kiếm
Output: Mục tiêu tìm kiếm
begin
Tạo quần thể ngẫu nhiên gồm N nhiễm sắc thể (nghĩa là tạo ra một bộ
giải pháp ban đầu cho bài toán);
flag = true;
while (flag = true) do
Tính giá trị hàm thích nghi f(x) cho mỗi nhiễm sắc thể x trong quần thể;
repeat
Chọn hai nhiễm sắc thể cha mẹ từ quần thể theo hàm thích nghi; Dựa trên một xác suất, phân đoạn nhiễm sắc thể cha mẹ để tạo thành các thế hệ con;
Lai ghép để tạo thành thế hệ con dựa trên các vị trí của nhiễm sắc thể cha mẹ;
Chuyển thế hệ con vào quần thể (thay thế cá thể xấu, bổ sung thêm
cá thể tốt);
until (tạo được quần thể mới)
if (điều kiện của bài toán được thỏa mãn) then return Giải pháp tốt nhất trong quần thể hiện hành;
else
flag = false;
end if End while
End;