HỆ chuyên gia DỰA trên LUẬT (RULE–BASED ES)
0 Các HCG dựa trên luật biểu diễn tri thức dưới dạng các luật if… then. Cách tiếp cận này thích hợp với kiến trúc ở hình 6_1, và là một trong những kỹ thuật cổ điển và ...
Các HCG dựa trên luật biểu diễn tri thức dưới dạng các luật if… then. Cách tiếp cận này thích hợp với kiến trúc ở hình 6_1, và là một trong những kỹ thuật cổ điển và được sử dụng rộng rãi nhất dùng cho biểu diễn tri thức về một lĩnh vực trong HCG. Kiến trúc của HCG này tương tự với mô hình hệ sinh (production system) đã trình bày ở chương 5.
Nếu chúng ta xem kiến trúc HCG ở hình 6_1 như một hệ sinh thì cơ sở tri thức là tập hợp các luật sinh (if… then). Dữ liệu cho trường hợp cụ thể được giữ trong bộ nhớ làm việc. Động cơ suy diễn thực hiện chu trình nhận dạng – hành động (recognize-act) của hệ sinh; cơ chế điều khiển này có thể là hường từ dữ liệu hay hướng từ mục tiêu.
Việc chọn lựa tiếp cận hướng từ dữ liệu hay hướng từ mục tiêu cũng giống như những thảo luận đã trình bày trong chương 3. Tuy nhiên, đối với một HCG, thì tiếp cận hướng từ mục tiêu sẽ tạo điều kiện cho quá trình giải thích hơn. Vì trong một hệ hướng từ mục tiêu, việc suy luận theo đuổi một mục tiêu cụ thể nào đó, mục tiêu đó bị chia thành nhiều mục tiêu con và cứ như thế; kết quả là việc tìm kiếm luôn luôn được hướng dẫn thông qua sự phân cấp mục tiêu và mục tiêu con này. Trong khi ở tìm kiếm hướng từ dữ liệu không tồn tại điều này, kết quả là quá trình tìm kiếm thường có vẻ dài dòng và không tập trung.
Để có một ví dụ cụ thể hơn về giải quyết vấn đề theo hướng từ mục tiêu, ta xét một HCG nhỏ dùng để chẩn đoán những trục trặc trong xe hơi, gọi tắt là HCG “Chẩn đoán xe hơi”:
Luật 1 IF động cơ nhận được xăng AND động cơ khởi động được
THEN trục trặc là do bugi.
Luật 2 IF động cơ không khởi động được AND đèn không sáng
THEN trục trặc là do ắcquy hoặc dây cáp
Luật 3 IF động cơ không khởi động được AND đèn sáng
THEN trục trặc là do môtơ khởi động
Luật 4 IF còn xăng trong bình chứa nhiên liệu AND còn xăng trong bộ chế hòa khí
THEN động cơ nhận được xăng
Trong chế độ điều khiển hướng từ mục tiêu, đầu tiên mục tiêu cao nhất là “trục trặc là do X” sẽ được đưa vào bộ nhớ làm việc như hình 6_4:

Hình 6_4. Hệ sinh tại thời điểm ban đầu của một lần chẩn đoán.
Có 3 luật đối sánh (match) với biểu thức này trong bộ nhớ làm việc: luật 1, 2 và 3. Nếu ta chọn luật ưu tiên theo số thứ tự của nó, thì luật 1 sẽ được đốt cháy, khi đó X sẽ được gắn kết (bound) với giá trị bugi và những tiền đề (vế trái) của luật 1 được đặt vào bộ nhớ làm việc như hình 6_5.

Hình 6_5. Hệ sinh sau khi luật 1 được đốt cháy.
Để chứng minh mục tiêu con là động cơ nhận được xăng thì luật 4 được đốt cháy, và những tiền đề của luật này được đặt vào bộ nhớ làm việc như hình 6_6.

