I FA THEN B
CHƯƠNG 7: HỆ CHUYÊN GIA MỜ
7.2. Xây dựng hệ chuyên gia mờ
Xây dựng một hệ chuyên gia mờ bất kỳ thông thường bao gồm 7 bước sau: - Bước 1: Xác định bài toán.
- Bước 2: Xác định các biến ngôn ngữ. - Bước 3: Xác định các tập mờ.
- Bước 4: Xác định các luật mờ. - Bước 5: Xây dựng hệ thống. - Bước 6: Kiểm thử hệ thống. - Bước 7: Điều chỉnh hệ thống.
Ví dụ dưới đây minh hoạ quá trình xây dựng một hệ chuyên gia
Trung bình Khử mờ Đọc vào Trung bình Trung bình Thấp Trung bình Thấp Nhiệt độ Áp suất Tốc độ RULE 1 RULE 2 Max Min
Chúng ta có nhiệm vụ xây dựng một hệ chuyên gia mờ trợ giúp Kathy, một người rất thích chơi gôn vào cuối tuần, điều khiển một xe gôn tự động (xe này có nhiệm vụ nhặt bóng một cách tự động) và nhờ vậy cô có thể thư giãn, chơi gôn thoải mái hơn. Quá trình xây dựng hệ chuyên gia mờ được chia thành các bước cơ bản lần lượt dưới đây:
Xác định bài toán
Trong bước này, ta đi xác định các nguồn tri thức. Các nguồn này thường là các chuyên gia của vấn đề cần giải quyết.
Chúng ta sẽ chọn Bob, một chuyên gia điều khiển xe gôn. Ông đã có nhiều năm kinh nghiệm và sẽ nói cho chúng ta làm thế nào để lái một chiếc xe gôn từ vị trí ban đầu đến vị trí của quả bóng một cách hiệu quả và an toàn. Chúng ta có được sự hiệu quả thông qua khoảng cách di chuyển và thời gian di chuyển. Chúng ta có được sự an toàn nhờ tránh được những cây nằm trên đường đi. Để giải quyết 2 mục tiêu này, chúng ta cung cấp cho hệ mờ gồm hướng và tốc độ của xe gôn. Hình 7.3 mô tả hình học sự di chuyển của xe gôn.
Bob có đưa ra những vấn đề cơ bản sau đây về xe gôn. Xe gôn khởi động từ vị trí ban đầu đến vị trí lấy bóng. Trên đường, xe phải điều khiển để loại bỏ sai số góc giữa hướng của xe gôn và hướng tới đích. Xe cần tăng tốc độ cho phép khi còn thấy xa đích, giảm khi thấy gần đích, gặp chướng ngại trên đường như cây cối thì vòng qua rồi lại tiến tới đích.
Xác định các biến ngôn ngữ
Bước tiếp theo là định nghĩa các biến ngôn ngữ cho bài toán. Chúng ta thu thập các biến ngôn ngữ thông qua cách Bob giải quyết bài toán.
Từ Bob, ta có 3 vấn đề cơ bản: Khoảng cách cây Y Xe gôn Bóng θ1 Khoảng cách bóng θ2 X θ1: góc giữa hướng xe và cây. θ2: góc giữa hướng xe và bóng
• Điều khiển tốc độ xe gôn.
• Điều khiển xe gôn vòng tránh bất cứ cái cây nào gặp trên đường.
Bob đưa ra các chiến lược giải quyết vấn đề điều khiển hướng xe gôn tới đích:
• Khi hướng của xe gôn rời xa đích thì phải điều chỉnh cho xe hướng về đích. Các chiến lược điều khiển tốc độ xe gôn:
• Khi xe gôn cách xa bóng thì tăng tốc độ xe lên
• Khi xe gôn gần bóng thì giảm tốc độ xe xuống Các chiến lược điều khiển cả hướng lẫn tốc độ:
• Khi xe gần cây và vẫn hướng tới cây thì giảm tốc độ và hướng cho xe tránh cây.
Cuối cùng ta được các biến ngôn ngữ cũng chính là các tập vũ trụ như sau:
Xác định tập mờ
Từ mỗi tập vũ trụ trên, ta định nghĩa các tập mờ. Chúng ta lại nhờ Bob liệt kê các giá trị cho từng biến ngôn ngữ. Chẳng hạn, kết quả cho tốc độ như sau:
Tốc độ: Không, Rất chậm, Chậm, Trung bình, Nhanh.
Tiếp đến, Bob đưa ra những thông tin ánh xạ các phần tử của về tập mờ tốc độ theo hình vẽ dưới đây.
Biến ngôn ngữKhoảng giá trịGóc lệch giữa hướng xe và bóng -180° tới 180°Góc cây giữa hướng xe và cây-180° tới 180°Tốc độ0 tới 1m/sGia tốc-2 tới 0.25
m/sKhoảng cách đích0 tới 600 mKhoảng cách cây0 tới 1000 m
Độ thuộc 1 0
0 1 2 3 4 5
Theo hình vẽ, ta có độ thuộc các tập mờ thuộc biến ngôn ngữ tốc độ như sau (X là giá trị rõ, Y là độ thuộc):
Tương tự như vậy, ta có các tập mờ cho những biến ngôn ngữ khác.
Như vậy, trong quá trình xây dựng tập mờ chúng ta duy trì một từ điển thuật ngữ mà chính nó chứa các biến ngôn ngữ, đồng thời đi kèm với những tính từ cho mỗi biến ngôn ngữ.
Trong mỗi tập mờ, cần đưa ra những giá trị mà qua đó xác định được hàm thuộc cho tập mờ đó.
Cần xử lý sự chồng chéo một cách thích hợp giữa các tập mờ liên tiếp nhau cùng có chung biến ngôn ngữ. Chẳng hạn, biến ngôn ngữ "Tốc độ" có 2 tập mờ liên tiếp nhau là "Tốc độ rất chậm" và "Tốc độ chậm". Theo hình 7.4, giữa chúng có sự chồng chéo. Tại giá trị rõ "Tốc độ" = 1, độ thuộc của cả hai tập này là 0.6.
Định nghĩa các luật mờ
Sau khi có được các tập mờ, chúng ta tiến hành xây dựng tập luật mờ. Thông thường, người ta chia các luật mờ thành các tập luật. Mỗi tập luật giải quyết một vấn đề.
Chẳng hạn, với vấn đề trên, có thể chia thành 3 tập luật là tập luật cho lái xe tới đích, tập luật cho điều khiển tốc độ và tập luật cho tránh cây.
Ví dụ, chúng ta sẽ có 3 luật sau đây: RULE 1 - Giảm chậm gia tốc xe gôn
IF Khoảng cách cây trung bình AND Tốc độ KHÔNG nhanh THEN Gia tốc giảm chậm RULE 2 - Giữ nguyên gia tốc xe gôn
IF Khoảng cách cây trung bình AND Tốc độ nhanh
THEN Gia tốc giữ nguyên RULE 3 - Giảm nhanh gia tốc xe gôn
IF Khoảng cách cây gần
Tốc độ khôngTốc độ rất chậmTốc độ chậmTốc độ trung bìnhTốc độ
AND Tốc độ nhanh THEN Gia tốc giảm nhanh
Trong luật trên, RULE 1 chỉ đây là luật thứ 1. Câu bên cạnh là giải thích ý nghĩa luật. Sau IF và trước THEN là các mệnh đề tương đương với tập mờ. Có thể dùng toán tử AND hay OR để xây dựng tập mờ.
Xây dựng hệ thống
Trong bước này, chúng ta lập trình mã hoá tập mờ, luật mờ và các thủ tục suy diễn bằng cách sử dụng các ngôn ngữ lập trình. Có 2 cách để thực hiện.
Cách thứ nhất là dùng các ngôn ngữ lập trình cơ bản như ngôn ngữ C, Pascal... Việc xây dựng từ những ngôn ngữ này sẽ tạo ra sự linh động trong hệ thống nhưng người phát triển không những phải mã hoá tri thức mà còn phải mã hoá các thủ tục cho lôgic mờ.
Cách thứ hai là dùng các ngôn ngữ hỗ trợ. Người ta đã xây dựng sẵn cấu trúc cho các tri thức, các môđun suy diễn, chúng ta chỉ cần vận dụng. Tuy nhiên, cách này dễ gây những hạn chế cho hệ thống. Công cụ hỗ trợ phát triển cho hệ chuyên gia mờ hiện nay có BOOLE (giá $95), CubiCalc (giá $495), TILShell (giá $3000)... và bộ công cụ mã nguồn mở FLOPS.
Kiểm thử hệ thống
Hình 7.5: Kiểm tra hệ thống
Khoảng cách cây Tốc độ Gia tốc
0.125 0.125 Gần Trung bình Trung bình Nhanh Giảm chậm Giảm nhanh KHÔNG nhanh Nhanh 0.625 Đọc vào = 28.5 Giữ nguyên Gia tốc = -0.643 RULE 1 RULE 2 RULE 3 Đọc vào = 4.5
Sau khi xây dựng hệ thống, chúng ta tiến hành kiểm tra thông qua các giá trị nhập vào cho biến ngôn ngữ.
Chẳng hạn, cơ sở dữ liệu luật gồm 3 luật ở trên. Chúng ta nhập các giá trị rõ cho 2 biến ngôn ngữ là: "Khoảng cách cây" = 28.5 và "Tốc độ" = 4.5. Hình 7.5 trình bày giá trị của gia tốc sau khi suy diễn.
Đìều chỉnh hệ thống
Điều chỉnh hệ thống bắt đầu với sự so sánh giữa đáp ứng của hệ thống với những yêu cầu ban đầu. Nói chung, điều chỉnh một hệ lôgic mờ bao gồm hay hay nhiều vấn đề sau đây:
• Thêm các luật nhằm tăng cường giải quyết một cách rõ ràng các tình huống đặc biệt.
• Sử dụng trạng từ thông qua các toán tử gia tử.
• Thêm các tập mờ cho một biến ngôn ngữ đã được định nghĩa.
PHẦN III: