II. MộT Số SƠ Đồ CƠ BảN Để XĐY DựNG MÂY SUY DIễN
b. Sơ đồ PREDIAGRA M: tạo sinh vă tích luỹ sự kiện theo chiều rộng
Tương tự PREDIAGRAM1, sơ đồ mây suy diễn PREDIAGRAM2 cũng gđy ra sự suy diễn tiếncủa câc luật vă được gọi bởi thủ tục SETUP-A-FACT ().
Cho E lă một sự kiện của cơ sở sự kiện. Trong PREDIAGRAM2, ngược lại với những gì đê xảy ra trong PREDIAGRAM1, mây tìm kiếm ưu tiín lần lượt từng luật đối với câc luật tương thích với E, trước khi bổ sung câc kết luận văo trong E vă trước khi sử dụng chúng để khởi động câc luật mới.
Ta gọi câc sự kiện ở mức 0 lă câc sự kiện khởi đầu, câc sự kiện ở mức 1 lă câc kết luận của câc luật có thể được khởi động xuất phât từ câc sự kiện khởi đầu, vă một câch tổng quât, câc sự kiện ở mức n1 lă câc sự kiện nhận được xuất phât từ câc sự kiện mă ít nhất một sự kiện ở mức n, trong khi đó, câc sự kiện khâc ở mức nhỏ hơn hoặc bằng n. Thủ tục PREDIAGRAM2 chỉ tạo ra câc sự kiện ở mức n1 khi tất cả câc sự kiện ở mức n đê được tạo ra. Người ta nói rằng PREDIAGRAM2 tạo ra câc sự kiệnưu tiín theo chiều rộng.
Những kết luận mới của tất cả câc luật tương thích với E được tích luỹ liín tiếp nhờ biến NEWFACTS (lệnh 4.3). Khi tất cả câc luật đê được xem xĩt, NEWFACTS trở nín rỗng trong FACTSBASE (lệnh 1.3).
procedure SETUP-A-FACT (FACT)
1. if FACT in FACTSBASE then return ‘success’
2. return RUN-A-CYCLE (FACTSBASE, emptylist, FACT)
procedure RUN-A-CYCLE (RULES, NEWFACTS, FACT, ARULE) 1. if RULES = then
1.1 begin
1.2 if NEWFACTS = then return ‘failure’
1.3 FACTSBASE FACTSBASE + NEWFACTS
1.4 return RUN-A-CYCLE (FACTSBASE, emptylist, FACT) 1.5 end
2. ARULEchọn một luật năo đó từ RULES (chẳng hạn luật gặp đầu tiín) 3. RULESRULES{ ARULE }
4. if () (ARULE.premise) in FACTSBASE then 4.1 begin
4.2 if kết luận của ARULE = FACT then return ‘success’ 4.3 if not (ARULE.conclusion in FACTSBASE)
or not (ARULE.conclusion in NEWFACTS)
then NEWFACTS NEWFACTS + { ARULE.conclusion } 4.4 RULESBASE RULESBASE{ ARULE }
4.5 end
5. return RUN-A-CYCLE (RULES, NEWFACTS, FACT)
Hình 3.7. Sơ đồ mây PREDIAGRAM2
Thủ tục PREDIAGRAM2 gđy ra câc sự suy diễn tiến của câc luật vă vă tạo ra câc sự kiện theo chiều rộng. Để minh hoạ, ta xĩt cơ sở sự kiện vă luật đê cho trong ví dụ ở hình 3.2. Để có thể thiết lập sự kiện Q, người ta khởi động mây PREDIAGRAM2 bởi lời gọi SETUP-A- FACT(‘Q’).
Đồ thị VĂ-HOẶC trong hình sau đđy biểu diễn hoạt động của mây :
M c 0 : A * D * E * C * H * G * K * Lu t 3 = = Lu t 6 = Lu t 9 (kh i ng 1) (kh i ng 2) (kh i ng 3) M c 1 : * B * R * F Lu t 4 = (kh i ng 4) M c 2 : * Q
Hình 3.8. Đồ thị VĂ-HOẶC biểu diễn hoạt động của mây PREDIAGRAM2
Xuất phât từ trạng thâi đầu của cơ sở sự kiện {A, C, D, E, G, H, K}, luật 3 được khởi động lăm cho NEWFACTS = {B}. Sau đó, lần lượt luật 6 rồi luật 9 được khởi động xuất phât từ cùng trạng thâi đầu lăm cho NEWFACTS = {B, R, F}. Lúc năy không còn trạng thâi năo được khởi động xuất phât từ trạng thâi đầu. Sau đó, tập hợp NEWFACTS trở nín rỗng trong FACTSBASE vă FACTSBASE trở thănh {A, C, D, E, G, H, K, B, R, F}. Xuất phât từ trạng thâi năy, luật 4 được khởi động vă tạo ra sự kiện Q.
Vị trí của PREDIAGRAM2 đối với chu kỳ cơ bản tổng quât
Bước RESTRICTION một mặt, loại trừ tất cả những luật đê sử dụng, nhưng mặt khâc, không cho phĩp sử dụng câc sự kiện có mức n1 chừng năo mă tất cả câc sự kiện có mức nhỏ hơn hoặc bằng n chưa được tạo ra. Câc bước FILTERING vă CONFLICT-RESOLUTION đan xen nhau trong RUN-A-CYCLE.
Câc mây ở chế độ bắt buộc, đơn điệu
Cả hai mây PREDIAGRAM1 vă PREDIAGRAM2 đều hoạt động theo chế độ bắt buộc, vì rằng việc khởi động của một luật không bao giờ được thay thế bởi một khởi động khâc vă kết quả tạo ra bởi một luật trong cơ sở sự kiện không bao giờ được xĩt lại.
câc sự kiện đê thiết lập (lệnh 4.2), vì rằng câc sự kiện đê thiết lập vẫn còn đó để tiếp tục. Người ta nói rằng những mây năy lăđơn điệu.
II.3. Tìm luật nhờ suy diễn lùi với chế độ thăm dò đơn điệu