Sơ đồ BACKDIAGRAM 1: sản sinh câc băi toân con theo chiều sđu

Một phần của tài liệu Giáo trình: Hệ chuyên gia doc (Trang 79 - 81)

II. MộT Số SƠ Đồ CƠ BảN Để XĐY DựNG MÂY SUY DIễN

a.Sơ đồ BACKDIAGRAM 1: sản sinh câc băi toân con theo chiều sđu

Mây suy diễn BACKDIAGRAM1 cho trong hình 3.9. dưới đđy gồm bốn thủ tục lă SETUP-A-FACT, SETUP1, SETUP2 vă FACTS-CONJUNCTION-SETUP.

Mây được khởi động bằng câch gọi một trong câc thủ tục SETUP-A-FACT hay FACTS- CONJUNCTION-SETUP. Chẳng hạn, để thiết lập Q, ta có lời gọi : SETUP-A-FACT(‘Q’).

Thủ tục BACKDIAGRAM1 tạo ra sự suy diễn lùi của câc luật bằng câch so sânh phần kết luận của câc luật với câc sự kiện cần thiết lập tại thời điểm đang xĩt. Đối với BACKDIAGRAM1, phần kết luận của câc luật (thănh phần bín phải) lă phần khởi động của chúng. Chú ý rằng tại mỗi thời điểm, thủ tục duy trì tập hợp câc sự kiện cần thiết lập.

Ví dụ, lúc đầu, khi gọi SETUP-A-FACT(‘Q’), tập hợp câc sự kiện cần thiết lập chỉ chứa Q. Nếu luật 2 được sử dụng vă được khởi động thì sự kiện cần thiết lập Q sẽ được thay thế bởi I, J vă L. Người ta nói rằng I, J vă L lă những băi toân con của băi toân Q hay băi toân Q lă cha của câc băi toân I, J vă L.

procedure SETUP-A-FACT (FACT)

1. if FACT in FACTSBASE then return ‘success’ 2. return SETUP1 (FACTSBASE)

procedure SETUP1 (RULES) 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 (FACT in ARULE.conclusion) then

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) 1. if FACTS = then return ‘success’

2. AFACTchọn một sự kiện năo đó từ FACTS (chẳng hạn luật gặp đầu tiín)

3. FACTSFACTS{ AFACT }

4. if SETUP-A-FACT (AFACT) = ‘failure’ then return ‘failure’ 5. return FACTS-CONJUNCTION-SETUP (FACTS)

Hình 3.9. Sơ đồ mây BACKDIAGRAM1

Ta gọi câc băi toân ban đầu ở mức 0 vă câc băi toân mă một cha của chúng lă ở mức n, còn câc cha khâc có thể ở mức nhỏ hơn hoặc bằng n. Để thiết lập một sự kiện Q, BACKDIAGRAM1 tạo sinh vă giải câc băi toân con tuỳ theo một chiến lược lă trường hợp đặc biệt của họ câc chiến lượcưu tiín theo chiều sđu: thủ tục sẽ giải câc băi toân con có mức ưu tiín cao nhất.

Phđn biệt giữa khởi động một luật vă rút ra kết luận của một luật

Khi một luật được sử dụng để thiết lập một sự kiện có mặt trong phần kết luận xuất phât từ câc sự kiện có mặt trong phần tiền đề, giả sử đê được thiết lập, người ta nói rằng đêrút ra kết luận của một luật.

Khi một luật được sử dụng theo kiểu suy diễn lùi để thay thế câc sự kiện có mặt trong phần tiền đề bởi sự kiện có mặt trong phần kết luận, người ta nói rằng đêkhởi động một luật. Vấn đề lă không nín nhầm lẫn việc khởi động một luật vă rút ra kết luận của một luật.

Ví dụ hoạt động của thủ tục BACKDIAGRAM1

Ta tiếp tục 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 BACKDIAGRAM1 bởi lời gọi SETUP-A-FACT (‘Q’).

Đồ thị câc băi toân con dưới đđy biểu diễn hoạt động của mây :

E * D * C * M * L * * K Lu t 3 Lu t 1 = = (kh i ng 4) (kh i ng 2) * B * A * J * L * I Lu t 4 Lu t 2 = = (kh i ng 3) (kh i ng 1) * Q

Hình 3.10. Đồ thị câc băi toân con thiết lập Q của mây BACKDIAGRAM1

Khi luật 2 được khởi động, dẫn đến câc sự kiện J, L vă I cần được thiết lập. Trước tiín, sự kiện I được xem xĩt, từ đó luật 1 được khởi động dẫn đến câc sự kiện M, L vă K. Mặc dù sự kiện K được thiết lập, nhưng không có luật năo chứa L hay M trong phần khởi động, nín sự kiện cần được thiết lập lại quay trở lại I. Do không có luật năo chứa I trong phần khởi động, sự kiện cần được thiết lập bđy giờ quay trở lại Q. Luật 4 được khởi động, dẫn đến câc sự kiện A vă B. Do A đê được thiết lập, mây xem xĩt sự kiện cần được thiết lập B. Từ đó, luật 3 được khởi động dẫn đến câc sự kiện C, D vă E. Do C, D vă E đê được thiết lập, luật 3 ngay lập tức được ghi nhận : B được thiết lập vă do đó, Q được thiết lập.

