Nguyên lý hoạt động của các máy suy diễn
Trong các hệ thống dùng luật, mỗi luật bao gồm thông tin về bộ khởi động (starter), hay điều kiện khởi động của luật, và thân (body) của luật, hay thông tin về kết quả khởi động luật: Luật = <bộ khởi động> + <thân> Máy suy diễn liên ...
Trong các hệ thống dùng luật, mỗi luật bao gồm thông tin về bộ khởi động (starter), hay điều kiện khởi động của luật, và thân (body) của luật, hay thông tin về kết quả khởi động luật:
Luật = <bộ khởi động> + <thân>
Máy suy diễn liên kết các chu kỳ (cycle), mỗi chu kỳ gồm hai giai đoạn (phase) là EVALUATION (đánh giá) và EXECUTION (thực hiện).
Khi máy được khởi động, cơ sở tri thức chứa các thông tin liên quan đến phát biểu bài toán cần giải :
- Các sự kiện đã được xác nhận và các sự kiện sẽ được thiết lập (biểu diễn bài toán hay đích),
- Những tri thức thực hành thuộc lĩnh vực tạo nên cơ sở luật.
Theo sơ đồ, ở giai đoạn EVALUATION, máy suy diễn xác định trong cơ sở luật có tồn tại các luật sẽ được khởi động căn cứ vào trạng thái hiện hành của cơ sở sự kiện không, nếu có, thì là những luật nào. Trong giai đoạn EXECUTION, máy suy diễn khởi động các luật đã được tìm thấy ở giai đoạn EVALUATION.
Hình 3.1 dưới đây mô tả chu kỳ cơ bản của một máy suy diễn. Ta quy ước gọi RB là cơ sở luật (Rules Base) và FB là cơ sở sự kiện (Facts Base) tại thời điểm bắt đầu của EVALUATION. Máy suy diễn điều khiển liên kết các bước (step) của giai đoạn EVALUATION, của các giai đoạn EVALUATION và EXECUTION, rồi các chu kỳ đầy đủ giữa chúng.
Chu kỳ cơ bản của một máy suy diễn
Máy suy diễn được điều khiển dừng ở giai đoạn EVALUATION hoặc ở giai đoạn EXECUTION :
- Căn cứ vào trạng thái hiện hành của cơ sở sự kiện, máy dừng ở giai đoạn
EVALUATION khi không tìm thấy các luật khởi động trong cơ sở luật.
- Máy dừng ở giai đoạn EXECUTION khi một trong các luật khởi động cho kết quả dừng.
Giai đoạn EVALUATION gồm ba bước : RESTRICTION (hay SELECTION), PATTERN- MATCHING (hay FILTERING) và CONFLICT-RESOLUTION.
Bước thu hẹp (RESTRICTION)
RESTRICTION (thu hẹp) là bước đầu tiên của giai đoạn EVALUATION, để xác định từ một trạng thái hiện hành hay quá khứ của cơ sở sự kiện (ký hiệu FB) và từ một trạng thái hiện hành hay quá khứ của cơ sở luật (ký hiệu RB), một tập hợp con F1 của FB và một tập hợp con R1 của RB sao cho có thể tiến hành so sánh được trong bước FILTERING tiếp theo.
Người ta thường dùng kỹ thuật khai thác các tri thức dựa trên sự phân bố các sự kiện và các luật theo các họ riêng biệt. Đôi khi, các tri thức cho phép phân biệt các sự kiện và các luật liên quan trực tiếp đến lĩnh vực. Ví dụ, trong một ngữ cảnh chẩn đoán bệnh, người ta có thể phân biệt được ngay các luật liên quan đến các bệnh trẻ em với các luật khác, hay phân biệt được các sự kiện liên quan đến phân tích máu với các sự kiện khác.
Như vậy, bước RESTRICTION là ưu tiên cho một nhóm nào đó các luật hay các sự kiện đối với một hoặc nhiều chu kỳ. Thông thường, những tri thức để phân biệt các sự kiện và các luật là rất tổng quát.
Chẳng hạn, nhiều hệ thống phân biệt được các sự kiện đã thiết lập (coi như đã được xác nhận) với các sự kiện sẽ thiết lập (biểu diễn bài toán ban đầu hay đích, hay giả thuyết). Việc thu hẹp sẽ ưu tiên các sự kiện-bài toán so với các sự kiện-bài toán khác, hay ưu tiên bài toán xuất hiện gần đây nhất so với các bài toán trước đó. Sự phân biệt theo họ các sự kiện hay theo họ các luật thường được cụ thể hoá bởi định nghĩa các cấu trúc phân biệt.
Bước so khớp (PATTERN-MATCHING)
PATTERN-MATCHING (so khớp hay lọc) là bước thứ hai của giai đoạn EVALUATION. Máy suy diễn so sánh phần khởi động của mỗi quy tắc của R1 với tập hợp các sự kiện F1. Một tập hợp con R2 của R1 nhóm các luật tương thích với F1, nghĩa là những luật có điều kiện khởi động thoả mãn các trạng thái của F1 (tuỳ theo mỗi hệ thống mà có những tiêu chuẩn thoả mãn khác nhau). R2 được gọi là tập hợp xung đột (conflict set).
Giải quyết xung đột (CONFLICT-RESOLUTION)
Bước thứ ba của giai đoạn EVALUATION là CONFLICT-RESOLUTION. Máy suy diễn xác định các luật, giả sử là một tập hợp con R3 của R2, cần phải được khởi động. Nếu tập hợp R3 rỗng, thì giai đoạn EXECUTION của chu kỳ này không được thực thi.
Thông thường, người ta lựa chọn các luật dựa trên những tiêu chuẩn không liên quan đến nghĩa (meaning/signification) của luật có mối quan hệ với bối cảnh áp dụng. Ví dụ, cơ sở luật được sắp xếp ngẫu nhiên thành một danh sách và người ta chọn những luật đứng đầu tiên, hoặc chọn ưu tiên những luật ít sử dụng hơn, hoặc có thể chọn trước tiên những luật ít phức tạp nhất : ít điều kiện cần kiểm tra, ít biến (variable) cần xác định trước khi khởi động, v.v...
Đôi khi, người ta dựa trên những tiêu chuẩn liên quan đến nghĩa để chọn các luật có mối quan hệ với bối cảnh áp dụng. Chẳng hạn, một số luật có thể được chọn do có những dấu hiệu giải bài toán tốt hơn, hay có thể đáng tin cậy hơn, hay ít tốn kém về chi phí hơn so với những luật khác, v.v...
Khi R3 rỗng, một số máy suy diễn tự động dừng : người ta nói những máy này có một chế độ điều khiển bắt buộc (irrevocable control regime). Một số máy khác thì lại xem xét lại tập hợp tương tranh R2 của một chu kỳ trước đó và kiểm tra khả năng khởi động của các luật khác của R2.
Tuy nhiên, nếu không có một khởi động nào cho luật được thực thi kể từ phép chọn trước đó trong R2, nghĩa là nếu kết quả của các luật này không được huỷ bỏ, trước khi khởi động các luật khác, thì người ta cũng nói rằng những máy này hoạt động theo chế độ điều khiển bắt buộc. Ngược lại, người ta nói chúng hoạt động theo chế độ điều khiển bởi thăm dò (tentative control regime) khi có sự thay thế các khởi động luật bởi các khởi động khác.
Để thể hiện một máy quay lại giải quyết các xung đột trước đó, bằng cách khởi động lại các luật, người ta nói máy hoạt động quay lui (to backtrack).
Sự quay lui hay không quay lui của máy lúc đầu được điều khiển ở giai đoạn RESTRICTION, tiếp theo, bởi giai đoạn CONFLICT-RESOLUTION. Trong mục tiếp theo, ta sẽ giới thiệu chi tiết hoạt động của một số máy đơn giản ở chế độ điều khiển bắt buộc hay ở chế độ điều khiển bởi thăm dò.
Trên thực tế, mỗi giai đoạn của chu kỳ cơ bản của một máy có thể dẫn đến những cách sắp đặt rất khác nhau. Hình 3.1 trên đây mô tả hoạt động của một chu kỳ. Để giải quyết một bài toán đã cho, có thể cần đến hàng ngàn chu kỳ.
Mỗi chu kỳ cơ bản của một máy suy diễn làm ta liên tưởng đến chu kỳ-lệnh của một máy tính. Nhưng mỗi chu kỳ của máy suy diễn, hay chu kỳ suy diễn, đòi hỏi hàng trăm, thậm chí hàng ngàn các chu kỳ-lệnh này. Chính vì vậy, cần có những máy tính có tốc độ lớn để có thể đạt được hàng trăm chu kỳ suy diễn trong một giây. Dự án máy tính thế hệ 5 của Nhật đề xuất những kiến trúc đặc trưng cho phép đạt được tốc độ hàng triệu hay hàng tỷ lips (Logical Inference Per Second, mỗi chu kỳ là một suy diễn).