II. MộT Số SƠ Đồ CƠ BảN Để XĐY DựNG MÂY SUY DIễN
a. Sơ đồ PREDIAGRAM− 1: lấy ngay kết luận của mỗi luậ t
PREDIAGRAM−1 lă sơđồ mây suy diễn gồm hai thủ tục SETUP-A-FACT vă RUN-A- CYCLE. Mây suy diễn được khởi động khi thủ tục SETUP-A-FACT được gọi. Ví dụ, để thiết lập Q, người ta gọi : SETUP-A-FACT (‘Q’).
procedure SETUP-A-FACT (FACT)
1. if FACT in FACTSBASE then return ‘success’ 2. return RUN-A-CYCLE (RULESBASE)
procedure RUN-A-CYCLE (RULES, FACT, ARULE) 1. if RULES = ∅ then return ‘failure’
2. ARULE ← chọn một luật năo đó từ RULES (chẳng hạn luật gặp đầu tiín) 3. RULES ← RULES − { ARULE }
4. if (∀) (ARULE.premise) in FACTSBASE then 4.1 begin
4.2 if ARULE.conclusion = FACT then return ‘success’ 4.3 if not (ARULE.conclusion in FACTSBASE) then
FACTSBASE ← FACTSBASE + { ARULE.conclusion } 4.4 RULESBASE ← RULESBASE − { ARULE }
4.5 return RUN-A-CYCLE (RULESBASE) 4.6 end
5. return RUN-A-CYCLE (RULES)
Hình 3.5. Sơđồ mây PREDIAGRAM−1
Thủ tục SETUP-A-FACT gđy ra sựsuy diễn tiến của câc luật, bằng câch so sânh câc phần tử thuộc tiền đề của câc luật với câc phần tử của cơ sở sự kiện, xem chúng như những sự kiện
đê được thiết lập. Người ta cũng nói trong thủ tục SETUP-A-FACT, phần tiền đề của câc luật (giả sử lă câc thănh phần bín trâi) cũng lă phần khởi động.
Khi một luật được khởi động, phần tử kết luận được thiết lập vă ngay lập tức được đưa văo trong cơ sở sự kiện FACTSBASE. Trong suốt quâ trình thực hiện thủ tục, FACTSBASE chỉ chứa câc sự kiện đê được thiết lập.
Chẳng hạn 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ự
Mây suy diễn 77 Mây hoạt động như sau : luật 3 được khởi động để bổ sung B văo FACTSBASE, luật 4
được khởi động để bổ sung Q. Lời gọi thủ tục trả về kết quả «success».
Hình 3.4. biểu diễn việc liín kết câc luật 3 vă 4 như lă một đồ thị VĂ-HOẶC. Hình 3.8 dưới đđy biểu diễn đồ thị trạng thâi của thủ tục.
Hình 3.6. Đồ thị trạng thâi của PREDIAGRAM−2 để thiết lập Q
Vị trí của PREDIAGRAM−1 đối với chu kỳ cơ bản tổng quât
Bước RESTRICTION loại trừ tất cả những luật đê sử dụng : xem lệnh 4.3 trong thủ tục RUN-A-CYCLE ở hình 3.5. Câc bước FILTERING vă CONFLICT-RESOLUTION đan xen nhau trong câc lệnh từ 1 đến 4 của RUN-A-CYCLE.