Vị trí của BACKDIAGRAM1 đối với chu kỳ cơ bản tổng quât

Do suy diễn lùi, việc khởi động một luật dẫn đến một sự kiện Q, lăsự kiện cần được thiết lập(haygiả thuyết cần truy cập, haybăi toân, hayđích) được thay thế bởi nhiều sự kiện khâc cần thiết lập, chẳng hạn L, N, O vă P.

Tuy nhiín, câc băi toân con không có mặt một câch tường minh (explicit) trong cơ sở sự kiện : chúng chỉ được ghi nhớ trong quâ trình gọi thủ tục. Những băi toân con chưa được giải quyết lăm thănh một phầntiềm ẩn(implicit) trong cơ sở sự kiện mă câc sự kiện năy có vai trò xâc định lựa chọn câc luật sẽ được sử dụng cho chu kỳ tiếp theo.

Hình 3.11. dưới đđy biểu diễn quâ trình khởi động câc luật của thủ tục BACKDIAGRAM1 bởi một đồ thị trạng thâi để thiết lập Q.

Phần bín phải của mỗi ô tương ứng với phần tường minh của cơ sở sự kiện, gồm câc sự kiện đê thiết lập. Phần bín trâi tương ứng với phần ẩn, gồm câc sự kiện cần thiết lập hay câc băi toân chưa được giải quyết, được in chữ đậm trong hình). Câc kết luận cuối cùng kĩo theo bởi câc luật 3 rồi 2 không được biểu diễn trong hình. (adsbygoogle = window.adsbygoogle || []).push({});

Q A C D E G H K Lu t 2 Lu t 4 (kh i ng 1) (kh i ng 3) I J L A C D E G H K B A C D E G H K Lu t 1 Lu t 3 (kh i ng 1) (kh i ng 4) M J L A C D E G H K A C D E G H K failure success

Hình 3.11. Đồ thị trạng thâi thiết lập Q của BACKDIAGRAM1

Trong BACKDIAGRAM1, giai đoạn RESTRICTION trước tiín được cụ thể hoâ bởi sự phđn biệt giữa một bín lă câc sự kiện đê thiết lập vă một bín lă câc băi toân. Chỉ có câc băi toân lă được so sânh với câc luật, để có thể khởi động chúng. Nghĩa lă việc RESTRICTION một mặt văo lúc đầu của mỗi chu kỳ cơ bản, chỉ đến băi toân phải được giải quyết trong chu kỳ năy vă một mặt, thu hẹp tập hợp câc luật cần sử dụng (lệnh 3 của thủ tục SETUP1).

Về nguyín tắc, băi toân năy sẽ được xem xĩt trong số câc băi toân xuất hiện từ chu kỳ trước đó (lệnh 2 của FACTS-CONJUNCTION-SETUP, hình 3.9), loại trừ hai trường hợp sau :

 Mọi băi toân xuất hiện từ chu kỳ trước đó bđy giờ được coi lă đê thiết lập (trả về thông bâo ‘success’ bởi lệnh 1 rồi lệnh 5 của thủ tục FACTS-CONJUNCTION- SETUP). Trong trường hợp năy, băi toân đê lăm khởi động một luật ở chu kỳ trước đó được coi lă đê thiết lập (trả về lần cuối cùng thông bâo ‘failure’ bởi thủ tục SETUP- A-FACT).

 Có thể xảy ra rằng một băi toân xuất hiện từ chu kỳ trước đó không thể được thiết lập (không thực hiện thủ tục FACTS-CONJUNCTION-SETUP do lệnh 4). Trong trường hợp năy, băi toân đê lăm khởi động chu kỳ trước đó vẫn còn phải được thiết lập (trả về lần cuối cùng thông bâo ‘failure’ bởi thủ tục SETUP-A-FACT).

Trong cả hai trường hợp, về nguyín tắc, việc RESTRICTION sẽ đưa đến một băi toân lấy từ chu kỳ trước trực tiếp vă cứ thế tiếp tục.

Thủ tục BACKDIAGRAM1 dừng, hoặc do tất cả câc băi toân lúc đầu được coi lă đê được thiết lập, hoặc do một trong chúng không thể được thiết lập.

Tuy nhiín, BACKDIAGRAM1 có thể không bao giờ dừng, nếu ta thím văo cơ sở luật RULESBASE ở ví dụ (hình 3.2) một luật thứ 10 lă Q L.

Câc bước GIẢI_QUYẾT_TRANH_ CHẤP vă FILTERING trong chu kỳ cơ bản của BACKDIAGRAM1 đan xen nhau trong câc lệnh từ 1 đến 4 của thủ tục SETUP1. Giai đoạn EXECUTION được biểu diễn bởi thủ tục SETUP2.

Một phần của tài liệu Giáo trình: Hệ chuyên gia doc (Trang 79 - 81)