Hình 6_6. Hệ sinh sau khi đốt cháy luật 4.
Tại thời điểm này, có ba mục trong bộ nhớ làm việc (các mục in nghiêng trong hình 6_6) là không đối sách với bất kỳ kết luận của luật nào. Trong tình huống này, HCG sẽ truy vấn trực tiếp người dùng về những mục tiêu mới này. Nếu người dùng xác nhận cả ba mục tiêu này đều đúng, thì HCG sẽ xác định một cách thành công rằng trục trặc xe là do bugi. Trong quá trình tìm ra lời giải này, hệ thống đã kiểm tra nhánh trái nhất của đồ thị Và/Hoặc trong hình 6_7.
Hình 6_7. Đồ thị Và/Hoặc được tìm kiếm trong ví dụ chẩn đoán xe ôtô.
Khả năng giải thích và tính trong suốt của suy luận hướng từ mục tiêu
Để thấy được khả năng giải thích và tính trong suốt của suy luận hướng từ mục tiêu, ta giả định phiên chẩn đoán đang ở giai đoạn của hình 6_6. Đoạn hội thoại sau đây được bắt đầu bằng việc máy tính yêu cầu người dùng cho biết về các mục tiêu con hiện có trong bộ nhớ làm việc (trả lời của người dùng được gạch dưới):
- còn xăng trong bình chứa nhiên liệu? yes
- còn xăng trong bộ chế hòa khí? yes
- động cơ khởi động được không? why
Đến đây, người dùng đánh vào câu hỏi why, nghĩa là muốn hỏi, tại sao anh cần biết động cơ có khởi động được hay không? Khi đó hệ thống trả lời
Đã xác định được rằng:
1. động cơ nhận được xăng,
Vì vậy nếu
2. động cơ khởi động được ,
Thì có thể kết luận: trục trặc là do bugi
Giả sử người dùng tiếp tục hỏi:
động cơ nhận được xăng như thế nào?
Khi đó, hệ thống sẽ trả lời:
Điều này có từ luật 4
IF còn xăng trong bình chứa nhiên liệu AND còn xăng trong bộ chế hòa khí
THEN động cơ nhận được xăng
Người dùng đã cho biết: còn xăng trong bình chứa nhiên liệu
Người dùng đã cho biết: còn xăng trong bộ chế hòa khí
Một lần nữa, kiến trúc hệ sinh cho chúng ta một cở sở thiết yếu để có những giải thích này. Mỗi chu trình của vòng lặp điều khiển sẽ chọn và đốt cháy một luật khác. Chương trình có thể dứng lại sau mỗi chu trình và cho phép người dùng kiểm tra. Vì mỗi luật biểu diễn một bó tri thức đầy đủ, nên luật hiện tại cho ta một ngữ cảnh để giải thích. Ngoài ra, tính module của mỗi luật cũng tạo điều kiện cho việc thêm hay sửa đổi một luật được thực hiện một cách dễ dàng mà không hề ảnh hưởng đến các luật khác.
Hệ chuyên gia R1/XCON
HCG R1 hay XCON được đưa ra vào năm 1982 là một trong những HCG thương mại thành công đầu tiên. Như đã giới thiệu trong các phần trên, ban đầu chương trình được thiết kế chỉ để định cấu hình cho các máy tính VAX 780; sau đó nó được mở rộng để xử lý luôn cho các hệ máy VAX và hệ máy PDP-11. Đầu vào của hệ thống là đơn đặt hàng của khách hàng và sau đó áp dụng các luật để sinh ra một cấu hình hoàn chỉnh, thống nhất cùng với các sơ đồ biểu diễn mối quan hệ về không gian và logic của các bộ phận trong máy (McDermott 1981).
Kiến trúc của HCG XCON được mô tả như hình 6_8.

