II. MộT Số SƠ Đồ CƠ BảN Để XĐY DựNG MÂY SUY DIễN
f. Một văi biến tấu đơn giản khâc của MIXEDIAGRAM
1. Dêy câc băi toân. Tương tâc
Trín nhiều điểm khâc nhau, người ta có thể phỏng theo sơđồ BACK DIAGRAM−1. Đểđưa ra một dêy có thứ tự câc băi toân, chỉ cần xem xĩt lại thủ tục SOLVE-A-PROBLEM sao cho dêy năy được nạp văo PROBLEMSTACK khi mới khởi động. Ta có thể dự kiến một hoạt động tương tâc : khi không có một luật năo âp dụng được cho băi toân nằm trín đỉnh của PROBLEMSTACK (xem lệnh 2 của RUN-A- CYCLE), người ta có thể quyết định, trước khi quay lui, hỏi người sử dụng xem có cần hiển thị phần tử đỉnh của PROBLEMSTACK, vă hiển thị, hoặc tất cả hoặc một phần của FACTSBASE hay không ? Người sử dụng cũng có thể chỉ ra băi toân có thể giải được trong điều kiện đê định.
2. Điều khiển theo độ sđu
Vì câc sự kiện đê thiết lập có thểđược xem xĩt lại, người ta cần phải khởi động một luật nhiều lần, trong cùng một bối cảnh, nín có thể dẫn đến nguy cơ xoay vòng. Đểđiều khiển sự
tiến triển tìm kiếm theo độ sđu, người ta có thể gắn mỗi phần tử PB của PROBLEMSTACK với một «mức» bằng mức của băi toân lă băi toân đê được phđn tâch để xuất hiện PB cộng thím 1. Băi toân khởi đầu sẽđược gắn mức 0. Người ta không cho phĩp giải quyết băi toân có mức vượt quâ một giâ trị gíới hạn đê được ấn định trước. Chú ý rằng mức của một băi toân có thể giảm dần theo quâ trình tìm kiếm.
3. Tìm kiếm tất cả câc lời giải
Có thể có nhiều kế hoạch hănh động cùng biểu diễn lời giải của một băi toân đê cho. Trong ví dụở hình 3.13, người ta có thể tìm thấy hai kế hoạch để giải P lă kế hoạch (A1 A2) vă kế hoạch (A3).
Nếu ta thím một luật thứ tâm lă P1 ← A1, ta sẽ tìm thấy hai kế hoạch để giải P2 lă (A3 A4 A5 A2) vă kế hoạch (A1 A4 A5 A2).
Lúc năy ta có thể thay đổi MIXEDIAGRAM sao cho khi cần, nó có thể tìm được câc kế
hoạch khâc nhau năy. Muốn vậy, ta sẽ bỏ dòng lệnh 5 của SOLVE-A-PROBLEM vă thay thế
lệnh 1 của SOLVE bởi :
1 if PROBLEMSTACK = ∅ then 1.1 begin
1.2 Soạn thảo PLAN
1.3 Yíu cầu người sử dụng lập PLAN khâc (Y/N?) 1.4 if đồng ý (Y) then return ‘failure’
1.5 return ‘success’ 1.6 end
Ở lệnh 1.4, người ta đê tạo ra một ‘failure’ để bắt buộc mây tìm kiếm một lời giải khâc có thể, xuất phât từ bối cảnh hiện hănh.
II.5. Sơđồ mây sử dụng biến
(suy diễn lùi với chếđộ bắt buộc vă đơn điệu)
Hình 3.16 trình băy một ví dụ về tri thức vă câc băi toân sẽ được giải bởi mây BACKDIAGRAM−3 cho bởi hình 3.19. Chú ý rằng trong hình 3.16, câc thể hiện tri thức có chứa câc biến, câc biến được đặt tín quy ước lă x, y, z, u vă v. Câc ký hiệu C1, C2, C3, C4, C5, C8 biểu diễn câc sự kiện đê được thiết lập, C6, C7, C9 biểu diễn luật.
Sự kiện C3 trong cơ sở thể hiện pierre lă cha của jean. Sự kiện C6 nói lín rằng dù x hay y lă như thế năo, ngay khi SON(y, x) được thiết lập, nghĩa lă khi đê thiết lập y lă con của x, thì có thể thiết lập FATHER(x, y), nghĩa lă x lă cha của y. Hay ngược lại : dù x hay y lă như thế
năo, để thiết lập FATHER(x, y), chỉ cần thiết lập SON(y, x). Sự kiện C6 thể hiện dù x, y vă z lă như thế năo, để thiết lập rằng x lă ông của y, chỉ cần thiết lập x lă cha của z vă z lă cha của y.
Ở đđy, ta quy ước rằng câc thănh phần bín trâi luật lă kết luận của luật, câc thănh phần bín phải luật lă tiền đề. Câc luật luôn luôn chỉ chứa một kết luận duy nhất vă có một hoặc nhiều tiền đề.
Hình 3.16. Cơ sở tri thức vă PROBLEMSTACK của BACKDIAGRAM−3
Ví dụ 1 :
Cần «tìm x vă y sao cho x lă ông của y, x có tóc hoe». Trạng thâi ban đầu của PROBLEMSTACK (viết tắt PBS) cho trong hình 3.16 trín đđy.