II. MộT Số SƠ Đồ CƠ BảN Để XĐY DựNG MÂY SUY DIễN
c. Sơ đồ BACKDIAGRAM 2: tạo sinh câc băi toân con theo chiều sđu trừ
có một luật được kết luận ngay
Từ sơ đồ BACKDIAGRAM1, bằng câch thay đổi chiến lược theo chiều sđu, ta nhận được sơ đồ BACKDIAGRAM2 cho trong hình 3.12.
Chú ý rằng câc thủ tục SETUP1, SETUP2 vă FACTS-CONJUNCTION-SETUP của BACKDIAGRAM2 vă BACKDIAGRAM1 lă giống hệt nhau.
Giả sử ta có tập hợp câc luật kết thúc tại sự kiện FACT (lệnh 2 của thủ tục SETUP-A- FACT), ta mong muốn chỉ xĩt trước tiín nếu một trong câc luật năy lă kết thúc ngay lập tức, nghĩa lă nếu câc sự kiện của tiền đề của luật năy đê có mặt trong FACTSBASE (lệnh 3 của thủ tục SETUP-A-FACT).
Ta xĩt câc luật kết thúc tại sự kiện FACT tương ứng với một di chuyển theo chiều rộng trín đồ thị của hình... Đó lă sau khi xem xĩt theo chiều rộng không thănh công, người ta có xu hướng thiết lập câc sự kiện thiếu từ một đến nhiều luật. Điều năy tương ứng với một sự tăng tiến từ mức theo chiều sđu so với đỉnh biểu diễn FACT.
Chiến lược năy được nhìn nhận như lă một bước đầu tiín kể từ câc chiến lược ưu tiín theo chiều sđu đến câc chiến lược ưu tiín theo chiều rộng. Chiến lược năy cũng tương ứng với một dạng thức giải quyết xung đột đặc biệt.
procedure SETUP-A-FACT (FACT, CONFLICT) 1. if FACT in FACTSBASE then return ‘success’
2. CONFLICT { R | (R in FACTSBASE) and (FACT in R.conclusion) } 3. if DIRECTSETUP1 (CONFLICT) =‘succes s’ then return ‘success’ 4. return SETUP1 (CONFLICT)
procedure DIRECTSETUP1 (RULES) 1. if RULES = then return ‘failure’
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. THEFACTS { F | F in ARULE.premise }
5. if (THEFACTS lă tập hợp con của FACTSBASE) then return ‘success’ 6. return DIRECTSETUP1 (RULES)
procedure SETUP1 (RULES, ARULE) 1. if RULES = then return ‘failure’
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 SETUP2 (ARULE) = ‘success’ then return ‘success’ 5. return SETUP1 (RULES)
procedure SETUP2 (RULE, THEFACTS) 1. THEFACTS { F | F in ARULE.premise }
2. return FACTS-CONJUNCTION-SETUP (THEFACTS)
procedure FACTS-CONJUNCTION-SETUP (FACTS, AFACT) 1. if FACTS = then return ‘success’
2. AFACTlấy một sự kiện năo đó từ FACTS (chẳng hạn luật gặp đầu tiín) 3. FACTSFACTS{ AFACT }
4. if SETUP-A-FACT (AFACT) = ‘failure’ then return ‘failure’ 5. return FACTS-CONJUNCTION-SETUP (FACTS)
Hình 3.12. Sơ đồ BACKDIAGRAM2
Câc mây chế độ thăm dò nhưng đơn điệu
Cả hai thủ tục BACKDIAGRAM2 vă BACKDIAGRAM1 đều hoạt động theo chế độ thăm dò vì rằng dêy câc khởi động luật mă vô ích có thể bị loại bỏ vă được thay thế bởi câc khởi động khâc : câc sự kiện cần thiết lập được thay thế bởi câc sự kiện khâc. Mặc dù có sụ quay lui tâc động lín câc sự kiện cần thiết lập, nhưng ta thấy rằng cả hai thủ tục BACKDIAGRAM2 vă BACKDIAGRAM1 đều không lấy đi, vă cũng không thím văo, câc sự kiện đê thiết lập. Cả hai thủ tục đều hoạt động theo chế độ đơn điệu.
II.4. Tìm câc luật nhờ liín kết hỗn hợp, với chế độ thăm dò không đơn điệu
Hình 3.13 dưới đđy thể hiện một cơ sở tri thức ký hiệu dùng để tạo ra câc kế hoạch hănh động (action plan) vă phục vụ cho sơ đồ mây ví dụ MIXEDIAGRAM ở hình 3.15. Luật R1 được giải thích như sau : «để giải băi toân P1, cần thực hiện câc hănh động A1 rồi A2». Luật R4 được giải thích như sau : «để giải băi toân P3, biết rằng sự kiện F1 đê được thiết lập, chỉ cần thực hiện hănh động A5 rồi giải băi toân P4».
RULESBASE : R1 : P1 A1, A2 R2 : P1 A3 R3 : P2 P1, A4, P3 R4 : P3, F1 A5, P4 R5 : P3, F2 P5 R6 : P3 A4, P6 R7 : P4, F2, F3 A2 FACTSBASE (câc sự kiện đê thiết lập) : { F3, F4 }
PROBLEMSTACK (câc sự kiện cần thiết lập) : danh sâch (P2) Bảng câc hănh động kết thúc (những băi toân sơ khởi)
Hănh động Sự kiện đê thím văo Sự kiện đê loại bỏ A1 A2 A3 A4 A5 F1, F2 Không có F1 Không có F2 Không có F1 Không có Không có F4 Lúc đầu, PLAN lă danh sâch rỗng
Hình 3.13 Một cơ sở tri thức khởi đầu của sơ đồ mây MIXEDIAGRAM