Hình 6_8. Kiến trúc của HCG XCON
XCON là một HCG dựa trên luật, nó chứa một cơ sở các luật bao gồm khoảng 10000 luật được viết với ngôn ngữ OPS5 (OPS – Official Production System). Các luật này dùng để điều khiển quá trình tạo cấu hình cho máy, nó có một đặc điểm đặc biệt là tiền đề của luật thường bắt đầu bằng một điều kiện kiểm tra tình huống hiện tại, chẳng hạn như:
IF the most current active context is distributing Massbus devices
& there is a single port disk drive that has not been assigned to a Massbus
& there are no unassigned dual port disk drives & the number of devices that each Massbus should support is known
& there is a Massbus that has been assigned at least one disk drive and that should support additional disk drives
& the type of cable needed to connect the disk drive to the previous device is known
THEN assign the disk drive to the Massbus
Trong luật trên, điều kiện đầu tiên (được in nghiêng) là điều kiện kiểm tra xem tình huống mới nhất hiện tại (most current active context) có phải là đang phân phối các thiết bị Massbus hay không? Nếu đúng thì động cơ suy diễn mới kiểm tra các điều kiện kế tiếp, nếu sai thì bỏ qua luật này. Để có thể biết được tình huống hiện tại là gì, hệ thống sẽ truy cập vào bộ nhớ làm việc, nơi có lưu trữ các ký hiệu về tình huống hiện tại. Chính nhờ cấu trúc luật đặc biệt này mà mặc dù cơ sở luật có đến 10000 luật nhưng hệ thống thực hiện quá trình đối sánh để đưa ra các luật khả thi tại một thời điểm là rất nhanh. Với tính chất này, có thể nói công việc tạo cấu hình của R1/XCON được xem như là một hệ thống phân chia thành các công việc nhỏ hơn với sự phụ thuộc thời gian (temporal dependency) rất mạnh, công việc này phải thực hiện trước công việc kia.
Ngoài ký hiệu tình huống, bộ nhớ làm việc của hệ thống còn chứa các thông tin như ký hiệu của các thành phần đang có, ký hiệu các cấu hình đang thực hiện dở dang, chưa hoàn chỉnh. Vì các thành phần của máy thường được đặc trưng bởi nhiều thông số kỹ thuật, nên bộ nhớ làm việc chỉ chứa ký hiệu của nó, còn thông tin về các thông số này sẽ được lưu trong một cơ sở dữ liệu.
Động cơ suy diễn của XCON được phát triển bằng OPS5, sử dụng tiếp cận tìm kiếm hướng từ dữ liệu, hay suy luận tiến. Kết quả của hệ thống có thể nói là tương đương hoặc có khi tốt hơn giải pháp của các chuyên gia con người. Về tốc độ, thì HCG cho ra giải pháp nhanh gấp mười lần chuyên gia, và đã tiết kiệm được cho công ty DEC hàng năm khoảng 25 triệu đôla.
Kết luận về HCG dựa trên luật
Ưu điểm của HCG dựa trên luật:
- Khả năng sử dụng trực tiếp các tri thức thực nghiệm của các chuyên gia.
- Tính module của luật làm cho việc xây dựng và bảo trì luật dễ dàng.
- Có thể thực hiện tốt trong các lĩnh vực hạn hẹp.
- Có tiện ích giải thích tốt.
- Các luật ánh xạ một cách tự nhiên vào không gian tìm kiếm trạng thái.
- Dễ dàng theo dõi một chuỗi các luật và sửa lỗi.
- Sự tách biệt giữa tri thức và điều khiển giúp đơn giản hóa quá trình phát triển HCG.
Khuyết điểm của HCG dựa trên luật:
- Các luật đạt được từ các chuyên gia mang tính heuristic rất cao. Chẳng hạn như trong lĩnh vực y học, luật “If sốt-cao Then bị-nhiễm-trùng” là sự kết hợp trực tiếp các triệu chứng quan sát được và các chẩn đoán, mà không thể hiện sự hiểu biết lý thuyết sâu hơn về lĩnh vực chuyên ngành (như cơ chế phản ứng của cơ thể để chống lại vi trùng chẳng hạn), hoặc luật “If sốt-cao Then cho-uống-Aspirin” cũng không thể hiện tri thức về giải quyết vấn đề tức là quá trình chữa bệnh như thế nào.
- Các luật heuristic “dễ vỡ”, không thể xử lý các trường hợp ngoài dự kiến. Vì các luật được tạo ra từ kinh nghiệm của các chuyên gia trên những tình huống đã biết, nên khi gặp phải một tình huống mới không đúng với các kinh nghiệm đó, thì các luật này không giải quyết được.
- Có khả năng giải thích chứ không chứng minh. HCG dựa trên luật chỉ có thể giải thích rằng kết luận này là do suy luận từ các luật như thế nào, chứ không chứng minh được kết luận đó là đúng.
- Các tri thức thường rất phụ thuộc vào công việc. Quá trình thu thập tri thức rất phức tạp và khó khăn, tuy nhiên, tri thức có được không thể sử dụng lại cho một công việc khác.
- Khó bảo trì các cơ sở luật lớn.