Logic mờ tập trung vào xử lý các suy luận gần với nhữngphát biểu ngôn ngữ tự của con người và được ứng dụng rộng rãi trong thực tế đờisống như các hệ chuyên gia mờ.. Bên cạnh đó, giải th
Trang 1KHOA KHOA HỌC MÁY TÍNH
TIỂU LUẬN MÔN HỌC TOÁN HỌC CHO KHMT
HỢP NHẤT HỆ MỜ VÀ GIẢI THUẬT DI TRUYỀN
Giảng viên hướng dẫn: PGS TS ĐỖ VĂN NHƠN
Học viên thực hiện:NGUYỄN NGỌC HOÀNG
Mã số học viên: CH1301026
TP Hồ Chí Minh, tháng 01 năm 2014
Trang 2việc biểu diễn và suy luận tri thức trong các hệ thống ứng dụng của tin học Để cácứng dụng ngày càng gần với thực tiễn hơn thì logic mờ đã được phát triển mở rộng
từ logic mệnh đề cổ điển Logic mờ tập trung vào xử lý các suy luận gần với nhữngphát biểu ngôn ngữ tự của con người và được ứng dụng rộng rãi trong thực tế đờisống như các hệ chuyên gia mờ
Bên cạnh đó, giải thuật di truyền là một công cụ có định hướng mạnh trongviệc giải quyết các bài toán tối ưu nhờ vào phỏng sinh học Với giải thuật di truyền,chúng ta có thể tìm được lời giải cho một vấn đề khó nhanh hơn, gần với lời giải tối
ưu hơn
Hai kỹ thuật này, qua nghiên cứu, nếu kết hợp với nhau có thể bổ khuyết chonhau giúp tăng năng lực của hệ mờ đồng thời làm cho giải thuật di thuật di truyềntrở nên mạnh mẽ hơn, “động” hơn và lời giải ngày càng tốt hơn
Trang 3sau này Tuy vậy logic mệnh đề cổ điển chỉ xử lý với hai giá trị 0 và 1 thì chưa đủvới sư phát triển hiện tại Do đó, với các chuyên đề được giảng dạy trong môn Toánhọc cho Khoa Học Máy Tính phần logic mờ, PGS.TS Đỗ Văn Nhơn đã cung cấphành trang vững chắc cũng như kiến thức nền tảng về logic mờ để cho tôi và cácbạn trong lớp CH08 có khả năng học tốt những chuyên đề tiếp theo; và đó cũng làhành trang trong quá trình nghiên cứu sau này.
Với những định hướng và gợi mở về những hướng đi mới, hỗ trợ tài liệu và ýtưởng, tôi xin gửi lời cảm ơn chân thành đến thầy Đỗ Văn Nhơn
Ngoài ra cũng xin gởi lời cảm ơn đến gia đình, bạn bè - những người đã luôn
hỗ trợ, động viên tôi trong suốt thời gian thực hiện đề tài
TP Hồ Chí Minh, tháng 01 năm 2014Người thực hiện
Nguyễn Ngọc Hoàng
Trang 4Lời cảm ơn
Mục lục
Trang 5Chương 1: GIỚI THIỆU ĐỀ TÀI
1.1 LÝ DO CHỌN ĐỀ TÀI
Như chúng ta đã biết,logic mờ ra đời đã cung cấp một công cụ hiện hữu đểnghiên cứu và xây dựng các hệ thống có khả năng xử lý thông tin không chính xác.Nhờ có logic mờ mà con người xây dựng được những hệ điều khiển có tính linhđộng rất cao Chúng có thể hoạt động tốt ngay trong điều kiện có nhiều nhiễu hoặcnhững tình huống chưa được học trước Nhờ có logic mờ mà con người xây dựngđược những hệ chuyên gia có khả năng suy luận như những chuyên gia hàng đầu và
có khả năng tự hoàn thiện thông qua việc thu nhận tri thức mới
Bên cạnh đó, giải thuật di truyền là một giải thuật mạnh, định hướng giảiquyết cho các bài toán khó, đặt biệt là các bài toán tìm kiếm trên một không gianlớn thì giải thuật di truyền thường cho kết quả tốt hơn so với các thuật giải khác.Với hai kỹ thuật mạnh như trên nếu chúng ta kết hợp chúng với nhau thìchúng có thể bổ sung lẫn nhau: hệ mờ thì đơn giản còn giải thuật di truyền thì phứctạp, giải thuật di truyền có khả năng học trong khi hệ mờ thì không Kết hợp chúnglại với nhau chúng ta có thể tạo ra một hệ mờ có khả năng học theo thời gian nhằmtăng hiệu năng hệ thống và một giải thuật di truyền động có khả năng tự điều chỉnhtrong quá trình tiến hóa nhờ các luật mờ Từ đó ta có thể tạo ra các hệ thống ngàycàng tốt hơn và có khả năng ứng dụng vào thực tế nhanh hơn
Từ những nhu cầu thực tế của xã hội và mong muốn tìm hiểu, nắm bắt côngnghệ mới, đóng góp một phần công sức đưa công nghệ vào cuộc sống thực tiễn, tácgiả quyết định chọn đề tài: “Hợp nhất hệ mờ và giải thuật di truyền”
Trang 6Chương 2: HỆ MỜ
2.1 KIẾN TRÚC CỦA MỘT HỆ MỜ
Một hệ mờ đặc trưng có kiến trúc như hình 2.1
Hình 2.1: Mô hình biểu diễn hệ mờ
Thành phần trung tâm của hệ mờ là cơ sở luật mờ (fuzzy rule base) Cơ sở
luật mờ bao gồm các luật mờ if-then biểu diễn tri thức của chuyên gia trong lĩnhvực nào đó Trong trường hợp một hệ điều khiển mờ cụ thể thì cơ sở luật mờ chính
là tri thức và kinh nghiệm của các chuyên gia trong việc điều khiển khi chưa ápdụng hệ điều khiển mờ
Thành phần quan trọng kế tiếp là bộ suy diễn mờ (fuzzy inference engine).
Nhiệm vụ của bộ phận này là kết hợp các luật trong cơ sởluật mờ,áp dụng vào tập
mờ đầu vào theo các phương pháp suy diễn mờ để xác định tập mờ đầu ra
Dữ liệu đầu vào của hệ điều khiển mờ là các tín hiệu do các bộ phận cảm
biến môi trường cung cấp sau khi đã số hoá nên có tính chất rõ (khái niệm rõ ở đây
có nghĩa là các tín hiệu đó không phải là các tập mờ, chứ không có nghĩa là các tín hiệu không có nhiễu) Vì vậy cần phải có bộ mờ hoá (fuzzier) để chuyển các dữ liệu
số đầu vào thành các tập mờ để bộ suy diễn mờ có thể thao tác được
Dữ liệu đầu ra của bộ suy diễn mờ ở dạng các tập mờ sẽ được bộ giải mờ
(defuzzier) chuyển thành tín hiệu số trước khi truyền đến các cơ quan chấp hành
như tay máy, công tắc, van điều khiển,…
Trang 7Do các dữ liệu đầu vào và đầu ra được số hoá nên ta chỉ cần xem xét các hệ
mờ làm việc với các biến số Trường hợp tổng quát, hệ mờ nhận một vector n chiều
ở đầu vào và cho ra một vector m chiều ở đầu ra Hệ mờ như thế được gọi là hệ mờnhiều đầu vào – nhiều đầu ra (MIMO) Nếu m bằng 1, ta có hệ hệ mờ nhiều đầu vào– một đầu ra (MISO) Một hệ mờ nhiều đầu vào – nhiều đầu ra có thể phân tíchthành nhiều hệ nhiều đầu vào – một đầu ra Do đó ta chỉ cần tìm hiểu kỹ về hệ mờnhiều đầu vào – một đầu ra với các biến số Khi chỉ nói về hệ mờ nhiều - một thì ta
sẽ ngầm hiểu là một hệ mờ nhiều đầu vào – một đầu ra với các biến số:
R V R U
Trong đó k là chỉ số của luật (luật thứ k trong tập luật), xi là các biến đầu vào,
Aki là các tập mờ trên Ui (i=1 n), y là biến đầu ra và Bk là tập mờ trên V (k=1 m)
Các luật mờ dạng (1) được gọi là các luật if-then mờ chuẩn tắc Các luật mờ
không chuẩn tắc có thể biến đổi để đưa về dạng chuẩn tắc tương đương
Trang 8Có nhiều phương pháp để xác định các luật mờ để đưa vào cơ sở luật mờ Cácphương pháp thông dụng là nhờ các chuyên gia trong lĩnh vực áp dụng, hoặc từquan sát, thực nghiệm thống kê để có được các tập dữ liệu mẫu đầu vào và ra tươngứng, từ đó dùng các kỹ thuật khai mỏ dữ liệu để rút ra các luật.
2.3 BỘ SUY DIỄN MỜ
Chúng ta sẽ nghiên cứu phương pháp thiết kế bộ suy diễn mờ trong trườnghợp cơ sở luật mờ gồm m luật if-then mờ chuẩn tắc, nhiều đầu vào và một đầu ra(MISO)
Các luật if-then có thể được áp dụng bằng các công thức tổng quát như đã
trình bày trong chương logic mờ(Fuzzy Logic) nhưng trong thực tế thì thường được
tính bằng công thức Mamdani max-min hoặc max-tích (max-prod) Chúng ta sẽxem xét kỹ kiến trúc bộ suy diễn mờ sử dụng phương pháp suy diễn max-min Khichuyển qua phương pháp suy diễn max-tích thì chỉ cần thay min bằng phép nhântrong các công thức
Cho A, A’, B lần lượt là các tập mờ trên vũ trụ X, X, Y Luật if A then B
được thể hiện như một quan hệ mờ R=A B trên X Y Khi đó tập mờ B’ suy ra từA’ được xác định bởi:
'B
µ (y) = max {min [µ 'A(x), µR(x,y)]} (*)
• Trường hợp một đầu vào và một luật
Trang 9= min { hA'∩A, µB(y)}
Trong đó hA’ᴖA là độ cao của tập mờ A’ᴖA
Hình 2.3: Minh họa cho trường hợp một đầu vào và một luật
• Trường hợp hai đầu vào và một luật
Đây là trường hợp luật được phát biểu “Nếu x là A và y là B thì z là C”
Luật : Nếu x là A và y là B thì z là C
Sự kiện : x là A’ và y là B’
Kết luận : z là C’
Luật mờ với điều kiện có 2 mệnh đề như trên có thể biểu diễn ở dạng AxB =>
C Suy luận tương tự trường hợp một đầu vào và một luật ta có:
Sự kiện : x1 là A1’ và x2 là A2’ và và xn là An’ Kết luận : z là C’
Trang 10Vậy ta có suy luận sau:
Hình 2.4: Minh họa cho trường hợp nhiều đầu vào và một luật
• Trường hợp nhiều đầu vào và nhiều luật
Trong trường hợp nhiều đầu vào và nhiều luật, ta tính kết quả đầu ra cho từngluật sau đó kết quả của hệ sẽ là các phép giao hoặc hợp các kết quả riêng đó tùytheo bản chất của hệ là hội hay tuyển các luật
Nếu trong một luật có dạng “Nếu x là A hoặc y là B thì z là C” ta tách thành 2luật riêng biệt “Nếu x là A thì z là C” và “Nếu y là B thì z là C” để tính
2.4 BỘ MỜ HÓA
Mờ hoá là quá trình biến đổi một vector x=(x1, x2, …, xn) U thành một tập
mờ A’ trên U A’ sẽ là đầu vào cho bộ suy diễn mờ Mờ hoá phải thoả các tiêuchuẩn sau:
• Điểm dữ liệu x phải có độ thuộc cao vào A’
• Vector x thu nhận từ môi trường ngoài có thể sai lệch do nhiễu nên A’ phảiphản ánh được tính gần đúng của dữ liệu thực
• Hiệu quả tính toán: đơn giản cho các tính toán trong bộ suy diễn
Sau đây là phần trình bày một số phương pháp mờ hoá thông dụng:
x u if
0 1
Trang 11x u
e
• Mờ hoá tam giác
Mỗi giá trị xi được biểu diễn thành một số mờ A’i Tập A’ là tích đề-các củacác A’i
i i i i
i i
b x u if
b x u if b
x u
|
| 0
|
|
|
| 1
Mờ hóa là quá trình nhận trị thành viên tập mờ đối với một biến đầu vào
cụ thể Ví dụ, tưởng tượng một người cao 1.75m và tập mờ Trung_bình đượcxác định bằng hàm thành viên và biểu đồ dưới đây
Trung _bình ( x ) = { 0 if x >= 1.90 or x < 1.70,
(1.90 - x)/0.1 if x >= 1.80 and x < 1.90, (x- 1.70)/0.1 if x >= 1.70 and x < 1.80 }
Hình 2.5: Đồ thị biểu diễn tập mờ Trung_bìnhTrị thực nhập ở đầu vào 1.75m sẽ được mờ hóa bởi tập mờ Trung_bình đểcung cấp trị Trung_bình(1.75) = 0.5
Trang 12Chương 3: GIẢI THUẬT DI TRUYỀN
3.1 CẤU TRÚC CHUNG CỦA CÁC GIẢI THUẬT DI TRUYỀN
Giải thuật di truyền có thể được xem như là phương pháp tìm kiếm đa dụng,một phương pháp tối ưu hay một kỹ thuật học cho máy tính Nó dựa trên nguyên lýcủa Darwin về tiến hóa sinh học: sinh sản và chọn lọc các cá thể phù hợp nhất Do
đó giải thuật di truyền luôn duy trì một tập các giải pháp ứng viên Tập này đượcgọi là quần thể và các giải pháp ứng viên được gọi là các cá thể Các các thể thườngđược biểu diễn trong các chuỗi nhị phân có độ dài cố định Giải thuật di truyềnđược xem như là một trong những kỹ thuật tìm kiếm hiệu quả đối với một lượng lớncác các bài toán tối ưu khó
3.1.1 Mô tả giải thuật di truyền
Một giải thuật di truyền đặc trưng thường thực hiện một chuỗi các bước sautrên quần thể:
• Bước 1: Khởi tạo một quần thể của các cá thể (số lượng cá thể trong quần thể
là n)
• Bước 2: Đánh giá sự phù hợp của của các cá thể trong quần thể
• Bước 3: Nếu điều kiện dừng được thỏa thì dừng chương trình và trả về cá thểtốt nhất trong quần thể Nếu không thì thực hiện tiếp bước 4
• Bước 4: Chọn n/2 cặp các cá thể từ quần thể hiện có Các cá thể có thể đượcchọn nhiều lần
• Bước 5: Tạo n cá thể mới từ các cặp đã chọn bằng cách áp dụng phươngpháp lai chéo
• Bước 6: Áp dụng phép đột biến trên các cá thể mới
• Bước 7: Thay thế quần thể cũ bằng các cá thể mới
• Bước 8: Quay lại bước 2
Quá trình này có thể được chia thành: đánh giá, chọn lọc và sinh sản Trong đóbước 3 được gọi là đánh giá, bước 4 được gọi là chọn lọc và bước 5, 6 được gọi làsinh sản Quá trình này sẽ kết thúc khi một giải pháp có thể chấp nhận được tìm ra,điều kiện hội tụ được thỏa mãn hay đạt đến số lần lặp được giới hạn trước
Trang 133.1.2 Sơ đồ mã hóa
Sơ đồ mã hóa là cách biểu diễn các giải pháp ứng viên thành các chuỗi nhịphân Do giải thuật di truyền thao tác trên các chuỗi nhị phân nên các giải pháp ứngviên cũng cần phải được biểu diễn ở chuỗi nhị phân để tiện cho việc xử lý Giả sử ta
có bài toán tìm một điểm trong không gian đa chiều thỏa điều kiện tối đa của mộthàm cho trước thì các giải pháp ứng viên có thể được mã hóa một cách đơn giảnthành chuỗi nhị phân như sau:
Ví dụ trong trường hợp này các giá trị chỉ là các số nguyên từ 0 đến 255 Một
bộ ba điểm (10, 41, 21) có thể được mã hóa thành:
00001010 00101001 00010101Trong đó 8 bit đầu tiên 00001010 là biểu diễn nhị phân của số thập phân 10, 8bit tiếp theo 00101001 biểu diễn số thập phân 41 và 8 bit cuối biểu diễn cho số 21.Tuy nhiên nếu các giải pháp ứng viên là các cấu trúc trừu tượng như cây hoặc
ma trận …, ta cần phải phát triển cách thức để mã hóa chúng thành các chuỗi nhịphân Do các cá thể trong quần thể đại diện cho các giải pháp ứng viên nên sơ đồ
mã hóa cần được thiết kế sao cho có thể bao trùm được không gian các giải pháp cóthể Bên cạnh đó, nó cũng cần được thiết kế sao cho việc điều chỉnh cá thể thôngqua các phép di truyền như lai chéo và đột biến có thể xảy ra một cách dễ dàng vàhiệu quả Đôi khi tùy vào từng bài toán cụ thể mà các cá thể có thể được mã hóathành chuỗi giá trị thực hay chuỗi kí hiệu thay vì chuỗi nhị phân
3.2 TIẾN HÓA TRONG CÁC GIẢI THUẬT DI TRUYỀN
3.2.1 Hàm phù hợp và việc đánh giá
Trong giải thuật di truyền, chúng ta cần một hàm để đánh giá sự phù hợp củacác giải pháp ứng viên trong suốt quá trình phát triển Độ phù hợp của các cá thể làđộng lực của giải thuật di truyền Nó đại diện cho mức độ phù hợp cho kết quả bàitoán của từng cá thể Vì vậy hàm phù hợp cần được thiết kế để cho ra mức độ phùhợp cao hơn đối với các giải pháp tốt hơn Nếu một hàm có giá trị tối ưu thì nóthường được dùng như hàm phù hợp
Trang 14Ví dụ như ta có hàm f(x) = -x2 + 4x - 1 có giá trị cực đại trong khoảng [0,2] vàgiá trị x được mã hóa thì hàm f(x) có thể được dùng như hàm phù hợp.
Tuy nhiên, nếu ta không tìm được một hàm như vậy thì ta cần phải đưa ra mộtcách thức đánh giá phú hợp với chất lượng của các giải pháp Ví dụ như trongtrường hợp cần xây dựng một cây quyết định từ một tập dữ liệu cho trước thỏa điềukiện tới ưu nào đó thì chúng ta nên thiết kế một hàm phù hợp dựa trên các biến cóthể phản ánh được chất lượng của một cây quyết định như số node, độ chính xáccủa đầu ra, …
3.2.2 Phép chọn
Phép chọn là một hành động nhằm chuẩn bị cho quá trình sinh sản Những cáthể được chọn được gọi là những cặp cha mẹ Trong phép chọn này, đầu tiên khảnăng của từng cặp các thể sẽ được đánh giá Khả năng này phụ thuộc rất lớn vào độphù hợp: độ phù hợp càng cao thì khả năng được chọn càng cao Nguyên nhân củaviệc này đến từ niềm tin rằng những cá thể đời sau tốt hơn có thể được sinh ra từnhững cặp cha mẹ tốt Có 2 phương pháp chính có thể được sử dụng cho phép chọn:
• Chọn theo kiểu bánh xe Roulette
Đây là một phương pháp chọn kinh điển, xác suất được chọn của từng các thể
là tỉ lệ giữa độ phù hợp của nó và tổng của tất cả các cá thể Cụ thể, phương thứcnày đưa ra xác suất lựa chọn cho các cá thể với tỉ lệ tuyến tính với độ phù hợp Ví
dụ có 5 cá thể I1, I2, I3, I4 và I5 với giá trị độ phù hợp lần lượt là 1, 4, 3, 6 và 2 Tổngcủa giá trị độ phù hợp là 16 do đó xác suất được chọn của I1 là 1/16 = 0.0625, của I2
là 4/16 = 0.25, của I3 là 3/16 = 0.1875, của I4 là 6/16 = 0.375 và của I5 là 2/16 =0.125 Mỗi cá thể sẽ được lựa chọn dựa trên các xác xuất vừa được tính
• Chọn dựa theo thứ hạng
Cách lựa chọn thứ 2 có thể dùng cho phép chọn là lựa chọn theo thứ hạng Đốivới cách lựa chọn theo kiểu bánh xe Roulette, xác suất được chọn tỉ lệ tuyến tínhvới giá trị độ phù hợp, trong khi đó cách chọn dựa theo thứ hạng xác suất đượcchọn là cố định tùy theo thứ hạng của độ phù hợp Ví dụ các xác suất được chotrước (0.3, 0.25, 0.2, 0.15, …) cá thể với giá trị độ phù hợp cao nhất luôn có xác
Trang 15xuất là 0.3, cá thể ở vị trí thứ 2 sẽ các xác xuất là 0.25 và xác suất của các cá thểtiếp theo sẽ được tính theo cách tương tự.
Một ưu điểm của phương pháp này so với cách lựa chọn theo kiểu bánh xeRoulette là nó ngăn chặn việc hội tụ nhanh về một giá trị tối đa cục bộ Nếu chỉ cóvài cá thể có giá trị độ phù hợp rất cao và các cá thể còn lại có giá trị rất nhỏ thì đốivới cách lựa chọn theo kiểu bánh xe Roulette các cá thể có độ phù hợp cao luôn cóxác suất được chọn cao trong khi các cá thể còn lại có xác suất rất thấp Từ đó các
cá thể với xác suất cao luôn được chọn và các thế hệ sau hầu hết đều được sinh ra từchúng Điều này làm cho độ đa dạng trong quần thể thấp và tất cả các cá thể dễ bịkẹt vào một giải pháp tối đa cục bộ
3.2.3 Lai chéo
Phép lai chéo tạo ra 2 cá thể mới bằng cách trao đổi thông tin giữa các cá thểđược chọn Hành động này là căn bản nhất trong giải thuật di truyền Phép lai chéođặc trưng nhất là lai chéo một điểm Hai cá thể được chọn sẽ bị cắt tại một điểmđược chọn bất kỳ và những phần bị cắt sẽ được trao đổi để tạo ra các cá thể mới nhưhình 3.1 Việc mở rộng phép lai chéo một điểm tạo thành phép lai chéo đa điểmtrong đó vài điểm được để thực hiện việc cắt và trao đổi Hình 3.2 minh họa chophép lai chéo 2 điểm
Hình 3.1: Phép lai chéo một điểm