Giải pháp tối ưu các tham số định lượng ngữ nghĩa của đại số gia tử và ứng dụng cho bài toán lập luận xấp xỉ mờ trong điều khiển (Luận văn thạc sĩ)Giải pháp tối ưu các tham số định lượng ngữ nghĩa của đại số gia tử và ứng dụng cho bài toán lập luận xấp xỉ mờ trong điều khiển (Luận văn thạc sĩ)Giải pháp tối ưu các tham số định lượng ngữ nghĩa của đại số gia tử và ứng dụng cho bài toán lập luận xấp xỉ mờ trong điều khiển (Luận văn thạc sĩ)Giải pháp tối ưu các tham số định lượng ngữ nghĩa của đại số gia tử và ứng dụng cho bài toán lập luận xấp xỉ mờ trong điều khiển (Luận văn thạc sĩ)Giải pháp tối ưu các tham số định lượng ngữ nghĩa của đại số gia tử và ứng dụng cho bài toán lập luận xấp xỉ mờ trong điều khiển (Luận văn thạc sĩ)Giải pháp tối ưu các tham số định lượng ngữ nghĩa của đại số gia tử và ứng dụng cho bài toán lập luận xấp xỉ mờ trong điều khiển (Luận văn thạc sĩ)Giải pháp tối ưu các tham số định lượng ngữ nghĩa của đại số gia tử và ứng dụng cho bài toán lập luận xấp xỉ mờ trong điều khiển (Luận văn thạc sĩ)
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN ĐỨC VĂN
GIẢI PHÁP TỐI ƯU CÁC THAM SỐ ĐỊNH LƯỢNG NGỮ NGHĨA CỦA ĐẠI SỐ GIA TỬ VÀ ỨNG DỤNG CHO BÀI TOÁN
LẬP LUẬN XẤP XỈ MỜ TRONG ĐIỀU KHIỂN
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2018
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN ĐỨC VĂN
GIẢI PHÁP TỐI ƯU CÁC THAM SỐ ĐỊNH LƯỢNG NGỮ NGHĨA CỦA ĐẠI SỐ GIA TỬ VÀ ỨNG DỤNG CHO BÀI TOÁN
LẬP LUẬN XẤP XỈ MỜ TRONG ĐIỀU KHIỂN
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2018
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của cá nhân
dưới sự hướng dẫn khoa học của TS Nguyễn Duy Minh Trong toàn bộ nội
dung luận văn, những nội dung được trình bày là của cá nhân hoặc tổng hợp từ
nhiều nguồn tài liệu khác nhau Tất cả các tài liệu tham khảo đó đều có xuất xứ
rõ ràng và được trích dẫn hợp pháp
Tôi xin chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho
lời cam đoan của mình
Thái Nguyên, 15 tháng 4 năm 2018
Tác giả
Nguyễn Đức Văn
Trang 4LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành đến TS Nguyễn Duy Minh - người hướng dẫn khoa học, thầy đã định hướng và nhiệt tình hướng dẫn, giúp đỡ em trong quá trình làm luận văn
Em xin gửi lời biết ơn sâu sắc đến quý thầy cô giáo trường Đại học Công nghệ thông tin và Truyền thông; Viện công nghệ thông tin thuộc Viện hàn lâm Khoa học và Công nghệ Việt Nam đã truyền đạt những kiến thức và kinh nghiệm quý báu cho chúng em trong thời gian học tập
Xin chân thành cảm ơn các bạn bè, đồng nghiệp, ban cán sự và các học viên lớp cao học CK15A, những người thân trong gia đình đã động viên, chia
sẻ, tạo điều kiện giúp đỡ trong suốt quá trình học tập và làm luận văn
Thái Nguyên, 15 tháng 4 năm 2018
Tác giả
Nguyễn Đức Văn
Trang 5MỤC LỤC
MỤC LỤC iii
DANH MỤC BẢNG v
DANH MỤC HÌNH vi
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT vii
MỞ ĐẦU 1
CHƯƠNG 1: GIỚI THIỆU MỘT SỐ KIẾN THỨC CƠ SỞ 3
1.1 Biến ngôn ngữ và mô hình mờ 3
1.1.1 Biến ngôn ngữ 3
1.1.2 Mô hình mờ 4
1.2 Đại số gia tử 5
1.2.1 Độ đo tính mờ của các giá trị ngôn ngữ 6
1.2.2 Hàm định lượng ngữ nghĩa 9
1.2.3 Đại số gia tử tuyến tính đầy đủ 10
1.2.4 Khái niệm ngưỡng hiệu chỉnh định lượng ngữ nghĩa 12
1.3 Phương pháp lập luận xấp xỉ mờ đa điều kiện 13
1.4 Bài toán tối ưu và giải thuật di truyền 15
1.4.1 Bài toán tối ưu 15
1.4.2 Giải thuật di truyền 16
1.4.2.1 Các khái niệm cơ bản của giải thuật di truyền 16
1.4.2.2 Cơ chế thực hiện của giải thuật di truyền 19
1.4.2.3 Các phương pháp biểu diễn nhiễm sắc thể và các toán tử di truyền chuyên biệt 22
1.4.2.4 Biểu diễn thực 22
1.4.2.5 Các toán tử chuyên biệt hoá 23
1.5 Kết luận Chương 1 25
CHƯƠNG 2: GIẢI PHÁP TỐI ƯU CÁC THAM SỐ ĐỊNH LƯỢNG NGỮ NGHĨA CHO PHƯƠNG PHÁP LẬP LUẬN MỜ DỰA TRÊN ĐẠI SỐ GIA TỬ 26
2.1 Phương pháp lập luận mờ sử dụng đại số gia tử 26
2.2 Các giải pháp tối ưu các tham số định lượng ngữ nghĩa 29
Trang 62.3 Giải pháp xác định các tham số định lượng ngữ nghĩa tối ưu 32
2.3.1 Giải pháp tối ưu các tham số của đại số gia tử 32
2.3.2 Giải pháp xác định mô hình định lượng ngữ nghĩa tối ưu 33
2.3.2.1 Phân tích ảnh hưởng các tham số hiệu chỉnh 33
2.3.2.2 Thuật toán xác định mô hình định lượng ngữ nghĩa tối ưu 34
2.4 Phương pháp lập luận mờ sử dụng đại số gia tử dựa trên các mô hình định lượng ngữ nghĩa tối ưu 36
2.4.1 Vấn đề xác định giá trị định lượng ngữ nghĩa tối ưu 36
2.4.2 Sử dụng tham số hiệu chỉnh tối ưu cho phương pháp lập luận mờ sử dụng đại số gia tử 37
2.5 Tổng kết Chương 2 39
CHƯƠNG 3: ỨNG DỤNG PHƯƠNG PHÁP LẬP LUẬN XẤP XỈ MỜ SỬ DỤNG ĐẠI SỐ GIA TỬ VỚI MÔ HÌNH ĐỊNH LƯỢNG NGỮ NGHĨA TỐI ƯU TRONG ĐIỀU KHIỂN 40
3.1 Mô tả một số bài toán điều khiển logic mờ 40
3.1.1 Bài toán 1: Xấp xỉ mô hình mờ EX1 của Cao-Kandel [9] 40
3.1.2 Bài toán 2: Bài toán hệ con lắc ngược [8] 41
3.2 Ứng dụng phương pháp lập luận xấp xỉ mờ sử dụng đại số gia tử trong điều khiển 43
3.2.1 Phương pháp điều khiển logic mờ truyền thống 43
3.2.2 Phương pháp lập luận xấp xỉ mờ sử dụng đại số gia tử trong điều khiển 44 3.2.3 Phương pháp lập luận xấp xỉ mờ sử dụng đại số gia tử với các mô hình định lượng ngữ nghĩa tối ưu trong điều khiển 47
3.3 Ứng dụng 48
3.3.1 Bài toán 1 48
3.3.2 Bài toán 2 52
3.4 Kết luận Chương 3 55
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 58
Trang 7DANH MỤC BẢNG
Bảng 2 1 So sánh các giá trị ĐLNN 31
Bảng 3 1 Mô hình EX1 của Cao-Kandel 40
Bảng 3 2 Các kết quả xấp xỉ EX1 tốt nhất của Cao-Kandel [9] 41
Bảng 3 3 Mô hình FAM cho hệ con lắc ngược 43
Bảng 3 4 Mô hình SAM gốc - xấp xỉ mô hình EX1 50
Bảng 3 5 Mô hình SAM (PAR 2 ) – xấp xỉ mô hình EX1 50
Bảng 3 6 Sai số lớn nhất của các phương pháp trên mô hình EX1 51
Bảng 3 7 Chuyển nhãn ngôn ngữ cho các biến X1, X2 52
Bảng 3 8 Nhãn ngôn ngữ cho biến u 52
Bảng 3 9 Mô hình SAM gốc của hệ con lắc ngược 52
Bảng 3 10 Mô hình SAM(PAR 2) của hệ con lắc ngược 53
Bảng 3 11 Sai số các phương pháp của hệ con lắc ngược 55
Trang 8DANH MỤC HÌNH
Hinh 1 1 Độ đo tính mờ 8
Hinh 1 2 Mã hoá nhị phân biểu diễn các cá thể 17
Hinh 1 3 Biểu diễn giá trị của đối với hai lần được chọn 24
Hình 3 1 Đường cong thực nghiệm của mô hình EX1 41
Hình 3 2 Mô tả hệ con lắc ngược 42
Hình 3 3 Sơ đồ phương pháp điều khiển CFC 44
Hình 3 4 Sơ đồ phương pháp điều khiển FCHA 45
Hình 3 5 Kết quả xấp xỉ mô hình EX1 của Cao Kandel 51
Hình 3 6 Đồ thị lỗi của hệ con lắc ngược 55
Trang 9DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT Các ký hiệu:
Tổng độ đo tính mờ của các gia tử âm
Tổng độ đo tính mờ của các gia tử dương
Giá trị định lượng của phần tử trung hòa
AX Đại số gia tử
AX* Đại số gia tử tuyến tính đầy đủ
W Phần tử trung hòa trong đại số gia tử
𝜀 Ngưỡng hiệu chỉnh định lượng ngữ nghĩa
δ Tham số hiệu chỉnh giá trị định lượng ngữ nghĩa
FMCR Fuzzy Multiple Conditional Reasoning
FAM Fuzzy Associative Memory
SAM Semantic Associative Memory
HAR Hedge Algebras Reasoning
OpPAR Optimal - Parameter
CFC Conventional Fuzzy Control
FCHA Fuzzy Control Using Hedge Algebras
FCOPHA Fuzzy Control using Optimal Hedge Algebras
Trang 10MỞ ĐẦU
Khoa học ngày càng phát triển thì càng có nhiều thiết bị máy móc hỗ trợ cho đời sống con người Các thiết bị máy móc càng “thông minh” thì càng thay thế sức lao động và do đó các thiết bị dạng này dường như là một trong những cái đích mà con người vươn tới Như vậy, nhu cầu thiết yếu của cuộc sống là tạo ra các máy móc có thể hành xử giống với con người Hay nói cách khác là các máy phải biết suy luận để đưa ra các quyết định đúng đắn
Người tiên phong trong lĩnh vực này là Zadeh [11] Trong các công trình của mình ông đã mô tả một cách toán học những khái niệm mơ hồ mà ta thường gặp trong cuộc sống như: cao, thấp; đúng, sai bằng các tập mờ Nhờ việc xây dựng lý thuyết tập mờ mà con người có thể suy diễn từ khái niệm mơ hồ này đến khái niệm mơ hồ khác mà bản thân logic kinh điển không làm được Trên
cơ sở các thông tin không chính xác thu được, người ta có thể đưa ra những quyết định hiệu quả cho từng tình huống của bài toán
Tuy nhiên, phương pháp lập luận của con người là vấn đề phức tạp và không có cấu trúc Vì vậy kể từ khi lý thuyết tập mờ ra đời cho đến nay, vẫn chưa có một cơ sở lý thuyết hình thức chặt chẽ theo nghĩa tiên đề hoá cho logic
mờ và lập luận mờ
Để đáp ứng phần nào đối với nhu cầu xây dựng cơ sở toán học cho việc lập luận ngôn ngữ, N.Cat Ho và Wechler [12] đã đề xuất cách tiếp cận dựa trên cấu trúc tự nhiên của miền giá trị của các biến ngôn ngữ, trong các công trình, các tác giả đã chỉ ra rằng, những giá trị của biến ngôn ngữ trong thực tế đều có thứ tự nhất định về mặt ngữ nghĩa, ví dụ ta hoàn toàn có thể cảm nhận được
rằng, ‘trẻ’ là nhỏ hơn ‘già’, hoặc ‘nhanh’ luôn lớn hơn ‘chậm’
Với việc định lượng các từ ngôn ngữ của ĐSGT, một số phương pháp lập luận nội suy ra đời nhằm mục đích giải quyết bài toán lập luận mờ đa điều kiện, một bài toán được ứng dụng nhiều trong tự nhiên, kỹ thuật [11], các phương pháp lập luận này được gọi là các phương pháp lập luận xấp xỉ mờ sử dụng ĐSGT Tuy nhiên khi thực hiện phương pháp lập luận còn tồn tại: Trong ĐSGT, việc ánh xạ ĐLNN bảo toàn thứ tự ngữ nghĩa định tính, vì vậy phương pháp ĐLNN này hàm chứa những lợi thế trong việc chuyển trung thành các mô hình mờ sang mô hình định lượng (theo trực giác) để giải các bài toán ứng dụng Tuy nhiên mô hình định lượng tương đối hợp lý nhưng chưa tối ưu Vì vậy ta phải nghiên cứu một số giải
Trang 11pháp tìm ra được mô hình ĐLNN tối ưu nhất (các tham số ĐLNN của các ĐSGT tối ưu) nhưng vẫn phải đảm bảo thứ tự ngữ nghĩa của ĐSGT
Với lý do như vậy đề tài “Giải pháp tối ưu các tham số ĐLNN của ĐSGT
và ứng dụng cho bài toán lập luận xấp xỉ mờ trong điều khiển” nghiên cứu và đưa ra giải pháp tối ưu các tham số ĐLNN của phương pháp lập luận mờ dựa trên ĐSGT
Giải pháp tối ưu các tham số ngữ nghĩa định lượng này được cài đặt thử nghiệm trên một số bài toán lập luận xấp xỉ mờ dựa trên ĐSGT trong điều khiển, các kết quả sẽ được đánh giá và so sánh với các phương pháp lập luận khác đã được công bố
Trang 12CHƯƠNG 1: GIỚI THIỆU MỘT SỐ KIẾN THỨC CƠ SỞ
1.1 Biến ngôn ngữ và mô hình mờ
1.1.1 Biến ngôn ngữ
Một biến ngôn ngữ là biến mà “các giá trị của nó là các từ hoặc câu trong ngôn ngữ tự nhiên hoặc ngôn ngữ nhân tạo” Ví dụ như khi nói về nhiệt độ ta có thể xem đây là biến ngôn ngữ có tên gọi NHIỆT_ĐỘ và nó nhận các giá trị ngôn ngữ như “cao”, “rất cao”, “trung bình”… Đối với mỗi giá trị này, chúng ta sẽ
gán cho chúng một hàm thuộc Giả sử lấy giới hạn của nhiệt độ trong đoạn [0,
230oC] và giả sử rằng các giá trị ngôn ngữ được sinh bởi một tập các quy tắc Khi đó, một cách hình thức, chúng ta có định nghĩa của biến ngôn ngữ sau đây:
Định nghĩa 1.1 Biến ngôn ngữ là một bộ gồm năm thành phần (X,T(X),
U, R, M), trong đó X là tên biến, T(X) là tập các giá trị ngôn ngữ của biến X,
U là không gian tham chiếu của biến cơ sở u, mỗi giá trị ngôn ngữ xem như là một biến mờ trên U kết hợp với biến cơ sở u, R là một qui tắc cú pháp sinh các giá trị ngôn ngữ cho tập T(X), M là qui tắc ngữ nghĩa gán mỗi giá trị ngôn ngữ trong T(X) với một tập mờ trên U
Ví dụ 1.1 Từ định nghĩa trên ta có tên biến ngôn ngữ X chính là
NHIỆT_ĐỘ, biến cơ sở u có miền xác định là U = [0, 230] tính theo oC Tập
các giá trị ngôn ngữ tương ứng của biến ngôn ngữ là T(NHIỆT_ĐỘ) = {cao, rất cao, tương_đối cao, thấp, rất thấp, trung bình, …} R là một qui tắc để sinh
ra các giá trị này M là quy tắc gán ngữ nghĩa sao cho mỗi một giá trị ngôn ngữ
sẽ được gán với một tập mờ Chẳng hạn, đối với giá trị nguyên thủy cao, M(cao)
= {(u, cao (u) | u [0, 230]}, được gán như sau:
u
185,
1
185170
,15170
170,
0
Ngữ nghĩa của các giá trị khác trong T(NHIỆT_ĐỘ) cũng có thể tính thông
qua tập mờ của các giá trị nguyên thủy bởi các phép toán tương ứng với các gia
tử tác động như rất, tương_đối,…
Trang 131.1.2 Mô hình mờ
Cấu trúc của một mô hình mờ chính là một tập bao gồm các luật mà mỗi luật là một mệnh đề dạng “If…then…”, trong đó phần “If” được gọi là mệnh
đề điều kiện hay tiền đề còn phần “then” được gọi là phần kết luận
Mô hình mờ dạng đơn giản hay còn gọi là mô hình SISO (Single Input Single Output) là tập các luật mà trong đó mỗi luật chỉ chứa một điều kiện và một kết luận được cho như sau:
if X = A1 then Y = B1
if X = A n then Y = B n trong đó X, Y là các biến ngôn ngữ thuộc không gian U, V tương ứng và các giá trị ngôn ngữ A1 , A2,…, An, B1, B2, …, Bn là các tập mờ
Tuy nhiên, trong một số lĩnh vực, chẳng hạn như trong điều khiển, sự phụ thuộc giữa các biến vật lý không chỉ biểu diễn ở dạng đơn giản như mô hình trên mà nó bao gồm nhiều điều kiện ràng buộc Vì vậy, một mô hình mờ ở dạng tổng quát là một tập các luật (mệnh đề If-then) mà phần tiền đề của mỗi luật là một điều kiện phức được viết như sau:
If X1 = A11 and and Xm = A 1m then Y = B1
If X1 = A21 and and Xm = A 2m then Y = B2
(1.2)
If X1 = An1 and and X m = Anm then Y = B n
ở đây X1, X2, …, X m và Y là các biến ngôn ngữ, A ij , B i (i = 1,…, n; j = 1,…, m) là các giá trị ngôn ngữ tương ứng ([11])
Hầu hết các ứng dụng trong hệ chuyên gia mờ, phân cụm mờ, điều khiển mờ,… liên quan đến việc suy diễn thì mô hình mờ là một phần không thể thiếu
và do vậy các ứng dụng này luôn gắn liền với các phương pháp giải quyết bài toán lập luận xấp xỉ đa điều kiện Bài toán lập luận xấp xỉ mờ đa điều kiện được phát biểu như dưới đây:
Cho mô hình mờ (1.2) và các giá trị ngôn ngữ A01, A02, …, A0m tương ứng với các biến ngôn ngữ X1, X2, …, X m Hãy tính giá trị của Y
Trang 14Có nhiều phương pháp để giải quyết bài toán này Các phương pháp cụ thể sẽ được trình bày ở Mục 1.3
1.2 Đại số gia tử
Trong mô hình mờ thường dùng các mô tả ngôn ngữ cho các biến vật lý
Với mỗi biến ngôn ngữ X, gọi X = Dom(X) là tập các giá trị ngôn ngữ của biến
X Miền giá trị X được xem như một ĐSGT AX = (X, G, H, ) trong đó G là tập các phần tử sinh, H là tập các gia tử còn “” là quan hệ cảm sinh ngữ nghĩa trên
X Ta cũng giả thiết rằng trong G có chứa các phần tử 0, 1, W với ý nghĩa là phần
tử bé nhất, phần tử lớn nhất và phần tử trung hòa (neutral) trong X
Nếu tập X và H là các tập sắp thứ tự tuyến tính, khi đó ta nói AX = (X, C,
(1) Với mỗi u X thì H(u) là tập sắp thứ tự tuyến tính
(2) Nếu X được sinh từ G bởi các gia tử và G là tập sắp thứ tự tuyến tính thì X cũng là tập sắp thứ tự tuyến tính Hơn nữa nếu u < v, và u, v là
độc lập với nhau, tức là u H(v) và v H(u), thì H(u) H(v)
Một cách tổng quát hơn như đã chứng minh trong tài liệu ([12]), mỗi miền
ngôn ngữ của biến ngôn ngữ có thể được tiên đề hóa và được gọi là ĐSGT AX
Trang 15(2) Nếu x X là điểm cố định đối với toán tử h H, tức là hx = x, thì nó
là điểm cố định đối với các gia tử khác
(3) Nếu x = h n…h1u thì tồn tại chỉ số i sao cho hi…h1u của x là một biểu diễn chuẩn của x tương ứng với u (x = hi…h1u và hi…h1u ≠ hi-1…h1u)
Định lý 1.3 Cho x = h n…h1u và y = km…k1u là hai biểu diễn chuẩn của x
và y tương ứng với u Khi đó tồn tại chỉ số j ≤ min{n, m} + 1 sao cho hj’ = kj’ với mọi j’ < j (ở đây nếu j = min {m, n} + 1 thì hoặc hj là toán tử đơn vị I, hj =
1.2.1 Độ đo tính mờ của các giá trị ngôn ngữ
Khái niệm độ đo tính mờ của các giá trị ngôn ngữ là một khái niệm trừu tượng không dễ để xác định bằng trực giác và có nhiều cách tiếp cận khác nhau,
để xác định khái niệm này Thông thường, trong lý thuyết tập mờ, các cách tiếp cận chủ yếu là dựa trên hình dạng của tập mờ Với ĐSGT có thể xác định được
độ đo tính mờ của các giá trị ngôn ngữ một cách hợp lý
Giá trị ngôn ngữ nào càng đặc trưng thì độ đo tính mờ càng nhỏ Chẳng
hạn, độ đo tính mờ của giá trị ngôn ngữ More_or_less True (MLtrue), Possibly True là nhỏ hơn độ đo tính mờ của True Tuy nhiên trong lý thuyết tập mờ
không thể hiện được điều đó Thật vậy, giả sử ngữ nghĩa của giá trị ngôn ngữ được biểu diễn bởi tập mờ Độ đo tính mờ của các giá trị ngôn ngữ là khoảng cách giữa tập mờ biểu thị cho giá trị ngôn ngữ đó với tập rõ gần nó nhất Nếu
Trang 16chúng ta biểu diễn từ true bởi hàm thuộc µ true (t)= t trên đoạn [0,1] và MLtrue bởi µ MLtrue (t) = t α với α = 2/3 < 1 thì độ đo tính mờ của true bằng 1/4, nhưng độ
đo tính mờ của MLtrue bằng
4
110
24
Rõ ràng cách xác định độ đo tính mờ như vậy là không thích hợp so với ý kiến ban đầu đặt ra Vì vậy để xác định độ đo tính mờ một cách hợp lý, trước hết chúng ta phải tìm ra một số tính chất trực giác về độ đo tính mờ của giá trị ngôn ngữ Những tính chất này chính là nền tảng cho việc xác lập các định nghĩa
Ký hiệu fm(τ) là độ đo tính mờ của phần tử τ, τ X và chúng ta cũng giả
sử rằng độ đo tính mờ của mỗi phần tử luôn thuộc đoạn [0,1] Một số tính chất
trực giác của fm(τ):
(1) fm(τ) = 0, nếu τ là giá trị rõ
(2) Nếu h là một gia tử và τ là giá trị mờ thì hτ đặc trưng hơn τ, vì vậy ta
có fm(hτ) < fm(τ)
(3) Xét hai phần tử sinh true và false của ĐSGT Vì đây là các khái niệm
trái ngược nhau nhưng bổ sung cho nhau nên chúng ta có thể chấp nhận điều kiện sau:
fm(true) + fm(false) ≤ 1
Chúng ta nhận thấy rằng, nếu fm(true) + fm(false) < 1 thì bắt buộc phải tồn tại khái niệm τ khác bổ sung cho cả true và false để fm(true) + fm(false) + fm(τ) = 1 Trường hợp này không tồn tại trong ngôn ngữ tự nhiên Vì thế, ta có fm(true) + fm(false) = 1 Từ đó suy ra rằng, nếu c+, c–
là hai phần tử sinh trong X thì:
của các phần tử trong H[true] Chúng ta có thể xác định một cách trực
giác rằng độ đo tính mờ của true được thiết lập thông qua độ đo tính
mờ của các phần tử bắt nguồn từ true và chấp nhận điều kiện sau đây:
Trang 17fm(Very true) + fm(More true) + fm(Poss true) + fm(Little true) ≤
fm(true)
Tương tự như thảo luận trong (3), ta có:
fm(Very true) + fm(More true) + fm(Poss true) + fm(Little true) =
fm(true)
Một cách tổng quát, giả sử τ là giá trị ngôn ngữ bất kỳ thuộc X thì:
fm(Very τ) + fm(More τ) + fm(Poss τ) + fm(Little τ) = fm(τ)
Cuối cùng chúng ta có thể biểu diễn độ đo tính mờ của biến ngôn ngữ
TRUTH như trong Hình 1.1 dưới đây
Định nghĩa 1.2 Xét đại số gia tử AX = (X, G, H, ) của biến ngôn ngữ X
Một hàm φ: X → [0,1] được gọi là hàm độ đo tính mờ trên X nếu tồn tại một xác suất P trên X sao cho P xác định trên tập H(τ) Với mỗi phần tử τ X thì
P(H(τ)) = 0 nếu τ {0, 1, W} và φ(τ) = P(H(τ))
Từ định nghĩa ta thấy “kích cỡ” của tập H(τ) thể hiện độ đo tính mờ của
phần tử τ Chúng ta dễ dàng nhận ra rằng hàm φ thỏa mọi tính chất trực giác đã
fm(M Tr)
True
VeryTrue LittleTrue
Poss
True
More True
fm(VLTr) fm(MLTr)
Trang 18Tính chất (p4):
H h
h ) ( )(
h )/ ( ) 1(
tổng này không thay đổi với mọi τ X Chúng ta có thể xem tỷ lệ φ(hτ)/φ(τ) là một hằng số và nó đặc trưng cho gia tử h Ta có tính chất sau:
Tính chất (p5): Tỷ lệ φ(hτ)/φ(τ) không phụ thuộc vào τ và nó được gọi là
độ đo tính mờ của gia tử h, ký hiệu µ(h)
Định lý 1.4 Độ đo tính mờ trên X là duy nhất được xác định bởi các tham
Xét ĐSGT AX = (X, G, H, ) trong đó tập gia tử H = H+H– và giả sử
)()
(
i p i q
i c fm c h
)()
(
i p i q
i x fm x h
Trang 19)
, với , > 0 và + = 1
Định nghĩa 1.3 (Sign function) Hàm dấu Sign: X {−1, 0, 1} là ánh xạ
được xác định đệ quy sau đây, trong đó h, h’ H và c {c, c +}:
(1) Sign(c) = 1, Sign(c+) = +1,
(2) Sign(h'hx) = Sign(hx), nếu h’hx hx và h' âm đối với h (hoặc tương
ứng với c, nếu h = I & x = c);
(3) Sign(h'hx) = Sign(hx), nếu h’hx hx và h' dương đối với h (hoặc tương
ứng với c, nếu h = I & x = c);
(4) Sign(h'hx) = 0, nếu h’hx = hx
Mệnh đề 1.2 Với bất kỳ gia tử h H và phần tử x X, nếu Sign(hx) =
+1 thì ta có hx > x và nếu Sign(hx) = 1 thì hx < x
Định nghĩa 1.4 Cho fm là hàm độ đo tính mờ trên tập X Hàm định lượng
ngữ nghĩa : X [0,1], kết hợp với hàm fm, được xác định như sau:
j j
i
j x fm h x h x fm h x h
Sign
) (
) ( ) ( ) ( )
(2) Với mọi x, y X, x < y suy ra (x) < (y)
1.2.3 Đại số gia tử tuyến tính đầy đủ
Để thuận tiện trong các chứng minh dưới đây, chúng ta sẽ nhắc lại một số khái niệm về ĐSGT tuyến tính đầy đủ
Định nghĩa 1.5 Đại số gia tử đầy đủ AX = (X, G, H, , , ≤) được gọi là
tuyến tính nếu tập các phần tử sinh G = {0, c – , W, c + , 1} và tập các gia tử H –
= {h-1, , h-q } và H + = {h1, , hp } là các tập sắp thứ tự tuyến tính, trong đó
Trang 20và là hai phép toán với ngữ nghĩa là cận trên đúng và cận dưới đúng của tập
H(x), tức là x = supremum(H(x)), x = infimum(H(x)), H = HH+ , và ta luôn luôn giả thiết rằng h-1 < h-2 < < h-q; h 1 < < hp
Định nghĩa 1.6 Giả sử AX = (X, G, H, , , ) là một ĐSGT đầy đủ,
tuyến tính và tự do, fm(x) và (h) tương ứng là các độ đo tính mờ của giá trị ngôn ngữ x và của gia tử h Khi đó, ta nói là ánh xạ cảm sinh bởi độ đo tính
mờ fm của ngôn ngữ nếu nó được xác định như sau:
(1) (W) = = fm(c), (c) = – fm(c) = fm(c),
(c +) = +fm(c +);
(()) ( ) ( ) ( ) ( ) ( ))
()
()
j Sign
(3) (c) = 0, (c) = = (c +), (c + ) = 1, và với mọi j thỏa –q j p, j 0, ta có:
(hjx) = (x) +
2
1 ) ( ) ( )
(h x (()) h fm x Sign h x h fm x
Sign j i jSign Sign j j i j j
Một số tính chất của giá trị ngôn ngữ: Trước hết là việc xây dựng ánh xạ
để gán mỗi phần tử x X với một đoạn con của đoạn [0,1] sao cho đoạn con
(x) của đoạn [0,1] có độ dài bằng độ đo tính mờ của phần tử x
Cho trước ĐSGT tuyến tính đầy đủ AX = (X, G, H, , , ) và hàm độ
đo tính mờ fm: X [0,1] Gọi Intv([0,1]) là họ tất cả các đoạn con của đoạn
[0,1] Việc gán ngữ nghĩa mờ được xác định bởi ánh xạ : X Intv([0,1])
thỏa các điều kiện sau:
(1) Với x {c, c +} thì (c), (c +) là các đoạn con của đoạn [0,1] Ký
hiệu |.| là độ dài của các đoạn, khi đó ta có |(c)| = fm(c), |(c +)| =
fm(c +) và (c) ≤ (c +)
Trang 21(2) Giả sử x X, x có độ dài n, ký hiệu l(x) = n, khi đó ta gán |(x)| = fm(x) và nếu x < y thì (x) ≤ (y) Hơn nữa nếu h −qx < … < h−1x < h1x
< h2 x <…< hpx thì (x) được chia thành (p + q) đoạn con của đoạn
[0,1], độ dài của đoạn con |(h ix)| = fm(hix), i [ q^p] và (h ix) ≤
(h jx), nếu thỏa điều kiện hix < hjx với i,j [ q^p]
Họ {(x) : x X } được gọi là một tựa phân hoạch (semi-partition) của đoạn [0,1] tức là nếu với x,y X, x ≠ y thì đoạn con (x) và (y) có chung với
nhau nhiều nhất một điểm và xX(x) = [0,1] Để thuận tiện, chúng ta ký hiệu tập các phần tử có độ dài k là X k = {x X : l(x) = k}, l(x) là độ dài của x
Bổ đề 1.1 Cho fm là hàm độ đo tính mờ trên AX và được gán ngữ nghĩa
mờ theo fm Khi đó:
(1) {(c), (c+)} là một tựa phân hoạch của đoạn [0,1] và với mọi x
X, họ {(h ix) : i [q^p]} là một tựa phân hoạch của (x)
(2) Họ {(x) : x X n } là một tựa phân hoạch của đoạn [0,1] và nếu x <
y và l(x) = l(y) = n thì (x) < (y)
(3) Với y =x, là chuỗi gia tử bất kỳ thì (y) (x)
(4) Với x, y X, x < y, H(x)H(y) = Ø thì (x) ≤ (y)
Trong [12] các tác giả chỉ ra rằng với mỗi giá trị thực r [0,1] đều tồn tại giá trị ngôn ngữ x X có giá trị định lượng xấp xỉ với r Trong mệnh đề dưới đây chúng tôi sẽ xác định độ dài đủ lớn của giá trị ngôn ngữ x khi xấp xỉ với số
r theo độ chính xác ε > 0 cho trước
Mệnh đề 1.4 Cho ĐSGT tuyến tính đầy đủ AX = (X, G, H, Σ, Φ, ) và
một số ε > 0 bé tùy ý Đặt k 1log( /) trong đó λ = max{µ(h j ): j
[−q^p]}, và γ = max{fm(c−), fm(c+)} Khi đó với mọi giá trị thực r [0,1] đều tồn tại giá trị ngôn ngữ x Xk thỏa |(x) − r| ≤ ε
1.2.4 Khái niệm ngưỡng hiệu chỉnh định lượng ngữ nghĩa
Giả thiết ĐSGT AX* = (X*, G, H, ρ , , ) là tuyến tính, đầy đủ và tự do,
trong đó X* là tập cơ sở, G = (0, c - , W, c + , 1) với c - , c + là 2 phần tử sinh, 0, W,
1 tập các phần tử không sinh nghĩa, (phần tử W còn gọi là phần tử trung hòa),
H là tập các gia tử âm và dương, là quan hệ thứ tự toàn phần trên X*, ρ và
là hai phép toán mở rộng sao cho với mọi x X*, x, ρx tương ứng là cận dưới
Trang 22đúng và cận trên đúng trong X* của tập H(x), là tập tất cả các phần tử sinh ra
từ x nhờ các gia tử trong H Giả sử H = HH + và H = {h-1, , h-q }, với h-1 <h
-2< <h-q và H + = {h1, , hp }, với h1 < <hp , trong đó ta quy ước h 0 = I, toán
tử đơn vị trên X*
Theo tài liệu [6] đưa ra định nghĩa ngưỡng hiệu chỉnh ĐLNN và phương pháp xác định ngưỡng hiệu chỉnh ĐLNN của các giá trị ngôn ngữ để sao cho thứ tự ngữ nghĩa vẫn bảo đảm vốn có của các giá trị ngôn ngữ trong ĐSGT
Định nghĩa 1.7 Số thực , 0 1 được gọi là ngưỡng hiệu chỉnh ĐLNN
của các giá trị ngôn ngữ trong X k nếu với mọi x, y X k thỏa x y kéo theo v(x)
+ 1 v(y) 2 đúng với 0<1, 2 <
Định lý 1.5 Cho AX* là ĐSGT tuyến tính, đầy đủ và tự do, ngưỡng hiệu
chỉnh ĐLNN cho các giá trị ngôn ngữ trong X k là:
k = min {fm(x)/2, fm(x)/2 | x X k },
với k là số nguyên dương tùy ý
1.3 Phương pháp lập luận xấp xỉ mờ đa điều kiện
Từ những năm 70 các phương pháp lập luận đã được phát triển mạnh mẽ
và được ứng dụng nhiều trong các hệ chuyên gia mờ Một số phương pháp lập
luận mờ đa điều kiện (Fuzzy Multiple Conditional Reasoning - FMCR ) nhằm
giải quyết bài toán lập luận mờ đa điều kiện đã được phát biểu
Theo cách tiếp cận của lý thuyết tập mờ, các phương pháp lập luận mờ đa điều kiện nói chung được mô tả dựa trên hai dạng mô hình sau
Mô hình hội: Xem mô hình mờ (1.2) như là hội của các mệnh đề if -then
- Ngữ nghĩa của các giá trị ngôn ngữ của các biến ngôn ngữ trong mô hình
mờ được biểu thị bằng các tập mờ tương ứng của chúng
- Từ các luật mờ dạng câu if-then, xây dựng quan hệ mờ R như sau:
+ Sử dụng phép hội các điều kiện ở tiền đề, mỗi câu if-then xem như là
một phép kéo theo I(s,t), một phép 2-ngôi trong [0,1], lưu ý rằng giá trị
s phụ thuộc m biến đầu vào
+ Vì (1.2) được xem là mô hình hội, R được tính bằng hội của các biểu
thức phép kéo theo đã xây dựng
Trang 23- Khi đó ứng với vectơ đầu vào A 0, giá trị của biến đầu ra được tính theo
công thức B 0 = A 0R, trong đó là một phép hợp thành nào đó
Mô hình tuyển: Xem (1.2) như là tuyển của các mệnh đề if-then
- Phương pháp tiến hành giống như trên cho đến bước xây dựng được các
phép kéo theo I j (s,t) cho mỗi mệnh đề if-then trong (1.2), j = 1, , n
- Với vectơ đầu vào A 0 , giá trị của biến đầu ra B0j dựa trên luật thứ j được tính theo công thức B0j = A 0 Ij (s,t), trong đó là một phép hợp thành nào đó
- Cuối cùng, giá trị đầu ra của mô hình mờ (1.2) được tính bằng tuyển của các B0j, j = 1, , n
Một cách tổng quát, các phép tuyển và hội được xây dựng dựa trên các
- Lựa chọn tập mờ (bài toán xây dựng các hàm thuộc)
- Bài toán lựa chọn phép kết nhập (bài toán chuyển mô hình đa điều kiện
về mô hình đơn điều kiện)
- Xây dựng quan hệ mờ mô phỏng tốt nhất mô hình mờ (bài toán lựa chọn phép kéo theo)
- Khử mờ (bài toán lựa chọn phương pháp khử mờ)
- Luật hợp thành (max-min, min-max, t-norm, s-norm, …)
Đó chính là những khó khăn không nhỏ khi xây dựng phương pháp giải bài toán lập luận mờ đa điều kiện
Với mục tiêu tìm kiếm các phương pháp lập luận giải bài toán trên, một
số tác giả đã quan tâm nghiên cứu một phương pháp mới, phương pháp nội suy
Trang 24định bởi các điểm lưới Trên đoạn này chúng ta giải bằng phương pháp nội suy trên cơ sở thông tin được cho tại 2 điểm lưới đầu mút của “đọan thẳng”
Có thể thấy phương pháp nội suy mờ có trực quan rõ ràng cho phép người
ta cảm nhận hay dự đoán mức độ nào đó về ứng xử của hệ thống được cho bởi
mô hình mờ Tuy nhiên, phương pháp này vẫn chứa đựng các yếu tố phức tạp chẳng hạn như:
- Vấn đề xây dựng hàm thuộc dạng tam giác của các tập mờ
- Vấn đề khử mờ để chuyển giá trị mờ đầu ra thành giá trị thực
- Vấn đề tìm lời giải bằng nội suy trên từng tập mức của tập mờ
Đây cũng là những bài toán khá phức tạp vì luôn có thể chỉ ra lời giải chưa tối ưu
Các phương pháp lập luận, đặc biệt là phương pháp lập luận mờ đa điều kiện có rất nhiều ứng dụng trong thực tiễn như trong xây dựng các hệ chuyên gia, các hệ trợ giúp quyết định, các hệ mờ
1.4 Bài toán tối ưu và giải thuật di truyền
1.4.1 Bài toán tối ưu
Bài toán tối ưu có dạng:
Cho trước một hàm f: A R từ tập hợp A tới tập số thực Tìm: một phần
tử x0 thuộc A sao cho f(x0) ≤ f(x) với mọi x thuộc A ("cực tiểu hóa") hoặc sao cho f(x0) ≥ f(x) với mọi x thuộc A ("cực đại hóa")
Miền xác định A của hàm f được gọi là không gian tìm kiếm Thông thường, A là một tập con của không gian Euclid Rn, thường được xác định bởi một tập các ràng buộc, các đẳng thức hay bất đẳng thức mà các thành viên của A phải thỏa mãn Các phần tử của A được gọi là các lời giải khả thi Hàm f được gọi là hàm mục tiêu, hoặc hàm chi phí Lời giải khả thi nào cực tiểu hóa (hoặc cực đại hóa, nếu đó là mục đích) hàm mục tiêu được gọi là lời giải tối ưu
Thông thường, sẽ có một vài cực tiểu địa phương và cực đại địa phương, trong đó một cực tiểu địa phương x* được định nghĩa là một điểm thỏa mãn điều kiện: với giá trị δ > 0 nào đó và với mọi giá trị x sao cho
;
Trang 25Công thức sau luôn đúng
Nghĩa là, tại vùng xung quanh x*, mọi giá trị của hàm đều lớn hơn hoặc bằng giá trị tại điểm đó Cực đại địa phương được định nghĩa tương tự Thông thường, việc tìm cực tiểu địa phương là dễ dàng - cần thêm các thông tin về bài toán (chẳng hạn, hàm mục tiêu là hàm lồi) để đảm bảo rằng lời giản tìm được
- Hàm f(x) được gọi là hàm mục tiêu
- Hàm gi(x) gọi là các hàm ràng buộc
- Miền ràng buộc
D = x X gi (x) (, =, ) bi, i = 1,m
1.4.2 Giải thuật di truyền
1.4.2.1 Các khái niệm cơ bản của giải thuật di truyền
Giới thiệu chung: Giải thuật GA lần đầu được tác giả Holland giới thiệu
vào năm 1962 Nền tảng toán học của giải thuật GA được tác giả công bố trong cuốn sách “Sự thích nghi trong các hệ thống tự nhiên và nhân tạo” xuất bản năm 1975 Giải thuật GA mô phỏng quá trình tồn tại của các cá thể có độ phù hợp tốt nhất thông qua quá trình chọn lọc tự nhiên, sao cho khi giải thuật được thực thi, quần thể các lời giải tiến hoá tiến dần tới lời giải mong muốn Giải thuật GA duy trì một quần thể các lời giải có thể của bài toán tối ưu hoá Thông thường, các lời giải này được mã hoá dưới dạng một chuỗi các gen Giá trị của các gen có trong chuỗi được lấy từ một bảng các ký tự được định nghĩa trước Mỗi chuỗi gen được liên kết với một giá trị được gọi là độ phù hợp Độ phù hợp được dùng trong quá trình chọn lọc Cơ chế chọn lọc đảm bảo các cá thể
có độ phù hợp tốt hơn có xác suất được lựa chọn cao hơn Quá trình chọn lọc sao chép các bản sao của các cá thể có độ phù hợp tốt vào một quần thể tạm thời được gọi là quần thể bố mẹ Các cá thể trong quần thể bố mẹ được ghép đôi một cách ngẫu nhiên và tiến hành lai ghép tạo ra các cá thể con Sau khi
Trang 26tiến hành quá trình lai ghép, giải thuật GA mô phỏng một quá trình khác trong
tự nhiên là quá trình đột biến, trong đó các gen của các cá thể con tự thay đổi
giá trị với một xác suất nhỏ
Tóm lại, có 6 khía cạnh cần được xem xét, trước khi áp dụng giải thuật
GA để giải một bài toán, cụ thể là:
- Mã hoá lời giải thành cá thể dạng chuỗi
- Hàm xác định giá trị độ phù hợp
- Sơ đồ chọn lọc các cá thể bố mẹ
- Toán tử lai ghép
- Toán tử đột biến
- Chiến lược thay thế hay còn gọi là toán tử tái tạo
Có nhiều lựa chọn khác nhau cho từng vấn đề trên Phần tiếp theo sẽ đưa
ra cách lựa chọn theo Holland khi thiết kế phiên bản giải thuật GA đơn giản lần đầu tiên
Giải thuật di truyền đơn giản: Holland sử dụng mã hoá nhị phân để biểu
diễn các cá thể, lý do là phần lớn các bài toán tối ưu hoá đều có thể được mã hoá thành chuỗi nhị phân khá đơn giản Hàm mục tiêu, hàm cần tối ưu, được chọn làm cơ sở để tính độ phù hợp của từng chuỗi cá thể Giá trị độ phù hợp của từng cá thể sau đó được dùng để tính toán xác suất chọn lọc Sơ đồ chọn lọc trong giải thuật SGA là sơ đồ chọn lọc tỷ lệ Trong sơ đồ chọn lọc này, cá thể có độ phù hợp f i có xác suất chọn lựa N
j j i
p / 1 , ở đây N là số cá thể
có trong quần thể Toán tử lai ghép trong giải thuật GA là toán tử lai ghép một điểm cắt Giả sử chuỗi cá thể có độ dài L (có L bít), toán tử lai ghép được tiến hành qua hai giai đoạn là:
Hinh 1 2 Mã hoá nhị phân biểu diễn các cá thể
Trang 27Hai cá thể trong quần thể bố mẹ được chọn một cách ngẫu nhiên với phân
bố xác suất đều
Sinh một số ngẫu nhiên j trong khoảng [1, L - 1] Hai cá thể con được tạo
ra bằng việc sao chép các ký tự từ 1 đến j và tráo đổi các ký tự từ j + 1 đến L
Quá trình này được minh hoạ như trong hình 1
Điều đáng lưu ý là giải thuật GA không yêu cầu toán tử lai ghép luôn xảy
ra đối với hai cá thể bố mẹ được chọn Sự lai ghép chỉ xảy ra khi số ngẫu nhiên tương ứng với cặp cá thể bố mẹ được sinh ra trong khoảng [0, 1) không lớn hơn
một tham số p c (gọi là xác suất lai ghép) Nếu số ngẫu nhiên này lớn hơn p c, toán tử lai ghép không xảy ra Khi đó hai cá thể con là bản sao trực tiếp của hai
cá thể bố mẹ
Tiếp theo, Holland xây dựng toán tử đột biến cho giải thuật GA Toán tử này được gọi là toán tử đột biến chuẩn Toán tử đột biến duyệt từng gen của từng cá thể con được sinh ra sau khi tiến hành toán tử lai ghép và tiến hành biến đổi giá trị từ 0 sang 1 hoặc ngược lại với một xác suất pm được gọi là xác suất đột biến Cuối cùng là chiến lược thay thế hay còn gọi là toán tử tái tạo Trong giải thuật, quần thể con được sinh ra từ quần thể hiện tại thông qua 3 toán tử là chọn lọc, lai ghép và đột biến thay thế hoàn toàn quần thể hiện tại và trở thành quần thể hiện tại của thế hệ tiếp theo Sơ đồ tổng thể của GA được thể hiện qua thủ tục GA dưới đây
Thủ tục GA () /* Bài toán tối ưu */
{k = 0;
// Khởi động quần thể P0 một cách ngẫu nhiên
// Tính giá trị hàm mục tiêu cho từng cá thể
khởi_động (Pk);
tính_hàm_mục_tiêu (Pk);
// Đặt lời giải của giải thuật bằng cá thể có giá trị hàm mục tiêu tốt nhất
Xbest = tốt_nhất (Pk);
do { // Chuyển đổi giá trị hàm mục tiêu thành giá trị độ phù hợp và
// tiến hành chọn lọc tạo ra quần thể bố mẹ P parent
Pparent = chọn_lọc (Pk );
Trang 28// Tiến hành lai ghép và đột biến tạo ra quần thể cá thể con P child
Pchild = đột_biến (lai_ghép (Pparent));
// Thay thế quần thể hiện tại bằng quần thể cá thể con
Quần thể đầu tiên được khởi tạo một cách ngẫu nhiên
1.4.2.2 Cơ chế thực hiện của giải thuật di truyền
Trong phần này chúng ta sẽ tìm hiểu về cơ chế thực hiện của giải thuật di truyền thông qua một bài toán tối ưu số Không làm mất tính tổng quát, ta giả
định bài toán tối ưu là bài toán tìm cực đại của hàm nhiều biến f Bài toán tìm cực tiểu hàm g chính là bài toán tìm cực đại hàm f = -g, hơn nữa ta có thể giả định hàm mục tiêu f có giá trị dương trên miền xác định của nó, nếu không ta
có thể cộng thêm một hằng số C dương
Cụ thể bài toán được đặt ra như sau: Tìm cực đại một hàm k biến f(x1, ,
xk): RkR Giả sử thêm là mỗi biến xi có thể nhận giá trị trong miền D i = [a i ,b i]
R và f(x1, , xk) 0 với mọi xi Di Ta muốn tối ưu hàm f với độ chính xác cho trước: giả sử cần n số lẻ đối với giá trị của các biến
Để đạt được độ chính xác như vậy mỗi miền D i cần được phân cắt thành
(b i - a i) 10n miền con bằng nhau, gọi m là số nguyên nhỏ nhất sao cho
Trang 291 2 10 ) ( n m i
i
b
Như vậy mỗi biến x i được biểu diễn bằng một chuỗi nhị phân có chiều dài
mi Biểu diễn như trên rõ ràng thoả mãn điều kiện về độ chính xác theo yêu cầu
Công thức sau tính giá trị thập phân của mỗi chuỗi nhị phân biểu diễn biến x i
1 2 )
i
a b string decimal
a x
Trong đó decimal (string2) cho biết giá trị thập phân của chuỗi nhị phân đó
Bây giờ, mỗi nhiễm sắc thể (là một lời giải) được biểu diễn bằng một chuỗi nhị phân có chiều dài k
i m i m
1 , m1 bit đầu tiên biểu diễn giá trị trong khoảng [a1, b1], m2 bit kế tiếp biểu diễn giá trị trong khoảng [a2, b2], …
Để khởi tạo quần thể, chỉ cần đơn giản tạo pop_size nhiễm sắc thể ngẫu
nhiên theo từng bit
Phần còn lại của giải thuật di truyền rất đơn giản, trong mỗi thế hệ, ta
lượng giá từng nhiễm sắc thể (tính giá trị hàm f trên các chuỗi biến nhị phân đã
được giải mã), chọn quần thể mới thoả mãn phân bố xác suất dựa trên độ thích nghi và thực hiện các phép đột biến và lai để tạo ra các cá thể thế hệ mới Sau một số thế hệ, khi không còn cải thiện thêm được gì nữa, nhiễm sắc thể tốt nhất
sẽ được xem như lời giải của bài toán tối ưu (thường là toàn cục) Thông thường
ta cho dừng giải thuật sau một số bước lặp cố định tuỳ ý tuỳ thuộc vào điều kiện tốc độ và tài nguyên máy tính
Đối với tiến trình chọn lọc (chọn quần thể mới thoả phân bố xác suất dựa trên các độ thích nghi), ta dùng bánh xe quay Rulet với các rãnh được định kích thước theo độ thích nghi Ta xây dựng bánh xe Rulet như sau (giả định rằng các độ thích nghi đều dương)
+ Tính độ thích nghi eval(v i ) của mỗi nhiễm sắc thể v i (i = 1,…, pop_size)
+ Tìm tổng giá trị thích nghi toàn quần thể:
i eval v i F
+ Tính xác suất chọn p i cho mỗi nhiễm sắc thể v i , (i = 1,…, pop_size):
F v
Trang 30Tiến trình chọn lọc thực hiện bằng cách quan bánh xe Rulet pop_size lần,
mỗi lần chọn một nhiễm sắc thể từ quần thể hiện hành vào quần thể mới theo cách sau:
+ Phát sinh ngẫu nhiên một số r trong khoảng [0 1]
+ Nếu r q1 thì chọn nhiễm sắc thể đầu tiên v1, ngược lại thì chọn nhiễm sắc thể thứ i, v i (2 i pop_size) sao cho qi-1 r qi
Hiển nhiên có thể có một số nhiễm sắc thể được chọn nhiều lần, điều này
là phù hợp vì các nhiếm sắc thể tốt nhất cần có nhiều bản sao hơn, các nhiễm sắc thể trung bình không thay đổi, các nhiễm sắc thể kém nhất thì chết đi Bây giờ ta có thể áp dụng phép toán di truyền: kết hợp và lại vào các cá thể trong quần thể mới vừa được chọn từ quần thể cũ như trên Một trong nhữn
tham số của giải thuật là xác suất lai p c Xác suất này cho ta số nhiếm sắc thể
pop_sizepc mong đợi, các nhiễm sắc thể này được dùng trong tác vụ lai tạo
Ta tiến hành theo cách sau đây:
Đối với mỗi nhiễm sắc thể trong quần thể mới:
+ Phát sinh ngẫu nhiên một số r trong khoảng [0, 1]
+ Nếu r p c, hãy chọn nhiễm sắc thể đó để lai tạo
Bây giờ ta ghép đôi các nhiễm sắc thể đã được chọn một cách ngẫu nhiên: đối với mỗi cặp nhiễm sắc thể được ghép đôi, ta phát sinh ngẫu nhiên một số
nguyên pos trong khoảng [1, m-1], m là tổng chiều dài - số bit của một nhiễm sắc thể Số pos cho biết vị trí của điểm lai, cụ thể hai nhiễm sắc thể:
(b1 b2…bposbpos+1 …b m ) và (c1 c2.…cposcpos+1 …c m)
được thay bằng một cặp con của chúng:
(b1 b2…bposcpos+1 …c m ) và (c1 c2.…cposbpos+1 …b m)
Phép toán kế tiếp là phép đột biến, được thực hiện trên cơ sở từng bit Một
tham số khác của giải thuật là xác suất đột biến p m, cho ta số bit đột biến
pmmpop_size mong đợi Mỗi bit (trong tất cả các nhiễm sắc thể trong quần
thể) có cơ hội bị đột biến như nhau, nghĩa là đổi từ 0 thành 1 hoặc ngược lại
Vì thế ta tiến hành theo cách sau đây:
Đối với mỗi nhiễm sắc thể trong quần thể hiện hành (nghĩa là sau khi lai)
và đỗi với mỗi bit trong nhiễm sắc thể:
Trang 31+ Phát sinh ngẫu nhiên một số r trong khoảng [0, 1]
+ Nếu r < p m hãy đột biến bit đó
Sau quá trình chọn lọc, lai và đột biến, quần thể mới đến lượt lượng giá kế tiếp của nó Lượng giá này được dùng để xây dựng phân bố xác suất (cho tiến trình chọn lựa kế tiếp), nghĩa là để xây dựng lại bánh xe Rulet với các rãnh được định kích thước theo các giá trị thích nghi hiện hành Phần còn lại của tiến hoá chỉ là lặp lại chu trình của những bước trên
1.4.2.3 Các phương pháp biểu diễn nhiễm sắc thể và các toán tử di truyền chuyên biệt
Khi ứng dụng giải thuật di truyền vào thực tế, đôi khi gặp những bài toán đòi hỏi một cách biểu diễn lời giải thích hợp, nếu không giải thuật di truyền khó cho lời giải tốt được, thường là hội tụ sớm về một lời giải tối ưu không toàn cục
Biểu diễn nhị phân truyền thống có một số bất lợi khi áp dụng GA giải các bài toán số cần độ chính xác cao, trong một không gian có số chiều lớn Ví dụ tối ưu hàm 100 biến, mỗi biến nhận giá trị trong khoảng [-500, 500], chính xác đến 6 số lẻ thì chiều dài của véc tơ lời giải nhị phân phải là 3000 và phát sinh một không gian tìm kiếm khoảng 101000 phần tử Tìm kiếm trong một không gian như thế giải thuật di truyền thực hiện rất kém hiệu quả
Với lý do trên trong phần này chúng ta sẽ thử nghiệm với các gen mã hoá
là các số thực cùng với các toán tử di truyền chuyên biệt ứng với cách mã hoá
số thực này
1.4.2.4 Biểu diễn thực
Trong biểu diễn thực, mỗi véc tơ nhiễm sắc thể được mã hoá thành vectơ thực có cùng chiều dài với véc tơ lời giải Mỗi phần tử được chọn lúc khởi tạo sao cho thuộc miền xác định của nó, và các toán tử được thiết kế để bảo toàn các ràng buộc này (không có vấn đề như vậy trong biểu diễn nhị phân, nhưng thiết kế của các toán tử này khá đơn giản, ta không thấy điều đó là bất lợi, mặt khác nó lại cung cấp các lợi ích khác được trình bày dưới đây)
Sự chính xác của cách tiếp cận như thế chỉ tuỳ thuộc máy tính nhưng nói chung là tốt hơn nhiều so với biểu diễn nhị phân Đương nhiên ta luôn có thể tăng độ chính xác của biểu diễn nhị phân khi thêm các bit, nhưng điều đó làm giải thuật chậm đi đáng kể như đã thảo luận ở phần trước
Trang 32Thêm nữa biểu diễn thực có khả năng biểu diễn một miền rất rộng (hoặc các trường hợp miền xác định không biết trước cụ thể) Mặt khác trong biểu diễn nhị phân, độ chính xác sẽ giảm khi tăng kích thước miền, do chiều dài nhị phân cố định cho trước Hơn nữa với biểu diễn thực việc thiết kế các công cụ đặc biệt để xử lý các ràng buộc không tầm thường sẽ dễ hơn
1.4.2.5 Các toán tử chuyên biệt hoá
Các toán tử ta sẽ sử dụng rất khác các toán tử cổ điển, vì chúng làm việc trong một không gian khác (có giá trị thực) Hơn nữa một vài toán tử không đồng bộ, nghĩa là hành động của chúng phụ thuộc vào tuổi của quần thể
Nhóm toán tử đột biến: có nhóm đột biến đồng bộ, nhóm đột biến không
đồng bộ
+ Đột biến đồng bộ: Đột biến đồng bộ được định nghĩa tương tự với định
nghĩa của phiên bản cổ điển: nếu s v =<v1, …, vn> là nhiễm sắc thể, thì mỗi phần
tử v k có cơ hội trải qua tiến trình đột biến ngang nhau Kết quả của một lần ứng
dụng toán tử này là véc tơ s t v =<v1, …,v’k ,…, v n > và v’ k là giá trị ngẫu nhiên trong miền tham số tương ứng
+ Đột biến không đồng bộ: Đột biến không đồng bộ là một trong những
toán tử có nhiệm vụ về tìm độ chính xác của hệ thống Nó được định nghĩa như
sau: nếu s t v =<v1, …, vm > là nhiễm sắc thể và phần tử v k được chọn đột biến này
(miền của v k là [l k ,u k ]), kết quả là một vectơ s t+1 v =<v1, …, v’k ,…, v m > với k [1,…, n] và
,(
0)
,(
'
la nhien ngau so chu neu l
v t v
la nhien ngau so chu neu v
u t v
v
k k k
k k k
k
trong đó, hàm (t, y) trả về giá trị trong khoảng [0, y] sao cho xác suất của
(t, y) gần bằng 0 sẽ tăng khi t tăng Xác suất này buộc toán tử tìm kiếm không
gian thoật đầu là đồng bộ (khi t nhỏ) và rất cục bộ ở những giai đoạn sau Ta
sử dụng hàm sau:
) 1
( )
,
b T t
r y
y
t
, với r là số ngẫu nhiên trong khoảng [0, 1], T là
số thế hệ tối đa và b là tham số hệ thống xác định mức độ không đồng bộ Hình biểu diễn giá trị của đối với hai lần được chọn, hình này hiển thị rõ ràng cách ứng xử của toán tử
Trang 33Hinh 1 3 Biểu diễn giá trị của đối với hai lần được chọn
Hơn nữa ngoài cách áp dụng đột biến chuẩn ta có một số cơ chế mới: đột biến không đồng bộ cũng được áp dụng cho một vectơ lời giải thay vì chỉ một phần tử duy nhất của nó, khiến cho vectơ hơi trượt trong không gian lời giải
Nhóm toán tử lai tạo: lai đơn giản, lai số học đơn, lai số học cục bộ
+ Lai đơn giản:
Phép lai đơn giản được xác định như sau:
Nếu s t v = <v1, …, vm > và s t w = <w1, …, wm > được lai ghép ở vị trí thứ k, thì kết quả là: s t v = <v1, …, vk , w k+1 , …, w m > và s t w = <w1, …, wk , v k+1 , …, v m>,
+ Lai số học đơn:
Phép lai số học đơn được xác định như sau:
Nếu s t v =<v1, …, vm > và s t w =<w1, …, wm> được lai ghép thì kết quả là
), , max(
] 0 , 0 [
)]
, min(
), , [max(
Trang 34Nếu s t v = <v1, …, vm > và s t w = <w1, …, wm > được lai ghép thì kết quả là s t+1 v
= a s t w +(1- a) s t v và s t+1 w = as t v +(1- a) s t w , với a là một tham số tĩnh [0, 1]
1.5 Kết luận Chương 1
Trong chương này luận văn đã hệ thống được các kiến thức cơ bản sau:
- Tìm hiểu biến ngôn ngữ và mô hình mờ, ĐSGT
- Phương pháp lập luận xấp xỉ mờ là cơ sở để phát triển phương pháp lập luận mờ sử dụng ĐSGT
- Giải thuật di truyền được dùng để tìm kiếm các tham số tối ưu của các ĐSGT trong phương pháp lập luận mờ sử dụng ĐSGT